@react-three/drei 9.116.0 → 9.116.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/core/AccumulativeShadows.cjs.js +1 -1
  2. package/core/AdaptiveDpr.cjs.js +1 -1
  3. package/core/AdaptiveEvents.cjs.js +1 -1
  4. package/core/ArcballControls.cjs.js +1 -1
  5. package/core/AsciiRenderer.cjs.js +1 -1
  6. package/core/BBAnchor.cjs.js +1 -1
  7. package/core/Backdrop.cjs.js +1 -1
  8. package/core/BakeShadows.cjs.js +1 -1
  9. package/core/Billboard.cjs.js +1 -1
  10. package/core/Bounds.cjs.js +1 -1
  11. package/core/Bvh.cjs.js +1 -1
  12. package/core/CameraControls.cjs.js +1 -1
  13. package/core/CameraShake.cjs.js +1 -1
  14. package/core/CatmullRomLine.cjs.js +1 -1
  15. package/core/Caustics.cjs.js +1 -1
  16. package/core/Center.cjs.js +1 -1
  17. package/core/Clone.cjs.js +1 -1
  18. package/core/Cloud.cjs.js +1 -1
  19. package/core/ComputedAttribute.cjs.js +1 -1
  20. package/core/ContactShadows.cjs.js +1 -1
  21. package/core/CubeCamera.cjs.js +1 -1
  22. package/core/CubeTexture.cjs.js +1 -1
  23. package/core/CubicBezierLine.cjs.js +1 -1
  24. package/core/CurveModifier.cjs.js +1 -1
  25. package/core/Decal.cjs.js +1 -1
  26. package/core/Detailed.cjs.js +1 -1
  27. package/core/DetectGPU.cjs.js +1 -1
  28. package/core/DeviceOrientationControls.cjs.js +1 -1
  29. package/core/Edges.cjs.js +1 -1
  30. package/core/Effects.cjs.js +1 -1
  31. package/core/Environment.cjs.js +1 -1
  32. package/core/Environment.js +10 -2
  33. package/core/Example.cjs.js +1 -1
  34. package/core/Fbo.cjs.js +1 -1
  35. package/core/Fbx.cjs.js +1 -1
  36. package/core/FirstPersonControls.cjs.js +1 -1
  37. package/core/Fisheye.cjs.js +1 -1
  38. package/core/Float.cjs.js +1 -1
  39. package/core/FlyControls.cjs.js +1 -1
  40. package/core/GizmoHelper.cjs.js +1 -1
  41. package/core/GizmoViewcube.cjs.js +1 -1
  42. package/core/GizmoViewport.cjs.js +1 -1
  43. package/core/Gltf.cjs.js +1 -1
  44. package/core/GradientTexture.cjs.js +1 -1
  45. package/core/Grid.cjs.js +1 -1
  46. package/core/Helper.cjs.js +1 -1
  47. package/core/Hud.cjs.js +1 -1
  48. package/core/Image.cjs.js +1 -1
  49. package/core/Instances.cjs.js +1 -1
  50. package/core/Ktx2.cjs.js +1 -1
  51. package/core/Lightformer.cjs.js +1 -1
  52. package/core/Lightformer.d.ts +3 -2
  53. package/core/Lightformer.js +18 -8
  54. package/core/Line.cjs.js +1 -1
  55. package/core/MapControls.cjs.js +1 -1
  56. package/core/MarchingCubes.cjs.js +1 -1
  57. package/core/Mask.cjs.js +1 -1
  58. package/core/MatcapTexture.cjs.js +1 -1
  59. package/core/MeshDiscardMaterial.cjs.js +1 -1
  60. package/core/MeshDistortMaterial.cjs.js +1 -1
  61. package/core/MeshPortalMaterial.cjs.js +1 -1
  62. package/core/MeshReflectorMaterial.cjs.js +1 -1
  63. package/core/MeshRefractionMaterial.cjs.js +1 -1
  64. package/core/MeshTransmissionMaterial.cjs.js +1 -1
  65. package/core/MeshWobbleMaterial.cjs.js +1 -1
  66. package/core/MotionPathControls.cjs.js +1 -1
  67. package/core/MultiMaterial.cjs.js +1 -1
  68. package/core/NormalTexture.cjs.js +1 -1
  69. package/core/OrbitControls.cjs.js +1 -1
  70. package/core/OrthographicCamera.cjs.js +1 -1
  71. package/core/Outlines.cjs.js +1 -1
  72. package/core/PerformanceMonitor.cjs.js +1 -1
  73. package/core/PerspectiveCamera.cjs.js +1 -1
  74. package/core/PointMaterial.cjs.js +1 -1
  75. package/core/PointerLockControls.cjs.js +1 -1
  76. package/core/Points.cjs.js +1 -1
  77. package/core/PositionalAudio.cjs.js +1 -1
  78. package/core/Preload.cjs.js +1 -1
  79. package/core/Progress.cjs.js +1 -1
  80. package/core/QuadraticBezierLine.cjs.js +1 -1
  81. package/core/Reflector.cjs.js +1 -1
  82. package/core/RenderCubeTexture.cjs.js +1 -1
  83. package/core/RenderTexture.cjs.js +1 -1
  84. package/core/Resize.cjs.js +1 -1
  85. package/core/RoundedBox.cjs.js +1 -1
  86. package/core/Sampler.cjs.js +1 -1
  87. package/core/ScreenQuad.cjs.js +1 -1
  88. package/core/ScreenSizer.cjs.js +1 -1
  89. package/core/ScreenSpace.cjs.js +1 -1
  90. package/core/Segments.cjs.js +1 -1
  91. package/core/Shadow.cjs.js +1 -1
  92. package/core/ShadowAlpha.cjs.js +1 -1
  93. package/core/ShadowAlpha.js +0 -1
  94. package/core/Sky.cjs.js +1 -1
  95. package/core/Sparkles.cjs.js +1 -1
  96. package/core/Splat.cjs.js +1 -1
  97. package/core/SpotLight.cjs.js +1 -1
  98. package/core/SpriteAnimator.cjs.js +1 -1
  99. package/core/Stage.cjs.js +1 -1
  100. package/core/Stars.cjs.js +1 -1
  101. package/core/Stats.cjs.js +1 -1
  102. package/core/StatsGl.cjs.js +1 -1
  103. package/core/Svg.cjs.js +1 -1
  104. package/core/Text.cjs.js +1 -1
  105. package/core/Text3D.cjs.js +1 -1
  106. package/core/Texture.cjs.js +1 -1
  107. package/core/TrackballControls.cjs.js +1 -1
  108. package/core/Trail.cjs.js +1 -1
  109. package/core/TrailTexture.cjs.js +1 -1
  110. package/core/TransformControls.cjs.js +1 -1
  111. package/core/VideoTexture.cjs.js +1 -1
  112. package/core/Wireframe.cjs.js +1 -1
  113. package/core/calculateScaleFactor.cjs.js +1 -1
  114. package/core/index.cjs.js +1 -1
  115. package/core/index.js +4 -4
  116. package/core/meshBounds.cjs.js +1 -1
  117. package/core/shaderMaterial.cjs.js +1 -1
  118. package/core/shapes.cjs.js +1 -1
  119. package/core/softShadows.cjs.js +1 -1
  120. package/core/softShadows.js +0 -1
  121. package/core/useAnimations.cjs.js +1 -1
  122. package/core/useAspect.cjs.js +1 -1
  123. package/core/useBoxProjectedEnv.cjs.js +1 -1
  124. package/core/useCamera.cjs.js +1 -1
  125. package/core/useContextBridge.cjs.js +1 -1
  126. package/core/useDepthBuffer.cjs.js +1 -1
  127. package/core/useEnvironment.cjs.js +1 -1
  128. package/core/useFont.cjs.js +1 -1
  129. package/core/useIntersect.cjs.js +1 -1
  130. package/core/useSpriteLoader.cjs.js +1 -1
  131. package/helpers/constants.cjs.js +1 -1
  132. package/helpers/deprecated.cjs.js +1 -1
  133. package/helpers/environment-assets.cjs.js +1 -1
  134. package/helpers/useEffectfulState.cjs.js +1 -1
  135. package/helpers/useEffectfulState.js +3 -1
  136. package/index.cjs.js +1 -1
  137. package/materials/BlurPass.cjs.js +1 -1
  138. package/materials/ConvolutionMaterial.cjs.js +1 -1
  139. package/materials/DiscardMaterial.cjs.js +1 -1
  140. package/materials/MeshReflectorMaterial.cjs.js +1 -1
  141. package/materials/MeshRefractionMaterial.cjs.js +1 -1
  142. package/materials/MeshRefractionMaterial.js +0 -2
  143. package/materials/SpotLightMaterial.cjs.js +1 -1
  144. package/materials/WireframeMaterial.cjs.js +1 -1
  145. package/native/index.cjs.js +1 -1
  146. package/native/index.js +4 -4
  147. package/package.json +3 -3
  148. package/web/CycleRaycast.cjs.js +1 -1
  149. package/web/DragControls.cjs.js +1 -1
  150. package/web/FaceControls.cjs.js +1 -1
  151. package/web/FaceLandmarker.cjs.js +1 -1
  152. package/web/Facemesh.cjs.js +1 -1
  153. package/web/Html.cjs.js +1 -1
  154. package/web/KeyboardControls.cjs.js +1 -1
  155. package/web/Loader.cjs.js +1 -1
  156. package/web/PresentationControls.cjs.js +1 -1
  157. package/web/ScrollControls.cjs.js +1 -1
  158. package/web/Select.cjs.js +1 -1
  159. package/web/View.cjs.js +1 -1
  160. package/web/index.cjs.js +1 -1
  161. package/web/index.js +6 -6
  162. package/web/pivotControls/AxisArrow.cjs.js +1 -1
  163. package/web/pivotControls/AxisRotator.cjs.js +1 -1
  164. package/web/pivotControls/PlaneSlider.cjs.js +1 -1
  165. package/web/pivotControls/ScalingSphere.cjs.js +1 -1
  166. package/web/pivotControls/context.cjs.js +1 -1
  167. package/web/pivotControls/index.cjs.js +1 -1
  168. package/web/useCursor.cjs.js +1 -1
