@react-three/drei 9.115.0 → 9.116.0

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 (191) hide show
  1. package/README.md +2 -2
  2. package/core/AccumulativeShadows.cjs.js +1 -1
  3. package/core/AdaptiveDpr.cjs.js +1 -1
  4. package/core/AdaptiveEvents.cjs.js +1 -1
  5. package/core/ArcballControls.cjs.js +1 -1
  6. package/core/AsciiRenderer.cjs.js +1 -1
  7. package/core/BBAnchor.cjs.js +1 -1
  8. package/core/Backdrop.cjs.js +1 -1
  9. package/core/BakeShadows.cjs.js +1 -1
  10. package/core/Billboard.cjs.js +1 -1
  11. package/core/Bounds.cjs.js +1 -1
  12. package/core/Bounds.js +0 -1
  13. package/core/Bvh.cjs.js +1 -1
  14. package/core/CameraControls.cjs.js +1 -1
  15. package/core/CameraShake.cjs.js +1 -1
  16. package/core/CatmullRomLine.cjs.js +1 -1
  17. package/core/Caustics.cjs.js +1 -1
  18. package/core/Center.cjs.js +1 -1
  19. package/core/Clone.cjs.js +1 -1
  20. package/core/Clone.js +1 -1
  21. package/core/Cloud.cjs.js +1 -1
  22. package/core/ComputedAttribute.cjs.js +1 -1
  23. package/core/ContactShadows.cjs.js +1 -1
  24. package/core/CubeCamera.cjs.js +1 -1
  25. package/core/CubeTexture.cjs.js +1 -1
  26. package/core/CubicBezierLine.cjs.js +1 -1
  27. package/core/CurveModifier.cjs.js +1 -1
  28. package/core/Decal.cjs.js +1 -1
  29. package/core/Detailed.cjs.js +1 -1
  30. package/core/DetectGPU.cjs.js +1 -1
  31. package/core/DeviceOrientationControls.cjs.js +1 -1
  32. package/core/Edges.cjs.js +1 -1
  33. package/core/Effects.cjs.js +1 -1
  34. package/core/Effects.js +3 -3
  35. package/core/Environment.cjs.js +1 -1
  36. package/core/Environment.js +1 -1
  37. package/core/Example.cjs.js +1 -1
  38. package/core/Fbo.cjs.js +1 -1
  39. package/core/Fbo.js +1 -1
  40. package/core/Fbx.cjs.js +1 -1
  41. package/core/FirstPersonControls.cjs.js +1 -1
  42. package/core/Fisheye.cjs.js +1 -1
  43. package/core/Float.cjs.js +1 -1
  44. package/core/FlyControls.cjs.js +1 -1
  45. package/core/GizmoHelper.cjs.js +1 -1
  46. package/core/GizmoViewcube.cjs.js +1 -1
  47. package/core/GizmoViewport.cjs.js +1 -1
  48. package/core/Gltf.cjs.js +1 -1
  49. package/core/GradientTexture.cjs.js +1 -1
  50. package/core/Grid.cjs.js +1 -1
  51. package/core/Helper.cjs.js +1 -1
  52. package/core/Hud.cjs.js +1 -1
  53. package/core/Hud.js +1 -1
  54. package/core/Image.cjs.js +1 -1
  55. package/core/Instances.cjs.js +1 -1
  56. package/core/Instances.d.ts +17 -17
  57. package/core/Ktx2.cjs.js +1 -1
  58. package/core/Ktx2.d.ts +1 -1
  59. package/core/Lightformer.cjs.js +1 -1
  60. package/core/Line.cjs.js +1 -1
  61. package/core/MapControls.cjs.js +1 -1
  62. package/core/MarchingCubes.cjs.js +1 -1
  63. package/core/Mask.cjs.js +1 -1
  64. package/core/MatcapTexture.cjs.js +1 -1
  65. package/core/MeshDiscardMaterial.cjs.js +1 -1
  66. package/core/MeshDistortMaterial.cjs.js +1 -1
  67. package/core/MeshPortalMaterial.cjs.js +1 -1
  68. package/core/MeshReflectorMaterial.cjs.js +1 -1
  69. package/core/MeshRefractionMaterial.cjs.js +1 -1
  70. package/core/MeshTransmissionMaterial.cjs.js +1 -1
  71. package/core/MeshWobbleMaterial.cjs.js +1 -1
  72. package/core/MotionPathControls.cjs.js +1 -1
  73. package/core/MultiMaterial.cjs.js +1 -1
  74. package/core/NormalTexture.cjs.js +1 -1
  75. package/core/OrbitControls.cjs.js +1 -1
  76. package/core/OrthographicCamera.cjs.js +1 -1
  77. package/core/Outlines.cjs.js +1 -1
  78. package/core/PerformanceMonitor.cjs.js +1 -1
  79. package/core/PerformanceMonitor.js +0 -1
  80. package/core/PerspectiveCamera.cjs.js +1 -1
  81. package/core/PointMaterial.cjs.js +1 -1
  82. package/core/PointerLockControls.cjs.js +1 -1
  83. package/core/Points.cjs.js +1 -1
  84. package/core/PositionalAudio.cjs.js +1 -1
  85. package/core/Preload.cjs.js +1 -1
  86. package/core/Progress.cjs.js +1 -1
  87. package/core/QuadraticBezierLine.cjs.js +1 -1
  88. package/core/Reflector.cjs.js +1 -1
  89. package/core/RenderCubeTexture.cjs.js +1 -1
  90. package/core/RenderCubeTexture.js +1 -1
  91. package/core/RenderTexture.cjs.js +1 -1
  92. package/core/RenderTexture.js +1 -1
  93. package/core/Resize.cjs.js +1 -1
  94. package/core/RoundedBox.cjs.js +1 -1
  95. package/core/Sampler.cjs.js +1 -1
  96. package/core/ScreenQuad.cjs.js +1 -1
  97. package/core/ScreenSizer.cjs.js +1 -1
  98. package/core/ScreenSpace.cjs.js +1 -1
  99. package/core/Segments.cjs.js +1 -1
  100. package/core/Shadow.cjs.js +1 -1
  101. package/core/ShadowAlpha.cjs.js +1 -1
  102. package/core/ShadowAlpha.js +1 -0
  103. package/core/Sky.cjs.js +1 -1
  104. package/core/Sparkles.cjs.js +1 -1
  105. package/core/Splat.cjs.js +1 -1
  106. package/core/SpotLight.cjs.js +1 -1
  107. package/core/SpriteAnimator.cjs.js +1 -1
  108. package/core/SpriteAnimator.d.ts +9 -0
  109. package/core/SpriteAnimator.js +35 -25
  110. package/core/Stage.cjs.js +1 -1
  111. package/core/Stars.cjs.js +1 -1
  112. package/core/Stats.cjs.js +1 -1
  113. package/core/StatsGl.cjs.js +1 -1
  114. package/core/Svg.cjs.js +1 -1
  115. package/core/Text.cjs.js +1 -1
  116. package/core/Text.js +0 -1
  117. package/core/Text3D.cjs.js +1 -1
  118. package/core/Texture.cjs.js +1 -1
  119. package/core/TrackballControls.cjs.js +1 -1
  120. package/core/Trail.cjs.js +1 -1
  121. package/core/Trail.js +1 -1
  122. package/core/TrailTexture.cjs.js +1 -1
  123. package/core/TransformControls.cjs.js +1 -1
  124. package/core/VideoTexture.cjs.js +1 -1
  125. package/core/Wireframe.cjs.js +1 -1
  126. package/core/calculateScaleFactor.cjs.js +1 -1
  127. package/core/index.cjs.js +1 -1
  128. package/core/index.js +4 -4
  129. package/core/meshBounds.cjs.js +1 -1
  130. package/core/shaderMaterial.cjs.js +1 -1
  131. package/core/shapes.cjs.js +1 -1
  132. package/core/softShadows.cjs.js +1 -1
  133. package/core/softShadows.js +1 -0
  134. package/core/useAnimations.cjs.js +1 -1
  135. package/core/useAnimations.js +0 -1
  136. package/core/useAspect.cjs.js +1 -1
  137. package/core/useBoxProjectedEnv.cjs.js +1 -1
  138. package/core/useCamera.cjs.js +1 -1
  139. package/core/useContextBridge.cjs.js +1 -1
  140. package/core/useDepthBuffer.cjs.js +1 -1
  141. package/core/useEnvironment.cjs.js +1 -1
  142. package/core/useEnvironment.d.ts +2 -2
  143. package/core/useFont.cjs.js +1 -1
  144. package/core/useIntersect.cjs.js +1 -1
  145. package/core/useSpriteLoader.cjs.js +1 -1
  146. package/helpers/constants.cjs.js +1 -1
  147. package/helpers/deprecated.cjs.js +1 -1
  148. package/helpers/environment-assets.cjs.js +1 -1
  149. package/helpers/useEffectfulState.cjs.js +1 -1
  150. package/helpers/useEffectfulState.js +1 -3
  151. package/index.cjs.js +1 -1
  152. package/materials/BlurPass.cjs.js +1 -1
  153. package/materials/ConvolutionMaterial.cjs.js +1 -1
  154. package/materials/DiscardMaterial.cjs.js +1 -1
  155. package/materials/MeshReflectorMaterial.cjs.js +1 -1
  156. package/materials/MeshRefractionMaterial.cjs.js +1 -1
  157. package/materials/MeshRefractionMaterial.js +2 -0
  158. package/materials/SpotLightMaterial.cjs.js +1 -1
  159. package/materials/WireframeMaterial.cjs.js +1 -1
  160. package/native/index.cjs.js +1 -1
  161. package/native/index.js +4 -4
  162. package/package.json +14 -14
  163. package/web/CycleRaycast.cjs.js +1 -1
  164. package/web/DragControls.cjs.js +1 -1
  165. package/web/FaceControls.cjs.js +1 -1
  166. package/web/FaceControls.d.ts +2 -1
  167. package/web/FaceControls.js +6 -2
  168. package/web/FaceLandmarker.cjs.js +1 -1
  169. package/web/FaceLandmarker.js +1 -1
  170. package/web/Facemesh.cjs.js +1 -1
  171. package/web/Facemesh.d.ts +14 -47
  172. package/web/Facemesh.js +1 -2
  173. package/web/Html.cjs.js +1 -1
  174. package/web/Html.js +2 -2
  175. package/web/KeyboardControls.cjs.js +1 -1
  176. package/web/Loader.cjs.js +1 -1
  177. package/web/PresentationControls.cjs.js +1 -1
  178. package/web/ScrollControls.cjs.js +1 -1
  179. package/web/ScrollControls.js +1 -1
  180. package/web/Select.cjs.js +1 -1
  181. package/web/View.cjs.js +1 -1
  182. package/web/View.js +1 -1
  183. package/web/index.cjs.js +1 -1
  184. package/web/index.js +6 -6
  185. package/web/pivotControls/AxisArrow.cjs.js +1 -1
  186. package/web/pivotControls/AxisRotator.cjs.js +1 -1
  187. package/web/pivotControls/PlaneSlider.cjs.js +1 -1
  188. package/web/pivotControls/ScalingSphere.cjs.js +1 -1
  189. package/web/pivotControls/context.cjs.js +1 -1
  190. package/web/pivotControls/index.cjs.js +1 -1
  191. package/web/useCursor.cjs.js +1 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("three"),r=require("@react-three/fiber"),n=require("suspend-react"),o=require("hls.js");function u(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var s,c,i=u(e),l=u(t);const a="undefined"!=typeof window&&"function"==typeof(null==(s=window.document)?void 0:s.createElement)&&"string"==typeof(null==(c=window.navigator)?void 0:c.userAgent);let d=null;function f(t,{unsuspend:s="loadedmetadata",start:c=!0,hls:i={},crossOrigin:f="anonymous",muted:p=!0,loop:g=!0,playsInline:m=!0,...v}={}){const y=r.useThree((e=>e.gl)),w=e.useRef(null),h=n.suspend((()=>new Promise((async e=>{let r,n;"string"==typeof t?r=t:n=t;const c=Object.assign(document.createElement("video"),{src:r,srcObject:n,crossOrigin:f,loop:g,muted:p,playsInline:m,...v});if(r&&a&&r.endsWith(".m3u8")){const e=w.current=await async function(...e){var t;null!==(t=d)&&void 0!==t||(d=await Promise.resolve().then((function(){return u(require("hls.js"))})));const r=d.default;return r.isSupported()?new r(...e):null}(i);e&&(e.on(o.Events.MEDIA_ATTACHED,(()=>{e.loadSource(r)})),e.attachMedia(c))}const h=new l.VideoTexture(c);"colorSpace"in h?h.colorSpace=y.outputColorSpace:h.encoding=y.outputEncoding,c.addEventListener(s,(()=>e(h)))}))),[t]);return e.useEffect((()=>(c&&h.image.play(),()=>{w.current&&(w.current.destroy(),w.current=null)})),[h,c]),h}exports.VideoTexture=({children:t,src:r,...n})=>{const o=f(r,n);return e.useEffect((()=>()=>{o.dispose()}),[o]),i.createElement(i.Fragment,null,null==t?void 0:t(o))},exports.useVideoTexture=f;
1
+ "use strict";var e=require("react"),t=require("three"),n=require("@react-three/fiber"),r=require("suspend-react"),o=require("hls.js");function u(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var c,s,i=u(e),l=u(t);const a="undefined"!=typeof window&&"function"==typeof(null==(c=window.document)?void 0:c.createElement)&&"string"==typeof(null==(s=window.navigator)?void 0:s.userAgent);let d=null;function p(t,{unsuspend:u="loadedmetadata",start:c=!0,hls:s={},crossOrigin:i="anonymous",muted:p=!0,loop:f=!0,playsInline:g=!0,...m}={}){const y=n.useThree((e=>e.gl)),v=e.useRef(null),w=r.suspend((()=>new Promise((async e=>{let n,r;"string"==typeof t?n=t:r=t;const c=Object.assign(document.createElement("video"),{src:n,srcObject:r,crossOrigin:i,loop:f,muted:p,playsInline:g,...m});if(n&&a&&n.endsWith(".m3u8")){const e=v.current=await async function(...e){var t;null!==(t=d)&&void 0!==t||(d=await import("hls.js"));const n=d.default;return n.isSupported()?new n(...e):null}(s);e&&(e.on(o.Events.MEDIA_ATTACHED,(()=>{e.loadSource(n)})),e.attachMedia(c))}const w=new l.VideoTexture(c);"colorSpace"in w?w.colorSpace=y.outputColorSpace:w.encoding=y.outputEncoding,c.addEventListener(u,(()=>e(w)))}))),[t]);return e.useEffect((()=>(c&&w.image.play(),()=>{v.current&&(v.current.destroy(),v.current=null)})),[w,c]),w}exports.VideoTexture=({children:t,src:n,...r})=>{const o=p(n,r);return e.useEffect((()=>()=>{o.dispose()}),[o]),i.createElement(i.Fragment,null,null==t?void 0:t(o))},exports.useVideoTexture=p;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("three"),n=require("@react-three/fiber"),o=require("../materials/WireframeMaterial.cjs.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}require("./shaderMaterial.cjs.js");var u=i(e),f=a(r),s=a(t);function c(e){return void 0!==(null==e?void 0:e.current)}function l(e){return"WireframeGeometry"===e.type}function m(e){const r=null!=(t=e)&&t.current?e.current:e;var t;if(function(e){return!(null==e||!e.isBufferGeometry)}(r))return r;{if(l(r))throw new Error("Wireframe: WireframeGeometry is not supported.");const e=r.parent;if(function(e){return!(null==e||!e.geometry)}(e)){if(l(e.geometry))throw new Error("Wireframe: WireframeGeometry is not supported.");return e.geometry}}}function d(e,r){if(e.index){console.warn("Wireframe: Requires non-indexed geometry, converting to non-indexed geometry.");const r=e.toNonIndexed();e.copy(r),e.setIndex(null)}const t=function(e,r){const t=e.getAttribute("position").count,n=[];for(let e=0;e<t;e++){const t=r?1:0;e%2==0?n.push(0,0,1,0,1,0,1,0,t):n.push(0,1,0,0,0,1,1,0,t)}return new s.BufferAttribute(Float32Array.from(n),3)}(e,r);e.setAttribute("barycentric",t)}function y({geometry:e,simplify:r=!1,...t}){n.extend({MeshWireframeMaterial:o.WireframeMaterial});const[i,a]=f.useState(null);f.useLayoutEffect((()=>{const t=m(e);if(!t)throw new Error("Wireframe: geometry prop must be a BufferGeometry or a ref to a BufferGeometry.");d(t,r),c(e)&&a(t)}),[r,e]);const l=c(e)?i:e;return f.createElement(f.Fragment,null,l&&f.createElement("mesh",{geometry:l},f.createElement("meshWireframeMaterial",u.default({attach:"material",transparent:!0,side:s.DoubleSide,polygonOffset:!0,polygonOffsetFactor:-4},t,{extensions:{derivatives:!0,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1}}))))}function p({simplify:e=!1,...r}){const t=f.useRef(null),n=f.useMemo((()=>function(){const e={};for(const r in o.WireframeMaterialShaders.uniforms)e[r]={value:o.WireframeMaterialShaders.uniforms[r]};return e}()),[o.WireframeMaterialShaders.uniforms]);return o.useWireframeUniforms(n,r),f.useLayoutEffect((()=>{const r=m(t);if(!r)throw new Error("Wireframe: Must be a child of a Mesh, Line or Points object or specify a geometry prop.");const n=r.clone();return d(r,e),()=>{r.copy(n),n.dispose()}}),[e]),f.useLayoutEffect((()=>{const e=t.current.parent,r=e.material.clone();return o.setWireframeOverride(e.material,n),()=>{e.material.dispose(),e.material=r}}),[]),f.createElement("object3D",{ref:t})}exports.Wireframe=function({geometry:e,...r}){return e?f.createElement(y,u.default({geometry:e},r)):f.createElement(p,r)};
1
+ "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,...i}){n.extend({MeshWireframeMaterial:o.WireframeMaterial});const[s,l]=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)&&l(e)}),[t,r]);const y=f(r)?s:r;return a.createElement(a.Fragment,null,y&&a.createElement("mesh",{geometry:y},a.createElement("meshWireframeMaterial",e({attach:"material",transparent:!0,side:u.DoubleSide,polygonOffset:!0,polygonOffsetFactor:-4},i,{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})}exports.Wireframe=function({geometry:r,...t}){return r?a.createElement(l,e({geometry:r},t)):a.createElement(y,t)};
@@ -1 +1 @@
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 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)}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("three"));const r=new t.Vector3,o=new t.Vector3,n=new t.Vector3,c=(e,t,o,n=1)=>{const c=r.set(e.x/o.width*2-1,-e.y/o.height*2+1,n);return c.unproject(t),c};exports.calculateScaleFactor=(e,t,r,u)=>{const a=((e,t,r)=>{const o=r.width/2,n=r.height/2;t.updateMatrixWorld(!1);const c=e.project(t);return c.x=c.x*o+o,c.y=-c.y*n+n,c})(n.copy(e),r,u);let s=0;for(let n=0;n<2;++n){const i=o.copy(a).setComponent(n,a.getComponent(n)+t),l=c(i,r,u,i.z);s=Math.max(s,e.distanceTo(l))}return s};
1
+ "use strict";function e(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var c=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,c.get?c:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var t=e(require("three"));const r=new t.Vector3,c=new t.Vector3,n=new t.Vector3,o=(e,t,c,n=1)=>{const o=r.set(e.x/c.width*2-1,-e.y/c.height*2+1,n);return o.unproject(t),o};exports.calculateScaleFactor=(e,t,r,a)=>{const u=((e,t,r)=>{const c=r.width/2,n=r.height/2;t.updateMatrixWorld(!1);const o=e.project(t);return o.x=o.x*c+c,o.y=-o.y*n+n,o})(n.copy(e),r,a);let i=0;for(let n=0;n<2;++n){const s=c.copy(u).setComponent(n,u.getComponent(n)+t),l=o(s,r,a,s.z);i=Math.max(i,e.distanceTo(l))}return i};
package/core/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Billboard.cjs.js"),r=require("./ScreenSpace.cjs.js"),s=require("./ScreenSizer.cjs.js"),t=require("./QuadraticBezierLine.cjs.js"),o=require("./CubicBezierLine.cjs.js"),i=require("./CatmullRomLine.cjs.js"),a=require("./Line.cjs.js"),u=require("./PositionalAudio.cjs.js"),c=require("./Text.cjs.js"),p=require("./Text3D.cjs.js"),n=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),x=require("./Image.cjs.js"),l=require("./Edges.cjs.js"),d=require("./Outlines.cjs.js"),q=require("./Trail.cjs.js"),m=require("./Sampler.cjs.js"),h=require("./ComputedAttribute.cjs.js"),C=require("./Clone.cjs.js"),M=require("./MarchingCubes.cjs.js"),S=require("./Decal.cjs.js"),T=require("./Svg.cjs.js"),b=require("./Gltf.cjs.js"),P=require("./AsciiRenderer.cjs.js"),f=require("./Splat.cjs.js"),g=require("./OrthographicCamera.cjs.js"),B=require("./PerspectiveCamera.cjs.js"),v=require("./CubeCamera.cjs.js"),A=require("./DeviceOrientationControls.cjs.js"),F=require("./FlyControls.cjs.js"),L=require("./MapControls.cjs.js"),R=require("./OrbitControls.cjs.js"),G=require("./TrackballControls.cjs.js"),D=require("./ArcballControls.cjs.js"),E=require("./TransformControls.cjs.js"),k=require("./PointerLockControls.cjs.js"),I=require("./FirstPersonControls.cjs.js"),w=require("./CameraControls.cjs.js"),z=require("./MotionPathControls.cjs.js"),O=require("./GizmoHelper.cjs.js"),y=require("./GizmoViewcube.cjs.js"),H=require("./GizmoViewport.cjs.js"),V=require("./Grid.cjs.js"),W=require("./CubeTexture.cjs.js"),K=require("./Fbx.cjs.js"),Q=require("./Ktx2.cjs.js"),N=require("./Progress.cjs.js"),U=require("./Texture.cjs.js"),X=require("./VideoTexture.cjs.js"),_=require("./useFont.cjs.js"),J=require("./useSpriteLoader.cjs.js"),Y=require("./Helper.cjs.js"),Z=require("./Stats.cjs.js"),$=require("./StatsGl.cjs.js"),ee=require("./useDepthBuffer.cjs.js"),re=require("./useAspect.cjs.js"),se=require("./useCamera.cjs.js"),te=require("./DetectGPU.cjs.js"),oe=require("./Bvh.cjs.js"),ie=require("./useContextBridge.cjs.js"),ae=require("./useAnimations.cjs.js"),ue=require("./Fbo.cjs.js"),ce=require("./useIntersect.cjs.js"),pe=require("./useBoxProjectedEnv.cjs.js"),ne=require("./BBAnchor.cjs.js"),je=require("./TrailTexture.cjs.js"),xe=require("./Example.cjs.js"),le=require("./SpriteAnimator.cjs.js"),de=require("./CurveModifier.cjs.js"),qe=require("./MeshDistortMaterial.cjs.js"),me=require("./MeshWobbleMaterial.cjs.js"),he=require("./MeshReflectorMaterial.cjs.js"),Ce=require("./MeshRefractionMaterial.cjs.js"),Me=require("./MeshTransmissionMaterial.cjs.js"),Se=require("./MeshDiscardMaterial.cjs.js"),Te=require("./MultiMaterial.cjs.js"),be=require("./PointMaterial.cjs.js"),Pe=require("./shaderMaterial.cjs.js"),fe=require("./softShadows.cjs.js"),ge=require("./shapes.cjs.js"),Be=require("./RoundedBox.cjs.js"),ve=require("./ScreenQuad.cjs.js"),Ae=require("./Center.cjs.js"),Fe=require("./Resize.cjs.js"),Le=require("./Bounds.cjs.js"),Re=require("./CameraShake.cjs.js"),Ge=require("./Float.cjs.js"),De=require("./Stage.cjs.js"),Ee=require("./Backdrop.cjs.js"),ke=require("./Shadow.cjs.js"),Ie=require("./Caustics.cjs.js"),we=require("./ContactShadows.cjs.js"),ze=require("./AccumulativeShadows.cjs.js"),Oe=require("./Reflector.cjs.js"),ye=require("./SpotLight.cjs.js"),He=require("./Environment.cjs.js"),Ve=require("./Lightformer.cjs.js"),We=require("./Sky.cjs.js"),Ke=require("./Stars.cjs.js"),Qe=require("./Cloud.cjs.js"),Ne=require("./Sparkles.cjs.js"),Ue=require("./useEnvironment.cjs.js"),Xe=require("./MatcapTexture.cjs.js"),_e=require("./NormalTexture.cjs.js"),Je=require("./Wireframe.cjs.js"),Ye=require("./ShadowAlpha.cjs.js"),Ze=require("./Points.cjs.js"),$e=require("./Instances.cjs.js"),er=require("./Segments.cjs.js"),rr=require("./Detailed.cjs.js"),sr=require("./Preload.cjs.js"),tr=require("./BakeShadows.cjs.js"),or=require("./meshBounds.cjs.js"),ir=require("./AdaptiveDpr.cjs.js"),ar=require("./AdaptiveEvents.cjs.js"),ur=require("./PerformanceMonitor.cjs.js"),cr=require("./RenderTexture.cjs.js"),pr=require("./RenderCubeTexture.cjs.js"),nr=require("./Mask.cjs.js"),jr=require("./Hud.cjs.js"),xr=require("./Fisheye.cjs.js"),lr=require("./MeshPortalMaterial.cjs.js"),dr=require("./calculateScaleFactor.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("three"),require("@react-three/fiber"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("../helpers/constants.cjs.js"),require("meshline"),require("camera-controls"),require("maath"),require("zustand"),require("hls.js"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("stats-gl"),require("detect-gpu"),require("three-mesh-bvh"),require("react-composer"),require("../helpers/deprecated.cjs.js"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("@monogrid/gainmap-js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("uuid"),require("../materials/WireframeMaterial.cjs.js"),exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.ScreenSizer=s.ScreenSizer,exports.QuadraticBezierLine=t.QuadraticBezierLine,exports.CubicBezierLine=o.CubicBezierLine,exports.CatmullRomLine=i.CatmullRomLine,exports.Line=a.Line,exports.PositionalAudio=u.PositionalAudio,exports.Text=c.Text,exports.Text3D=p.Text3D,exports.Effects=n.Effects,exports.isWebGL2Available=n.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.GradientType=j.GradientType,exports.Image=x.Image,exports.Edges=l.Edges,exports.Outlines=d.Outlines,exports.Trail=q.Trail,exports.useTrail=q.useTrail,exports.Sampler=m.Sampler,exports.useSurfaceSampler=m.useSurfaceSampler,exports.ComputedAttribute=h.ComputedAttribute,exports.Clone=C.Clone,exports.MarchingCube=M.MarchingCube,exports.MarchingCubes=M.MarchingCubes,exports.MarchingPlane=M.MarchingPlane,exports.Decal=S.Decal,exports.Svg=T.Svg,exports.Gltf=b.Gltf,exports.useGLTF=b.useGLTF,exports.AsciiRenderer=P.AsciiRenderer,exports.Splat=f.Splat,exports.OrthographicCamera=g.OrthographicCamera,exports.PerspectiveCamera=B.PerspectiveCamera,exports.CubeCamera=v.CubeCamera,exports.useCubeCamera=v.useCubeCamera,exports.DeviceOrientationControls=A.DeviceOrientationControls,exports.FlyControls=F.FlyControls,exports.MapControls=L.MapControls,exports.OrbitControls=R.OrbitControls,exports.TrackballControls=G.TrackballControls,exports.ArcballControls=D.ArcballControls,exports.TransformControls=E.TransformControls,exports.PointerLockControls=k.PointerLockControls,exports.FirstPersonControls=I.FirstPersonControls,exports.CameraControls=w.CameraControls,exports.MotionPathControls=z.MotionPathControls,exports.useMotion=z.useMotion,exports.GizmoHelper=O.GizmoHelper,exports.useGizmoContext=O.useGizmoContext,exports.GizmoViewcube=y.GizmoViewcube,exports.GizmoViewport=H.GizmoViewport,exports.Grid=V.Grid,exports.CubeTexture=W.CubeTexture,exports.useCubeTexture=W.useCubeTexture,exports.Fbx=K.Fbx,exports.useFBX=K.useFBX,exports.Ktx2=Q.Ktx2,exports.useKTX2=Q.useKTX2,exports.Progress=N.Progress,exports.useProgress=N.useProgress,exports.IsObject=U.IsObject,exports.Texture=U.Texture,exports.useTexture=U.useTexture,exports.VideoTexture=X.VideoTexture,exports.useVideoTexture=X.useVideoTexture,exports.useFont=_.useFont,exports.calculateAspectRatio=J.calculateAspectRatio,exports.checkIfFrameIsEmpty=J.checkIfFrameIsEmpty,exports.getFirstItem=J.getFirstItem,exports.useSpriteLoader=J.useSpriteLoader,exports.Helper=Y.Helper,exports.useHelper=Y.useHelper,exports.Stats=Z.Stats,exports.StatsGl=$.StatsGl,exports.useDepthBuffer=ee.useDepthBuffer,exports.useAspect=re.useAspect,exports.useCamera=se.useCamera,exports.DetectGPU=te.DetectGPU,exports.useDetectGPU=te.useDetectGPU,exports.Bvh=oe.Bvh,exports.useBVH=oe.useBVH,exports.useContextBridge=ie.useContextBridge,exports.useAnimations=ae.useAnimations,exports.Fbo=ue.Fbo,exports.useFBO=ue.useFBO,exports.useIntersect=ce.useIntersect,exports.useBoxProjectedEnv=pe.useBoxProjectedEnv,exports.BBAnchor=ne.BBAnchor,exports.TrailTexture=je.TrailTexture,exports.useTrailTexture=je.useTrailTexture,exports.Example=xe.Example,exports.SpriteAnimator=le.SpriteAnimator,exports.useSpriteAnimator=le.useSpriteAnimator,exports.CurveModifier=de.CurveModifier,exports.MeshDistortMaterial=qe.MeshDistortMaterial,exports.MeshWobbleMaterial=me.MeshWobbleMaterial,exports.MeshReflectorMaterial=he.MeshReflectorMaterial,exports.MeshRefractionMaterial=Ce.MeshRefractionMaterial,exports.MeshTransmissionMaterial=Me.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Se.MeshDiscardMaterial,exports.MultiMaterial=Te.MultiMaterial,exports.PointMaterial=be.PointMaterial,exports.PointMaterialImpl=be.PointMaterialImpl,exports.shaderMaterial=Pe.shaderMaterial,exports.SoftShadows=fe.SoftShadows,exports.Box=ge.Box,exports.Capsule=ge.Capsule,exports.Circle=ge.Circle,exports.Cone=ge.Cone,exports.Cylinder=ge.Cylinder,exports.Dodecahedron=ge.Dodecahedron,exports.Extrude=ge.Extrude,exports.Icosahedron=ge.Icosahedron,exports.Lathe=ge.Lathe,exports.Octahedron=ge.Octahedron,exports.Plane=ge.Plane,exports.Polyhedron=ge.Polyhedron,exports.Ring=ge.Ring,exports.Shape=ge.Shape,exports.Sphere=ge.Sphere,exports.Tetrahedron=ge.Tetrahedron,exports.Torus=ge.Torus,exports.TorusKnot=ge.TorusKnot,exports.Tube=ge.Tube,exports.RoundedBox=Be.RoundedBox,exports.ScreenQuad=ve.ScreenQuad,exports.Center=Ae.Center,exports.Resize=Fe.Resize,exports.Bounds=Le.Bounds,exports.useBounds=Le.useBounds,exports.CameraShake=Re.CameraShake,exports.Float=Ge.Float,exports.Stage=De.Stage,exports.Backdrop=Ee.Backdrop,exports.Shadow=ke.Shadow,exports.Caustics=Ie.Caustics,exports.ContactShadows=we.ContactShadows,exports.AccumulativeShadows=ze.AccumulativeShadows,exports.RandomizedLight=ze.RandomizedLight,exports.accumulativeContext=ze.accumulativeContext,exports.Reflector=Oe.Reflector,exports.SpotLight=ye.SpotLight,exports.SpotLightShadow=ye.SpotLightShadow,exports.Environment=He.Environment,exports.EnvironmentCube=He.EnvironmentCube,exports.EnvironmentMap=He.EnvironmentMap,exports.EnvironmentPortal=He.EnvironmentPortal,exports.Lightformer=Ve.Lightformer,exports.Sky=We.Sky,exports.calcPosFromAngles=We.calcPosFromAngles,exports.Stars=Ke.Stars,exports.Cloud=Qe.Cloud,exports.CloudInstance=Qe.CloudInstance,exports.Clouds=Qe.Clouds,exports.Sparkles=Ne.Sparkles,exports.useEnvironment=Ue.useEnvironment,exports.MatcapTexture=Xe.MatcapTexture,exports.useMatcapTexture=Xe.useMatcapTexture,exports.NormalTexture=_e.NormalTexture,exports.useNormalTexture=_e.useNormalTexture,exports.Wireframe=Je.Wireframe,exports.ShadowAlpha=Ye.ShadowAlpha,exports.Point=Ze.Point,exports.Points=Ze.Points,exports.PointsBuffer=Ze.PointsBuffer,exports.PositionPoint=Ze.PositionPoint,exports.Instance=$e.Instance,exports.InstancedAttribute=$e.InstancedAttribute,exports.Instances=$e.Instances,exports.Merged=$e.Merged,exports.PositionMesh=$e.PositionMesh,exports.createInstances=$e.createInstances,exports.Segment=er.Segment,exports.SegmentObject=er.SegmentObject,exports.Segments=er.Segments,exports.Detailed=rr.Detailed,exports.Preload=sr.Preload,exports.BakeShadows=tr.BakeShadows,exports.meshBounds=or.meshBounds,exports.AdaptiveDpr=ir.AdaptiveDpr,exports.AdaptiveEvents=ar.AdaptiveEvents,exports.PerformanceMonitor=ur.PerformanceMonitor,exports.usePerformanceMonitor=ur.usePerformanceMonitor,exports.RenderTexture=cr.RenderTexture,exports.RenderCubeTexture=pr.RenderCubeTexture,exports.Mask=nr.Mask,exports.useMask=nr.useMask,exports.Hud=jr.Hud,exports.Fisheye=xr.Fisheye,exports.MeshPortalMaterial=lr.MeshPortalMaterial,exports.calculateScaleFactor=dr.calculateScaleFactor;
1
+ "use strict";var e=require("./Billboard.cjs.js"),r=require("./ScreenSpace.cjs.js"),s=require("./ScreenSizer.cjs.js"),t=require("./QuadraticBezierLine.cjs.js"),o=require("./CubicBezierLine.cjs.js"),i=require("./CatmullRomLine.cjs.js"),a=require("./Line.cjs.js"),u=require("./PositionalAudio.cjs.js"),c=require("./Text.cjs.js"),p=require("./Text3D.cjs.js"),n=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),x=require("./Image.cjs.js"),l=require("./Edges.cjs.js"),q=require("./Outlines.cjs.js"),d=require("./Trail.cjs.js"),m=require("./Sampler.cjs.js"),h=require("./ComputedAttribute.cjs.js"),C=require("./Clone.cjs.js"),M=require("./MarchingCubes.cjs.js"),S=require("./Decal.cjs.js"),T=require("./Svg.cjs.js"),b=require("./Gltf.cjs.js"),P=require("./AsciiRenderer.cjs.js"),g=require("./Splat.cjs.js"),f=require("./OrthographicCamera.cjs.js"),B=require("./PerspectiveCamera.cjs.js"),v=require("./CubeCamera.cjs.js"),A=require("./DeviceOrientationControls.cjs.js"),F=require("./FlyControls.cjs.js"),L=require("./MapControls.cjs.js"),R=require("./OrbitControls.cjs.js"),G=require("./TrackballControls.cjs.js"),D=require("./ArcballControls.cjs.js"),E=require("./TransformControls.cjs.js"),k=require("./PointerLockControls.cjs.js"),I=require("./FirstPersonControls.cjs.js"),w=require("./CameraControls.cjs.js"),z=require("./MotionPathControls.cjs.js"),O=require("./GizmoHelper.cjs.js"),y=require("./GizmoViewcube.cjs.js"),H=require("./GizmoViewport.cjs.js"),V=require("./Grid.cjs.js"),W=require("./CubeTexture.cjs.js"),K=require("./Fbx.cjs.js"),Q=require("./Ktx2.cjs.js"),N=require("./Progress.cjs.js"),U=require("./Texture.cjs.js"),X=require("./VideoTexture.cjs.js"),J=require("./useFont.cjs.js"),Y=require("./useSpriteLoader.cjs.js"),Z=require("./Helper.cjs.js"),$=require("./Stats.cjs.js"),_=require("./StatsGl.cjs.js"),ee=require("./useDepthBuffer.cjs.js"),re=require("./useAspect.cjs.js"),se=require("./useCamera.cjs.js"),te=require("./DetectGPU.cjs.js"),oe=require("./Bvh.cjs.js"),ie=require("./useContextBridge.cjs.js"),ae=require("./useAnimations.cjs.js"),ue=require("./Fbo.cjs.js"),ce=require("./useIntersect.cjs.js"),pe=require("./useBoxProjectedEnv.cjs.js"),ne=require("./BBAnchor.cjs.js"),je=require("./TrailTexture.cjs.js"),xe=require("./Example.cjs.js"),le=require("./SpriteAnimator.cjs.js"),qe=require("./CurveModifier.cjs.js"),de=require("./MeshDistortMaterial.cjs.js"),me=require("./MeshWobbleMaterial.cjs.js"),he=require("./MeshReflectorMaterial.cjs.js"),Ce=require("./MeshRefractionMaterial.cjs.js"),Me=require("./MeshTransmissionMaterial.cjs.js"),Se=require("./MeshDiscardMaterial.cjs.js"),Te=require("./MultiMaterial.cjs.js"),be=require("./PointMaterial.cjs.js"),Pe=require("./shaderMaterial.cjs.js"),ge=require("./softShadows.cjs.js"),fe=require("./shapes.cjs.js"),Be=require("./RoundedBox.cjs.js"),ve=require("./ScreenQuad.cjs.js"),Ae=require("./Center.cjs.js"),Fe=require("./Resize.cjs.js"),Le=require("./Bounds.cjs.js"),Re=require("./CameraShake.cjs.js"),Ge=require("./Float.cjs.js"),De=require("./Stage.cjs.js"),Ee=require("./Backdrop.cjs.js"),ke=require("./Shadow.cjs.js"),Ie=require("./Caustics.cjs.js"),we=require("./ContactShadows.cjs.js"),ze=require("./AccumulativeShadows.cjs.js"),Oe=require("./Reflector.cjs.js"),ye=require("./SpotLight.cjs.js"),He=require("./Environment.cjs.js"),Ve=require("./Lightformer.cjs.js"),We=require("./Sky.cjs.js"),Ke=require("./Stars.cjs.js"),Qe=require("./Cloud.cjs.js"),Ne=require("./Sparkles.cjs.js"),Ue=require("./useEnvironment.cjs.js"),Xe=require("./MatcapTexture.cjs.js"),Je=require("./NormalTexture.cjs.js"),Ye=require("./Wireframe.cjs.js"),Ze=require("./ShadowAlpha.cjs.js"),$e=require("./Points.cjs.js"),_e=require("./Instances.cjs.js"),er=require("./Segments.cjs.js"),rr=require("./Detailed.cjs.js"),sr=require("./Preload.cjs.js"),tr=require("./BakeShadows.cjs.js"),or=require("./meshBounds.cjs.js"),ir=require("./AdaptiveDpr.cjs.js"),ar=require("./AdaptiveEvents.cjs.js"),ur=require("./PerformanceMonitor.cjs.js"),cr=require("./RenderTexture.cjs.js"),pr=require("./RenderCubeTexture.cjs.js"),nr=require("./Mask.cjs.js"),jr=require("./Hud.cjs.js"),xr=require("./Fisheye.cjs.js"),lr=require("./MeshPortalMaterial.cjs.js"),qr=require("./calculateScaleFactor.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("three"),require("@react-three/fiber"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("../helpers/constants.cjs.js"),require("meshline"),require("camera-controls"),require("maath"),require("zustand"),require("hls.js"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("stats-gl"),require("detect-gpu"),require("three-mesh-bvh"),require("../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("uuid"),require("../helpers/deprecated.cjs.js"),require("@monogrid/gainmap-js"),require("../helpers/environment-assets.cjs.js"),require("../materials/WireframeMaterial.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.ScreenSizer=s.ScreenSizer,exports.QuadraticBezierLine=t.QuadraticBezierLine,exports.CubicBezierLine=o.CubicBezierLine,exports.CatmullRomLine=i.CatmullRomLine,exports.Line=a.Line,exports.PositionalAudio=u.PositionalAudio,exports.Text=c.Text,exports.Text3D=p.Text3D,exports.Effects=n.Effects,exports.isWebGL2Available=n.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.GradientType=j.GradientType,exports.Image=x.Image,exports.Edges=l.Edges,exports.Outlines=q.Outlines,exports.Trail=d.Trail,exports.useTrail=d.useTrail,exports.Sampler=m.Sampler,exports.useSurfaceSampler=m.useSurfaceSampler,exports.ComputedAttribute=h.ComputedAttribute,exports.Clone=C.Clone,exports.MarchingCube=M.MarchingCube,exports.MarchingCubes=M.MarchingCubes,exports.MarchingPlane=M.MarchingPlane,exports.Decal=S.Decal,exports.Svg=T.Svg,exports.Gltf=b.Gltf,exports.useGLTF=b.useGLTF,exports.AsciiRenderer=P.AsciiRenderer,exports.Splat=g.Splat,exports.OrthographicCamera=f.OrthographicCamera,exports.PerspectiveCamera=B.PerspectiveCamera,exports.CubeCamera=v.CubeCamera,exports.useCubeCamera=v.useCubeCamera,exports.DeviceOrientationControls=A.DeviceOrientationControls,exports.FlyControls=F.FlyControls,exports.MapControls=L.MapControls,exports.OrbitControls=R.OrbitControls,exports.TrackballControls=G.TrackballControls,exports.ArcballControls=D.ArcballControls,exports.TransformControls=E.TransformControls,exports.PointerLockControls=k.PointerLockControls,exports.FirstPersonControls=I.FirstPersonControls,exports.CameraControls=w.CameraControls,exports.MotionPathControls=z.MotionPathControls,exports.useMotion=z.useMotion,exports.GizmoHelper=O.GizmoHelper,exports.useGizmoContext=O.useGizmoContext,exports.GizmoViewcube=y.GizmoViewcube,exports.GizmoViewport=H.GizmoViewport,exports.Grid=V.Grid,exports.CubeTexture=W.CubeTexture,exports.useCubeTexture=W.useCubeTexture,exports.Fbx=K.Fbx,exports.useFBX=K.useFBX,exports.Ktx2=Q.Ktx2,exports.useKTX2=Q.useKTX2,exports.Progress=N.Progress,exports.useProgress=N.useProgress,exports.IsObject=U.IsObject,exports.Texture=U.Texture,exports.useTexture=U.useTexture,exports.VideoTexture=X.VideoTexture,exports.useVideoTexture=X.useVideoTexture,exports.useFont=J.useFont,exports.calculateAspectRatio=Y.calculateAspectRatio,exports.checkIfFrameIsEmpty=Y.checkIfFrameIsEmpty,exports.getFirstItem=Y.getFirstItem,exports.useSpriteLoader=Y.useSpriteLoader,exports.Helper=Z.Helper,exports.useHelper=Z.useHelper,exports.Stats=$.Stats,exports.StatsGl=_.StatsGl,exports.useDepthBuffer=ee.useDepthBuffer,exports.useAspect=re.useAspect,exports.useCamera=se.useCamera,exports.DetectGPU=te.DetectGPU,exports.useDetectGPU=te.useDetectGPU,exports.Bvh=oe.Bvh,exports.useBVH=oe.useBVH,exports.useContextBridge=ie.useContextBridge,exports.useAnimations=ae.useAnimations,exports.Fbo=ue.Fbo,exports.useFBO=ue.useFBO,exports.useIntersect=ce.useIntersect,exports.useBoxProjectedEnv=pe.useBoxProjectedEnv,exports.BBAnchor=ne.BBAnchor,exports.TrailTexture=je.TrailTexture,exports.useTrailTexture=je.useTrailTexture,exports.Example=xe.Example,exports.SpriteAnimator=le.SpriteAnimator,exports.useSpriteAnimator=le.useSpriteAnimator,exports.CurveModifier=qe.CurveModifier,exports.MeshDistortMaterial=de.MeshDistortMaterial,exports.MeshWobbleMaterial=me.MeshWobbleMaterial,exports.MeshReflectorMaterial=he.MeshReflectorMaterial,exports.MeshRefractionMaterial=Ce.MeshRefractionMaterial,exports.MeshTransmissionMaterial=Me.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Se.MeshDiscardMaterial,exports.MultiMaterial=Te.MultiMaterial,exports.PointMaterial=be.PointMaterial,exports.PointMaterialImpl=be.PointMaterialImpl,exports.shaderMaterial=Pe.shaderMaterial,exports.SoftShadows=ge.SoftShadows,exports.Box=fe.Box,exports.Capsule=fe.Capsule,exports.Circle=fe.Circle,exports.Cone=fe.Cone,exports.Cylinder=fe.Cylinder,exports.Dodecahedron=fe.Dodecahedron,exports.Extrude=fe.Extrude,exports.Icosahedron=fe.Icosahedron,exports.Lathe=fe.Lathe,exports.Octahedron=fe.Octahedron,exports.Plane=fe.Plane,exports.Polyhedron=fe.Polyhedron,exports.Ring=fe.Ring,exports.Shape=fe.Shape,exports.Sphere=fe.Sphere,exports.Tetrahedron=fe.Tetrahedron,exports.Torus=fe.Torus,exports.TorusKnot=fe.TorusKnot,exports.Tube=fe.Tube,exports.RoundedBox=Be.RoundedBox,exports.ScreenQuad=ve.ScreenQuad,exports.Center=Ae.Center,exports.Resize=Fe.Resize,exports.Bounds=Le.Bounds,exports.useBounds=Le.useBounds,exports.CameraShake=Re.CameraShake,exports.Float=Ge.Float,exports.Stage=De.Stage,exports.Backdrop=Ee.Backdrop,exports.Shadow=ke.Shadow,exports.Caustics=Ie.Caustics,exports.ContactShadows=we.ContactShadows,exports.AccumulativeShadows=ze.AccumulativeShadows,exports.RandomizedLight=ze.RandomizedLight,exports.accumulativeContext=ze.accumulativeContext,exports.Reflector=Oe.Reflector,exports.SpotLight=ye.SpotLight,exports.SpotLightShadow=ye.SpotLightShadow,exports.Environment=He.Environment,exports.EnvironmentCube=He.EnvironmentCube,exports.EnvironmentMap=He.EnvironmentMap,exports.EnvironmentPortal=He.EnvironmentPortal,exports.Lightformer=Ve.Lightformer,exports.Sky=We.Sky,exports.calcPosFromAngles=We.calcPosFromAngles,exports.Stars=Ke.Stars,exports.Cloud=Qe.Cloud,exports.CloudInstance=Qe.CloudInstance,exports.Clouds=Qe.Clouds,exports.Sparkles=Ne.Sparkles,exports.useEnvironment=Ue.useEnvironment,exports.MatcapTexture=Xe.MatcapTexture,exports.useMatcapTexture=Xe.useMatcapTexture,exports.NormalTexture=Je.NormalTexture,exports.useNormalTexture=Je.useNormalTexture,exports.Wireframe=Ye.Wireframe,exports.ShadowAlpha=Ze.ShadowAlpha,exports.Point=$e.Point,exports.Points=$e.Points,exports.PointsBuffer=$e.PointsBuffer,exports.PositionPoint=$e.PositionPoint,exports.Instance=_e.Instance,exports.InstancedAttribute=_e.InstancedAttribute,exports.Instances=_e.Instances,exports.Merged=_e.Merged,exports.PositionMesh=_e.PositionMesh,exports.createInstances=_e.createInstances,exports.Segment=er.Segment,exports.SegmentObject=er.SegmentObject,exports.Segments=er.Segments,exports.Detailed=rr.Detailed,exports.Preload=sr.Preload,exports.BakeShadows=tr.BakeShadows,exports.meshBounds=or.meshBounds,exports.AdaptiveDpr=ir.AdaptiveDpr,exports.AdaptiveEvents=ar.AdaptiveEvents,exports.PerformanceMonitor=ur.PerformanceMonitor,exports.usePerformanceMonitor=ur.usePerformanceMonitor,exports.RenderTexture=cr.RenderTexture,exports.RenderCubeTexture=pr.RenderCubeTexture,exports.Mask=nr.Mask,exports.useMask=nr.useMask,exports.Hud=jr.Hud,exports.Fisheye=xr.Fisheye,exports.MeshPortalMaterial=lr.MeshPortalMaterial,exports.calculateScaleFactor=qr.calculateScaleFactor;
package/core/index.js CHANGED
@@ -139,15 +139,15 @@ import '../helpers/useEffectfulState.js';
139
139
  import 'stats-gl';
140
140
  import 'detect-gpu';
141
141
  import 'three-mesh-bvh';
142
- import 'react-composer';
143
- import '../helpers/deprecated.js';
144
142
  import '../materials/BlurPass.js';
145
143
  import '../materials/ConvolutionMaterial.js';
146
144
  import '../materials/MeshReflectorMaterial.js';
147
145
  import '../materials/MeshRefractionMaterial.js';
148
146
  import '../materials/DiscardMaterial.js';
149
- import '@monogrid/gainmap-js';
150
- import '../helpers/environment-assets.js';
151
147
  import '../materials/SpotLightMaterial.js';
152
148
  import 'uuid';
149
+ import '../helpers/deprecated.js';
150
+ import '@monogrid/gainmap-js';
151
+ import '../helpers/environment-assets.js';
153
152
  import '../materials/WireframeMaterial.js';
153
+ import 'react-composer';
@@ -1 +1 @@
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
+ "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 +1 @@
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
+ "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 +1 @@
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
+ "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 +1 @@
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
+ "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};
@@ -16,6 +16,7 @@ import { useThree } from '@react-three/fiber';
16
16
  High-Frequency Noise Implementation:
17
17
  https://www.shadertoy.com/view/tt3fDH [spawner64]
18
18
  */
19
+
19
20
  const pcss = ({
20
21
  focus = 0,
21
22
  size = 25,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("three"),t=require("@react-three/fiber");function n(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var c=n(e);exports.useAnimations=function(e,n){const u=c.useRef(),[o]=c.useState((()=>n?n instanceof r.Object3D?{current:n}:n:u)),[a]=c.useState((()=>new r.AnimationMixer(void 0)));c.useLayoutEffect((()=>{n&&(o.current=n instanceof r.Object3D?n:n.current),a._root=o.current}));const i=c.useRef({}),s=c.useMemo((()=>{const r={};return e.forEach((e=>Object.defineProperty(r,e.name,{enumerable:!0,get(){if(o.current)return i.current[e.name]||(i.current[e.name]=a.clipAction(e,o.current))},configurable:!0}))),{ref:o,clips:e,actions:r,names:e.map((e=>e.name)),mixer:a}}),[e]);return t.useFrame(((e,r)=>a.update(r))),c.useEffect((()=>{const e=o.current;return()=>{i.current={},a.stopAllAction(),Object.values(s.actions).forEach((r=>{e&&a.uncacheAction(r,e)}))}}),[e]),s};
1
+ "use strict";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.useAnimations=function(e,n){const u=c.useRef(),[a]=c.useState((()=>n?n instanceof r.Object3D?{current:n}:n:u)),[o]=c.useState((()=>new r.AnimationMixer(void 0)));c.useLayoutEffect((()=>{n&&(a.current=n instanceof r.Object3D?n:n.current),o._root=a.current}));const i=c.useRef({}),s=c.useMemo((()=>{const r={};return e.forEach((e=>Object.defineProperty(r,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:r,names:e.map((e=>e.name)),mixer:o}}),[e]);return t.useFrame(((e,r)=>o.update(r))),c.useEffect((()=>{const e=a.current;return()=>{i.current={},o.stopAllAction(),Object.values(s.actions).forEach((r=>{e&&o.uncacheAction(r,e)}))}}),[e]),s};
@@ -7,7 +7,6 @@ function useAnimations(clips, root) {
7
7
  const [actualRef] = React.useState(() => root ? root instanceof Object3D ? {
8
8
  current: root
9
9
  } : root : ref);
10
- // eslint-disable-next-line prettier/prettier
11
10
  const [mixer] = React.useState(() => new AnimationMixer(undefined));
12
11
  React.useLayoutEffect(() => {
13
12
  if (root) actualRef.current = root instanceof Object3D ? root : root.current;
@@ -1 +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
+ "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 +1 @@
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
+ "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);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 a=t.useRef(null),c=t.useMemo((()=>({ref:a,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>","\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")}`,e.fragmentShader=`\n \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\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 \n#ifdef BOX_PROJECTED_ENV_MAP\n worldNormal = parallaxCorrectNormal( worldNormal, envMapSize, envMapPosition );\n#endif\n\n ").replace("reflectVec = inverseTransformDirection( reflectVec, viewMatrix );","reflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n \n#ifdef BOX_PROJECTED_ENV_MAP\n reflectVec = parallaxCorrectNormal( reflectVec, envMapSize, envMapPosition );\n#endif\n\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((()=>{a.current.needsUpdate=!0}),[i]),c};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("three"),t=require("@react-three/fiber");function n(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var c=n(e);exports.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
+ "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 +1 @@
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
+ "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 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("react"),t=require("@react-three/fiber"),u=require("./Fbo.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:o,height:i}=t.useThree((e=>e.size)),a=r||o*c,f=r||i*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
+ "use strict";var e=require("three"),r=require("react"),t=require("@react-three/fiber"),u=require("./Fbo.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 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@react-three/fiber"),n=require("three"),r=require("three-stdlib"),t=require("@monogrid/gainmap-js"),s=require("../helpers/environment-assets.cjs.js"),o=require("../helpers/deprecated.cjs.js"),i=require("react");const p="https://raw.githack.com/pmndrs/drei-assets/456060a26bbeb8fdf79326f224b6d99b8bcce736/hdri/",a=e=>Array.isArray(e),l=["/px.png","/nx.png","/py.png","/ny.png","/pz.png","/nz.png"];function c({files:r=l,path:t="",preset:c,encoding:u,extensions:d}={}){let f=null,j=!1;c&&(g(c),r=s.presetsObj[c],t=p),j=a(r);const{extension:m,isCubemap:x}=b(r);if(f=h(m),!f)throw new Error("useEnvironment: Unrecognized file extension: "+r);const w=e.useThree((e=>e.gl));i.useLayoutEffect((()=>{"webp"!==m&&"jpg"!==m&&"jpeg"!==m||w.domElement.addEventListener("webglcontextlost",(function(){e.useLoader.clear(f,j?[r]:r)}),{once:!0})}),[r,w.domElement]);const E=e.useLoader(f,j?[r]:r,(e=>{"webp"!==m&&"jpg"!==m&&"jpeg"!==m||e.setRenderer(w),null==e.setPath||e.setPath(t),d&&d(e)}));let v=j?E[0]:E;var L;"jpg"!==m&&"jpeg"!==m&&"webp"!==m||(v=null==(L=v.renderTarget)?void 0:L.texture);return v.mapping=x?n.CubeReflectionMapping:n.EquirectangularReflectionMapping,"colorSpace"in v?v.colorSpace=(null!=u?u:x)?"srgb":"srgb-linear":v.encoding=(null!=u?u:x)?o.sRGBEncoding:o.LinearEncoding,v}const u={files:l,path:"",preset:void 0,extensions:void 0};c.preload=n=>{const r={...u,...n};let{files:t,path:o=""}=r;const{preset:i,extensions:l}=r;i&&(g(i),t=s.presetsObj[i],o=p);const{extension:c}=b(t);if("webp"===c||"jpg"===c||"jpeg"===c)throw new Error("useEnvironment: Preloading gainmaps is not supported");const d=h(c);if(!d)throw new Error("useEnvironment: Unrecognized file extension: "+t);e.useLoader.preload(d,a(t)?[t]:t,(e=>{null==e.setPath||e.setPath(o),l&&l(e)}))};const d={files:l,preset:void 0};function g(e){if(!(e in s.presetsObj))throw new Error("Preset must be one of: "+Object.keys(s.presetsObj).join(", "))}function b(e){var n;const r=a(e)&&6===e.length,t=a(e)&&3===e.length&&e.some((e=>e.endsWith("json"))),s=a(e)?e[0]:e;return{extension:r?"cube":t?"webp":s.startsWith("data:application/exr")?"exr":s.startsWith("data:application/hdr")?"hdr":s.startsWith("data:image/jpeg")?"jpg":null==(n=s.split(".").pop())||null==(n=n.split("?"))||null==(n=n.shift())?void 0:n.toLowerCase(),isCubemap:r,isGainmap:t}}function h(e){return"cube"===e?n.CubeTextureLoader:"hdr"===e?r.RGBELoader:"exr"===e?r.EXRLoader:"jpg"===e||"jpeg"===e?t.HDRJPGLoader:"webp"===e?t.GainMapLoader:null}c.clear=n=>{const r={...d,...n};let{files:t}=r;const{preset:o}=r;o&&(g(o),t=s.presetsObj[o]);const{extension:i}=b(t),p=h(i);if(!p)throw new Error("useEnvironment: Unrecognized file extension: "+t);e.useLoader.clear(p,a(t)?[t]:t)},exports.useEnvironment=c;
1
+ "use strict";var e=require("@react-three/fiber"),n=require("three"),r=require("three-stdlib"),t=require("@monogrid/gainmap-js"),s=require("../helpers/environment-assets.cjs.js"),o=require("../helpers/deprecated.cjs.js"),i=require("react");const a="https://raw.githack.com/pmndrs/drei-assets/456060a26bbeb8fdf79326f224b6d99b8bcce736/hdri/",p=e=>Array.isArray(e),l=["/px.png","/nx.png","/py.png","/ny.png","/pz.png","/nz.png"];function c({files:r=l,path:t="",preset:c,encoding:u,extensions:d}={}){let f=null,j=!1;c&&(g(c),r=s.presetsObj[c],t=a),j=p(r);const{extension:m,isCubemap:w}=h(r);if(f=b(m),!f)throw new Error("useEnvironment: Unrecognized file extension: "+r);const x=e.useThree((e=>e.gl));i.useLayoutEffect((()=>{"webp"!==m&&"jpg"!==m&&"jpeg"!==m||x.domElement.addEventListener("webglcontextlost",(function(){e.useLoader.clear(f,j?[r]:r)}),{once:!0})}),[r,x.domElement]);const E=e.useLoader(f,j?[r]:r,(e=>{"webp"!==m&&"jpg"!==m&&"jpeg"!==m||e.setRenderer(x),null==e.setPath||e.setPath(t),d&&d(e)}));let v=j?E[0]:E;var L;"jpg"!==m&&"jpeg"!==m&&"webp"!==m||(v=null==(L=v.renderTarget)?void 0:L.texture);return v.mapping=w?n.CubeReflectionMapping:n.EquirectangularReflectionMapping,"colorSpace"in v?v.colorSpace=(null!=u?u:w)?"srgb":"srgb-linear":v.encoding=(null!=u?u:w)?o.sRGBEncoding:o.LinearEncoding,v}const u={files:l,path:"",preset:void 0,extensions:void 0};c.preload=n=>{const r={...u,...n};let{files:t,path:o=""}=r;const{preset:i,extensions:l}=r;i&&(g(i),t=s.presetsObj[i],o=a);const{extension:c}=h(t);if("webp"===c||"jpg"===c||"jpeg"===c)throw new Error("useEnvironment: Preloading gainmaps is not supported");const d=b(c);if(!d)throw new Error("useEnvironment: Unrecognized file extension: "+t);e.useLoader.preload(d,p(t)?[t]:t,(e=>{null==e.setPath||e.setPath(o),l&&l(e)}))};const d={files:l,preset:void 0};function g(e){if(!(e in s.presetsObj))throw new Error("Preset must be one of: "+Object.keys(s.presetsObj).join(", "))}function h(e){var n;const r=p(e)&&6===e.length,t=p(e)&&3===e.length&&e.some((e=>e.endsWith("json"))),s=p(e)?e[0]:e;return{extension:r?"cube":t?"webp":s.startsWith("data:application/exr")?"exr":s.startsWith("data:application/hdr")?"hdr":s.startsWith("data:image/jpeg")?"jpg":null==(n=s.split(".").pop())||null==(n=n.split("?"))||null==(n=n.shift())?void 0:n.toLowerCase(),isCubemap:r,isGainmap:t}}function b(e){return"cube"===e?n.CubeTextureLoader:"hdr"===e?r.RGBELoader:"exr"===e?r.EXRLoader:"jpg"===e||"jpeg"===e?t.HDRJPGLoader:"webp"===e?t.GainMapLoader:null}c.clear=n=>{const r={...d,...n};let{files:t}=r;const{preset:o}=r;o&&(g(o),t=s.presetsObj[o]);const{extension:i}=h(t),a=b(i);if(!a)throw new Error("useEnvironment: Unrecognized file extension: "+t);e.useLoader.clear(a,p(t)?[t]:t)},exports.useEnvironment=c;
@@ -10,8 +10,8 @@ export type EnvironmentLoaderProps = {
10
10
  };
11
11
  export declare function useEnvironment({ files, path, preset, encoding, extensions, }?: Partial<EnvironmentLoaderProps>): Texture;
12
12
  export declare namespace useEnvironment {
13
- var preload: (preloadOptions?: EnvironmentLoaderPreloadOptions | undefined) => void;
14
- var clear: (clearOptions?: EnvironmentLoaderClearOptions | undefined) => void;
13
+ var preload: (preloadOptions?: EnvironmentLoaderPreloadOptions) => void;
14
+ var clear: (clearOptions?: EnvironmentLoaderClearOptions) => void;
15
15
  }
16
16
  type EnvironmentLoaderPreloadOptions = Omit<EnvironmentLoaderProps, 'encoding'>;
17
17
  type EnvironmentLoaderClearOptions = Pick<EnvironmentLoaderProps, 'files' | 'preset'>;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three-stdlib"),r=require("suspend-react");let t=null;async function n(r){const n=await async function(e){return"string"==typeof e?await(await fetch(e)).json():e}(r);return a=n,t||(t=new e.FontLoader),t.parse(a);var a}function a(e){return r.suspend(n,[e])}a.preload=e=>r.preload(n,[e]),a.clear=e=>r.clear([e]),exports.useFont=a;
1
+ "use strict";var e=require("three-stdlib"),r=require("suspend-react");let t=null;async function n(r){const n=await async function(e){return"string"==typeof e?await(await fetch(e)).json():e}(r);return a=n,t||(t=new e.FontLoader),t.parse(a);var a}function a(e){return r.suspend(n,[e])}a.preload=e=>r.preload(n,[e]),a.clear=e=>r.clear([e]),exports.useFont=a;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("@react-three/fiber");function t(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 n=t(e);exports.useIntersect=function(e){const t=n.useRef(null),u=n.useRef(!1),c=n.useRef(!1),f=n.useRef(e);return n.useLayoutEffect((()=>{f.current=e}),[e]),n.useEffect((()=>{const e=t.current;if(e){const t=r.addEffect((()=>(u.current=!1,!0))),n=e.onBeforeRender;e.onBeforeRender=()=>u.current=!0;const o=r.addAfterEffect((()=>(u.current!==c.current&&(null==f.current||f.current(c.current=u.current)),!0)));return()=>{e.onBeforeRender=n,t(),o()}}}),[]),t};
1
+ "use strict";var e=require("react"),r=require("@react-three/fiber");function t(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 n=t(e);exports.useIntersect=function(e){const t=n.useRef(null),u=n.useRef(!1),c=n.useRef(!1),f=n.useRef(e);return n.useLayoutEffect((()=>{f.current=e}),[e]),n.useEffect((()=>{const e=t.current;if(e){const t=r.addEffect((()=>(u.current=!1,!0))),n=e.onBeforeRender;e.onBeforeRender=()=>u.current=!0;const o=r.addAfterEffect((()=>(u.current!==c.current&&(null==f.current||f.current(c.current=u.current)),!0)));return()=>{e.onBeforeRender=n,t(),o()}}}),[]),t};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("@react-three/fiber"),t=require("react");function o(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var a=o(e),n=o(t);const s=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}},i=e=>{for(let r=3;r<e.length;r+=4)if(0!==e[r])return!1;return!0},u=(e,r,t,o)=>{const n=r*(o.aspect>e/r?o.width/e:o.height/r),s=e*(o.aspect>e/r?o.width/e:o.height/r)*t,i=n*t;let u=Math.min(1,s),c=Math.min(1,i);return s>1&&(u=1,c=i/s*1),new a.Vector3(u,c,1)};function c(o,c,f,l,m,h){const d=r.useThree((e=>e.viewport)),w=n.useRef(null),p=n.useRef(0),[g,y]=t.useState(null),[x,S]=n.useState(new a.Texture),b=new a.TextureLoader,[v,L]=t.useState(null);function j(e){if(!e&&!o)throw new Error("Either textureUrl or input must be provided");const r=null!=e?e:o;if(!r)throw new Error("A valid texture URL must be provided");new Promise((e=>{b.load(r,e)})).then((e=>{z(null,e)}))}function O(e,r,t){const o=fetch(e).then((e=>e.json())),a=new Promise((e=>{b.load(r,e)}));Promise.all([o,a]).then((e=>{t(e[0],e[1])}))}n.useLayoutEffect((()=>(c&&o?O(c,o,z):o&&j(),()=>{o&&r.useLoader.clear(e.TextureLoader,o)})),[]);const z=(e,r)=>{let t=new a.Vector3(1,1,1);if(null===e){if(r&&l){const e=r.image.width,o=r.image.height;p.current=l;const{rows:a,columns:n,frameWidth:s,frameHeight:i,emptyFrames:c}=A(r,l);w.current={frames:[],meta:{version:"1.0",size:{w:e,h:o},rows:a,columns:n,frameWidth:s,frameHeight:i,scale:"1"}};for(let e=0;e<a;e++)for(let r=0;r<n;r++){(null!=c?c:[]).some((t=>t.row===e&&t.col===r))||w.current.frames.push({frame:{x:r*s,y:e*i,w:s,h:i},rotated:!1,trimmed:!1,spriteSourceSize:{x:0,y:0,w:s,h:i},sourceSize:{w:s,h:i}})}t=u(s,i,.1,d)}w.current.frames=M(w.current.frames)}else if(r){w.current=e,w.current.frames=E(),p.current=Array.isArray(e.frames)?e.frames.length:Object.keys(e.frames).length;const{w:r,h:o}=s(e.frames).sourceSize;t=u(r,o,.1,d)}y(w.current),"encoding"in r?r.encoding=3001:r.colorSpace=a.SRGBColorSpace,S(r),L({spriteTexture:r,spriteData:w.current,aspect:t})},A=(e,r)=>{if(e.image){const t=document.createElement("canvas"),o=t.getContext("2d",h);if(!o)throw new Error("Failed to get 2d context");t.width=e.image.width,t.height=e.image.height,o.drawImage(e.image,0,0);const a=e.image.width,n=e.image.height,s=Math.round(Math.sqrt(r*(a/n))),u=Math.round(r/s),c=a/s,f=n/u,l=[];for(let e=0;e<u;e++)for(let t=0;t<s;t++){if(e*s+t>=r){l.push({row:e,col:t});continue}const a=o.getImageData(t*c,e*f,c,f).data;i(a)&&l.push({row:e,col:t})}return{rows:u,columns:s,frameWidth:c,frameHeight:f,emptyFrames:l}}return{rows:0,columns:0,frameWidth:0,frameHeight:0,emptyFrames:[]}},E=()=>{const e={},r=w.current,t=f;if(t&&Array.isArray(r.frames)){for(let o=0;o<t.length;o++){e[t[o]]=[];for(const a of r.frames){const r=a.frame,n=r.x,s=r.y,i=r.w,u=r.h,c=a.sourceSize.w,f=a.sourceSize.h;"string"==typeof a.filename&&-1!==a.filename.toLowerCase().indexOf(t[o].toLowerCase())&&e[t[o]].push({x:n,y:s,w:i,h:u,frame:r,sourceSize:{w:c,h:f}})}}for(const r in e)e[r].frame=M(e[r]);return e}if(t&&"object"==typeof r.frames){for(let o=0;o<t.length;o++){e[t[o]]=[];for(const a in r.frames){const n=r.frames[a],s=n.frame,i=s.x,u=s.y,c=s.w,f=s.h,l=n.sourceSize.w,m=n.sourceSize.h;"string"==typeof a&&-1!==a.toLowerCase().indexOf(t[o].toLowerCase())&&e[t[o]].push({x:i,y:u,w:c,h:f,frame:s,sourceSize:{w:l,h:m}})}}for(const r in e)e[r].frame=M(e[r]);return e}{let e=[];for(const t in r.frames)e.push(r.frames[t]);return e=M(e),e}},M=e=>{let r=null;for(const t of e){const{w:e,h:o}=t.frame,a=e*o;(!r||a>r.area)&&(r={...t.frame,area:a})}for(const a of e){var t;const{w:e,h:n}=a.frame,s=e*n;var o;if(s===(null==(t=r)?void 0:t.area))a.scaleRatio=1;else a.scaleRatio=Math.sqrt(s/(null==(o=r)?void 0:o.area))}return e};return n.useLayoutEffect((()=>{null==m||m(x,g)}),[x,g]),{spriteObj:v,loadJsonAndTexture:function(e,r){r&&e?O(r,e,z):j(e)}}}c.preload=t=>r.useLoader.preload(e.TextureLoader,t),c.clear=t=>r.useLoader.clear(e.TextureLoader,t),exports.calculateAspectRatio=u,exports.checkIfFrameIsEmpty=i,exports.getFirstItem=s,exports.useSpriteLoader=c;
1
+ "use strict";var e=require("three"),r=require("@react-three/fiber"),t=require("react");function o(e){var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var a=o(e),n=o(t);const s=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}},i=e=>{for(let r=3;r<e.length;r+=4)if(0!==e[r])return!1;return!0},u=(e,r,t,o)=>{const n=r*(o.aspect>e/r?o.width/e:o.height/r),s=e*(o.aspect>e/r?o.width/e:o.height/r)*t,i=n*t;let u=Math.min(1,s),c=Math.min(1,i);return s>1&&(u=1,c=i/s*1),new a.Vector3(u,c,1)};function c(o,c,f,l,m,h){const d=r.useThree((e=>e.viewport)),w=n.useRef(null),p=n.useRef(0),[g,y]=t.useState(null),[x,S]=n.useState(new a.Texture),L=new a.TextureLoader,[b,v]=t.useState(null);function j(e){if(!e&&!o)throw new Error("Either textureUrl or input must be provided");const r=null!=e?e:o;if(!r)throw new Error("A valid texture URL must be provided");new Promise((e=>{L.load(r,e)})).then((e=>{O(null,e)}))}function z(e,r,t){const o=fetch(e).then((e=>e.json())),a=new Promise((e=>{L.load(r,e)}));Promise.all([o,a]).then((e=>{t(e[0],e[1])}))}n.useLayoutEffect((()=>(c&&o?z(c,o,O):o&&j(),()=>{o&&r.useLoader.clear(e.TextureLoader,o)})),[]);const O=(e,r)=>{let t=new a.Vector3(1,1,1);if(null===e){if(r&&l){const e=r.image.width,o=r.image.height;p.current=l;const{rows:a,columns:n,frameWidth:s,frameHeight:i,emptyFrames:c}=A(r,l);w.current={frames:[],meta:{version:"1.0",size:{w:e,h:o},rows:a,columns:n,frameWidth:s,frameHeight:i,scale:"1"}};for(let e=0;e<a;e++)for(let r=0;r<n;r++){(null!=c?c:[]).some((t=>t.row===e&&t.col===r))||w.current.frames.push({frame:{x:r*s,y:e*i,w:s,h:i},rotated:!1,trimmed:!1,spriteSourceSize:{x:0,y:0,w:s,h:i},sourceSize:{w:s,h:i}})}t=u(s,i,.1,d)}w.current.frames=T(w.current.frames)}else if(r){w.current=e,w.current.frames=E(),p.current=Array.isArray(e.frames)?e.frames.length:Object.keys(e.frames).length;const{w:r,h:o}=s(e.frames).sourceSize;t=u(r,o,.1,d)}y(w.current),"encoding"in r?r.encoding=3001:r.colorSpace=a.SRGBColorSpace,S(r),v({spriteTexture:r,spriteData:w.current,aspect:t})},A=(e,r)=>{if(e.image){const t=document.createElement("canvas"),o=t.getContext("2d",h);if(!o)throw new Error("Failed to get 2d context");t.width=e.image.width,t.height=e.image.height,o.drawImage(e.image,0,0);const a=e.image.width,n=e.image.height,s=Math.round(Math.sqrt(r*(a/n))),u=Math.round(r/s),c=a/s,f=n/u,l=[];for(let e=0;e<u;e++)for(let t=0;t<s;t++){if(e*s+t>=r){l.push({row:e,col:t});continue}const a=o.getImageData(t*c,e*f,c,f).data;i(a)&&l.push({row:e,col:t})}return{rows:u,columns:s,frameWidth:c,frameHeight:f,emptyFrames:l}}return{rows:0,columns:0,frameWidth:0,frameHeight:0,emptyFrames:[]}},E=()=>{const e={},r=w.current,t=f;if(t&&Array.isArray(r.frames)){for(let o=0;o<t.length;o++){e[t[o]]=[];for(const a of r.frames){const r=a.frame,n=r.x,s=r.y,i=r.w,u=r.h,c=a.sourceSize.w,f=a.sourceSize.h;"string"==typeof a.filename&&-1!==a.filename.toLowerCase().indexOf(t[o].toLowerCase())&&e[t[o]].push({x:n,y:s,w:i,h:u,frame:r,sourceSize:{w:c,h:f}})}}for(const r in e)e[r].frame=T(e[r]);return e}if(t&&"object"==typeof r.frames){for(let o=0;o<t.length;o++){e[t[o]]=[];for(const a in r.frames){const n=r.frames[a],s=n.frame,i=s.x,u=s.y,c=s.w,f=s.h,l=n.sourceSize.w,m=n.sourceSize.h;"string"==typeof a&&-1!==a.toLowerCase().indexOf(t[o].toLowerCase())&&e[t[o]].push({x:i,y:u,w:c,h:f,frame:s,sourceSize:{w:l,h:m}})}}for(const r in e)e[r].frame=T(e[r]);return e}{let e=[];for(const t in r.frames)e.push(r.frames[t]);return e=T(e),e}},T=e=>{let r=null;for(const t of e){const{w:e,h:o}=t.frame,a=e*o;(!r||a>r.area)&&(r={...t.frame,area:a})}for(const a of e){var t;const{w:e,h:n}=a.frame,s=e*n;var o;if(s===(null==(t=r)?void 0:t.area))a.scaleRatio=1;else a.scaleRatio=Math.sqrt(s/(null==(o=r)?void 0:o.area))}return e};return n.useLayoutEffect((()=>{null==m||m(x,g)}),[x,g]),{spriteObj:b,loadJsonAndTexture:function(e,r){r&&e?z(r,e,O):j(e)}}}c.preload=t=>r.useLoader.preload(e.TextureLoader,t),c.clear=t=>r.useLoader.clear(e.TextureLoader,t),exports.calculateAspectRatio=u,exports.checkIfFrameIsEmpty=i,exports.getFirstItem=s,exports.useSpriteLoader=c;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");const r=(()=>parseInt(e.REVISION.replace(/\D+/g,"")))();exports.version=r;
1
+ "use strict";var e=require("three");const r=(()=>parseInt(e.REVISION.replace(/\D+/g,"")))();exports.version=r;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.LinearEncoding=3e3,exports.sRGBEncoding=3001,exports.setUpdateRange=(e,t)=>{"updateRanges"in e?e.updateRanges[0]=t:e.updateRange=t};
1
+ "use strict";exports.LinearEncoding=3e3,exports.sRGBEncoding=3001,exports.setUpdateRange=(e,n)=>{"updateRanges"in e?e.updateRanges[0]=n:e.updateRange=n};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.presetsObj={apartment:"lebombo_1k.hdr",city:"potsdamer_platz_1k.hdr",dawn:"kiara_1_dawn_1k.hdr",forest:"forest_slope_1k.hdr",lobby:"st_fagans_interior_1k.hdr",night:"dikhololo_night_1k.hdr",park:"rooitou_park_1k.hdr",studio:"studio_small_03_1k.hdr",sunset:"venice_sunset_1k.hdr",warehouse:"empty_warehouse_01_1k.hdr"};
1
+ "use strict";exports.presetsObj={apartment:"lebombo_1k.hdr",city:"potsdamer_platz_1k.hdr",dawn:"kiara_1_dawn_1k.hdr",forest:"forest_slope_1k.hdr",lobby:"st_fagans_interior_1k.hdr",night:"dikhololo_night_1k.hdr",park:"rooitou_park_1k.hdr",studio:"studio_small_03_1k.hdr",sunset:"venice_sunset_1k.hdr",warehouse:"empty_warehouse_01_1k.hdr"};
@@ -1 +1 @@
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 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)}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("react"));function r(e,t){"function"==typeof e?e(t):null!=e&&(e.current=t)}exports.useEffectfulState=function(e,u=[],n){const[c,f]=t.useState();return t.useLayoutEffect((()=>{const t=e();return f(t),r(n,t),()=>r(n,null)}),u),c};
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("react"));function r(e,t){"function"==typeof e?e(t):null!=e&&(e.current=t)}exports.useEffectfulState=function(e,n=[],u){const[c,f]=t.useState();return t.useLayoutEffect((()=>{const t=e();return f(t),r(u,t),()=>r(u,null)}),n),c};
@@ -1,15 +1,13 @@
1
1
  import * as React from 'react';
2
2
 
3
3
  function call(ref, value) {
4
- if (typeof ref === 'function') ref(value);else if (ref != null) ref.current = value;
5
4
  }
6
5
  function useEffectfulState(fn, deps = [], cb) {
7
6
  const [state, set] = React.useState();
8
7
  React.useLayoutEffect(() => {
9
8
  const value = fn();
10
9
  set(value);
11
- call(cb, value);
12
- return () => call(cb, null);
10
+ return () => call();
13
11
  }, deps);
14
12
  return state;
15
13
  }