@react-three/drei 7.11.0 → 7.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/assets/cloud.base64.cjs.js +1 -1
  2. package/core/AdaptiveDpr.cjs.js +1 -1
  3. package/core/AdaptiveEvents.cjs.js +1 -1
  4. package/core/BakeShadows.cjs.js +1 -1
  5. package/core/Billboard.cjs.js +1 -1
  6. package/core/CameraShake.cjs.js +1 -1
  7. package/core/Center.cjs.js +1 -1
  8. package/core/Cloud.cjs.js +1 -1
  9. package/core/ContactShadows.cjs.js +1 -1
  10. package/core/ContactShadows.d.ts +1 -1
  11. package/core/CubeCamera.cjs.js +1 -1
  12. package/core/CubicBezierLine.cjs.js +1 -1
  13. package/core/CurveModifier.cjs.js +1 -1
  14. package/core/DepthBuffer.cjs.js +1 -1
  15. package/core/Detailed.cjs.js +1 -1
  16. package/core/DeviceOrientationControls.cjs.js +1 -1
  17. package/core/Effects.cjs.js +1 -1
  18. package/core/Environment.cjs.js +1 -1
  19. package/core/FirstPersonControls.cjs.js +1 -1
  20. package/core/FlyControls.cjs.js +1 -1
  21. package/core/GizmoHelper.cjs.js +1 -1
  22. package/core/GizmoViewcube.cjs.js +1 -1
  23. package/core/GizmoViewport.cjs.js +1 -1
  24. package/core/GradientTexture.cjs.js +1 -1
  25. package/core/Instances.cjs.js +1 -1
  26. package/core/Instances.js +7 -4
  27. package/core/Line.cjs.js +1 -1
  28. package/core/MapControls.cjs.js +1 -1
  29. package/core/MapControls.d.ts +1 -1
  30. package/core/MeshDistortMaterial.cjs.js +1 -1
  31. package/core/MeshWobbleMaterial.cjs.js +1 -1
  32. package/core/OrbitControls.cjs.js +1 -1
  33. package/core/OrbitControls.d.ts +1 -1
  34. package/core/OrthographicCamera.cjs.js +1 -1
  35. package/core/PerspectiveCamera.cjs.js +1 -1
  36. package/core/PerspectiveCamera.d.ts +1 -1
  37. package/core/PointMaterial.cjs.js +1 -1
  38. package/core/PointerLockControls.cjs.js +1 -1
  39. package/core/Points.cjs.js +1 -1
  40. package/core/Points.js +7 -4
  41. package/core/PositionalAudio.cjs.js +1 -1
  42. package/core/PositionalAudio.d.ts +1 -1
  43. package/core/Preload.cjs.js +1 -1
  44. package/core/QuadraticBezierLine.cjs.js +1 -1
  45. package/core/Reflector.cjs.js +1 -1
  46. package/core/Reflector.d.ts +1 -1
  47. package/core/RoundedBox.cjs.js +1 -1
  48. package/core/ScreenQuad.cjs.js +1 -1
  49. package/core/Shadow.cjs.js +1 -1
  50. package/core/Sky.cjs.js +1 -1
  51. package/core/SpotLight.cjs.js +1 -1
  52. package/core/Stage.cjs.js +1 -1
  53. package/core/Stars.cjs.js +1 -1
  54. package/core/Stats.cjs.js +1 -1
  55. package/core/Text.cjs.js +1 -1
  56. package/core/TrackballControls.cjs.js +1 -1
  57. package/core/TransformControls.cjs.js +1 -1
  58. package/core/index.cjs.js +1 -1
  59. package/core/meshBounds.cjs.js +1 -1
  60. package/core/shaderMaterial.cjs.js +1 -1
  61. package/core/shapes.cjs.js +1 -1
  62. package/core/softShadows.cjs.js +1 -1
  63. package/core/useAnimations.cjs.js +1 -1
  64. package/core/useAspect.cjs.js +1 -1
  65. package/core/useBVH.cjs.js +1 -1
  66. package/core/useCamera.cjs.js +1 -1
  67. package/core/useContextBridge.cjs.js +1 -1
  68. package/core/useCubeTexture.cjs.js +1 -1
  69. package/core/useDetectGPU.cjs.js +1 -1
  70. package/core/useEdgeSplit.cjs.js +1 -1
  71. package/core/useFBO.cjs.js +1 -1
  72. package/core/useFBX.cjs.js +1 -1
  73. package/core/useGLTF.cjs.js +1 -1
  74. package/core/useGLTF.js +1 -1
  75. package/core/useHelper.cjs.js +1 -1
  76. package/core/useHelper.js +3 -1
  77. package/core/useMatcapTexture.cjs.js +1 -1
  78. package/core/useNormalTexture.cjs.js +1 -1
  79. package/core/useProgress.cjs.js +1 -1
  80. package/core/useSimplification.cjs.js +1 -1
  81. package/core/useTessellation.cjs.js +1 -1
  82. package/core/useTexture.cjs.js +1 -1
  83. package/helpers/Position.cjs.js +1 -1
  84. package/helpers/base64.cjs.js +1 -1
  85. package/helpers/useEffectfulState.cjs.js +1 -1
  86. package/index.cjs.js +1 -1
  87. package/index.js +1 -0
  88. package/materials/MeshReflectorMaterial.cjs.js +1 -1
  89. package/materials/SpotLightMaterial.cjs.js +1 -1
  90. package/materials/index.cjs.js +1 -1
  91. package/native/index.cjs.js +1 -1
  92. package/package.json +2 -2
  93. package/web/CycleRaycast.cjs.js +1 -0
  94. package/web/CycleRaycast.d.ts +9 -0
  95. package/web/CycleRaycast.js +106 -0
  96. package/web/Html.cjs.js +1 -1
  97. package/web/Loader.cjs.js +1 -1
  98. package/web/index.cjs.js +1 -1
  99. package/web/index.d.ts +1 -0
  100. package/web/index.js +1 -0
  101. package/web/useCursor.cjs.js +1 -1
package/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export { Html } from './web/Html.js';
2
+ export { CycleRaycast } from './web/CycleRaycast.js';
2
3
  export { useCursor } from './web/useCursor.js';
3
4
  export { Loader } from './web/Loader.js';
