@react-three/drei 9.96.4 → 9.97.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 (183) hide show
  1. package/README.md +82 -9
  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/CameraControls.cjs.js +1 -1
  13. package/core/CameraControls.d.ts +2 -2
  14. package/core/CameraShake.cjs.js +1 -1
  15. package/core/CatmullRomLine.cjs.js +1 -1
  16. package/core/Caustics.cjs.js +1 -1
  17. package/core/Center.cjs.js +1 -1
  18. package/core/Clone.cjs.js +1 -1
  19. package/core/Cloud.cjs.js +1 -1
  20. package/core/ComputedAttribute.cjs.js +1 -1
  21. package/core/ContactShadows.cjs.js +1 -1
  22. package/core/CubeCamera.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/DeviceOrientationControls.cjs.js +1 -1
  28. package/core/Edges.cjs.js +1 -1
  29. package/core/Effects.cjs.js +1 -1
  30. package/core/Environment.cjs.js +1 -1
  31. package/core/Example.cjs.js +1 -1
  32. package/core/FirstPersonControls.cjs.js +1 -1
  33. package/core/Fisheye.cjs.js +1 -1
  34. package/core/Float.cjs.js +1 -1
  35. package/core/FlyControls.cjs.js +1 -1
  36. package/core/GizmoHelper.cjs.js +1 -1
  37. package/core/GizmoViewcube.cjs.js +1 -1
  38. package/core/GizmoViewport.cjs.js +1 -1
  39. package/core/Gltf.cjs.js +1 -1
  40. package/core/GradientTexture.cjs.js +1 -1
  41. package/core/Grid.cjs.js +1 -1
  42. package/core/Hud.cjs.js +1 -1
  43. package/core/Image.cjs.js +1 -1
  44. package/core/Instances.cjs.js +1 -1
  45. package/core/Lightformer.cjs.js +1 -1
  46. package/core/Line.cjs.js +1 -1
  47. package/core/MapControls.cjs.js +1 -1
  48. package/core/MarchingCubes.cjs.js +1 -1
  49. package/core/Mask.cjs.js +1 -1
  50. package/core/MeshDiscardMaterial.cjs.js +1 -1
  51. package/core/MeshDistortMaterial.cjs.js +1 -1
  52. package/core/MeshPortalMaterial.cjs.js +1 -1
  53. package/core/MeshReflectorMaterial.cjs.js +1 -1
  54. package/core/MeshRefractionMaterial.cjs.js +1 -1
  55. package/core/MeshTransmissionMaterial.cjs.js +1 -1
  56. package/core/MeshTransmissionMaterial.d.ts +2 -2
  57. package/core/MeshWobbleMaterial.cjs.js +1 -1
  58. package/core/MotionPathControls.cjs.js +1 -1
  59. package/core/OrbitControls.cjs.js +1 -1
  60. package/core/OrthographicCamera.cjs.js +1 -1
  61. package/core/Outlines.cjs.js +1 -1
  62. package/core/PerformanceMonitor.cjs.js +1 -1
  63. package/core/PerspectiveCamera.cjs.js +1 -1
  64. package/core/PointMaterial.cjs.js +1 -1
  65. package/core/PointerLockControls.cjs.js +1 -1
  66. package/core/Points.cjs.js +1 -1
  67. package/core/PositionalAudio.cjs.js +1 -1
  68. package/core/Preload.cjs.js +1 -1
  69. package/core/QuadraticBezierLine.cjs.js +1 -1
  70. package/core/Reflector.cjs.js +1 -1
  71. package/core/RenderCubeTexture.cjs.js +1 -1
  72. package/core/RenderTexture.cjs.js +1 -1
  73. package/core/Resize.cjs.js +1 -1
  74. package/core/RoundedBox.cjs.js +1 -1
  75. package/core/Sampler.cjs.js +1 -1
  76. package/core/ScreenQuad.cjs.js +1 -1
  77. package/core/ScreenSizer.cjs.js +1 -0
  78. package/core/ScreenSizer.d.ts +7 -0
  79. package/core/ScreenSizer.js +39 -0
  80. package/core/ScreenSpace.cjs.js +1 -1
  81. package/core/Segments.cjs.js +1 -1
  82. package/core/Shadow.cjs.js +1 -1
  83. package/core/ShadowAlpha.cjs.js +1 -1
  84. package/core/ShadowAlpha.js +0 -1
  85. package/core/Sky.cjs.js +1 -1
  86. package/core/Sparkles.cjs.js +1 -1
  87. package/core/Splat.cjs.js +1 -1
  88. package/core/SpotLight.cjs.js +1 -1
  89. package/core/SpriteAnimator.cjs.js +1 -1
  90. package/core/SpriteAnimator.d.ts +2 -1
  91. package/core/SpriteAnimator.js +34 -123
  92. package/core/Stage.cjs.js +1 -1
  93. package/core/Stars.cjs.js +1 -1
  94. package/core/Stats.cjs.js +1 -1
  95. package/core/StatsGl.cjs.js +1 -1
  96. package/core/Svg.cjs.js +1 -1
  97. package/core/Text.cjs.js +1 -1
  98. package/core/Text3D.cjs.js +1 -1
  99. package/core/TrackballControls.cjs.js +1 -1
  100. package/core/Trail.cjs.js +1 -1
  101. package/core/TransformControls.cjs.js +1 -1
  102. package/core/Wireframe.cjs.js +1 -1
  103. package/core/calculateScaleFactor.cjs.js +1 -0
  104. package/core/calculateScaleFactor.d.ts +3 -0
  105. package/core/calculateScaleFactor.js +31 -0
  106. package/core/index.cjs.js +1 -1
  107. package/core/index.d.ts +3 -0
  108. package/core/index.js +153 -0
  109. package/core/meshBounds.cjs.js +1 -1
  110. package/core/shaderMaterial.cjs.js +1 -1
  111. package/core/shapes.cjs.js +1 -1
  112. package/core/softShadows.cjs.js +1 -1
  113. package/core/softShadows.js +0 -1
  114. package/core/useAnimations.cjs.js +1 -1
  115. package/core/useAspect.cjs.js +1 -1
  116. package/core/useBVH.cjs.js +1 -1
  117. package/core/useBoxProjectedEnv.cjs.js +1 -1
  118. package/core/useCamera.cjs.js +1 -1
  119. package/core/useContextBridge.cjs.js +1 -1
  120. package/core/useCubeCamera.cjs.js +1 -1
  121. package/core/useCubeTexture.cjs.js +1 -1
  122. package/core/useDepthBuffer.cjs.js +1 -1
  123. package/core/useDetectGPU.cjs.js +1 -1
  124. package/core/useEnvironment.cjs.js +1 -1
  125. package/core/useFBO.cjs.js +1 -1
  126. package/core/useFBX.cjs.js +1 -1
  127. package/core/useFont.cjs.js +1 -1
  128. package/core/useGLTF.cjs.js +1 -1
  129. package/core/useHelper.cjs.js +1 -1
  130. package/core/useIntersect.cjs.js +1 -1
  131. package/core/useKTX2.cjs.js +1 -1
  132. package/core/useMatcapTexture.cjs.js +1 -1
  133. package/core/useNormalTexture.cjs.js +1 -1
  134. package/core/useProgress.cjs.js +1 -1
  135. package/core/useSpriteLoader.cjs.js +1 -0
  136. package/core/useSpriteLoader.d.ts +9 -0
  137. package/core/useSpriteLoader.js +215 -0
  138. package/core/useTexture.cjs.js +1 -1
  139. package/core/useTrailTexture.cjs.js +1 -1
  140. package/core/useVideoTexture.cjs.js +1 -1
  141. package/helpers/constants.cjs.js +1 -1
  142. package/helpers/deprecated.cjs.js +1 -1
  143. package/helpers/environment-assets.cjs.js +1 -1
  144. package/helpers/glsl/DefaultSpotlightShadowShadows.glsl.js +3 -1
  145. package/helpers/glsl/distort.vert.glsl.js +3 -1
  146. package/helpers/ts-utils.js +1 -0
  147. package/helpers/useEffectfulState.cjs.js +1 -1
  148. package/index.cjs.js +1 -1
  149. package/index.js +4 -2
  150. package/materials/BlurPass.cjs.js +1 -1
  151. package/materials/ConvolutionMaterial.cjs.js +1 -1
  152. package/materials/DiscardMaterial.cjs.js +1 -1
  153. package/materials/MeshReflectorMaterial.cjs.js +1 -1
  154. package/materials/MeshRefractionMaterial.cjs.js +1 -1
  155. package/materials/MeshRefractionMaterial.js +0 -2
  156. package/materials/SpotLightMaterial.cjs.js +1 -1
  157. package/materials/WireframeMaterial.cjs.js +1 -1
  158. package/native/index.cjs.js +1 -1
  159. package/native/index.js +153 -0
  160. package/package.json +1 -1
  161. package/react-three-drei-0.0.0-semantic-release.tgz +0 -0
  162. package/web/CycleRaycast.cjs.js +1 -1
  163. package/web/FaceControls.cjs.js +1 -1
  164. package/web/FaceLandmarker.cjs.js +1 -1
  165. package/web/Facemesh.cjs.js +1 -1
  166. package/web/Html.cjs.js +1 -1
  167. package/web/KeyboardControls.cjs.js +1 -1
  168. package/web/Loader.cjs.js +1 -1
  169. package/web/PresentationControls.cjs.js +1 -1
  170. package/web/ScrollControls.cjs.js +1 -1
  171. package/web/Select.cjs.js +1 -1
  172. package/web/View.cjs.js +1 -2
  173. package/web/View.js +0 -1
  174. package/web/index.cjs.js +1 -1
  175. package/web/index.js +176 -0
  176. package/web/pivotControls/AxisArrow.cjs.js +1 -1
  177. package/web/pivotControls/AxisRotator.cjs.js +1 -1
  178. package/web/pivotControls/PlaneSlider.cjs.js +1 -1
  179. package/web/pivotControls/context.cjs.js +1 -1
  180. package/web/pivotControls/index.cjs.js +1 -1
  181. package/web/pivotControls/index.d.ts +2 -4
  182. package/web/pivotControls/index.js +5 -31
  183. package/web/useCursor.cjs.js +1 -1