@@ -1 +1 @@
1
- "use strict";var e=require("react"),r=require("three"),t=require("@react-three/fiber");function n(e){var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var c=n(e);exports.useCamera=function(e,n){const a=t.useThree((e=>e.pointer)),[u]=c.useState((()=>{const c=new r.Raycaster;return n&&t.applyProps(c,n,{}),function(t,n){c.setFromCamera(a,e instanceof r.Camera?e:e.current);const u=this.constructor.prototype.raycast.bind(this);u&&u(c,n)}}));return u};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("three"),t=require("@react-three/fiber");function n(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var c=n(e);exports.useCamera=function(e,n){const u=t.useThree((e=>e.pointer)),[a]=c.useState((()=>{const c=new r.Raycaster;return n&&t.applyProps(c,n,{}),function(t,n){c.setFromCamera(u,e instanceof r.Camera?e:e.current);const a=this.constructor.prototype.raycast.bind(this);a&&a(c,n)}}));return a};
@@ -1 +1 @@
1
- "use strict";function e(e){var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var r=e(require("react"));exports.useContextBridge=function(...e){const t=r.useRef([]);return t.current=e.map((e=>r.useContext(e))),r.useMemo((()=>({children:n})=>e.reduceRight(((e,n,c)=>r.createElement(n.Provider,{value:t.current[c],children:e})),n)),[])};
1
+ "use strict";function e(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}Object.defineProperty(exports,"__esModule",{value:!0});var r=e(require("react"));exports.useContextBridge=function(...e){const t=r.useRef([]);return t.current=e.map((e=>r.useContext(e))),r.useMemo((()=>({children:n})=>e.reduceRight(((e,n,u)=>r.createElement(n.Provider,{value:t.current[u],children:e})),n)),[])};
@@ -1 +1 @@
1
- "use strict";var e=require("three"),r=require("react"),t=require("@react-three/fiber"),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
+ "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 +1 @@
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;
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 +1 @@
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
+ "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 +1 @@
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
+ "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 +1 @@
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
+ "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 +1 @@
1
- "use strict";var e=require("three");const r=(()=>parseInt(e.REVISION.replace(/\D+/g,"")))();exports.version=r;
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 +1 @@
1
- "use strict";exports.LinearEncoding=3e3,exports.sRGBEncoding=3001,exports.setUpdateRange=(e,n)=>{"updateRanges"in e?e.updateRanges[0]=n:e.updateRange=n};
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 +1 @@
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
+ "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 +1 @@
1
- "use strict";function e(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var t=e(require("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
+ "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,13 +1,15 @@
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;
4
5
  }
5
6
  function useEffectfulState(fn, deps = [], cb) {
6
7
  const [state, set] = React.useState();
7
8
  React.useLayoutEffect(() => {
8
9
  const value = fn();
9
10
  set(value);
10
- return () => call();
11
+ call(cb, value);
12
+ return () => call(cb, null);
11
13
  }, deps);
12
14
  return state;
13
15
  }