4
5
  export { Billboard } from './core/Billboard.js';
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/createClass"),i=require("@babel/runtime/helpers/inheritsLoose"),t=require("three");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=u(e),_=u(i),r=function(e){function i(i){var t;return void 0===i&&(i={}),(t=e.call(this,i)||this)._debug={value:0},t._tDepth={value:null},t._distortionMap={value:null},t._tDiffuse={value:null},t._u_mipmap_0={value:null},t._u_mipmap_1={value:null},t._u_mipmap_2={value:null},t._u_mipmap_3={value:null},t._u_mipmap_4={value:null},t._u_mipmap_5={value:null},t._u_mipmap_6={value:null},t._u_mipmap_7={value:null},t._u_mipmap_res_0={value:null},t._u_mipmap_res_1={value:null},t._u_mipmap_res_2={value:null},t._u_mipmap_res_3={value:null},t._u_mipmap_res_4={value:null},t._u_mipmap_res_5={value:null},t._u_mipmap_res_6={value:null},t._u_mipmap_res_7={value:null},t._textureMatrix={value:null},t._mirror={value:0},t._mixBlur={value:0},t._blurStrength={value:.5},t._minDepthThreshold={value:.9},t._maxDepthThreshold={value:1},t._depthScale={value:0},t._depthToBlurRatioBias={value:.25},t._distortion={value:1},t.setValues(i),t}return _.default(i,e),i.prototype.onBeforeCompile=function(e){var i;null!=(i=e.defines)&&i.USE_UV||(e.defines.USE_UV=""),e.uniforms.debug=this._debug,e.uniforms.tDiffuse=this._tDiffuse,e.uniforms.tDepth=this._tDepth,e.uniforms.distortionMap=this._distortionMap,e.uniforms.u_mipmap_0=this._u_mipmap_0,e.uniforms.u_mipmap_1=this._u_mipmap_1,e.uniforms.u_mipmap_2=this._u_mipmap_2,e.uniforms.u_mipmap_3=this._u_mipmap_3,e.uniforms.u_mipmap_4=this._u_mipmap_4,e.uniforms.u_mipmap_5=this._u_mipmap_5,e.uniforms.u_mipmap_6=this._u_mipmap_6,e.uniforms.u_mipmap_7=this._u_mipmap_7,e.uniforms.u_mipmap_res_0=this._u_mipmap_res_0,e.uniforms.u_mipmap_res_1=this._u_mipmap_res_1,e.uniforms.u_mipmap_res_2=this._u_mipmap_res_2,e.uniforms.u_mipmap_res_3=this._u_mipmap_res_3,e.uniforms.u_mipmap_res_4=this._u_mipmap_res_4,e.uniforms.u_mipmap_res_5=this._u_mipmap_res_5,e.uniforms.u_mipmap_res_6=this._u_mipmap_res_6,e.uniforms.u_mipmap_res_7=this._u_mipmap_res_7,e.uniforms.textureMatrix=this._textureMatrix,e.uniforms.mirror=this._mirror,e.uniforms.mixBlur=this._mixBlur,e.uniforms.mixStrength=this._blurStrength,e.uniforms.minDepthThreshold=this._minDepthThreshold,e.uniforms.maxDepthThreshold=this._maxDepthThreshold,e.uniforms.depthScale=this._depthScale,e.uniforms.depthToBlurRatioBias=this._depthToBlurRatioBias,e.uniforms.distortion=this._distortion,e.vertexShader="\n uniform mat4 textureMatrix;\n varying vec4 my_vUv; \n "+e.vertexShader,e.vertexShader=e.vertexShader.replace("#include <project_vertex>","#include <project_vertex>\n my_vUv = textureMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );"),e.fragmentShader="\n uniform int debug;\n uniform sampler2D tDiffuse;\n uniform sampler2D tDepth;\n uniform sampler2D distortionMap;\n uniform sampler2D u_mipmap_0;\n uniform sampler2D u_mipmap_1;\n uniform sampler2D u_mipmap_2;\n uniform sampler2D u_mipmap_3;\n uniform sampler2D u_mipmap_4;\n uniform sampler2D u_mipmap_5;\n uniform sampler2D u_mipmap_6;\n uniform sampler2D u_mipmap_7;\n uniform vec2 u_mipmap_res_0;\n uniform vec2 u_mipmap_res_1;\n uniform vec2 u_mipmap_res_2;\n uniform vec2 u_mipmap_res_3;\n uniform vec2 u_mipmap_res_4;\n uniform vec2 u_mipmap_res_5;\n uniform vec2 u_mipmap_res_6;\n uniform vec2 u_mipmap_res_7;\n uniform float distortion;\n uniform float cameraNear;\n\t\t\t uniform float cameraFar;\n uniform float mixBlur;\n uniform float mirror;\n uniform float mixStrength;\n uniform float minDepthThreshold;\n uniform float maxDepthThreshold;\n uniform float depthScale;\n uniform float depthToBlurRatioBias;\n varying vec4 my_vUv; \n \n // from http://www.java-gaming.org/index.php?topic=35123.0\n vec4 cubic( float v ) {\n vec4 n = vec4( 1.0, 2.0, 3.0, 4.0 ) - v;\n vec4 s = n * n * n;\n float x = s.x;\n float y = s.y - 4.0 * s.x;\n float z = s.z - 4.0 * s.y + 6.0 * s.x;\n float w = 6.0 - x - y - z;\n return vec4( x, y, z, w ) * ( 1.0 / 6.0 );\n }\n \n vec4 textureBicubic( sampler2D sampler, vec2 texCoords, vec2 texSize ) {\n vec2 invTexSize = 1.0 / texSize;\n texCoords = texCoords * texSize - 0.5;\n vec2 fxy = fract( texCoords );\n texCoords -= fxy;\n\n vec4 xcubic = cubic( fxy.x );\n vec4 ycubic = cubic( fxy.y );\n vec4 c = texCoords.xxyy + vec2 ( - 0.5, + 1.5 ).xyxy;\n vec4 s = vec4( xcubic.xz + xcubic.yw, ycubic.xz + ycubic.yw );\n\n vec4 offset = c + vec4( xcubic.yw, ycubic.yw ) / s;\n offset *= invTexSize.xxyy;\n \n vec4 sample0 = texture2D( sampler, offset.xz);\n vec4 sample1 = texture2D( sampler, offset.yz);\n vec4 sample2 = texture2D( sampler, offset.xw);\n vec4 sample3 = texture2D( sampler, offset.yw);\n \n float sx = s.x / ( s.x + s.y );\n float sy = s.z / ( s.z + s.w );\n\n return mix(\n mix(\n sample3,\n sample2,\n sx\n ),\n mix(\n sample1,\n sample0,\n sx\n ),\n sy\n );\n }\n\n\n "+e.fragmentShader,e.fragmentShader=e.fragmentShader.replace("#include <emissivemap_fragment>","#include <emissivemap_fragment>\n \n float depthFactor = 1.0;\n float distortionFactor = 0.0;\n vec3 my_normal = vec3(0.0);\n float reflectorRoughnessFactor = roughness;\n vec3 coord = my_vUv.xyz / my_vUv.w;\n\n #ifdef USE_DISTORTION\n distortionFactor = texture2D(distortionMap, vUv).r * distortion;\n #endif\n\n #ifdef USE_NORMALMAP\n vec4 normalColor = texture2D(normalMap, vUv * normalScale);\n my_normal = normalize( vec3( normalColor.r * 2.0 - 1.0, normalColor.b , normalColor.g * 2.0 - 1.0 ) );\n #endif\n\n #ifdef USE_ROUGHNESSMAP\n vec4 reflectorTexelRoughness = texture2D( roughnessMap, vUv );\n reflectorRoughnessFactor *= reflectorTexelRoughness.g;\n #endif\n\n vec2 proj_vUv = coord.xy + coord.z * my_normal.xz * 0.01;\n proj_vUv.x += distortionFactor;\n proj_vUv.y += distortionFactor;\n \n float lod = 1.0 - min(1.0, mixBlur * reflectorRoughnessFactor);\n\n #ifdef USE_DEPTH\n vec4 depth = texture2D(tDepth, proj_vUv);\n depthFactor = smoothstep(minDepthThreshold, maxDepthThreshold, 1.0-(depth.r * depth.a));\n depthFactor *= depthScale;\n depthFactor = max(0.0001, min(1.0, depthFactor + depthToBlurRatioBias));\n #endif\n\n vec4 baseColor = texture2D(tDiffuse, proj_vUv);\n vec4 mixedColor;\n\n float _lod = (1.0 - pow(1.0 - lod, 4.0)) * 8.0;\n if (_lod < 1.) {\n vec4 one = textureBicubic(u_mipmap_7, proj_vUv, u_mipmap_res_7);\n vec4 two = textureBicubic(u_mipmap_6, proj_vUv, u_mipmap_res_6);\n mixedColor = mix(one, two, _lod);\n } else if (_lod < 2.) {\n vec4 one = textureBicubic(u_mipmap_6, proj_vUv, u_mipmap_res_6);\n vec4 two = textureBicubic(u_mipmap_5, proj_vUv, u_mipmap_res_5);\n mixedColor = mix(one, two, _lod - 1.0);\n } else if (_lod < 3.) {\n vec4 one = textureBicubic(u_mipmap_5, proj_vUv, u_mipmap_res_5);\n vec4 two = textureBicubic(u_mipmap_4, proj_vUv, u_mipmap_res_4);\n mixedColor = mix(one, two, _lod - 2.0);\n } else if (_lod < 4.) {\n vec4 one = textureBicubic(u_mipmap_4, proj_vUv, u_mipmap_res_4);\n vec4 two = textureBicubic(u_mipmap_3, proj_vUv, u_mipmap_res_3);\n mixedColor = mix(one, two, _lod - 3.0);\n } else if (_lod < 5.) {\n vec4 one = textureBicubic(u_mipmap_3, proj_vUv, u_mipmap_res_3);\n vec4 two = textureBicubic(u_mipmap_2, proj_vUv, u_mipmap_res_2);\n mixedColor = mix(one, two, _lod - 4.0);\n } else if (_lod < 6.) {\n vec4 one = textureBicubic(u_mipmap_2, proj_vUv, u_mipmap_res_2);\n vec4 two = textureBicubic(u_mipmap_1, proj_vUv, u_mipmap_res_1);\n mixedColor = mix(one, two, _lod - 5.0);\n } else if (_lod < 7.) {\n vec4 one = textureBicubic(u_mipmap_1, proj_vUv, u_mipmap_res_1);\n vec4 two = textureBicubic(u_mipmap_0, proj_vUv, u_mipmap_res_0);\n mixedColor = mix(one, two, _lod - 6.0);\n } else {\n vec4 one = textureBicubic(u_mipmap_0, proj_vUv, u_mipmap_res_0);\n mixedColor = mix(one, baseColor, _lod - 7.0);\n }\n\n mixedColor.rgb *= depthFactor;\n diffuseColor.rgb = diffuseColor.rgb * ((1.0 - min(1.0, mirror)) + mixedColor.rgb * mixStrength); \n diffuseColor = sRGBToLinear(diffuseColor);\n\n if (debug == 1) {\n diffuseColor = sRGBToLinear(vec4(vec3(depthFactor), 1.0));\n }\n if (debug == 2) {\n diffuseColor = sRGBToLinear(texture2D(tDiffuse, proj_vUv));\n }\n if (debug == 3) {\n diffuseColor = sRGBToLinear(texture2D(distortionMap, vUv));\n }\n if (debug == 4) {\n diffuseColor = sRGBToLinear(vec4(vec3(lod), 1.0));\n }\n ")},n.default(i,[{key:"tDiffuse",get:function(){return this._tDiffuse.value},set:function(e){this._tDiffuse.value=e}},{key:"tDepth",get:function(){return this._tDepth.value},set:function(e){this._tDepth.value=e}},{key:"distortionMap",get:function(){return this._distortionMap.value},set:function(e){this._distortionMap.value=e}},{key:"u_mipmap_0",get:function(){return this._u_mipmap_0.value},set:function(e){this._u_mipmap_0.value=e}},{key:"u_mipmap_1",get:function(){return this._u_mipmap_1.value},set:function(e){this._u_mipmap_1.value=e}},{key:"u_mipmap_2",get:function(){return this._u_mipmap_2.value},set:function(e){this._u_mipmap_2.value=e}},{key:"u_mipmap_3",get:function(){return this._u_mipmap_3.value},set:function(e){this._u_mipmap_3.value=e}},{key:"u_mipmap_4",get:function(){return this._u_mipmap_4.value},set:function(e){this._u_mipmap_4.value=e}},{key:"u_mipmap_5",get:function(){return this._u_mipmap_5.value},set:function(e){this._u_mipmap_5.value=e}},{key:"u_mipmap_6",get:function(){return this._u_mipmap_6.value},set:function(e){this._u_mipmap_6.value=e}},{key:"u_mipmap_7",get:function(){return this._u_mipmap_7.value},set:function(e){this._u_mipmap_7.value=e}},{key:"u_mipmap_res_0",get:function(){return this._u_mipmap_res_0.value},set:function(e){this._u_mipmap_res_0.value=e}},{key:"u_mipmap_res_1",get:function(){return this._u_mipmap_res_1.value},set:function(e){this._u_mipmap_res_1.value=e}},{key:"u_mipmap_res_2",get:function(){return this._u_mipmap_res_2.value},set:function(e){this._u_mipmap_res_2.value=e}},{key:"u_mipmap_res_3",get:function(){return this._u_mipmap_res_3.value},set:function(e){this._u_mipmap_res_3.value=e}},{key:"u_mipmap_res_4",get:function(){return this._u_mipmap_res_4.value},set:function(e){this._u_mipmap_res_4.value=e}},{key:"u_mipmap_res_5",get:function(){return this._u_mipmap_res_5.value},set:function(e){this._u_mipmap_res_5.value=e}},{key:"u_mipmap_res_6",get:function(){return this._u_mipmap_res_6.value},set:function(e){this._u_mipmap_res_6.value=e}},{key:"u_mipmap_res_7",get:function(){return this._u_mipmap_res_7.value},set:function(e){this._u_mipmap_res_7.value=e}},{key:"textureMatrix",get:function(){return this._textureMatrix.value},set:function(e){this._textureMatrix.value=e}},{key:"mirror",get:function(){return this._mirror.value},set:function(e){this._mirror.value=e}},{key:"mixBlur",get:function(){return this._mixBlur.value},set:function(e){this._mixBlur.value=e}},{key:"mixStrength",get:function(){return this._blurStrength.value},set:function(e){this._blurStrength.value=e}},{key:"minDepthThreshold",get:function(){return this._minDepthThreshold.value},set:function(e){this._minDepthThreshold.value=e}},{key:"maxDepthThreshold",get:function(){return this._maxDepthThreshold.value},set:function(e){this._maxDepthThreshold.value=e}},{key:"depthScale",get:function(){return this._depthScale.value},set:function(e){this._depthScale.value=e}},{key:"debug",get:function(){return this._debug.value},set:function(e){this._debug.value=e}},{key:"depthToBlurRatioBias",get:function(){return this._depthToBlurRatioBias.value},set:function(e){this._depthToBlurRatioBias.value=e}},{key:"distortion",get:function(){return this._distortion.value},set:function(e){this._distortion.value=e}}]),i}(t.MeshStandardMaterial);exports.MeshReflectorMaterial=r;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");class i extends e.MeshStandardMaterial{constructor(e={}){super(e),this._debug={value:0},this._tDepth={value:null},this._distortionMap={value:null},this._tDiffuse={value:null},this._u_mipmap_0={value:null},this._u_mipmap_1={value:null},this._u_mipmap_2={value:null},this._u_mipmap_3={value:null},this._u_mipmap_4={value:null},this._u_mipmap_5={value:null},this._u_mipmap_6={value:null},this._u_mipmap_7={value:null},this._u_mipmap_res_0={value:null},this._u_mipmap_res_1={value:null},this._u_mipmap_res_2={value:null},this._u_mipmap_res_3={value:null},this._u_mipmap_res_4={value:null},this._u_mipmap_res_5={value:null},this._u_mipmap_res_6={value:null},this._u_mipmap_res_7={value:null},this._textureMatrix={value:null},this._mirror={value:0},this._mixBlur={value:0},this._blurStrength={value:.5},this._minDepthThreshold={value:.9},this._maxDepthThreshold={value:1},this._depthScale={value:0},this._depthToBlurRatioBias={value:.25},this._distortion={value:1},this.setValues(e)}onBeforeCompile(e){var i;null!=(i=e.defines)&&i.USE_UV||(e.defines.USE_UV=""),e.uniforms.debug=this._debug,e.uniforms.tDiffuse=this._tDiffuse,e.uniforms.tDepth=this._tDepth,e.uniforms.distortionMap=this._distortionMap,e.uniforms.u_mipmap_0=this._u_mipmap_0,e.uniforms.u_mipmap_1=this._u_mipmap_1,e.uniforms.u_mipmap_2=this._u_mipmap_2,e.uniforms.u_mipmap_3=this._u_mipmap_3,e.uniforms.u_mipmap_4=this._u_mipmap_4,e.uniforms.u_mipmap_5=this._u_mipmap_5,e.uniforms.u_mipmap_6=this._u_mipmap_6,e.uniforms.u_mipmap_7=this._u_mipmap_7,e.uniforms.u_mipmap_res_0=this._u_mipmap_res_0,e.uniforms.u_mipmap_res_1=this._u_mipmap_res_1,e.uniforms.u_mipmap_res_2=this._u_mipmap_res_2,e.uniforms.u_mipmap_res_3=this._u_mipmap_res_3,e.uniforms.u_mipmap_res_4=this._u_mipmap_res_4,e.uniforms.u_mipmap_res_5=this._u_mipmap_res_5,e.uniforms.u_mipmap_res_6=this._u_mipmap_res_6,e.uniforms.u_mipmap_res_7=this._u_mipmap_res_7,e.uniforms.textureMatrix=this._textureMatrix,e.uniforms.mirror=this._mirror,e.uniforms.mixBlur=this._mixBlur,e.uniforms.mixStrength=this._blurStrength,e.uniforms.minDepthThreshold=this._minDepthThreshold,e.uniforms.maxDepthThreshold=this._maxDepthThreshold,e.uniforms.depthScale=this._depthScale,e.uniforms.depthToBlurRatioBias=this._depthToBlurRatioBias,e.uniforms.distortion=this._distortion,e.vertexShader=`\n uniform mat4 textureMatrix;\n varying vec4 my_vUv; \n ${e.vertexShader}`,e.vertexShader=e.vertexShader.replace("#include <project_vertex>","#include <project_vertex>\n my_vUv = textureMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );"),e.fragmentShader=`\n uniform int debug;\n uniform sampler2D tDiffuse;\n uniform sampler2D tDepth;\n uniform sampler2D distortionMap;\n uniform sampler2D u_mipmap_0;\n uniform sampler2D u_mipmap_1;\n uniform sampler2D u_mipmap_2;\n uniform sampler2D u_mipmap_3;\n uniform sampler2D u_mipmap_4;\n uniform sampler2D u_mipmap_5;\n uniform sampler2D u_mipmap_6;\n uniform sampler2D u_mipmap_7;\n uniform vec2 u_mipmap_res_0;\n uniform vec2 u_mipmap_res_1;\n uniform vec2 u_mipmap_res_2;\n uniform vec2 u_mipmap_res_3;\n uniform vec2 u_mipmap_res_4;\n uniform vec2 u_mipmap_res_5;\n uniform vec2 u_mipmap_res_6;\n uniform vec2 u_mipmap_res_7;\n uniform float distortion;\n uniform float cameraNear;\n\t\t\t uniform float cameraFar;\n uniform float mixBlur;\n uniform float mirror;\n uniform float mixStrength;\n uniform float minDepthThreshold;\n uniform float maxDepthThreshold;\n uniform float depthScale;\n uniform float depthToBlurRatioBias;\n varying vec4 my_vUv; \n \n // from http://www.java-gaming.org/index.php?topic=35123.0\n vec4 cubic( float v ) {\n vec4 n = vec4( 1.0, 2.0, 3.0, 4.0 ) - v;\n vec4 s = n * n * n;\n float x = s.x;\n float y = s.y - 4.0 * s.x;\n float z = s.z - 4.0 * s.y + 6.0 * s.x;\n float w = 6.0 - x - y - z;\n return vec4( x, y, z, w ) * ( 1.0 / 6.0 );\n }\n \n vec4 textureBicubic( sampler2D sampler, vec2 texCoords, vec2 texSize ) {\n vec2 invTexSize = 1.0 / texSize;\n texCoords = texCoords * texSize - 0.5;\n vec2 fxy = fract( texCoords );\n texCoords -= fxy;\n\n vec4 xcubic = cubic( fxy.x );\n vec4 ycubic = cubic( fxy.y );\n vec4 c = texCoords.xxyy + vec2 ( - 0.5, + 1.5 ).xyxy;\n vec4 s = vec4( xcubic.xz + xcubic.yw, ycubic.xz + ycubic.yw );\n\n vec4 offset = c + vec4( xcubic.yw, ycubic.yw ) / s;\n offset *= invTexSize.xxyy;\n \n vec4 sample0 = texture2D( sampler, offset.xz);\n vec4 sample1 = texture2D( sampler, offset.yz);\n vec4 sample2 = texture2D( sampler, offset.xw);\n vec4 sample3 = texture2D( sampler, offset.yw);\n \n float sx = s.x / ( s.x + s.y );\n float sy = s.z / ( s.z + s.w );\n\n return mix(\n mix(\n sample3,\n sample2,\n sx\n ),\n mix(\n sample1,\n sample0,\n sx\n ),\n sy\n );\n }\n\n\n ${e.fragmentShader}`,e.fragmentShader=e.fragmentShader.replace("#include <emissivemap_fragment>","#include <emissivemap_fragment>\n \n float depthFactor = 1.0;\n float distortionFactor = 0.0;\n vec3 my_normal = vec3(0.0);\n float reflectorRoughnessFactor = roughness;\n vec3 coord = my_vUv.xyz / my_vUv.w;\n\n #ifdef USE_DISTORTION\n distortionFactor = texture2D(distortionMap, vUv).r * distortion;\n #endif\n\n #ifdef USE_NORMALMAP\n vec4 normalColor = texture2D(normalMap, vUv * normalScale);\n my_normal = normalize( vec3( normalColor.r * 2.0 - 1.0, normalColor.b , normalColor.g * 2.0 - 1.0 ) );\n #endif\n\n #ifdef USE_ROUGHNESSMAP\n vec4 reflectorTexelRoughness = texture2D( roughnessMap, vUv );\n reflectorRoughnessFactor *= reflectorTexelRoughness.g;\n #endif\n\n vec2 proj_vUv = coord.xy + coord.z * my_normal.xz * 0.01;\n proj_vUv.x += distortionFactor;\n proj_vUv.y += distortionFactor;\n \n float lod = 1.0 - min(1.0, mixBlur * reflectorRoughnessFactor);\n\n #ifdef USE_DEPTH\n vec4 depth = texture2D(tDepth, proj_vUv);\n depthFactor = smoothstep(minDepthThreshold, maxDepthThreshold, 1.0-(depth.r * depth.a));\n depthFactor *= depthScale;\n depthFactor = max(0.0001, min(1.0, depthFactor + depthToBlurRatioBias));\n #endif\n\n vec4 baseColor = texture2D(tDiffuse, proj_vUv);\n vec4 mixedColor;\n\n float _lod = (1.0 - pow(1.0 - lod, 4.0)) * 8.0;\n if (_lod < 1.) {\n vec4 one = textureBicubic(u_mipmap_7, proj_vUv, u_mipmap_res_7);\n vec4 two = textureBicubic(u_mipmap_6, proj_vUv, u_mipmap_res_6);\n mixedColor = mix(one, two, _lod);\n } else if (_lod < 2.) {\n vec4 one = textureBicubic(u_mipmap_6, proj_vUv, u_mipmap_res_6);\n vec4 two = textureBicubic(u_mipmap_5, proj_vUv, u_mipmap_res_5);\n mixedColor = mix(one, two, _lod - 1.0);\n } else if (_lod < 3.) {\n vec4 one = textureBicubic(u_mipmap_5, proj_vUv, u_mipmap_res_5);\n vec4 two = textureBicubic(u_mipmap_4, proj_vUv, u_mipmap_res_4);\n mixedColor = mix(one, two, _lod - 2.0);\n } else if (_lod < 4.) {\n vec4 one = textureBicubic(u_mipmap_4, proj_vUv, u_mipmap_res_4);\n vec4 two = textureBicubic(u_mipmap_3, proj_vUv, u_mipmap_res_3);\n mixedColor = mix(one, two, _lod - 3.0);\n } else if (_lod < 5.) {\n vec4 one = textureBicubic(u_mipmap_3, proj_vUv, u_mipmap_res_3);\n vec4 two = textureBicubic(u_mipmap_2, proj_vUv, u_mipmap_res_2);\n mixedColor = mix(one, two, _lod - 4.0);\n } else if (_lod < 6.) {\n vec4 one = textureBicubic(u_mipmap_2, proj_vUv, u_mipmap_res_2);\n vec4 two = textureBicubic(u_mipmap_1, proj_vUv, u_mipmap_res_1);\n mixedColor = mix(one, two, _lod - 5.0);\n } else if (_lod < 7.) {\n vec4 one = textureBicubic(u_mipmap_1, proj_vUv, u_mipmap_res_1);\n vec4 two = textureBicubic(u_mipmap_0, proj_vUv, u_mipmap_res_0);\n mixedColor = mix(one, two, _lod - 6.0);\n } else {\n vec4 one = textureBicubic(u_mipmap_0, proj_vUv, u_mipmap_res_0);\n mixedColor = mix(one, baseColor, _lod - 7.0);\n }\n\n mixedColor.rgb *= depthFactor;\n diffuseColor.rgb = diffuseColor.rgb * ((1.0 - min(1.0, mirror)) + mixedColor.rgb * mixStrength); \n diffuseColor = sRGBToLinear(diffuseColor);\n\n if (debug == 1) {\n diffuseColor = sRGBToLinear(vec4(vec3(depthFactor), 1.0));\n }\n if (debug == 2) {\n diffuseColor = sRGBToLinear(texture2D(tDiffuse, proj_vUv));\n }\n if (debug == 3) {\n diffuseColor = sRGBToLinear(texture2D(distortionMap, vUv));\n }\n if (debug == 4) {\n diffuseColor = sRGBToLinear(vec4(vec3(lod), 1.0));\n }\n ")}get tDiffuse(){return this._tDiffuse.value}set tDiffuse(e){this._tDiffuse.value=e}get tDepth(){return this._tDepth.value}set tDepth(e){this._tDepth.value=e}get distortionMap(){return this._distortionMap.value}set distortionMap(e){this._distortionMap.value=e}get u_mipmap_0(){return this._u_mipmap_0.value}set u_mipmap_0(e){this._u_mipmap_0.value=e}get u_mipmap_1(){return this._u_mipmap_1.value}set u_mipmap_1(e){this._u_mipmap_1.value=e}get u_mipmap_2(){return this._u_mipmap_2.value}set u_mipmap_2(e){this._u_mipmap_2.value=e}get u_mipmap_3(){return this._u_mipmap_3.value}set u_mipmap_3(e){this._u_mipmap_3.value=e}get u_mipmap_4(){return this._u_mipmap_4.value}set u_mipmap_4(e){this._u_mipmap_4.value=e}get u_mipmap_5(){return this._u_mipmap_5.value}set u_mipmap_5(e){this._u_mipmap_5.value=e}get u_mipmap_6(){return this._u_mipmap_6.value}set u_mipmap_6(e){this._u_mipmap_6.value=e}get u_mipmap_7(){return this._u_mipmap_7.value}set u_mipmap_7(e){this._u_mipmap_7.value=e}get u_mipmap_res_0(){return this._u_mipmap_res_0.value}set u_mipmap_res_0(e){this._u_mipmap_res_0.value=e}get u_mipmap_res_1(){return this._u_mipmap_res_1.value}set u_mipmap_res_1(e){this._u_mipmap_res_1.value=e}get u_mipmap_res_2(){return this._u_mipmap_res_2.value}set u_mipmap_res_2(e){this._u_mipmap_res_2.value=e}get u_mipmap_res_3(){return this._u_mipmap_res_3.value}set u_mipmap_res_3(e){this._u_mipmap_res_3.value=e}get u_mipmap_res_4(){return this._u_mipmap_res_4.value}set u_mipmap_res_4(e){this._u_mipmap_res_4.value=e}get u_mipmap_res_5(){return this._u_mipmap_res_5.value}set u_mipmap_res_5(e){this._u_mipmap_res_5.value=e}get u_mipmap_res_6(){return this._u_mipmap_res_6.value}set u_mipmap_res_6(e){this._u_mipmap_res_6.value=e}get u_mipmap_res_7(){return this._u_mipmap_res_7.value}set u_mipmap_res_7(e){this._u_mipmap_res_7.value=e}get textureMatrix(){return this._textureMatrix.value}set textureMatrix(e){this._textureMatrix.value=e}get mirror(){return this._mirror.value}set mirror(e){this._mirror.value=e}get mixBlur(){return this._mixBlur.value}set mixBlur(e){this._mixBlur.value=e}get mixStrength(){return this._blurStrength.value}set mixStrength(e){this._blurStrength.value=e}get minDepthThreshold(){return this._minDepthThreshold.value}set minDepthThreshold(e){this._minDepthThreshold.value=e}get maxDepthThreshold(){return this._maxDepthThreshold.value}set maxDepthThreshold(e){this._maxDepthThreshold.value=e}get depthScale(){return this._depthScale.value}set depthScale(e){this._depthScale.value=e}get debug(){return this._debug.value}set debug(e){this._debug.value=e}get depthToBlurRatioBias(){return this._depthToBlurRatioBias.value}set depthToBlurRatioBias(e){this._depthToBlurRatioBias.value=e}get distortion(){return this._distortion.value}set distortion(e){this._distortion.value=e}}exports.MeshReflectorMaterial=i;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=require("@babel/runtime/helpers/inheritsLoose"),e=require("three");function t(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}var o=t(n),i=function(n){function t(){return n.call(this,{uniforms:{depth:{value:null},attenuation:{value:2.5},anglePower:{value:12},spotPosition:{value:new e.Vector3(0,0,0)},lightColor:{value:new e.Color("white")},cameraNear:{value:0},cameraFar:{value:1},resolution:{value:new e.Vector2(0,0)}},transparent:!0,depthWrite:!1,vertexShader:"\n varying vec3 vNormal;\n varying vec3 vWorldPosition;\n varying float vViewZ;\n varying float vIntensity;\n uniform vec3 spotPosition;\n uniform float attenuation;\n\n void main() {\n // compute intensity\n vNormal = normalize( normalMatrix * normal );\n vec4 worldPosition\t= modelMatrix * vec4( position, 1.0 );\n vWorldPosition = worldPosition.xyz;\n vec4 viewPosition = viewMatrix * worldPosition;\n vViewZ = viewPosition.z;\n float intensity\t= distance(worldPosition.xyz, spotPosition) / attenuation;\n intensity\t= 1.0 - clamp(intensity, 0.0, 1.0);\n vIntensity = intensity; \n // set gl_Position\n gl_Position\t= projectionMatrix * viewPosition;\n\n }",fragmentShader:"\n #include <packing>\n\n varying vec3 vNormal;\n varying vec3 vWorldPosition;\n uniform vec3 lightColor;\n uniform vec3 spotPosition;\n uniform float attenuation;\n uniform float anglePower;\n uniform sampler2D depth;\n uniform vec2 resolution;\n uniform float cameraNear;\n uniform float cameraFar;\n varying float vViewZ;\n varying float vIntensity;\n\n float readDepth( sampler2D depthSampler, vec2 coord ) {\n float fragCoordZ = texture2D( depthSampler, coord ).x;\n float viewZ = perspectiveDepthToViewZ(fragCoordZ, cameraNear, cameraFar);\n return viewZ;\n }\n\n void main() {\n float d = 1.0;\n bool isSoft = resolution[0] > 0.0 && resolution[1] > 0.0;\n if (isSoft) {\n vec2 sUv = gl_FragCoord.xy / resolution;\n d = readDepth(depth, sUv);\n }\n float intensity = vIntensity;\n vec3 normal\t= vec3(vNormal.x, vNormal.y, abs(vNormal.z));\n float angleIntensity\t= pow( dot(normal, vec3(0.0, 0.0, 1.0)), anglePower );\n intensity\t*= angleIntensity;\n // fades when z is close to sampled depth, meaning the cone is intersecting existing geometry\n if (isSoft) {\n intensity\t*= smoothstep(0., 1., vViewZ - d);\n }\n gl_FragColor = vec4(lightColor, intensity);\n }"})||this}return o.default(t,n),t}(e.ShaderMaterial);exports.SpotLightMaterial=i;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=require("three");class e extends n.ShaderMaterial{constructor(){super({uniforms:{depth:{value:null},attenuation:{value:2.5},anglePower:{value:12},spotPosition:{value:new n.Vector3(0,0,0)},lightColor:{value:new n.Color("white")},cameraNear:{value:0},cameraFar:{value:1},resolution:{value:new n.Vector2(0,0)}},transparent:!0,depthWrite:!1,vertexShader:"\n varying vec3 vNormal;\n varying vec3 vWorldPosition;\n varying float vViewZ;\n varying float vIntensity;\n uniform vec3 spotPosition;\n uniform float attenuation;\n\n void main() {\n // compute intensity\n vNormal = normalize( normalMatrix * normal );\n vec4 worldPosition\t= modelMatrix * vec4( position, 1.0 );\n vWorldPosition = worldPosition.xyz;\n vec4 viewPosition = viewMatrix * worldPosition;\n vViewZ = viewPosition.z;\n float intensity\t= distance(worldPosition.xyz, spotPosition) / attenuation;\n intensity\t= 1.0 - clamp(intensity, 0.0, 1.0);\n vIntensity = intensity; \n // set gl_Position\n gl_Position\t= projectionMatrix * viewPosition;\n\n }",fragmentShader:"\n #include <packing>\n\n varying vec3 vNormal;\n varying vec3 vWorldPosition;\n uniform vec3 lightColor;\n uniform vec3 spotPosition;\n uniform float attenuation;\n uniform float anglePower;\n uniform sampler2D depth;\n uniform vec2 resolution;\n uniform float cameraNear;\n uniform float cameraFar;\n varying float vViewZ;\n varying float vIntensity;\n\n float readDepth( sampler2D depthSampler, vec2 coord ) {\n float fragCoordZ = texture2D( depthSampler, coord ).x;\n float viewZ = perspectiveDepthToViewZ(fragCoordZ, cameraNear, cameraFar);\n return viewZ;\n }\n\n void main() {\n float d = 1.0;\n bool isSoft = resolution[0] > 0.0 && resolution[1] > 0.0;\n if (isSoft) {\n vec2 sUv = gl_FragCoord.xy / resolution;\n d = readDepth(depth, sUv);\n }\n float intensity = vIntensity;\n vec3 normal\t= vec3(vNormal.x, vNormal.y, abs(vNormal.z));\n float angleIntensity\t= pow( dot(normal, vec3(0.0, 0.0, 1.0)), anglePower );\n intensity\t*= angleIntensity;\n // fades when z is close to sampled depth, meaning the cone is intersecting existing geometry\n if (isSoft) {\n intensity\t*= smoothstep(0., 1., vViewZ - d);\n }\n gl_FragColor = vec4(lightColor, intensity);\n }"})}}exports.SpotLightMaterial=e;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./MeshReflectorMaterial.cjs.js");require("@babel/runtime/helpers/createClass"),require("@babel/runtime/helpers/inheritsLoose"),require("three"),exports.MeshReflectorMaterial=e.MeshReflectorMaterial;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./MeshReflectorMaterial.cjs.js");require("three"),exports.MeshReflectorMaterial=e.MeshReflectorMaterial;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/Billboard.cjs.js"),r=require("../core/Cloud.cjs.js"),s=require("../core/QuadraticBezierLine.cjs.js"),o=require("../core/CubicBezierLine.cjs.js"),t=require("../core/Line.cjs.js"),i=require("../core/PositionalAudio.cjs.js"),c=require("../core/Text.cjs.js"),u=require("../core/Environment.cjs.js"),a=require("../core/Effects.cjs.js"),p=require("../core/GradientTexture.cjs.js"),j=require("../core/OrthographicCamera.cjs.js"),n=require("../core/PerspectiveCamera.cjs.js"),l=require("../core/CameraShake.cjs.js"),x=require("../core/CubeCamera.cjs.js"),q=require("../core/DeviceOrientationControls.cjs.js"),d=require("../core/FlyControls.cjs.js"),h=require("../core/MapControls.cjs.js"),C=require("../core/OrbitControls.cjs.js"),m=require("../core/TrackballControls.cjs.js"),b=require("../core/TransformControls.cjs.js"),S=require("../core/PointerLockControls.cjs.js"),P=require("../core/FirstPersonControls.cjs.js"),M=require("../core/GizmoHelper.cjs.js"),T=require("../core/GizmoViewcube.cjs.js"),f=require("../core/GizmoViewport.cjs.js"),B=require("../core/useCubeTexture.cjs.js"),g=require("../core/useFBX.cjs.js"),v=require("../core/useGLTF.cjs.js"),L=require("../core/useProgress.cjs.js"),G=require("../core/useTexture.cjs.js"),D=require("../core/Reflector.cjs.js"),z=require("../core/Shadow.cjs.js"),A=require("../core/Stats.cjs.js"),w=require("../core/Center.cjs.js"),k=require("../core/DepthBuffer.cjs.js"),F=require("../core/useAspect.cjs.js"),O=require("../core/useCamera.cjs.js"),E=require("../core/useDetectGPU.cjs.js"),y=require("../core/useHelper.cjs.js"),I=require("../core/useBVH.cjs.js"),R=require("../core/useContextBridge.cjs.js"),H=require("../core/useAnimations.cjs.js"),V=require("../core/useFBO.cjs.js"),Q=require("../core/useSimplification.cjs.js"),W=require("../core/useTessellation.cjs.js"),N=require("../core/useEdgeSplit.cjs.js"),U=require("../core/CurveModifier.cjs.js"),X=require("../core/MeshDistortMaterial.cjs.js"),K=require("../core/MeshWobbleMaterial.cjs.js"),_=require("../core/PointMaterial.cjs.js"),J=require("../core/shaderMaterial.cjs.js"),Y=require("../core/Sky.cjs.js"),Z=require("../core/softShadows.cjs.js"),$=require("../core/Stars.cjs.js"),ee=require("../core/ContactShadows.cjs.js"),re=require("../core/SpotLight.cjs.js"),se=require("../core/shapes.cjs.js"),oe=require("../core/RoundedBox.cjs.js"),te=require("../core/ScreenQuad.cjs.js"),ie=require("../core/useMatcapTexture.cjs.js"),ce=require("../core/useNormalTexture.cjs.js"),ue=require("../core/Stage.cjs.js"),ae=require("../core/Points.cjs.js"),pe=require("../core/Instances.cjs.js"),je=require("../core/Detailed.cjs.js"),ne=require("../core/Preload.cjs.js"),le=require("../core/BakeShadows.cjs.js"),xe=require("../core/meshBounds.cjs.js"),qe=require("../core/AdaptiveDpr.cjs.js"),de=require("../core/AdaptiveEvents.cjs.js"),he=require("../materials/MeshReflectorMaterial.cjs.js");require("@babel/runtime/helpers/extends"),require("@babel/runtime/helpers/objectWithoutPropertiesLoose"),require("react"),require("@react-three/fiber"),require("react-merge-refs"),require("../assets/cloud.base64.cjs.js"),require("../helpers/base64.cjs.js"),require("blob-polyfill"),require("three"),require("@babel/runtime/helpers/construct"),require("three-stdlib"),require("troika-three-text"),require("use-asset"),require("../helpers/environment-assets.cjs.js"),require("lodash.omit"),require("lodash.pick"),require("zustand"),require("@babel/runtime/helpers/createClass"),require("@babel/runtime/helpers/inheritsLoose"),require("three/examples/js/libs/stats.min"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("@babel/runtime/helpers/assertThisInitialized"),require("../materials/SpotLightMaterial.cjs.js"),require("../helpers/matcap-assets.cjs.js"),require("../helpers/normal-assets.cjs.js"),require("../helpers/Position.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.Cloud=r.Cloud,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=o.CubicBezierLine,exports.Line=t.Line,exports.PositionalAudio=i.PositionalAudio,exports.Text=c.Text,exports.Environment=u.Environment,exports.Effects=a.Effects,exports.isWebGL2Available=a.isWebGL2Available,exports.GradientTexture=p.GradientTexture,exports.OrthographicCamera=j.OrthographicCamera,exports.PerspectiveCamera=n.PerspectiveCamera,exports.CameraShake=l.CameraShake,exports.CubeCamera=x.CubeCamera,exports.DeviceOrientationControls=q.DeviceOrientationControls,exports.FlyControls=d.FlyControls,exports.MapControls=h.MapControls,exports.OrbitControls=C.OrbitControls,exports.TrackballControls=m.TrackballControls,exports.TransformControls=b.TransformControls,exports.PointerLockControls=S.PointerLockControls,exports.FirstPersonControls=P.FirstPersonControls,exports.GizmoHelper=M.GizmoHelper,exports.useGizmoContext=M.useGizmoContext,exports.GizmoViewcube=T.GizmoViewcube,exports.GizmoViewport=f.GizmoViewport,exports.useCubeTexture=B.useCubeTexture,exports.useFBX=g.useFBX,exports.useGLTF=v.useGLTF,exports.useProgress=L.useProgress,exports.IsObject=G.IsObject,exports.useTexture=G.useTexture,exports.Reflector=D.Reflector,exports.Shadow=z.Shadow,exports.Stats=A.Stats,exports.Center=w.Center,exports.DepthBuffer=k.DepthBuffer,exports.useAspect=F.useAspect,exports.useCamera=O.useCamera,exports.useDetectGPU=E.useDetectGPU,exports.useHelper=y.useHelper,exports.useBVH=I.useBVH,exports.useContextBridge=R.useContextBridge,exports.useAnimations=H.useAnimations,exports.useFBO=V.useFBO,exports.useSimplification=Q.useSimplification,exports.useTessellation=W.useTessellation,exports.useEdgeSplit=N.useEdgeSplit,exports.CurveModifier=U.CurveModifier,exports.MeshDistortMaterial=X.MeshDistortMaterial,exports.MeshWobbleMaterial=K.MeshWobbleMaterial,exports.PointMaterial=_.PointMaterial,exports.PointMaterialImpl=_.PointMaterialImpl,exports.shaderMaterial=J.shaderMaterial,exports.Sky=Y.Sky,exports.calcPosFromAngles=Y.calcPosFromAngles,exports.softShadows=Z.softShadows,exports.Stars=$.Stars,exports.ContactShadows=ee.ContactShadows,exports.SpotLight=re.SpotLight,exports.Box=se.Box,exports.Circle=se.Circle,exports.Cone=se.Cone,exports.Cylinder=se.Cylinder,exports.Dodecahedron=se.Dodecahedron,exports.Extrude=se.Extrude,exports.Icosahedron=se.Icosahedron,exports.Lathe=se.Lathe,exports.Octahedron=se.Octahedron,exports.Parametric=se.Parametric,exports.Plane=se.Plane,exports.Polyhedron=se.Polyhedron,exports.Ring=se.Ring,exports.Sphere=se.Sphere,exports.Tetrahedron=se.Tetrahedron,exports.Torus=se.Torus,exports.TorusKnot=se.TorusKnot,exports.Tube=se.Tube,exports.RoundedBox=oe.RoundedBox,exports.ScreenQuad=te.ScreenQuad,exports.useMatcapTexture=ie.useMatcapTexture,exports.useNormalTexture=ce.useNormalTexture,exports.Stage=ue.Stage,exports.Point=ae.Point,exports.Points=ae.Points,exports.Instance=pe.Instance,exports.Instances=pe.Instances,exports.Merged=pe.Merged,exports.Detailed=je.Detailed,exports.Preload=ne.Preload,exports.BakeShadows=le.BakeShadows,exports.meshBounds=xe.meshBounds,exports.AdaptiveDpr=qe.AdaptiveDpr,exports.AdaptiveEvents=de.AdaptiveEvents,exports.MeshReflectorMaterial=he.MeshReflectorMaterial;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/Billboard.cjs.js"),r=require("../core/Cloud.cjs.js"),s=require("../core/QuadraticBezierLine.cjs.js"),o=require("../core/CubicBezierLine.cjs.js"),t=require("../core/Line.cjs.js"),i=require("../core/PositionalAudio.cjs.js"),c=require("../core/Text.cjs.js"),a=require("../core/Environment.cjs.js"),u=require("../core/Effects.cjs.js"),j=require("../core/GradientTexture.cjs.js"),p=require("../core/OrthographicCamera.cjs.js"),n=require("../core/PerspectiveCamera.cjs.js"),l=require("../core/CameraShake.cjs.js"),x=require("../core/CubeCamera.cjs.js"),q=require("../core/DeviceOrientationControls.cjs.js"),d=require("../core/FlyControls.cjs.js"),h=require("../core/MapControls.cjs.js"),C=require("../core/OrbitControls.cjs.js"),m=require("../core/TrackballControls.cjs.js"),b=require("../core/TransformControls.cjs.js"),S=require("../core/PointerLockControls.cjs.js"),P=require("../core/FirstPersonControls.cjs.js"),M=require("../core/GizmoHelper.cjs.js"),T=require("../core/GizmoViewcube.cjs.js"),f=require("../core/GizmoViewport.cjs.js"),B=require("../core/useCubeTexture.cjs.js"),g=require("../core/useFBX.cjs.js"),v=require("../core/useGLTF.cjs.js"),L=require("../core/useProgress.cjs.js"),G=require("../core/useTexture.cjs.js"),D=require("../core/Reflector.cjs.js"),A=require("../core/Shadow.cjs.js"),w=require("../core/Stats.cjs.js"),z=require("../core/Center.cjs.js"),k=require("../core/DepthBuffer.cjs.js"),F=require("../core/useAspect.cjs.js"),O=require("../core/useCamera.cjs.js"),E=require("../core/useDetectGPU.cjs.js"),y=require("../core/useHelper.cjs.js"),I=require("../core/useBVH.cjs.js"),R=require("../core/useContextBridge.cjs.js"),H=require("../core/useAnimations.cjs.js"),V=require("../core/useFBO.cjs.js"),Q=require("../core/useSimplification.cjs.js"),W=require("../core/useTessellation.cjs.js"),N=require("../core/useEdgeSplit.cjs.js"),U=require("../core/CurveModifier.cjs.js"),X=require("../core/MeshDistortMaterial.cjs.js"),K=require("../core/MeshWobbleMaterial.cjs.js"),_=require("../core/PointMaterial.cjs.js"),J=require("../core/shaderMaterial.cjs.js"),Y=require("../core/Sky.cjs.js"),Z=require("../core/softShadows.cjs.js"),$=require("../core/Stars.cjs.js"),ee=require("../core/ContactShadows.cjs.js"),re=require("../core/SpotLight.cjs.js"),se=require("../core/shapes.cjs.js"),oe=require("../core/RoundedBox.cjs.js"),te=require("../core/ScreenQuad.cjs.js"),ie=require("../core/useMatcapTexture.cjs.js"),ce=require("../core/useNormalTexture.cjs.js"),ae=require("../core/Stage.cjs.js"),ue=require("../core/Points.cjs.js"),je=require("../core/Instances.cjs.js"),pe=require("../core/Detailed.cjs.js"),ne=require("../core/Preload.cjs.js"),le=require("../core/BakeShadows.cjs.js"),xe=require("../core/meshBounds.cjs.js"),qe=require("../core/AdaptiveDpr.cjs.js"),de=require("../core/AdaptiveEvents.cjs.js"),he=require("../materials/MeshReflectorMaterial.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("@react-three/fiber"),require("react-merge-refs"),require("../assets/cloud.base64.cjs.js"),require("../helpers/base64.cjs.js"),require("blob-polyfill"),require("three"),require("three-stdlib"),require("troika-three-text"),require("use-asset"),require("../helpers/environment-assets.cjs.js"),require("lodash.omit"),require("lodash.pick"),require("zustand"),require("three/examples/js/libs/stats.min"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/SpotLightMaterial.cjs.js"),require("../helpers/matcap-assets.cjs.js"),require("../helpers/normal-assets.cjs.js"),require("../helpers/Position.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.Cloud=r.Cloud,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=o.CubicBezierLine,exports.Line=t.Line,exports.PositionalAudio=i.PositionalAudio,exports.Text=c.Text,exports.Environment=a.Environment,exports.Effects=u.Effects,exports.isWebGL2Available=u.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.OrthographicCamera=p.OrthographicCamera,exports.PerspectiveCamera=n.PerspectiveCamera,exports.CameraShake=l.CameraShake,exports.CubeCamera=x.CubeCamera,exports.DeviceOrientationControls=q.DeviceOrientationControls,exports.FlyControls=d.FlyControls,exports.MapControls=h.MapControls,exports.OrbitControls=C.OrbitControls,exports.TrackballControls=m.TrackballControls,exports.TransformControls=b.TransformControls,exports.PointerLockControls=S.PointerLockControls,exports.FirstPersonControls=P.FirstPersonControls,exports.GizmoHelper=M.GizmoHelper,exports.useGizmoContext=M.useGizmoContext,exports.GizmoViewcube=T.GizmoViewcube,exports.GizmoViewport=f.GizmoViewport,exports.useCubeTexture=B.useCubeTexture,exports.useFBX=g.useFBX,exports.useGLTF=v.useGLTF,exports.useProgress=L.useProgress,exports.IsObject=G.IsObject,exports.useTexture=G.useTexture,exports.Reflector=D.Reflector,exports.Shadow=A.Shadow,exports.Stats=w.Stats,exports.Center=z.Center,exports.DepthBuffer=k.DepthBuffer,exports.useAspect=F.useAspect,exports.useCamera=O.useCamera,exports.useDetectGPU=E.useDetectGPU,exports.useHelper=y.useHelper,exports.useBVH=I.useBVH,exports.useContextBridge=R.useContextBridge,exports.useAnimations=H.useAnimations,exports.useFBO=V.useFBO,exports.useSimplification=Q.useSimplification,exports.useTessellation=W.useTessellation,exports.useEdgeSplit=N.useEdgeSplit,exports.CurveModifier=U.CurveModifier,exports.MeshDistortMaterial=X.MeshDistortMaterial,exports.MeshWobbleMaterial=K.MeshWobbleMaterial,exports.PointMaterial=_.PointMaterial,exports.PointMaterialImpl=_.PointMaterialImpl,exports.shaderMaterial=J.shaderMaterial,exports.Sky=Y.Sky,exports.calcPosFromAngles=Y.calcPosFromAngles,exports.softShadows=Z.softShadows,exports.Stars=$.Stars,exports.ContactShadows=ee.ContactShadows,exports.SpotLight=re.SpotLight,exports.Box=se.Box,exports.Circle=se.Circle,exports.Cone=se.Cone,exports.Cylinder=se.Cylinder,exports.Dodecahedron=se.Dodecahedron,exports.Extrude=se.Extrude,exports.Icosahedron=se.Icosahedron,exports.Lathe=se.Lathe,exports.Octahedron=se.Octahedron,exports.Parametric=se.Parametric,exports.Plane=se.Plane,exports.Polyhedron=se.Polyhedron,exports.Ring=se.Ring,exports.Sphere=se.Sphere,exports.Tetrahedron=se.Tetrahedron,exports.Torus=se.Torus,exports.TorusKnot=se.TorusKnot,exports.Tube=se.Tube,exports.RoundedBox=oe.RoundedBox,exports.ScreenQuad=te.ScreenQuad,exports.useMatcapTexture=ie.useMatcapTexture,exports.useNormalTexture=ce.useNormalTexture,exports.Stage=ae.Stage,exports.Point=ue.Point,exports.Points=ue.Points,exports.Instance=je.Instance,exports.Instances=je.Instances,exports.Merged=je.Merged,exports.Detailed=pe.Detailed,exports.Preload=ne.Preload,exports.BakeShadows=le.BakeShadows,exports.meshBounds=xe.meshBounds,exports.AdaptiveDpr=qe.AdaptiveDpr,exports.AdaptiveEvents=de.AdaptiveEvents,exports.MeshReflectorMaterial=he.MeshReflectorMaterial;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-three/drei",
3
- "version": "7.11.0",
3
+ "version": "7.12.2",
4
4
  "private": false,