@@ -1 +1 @@
1
- "use strict";var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("three"),n=require("@react-three/fiber"),o=require("../materials/WireframeMaterial.cjs.js");function i(e){var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}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
+ "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)};
@@ -0,0 +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};
@@ -0,0 +1,3 @@
1
+ import { Size } from '@react-three/fiber';
2
+ import * as THREE from 'three';
3
+ export declare const calculateScaleFactor: (point3: THREE.Vector3, radiusPx: number, camera: THREE.Camera, size: Size) => number;
@@ -0,0 +1,31 @@
1
+ import * as THREE from 'three';
2
+
3
+ const tV0 = /* @__PURE__ */new THREE.Vector3();
4
+ const tV1 = /* @__PURE__ */new THREE.Vector3();
5
+ const tV2 = /* @__PURE__ */new THREE.Vector3();
6
+ const getPoint2 = (point3, camera, size) => {
7
+ const widthHalf = size.width / 2;
8
+ const heightHalf = size.height / 2;
9
+ camera.updateMatrixWorld(false);
10
+ const vector = point3.project(camera);
11
+ vector.x = vector.x * widthHalf + widthHalf;
12
+ vector.y = -(vector.y * heightHalf) + heightHalf;
13
+ return vector;
14
+ };
15
+ const getPoint3 = (point2, camera, size, zValue = 1) => {
16
+ const vector = tV0.set(point2.x / size.width * 2 - 1, -(point2.y / size.height) * 2 + 1, zValue);
17
+ vector.unproject(camera);
18
+ return vector;
19
+ };
20
+ const calculateScaleFactor = (point3, radiusPx, camera, size) => {
21
+ const point2 = getPoint2(tV2.copy(point3), camera, size);
22
+ let scale = 0;
23
+ for (let i = 0; i < 2; ++i) {
24
+ const point2off = tV1.copy(point2).setComponent(i, point2.getComponent(i) + radiusPx);
25
+ const point3off = getPoint3(point2off, camera, size, point2off.z);
26
+ scale = Math.max(scale, point3.distanceTo(point3off));
27
+ }
28
+ return scale;
29
+ };
30
+
31
+ export { calculateScaleFactor };
package/core/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("./Billboard.cjs.js"),r=require("./ScreenSpace.cjs.js"),s=require("./QuadraticBezierLine.cjs.js"),t=require("./CubicBezierLine.cjs.js"),o=require("./CatmullRomLine.cjs.js"),i=require("./Line.cjs.js"),a=require("./PositionalAudio.cjs.js"),u=require("./Text.cjs.js"),n=require("./Text3D.cjs.js"),p=require("./Effects.cjs.js"),c=require("./GradientTexture.cjs.js"),j=require("./Image.cjs.js"),x=require("./Edges.cjs.js"),l=require("./Outlines.cjs.js"),d=require("./Trail.cjs.js"),q=require("./Sampler.cjs.js"),C=require("./ComputedAttribute.cjs.js"),m=require("./Clone.cjs.js"),h=require("./MarchingCubes.cjs.js"),S=require("./Decal.cjs.js"),M=require("./Svg.cjs.js"),T=require("./Gltf.cjs.js"),P=require("./AsciiRenderer.cjs.js"),b=require("./Splat.cjs.js"),B=require("./OrthographicCamera.cjs.js"),g=require("./PerspectiveCamera.cjs.js"),f=require("./CubeCamera.cjs.js"),v=require("./DeviceOrientationControls.cjs.js"),A=require("./FlyControls.cjs.js"),G=require("./MapControls.cjs.js"),L=require("./OrbitControls.cjs.js"),R=require("./TrackballControls.cjs.js"),D=require("./ArcballControls.cjs.js"),E=require("./TransformControls.cjs.js"),k=require("./PointerLockControls.cjs.js"),w=require("./FirstPersonControls.cjs.js"),F=require("./CameraControls.cjs.js"),z=require("./MotionPathControls.cjs.js"),O=require("./GizmoHelper.cjs.js"),I=require("./GizmoViewcube.cjs.js"),y=require("./GizmoViewport.cjs.js"),H=require("./Grid.cjs.js"),V=require("./useCubeTexture.cjs.js"),W=require("./useFBX.cjs.js"),Q=require("./useGLTF.cjs.js"),X=require("./useKTX2.cjs.js"),K=require("./useProgress.cjs.js"),N=require("./useTexture.cjs.js"),U=require("./useVideoTexture.cjs.js"),J=require("./useFont.cjs.js"),Y=require("./Stats.cjs.js"),Z=require("./StatsGl.cjs.js"),$=require("./useDepthBuffer.cjs.js"),_=require("./useAspect.cjs.js"),ee=require("./useCamera.cjs.js"),re=require("./useDetectGPU.cjs.js"),se=require("./useHelper.cjs.js"),te=require("./useBVH.cjs.js"),oe=require("./useContextBridge.cjs.js"),ie=require("./useAnimations.cjs.js"),ae=require("./useFBO.cjs.js"),ue=require("./useIntersect.cjs.js"),ne=require("./useBoxProjectedEnv.cjs.js"),pe=require("./BBAnchor.cjs.js"),ce=require("./useTrailTexture.cjs.js"),je=require("./useCubeCamera.cjs.js"),xe=require("./Example.cjs.js"),le=require("./SpriteAnimator.cjs.js"),de=require("./CurveModifier.cjs.js"),qe=require("./MeshDistortMaterial.cjs.js"),Ce=require("./MeshWobbleMaterial.cjs.js"),me=require("./MeshReflectorMaterial.cjs.js"),he=require("./MeshRefractionMaterial.cjs.js"),Se=require("./MeshTransmissionMaterial.cjs.js"),Me=require("./MeshDiscardMaterial.cjs.js"),Te=require("./PointMaterial.cjs.js"),Pe=require("./shaderMaterial.cjs.js"),be=require("./softShadows.cjs.js"),Be=require("./shapes.cjs.js"),ge=require("./RoundedBox.cjs.js"),fe=require("./ScreenQuad.cjs.js"),ve=require("./Center.cjs.js"),Ae=require("./Resize.cjs.js"),Ge=require("./Bounds.cjs.js"),Le=require("./CameraShake.cjs.js"),Re=require("./Float.cjs.js"),De=require("./Stage.cjs.js"),Ee=require("./Backdrop.cjs.js"),ke=require("./Shadow.cjs.js"),we=require("./Caustics.cjs.js"),Fe=require("./ContactShadows.cjs.js"),ze=require("./AccumulativeShadows.cjs.js"),Oe=require("./Reflector.cjs.js"),Ie=require("./SpotLight.cjs.js"),ye=require("./Environment.cjs.js"),He=require("./Lightformer.cjs.js"),Ve=require("./Sky.cjs.js"),We=require("./Stars.cjs.js"),Qe=require("./Cloud.cjs.js"),Xe=require("./Sparkles.cjs.js"),Ke=require("./useEnvironment.cjs.js"),Ne=require("./useMatcapTexture.cjs.js"),Ue=require("./useNormalTexture.cjs.js"),Je=require("./Wireframe.cjs.js"),Ye=require("./ShadowAlpha.cjs.js"),Ze=require("./Points.cjs.js"),$e=require("./Instances.cjs.js"),_e=require("./Segments.cjs.js"),er=require("./Detailed.cjs.js"),rr=require("./Preload.cjs.js"),sr=require("./BakeShadows.cjs.js"),tr=require("./meshBounds.cjs.js"),or=require("./AdaptiveDpr.cjs.js"),ir=require("./AdaptiveEvents.cjs.js"),ar=require("./PerformanceMonitor.cjs.js"),ur=require("./RenderTexture.cjs.js"),nr=require("./RenderCubeTexture.cjs.js"),pr=require("./Mask.cjs.js"),cr=require("./Hud.cjs.js"),jr=require("./Fisheye.cjs.js"),xr=require("./MeshPortalMaterial.cjs.js");exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=t.CubicBezierLine,exports.CatmullRomLine=o.CatmullRomLine,exports.Line=i.Line,exports.PositionalAudio=a.PositionalAudio,exports.Text=u.Text,exports.Text3D=n.Text3D,exports.Effects=p.Effects,exports.isWebGL2Available=p.isWebGL2Available,exports.GradientTexture=c.GradientTexture,exports.GradientType=c.GradientType,exports.Image=j.Image,exports.Edges=x.Edges,exports.Outlines=l.Outlines,exports.Trail=d.Trail,exports.useTrail=d.useTrail,exports.Sampler=q.Sampler,exports.useSurfaceSampler=q.useSurfaceSampler,exports.ComputedAttribute=C.ComputedAttribute,exports.Clone=m.Clone,exports.MarchingCube=h.MarchingCube,exports.MarchingCubes=h.MarchingCubes,exports.MarchingPlane=h.MarchingPlane,exports.Decal=S.Decal,exports.Svg=M.Svg,exports.Gltf=T.Gltf,exports.AsciiRenderer=P.AsciiRenderer,exports.Splat=b.Splat,exports.OrthographicCamera=B.OrthographicCamera,exports.PerspectiveCamera=g.PerspectiveCamera,exports.CubeCamera=f.CubeCamera,exports.DeviceOrientationControls=v.DeviceOrientationControls,exports.FlyControls=A.FlyControls,exports.MapControls=G.MapControls,exports.OrbitControls=L.OrbitControls,exports.TrackballControls=R.TrackballControls,exports.ArcballControls=D.ArcballControls,exports.TransformControls=E.TransformControls,exports.PointerLockControls=k.PointerLockControls,exports.FirstPersonControls=w.FirstPersonControls,exports.CameraControls=F.CameraControls,exports.MotionPathControls=z.MotionPathControls,exports.useMotion=z.useMotion,exports.GizmoHelper=O.GizmoHelper,exports.useGizmoContext=O.useGizmoContext,exports.GizmoViewcube=I.GizmoViewcube,exports.GizmoViewport=y.GizmoViewport,exports.Grid=H.Grid,exports.useCubeTexture=V.useCubeTexture,exports.useFBX=W.useFBX,exports.useGLTF=Q.useGLTF,exports.useKTX2=X.useKTX2,exports.useProgress=K.useProgress,exports.IsObject=N.IsObject,exports.useTexture=N.useTexture,exports.useVideoTexture=U.useVideoTexture,exports.useFont=J.useFont,exports.Stats=Y.Stats,exports.StatsGl=Z.StatsGl,exports.useDepthBuffer=$.useDepthBuffer,exports.useAspect=_.useAspect,exports.useCamera=ee.useCamera,exports.useDetectGPU=re.useDetectGPU,exports.useHelper=se.useHelper,exports.Bvh=te.Bvh,exports.useBVH=te.useBVH,exports.useContextBridge=oe.useContextBridge,exports.useAnimations=ie.useAnimations,exports.useFBO=ae.useFBO,exports.useIntersect=ue.useIntersect,exports.useBoxProjectedEnv=ne.useBoxProjectedEnv,exports.BBAnchor=pe.BBAnchor,exports.useTrailTexture=ce.useTrailTexture,exports.useCubeCamera=je.useCubeCamera,exports.Example=xe.Example,exports.SpriteAnimator=le.SpriteAnimator,exports.useSpriteAnimator=le.useSpriteAnimator,exports.CurveModifier=de.CurveModifier,exports.MeshDistortMaterial=qe.MeshDistortMaterial,exports.MeshWobbleMaterial=Ce.MeshWobbleMaterial,exports.MeshReflectorMaterial=me.MeshReflectorMaterial,exports.MeshRefractionMaterial=he.MeshRefractionMaterial,exports.MeshTransmissionMaterial=Se.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Me.MeshDiscardMaterial,exports.PointMaterial=Te.PointMaterial,exports.PointMaterialImpl=Te.PointMaterialImpl,exports.shaderMaterial=Pe.shaderMaterial,exports.SoftShadows=be.SoftShadows,exports.Box=Be.Box,exports.Capsule=Be.Capsule,exports.Circle=Be.Circle,exports.Cone=Be.Cone,exports.Cylinder=Be.Cylinder,exports.Dodecahedron=Be.Dodecahedron,exports.Extrude=Be.Extrude,exports.Icosahedron=Be.Icosahedron,exports.Lathe=Be.Lathe,exports.Octahedron=Be.Octahedron,exports.Plane=Be.Plane,exports.Polyhedron=Be.Polyhedron,exports.Ring=Be.Ring,exports.Shape=Be.Shape,exports.Sphere=Be.Sphere,exports.Tetrahedron=Be.Tetrahedron,exports.Torus=Be.Torus,exports.TorusKnot=Be.TorusKnot,exports.Tube=Be.Tube,exports.RoundedBox=ge.RoundedBox,exports.ScreenQuad=fe.ScreenQuad,exports.Center=ve.Center,exports.Resize=Ae.Resize,exports.Bounds=Ge.Bounds,exports.useBounds=Ge.useBounds,exports.CameraShake=Le.CameraShake,exports.Float=Re.Float,exports.Stage=De.Stage,exports.Backdrop=Ee.Backdrop,exports.Shadow=ke.Shadow,exports.Caustics=we.Caustics,exports.ContactShadows=Fe.ContactShadows,exports.AccumulativeShadows=ze.AccumulativeShadows,exports.RandomizedLight=ze.RandomizedLight,exports.accumulativeContext=ze.accumulativeContext,exports.Reflector=Oe.Reflector,exports.SpotLight=Ie.SpotLight,exports.SpotLightShadow=Ie.SpotLightShadow,exports.Environment=ye.Environment,exports.EnvironmentCube=ye.EnvironmentCube,exports.EnvironmentMap=ye.EnvironmentMap,exports.EnvironmentPortal=ye.EnvironmentPortal,exports.Lightformer=He.Lightformer,exports.Sky=Ve.Sky,exports.calcPosFromAngles=Ve.calcPosFromAngles,exports.Stars=We.Stars,exports.Cloud=Qe.Cloud,exports.CloudInstance=Qe.CloudInstance,exports.Clouds=Qe.Clouds,exports.Sparkles=Xe.Sparkles,exports.useEnvironment=Ke.useEnvironment,exports.useMatcapTexture=Ne.useMatcapTexture,exports.useNormalTexture=Ue.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.Instances=$e.Instances,exports.Merged=$e.Merged,exports.Segment=_e.Segment,exports.SegmentObject=_e.SegmentObject,exports.Segments=_e.Segments,exports.Detailed=er.Detailed,exports.Preload=rr.Preload,exports.BakeShadows=sr.BakeShadows,exports.meshBounds=tr.meshBounds,exports.AdaptiveDpr=or.AdaptiveDpr,exports.AdaptiveEvents=ir.AdaptiveEvents,exports.PerformanceMonitor=ar.PerformanceMonitor,exports.usePerformanceMonitor=ar.usePerformanceMonitor,exports.RenderTexture=ur.RenderTexture,exports.RenderCubeTexture=nr.RenderCubeTexture,exports.Mask=pr.Mask,exports.useMask=pr.useMask,exports.Hud=cr.Hud,exports.Fisheye=jr.Fisheye,exports.MeshPortalMaterial=xr.MeshPortalMaterial;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Billboard.cjs.js"),r=require("./ScreenSpace.cjs.js"),s=require("./ScreenSizer.cjs.js"),t=require("./QuadraticBezierLine.cjs.js"),o=require("./CubicBezierLine.cjs.js"),i=require("./CatmullRomLine.cjs.js"),a=require("./Line.cjs.js"),u=require("./PositionalAudio.cjs.js"),c=require("./Text.cjs.js"),n=require("./Text3D.cjs.js"),j=require("./Effects.cjs.js"),p=require("./GradientTexture.cjs.js"),l=require("./Image.cjs.js"),x=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"),S=require("./MarchingCubes.cjs.js"),M=require("./Decal.cjs.js"),T=require("./Svg.cjs.js"),P=require("./Gltf.cjs.js"),b=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"),L=require("./FlyControls.cjs.js"),R=require("./MapControls.cjs.js"),G=require("./OrbitControls.cjs.js"),F=require("./TrackballControls.cjs.js"),D=require("./ArcballControls.cjs.js"),E=require("./TransformControls.cjs.js"),k=require("./PointerLockControls.cjs.js"),w=require("./FirstPersonControls.cjs.js"),z=require("./CameraControls.cjs.js"),O=require("./MotionPathControls.cjs.js"),I=require("./GizmoHelper.cjs.js"),y=require("./GizmoViewcube.cjs.js"),H=require("./GizmoViewport.cjs.js"),V=require("./Grid.cjs.js"),W=require("./useCubeTexture.cjs.js"),Q=require("./useFBX.cjs.js"),X=require("./useGLTF.cjs.js"),K=require("./useKTX2.cjs.js"),N=require("./useProgress.cjs.js"),U=require("./useTexture.cjs.js"),_=require("./useVideoTexture.cjs.js"),J=require("./useFont.cjs.js"),Y=require("./useSpriteLoader.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("./useDetectGPU.cjs.js"),oe=require("./useHelper.cjs.js"),ie=require("./useBVH.cjs.js"),ae=require("./useContextBridge.cjs.js"),ue=require("./useAnimations.cjs.js"),ce=require("./useFBO.cjs.js"),ne=require("./useIntersect.cjs.js"),je=require("./useBoxProjectedEnv.cjs.js"),pe=require("./BBAnchor.cjs.js"),le=require("./useTrailTexture.cjs.js"),xe=require("./useCubeCamera.cjs.js"),qe=require("./Example.cjs.js"),de=require("./SpriteAnimator.cjs.js"),me=require("./CurveModifier.cjs.js"),he=require("./MeshDistortMaterial.cjs.js"),Ce=require("./MeshWobbleMaterial.cjs.js"),Se=require("./MeshReflectorMaterial.cjs.js"),Me=require("./MeshRefractionMaterial.cjs.js"),Te=require("./MeshTransmissionMaterial.cjs.js"),Pe=require("./MeshDiscardMaterial.cjs.js"),be=require("./PointMaterial.cjs.js"),fe=require("./shaderMaterial.cjs.js"),ge=require("./softShadows.cjs.js"),Be=require("./shapes.cjs.js"),ve=require("./RoundedBox.cjs.js"),Ae=require("./ScreenQuad.cjs.js"),Le=require("./Center.cjs.js"),Re=require("./Resize.cjs.js"),Ge=require("./Bounds.cjs.js"),Fe=require("./CameraShake.cjs.js"),De=require("./Float.cjs.js"),Ee=require("./Stage.cjs.js"),ke=require("./Backdrop.cjs.js"),we=require("./Shadow.cjs.js"),ze=require("./Caustics.cjs.js"),Oe=require("./ContactShadows.cjs.js"),Ie=require("./AccumulativeShadows.cjs.js"),ye=require("./Reflector.cjs.js"),He=require("./SpotLight.cjs.js"),Ve=require("./Environment.cjs.js"),We=require("./Lightformer.cjs.js"),Qe=require("./Sky.cjs.js"),Xe=require("./Stars.cjs.js"),Ke=require("./Cloud.cjs.js"),Ne=require("./Sparkles.cjs.js"),Ue=require("./useEnvironment.cjs.js"),_e=require("./useMatcapTexture.cjs.js"),Je=require("./useNormalTexture.cjs.js"),Ye=require("./Wireframe.cjs.js"),Ze=require("./ShadowAlpha.cjs.js"),$e=require("./Points.cjs.js"),er=require("./Instances.cjs.js"),rr=require("./Segments.cjs.js"),sr=require("./Detailed.cjs.js"),tr=require("./Preload.cjs.js"),or=require("./BakeShadows.cjs.js"),ir=require("./meshBounds.cjs.js"),ar=require("./AdaptiveDpr.cjs.js"),ur=require("./AdaptiveEvents.cjs.js"),cr=require("./PerformanceMonitor.cjs.js"),nr=require("./RenderTexture.cjs.js"),jr=require("./RenderCubeTexture.cjs.js"),pr=require("./Mask.cjs.js"),lr=require("./Hud.cjs.js"),xr=require("./Fisheye.cjs.js"),qr=require("./MeshPortalMaterial.cjs.js"),dr=require("./calculateScaleFactor.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("three"),require("@react-three/fiber"),require("react-merge-refs"),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("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("../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=n.Text3D,exports.Effects=j.Effects,exports.isWebGL2Available=j.isWebGL2Available,exports.GradientTexture=p.GradientTexture,exports.GradientType=p.GradientType,exports.Image=l.Image,exports.Edges=x.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=S.MarchingCube,exports.MarchingCubes=S.MarchingCubes,exports.MarchingPlane=S.MarchingPlane,exports.Decal=M.Decal,exports.Svg=T.Svg,exports.Gltf=P.Gltf,exports.AsciiRenderer=b.AsciiRenderer,exports.Splat=f.Splat,exports.OrthographicCamera=g.OrthographicCamera,exports.PerspectiveCamera=B.PerspectiveCamera,exports.CubeCamera=v.CubeCamera,exports.DeviceOrientationControls=A.DeviceOrientationControls,exports.FlyControls=L.FlyControls,exports.MapControls=R.MapControls,exports.OrbitControls=G.OrbitControls,exports.TrackballControls=F.TrackballControls,exports.ArcballControls=D.ArcballControls,exports.TransformControls=E.TransformControls,exports.PointerLockControls=k.PointerLockControls,exports.FirstPersonControls=w.FirstPersonControls,exports.CameraControls=z.CameraControls,exports.MotionPathControls=O.MotionPathControls,exports.useMotion=O.useMotion,exports.GizmoHelper=I.GizmoHelper,exports.useGizmoContext=I.useGizmoContext,exports.GizmoViewcube=y.GizmoViewcube,exports.GizmoViewport=H.GizmoViewport,exports.Grid=V.Grid,exports.useCubeTexture=W.useCubeTexture,exports.useFBX=Q.useFBX,exports.useGLTF=X.useGLTF,exports.useKTX2=K.useKTX2,exports.useProgress=N.useProgress,exports.IsObject=U.IsObject,exports.useTexture=U.useTexture,exports.useVideoTexture=_.useVideoTexture,exports.useFont=J.useFont,exports.calculateAspectRatio=Y.calculateAspectRatio,exports.getFirstItem=Y.getFirstItem,exports.useSpriteLoader=Y.useSpriteLoader,exports.Stats=Z.Stats,exports.StatsGl=$.StatsGl,exports.useDepthBuffer=ee.useDepthBuffer,exports.useAspect=re.useAspect,exports.useCamera=se.useCamera,exports.useDetectGPU=te.useDetectGPU,exports.useHelper=oe.useHelper,exports.Bvh=ie.Bvh,exports.useBVH=ie.useBVH,exports.useContextBridge=ae.useContextBridge,exports.useAnimations=ue.useAnimations,exports.useFBO=ce.useFBO,exports.useIntersect=ne.useIntersect,exports.useBoxProjectedEnv=je.useBoxProjectedEnv,exports.BBAnchor=pe.BBAnchor,exports.useTrailTexture=le.useTrailTexture,exports.useCubeCamera=xe.useCubeCamera,exports.Example=qe.Example,exports.SpriteAnimator=de.SpriteAnimator,exports.useSpriteAnimator=de.useSpriteAnimator,exports.CurveModifier=me.CurveModifier,exports.MeshDistortMaterial=he.MeshDistortMaterial,exports.MeshWobbleMaterial=Ce.MeshWobbleMaterial,exports.MeshReflectorMaterial=Se.MeshReflectorMaterial,exports.MeshRefractionMaterial=Me.MeshRefractionMaterial,exports.MeshTransmissionMaterial=Te.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Pe.MeshDiscardMaterial,exports.PointMaterial=be.PointMaterial,exports.PointMaterialImpl=be.PointMaterialImpl,exports.shaderMaterial=fe.shaderMaterial,exports.SoftShadows=ge.SoftShadows,exports.Box=Be.Box,exports.Capsule=Be.Capsule,exports.Circle=Be.Circle,exports.Cone=Be.Cone,exports.Cylinder=Be.Cylinder,exports.Dodecahedron=Be.Dodecahedron,exports.Extrude=Be.Extrude,exports.Icosahedron=Be.Icosahedron,exports.Lathe=Be.Lathe,exports.Octahedron=Be.Octahedron,exports.Plane=Be.Plane,exports.Polyhedron=Be.Polyhedron,exports.Ring=Be.Ring,exports.Shape=Be.Shape,exports.Sphere=Be.Sphere,exports.Tetrahedron=Be.Tetrahedron,exports.Torus=Be.Torus,exports.TorusKnot=Be.TorusKnot,exports.Tube=Be.Tube,exports.RoundedBox=ve.RoundedBox,exports.ScreenQuad=Ae.ScreenQuad,exports.Center=Le.Center,exports.Resize=Re.Resize,exports.Bounds=Ge.Bounds,exports.useBounds=Ge.useBounds,exports.CameraShake=Fe.CameraShake,exports.Float=De.Float,exports.Stage=Ee.Stage,exports.Backdrop=ke.Backdrop,exports.Shadow=we.Shadow,exports.Caustics=ze.Caustics,exports.ContactShadows=Oe.ContactShadows,exports.AccumulativeShadows=Ie.AccumulativeShadows,exports.RandomizedLight=Ie.RandomizedLight,exports.accumulativeContext=Ie.accumulativeContext,exports.Reflector=ye.Reflector,exports.SpotLight=He.SpotLight,exports.SpotLightShadow=He.SpotLightShadow,exports.Environment=Ve.Environment,exports.EnvironmentCube=Ve.EnvironmentCube,exports.EnvironmentMap=Ve.EnvironmentMap,exports.EnvironmentPortal=Ve.EnvironmentPortal,exports.Lightformer=We.Lightformer,exports.Sky=Qe.Sky,exports.calcPosFromAngles=Qe.calcPosFromAngles,exports.Stars=Xe.Stars,exports.Cloud=Ke.Cloud,exports.CloudInstance=Ke.CloudInstance,exports.Clouds=Ke.Clouds,exports.Sparkles=Ne.Sparkles,exports.useEnvironment=Ue.useEnvironment,exports.useMatcapTexture=_e.useMatcapTexture,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=er.Instance,exports.Instances=er.Instances,exports.Merged=er.Merged,exports.Segment=rr.Segment,exports.SegmentObject=rr.SegmentObject,exports.Segments=rr.Segments,exports.Detailed=sr.Detailed,exports.Preload=tr.Preload,exports.BakeShadows=or.BakeShadows,exports.meshBounds=ir.meshBounds,exports.AdaptiveDpr=ar.AdaptiveDpr,exports.AdaptiveEvents=ur.AdaptiveEvents,exports.PerformanceMonitor=cr.PerformanceMonitor,exports.usePerformanceMonitor=cr.usePerformanceMonitor,exports.RenderTexture=nr.RenderTexture,exports.RenderCubeTexture=jr.RenderCubeTexture,exports.Mask=pr.Mask,exports.useMask=pr.useMask,exports.Hud=lr.Hud,exports.Fisheye=xr.Fisheye,exports.MeshPortalMaterial=qr.MeshPortalMaterial,exports.calculateScaleFactor=dr.calculateScaleFactor;
package/core/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './Billboard';
2
2
  export * from './ScreenSpace';
3
+ export * from './ScreenSizer';
3
4
  export * from './QuadraticBezierLine';
4
5
  export * from './CubicBezierLine';
5
6
  export * from './CatmullRomLine';
@@ -48,6 +49,7 @@ export * from './useProgress';
48
49
  export * from './useTexture';
49
50
  export * from './useVideoTexture';
50
51
  export * from './useFont';
52
+ export * from './useSpriteLoader';
51
53
  export * from './Stats';
52
54
  export * from './StatsGl';
53
55
  export * from './useDepthBuffer';
@@ -119,3 +121,4 @@ export * from './Mask';
119
121
  export * from './Hud';
120
122
  export * from './Fisheye';
121
123
  export * from './MeshPortalMaterial';
124
+ export * from './calculateScaleFactor';
package/core/index.js ADDED
@@ -0,0 +1,153 @@
1
+ export { Billboard } from './Billboard.js';
2
+ export { ScreenSpace } from './ScreenSpace.js';
3
+ export { ScreenSizer } from './ScreenSizer.js';
4
+ export { QuadraticBezierLine } from './QuadraticBezierLine.js';
5
+ export { CubicBezierLine } from './CubicBezierLine.js';
6
+ export { CatmullRomLine } from './CatmullRomLine.js';
7
+ export { Line } from './Line.js';
8
+ export { PositionalAudio } from './PositionalAudio.js';
9
+ export { Text } from './Text.js';
10
+ export { Text3D } from './Text3D.js';
11
+ export { Effects, isWebGL2Available } from './Effects.js';
12
+ export { GradientTexture, GradientType } from './GradientTexture.js';
13
+ export { Image } from './Image.js';
14
+ export { Edges } from './Edges.js';
15
+ export { Outlines } from './Outlines.js';
16
+ export { Trail, useTrail } from './Trail.js';
17
+ export { Sampler, useSurfaceSampler } from './Sampler.js';
18
+ export { ComputedAttribute } from './ComputedAttribute.js';
19
+ export { Clone } from './Clone.js';
20
+ export { MarchingCube, MarchingCubes, MarchingPlane } from './MarchingCubes.js';
21
+ export { Decal } from './Decal.js';
22
+ export { Svg } from './Svg.js';
23
+ export { Gltf } from './Gltf.js';
24
+ export { AsciiRenderer } from './AsciiRenderer.js';
25
+ export { Splat } from './Splat.js';
26
+ export { OrthographicCamera } from './OrthographicCamera.js';
27
+ export { PerspectiveCamera } from './PerspectiveCamera.js';
28
+ export { CubeCamera } from './CubeCamera.js';
29
+ export { DeviceOrientationControls } from './DeviceOrientationControls.js';
30
+ export { FlyControls } from './FlyControls.js';
31
+ export { MapControls } from './MapControls.js';
32
+ export { OrbitControls } from './OrbitControls.js';
33
+ export { TrackballControls } from './TrackballControls.js';
34
+ export { ArcballControls } from './ArcballControls.js';
35
+ export { TransformControls } from './TransformControls.js';
36
+ export { PointerLockControls } from './PointerLockControls.js';
37
+ export { FirstPersonControls } from './FirstPersonControls.js';
38
+ export { CameraControls } from './CameraControls.js';
39
+ export { MotionPathControls, useMotion } from './MotionPathControls.js';
40
+ export { GizmoHelper, useGizmoContext } from './GizmoHelper.js';
41
+ export { GizmoViewcube } from './GizmoViewcube.js';
42
+ export { GizmoViewport } from './GizmoViewport.js';
43
+ export { Grid } from './Grid.js';
44
+ export { useCubeTexture } from './useCubeTexture.js';
45
+ export { useFBX } from './useFBX.js';
46
+ export { useGLTF } from './useGLTF.js';
47
+ export { useKTX2 } from './useKTX2.js';
48
+ export { useProgress } from './useProgress.js';
49
+ export { IsObject, useTexture } from './useTexture.js';
50
+ export { useVideoTexture } from './useVideoTexture.js';
51
+ export { useFont } from './useFont.js';
52
+ export { calculateAspectRatio, getFirstItem, useSpriteLoader } from './useSpriteLoader.js';
53
+ export { Stats } from './Stats.js';
54
+ export { StatsGl } from './StatsGl.js';
55
+ export { useDepthBuffer } from './useDepthBuffer.js';
56
+ export { useAspect } from './useAspect.js';
57
+ export { useCamera } from './useCamera.js';
58
+ export { useDetectGPU } from './useDetectGPU.js';
59
+ export { useHelper } from './useHelper.js';
60
+ export { Bvh, useBVH } from './useBVH.js';
61
+ export { useContextBridge } from './useContextBridge.js';
62
+ export { useAnimations } from './useAnimations.js';
63
+ export { useFBO } from './useFBO.js';
64
+ export { useIntersect } from './useIntersect.js';
65
+ export { useBoxProjectedEnv } from './useBoxProjectedEnv.js';
66
+ export { BBAnchor } from './BBAnchor.js';
67
+ export { useTrailTexture } from './useTrailTexture.js';
68
+ export { useCubeCamera } from './useCubeCamera.js';
69
+ export { Example } from './Example.js';
70
+ export { SpriteAnimator, useSpriteAnimator } from './SpriteAnimator.js';
71
+ export { CurveModifier } from './CurveModifier.js';
72
+ export { MeshDistortMaterial } from './MeshDistortMaterial.js';
73
+ export { MeshWobbleMaterial } from './MeshWobbleMaterial.js';
74
+ export { MeshReflectorMaterial } from './MeshReflectorMaterial.js';
75
+ export { MeshRefractionMaterial } from './MeshRefractionMaterial.js';
76
+ export { MeshTransmissionMaterial } from './MeshTransmissionMaterial.js';
77
+ export { MeshDiscardMaterial } from './MeshDiscardMaterial.js';
78
+ export { PointMaterial, PointMaterialImpl } from './PointMaterial.js';
79
+ export { shaderMaterial } from './shaderMaterial.js';
80
+ export { SoftShadows } from './softShadows.js';
81
+ export { Box, Capsule, Circle, Cone, Cylinder, Dodecahedron, Extrude, Icosahedron, Lathe, Octahedron, Plane, Polyhedron, Ring, Shape, Sphere, Tetrahedron, Torus, TorusKnot, Tube } from './shapes.js';
82
+ export { RoundedBox } from './RoundedBox.js';
83
+ export { ScreenQuad } from './ScreenQuad.js';
84
+ export { Center } from './Center.js';
85
+ export { Resize } from './Resize.js';
86
+ export { Bounds, useBounds } from './Bounds.js';
87
+ export { CameraShake } from './CameraShake.js';
88
+ export { Float } from './Float.js';
89
+ export { Stage } from './Stage.js';
90
+ export { Backdrop } from './Backdrop.js';
91
+ export { Shadow } from './Shadow.js';
92
+ export { Caustics } from './Caustics.js';
93
+ export { ContactShadows } from './ContactShadows.js';
94
+ export { AccumulativeShadows, RandomizedLight, accumulativeContext } from './AccumulativeShadows.js';
95
+ export { Reflector } from './Reflector.js';
96
+ export { SpotLight, SpotLightShadow } from './SpotLight.js';
97
+ export { Environment, EnvironmentCube, EnvironmentMap, EnvironmentPortal } from './Environment.js';
98
+ export { Lightformer } from './Lightformer.js';
99
+ export { Sky, calcPosFromAngles } from './Sky.js';
100
+ export { Stars } from './Stars.js';
101
+ export { Cloud, CloudInstance, Clouds } from './Cloud.js';
102
+ export { Sparkles } from './Sparkles.js';
103
+ export { useEnvironment } from './useEnvironment.js';
104
+ export { useMatcapTexture } from './useMatcapTexture.js';
105
+ export { useNormalTexture } from './useNormalTexture.js';
106
+ export { Wireframe } from './Wireframe.js';
107
+ export { ShadowAlpha } from './ShadowAlpha.js';
108
+ export { Point, Points, PointsBuffer, PositionPoint } from './Points.js';
109
+ export { Instance, Instances, Merged } from './Instances.js';
110
+ export { Segment, SegmentObject, Segments } from './Segments.js';
111
+ export { Detailed } from './Detailed.js';
112
+ export { Preload } from './Preload.js';
113
+ export { BakeShadows } from './BakeShadows.js';
114
+ export { meshBounds } from './meshBounds.js';
115
+ export { AdaptiveDpr } from './AdaptiveDpr.js';
116
+ export { AdaptiveEvents } from './AdaptiveEvents.js';
117
+ export { PerformanceMonitor, usePerformanceMonitor } from './PerformanceMonitor.js';
118
+ export { RenderTexture } from './RenderTexture.js';
119
+ export { RenderCubeTexture } from './RenderCubeTexture.js';
120
+ export { Mask, useMask } from './Mask.js';
121
+ export { Hud } from './Hud.js';
122
+ export { Fisheye } from './Fisheye.js';
123
+ export { MeshPortalMaterial } from './MeshPortalMaterial.js';
124
+ export { calculateScaleFactor } from './calculateScaleFactor.js';
125
+ import '@babel/runtime/helpers/esm/extends';
126
+ import 'react';
127
+ import 'three';
128
+ import '@react-three/fiber';
129
+ import 'react-merge-refs';
130
+ import 'three-stdlib';
131
+ import 'troika-three-text';
132
+ import 'suspend-react';
133
+ import '../helpers/constants.js';
134
+ import 'meshline';
135
+ import 'camera-controls';
136
+ import 'maath';
137
+ import 'zustand';
138
+ import 'stats.js';
139
+ import '../helpers/useEffectfulState.js';
140
+ import 'stats-gl';
141
+ import 'detect-gpu';
142
+ import 'three-mesh-bvh';
143
+ import 'react-composer';
144
+ import '../helpers/deprecated.js';
145
+ import '../materials/BlurPass.js';
146
+ import '../materials/ConvolutionMaterial.js';
147
+ import '../materials/MeshReflectorMaterial.js';
148
+ import '../materials/MeshRefractionMaterial.js';
149
+ import '../materials/DiscardMaterial.js';
150
+ import '../helpers/environment-assets.js';
151
+ import '../materials/SpotLightMaterial.js';
152
+ import 'uuid';
153
+ import '../materials/WireframeMaterial.js';
@@ -1 +1 @@
1
- "use strict";var e=require("three");const n=new e.Matrix4,t=new e.Ray,i=new e.Sphere,o=new e.Vector3;exports.meshBounds=function(e,r){const s=this.geometry,p=this.material,a=this.matrixWorld;void 0!==p&&(null===s.boundingSphere&&s.computeBoundingSphere(),i.copy(s.boundingSphere),i.applyMatrix4(a),!1!==e.ray.intersectsSphere(i)&&(n.copy(a).invert(),t.copy(e.ray).applyMatrix4(n),null!==s.boundingBox&&null===t.intersectBox(s.boundingBox,o)||r.push({distance:o.distanceTo(e.ray.origin),point:o.clone(),object:this})))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");const n=new e.Matrix4,t=new e.Ray,o=new e.Sphere,r=new e.Vector3;exports.meshBounds=function(e,i){const s=this.geometry,p=this.material,a=this.matrixWorld;void 0!==p&&(null===s.boundingSphere&&s.computeBoundingSphere(),o.copy(s.boundingSphere),o.applyMatrix4(a),!1!==e.ray.intersectsSphere(o)&&(n.copy(a).invert(),t.copy(e.ray).applyMatrix4(n),null!==s.boundingBox&&null===t.intersectBox(s.boundingBox,r)||i.push({distance:r.distanceTo(e.ray.origin),point:r.clone(),object:this})))};
@@ -1 +1 @@
1
- "use strict";function e(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var t=e(require("three"));exports.shaderMaterial=function(e,r,n,s){const i=class extends t.ShaderMaterial{constructor(i={}){const a=Object.entries(e);super({uniforms:a.reduce(((e,[r,n])=>({...e,...t.UniformsUtils.clone({[r]:{value:n}})})),{}),vertexShader:r,fragmentShader:n}),this.key="",a.forEach((([e])=>Object.defineProperty(this,e,{get:()=>this.uniforms[e].value,set:t=>this.uniforms[e].value=t}))),Object.assign(this,i),s&&s(this)}};return i.key=t.MathUtils.generateUUID(),i};
1
+ "use strict";function e(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("three"));exports.shaderMaterial=function(e,r,s,n){const i=class extends t.ShaderMaterial{constructor(i={}){const a=Object.entries(e);super({uniforms:a.reduce(((e,[r,s])=>({...e,...t.UniformsUtils.clone({[r]:{value:s}})})),{}),vertexShader:r,fragmentShader:s}),this.key="",a.forEach((([e])=>Object.defineProperty(this,e,{get:()=>this.uniforms[e].value,set:t=>this.uniforms[e].value=t}))),Object.assign(this,i),n&&n(this)}};return i.key=t.MathUtils.generateUUID(),i};
@@ -1 +1 @@
1
- "use strict";var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three");function o(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var n=o(t),s=o(r);function u(t,r){const o=t+"Geometry";return n.forwardRef((({args:t,children:s,...u},c)=>{const a=n.useRef(null);return n.useImperativeHandle(c,(()=>a.current)),n.useLayoutEffect((()=>{null==r||r(a.current)})),n.createElement("mesh",e({ref:a},u),n.createElement(o,{attach:"geometry",args:t}),s)}))}const c=u("box"),a=u("circle"),p=u("cone"),i=u("cylinder"),l=u("sphere"),x=u("plane"),d=u("tube"),h=u("torus"),f=u("torusKnot"),b=u("tetrahedron"),y=u("ring"),g=u("polyhedron"),m=u("icosahedron"),O=u("octahedron"),v=u("dodecahedron"),j=u("extrude"),w=u("lathe"),E=u("capsule"),B=u("shape",(({geometry:e})=>{const t=e.attributes.position,r=(new s.Box3).setFromBufferAttribute(t),o=new s.Vector3;r.getSize(o);const n=[];let u=0,c=0,a=0,p=0;for(let e=0;e<t.count;e++)u=t.getX(e),c=t.getY(e),a=(u-r.min.x)/o.x,p=(c-r.min.y)/o.y,n.push(a,p);e.setAttribute("uv",new s.Float32BufferAttribute(n,2))}));exports.Box=c,exports.Capsule=E,exports.Circle=a,exports.Cone=p,exports.Cylinder=i,exports.Dodecahedron=v,exports.Extrude=j,exports.Icosahedron=m,exports.Lathe=w,exports.Octahedron=O,exports.Plane=x,exports.Polyhedron=g,exports.Ring=y,exports.Shape=B,exports.Sphere=l,exports.Tetrahedron=b,exports.Torus=h,exports.TorusKnot=f,exports.Tube=d;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var s=o(e),u=n(t),a=n(r);function c(e,t){const r=e+"Geometry";return u.forwardRef((({args:e,children:o,...n},a)=>{const c=u.useRef(null);return u.useImperativeHandle(a,(()=>c.current)),u.useLayoutEffect((()=>{null==t||t(c.current)})),u.createElement("mesh",s.default({ref:c},n),u.createElement(r,{attach:"geometry",args:e}),o)}))}const p=c("box"),l=c("circle"),i=c("cone"),d=c("cylinder"),f=c("sphere"),x=c("plane"),h=c("tube"),b=c("torus"),y=c("torusKnot"),g=c("tetrahedron"),m=c("ring"),O=c("polyhedron"),j=c("icosahedron"),v=c("octahedron"),w=c("dodecahedron"),E=c("extrude"),P=c("lathe"),B=c("capsule"),C=c("shape",(({geometry:e})=>{const t=e.attributes.position,r=(new a.Box3).setFromBufferAttribute(t),o=new a.Vector3;r.getSize(o);const n=[];let s=0,u=0,c=0,p=0;for(let e=0;e<t.count;e++)s=t.getX(e),u=t.getY(e),c=(s-r.min.x)/o.x,p=(u-r.min.y)/o.y,n.push(c,p);e.setAttribute("uv",new a.Float32BufferAttribute(n,2))}));exports.Box=p,exports.Capsule=B,exports.Circle=l,exports.Cone=i,exports.Cylinder=d,exports.Dodecahedron=w,exports.Extrude=E,exports.Icosahedron=j,exports.Lathe=P,exports.Octahedron=v,exports.Plane=x,exports.Polyhedron=O,exports.Ring=m,exports.Shape=C,exports.Sphere=f,exports.Tetrahedron=g,exports.Torus=b,exports.TorusKnot=y,exports.Tube=h;
@@ -1 +1 @@
1
- "use strict";var e=require("react"),n=require("three"),a=require("@react-three/fiber");function t(e){var n=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var t=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(n,a,t.get?t:{enumerable:!0,get:function(){return e[a]}})}})),n.default=e,Object.freeze(n)}var r=t(e),o=t(n);function l(e,n,a){n.traverse((n=>{n.material&&(e.properties.remove(n.material),null==n.material.dispose||n.material.dispose())})),e.info.programs.length=0,e.compile(n,a)}exports.SoftShadows=function({focus:e=0,samples:n=10,size:t=25}){const s=a.useThree((e=>e.gl)),i=a.useThree((e=>e.scene)),c=a.useThree((e=>e.camera));return r.useEffect((()=>{const a=o.ShaderChunk.shadowmap_pars_fragment;return o.ShaderChunk.shadowmap_pars_fragment=o.ShaderChunk.shadowmap_pars_fragment.replace("#ifdef USE_SHADOWMAP","#ifdef USE_SHADOWMAP\n"+(({focus:e=0,size:n=25,samples:a=10}={})=>`\n#define PENUMBRA_FILTER_SIZE float(${n})\n#define RGB_NOISE_FUNCTION(uv) (randRGB(uv))\nvec3 randRGB(vec2 uv) {\n return vec3(\n fract(sin(dot(uv, vec2(12.75613, 38.12123))) * 13234.76575),\n fract(sin(dot(uv, vec2(19.45531, 58.46547))) * 43678.23431),\n fract(sin(dot(uv, vec2(23.67817, 78.23121))) * 93567.23423)\n );\n}\n\nvec3 lowPassRandRGB(vec2 uv) {\n // 3x3 convolution (average)\n // can be implemented as separable with an extra buffer for a total of 6 samples instead of 9\n vec3 result = vec3(0);\n result += RGB_NOISE_FUNCTION(uv + vec2(-1.0, -1.0));\n result += RGB_NOISE_FUNCTION(uv + vec2(-1.0, 0.0));\n result += RGB_NOISE_FUNCTION(uv + vec2(-1.0, +1.0));\n result += RGB_NOISE_FUNCTION(uv + vec2( 0.0, -1.0));\n result += RGB_NOISE_FUNCTION(uv + vec2( 0.0, 0.0));\n result += RGB_NOISE_FUNCTION(uv + vec2( 0.0, +1.0));\n result += RGB_NOISE_FUNCTION(uv + vec2(+1.0, -1.0));\n result += RGB_NOISE_FUNCTION(uv + vec2(+1.0, 0.0));\n result += RGB_NOISE_FUNCTION(uv + vec2(+1.0, +1.0));\n result *= 0.111111111; // 1.0 / 9.0\n return result;\n}\nvec3 highPassRandRGB(vec2 uv) {\n // by subtracting the low-pass signal from the original signal, we're being left with the high-pass signal\n // hp(x) = x - lp(x)\n return RGB_NOISE_FUNCTION(uv) - lowPassRandRGB(uv) + 0.5;\n}\n\n\nvec2 vogelDiskSample(int sampleIndex, int sampleCount, float angle) {\n const float goldenAngle = 2.399963f; // radians\n float r = sqrt(float(sampleIndex) + 0.5f) / sqrt(float(sampleCount));\n float theta = float(sampleIndex) * goldenAngle + angle;\n float sine = sin(theta);\n float cosine = cos(theta);\n return vec2(cosine, sine) * r;\n}\nfloat penumbraSize( const in float zReceiver, const in float zBlocker ) { // Parallel plane estimation\n return (zReceiver - zBlocker) / zBlocker;\n}\nfloat findBlocker(sampler2D shadowMap, vec2 uv, float compare, float angle) {\n float texelSize = 1.0 / float(textureSize(shadowMap, 0).x);\n float blockerDepthSum = float(${e});\n float blockers = 0.0;\n\n int j = 0;\n vec2 offset = vec2(0.);\n float depth = 0.;\n\n #pragma unroll_loop_start\n for(int i = 0; i < ${a}; i ++) {\n offset = (vogelDiskSample(j, ${a}, angle) * texelSize) * 2.0 * PENUMBRA_FILTER_SIZE;\n depth = unpackRGBAToDepth( texture2D( shadowMap, uv + offset));\n if (depth < compare) {\n blockerDepthSum += depth;\n blockers++;\n }\n j++;\n }\n #pragma unroll_loop_end\n\n if (blockers > 0.0) {\n return blockerDepthSum / blockers;\n }\n return -1.0;\n}\n\n \nfloat vogelFilter(sampler2D shadowMap, vec2 uv, float zReceiver, float filterRadius, float angle) {\n float texelSize = 1.0 / float(textureSize(shadowMap, 0).x);\n float shadow = 0.0f;\n int j = 0;\n vec2 vogelSample = vec2(0.0);\n vec2 offset = vec2(0.0);\n #pragma unroll_loop_start\n for (int i = 0; i < ${a}; i++) {\n vogelSample = vogelDiskSample(j, ${a}, angle) * texelSize;\n offset = vogelSample * (1.0 + filterRadius * float(${n}));\n shadow += step( zReceiver, unpackRGBAToDepth( texture2D( shadowMap, uv + offset ) ) );\n j++;\n }\n #pragma unroll_loop_end\n return shadow * 1.0 / ${a}.0;\n}\n\nfloat PCSS (sampler2D shadowMap, vec4 coords) {\n vec2 uv = coords.xy;\n float zReceiver = coords.z; // Assumed to be eye-space z in this code\n float angle = highPassRandRGB(gl_FragCoord.xy).r * PI2;\n float avgBlockerDepth = findBlocker(shadowMap, uv, zReceiver, angle);\n if (avgBlockerDepth == -1.0) {\n return 1.0;\n }\n float penumbraRatio = penumbraSize(zReceiver, avgBlockerDepth);\n return vogelFilter(shadowMap, uv, zReceiver, 1.25 * penumbraRatio, angle);\n}`)({size:t,samples:n,focus:e})).replace("#if defined( SHADOWMAP_TYPE_PCF )","\nreturn PCSS(shadowMap, shadowCoord);\n#if defined( SHADOWMAP_TYPE_PCF )"),l(s,i,c),()=>{o.ShaderChunk.shadowmap_pars_fragment=a,l(s,i,c)}}),[e,t,n]),null};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),n=require("three"),a=require("@react-three/fiber");function t(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var t=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(n,a,t.get?t:{enumerable:!0,get:function(){return e[a]}})}})),n.default=e,Object.freeze(n)}var r=t(e),o=t(n);function l(e,n,a){n.traverse((n=>{n.material&&(e.properties.remove(n.material),null==n.material.dispose||n.material.dispose())})),e.info.programs.length=0,e.compile(n,a)}exports.SoftShadows=function({focus:e=0,samples:n=10,size:t=25}){const s=a.useThree((e=>e.gl)),i=a.useThree((e=>e.scene)),u=a.useThree((e=>e.camera));return r.useEffect((()=>{const a=o.ShaderChunk.shadowmap_pars_fragment;return o.ShaderChunk.shadowmap_pars_fragment=o.ShaderChunk.shadowmap_pars_fragment.replace("#ifdef USE_SHADOWMAP","#ifdef USE_SHADOWMAP\n"+(({focus:e=0,size:n=25,samples:a=10}={})=>`\n#define PENUMBRA_FILTER_SIZE float(${n})\n#define RGB_NOISE_FUNCTION(uv) (randRGB(uv))\nvec3 randRGB(vec2 uv) {\n return vec3(\n fract(sin(dot(uv, vec2(12.75613, 38.12123))) * 13234.76575),\n fract(sin(dot(uv, vec2(19.45531, 58.46547))) * 43678.23431),\n fract(sin(dot(uv, vec2(23.67817, 78.23121))) * 93567.23423)\n );\n}\n\nvec3 lowPassRandRGB(vec2 uv) {\n // 3x3 convolution (average)\n // can be implemented as separable with an extra buffer for a total of 6 samples instead of 9\n vec3 result = vec3(0);\n result += RGB_NOISE_FUNCTION(uv + vec2(-1.0, -1.0));\n result += RGB_NOISE_FUNCTION(uv + vec2(-1.0, 0.0));\n result += RGB_NOISE_FUNCTION(uv + vec2(-1.0, +1.0));\n result += RGB_NOISE_FUNCTION(uv + vec2( 0.0, -1.0));\n result += RGB_NOISE_FUNCTION(uv + vec2( 0.0, 0.0));\n result += RGB_NOISE_FUNCTION(uv + vec2( 0.0, +1.0));\n result += RGB_NOISE_FUNCTION(uv + vec2(+1.0, -1.0));\n result += RGB_NOISE_FUNCTION(uv + vec2(+1.0, 0.0));\n result += RGB_NOISE_FUNCTION(uv + vec2(+1.0, +1.0));\n result *= 0.111111111; // 1.0 / 9.0\n return result;\n}\nvec3 highPassRandRGB(vec2 uv) {\n // by subtracting the low-pass signal from the original signal, we're being left with the high-pass signal\n // hp(x) = x - lp(x)\n return RGB_NOISE_FUNCTION(uv) - lowPassRandRGB(uv) + 0.5;\n}\n\n\nvec2 vogelDiskSample(int sampleIndex, int sampleCount, float angle) {\n const float goldenAngle = 2.399963f; // radians\n float r = sqrt(float(sampleIndex) + 0.5f) / sqrt(float(sampleCount));\n float theta = float(sampleIndex) * goldenAngle + angle;\n float sine = sin(theta);\n float cosine = cos(theta);\n return vec2(cosine, sine) * r;\n}\nfloat penumbraSize( const in float zReceiver, const in float zBlocker ) { // Parallel plane estimation\n return (zReceiver - zBlocker) / zBlocker;\n}\nfloat findBlocker(sampler2D shadowMap, vec2 uv, float compare, float angle) {\n float texelSize = 1.0 / float(textureSize(shadowMap, 0).x);\n float blockerDepthSum = float(${e});\n float blockers = 0.0;\n\n int j = 0;\n vec2 offset = vec2(0.);\n float depth = 0.;\n\n #pragma unroll_loop_start\n for(int i = 0; i < ${a}; i ++) {\n offset = (vogelDiskSample(j, ${a}, angle) * texelSize) * 2.0 * PENUMBRA_FILTER_SIZE;\n depth = unpackRGBAToDepth( texture2D( shadowMap, uv + offset));\n if (depth < compare) {\n blockerDepthSum += depth;\n blockers++;\n }\n j++;\n }\n #pragma unroll_loop_end\n\n if (blockers > 0.0) {\n return blockerDepthSum / blockers;\n }\n return -1.0;\n}\n\n \nfloat vogelFilter(sampler2D shadowMap, vec2 uv, float zReceiver, float filterRadius, float angle) {\n float texelSize = 1.0 / float(textureSize(shadowMap, 0).x);\n float shadow = 0.0f;\n int j = 0;\n vec2 vogelSample = vec2(0.0);\n vec2 offset = vec2(0.0);\n #pragma unroll_loop_start\n for (int i = 0; i < ${a}; i++) {\n vogelSample = vogelDiskSample(j, ${a}, angle) * texelSize;\n offset = vogelSample * (1.0 + filterRadius * float(${n}));\n shadow += step( zReceiver, unpackRGBAToDepth( texture2D( shadowMap, uv + offset ) ) );\n j++;\n }\n #pragma unroll_loop_end\n return shadow * 1.0 / ${a}.0;\n}\n\nfloat PCSS (sampler2D shadowMap, vec4 coords) {\n vec2 uv = coords.xy;\n float zReceiver = coords.z; // Assumed to be eye-space z in this code\n float angle = highPassRandRGB(gl_FragCoord.xy).r * PI2;\n float avgBlockerDepth = findBlocker(shadowMap, uv, zReceiver, angle);\n if (avgBlockerDepth == -1.0) {\n return 1.0;\n }\n float penumbraRatio = penumbraSize(zReceiver, avgBlockerDepth);\n return vogelFilter(shadowMap, uv, zReceiver, 1.25 * penumbraRatio, angle);\n}`)({size:t,samples:n,focus:e})).replace("#if defined( SHADOWMAP_TYPE_PCF )","\nreturn PCSS(shadowMap, shadowCoord);\n#if defined( SHADOWMAP_TYPE_PCF )"),l(s,i,u),()=>{o.ShaderChunk.shadowmap_pars_fragment=a,l(s,i,u)}}),[e,t,n]),null};
@@ -16,7 +16,6 @@ import { useThree } from '@react-three/fiber';
16
16
  High-Frequency Noise Implementation:
17
17
  https://www.shadertoy.com/view/tt3fDH [spawner64]
18
18
  */
19
-
20
19
  const pcss = ({
21
20
  focus = 0,
22
21
  size = 25,
@@ -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.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};
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 +1 @@
1
- "use strict";var e=require("@react-three/fiber");exports.useAspect=function(t,r,i=1){const s=e.useThree((e=>e.viewport)),h=r*(s.aspect>t/r?s.width/t:s.height/r);return[t*(s.aspect>t/r?s.width/t:s.height/r)*i,h*i,1]};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@react-three/fiber");exports.useAspect=function(t,r,s=1){const i=e.useThree((e=>e.viewport)),c=r*(i.aspect>t/r?i.width/t:i.height/r);return[t*(i.aspect>t/r?i.width/t:i.height/r)*s,c*s,1]};
@@ -1 +1 @@
1
- "use strict";var e=require("@babel/runtime/helpers/extends"),r=require("@react-three/fiber"),t=require("react"),s=require("three"),o=require("three-mesh-bvh");function n(e){var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var s=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,s.get?s:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var u=n(t);const a=e=>e.isMesh;const c=u.forwardRef((({enabled:t=!0,firstHitOnly:n=!1,children:c,strategy:i=o.SAH,verbose:d=!1,setBoundingBox:f=!0,maxDepth:y=40,maxLeafTris:p=10,indirect:m=!1,...B},l)=>{const T=u.useRef(null),g=r.useThree((e=>e.raycaster));return u.useImperativeHandle(l,(()=>T.current),[]),u.useEffect((()=>{if(t){const e={strategy:i,verbose:d,setBoundingBox:f,maxDepth:y,maxLeafTris:p,indirect:m},r=T.current;return g.firstHitOnly=n,r.traverse((r=>{a(r)&&!r.geometry.boundsTree&&r.raycast===s.Mesh.prototype.raycast&&(r.raycast=o.acceleratedRaycast,r.geometry.computeBoundsTree=o.computeBoundsTree,r.geometry.disposeBoundsTree=o.disposeBoundsTree,r.geometry.computeBoundsTree(e))})),()=>{delete g.firstHitOnly,r.traverse((e=>{a(e)&&e.geometry.boundsTree&&(e.geometry.disposeBoundsTree(),e.raycast=s.Mesh.prototype.raycast)}))}}}),[]),u.createElement("group",e({ref:T},B),c)}));exports.Bvh=c,exports.useBVH=function(e,r){r={strategy:o.SAH,verbose:!1,setBoundingBox:!0,maxDepth:40,maxLeafTris:10,indirect:!1,...r},u.useEffect((()=>{if(e.current){e.current.raycast=o.acceleratedRaycast;const t=e.current.geometry;return t.computeBoundsTree=o.computeBoundsTree,t.disposeBoundsTree=o.disposeBoundsTree,t.computeBoundsTree(r),()=>{t.boundsTree&&t.disposeBoundsTree()}}}),[e,JSON.stringify(r)])};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("@react-three/fiber"),t=require("react"),s=require("three"),o=require("three-mesh-bvh");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function u(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var s=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,s.get?s:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var a=n(e),c=u(t);const i=e=>e.isMesh;const d=c.forwardRef((({enabled:e=!0,firstHitOnly:t=!1,children:n,strategy:u=o.SAH,verbose:d=!1,setBoundingBox:f=!0,maxDepth:p=40,maxLeafTris:y=10,indirect:l=!1,...m},B)=>{const b=c.useRef(null),T=r.useThree((e=>e.raycaster));return c.useImperativeHandle(B,(()=>b.current),[]),c.useEffect((()=>{if(e){const e={strategy:u,verbose:d,setBoundingBox:f,maxDepth:p,maxLeafTris:y,indirect:l},r=b.current;return T.firstHitOnly=t,r.traverse((r=>{i(r)&&!r.geometry.boundsTree&&r.raycast===s.Mesh.prototype.raycast&&(r.raycast=o.acceleratedRaycast,r.geometry.computeBoundsTree=o.computeBoundsTree,r.geometry.disposeBoundsTree=o.disposeBoundsTree,r.geometry.computeBoundsTree(e))})),()=>{delete T.firstHitOnly,r.traverse((e=>{i(e)&&e.geometry.boundsTree&&(e.geometry.disposeBoundsTree(),e.raycast=s.Mesh.prototype.raycast)}))}}}),[]),c.createElement("group",a.default({ref:b},m),n)}));exports.Bvh=d,exports.useBVH=function(e,r){r={strategy:o.SAH,verbose:!1,setBoundingBox:!0,maxDepth:40,maxLeafTris:10,indirect:!1,...r},c.useEffect((()=>{if(e.current){e.current.raycast=o.acceleratedRaycast;const t=e.current.geometry;return t.computeBoundsTree=o.computeBoundsTree,t.disposeBoundsTree=o.disposeBoundsTree,t.computeBoundsTree(r),()=>{t.boundsTree&&t.disposeBoundsTree()}}}),[e,JSON.stringify(r)])};
@@ -1 +1 @@
1
- "use strict";var e=require("three"),r=require("react"),n=require("@react-three/fiber");function i(e){var r=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}})),r.default=e,Object.freeze(r)}var o=i(e),t=i(r);const a="\n#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\n vec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\n #ifdef BOX_PROJECTED_ENV_MAP\n vWorldPosition = worldPosition.xyz;\n #endif\n#endif\n",c="\n#ifdef BOX_PROJECTED_ENV_MAP\n uniform vec3 envMapSize;\n uniform vec3 envMapPosition;\n varying vec3 vWorldPosition;\n \n vec3 parallaxCorrectNormal( vec3 v, vec3 cubeSize, vec3 cubePos ) {\n vec3 nDir = normalize( v );\n vec3 rbmax = ( .5 * cubeSize + cubePos - vWorldPosition ) / nDir;\n vec3 rbmin = ( -.5 * cubeSize + cubePos - vWorldPosition ) / nDir;\n vec3 rbminmax;\n rbminmax.x = ( nDir.x > 0. ) ? rbmax.x : rbmin.x;\n rbminmax.y = ( nDir.y > 0. ) ? rbmax.y : rbmin.y;\n rbminmax.z = ( nDir.z > 0. ) ? rbmax.z : rbmin.z;\n float correction = min( min( rbminmax.x, rbminmax.y ), rbminmax.z );\n vec3 boxIntersection = vWorldPosition + nDir * correction; \n return boxIntersection - cubePos;\n }\n#endif\n",s="\n#ifdef BOX_PROJECTED_ENV_MAP\n worldNormal = parallaxCorrectNormal( worldNormal, envMapSize, envMapPosition );\n#endif\n",f="\n#ifdef BOX_PROJECTED_ENV_MAP\n reflectVec = parallaxCorrectNormal( reflectVec, envMapSize, envMapPosition );\n#endif\n";exports.useBoxProjectedEnv=function(e=new o.Vector3,r=new o.Vector3){const[i]=t.useState((()=>({position:new o.Vector3,size:new o.Vector3})));n.applyProps(i,{position:e,size:r});const l=t.useRef(null),m=t.useMemo((()=>({ref:l,onBeforeCompile:e=>function(e,r,n){e.defines.BOX_PROJECTED_ENV_MAP=!0,e.uniforms.envMapPosition={value:r},e.uniforms.envMapSize={value:n},e.vertexShader=`\n varying vec3 vWorldPosition;\n ${e.vertexShader.replace("#include <worldpos_vertex>",a)}`,e.fragmentShader=`\n ${c}\n ${e.fragmentShader.replace("#include <envmap_physical_pars_fragment>",o.ShaderChunk.envmap_physical_pars_fragment).replace("vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );",`vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n ${s}\n `).replace("reflectVec = inverseTransformDirection( reflectVec, viewMatrix );",`reflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n ${f}\n `)}`}(e,i.position,i.size),customProgramCacheKey:()=>JSON.stringify(i.position.toArray())+JSON.stringify(i.size.toArray())})),[...i.position.toArray(),...i.size.toArray()]);return t.useLayoutEffect((()=>{l.current.needsUpdate=!0}),[i]),m};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("react"),n=require("@react-three/fiber");function i(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}})),r.default=e,Object.freeze(r)}var o=i(e),t=i(r);const a="\n#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\n vec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\n #ifdef BOX_PROJECTED_ENV_MAP\n vWorldPosition = worldPosition.xyz;\n #endif\n#endif\n",c="\n#ifdef BOX_PROJECTED_ENV_MAP\n uniform vec3 envMapSize;\n uniform vec3 envMapPosition;\n varying vec3 vWorldPosition;\n \n vec3 parallaxCorrectNormal( vec3 v, vec3 cubeSize, vec3 cubePos ) {\n vec3 nDir = normalize( v );\n vec3 rbmax = ( .5 * cubeSize + cubePos - vWorldPosition ) / nDir;\n vec3 rbmin = ( -.5 * cubeSize + cubePos - vWorldPosition ) / nDir;\n vec3 rbminmax;\n rbminmax.x = ( nDir.x > 0. ) ? rbmax.x : rbmin.x;\n rbminmax.y = ( nDir.y > 0. ) ? rbmax.y : rbmin.y;\n rbminmax.z = ( nDir.z > 0. ) ? rbmax.z : rbmin.z;\n float correction = min( min( rbminmax.x, rbminmax.y ), rbminmax.z );\n vec3 boxIntersection = vWorldPosition + nDir * correction; \n return boxIntersection - cubePos;\n }\n#endif\n",s="\n#ifdef BOX_PROJECTED_ENV_MAP\n worldNormal = parallaxCorrectNormal( worldNormal, envMapSize, envMapPosition );\n#endif\n",f="\n#ifdef BOX_PROJECTED_ENV_MAP\n reflectVec = parallaxCorrectNormal( reflectVec, envMapSize, envMapPosition );\n#endif\n";exports.useBoxProjectedEnv=function(e=new o.Vector3,r=new o.Vector3){const[i]=t.useState((()=>({position:new o.Vector3,size:new o.Vector3})));n.applyProps(i,{position:e,size:r});const l=t.useRef(null),v=t.useMemo((()=>({ref:l,onBeforeCompile:e=>function(e,r,n){e.defines.BOX_PROJECTED_ENV_MAP=!0,e.uniforms.envMapPosition={value:r},e.uniforms.envMapSize={value:n},e.vertexShader=`\n varying vec3 vWorldPosition;\n ${e.vertexShader.replace("#include <worldpos_vertex>",a)}`,e.fragmentShader=`\n ${c}\n ${e.fragmentShader.replace("#include <envmap_physical_pars_fragment>",o.ShaderChunk.envmap_physical_pars_fragment).replace("vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );",`vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n ${s}\n `).replace("reflectVec = inverseTransformDirection( reflectVec, viewMatrix );",`reflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n ${f}\n `)}`}(e,i.position,i.size),customProgramCacheKey:()=>JSON.stringify(i.position.toArray())+JSON.stringify(i.size.toArray())})),[...i.position.toArray(),...i.size.toArray()]);return t.useLayoutEffect((()=>{l.current.needsUpdate=!0}),[i]),v};
@@ -1 +1 @@
1
- "use strict";var e=require("react"),r=require("three"),t=require("@react-three/fiber");function n(e){var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var c=n(e);exports.useCamera=function(e,n){const a=t.useThree((e=>e.pointer)),[u]=c.useState((()=>{const c=new r.Raycaster;return n&&t.applyProps(c,n,{}),function(t,n){c.setFromCamera(a,e instanceof r.Camera?e:e.current);const u=this.constructor.prototype.raycast.bind(this);u&&u(c,n)}}));return u};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("three"),t=require("@react-three/fiber");function n(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var c=n(e);exports.useCamera=function(e,n){const u=t.useThree((e=>e.pointer)),[a]=c.useState((()=>{const c=new r.Raycaster;return n&&t.applyProps(c,n,{}),function(t,n){c.setFromCamera(u,e instanceof r.Camera?e:e.current);const a=this.constructor.prototype.raycast.bind(this);a&&a(c,n)}}));return a};
@@ -1 +1 @@
1
- "use strict";function e(e){var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var r=e(require("react"));exports.useContextBridge=function(...e){const t=r.useRef([]);return t.current=e.map((e=>r.useContext(e))),r.useMemo((()=>({children:n})=>e.reduceRight(((e,n,c)=>r.createElement(n.Provider,{value:t.current[c],children:e})),n)),[])};
1
+ "use strict";function e(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}Object.defineProperty(exports,"__esModule",{value:!0});var r=e(require("react"));exports.useContextBridge=function(...e){const t=r.useRef([]);return t.current=e.map((e=>r.useContext(e))),r.useMemo((()=>({children:n})=>e.reduceRight(((e,n,u)=>r.createElement(n.Provider,{value:t.current[u],children:e})),n)),[])};
@@ -1 +1 @@
1
- "use strict";var e=require("three"),r=require("react"),t=require("@react-three/fiber");function u(e){var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var u=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,u.get?u:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var a=u(e),n=u(r);exports.useCubeCamera=function({resolution:u=256,near:o=.1,far:c=1e3,envMap:f,fog:s}={}){const b=t.useThree((({gl:e})=>e)),i=t.useThree((({scene:e})=>e)),g=r.useMemo((()=>{const r=new e.WebGLCubeRenderTarget(u);return r.texture.type=e.HalfFloatType,r}),[u]);r.useEffect((()=>()=>{g.dispose()}),[g]);const l=r.useMemo((()=>new a.CubeCamera(o,c,g)),[o,c,g]);let d,p;const m=n.useCallback((()=>{d=i.fog,p=i.background,i.background=f||p,i.fog=s||d,l.update(b,i),i.fog=d,i.background=p}),[b,i,l]);return{fbo:g,camera:l,update:m}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("react"),t=require("@react-three/fiber");function u(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var u=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,u.get?u:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var n=u(e),a=u(r);exports.useCubeCamera=function({resolution:u=256,near:o=.1,far:c=1e3,envMap:s,fog:f}={}){const b=t.useThree((({gl:e})=>e)),i=t.useThree((({scene:e})=>e)),l=r.useMemo((()=>{const r=new e.WebGLCubeRenderTarget(u);return r.texture.type=e.HalfFloatType,r}),[u]);r.useEffect((()=>()=>{l.dispose()}),[l]);const d=r.useMemo((()=>new n.CubeCamera(o,c,l)),[o,c,l]);let g,p;const O=a.useCallback((()=>{g=i.fog,p=i.background,i.background=s||p,i.fog=f||g,d.update(b,i),i.fog=g,i.background=p}),[b,i,d]);return{fbo:l,camera:d,update:O}};
@@ -1 +1 @@
1
- "use strict";var e=require("three"),r=require("@react-three/fiber");function t(t,{path:u}){const[a]=r.useLoader(e.CubeTextureLoader,[t],(e=>e.setPath(u)));return a}t.preload=(t,{path:u})=>r.useLoader.preload(e.CubeTextureLoader,[t],(e=>e.setPath(u))),exports.useCubeTexture=t;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("@react-three/fiber");function t(t,{path:u}){const[a]=r.useLoader(e.CubeTextureLoader,[t],(e=>e.setPath(u)));return a}t.preload=(t,{path:u})=>r.useLoader.preload(e.CubeTextureLoader,[t],(e=>e.setPath(u))),exports.useCubeTexture=t;
@@ -1 +1 @@
1
- "use strict";var e=require("three"),r=require("react"),t=require("@react-three/fiber"),u=require("./useFBO.cjs.js");function n(e){var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var u=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,u.get?u:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var s=n(r);exports.useDepthBuffer=function({size:r=256,frames:n=1/0}={}){const c=t.useThree((e=>e.viewport.dpr)),{width:a,height:i}=t.useThree((e=>e.size)),o=r||a*c,f=r||i*c,h=s.useMemo((()=>{const r=new e.DepthTexture(o,f);return r.format=e.DepthFormat,r.type=e.UnsignedShortType,{depthTexture:r}}),[o,f]);let p=0;const d=u.useFBO(o,f,h);return t.useFrame((e=>{(n===1/0||p<n)&&(e.gl.setRenderTarget(d),e.gl.render(e.scene,e.camera),e.gl.setRenderTarget(null),p++)})),d.depthTexture};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("react"),t=require("@react-three/fiber"),u=require("./useFBO.cjs.js");function n(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var u=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,u.get?u:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var s=n(r);exports.useDepthBuffer=function({size:r=256,frames:n=1/0}={}){const c=t.useThree((e=>e.viewport.dpr)),{width:i,height:o}=t.useThree((e=>e.size)),a=r||i*c,f=r||o*c,p=s.useMemo((()=>{const r=new e.DepthTexture(a,f);return r.format=e.DepthFormat,r.type=e.UnsignedShortType,{depthTexture:r}}),[a,f]);let d=0;const h=u.useFBO(a,f,p);return t.useFrame((e=>{(n===1/0||d<n)&&(e.gl.setRenderTarget(h),e.gl.render(e.scene,e.camera),e.gl.setRenderTarget(null),d++)})),h.depthTexture};
@@ -1 +1 @@
1
- "use strict";var e=require("detect-gpu"),t=require("suspend-react");exports.useDetectGPU=r=>t.suspend((()=>e.getGPUTier(r)),["useDetectGPU"]);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("detect-gpu"),t=require("suspend-react");exports.useDetectGPU=r=>t.suspend((()=>e.getGPUTier(r)),["useDetectGPU"]);
@@ -1 +1 @@
1
- "use strict";var e=require("@react-three/fiber"),r=require("three"),n=require("three-stdlib"),t=require("../helpers/environment-assets.cjs.js");const s=e=>Array.isArray(e);exports.useEnvironment=function({files:i=["/px.png","/nx.png","/py.png","/ny.png","/pz.png","/nz.png"],path:a="",preset:o,encoding:p,extensions:l}={}){var u;let c,d=null,b=!1;if(o){if(!(o in t.presetsObj))throw new Error("Preset must be one of: "+Object.keys(t.presetsObj).join(", "));i=t.presetsObj[o],a="https://raw.githack.com/pmndrs/drei-assets/456060a26bbeb8fdf79326f224b6d99b8bcce736/hdri/"}if(b=s(i),c=s(i)?"cube":i.startsWith("data:application/exr")?"exr":i.startsWith("data:application/hdr")?"hdr":null==(u=i.split(".").pop())||null==(u=u.split("?"))||null==(u=u.shift())?void 0:u.toLowerCase(),d=b?r.CubeTextureLoader:"hdr"===c?n.RGBELoader:"exr"===c?n.EXRLoader:null,!d)throw new Error("useEnvironment: Unrecognized file extension: "+i);const h=e.useLoader(d,b?[i]:i,(e=>{null==e.setPath||e.setPath(a),l&&l(e)})),g=b?h[0]:h;return g.mapping=b?r.CubeReflectionMapping:r.EquirectangularReflectionMapping,"colorSpace"in g?g.colorSpace=(null!=p?p:b)?"srgb":"srgb-linear":g.encoding=(null!=p?p:b)?3001:3e3,g};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@react-three/fiber"),r=require("three"),n=require("three-stdlib"),t=require("../helpers/environment-assets.cjs.js");const s=e=>Array.isArray(e);exports.useEnvironment=function({files:i=["/px.png","/nx.png","/py.png","/ny.png","/pz.png","/nz.png"],path:o="",preset:a,encoding:p,extensions:l}={}){var u;let c,d=null,b=!1;if(a){if(!(a in t.presetsObj))throw new Error("Preset must be one of: "+Object.keys(t.presetsObj).join(", "));i=t.presetsObj[a],o="https://raw.githack.com/pmndrs/drei-assets/456060a26bbeb8fdf79326f224b6d99b8bcce736/hdri/"}if(b=s(i),c=s(i)?"cube":i.startsWith("data:application/exr")?"exr":i.startsWith("data:application/hdr")?"hdr":null==(u=i.split(".").pop())||null==(u=u.split("?"))||null==(u=u.shift())?void 0:u.toLowerCase(),d=b?r.CubeTextureLoader:"hdr"===c?n.RGBELoader:"exr"===c?n.EXRLoader:null,!d)throw new Error("useEnvironment: Unrecognized file extension: "+i);const h=e.useLoader(d,b?[i]:i,(e=>{null==e.setPath||e.setPath(o),l&&l(e)})),g=b?h[0]:h;return g.mapping=b?r.CubeReflectionMapping:r.EquirectangularReflectionMapping,"colorSpace"in g?g.colorSpace=(null!=p?p:b)?"srgb":"srgb-linear":g.encoding=(null!=p?p:b)?3001:3e3,g};
@@ -1 +1 @@
1
- "use strict";var e=require("react"),t=require("three"),r=require("@react-three/fiber");function u(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var u=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,u.get?u:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var n=u(e),i=u(t);exports.useFBO=function(e,t,u){const s=r.useThree((e=>e.size)),a=r.useThree((e=>e.viewport)),o="number"==typeof e?e:s.width*a.dpr,p="number"==typeof t?t:s.height*a.dpr,c=("number"==typeof e?u:e)||{},{samples:f=0,depth:l,...b}=c,h=n.useMemo((()=>{const e=new i.WebGLRenderTarget(o,p,{minFilter:i.LinearFilter,magFilter:i.LinearFilter,type:i.HalfFloatType,...b});return l&&(e.depthTexture=new i.DepthTexture(o,p,i.FloatType)),e.samples=f,e}),[]);return n.useLayoutEffect((()=>{h.setSize(o,p),f&&(h.samples=f)}),[f,h,o,p]),n.useEffect((()=>()=>h.dispose()),[]),h};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("three"),t=require("@react-three/fiber");function u(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var u=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,u.get?u:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var n=u(e),i=u(r);exports.useFBO=function(e,r,u){const s=t.useThree((e=>e.size)),o=t.useThree((e=>e.viewport)),a="number"==typeof e?e:s.width*o.dpr,p="number"==typeof r?r:s.height*o.dpr,f=("number"==typeof e?u:e)||{},{samples:c=0,depth:l,...d}=f,b=n.useMemo((()=>{const e=new i.WebGLRenderTarget(a,p,{minFilter:i.LinearFilter,magFilter:i.LinearFilter,type:i.HalfFloatType,...d});return l&&(e.depthTexture=new i.DepthTexture(a,p,i.FloatType)),e.samples=c,e}),[]);return n.useLayoutEffect((()=>{b.setSize(a,p),c&&(b.samples=c)}),[c,b,a,p]),n.useEffect((()=>()=>b.dispose()),[]),b};
@@ -1 +1 @@
1
- "use strict";var e=require("three-stdlib"),r=require("@react-three/fiber");function a(a){return r.useLoader(e.FBXLoader,a)}a.preload=a=>r.useLoader.preload(e.FBXLoader,a),a.clear=a=>r.useLoader.clear(e.FBXLoader,a),exports.useFBX=a;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three-stdlib"),r=require("@react-three/fiber");function a(a){return r.useLoader(e.FBXLoader,a)}a.preload=a=>r.useLoader.preload(e.FBXLoader,a),a.clear=a=>r.useLoader.clear(e.FBXLoader,a),exports.useFBX=a;
@@ -1 +1 @@
1
- "use strict";var e=require("three-stdlib"),r=require("suspend-react");let t=null;async function n(r){t||(t=new e.FontLoader);let n="string"==typeof r?await(await fetch(r)).json():r;return t.parse(n)}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){t||(t=new e.FontLoader);let n="string"==typeof r?await(await fetch(r)).json():r;return t.parse(n)}function s(e){return r.suspend(n,[e])}s.preload=e=>r.preload(n,[e]),s.clear=e=>r.clear([e]),exports.useFont=s;
@@ -1 +1 @@
1
- "use strict";var e=require("three-stdlib"),r=require("@react-three/fiber");let o=null,t="https://www.gstatic.com/draco/versioned/decoders/1.5.5/";function d(r,d,s){return a=>{s&&s(a),r&&(o||(o=new e.DRACOLoader),o.setDecoderPath("string"==typeof r?r:t),a.setDRACOLoader(o)),d&&a.setMeshoptDecoder("function"==typeof e.MeshoptDecoder?e.MeshoptDecoder():e.MeshoptDecoder)}}function s(o,t=!0,s=!0,a){return r.useLoader(e.GLTFLoader,o,d(t,s,a))}s.preload=(o,t=!0,s=!0,a)=>r.useLoader.preload(e.GLTFLoader,o,d(t,s,a)),s.clear=o=>r.useLoader.clear(e.GLTFLoader,o),s.setDecoderPath=e=>{t=e},exports.useGLTF=s;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three-stdlib"),r=require("@react-three/fiber");let o=null,t="https://www.gstatic.com/draco/versioned/decoders/1.5.5/";function d(r,d,s){return a=>{s&&s(a),r&&(o||(o=new e.DRACOLoader),o.setDecoderPath("string"==typeof r?r:t),a.setDRACOLoader(o)),d&&a.setMeshoptDecoder("function"==typeof e.MeshoptDecoder?e.MeshoptDecoder():e.MeshoptDecoder)}}function s(o,t=!0,s=!0,a){return r.useLoader(e.GLTFLoader,o,d(t,s,a))}s.preload=(o,t=!0,s=!0,a)=>r.useLoader.preload(e.GLTFLoader,o,d(t,s,a)),s.clear=o=>r.useLoader.clear(e.GLTFLoader,o),s.setDecoderPath=e=>{t=e},exports.useGLTF=s;
@@ -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 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 u=t(e);exports.useHelper=function(e,t,...n){const c=u.useRef(),a=r.useThree((e=>e.scene));return u.useLayoutEffect((()=>{let r;if(e&&null!=e&&e.current&&t&&(c.current=r=new t(e.current,...n)),r)return r.traverse((e=>e.raycast=()=>null)),a.add(r),()=>{c.current=void 0,a.remove(r),null==r.dispose||r.dispose()}}),[a,t,e,...n]),r.useFrame((()=>{var e;null==(e=c.current)||null==e.update||e.update()})),c};
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 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 u=t(e);exports.useHelper=function(e,t,...n){const c=u.useRef(),a=r.useThree((e=>e.scene));return u.useLayoutEffect((()=>{let r;if(e&&null!=e&&e.current&&t&&(c.current=r=new t(e.current,...n)),r)return r.traverse((e=>e.raycast=()=>null)),a.add(r),()=>{c.current=void 0,a.remove(r),null==r.dispose||r.dispose()}}),[a,t,e,...n]),r.useFrame((()=>{var e;null==(e=c.current)||null==e.update||e.update()})),c};
@@ -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("@react-three/fiber"),r=require("react"),s=require("three-stdlib"),t=require("./useTexture.cjs.js");const a="https://cdn.jsdelivr.net/gh/pmndrs/drei-assets@master";function c(c,u=`${a}/basis/`){const i=e.useThree((e=>e.gl)),o=e.useLoader(s.KTX2Loader,t.IsObject(c)?Object.values(c):c,(e=>{e.detectSupport(i),e.setTranscoderPath(u)}));if(r.useEffect((()=>{(Array.isArray(o)?o:[o]).forEach(i.initTexture)}),[i,o]),t.IsObject(c)){const e=Object.keys(c),r={};return e.forEach((s=>Object.assign(r,{[s]:o[e.indexOf(s)]}))),r}return o}c.preload=(r,t=`${a}/basis/`)=>e.useLoader.preload(s.KTX2Loader,r,(e=>{e.setTranscoderPath(t)})),c.clear=r=>e.useLoader.clear(s.KTX2Loader,r),exports.useKTX2=c;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@react-three/fiber"),r=require("react"),s=require("three-stdlib"),t=require("./useTexture.cjs.js");require("three");const a="https://cdn.jsdelivr.net/gh/pmndrs/drei-assets@master";function c(c,u=`${a}/basis/`){const o=e.useThree((e=>e.gl)),i=e.useLoader(s.KTX2Loader,t.IsObject(c)?Object.values(c):c,(e=>{e.detectSupport(o),e.setTranscoderPath(u)}));if(r.useEffect((()=>{(Array.isArray(i)?i:[i]).forEach(o.initTexture)}),[o,i]),t.IsObject(c)){const e=Object.keys(c),r={};return e.forEach((s=>Object.assign(r,{[s]:i[e.indexOf(s)]}))),r}return i}c.preload=(r,t=`${a}/basis/`)=>e.useLoader.preload(s.KTX2Loader,r,(e=>{e.setTranscoderPath(t)})),c.clear=r=>e.useLoader.clear(s.KTX2Loader,r),exports.useKTX2=c;
@@ -1 +1 @@
1
- "use strict";var e=require("react"),t=require("./useTexture.cjs.js"),r=require("suspend-react");function n(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var s=n(e);exports.useMatcapTexture=function(e=0,n=1024,c){const a=r.suspend((()=>fetch("https://cdn.jsdelivr.net/gh/pmndrs/drei-assets@master/matcaps.json").then((e=>e.json()))),["matcapList"]),u=a[0],p=s.useMemo((()=>Object.keys(a).length),[]),i=`${s.useMemo((()=>"string"==typeof e?e:"number"==typeof e?a[e]:null),[e])||u}${function(e){switch(e){case 64:return"-64px";case 128:return"-128px";case 256:return"-256px";case 512:return"-512px";default:return""}}(n)}.png`,o=`https://rawcdn.githack.com/emmelleppi/matcaps/9b36ccaaf0a24881a39062d05566c9e92be4aa0d/${n}/${i}`;return[t.useTexture(o,c),o,p]};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("./useTexture.cjs.js"),r=require("suspend-react");function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var 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)}require("three"),require("@react-three/fiber");var u=s(e);exports.useMatcapTexture=function(e=0,s=1024,n){const c=r.suspend((()=>fetch("https://cdn.jsdelivr.net/gh/pmndrs/drei-assets@master/matcaps.json").then((e=>e.json()))),["matcapList"]),a=c[0],i=u.useMemo((()=>Object.keys(c).length),[]),p=`${u.useMemo((()=>"string"==typeof e?e:"number"==typeof e?c[e]:null),[e])||a}${function(e){switch(e){case 64:return"-64px";case 128:return"-128px";case 256:return"-256px";case 512:return"-512px";default:return""}}(s)}.png`,o=`https://rawcdn.githack.com/emmelleppi/matcaps/9b36ccaaf0a24881a39062d05566c9e92be4aa0d/${s}/${p}`;return[t.useTexture(o,n),o,i]};
@@ -1 +1 @@
1
- "use strict";var e=require("react"),r=require("./useTexture.cjs.js"),t=require("three"),s=require("suspend-react");function n(e){var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var s=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,s.get?s:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var a=n(e);exports.useNormalTexture=function(e=0,n={},o){const{repeat:u=[1,1],anisotropy:c=1,offset:i=[0,0]}=n,f=s.suspend((()=>fetch("https://cdn.jsdelivr.net/gh/pmndrs/drei-assets@master/normals/normals.json").then((e=>e.json()))),["normalsList"]),p=a.useMemo((()=>Object.keys(f).length),[]),d=f[0],l=`https://rawcdn.githack.com/pmndrs/drei-assets/7a3104997e1576f83472829815b00880d88b32fb/normals/${f[e]||d}`,j=r.useTexture(l,o);return a.useLayoutEffect((()=>{j&&(j.wrapS=j.wrapT=t.RepeatWrapping,j.repeat=new t.Vector2(u[0],u[1]),j.offset=new t.Vector2(i[0],i[1]),j.anisotropy=c)}),[j,c,u,i]),[j,l,p]};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("./useTexture.cjs.js"),t=require("three"),s=require("suspend-react");function n(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var s=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,s.get?s:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}require("@react-three/fiber");var a=n(e);exports.useNormalTexture=function(e=0,n={},o){const{repeat:u=[1,1],anisotropy:c=1,offset:i=[0,0]}=n,f=s.suspend((()=>fetch("https://cdn.jsdelivr.net/gh/pmndrs/drei-assets@master/normals/normals.json").then((e=>e.json()))),["normalsList"]),p=a.useMemo((()=>Object.keys(f).length),[]),d=f[0],l=`https://rawcdn.githack.com/pmndrs/drei-assets/7a3104997e1576f83472829815b00880d88b32fb/normals/${f[e]||d}`,b=r.useTexture(l,o);return a.useLayoutEffect((()=>{b&&(b.wrapS=b.wrapT=t.RepeatWrapping,b.repeat=new t.Vector2(u[0],u[1]),b.offset=new t.Vector2(i[0],i[1]),b.anisotropy=c)}),[b,c,u,i]),[b,l,p]};
@@ -1 +1 @@
1
- "use strict";var e=require("three"),r=require("zustand");let a=0;const o=r((r=>(e.DefaultLoadingManager.onStart=(e,o,t)=>{r({active:!0,item:e,loaded:o,total:t,progress:(o-a)/(t-a)*100})},e.DefaultLoadingManager.onLoad=()=>{r({active:!1})},e.DefaultLoadingManager.onError=e=>r((r=>({errors:[...r.errors,e]}))),e.DefaultLoadingManager.onProgress=(e,o,t)=>{o===t&&(a=t),r({active:!0,item:e,loaded:o,total:t,progress:(o-a)/(t-a)*100||100})},{errors:[],active:!1,progress:0,item:"",loaded:0,total:0})));exports.useProgress=o;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("zustand");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}let a=0;const o=t(r).default((r=>(e.DefaultLoadingManager.onStart=(e,t,o)=>{r({active:!0,item:e,loaded:t,total:o,progress:(t-a)/(o-a)*100})},e.DefaultLoadingManager.onLoad=()=>{r({active:!1})},e.DefaultLoadingManager.onError=e=>r((r=>({errors:[...r.errors,e]}))),e.DefaultLoadingManager.onProgress=(e,t,o)=>{t===o&&(a=o),r({active:!0,item:e,loaded:t,total:o,progress:(t-a)/(o-a)*100||100})},{errors:[],active:!1,progress:0,item:"",loaded:0,total:0})));exports.useProgress=o;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("@react-three/fiber"),t=require("react");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 s=n(e),u=n(t);const a=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}},o=(e,r,t,n)=>{const u=r*(n.aspect>e/r?n.width/e:n.height/r),a=e*(n.aspect>e/r?n.width/e:n.height/r)*t,o=u*t;let i=Math.min(1,a),c=Math.min(1,o);return a>1&&(i=1,c=o/a*1),new s.Vector3(i,c,1)};function i(n,i,c,f,l){const h=r.useThree((e=>e.viewport)),d=r.useThree((e=>e.gl)),m=u.useRef(null),p=u.useRef(0),[w,y]=t.useState(null),[x,g]=u.useState(new s.Texture),b=new s.TextureLoader,[L,S]=t.useState(null);function j(e){(e||n)&&new Promise((r=>{b.load(null!=e?e:n,r)})).then((e=>{T(null,e)}))}function O(e,r,t){const n=fetch(e).then((e=>e.json())),s=new Promise((e=>{b.load(r,e)}));Promise.all([n,s]).then((e=>{t(e[0],e[1])}))}u.useLayoutEffect((()=>(i&&n?O(i,n,T):n&&j(),()=>{n&&r.useLoader.clear(e.TextureLoader,n)})),[]);const T=(e,r)=>{let t=new s.Vector3(1,1,1);if(null===e){if(r&&f){const e=r.image.width,n=r.image.height,s=e/f,u=n;if(p.current=f,m.current={frames:[],meta:{version:"1.0",size:{w:e,h:n},scale:"1"}},parseInt(s.toString(),10)===s)for(let e=0;e<f;e++)m.current.frames.push({frame:{x:e*s,y:0,w:s,h:u},rotated:!1,trimmed:!1,spriteSourceSize:{x:0,y:0,w:s,h:u},sourceSize:{w:s,h:n}});t=o(s,u,.1,h)}}else if(r){m.current=e,m.current.frames=Array.isArray(e.frames)?e.frames:A(),p.current=Array.isArray(e.frames)?e.frames.length:Object.keys(e.frames).length;const{w:r,h:n}=a(e.frames).sourceSize;t=o(r,n,.1,h)}y(m.current),r.encoding=s.sRGBEncoding,g(r),S({spriteTexture:r,spriteData:m.current,aspect:t})},A=()=>{const e={},r=m.current,t=c;if(t)for(let n=0;n<t.length;n++){e[t[n]]=[];for(const s in r.frames){const u=r.frames[s],a=u.frame,o=a.x,i=a.y,c=a.w,f=a.h,l=u.sourceSize.w,h=u.sourceSize.h;"string"==typeof s&&-1!==s.toLowerCase().indexOf(t[n].toLowerCase())&&e[t[n]].push({x:o,y:i,w:c,h:f,frame:a,sourceSize:{w:l,h:h}})}}return e};return u.useLayoutEffect((()=>{null==l||l(x,w)}),[x,w]),t.useEffect((()=>{if("initTexture"in d){(Array.isArray(x)?x:[x]).forEach(d.initTexture)}}),[d,x]),{spriteObj:L,loadJsonAndTexture:function(e,r){r&&e?O(r,e,T):j(e)}}}i.preload=t=>r.useLoader.preload(e.TextureLoader,t),i.clear=t=>r.useLoader.clear(e.TextureLoader,t),exports.calculateAspectRatio=o,exports.getFirstItem=a,exports.useSpriteLoader=i;
@@ -0,0 +1,9 @@
1
+ import { Texture } from 'three';
2
+ import * as THREE from 'three';
3
+ export declare const getFirstItem: (param: any) => any;
4
+ export declare const calculateAspectRatio: (width: number, height: number, factor: number, v: any) => THREE.Vector3;
5
+ export declare function useSpriteLoader<Url extends string>(input?: Url | null, json?: string | null, animationNames?: string[] | null, numberOfFrames?: number | null, onLoad?: (texture: Texture, textureData?: any) => void): any;
6
+ export declare namespace useSpriteLoader {
7
+ var preload: (url: string) => undefined;
8
+ var clear: (input: string) => void;
9
+ }