5
5
  "description": "useful add-ons for react-three-fiber",
6
6
  "keywords": [
@@ -49,7 +49,7 @@
49
49
  "react-merge-refs": "^1.0.0",
50
50
  "stats.js": "^0.17.0",
51
51
  "three-mesh-bvh": "^0.4.1",
52
- "three-stdlib": "^2.4.0",
52
+ "three-stdlib": "^2.4.2",
53
53
  "troika-three-text": "^0.42.0",
54
54
  "use-asset": "^1.0.4",
55
55
  "utility-types": "^3.10.0",
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@react-three/fiber");function r(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var n=r(e);const o=()=>{throw new Error("Html component requires a 'react-dom' package, please install it")};let u={unmountComponentAtNode:o,render:o};try{u=require("react-dom")}catch{}exports.CycleRaycast=function({onChanged:e,preventDefault:r=!0,scroll:o=!0,keyCode:u=9}){const l=n.useRef(0),c=t.useThree((e=>e.raycaster)),a=t.useThree((e=>e.get)),i=t.useThree((e=>e.gl));return n.useEffect((()=>{let t,n=[];const i=c.filter,s=()=>e&&e(n,Math.round(l.current)%n.length);c.filter=(e,t)=>{let r=[...e];r.length===n.length&&n.every((e=>r.map((e=>e.object.uuid)).includes(e.object.uuid)))||(l.current=0,n=r,s()),i&&(r=i(r,t));for(let e=0;e<Math.round(l.current)%r.length;e++){const e=r.shift();r=[...r,e]}return r};const d=e=>{var r,n;l.current=e(l.current),null==(r=a().events.handlers)||r.onPointerCancel(void 0),null==(n=a().events.handlers)||n.onPointerMove(t),s()},v=e=>{(e.keyCode||e.which===u)&&(r&&e.preventDefault(),n.length>1&&d((e=>e+1)))},h=e=>{r&&e.preventDefault();let t=0;e||(e=window.event),e.wheelDelta?t=e.wheelDelta/120:e.detail&&(t=-e.detail/3),n.length>1&&d((e=>Math.abs(e-t)))},f=e=>t=e;return document.addEventListener("pointermove",f,{passive:!0}),o&&document.addEventListener("wheel",h),document.addEventListener("keydown",v),()=>{c.filter=i,document.removeEventListener("keydown",v),o&&document.removeEventListener("wheel",h),document.removeEventListener("pointermove",f)}}),[i,a,c,e,r,o,u]),null};
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import * as THREE from 'three';
3
+ export declare type CycleRaycastProps = {
4
+ onChanged?: (hits: THREE.Intersection[], cycle: number) => React.ReactElement;
5
+ preventDefault?: boolean;
6
+ scroll?: boolean;
7
+ keyCode?: number;
8
+ };
9
+ export declare function CycleRaycast({ onChanged, preventDefault, scroll, keyCode }: CycleRaycastProps): null;
@@ -0,0 +1,106 @@
1
+ import * as React from 'react';
2
+ import { useThree } from '@react-three/fiber';
3
+
4
+ const noReactDomError = () => {
5
+ throw new Error(`Html component requires a 'react-dom' package, please install it`);
6
+ };
7
+
8
+ let ReactDOM = {
9
+ unmountComponentAtNode: noReactDomError,
10
+ render: noReactDomError
11
+ }; // workaround to not to break apps that doesn't have react-dom,
12
+ // don't use Html component and import from the root
13
+ // e.g. `import { OrbitControls } from '@react-three/drei'`
14
+
15
+ try {
16
+ ReactDOM = require('react-dom');
17
+ } catch {// react-dom isn't installed
18
+ }
19
+
20
+ function CycleRaycast({
21
+ onChanged,
22
+ preventDefault = true,
23
+ scroll = true,
24
+ keyCode = 9
25
+ }) {
26
+ const cycle = React.useRef(0);
27
+ const raycaster = useThree(state => state.raycaster);
28
+ const get = useThree(state => state.get);
29
+ const gl = useThree(state => state.gl);
30
+ React.useEffect(() => {
31
+ let hits = [];
32
+ let lastEvent = undefined;
33
+ const prev = raycaster.filter; // Render custom status
34
+
35
+ const callback = () => onChanged && onChanged(hits, Math.round(cycle.current) % hits.length); // Overwrite the raycasters custom filter (this only exists in r3f)
36
+
37
+
38
+ raycaster.filter = (intersections, state) => {
39
+ // Reset cycle when the intersections change
40
+ let clone = [...intersections];
41
+
42
+ if (clone.length !== hits.length || !hits.every(hit => clone.map(e => e.object.uuid).includes(hit.object.uuid))) {
43
+ cycle.current = 0;
44
+ hits = clone;
45
+ callback();
46
+ } // Run custom filter if there is one
47
+
48
+
49
+ if (prev) clone = prev(clone, state); // Cycle through the actual raycast intersects
50
+
51
+ for (let i = 0; i < Math.round(cycle.current) % clone.length; i++) {
52
+ const first = clone.shift();
53
+ clone = [...clone, first];
54
+ }
55
+
56
+ return clone;
57
+ }; // Cycle, refresh events and render status
58
+
59
+
60
+ const refresh = fn => {
61
+ var _get$events$handlers, _get$events$handlers2;
62
+
63
+ cycle.current = fn(cycle.current); // Cancel hovered elements and fake a pointer-move
64
+
65
+ (_get$events$handlers = get().events.handlers) == null ? void 0 : _get$events$handlers.onPointerCancel(undefined);
66
+ (_get$events$handlers2 = get().events.handlers) == null ? void 0 : _get$events$handlers2.onPointerMove(lastEvent);
67
+ callback();
68
+ }; // Key events
69
+
70
+
71
+ const tabEvent = event => {
72
+ if (event.keyCode || event.which === keyCode) {
73
+ if (preventDefault) event.preventDefault();
74
+ if (hits.length > 1) refresh(current => current + 1);
75
+ }
76
+ }; // Wheel events
77
+
78
+
79
+ const wheelEvent = event => {
80
+ if (preventDefault) event.preventDefault();
81
+ let delta = 0;
82
+ if (!event) event = window.event;
83
+ if (event.wheelDelta) delta = event.wheelDelta / 120;else if (event.detail) delta = -event.detail / 3;
84
+ if (hits.length > 1) refresh(current => Math.abs(current - delta));
85
+ }; // Catch last move event and position custom status
86
+
87
+
88
+ const moveEvent = event => lastEvent = event;
89
+
90
+ document.addEventListener('pointermove', moveEvent, {
91
+ passive: true
92
+ });
93
+ if (scroll) document.addEventListener('wheel', wheelEvent);
94
+ document.addEventListener('keydown', tabEvent);
95
+ return () => {
96
+ // Clean up
97
+ raycaster.filter = prev;
98
+ document.removeEventListener('keydown', tabEvent);
99
+ if (scroll) document.removeEventListener('wheel', wheelEvent);
100
+ document.removeEventListener('pointermove', moveEvent);
101
+ };
102
+ }, [gl, get, raycaster, onChanged, preventDefault, scroll, keyCode]);
103
+ return null;
104
+ }
105
+
106
+ export { CycleRaycast };
package/web/Html.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@babel/runtime/helpers/objectWithoutPropertiesLoose"),r=require("react"),n=require("three"),o=require("@react-three/fiber");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var s=a(e),u=a(t),c=i(r),l=new n.Vector3,d=new n.Vector3,f=new n.Vector3,m=function(){throw new Error("Html component requires a 'react-dom' package, please install it")},p={unmountComponentAtNode:m,render:m};try{p=require("react-dom")}catch(e){}function h(e,t,r){var n=l.setFromMatrixPosition(e.matrixWorld);n.project(t);var o=r.width/2,a=r.height/2;return[n.x*o+o,-n.y*a+a]}var v=function(e){return Math.abs(e)<1e-10?0:e};function x(e,t,r){void 0===r&&(r="");for(var n="matrix3d(",o=0;16!==o;o++)n+=v(t[o]*e.elements[o])+(15!==o?",":")");return r+n}var y,b=(y=[1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1],function(e){return x(e,y)}),g=function(e,t){return x(e,[1/(r=t),1/r,1/r,1,-1/r,-1/r,-1/r,-1,1/r,1/r,1/r,1,1,1,1,1],"translate(-50%,-50%)");var r},M=c.forwardRef((function(e,t){var r,a=e.children,i=e.eps,m=void 0===i?.001:i,x=e.style,y=e.className,M=e.prepend,P=e.center,w=e.fullscreen,W=e.portal,E=e.distanceFactor,O=e.sprite,j=void 0!==O&&O,F=e.transform,T=void 0!==F&&F,C=e.occlude,R=e.onOcclude,z=e.zIndexRange,q=void 0===z?[16777271,0]:z,I=e.calculatePosition,N=void 0===I?h:I,A=e.as,_=void 0===A?"div":A,k=e.pointerEvents,V=void 0===k?"auto":k,D=u.default(e,["children","eps","style","className","prepend","center","fullscreen","portal","distanceFactor","sprite","transform","occlude","onOcclude","zIndexRange","calculatePosition","as","pointerEvents"]),H=o.useThree((function(e){return e.gl})),L=o.useThree((function(e){return e.camera})),S=o.useThree((function(e){return e.scene})),Z=o.useThree((function(e){return e.size})),B=o.useThree((function(e){return e.raycaster})),G=c.useState((function(){return document.createElement(_)}))[0],J=c.useRef(null),K=c.useRef(0),Q=c.useRef([0,0]),U=c.useRef(null),X=c.useRef(null),Y=null!==(r=null==W?void 0:W.current)&&void 0!==r?r:H.domElement.parentNode;c.useEffect((function(){if(J.current){if(S.updateMatrixWorld(),T)G.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{var e=N(J.current,L,Z);G.style.cssText="position:absolute;top:0;left:0;transform:translate3d("+e[0]+"px,"+e[1]+"px,0);transform-origin:0 0;"}return Y&&(M?Y.prepend(G):Y.appendChild(G)),function(){Y&&Y.removeChild(G),p.unmountComponentAtNode(G)}}}),[Y,T]);var $=c.useMemo((function(){return T?{position:"absolute",top:0,left:0,width:Z.width,height:Z.height,transformStyle:"preserve-3d",pointerEvents:"none"}:s.default({position:"absolute",transform:P?"translate3d(-50%,-50%,0)":"none"},w&&{top:-Z.height/2,left:-Z.width/2,width:Z.width,height:Z.height},x)}),[x,P,w,Z,T]),ee=c.useMemo((function(){return{position:"absolute",pointerEvents:V}}),[V]);c.useLayoutEffect((function(){T?p.render(c.createElement("div",{ref:U,style:$},c.createElement("div",{ref:X,style:ee},c.createElement("div",{ref:t,className:y,style:x,children:a}))),G):p.render(c.createElement("div",{ref:t,style:$,className:y,children:a}),G)}));var te=c.useRef(!0);return o.useFrame((function(){if(J.current){L.updateMatrixWorld(),J.current.updateWorldMatrix(!0,!1);var e=T?Q.current:N(J.current,L,Z);if(T||Math.abs(K.current-L.zoom)>m||Math.abs(Q.current[0]-e[0])>m||Math.abs(Q.current[1]-e[1])>m){var t=function(e,t){var r=l.setFromMatrixPosition(e.matrixWorld),n=d.setFromMatrixPosition(t.matrixWorld),o=r.sub(n),a=t.getWorldDirection(f);return o.angleTo(a)>Math.PI/2}(J.current,L),r=!1;"boolean"==typeof C?!0===C&&(r=[S]):Array.isArray(C)&&(r=C.map((function(e){return e.current})));var o=te.current;if(r){var a=function(e,t,r,n){var o=l.setFromMatrixPosition(e.matrixWorld),a=o.clone();a.project(t),r.setFromCamera(a,t);var i=r.intersectObjects(n,!0);if(i.length){var s=i[0].distance;return o.distanceTo(r.ray.origin)<s}return!0}(J.current,L,B,r);te.current=a&&!t}else te.current=!t;if(o!==te.current&&(R?R(!te.current):G.style.display=te.current?"block":"none"),G.style.zIndex=""+function(e,t,r){if(t instanceof n.PerspectiveCamera||t instanceof n.OrthographicCamera){var o=l.setFromMatrixPosition(e.matrixWorld),a=d.setFromMatrixPosition(t.matrixWorld),i=o.distanceTo(a),s=(r[1]-r[0])/(t.far-t.near),u=r[1]-s*t.far;return Math.round(s*i+u)}}(J.current,L,q),T){var i=Z.width/2,s=Z.height/2,u=L.projectionMatrix.elements[5]*s,c=L,p=c.isOrthographicCamera,h=c.top,x=c.left,y=c.bottom,M=c.right,P=b(L.matrixWorldInverse),w=p?"scale("+u+")translate("+v(-(M+x)/2)+"px,"+v((h+y)/2)+"px)":"translateZ("+u+"px)",W=J.current.matrixWorld;j&&((W=L.matrixWorldInverse.clone().transpose().copyPosition(W).scale(J.current.scale)).elements[3]=W.elements[7]=W.elements[11]=0,W.elements[15]=1),G.style.width=Z.width+"px",G.style.height=Z.height+"px",G.style.perspective=p?"":u+"px",U.current&&X.current&&(U.current.style.transform=""+w+P+"translate("+i+"px,"+s+"px)",X.current.style.transform=g(W,1/((E||10)/400)))}else{var O=void 0===E?1:function(e,t){if(t instanceof n.OrthographicCamera)return t.zoom;if(t instanceof n.PerspectiveCamera){var r=l.setFromMatrixPosition(e.matrixWorld),o=d.setFromMatrixPosition(t.matrixWorld),a=t.fov*Math.PI/180,i=r.distanceTo(o);return 1/(2*Math.tan(a/2)*i)}return 1}(J.current,L)*E;G.style.transform="translate3d("+e[0]+"px,"+e[1]+"px,0) scale("+O+")"}Q.current=e,K.current=L.zoom}}})),c.createElement("group",s.default({},D,{ref:J}))}));exports.Html=M;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),n=require("@react-three/fiber");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var a=o(e),i=s(t);const c=new r.Vector3,l=new r.Vector3,u=new r.Vector3,d=()=>{throw new Error("Html component requires a 'react-dom' package, please install it")};let f={unmountComponentAtNode:d,render:d};try{f=require("react-dom")}catch{}function m(e,t,r){const n=c.setFromMatrixPosition(e.matrixWorld);n.project(t);const o=r.width/2,s=r.height/2;return[n.x*o+o,-n.y*s+s]}const p=e=>Math.abs(e)<1e-10?0:e;function h(e,t,r=""){let n="matrix3d(";for(let r=0;16!==r;r++)n+=p(t[r]*e.elements[r])+(15!==r?",":")");return r+n}const x=(y=[1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1],e=>h(e,y));var y;const v=(e,t)=>{return h(e,[1/(r=t),1/r,1/r,1,-1/r,-1/r,-1/r,-1,1/r,1/r,1/r,1,1,1,1,1],"translate(-50%,-50%)");var r},b=i.forwardRef((({children:e,eps:t=.001,style:o,className:s,prepend:d,center:h,fullscreen:y,portal:b,distanceFactor:g,sprite:M=!1,transform:w=!1,occlude:P,onOcclude:W,zIndexRange:$=[16777271,0],calculatePosition:E=m,as:O="div",pointerEvents:j="auto",...F},T)=>{var C;const R=n.useThree((({gl:e})=>e)),z=n.useThree((({camera:e})=>e)),q=n.useThree((({scene:e})=>e)),I=n.useThree((({size:e})=>e)),N=n.useThree((({raycaster:e})=>e)),[A]=i.useState((()=>document.createElement(O))),_=i.useRef(null),k=i.useRef(0),V=i.useRef([0,0]),D=i.useRef(null),H=i.useRef(null),S=null!==(C=null==b?void 0:b.current)&&void 0!==C?C:R.domElement.parentNode;i.useEffect((()=>{if(_.current){if(q.updateMatrixWorld(),w)A.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{const e=E(_.current,z,I);A.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${e[0]}px,${e[1]}px,0);transform-origin:0 0;`}return S&&(d?S.prepend(A):S.appendChild(A)),()=>{S&&S.removeChild(A),f.unmountComponentAtNode(A)}}}),[S,w]);const L=i.useMemo((()=>w?{position:"absolute",top:0,left:0,width:I.width,height:I.height,transformStyle:"preserve-3d",pointerEvents:"none"}:{position:"absolute",transform:h?"translate3d(-50%,-50%,0)":"none",...y&&{top:-I.height/2,left:-I.width/2,width:I.width,height:I.height},...o}),[o,h,y,I,w]),Z=i.useMemo((()=>({position:"absolute",pointerEvents:j})),[j]);i.useLayoutEffect((()=>{w?f.render(i.createElement("div",{ref:D,style:L},i.createElement("div",{ref:H,style:Z},i.createElement("div",{ref:T,className:s,style:o,children:e}))),A):f.render(i.createElement("div",{ref:T,style:L,className:s,children:e}),A)}));const B=i.useRef(!0);return n.useFrame((()=>{if(_.current){z.updateMatrixWorld(),_.current.updateWorldMatrix(!0,!1);const e=w?V.current:E(_.current,z,I);if(w||Math.abs(k.current-z.zoom)>t||Math.abs(V.current[0]-e[0])>t||Math.abs(V.current[1]-e[1])>t){const t=function(e,t){const r=c.setFromMatrixPosition(e.matrixWorld),n=l.setFromMatrixPosition(t.matrixWorld),o=r.sub(n),s=t.getWorldDirection(u);return o.angleTo(s)>Math.PI/2}(_.current,z);let n=!1;"boolean"==typeof P?!0===P&&(n=[q]):Array.isArray(P)&&(n=P.map((e=>e.current)));const o=B.current;if(n){const e=function(e,t,r,n){const o=c.setFromMatrixPosition(e.matrixWorld),s=o.clone();s.project(t),r.setFromCamera(s,t);const a=r.intersectObjects(n,!0);if(a.length){const e=a[0].distance;return o.distanceTo(r.ray.origin)<e}return!0}(_.current,z,N,n);B.current=e&&!t}else B.current=!t;if(o!==B.current&&(W?W(!B.current):A.style.display=B.current?"block":"none"),A.style.zIndex=`${function(e,t,n){if(t instanceof r.PerspectiveCamera||t instanceof r.OrthographicCamera){const r=c.setFromMatrixPosition(e.matrixWorld),o=l.setFromMatrixPosition(t.matrixWorld),s=r.distanceTo(o),a=(n[1]-n[0])/(t.far-t.near),i=n[1]-a*t.far;return Math.round(a*s+i)}}(_.current,z,$)}`,w){const[e,t]=[I.width/2,I.height/2],r=z.projectionMatrix.elements[5]*t,{isOrthographicCamera:n,top:o,left:s,bottom:a,right:i}=z,c=x(z.matrixWorldInverse),l=n?`scale(${r})translate(${p(-(i+s)/2)}px,${p((o+a)/2)}px)`:`translateZ(${r}px)`;let u=_.current.matrixWorld;M&&(u=z.matrixWorldInverse.clone().transpose().copyPosition(u).scale(_.current.scale),u.elements[3]=u.elements[7]=u.elements[11]=0,u.elements[15]=1),A.style.width=I.width+"px",A.style.height=I.height+"px",A.style.perspective=n?"":`${r}px`,D.current&&H.current&&(D.current.style.transform=`${l}${c}translate(${e}px,${t}px)`,H.current.style.transform=v(u,1/((g||10)/400)))}else{const t=void 0===g?1:function(e,t){if(t instanceof r.OrthographicCamera)return t.zoom;if(t instanceof r.PerspectiveCamera){const r=c.setFromMatrixPosition(e.matrixWorld),n=l.setFromMatrixPosition(t.matrixWorld),o=t.fov*Math.PI/180,s=r.distanceTo(n);return 1/(2*Math.tan(o/2)*s)}return 1}(_.current,z)*g;A.style.transform=`translate3d(${e[0]}px,${e[1]}px,0) scale(${t})`}V.current=e,k.current=z.zoom}}})),i.createElement("group",a.default({},F,{ref:_}))}));exports.Html=b;
package/web/Loader.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("../core/useProgress.cjs.js");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}require("three"),require("zustand");var a=n(e),u=i(t),o=function(e){return"Loading "+e.toFixed(2)+"%"};var c={container:{position:"absolute",top:0,left:0,width:"100%",height:"100%",background:"#171717",display:"flex",alignItems:"center",justifyContent:"center",transition:"opacity 300ms ease",zIndex:1e3},inner:{width:100,height:3,background:"#272727",textAlign:"center"},bar:{height:3,width:"100%",background:"white",transition:"transform 200ms",transformOrigin:"left center"},data:{display:"inline-block",position:"relative",fontVariantNumeric:"tabular-nums",marginTop:"0.8em",color:"#f0f0f0",fontSize:"0.6em",fontFamily:'-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", "Helvetica Neue", Helvetica, Arial, Roboto, Ubuntu, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',whiteSpace:"nowrap"}};exports.Loader=function(e){var t=e.containerStyles,n=e.innerStyles,i=e.barStyles,l=e.dataStyles,s=e.dataInterpolation,f=void 0===s?o:s,d=e.initialState,m=void 0===d?function(e){return e}:d,p=r.useProgress(),b=p.active,y=p.progress,g=u.useRef(0),v=u.useRef(0),h=u.useRef(null),S=u.useState(m(b)),j=S[0],E=S[1];u.useEffect((function(){var e;return b!==j&&(e=setTimeout((function(){return E(b)}),300)),function(){return clearTimeout(e)}}),[j,b]);var x=u.useCallback((function(){h.current&&(g.current+=(y-g.current)/2,(g.current>.95*y||100===y)&&(g.current=y),h.current.innerText=f(g.current),g.current<y&&(v.current=requestAnimationFrame(x)))}),[f,y]);return u.useEffect((function(){return x(),function(){return cancelAnimationFrame(v.current)}}),[x]),j?u.createElement("div",{style:a.default({},c.container,{opacity:b?1:0},t)},u.createElement("div",null,u.createElement("div",{style:a.default({},c.inner,n)},u.createElement("div",{style:a.default({},c.bar,{transform:"scaleX("+y/100+")"},i)}),u.createElement("span",{ref:h,style:a.default({},c.data,l)})))):null};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("../core/useProgress.cjs.js");function r(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}require("three"),require("zustand");var n=r(e);const a=e=>`Loading ${e.toFixed(2)}%`;const i={container:{position:"absolute",top:0,left:0,width:"100%",height:"100%",background:"#171717",display:"flex",alignItems:"center",justifyContent:"center",transition:"opacity 300ms ease",zIndex:1e3},inner:{width:100,height:3,background:"#272727",textAlign:"center"},bar:{height:3,width:"100%",background:"white",transition:"transform 200ms",transformOrigin:"left center"},data:{display:"inline-block",position:"relative",fontVariantNumeric:"tabular-nums",marginTop:"0.8em",color:"#f0f0f0",fontSize:"0.6em",fontFamily:'-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", "Helvetica Neue", Helvetica, Arial, Roboto, Ubuntu, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',whiteSpace:"nowrap"}};exports.Loader=function({containerStyles:e,innerStyles:r,barStyles:o,dataStyles:s,dataInterpolation:c=a,initialState:u=(e=>e)}){const{active:l,progress:f}=t.useProgress(),m=n.useRef(0),d=n.useRef(0),p=n.useRef(null),[y,b]=n.useState(u(l));n.useEffect((()=>{let e;return l!==y&&(e=setTimeout((()=>b(l)),300)),()=>clearTimeout(e)}),[y,l]);const g=n.useCallback((()=>{p.current&&(m.current+=(f-m.current)/2,(m.current>.95*f||100===f)&&(m.current=f),p.current.innerText=c(m.current),m.current<f&&(d.current=requestAnimationFrame(g)))}),[c,f]);return n.useEffect((()=>(g(),()=>cancelAnimationFrame(d.current))),[g]),y?n.createElement("div",{style:{...i.container,opacity:l?1:0,...e}},n.createElement("div",null,n.createElement("div",{style:{...i.inner,...r}},n.createElement("div",{style:{...i.bar,transform:`scaleX(${f/100})`,...o}}),n.createElement("span",{ref:p,style:{...i.data,...s}})))):null};
package/web/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Html.cjs.js"),r=require("./useCursor.cjs.js"),s=require("./Loader.cjs.js"),o=require("../core/Billboard.cjs.js"),t=require("../core/Cloud.cjs.js"),i=require("../core/QuadraticBezierLine.cjs.js"),u=require("../core/CubicBezierLine.cjs.js"),c=require("../core/Line.cjs.js"),a=require("../core/PositionalAudio.cjs.js"),p=require("../core/Text.cjs.js"),j=require("../core/Environment.cjs.js"),n=require("../core/Effects.cjs.js"),l=require("../core/GradientTexture.cjs.js"),x=require("../core/OrthographicCamera.cjs.js"),q=require("../core/PerspectiveCamera.cjs.js"),d=require("../core/CameraShake.cjs.js"),h=require("../core/CubeCamera.cjs.js"),C=require("../core/DeviceOrientationControls.cjs.js"),m=require("../core/FlyControls.cjs.js"),b=require("../core/MapControls.cjs.js"),S=require("../core/OrbitControls.cjs.js"),P=require("../core/TrackballControls.cjs.js"),M=require("../core/TransformControls.cjs.js"),T=require("../core/PointerLockControls.cjs.js"),f=require("../core/FirstPersonControls.cjs.js"),B=require("../core/GizmoHelper.cjs.js"),L=require("../core/GizmoViewcube.cjs.js"),g=require("../core/GizmoViewport.cjs.js"),v=require("../core/useCubeTexture.cjs.js"),G=require("../core/useFBX.cjs.js"),D=require("../core/useGLTF.cjs.js"),z=require("../core/useProgress.cjs.js"),A=require("../core/useTexture.cjs.js"),w=require("../core/Reflector.cjs.js"),k=require("../core/Shadow.cjs.js"),F=require("../core/Stats.cjs.js"),O=require("../core/Center.cjs.js"),E=require("../core/DepthBuffer.cjs.js"),y=require("../core/useAspect.cjs.js"),H=require("../core/useCamera.cjs.js"),I=require("../core/useDetectGPU.cjs.js"),R=require("../core/useHelper.cjs.js"),V=require("../core/useBVH.cjs.js"),Q=require("../core/useContextBridge.cjs.js"),W=require("../core/useAnimations.cjs.js"),N=require("../core/useFBO.cjs.js"),U=require("../core/useSimplification.cjs.js"),X=require("../core/useTessellation.cjs.js"),K=require("../core/useEdgeSplit.cjs.js"),_=require("../core/CurveModifier.cjs.js"),J=require("../core/MeshDistortMaterial.cjs.js"),Y=require("../core/MeshWobbleMaterial.cjs.js"),Z=require("../core/PointMaterial.cjs.js"),$=require("../core/shaderMaterial.cjs.js"),ee=require("../core/Sky.cjs.js"),re=require("../core/softShadows.cjs.js"),se=require("../core/Stars.cjs.js"),oe=require("../core/ContactShadows.cjs.js"),te=require("../core/SpotLight.cjs.js"),ie=require("../core/shapes.cjs.js"),ue=require("../core/RoundedBox.cjs.js"),ce=require("../core/ScreenQuad.cjs.js"),ae=require("../core/useMatcapTexture.cjs.js"),pe=require("../core/useNormalTexture.cjs.js"),je=require("../core/Stage.cjs.js"),ne=require("../core/Points.cjs.js"),le=require("../core/Instances.cjs.js"),xe=require("../core/Detailed.cjs.js"),qe=require("../core/Preload.cjs.js"),de=require("../core/BakeShadows.cjs.js"),he=require("../core/meshBounds.cjs.js"),Ce=require("../core/AdaptiveDpr.cjs.js"),me=require("../core/AdaptiveEvents.cjs.js"),be=require("../materials/MeshReflectorMaterial.cjs.js");require("@babel/runtime/helpers/extends"),require("@babel/runtime/helpers/objectWithoutPropertiesLoose"),require("react"),require("three"),require("@react-three/fiber"),require("zustand"),require("react-merge-refs"),require("../assets/cloud.base64.cjs.js"),require("../helpers/base64.cjs.js"),require("blob-polyfill"),require("@babel/runtime/helpers/construct"),require("three-stdlib"),require("troika-three-text"),require("use-asset"),require("../helpers/environment-assets.cjs.js"),require("lodash.omit"),require("lodash.pick"),require("@babel/runtime/helpers/createClass"),require("@babel/runtime/helpers/inheritsLoose"),require("three/examples/js/libs/stats.min"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("@babel/runtime/helpers/assertThisInitialized"),require("../materials/SpotLightMaterial.cjs.js"),require("../helpers/matcap-assets.cjs.js"),require("../helpers/normal-assets.cjs.js"),require("../helpers/Position.cjs.js"),require("react-composer"),exports.Html=e.Html,exports.useCursor=r.useCursor,exports.Loader=s.Loader,exports.Billboard=o.Billboard,exports.Cloud=t.Cloud,exports.QuadraticBezierLine=i.QuadraticBezierLine,exports.CubicBezierLine=u.CubicBezierLine,exports.Line=c.Line,exports.PositionalAudio=a.PositionalAudio,exports.Text=p.Text,exports.Environment=j.Environment,exports.Effects=n.Effects,exports.isWebGL2Available=n.isWebGL2Available,exports.GradientTexture=l.GradientTexture,exports.OrthographicCamera=x.OrthographicCamera,exports.PerspectiveCamera=q.PerspectiveCamera,exports.CameraShake=d.CameraShake,exports.CubeCamera=h.CubeCamera,exports.DeviceOrientationControls=C.DeviceOrientationControls,exports.FlyControls=m.FlyControls,exports.MapControls=b.MapControls,exports.OrbitControls=S.OrbitControls,exports.TrackballControls=P.TrackballControls,exports.TransformControls=M.TransformControls,exports.PointerLockControls=T.PointerLockControls,exports.FirstPersonControls=f.FirstPersonControls,exports.GizmoHelper=B.GizmoHelper,exports.useGizmoContext=B.useGizmoContext,exports.GizmoViewcube=L.GizmoViewcube,exports.GizmoViewport=g.GizmoViewport,exports.useCubeTexture=v.useCubeTexture,exports.useFBX=G.useFBX,exports.useGLTF=D.useGLTF,exports.useProgress=z.useProgress,exports.IsObject=A.IsObject,exports.useTexture=A.useTexture,exports.Reflector=w.Reflector,exports.Shadow=k.Shadow,exports.Stats=F.Stats,exports.Center=O.Center,exports.DepthBuffer=E.DepthBuffer,exports.useAspect=y.useAspect,exports.useCamera=H.useCamera,exports.useDetectGPU=I.useDetectGPU,exports.useHelper=R.useHelper,exports.useBVH=V.useBVH,exports.useContextBridge=Q.useContextBridge,exports.useAnimations=W.useAnimations,exports.useFBO=N.useFBO,exports.useSimplification=U.useSimplification,exports.useTessellation=X.useTessellation,exports.useEdgeSplit=K.useEdgeSplit,exports.CurveModifier=_.CurveModifier,exports.MeshDistortMaterial=J.MeshDistortMaterial,exports.MeshWobbleMaterial=Y.MeshWobbleMaterial,exports.PointMaterial=Z.PointMaterial,exports.PointMaterialImpl=Z.PointMaterialImpl,exports.shaderMaterial=$.shaderMaterial,exports.Sky=ee.Sky,exports.calcPosFromAngles=ee.calcPosFromAngles,exports.softShadows=re.softShadows,exports.Stars=se.Stars,exports.ContactShadows=oe.ContactShadows,exports.SpotLight=te.SpotLight,exports.Box=ie.Box,exports.Circle=ie.Circle,exports.Cone=ie.Cone,exports.Cylinder=ie.Cylinder,exports.Dodecahedron=ie.Dodecahedron,exports.Extrude=ie.Extrude,exports.Icosahedron=ie.Icosahedron,exports.Lathe=ie.Lathe,exports.Octahedron=ie.Octahedron,exports.Parametric=ie.Parametric,exports.Plane=ie.Plane,exports.Polyhedron=ie.Polyhedron,exports.Ring=ie.Ring,exports.Sphere=ie.Sphere,exports.Tetrahedron=ie.Tetrahedron,exports.Torus=ie.Torus,exports.TorusKnot=ie.TorusKnot,exports.Tube=ie.Tube,exports.RoundedBox=ue.RoundedBox,exports.ScreenQuad=ce.ScreenQuad,exports.useMatcapTexture=ae.useMatcapTexture,exports.useNormalTexture=pe.useNormalTexture,exports.Stage=je.Stage,exports.Point=ne.Point,exports.Points=ne.Points,exports.Instance=le.Instance,exports.Instances=le.Instances,exports.Merged=le.Merged,exports.Detailed=xe.Detailed,exports.Preload=qe.Preload,exports.BakeShadows=de.BakeShadows,exports.meshBounds=he.meshBounds,exports.AdaptiveDpr=Ce.AdaptiveDpr,exports.AdaptiveEvents=me.AdaptiveEvents,exports.MeshReflectorMaterial=be.MeshReflectorMaterial;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Html.cjs.js"),r=require("./CycleRaycast.cjs.js"),s=require("./useCursor.cjs.js"),o=require("./Loader.cjs.js"),t=require("../core/Billboard.cjs.js"),i=require("../core/Cloud.cjs.js"),c=require("../core/QuadraticBezierLine.cjs.js"),a=require("../core/CubicBezierLine.cjs.js"),u=require("../core/Line.cjs.js"),j=require("../core/PositionalAudio.cjs.js"),p=require("../core/Text.cjs.js"),n=require("../core/Environment.cjs.js"),l=require("../core/Effects.cjs.js"),x=require("../core/GradientTexture.cjs.js"),q=require("../core/OrthographicCamera.cjs.js"),d=require("../core/PerspectiveCamera.cjs.js"),C=require("../core/CameraShake.cjs.js"),h=require("../core/CubeCamera.cjs.js"),m=require("../core/DeviceOrientationControls.cjs.js"),b=require("../core/FlyControls.cjs.js"),S=require("../core/MapControls.cjs.js"),P=require("../core/OrbitControls.cjs.js"),M=require("../core/TrackballControls.cjs.js"),T=require("../core/TransformControls.cjs.js"),f=require("../core/PointerLockControls.cjs.js"),B=require("../core/FirstPersonControls.cjs.js"),g=require("../core/GizmoHelper.cjs.js"),v=require("../core/GizmoViewcube.cjs.js"),L=require("../core/GizmoViewport.cjs.js"),G=require("../core/useCubeTexture.cjs.js"),D=require("../core/useFBX.cjs.js"),A=require("../core/useGLTF.cjs.js"),w=require("../core/useProgress.cjs.js"),y=require("../core/useTexture.cjs.js"),z=require("../core/Reflector.cjs.js"),k=require("../core/Shadow.cjs.js"),F=require("../core/Stats.cjs.js"),O=require("../core/Center.cjs.js"),E=require("../core/DepthBuffer.cjs.js"),R=require("../core/useAspect.cjs.js"),H=require("../core/useCamera.cjs.js"),I=require("../core/useDetectGPU.cjs.js"),V=require("../core/useHelper.cjs.js"),Q=require("../core/useBVH.cjs.js"),W=require("../core/useContextBridge.cjs.js"),N=require("../core/useAnimations.cjs.js"),U=require("../core/useFBO.cjs.js"),X=require("../core/useSimplification.cjs.js"),K=require("../core/useTessellation.cjs.js"),_=require("../core/useEdgeSplit.cjs.js"),J=require("../core/CurveModifier.cjs.js"),Y=require("../core/MeshDistortMaterial.cjs.js"),Z=require("../core/MeshWobbleMaterial.cjs.js"),$=require("../core/PointMaterial.cjs.js"),ee=require("../core/shaderMaterial.cjs.js"),re=require("../core/Sky.cjs.js"),se=require("../core/softShadows.cjs.js"),oe=require("../core/Stars.cjs.js"),te=require("../core/ContactShadows.cjs.js"),ie=require("../core/SpotLight.cjs.js"),ce=require("../core/shapes.cjs.js"),ae=require("../core/RoundedBox.cjs.js"),ue=require("../core/ScreenQuad.cjs.js"),je=require("../core/useMatcapTexture.cjs.js"),pe=require("../core/useNormalTexture.cjs.js"),ne=require("../core/Stage.cjs.js"),le=require("../core/Points.cjs.js"),xe=require("../core/Instances.cjs.js"),qe=require("../core/Detailed.cjs.js"),de=require("../core/Preload.cjs.js"),Ce=require("../core/BakeShadows.cjs.js"),he=require("../core/meshBounds.cjs.js"),me=require("../core/AdaptiveDpr.cjs.js"),be=require("../core/AdaptiveEvents.cjs.js"),Se=require("../materials/MeshReflectorMaterial.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("three"),require("@react-three/fiber"),require("zustand"),require("react-merge-refs"),require("../assets/cloud.base64.cjs.js"),require("../helpers/base64.cjs.js"),require("blob-polyfill"),require("three-stdlib"),require("troika-three-text"),require("use-asset"),require("../helpers/environment-assets.cjs.js"),require("lodash.omit"),require("lodash.pick"),require("three/examples/js/libs/stats.min"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/SpotLightMaterial.cjs.js"),require("../helpers/matcap-assets.cjs.js"),require("../helpers/normal-assets.cjs.js"),require("../helpers/Position.cjs.js"),require("react-composer"),exports.Html=e.Html,exports.CycleRaycast=r.CycleRaycast,exports.useCursor=s.useCursor,exports.Loader=o.Loader,exports.Billboard=t.Billboard,exports.Cloud=i.Cloud,exports.QuadraticBezierLine=c.QuadraticBezierLine,exports.CubicBezierLine=a.CubicBezierLine,exports.Line=u.Line,exports.PositionalAudio=j.PositionalAudio,exports.Text=p.Text,exports.Environment=n.Environment,exports.Effects=l.Effects,exports.isWebGL2Available=l.isWebGL2Available,exports.GradientTexture=x.GradientTexture,exports.OrthographicCamera=q.OrthographicCamera,exports.PerspectiveCamera=d.PerspectiveCamera,exports.CameraShake=C.CameraShake,exports.CubeCamera=h.CubeCamera,exports.DeviceOrientationControls=m.DeviceOrientationControls,exports.FlyControls=b.FlyControls,exports.MapControls=S.MapControls,exports.OrbitControls=P.OrbitControls,exports.TrackballControls=M.TrackballControls,exports.TransformControls=T.TransformControls,exports.PointerLockControls=f.PointerLockControls,exports.FirstPersonControls=B.FirstPersonControls,exports.GizmoHelper=g.GizmoHelper,exports.useGizmoContext=g.useGizmoContext,exports.GizmoViewcube=v.GizmoViewcube,exports.GizmoViewport=L.GizmoViewport,exports.useCubeTexture=G.useCubeTexture,exports.useFBX=D.useFBX,exports.useGLTF=A.useGLTF,exports.useProgress=w.useProgress,exports.IsObject=y.IsObject,exports.useTexture=y.useTexture,exports.Reflector=z.Reflector,exports.Shadow=k.Shadow,exports.Stats=F.Stats,exports.Center=O.Center,exports.DepthBuffer=E.DepthBuffer,exports.useAspect=R.useAspect,exports.useCamera=H.useCamera,exports.useDetectGPU=I.useDetectGPU,exports.useHelper=V.useHelper,exports.useBVH=Q.useBVH,exports.useContextBridge=W.useContextBridge,exports.useAnimations=N.useAnimations,exports.useFBO=U.useFBO,exports.useSimplification=X.useSimplification,exports.useTessellation=K.useTessellation,exports.useEdgeSplit=_.useEdgeSplit,exports.CurveModifier=J.CurveModifier,exports.MeshDistortMaterial=Y.MeshDistortMaterial,exports.MeshWobbleMaterial=Z.MeshWobbleMaterial,exports.PointMaterial=$.PointMaterial,exports.PointMaterialImpl=$.PointMaterialImpl,exports.shaderMaterial=ee.shaderMaterial,exports.Sky=re.Sky,exports.calcPosFromAngles=re.calcPosFromAngles,exports.softShadows=se.softShadows,exports.Stars=oe.Stars,exports.ContactShadows=te.ContactShadows,exports.SpotLight=ie.SpotLight,exports.Box=ce.Box,exports.Circle=ce.Circle,exports.Cone=ce.Cone,exports.Cylinder=ce.Cylinder,exports.Dodecahedron=ce.Dodecahedron,exports.Extrude=ce.Extrude,exports.Icosahedron=ce.Icosahedron,exports.Lathe=ce.Lathe,exports.Octahedron=ce.Octahedron,exports.Parametric=ce.Parametric,exports.Plane=ce.Plane,exports.Polyhedron=ce.Polyhedron,exports.Ring=ce.Ring,exports.Sphere=ce.Sphere,exports.Tetrahedron=ce.Tetrahedron,exports.Torus=ce.Torus,exports.TorusKnot=ce.TorusKnot,exports.Tube=ce.Tube,exports.RoundedBox=ae.RoundedBox,exports.ScreenQuad=ue.ScreenQuad,exports.useMatcapTexture=je.useMatcapTexture,exports.useNormalTexture=pe.useNormalTexture,exports.Stage=ne.Stage,exports.Point=le.Point,exports.Points=le.Points,exports.Instance=xe.Instance,exports.Instances=xe.Instances,exports.Merged=xe.Merged,exports.Detailed=qe.Detailed,exports.Preload=de.Preload,exports.BakeShadows=Ce.BakeShadows,exports.meshBounds=he.meshBounds,exports.AdaptiveDpr=me.AdaptiveDpr,exports.AdaptiveEvents=be.AdaptiveEvents,exports.MeshReflectorMaterial=Se.MeshReflectorMaterial;
package/web/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { Html } from './Html';
2
+ export { CycleRaycast } from './CycleRaycast';
2
3
  export { useCursor } from './useCursor';
3
4
  export { Loader } from './Loader';
4
5
  export * from '../core';
package/web/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export { Html } from './Html.js';
2
+ export { CycleRaycast } from './CycleRaycast.js';
2
3
  export { useCursor } from './useCursor.js';
3
4
  export { Loader } from './Loader.js';
4
5
  export { Billboard } from '../core/Billboard.js';
@@ -1 +1 @@
1
- "use strict";function e(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var u=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,u.get?u:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("react"));exports.useCursor=function(e,r,u){void 0===r&&(r="pointer"),void 0===u&&(u="auto"),t.useEffect((function(){if(e)return document.body.style.cursor=r,function(){document.body.style.cursor=u}}),[e])};
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 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)}Object.defineProperty(exports,"__esModule",{value:!0});var r=e(require("react"));exports.useCursor=function(e,t="pointer",u="auto"){r.useEffect((()=>{if(e)return document.body.style.cursor=t,()=>{document.body.style.cursor=u}}),[e])};