@react-three/drei 9.78.0 → 9.78.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/core/AccumulativeShadows.cjs.js +1 -1
  2. package/core/AdaptiveDpr.cjs.js +1 -1
  3. package/core/AdaptiveEvents.cjs.js +1 -1
  4. package/core/ArcballControls.cjs.js +1 -1
  5. package/core/AsciiRenderer.cjs.js +1 -1
  6. package/core/BBAnchor.cjs.js +1 -1
  7. package/core/Backdrop.cjs.js +1 -1
  8. package/core/BakeShadows.cjs.js +1 -1
  9. package/core/Billboard.cjs.js +1 -1
  10. package/core/Bounds.cjs.js +1 -1
  11. package/core/CameraControls.cjs.js +1 -1
  12. package/core/CameraShake.cjs.js +1 -1
  13. package/core/CatmullRomLine.cjs.js +1 -1
  14. package/core/Caustics.cjs.js +1 -1
  15. package/core/Center.cjs.js +1 -1
  16. package/core/Clone.cjs.js +1 -1
  17. package/core/Cloud.cjs.js +1 -1
  18. package/core/ComputedAttribute.cjs.js +1 -1
  19. package/core/ContactShadows.cjs.js +1 -1
  20. package/core/CubeCamera.cjs.js +1 -1
  21. package/core/CubicBezierLine.cjs.js +1 -1
  22. package/core/CurveModifier.cjs.js +1 -1
  23. package/core/Decal.cjs.js +1 -1
  24. package/core/Detailed.cjs.js +1 -1
  25. package/core/DeviceOrientationControls.cjs.js +1 -1
  26. package/core/Edges.cjs.js +1 -1
  27. package/core/Effects.cjs.js +1 -1
  28. package/core/Environment.cjs.js +1 -1
  29. package/core/Example.cjs.js +1 -1
  30. package/core/FaceControls.cjs.js +1 -1
  31. package/core/FaceLandmarker.cjs.js +1 -1
  32. package/core/Facemesh.cjs.js +1 -1
  33. package/core/FirstPersonControls.cjs.js +1 -1
  34. package/core/Float.cjs.js +1 -1
  35. package/core/FlyControls.cjs.js +1 -1
  36. package/core/GizmoHelper.cjs.js +1 -1
  37. package/core/GizmoViewcube.cjs.js +1 -1
  38. package/core/GizmoViewport.cjs.js +1 -1
  39. package/core/Gltf.cjs.js +1 -1
  40. package/core/GradientTexture.cjs.js +1 -1
  41. package/core/Grid.cjs.js +1 -1
  42. package/core/Grid.js +4 -1
  43. package/core/Hud.cjs.js +1 -1
  44. package/core/Image.cjs.js +1 -1
  45. package/core/Instances.cjs.js +1 -1
  46. package/core/Lightformer.cjs.js +1 -1
  47. package/core/Line.cjs.js +1 -1
  48. package/core/MapControls.cjs.js +1 -1
  49. package/core/MarchingCubes.cjs.js +1 -1
  50. package/core/Mask.cjs.js +1 -1
  51. package/core/MeshDiscardMaterial.cjs.js +1 -1
  52. package/core/MeshDistortMaterial.cjs.js +1 -1
  53. package/core/MeshPortalMaterial.cjs.js +1 -1
  54. package/core/MeshReflectorMaterial.cjs.js +1 -1
  55. package/core/MeshRefractionMaterial.cjs.js +1 -1
  56. package/core/MeshTransmissionMaterial.cjs.js +1 -1
  57. package/core/MeshWobbleMaterial.cjs.js +1 -1
  58. package/core/OrbitControls.cjs.js +1 -1
  59. package/core/OrthographicCamera.cjs.js +1 -1
  60. package/core/PerformanceMonitor.cjs.js +1 -1
  61. package/core/PerspectiveCamera.cjs.js +1 -1
  62. package/core/PointMaterial.cjs.js +1 -1
  63. package/core/PointerLockControls.cjs.js +1 -1
  64. package/core/Points.cjs.js +1 -1
  65. package/core/PositionalAudio.cjs.js +1 -1
  66. package/core/Preload.cjs.js +1 -1
  67. package/core/QuadraticBezierLine.cjs.js +1 -1
  68. package/core/Reflector.cjs.js +1 -1
  69. package/core/RenderTexture.cjs.js +1 -1
  70. package/core/Resize.cjs.js +1 -1
  71. package/core/RoundedBox.cjs.js +1 -1
  72. package/core/Sampler.cjs.js +1 -1
  73. package/core/ScreenQuad.cjs.js +1 -1
  74. package/core/ScreenSpace.cjs.js +1 -1
  75. package/core/Segments.cjs.js +1 -1
  76. package/core/Shadow.cjs.js +1 -1
  77. package/core/Sky.cjs.js +1 -1
  78. package/core/Sparkles.cjs.js +1 -1
  79. package/core/SpotLight.cjs.js +1 -1
  80. package/core/SpriteAnimator.cjs.js +1 -1
  81. package/core/Stage.cjs.js +1 -1
  82. package/core/Stars.cjs.js +1 -1
  83. package/core/Stats.cjs.js +1 -1
  84. package/core/Svg.cjs.js +1 -1
  85. package/core/Text.cjs.js +1 -1
  86. package/core/Text3D.cjs.js +1 -1
  87. package/core/TrackballControls.cjs.js +1 -1
  88. package/core/Trail.cjs.js +1 -1
  89. package/core/TransformControls.cjs.js +1 -1
  90. package/core/Wireframe.cjs.js +1 -1
  91. package/core/index.cjs.js +1 -1
  92. package/core/index.js +2 -2
  93. package/core/meshBounds.cjs.js +1 -1
  94. package/core/shaderMaterial.cjs.js +1 -1
  95. package/core/shapes.cjs.js +1 -1
  96. package/core/softShadows.cjs.js +1 -1
  97. package/core/useAnimations.cjs.js +1 -1
  98. package/core/useAspect.cjs.js +1 -1
  99. package/core/useBVH.cjs.js +1 -1
  100. package/core/useBoxProjectedEnv.cjs.js +1 -1
  101. package/core/useCamera.cjs.js +1 -1
  102. package/core/useContextBridge.cjs.js +1 -1
  103. package/core/useCubeCamera.cjs.js +1 -1
  104. package/core/useCubeTexture.cjs.js +1 -1
  105. package/core/useDepthBuffer.cjs.js +1 -1
  106. package/core/useDetectGPU.cjs.js +1 -1
  107. package/core/useEnvironment.cjs.js +1 -1
  108. package/core/useFBO.cjs.js +1 -1
  109. package/core/useFBX.cjs.js +1 -1
  110. package/core/useFont.cjs.js +1 -1
  111. package/core/useGLTF.cjs.js +1 -1
  112. package/core/useHelper.cjs.js +1 -1
  113. package/core/useIntersect.cjs.js +1 -1
  114. package/core/useKTX2.cjs.js +1 -1
  115. package/core/useMatcapTexture.cjs.js +1 -1
  116. package/core/useNormalTexture.cjs.js +1 -1
  117. package/core/useProgress.cjs.js +1 -1
  118. package/core/useProgress.js +1 -4
  119. package/core/useTexture.cjs.js +1 -1
  120. package/core/useTrailTexture.cjs.js +1 -1
  121. package/core/useVideoTexture.cjs.js +1 -1
  122. package/helpers/environment-assets.cjs.js +1 -1
  123. package/helpers/useEffectfulState.cjs.js +1 -1
  124. package/index.cjs.js +1 -1
  125. package/materials/BlurPass.cjs.js +1 -1
  126. package/materials/ConvolutionMaterial.cjs.js +1 -1
  127. package/materials/DiscardMaterial.cjs.js +1 -1
  128. package/materials/MeshReflectorMaterial.cjs.js +1 -1
  129. package/materials/MeshRefractionMaterial.cjs.js +1 -1
  130. package/materials/MeshRefractionMaterial.js +0 -1
  131. package/materials/SpotLightMaterial.cjs.js +1 -1
  132. package/materials/WireframeMaterial.cjs.js +1 -1
  133. package/native/index.cjs.js +1 -1
  134. package/package.json +1 -1
  135. package/react-three-drei-0.0.0-semantic-release.tgz +0 -0
  136. package/web/CycleRaycast.cjs.js +1 -1
  137. package/web/Html.cjs.js +1 -1
  138. package/web/KeyboardControls.cjs.js +1 -1
  139. package/web/KeyboardControls.js +1 -5
  140. package/web/Loader.cjs.js +1 -1
  141. package/web/PresentationControls.cjs.js +1 -1
  142. package/web/ScrollControls.cjs.js +1 -1
  143. package/web/Select.cjs.js +1 -1
  144. package/web/Select.js +1 -4
  145. package/web/View.cjs.js +1 -1
  146. package/web/index.cjs.js +1 -1
  147. package/web/index.js +3 -3
  148. package/web/pivotControls/AxisArrow.cjs.js +1 -1
  149. package/web/pivotControls/AxisRotator.cjs.js +1 -1
  150. package/web/pivotControls/PlaneSlider.cjs.js +1 -1
  151. package/web/pivotControls/context.cjs.js +1 -1
  152. package/web/pivotControls/index.cjs.js +1 -1
  153. package/web/useCursor.cjs.js +1 -1
@@ -1 +1 @@
1
- "use strict";var e=require("three"),t=require("./ConvolutionMaterial.cjs.js");exports.BlurPass=class{constructor({gl:r,resolution:i,width:n=500,height:o=500,minDepthThreshold:a=0,maxDepthThreshold:s=1,depthScale:l=0,depthToBlurRatioBias:u=.25}){this.renderToScreen=!1,this.renderTargetA=new e.WebGLRenderTarget(i,i,{minFilter:e.LinearFilter,magFilter:e.LinearFilter,stencilBuffer:!1,depthBuffer:!1,type:e.HalfFloatType}),this.renderTargetB=this.renderTargetA.clone(),this.convolutionMaterial=new t.ConvolutionMaterial,this.convolutionMaterial.setTexelSize(1/n,1/o),this.convolutionMaterial.setResolution(new e.Vector2(n,o)),this.scene=new e.Scene,this.camera=new e.Camera,this.convolutionMaterial.uniforms.minDepthThreshold.value=a,this.convolutionMaterial.uniforms.maxDepthThreshold.value=s,this.convolutionMaterial.uniforms.depthScale.value=l,this.convolutionMaterial.uniforms.depthToBlurRatioBias.value=u,this.convolutionMaterial.defines.USE_DEPTH=l>0;const h=new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),c=new Float32Array([0,0,2,0,0,2]),d=new e.BufferGeometry;d.setAttribute("position",new e.BufferAttribute(h,3)),d.setAttribute("uv",new e.BufferAttribute(c,2)),this.screen=new e.Mesh(d,this.convolutionMaterial),this.screen.frustumCulled=!1,this.scene.add(this.screen)}render(e,t,r){const i=this.scene,n=this.camera,o=this.renderTargetA,a=this.renderTargetB;let s=this.convolutionMaterial,l=s.uniforms;l.depthBuffer.value=t.depthTexture;const u=s.kernel;let h,c,d,f=t;for(c=0,d=u.length-1;c<d;++c)h=0==(1&c)?o:a,l.kernel.value=u[c],l.inputBuffer.value=f.texture,e.setRenderTarget(h),e.render(i,n),f=h;l.kernel.value=u[c],l.inputBuffer.value=f.texture,e.setRenderTarget(this.renderToScreen?null:r),e.render(i,n)}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),t=require("./ConvolutionMaterial.cjs.js");exports.BlurPass=class{constructor({gl:r,resolution:i,width:n=500,height:o=500,minDepthThreshold:s=0,maxDepthThreshold:a=1,depthScale:l=0,depthToBlurRatioBias:u=.25}){this.renderToScreen=!1,this.renderTargetA=new e.WebGLRenderTarget(i,i,{minFilter:e.LinearFilter,magFilter:e.LinearFilter,stencilBuffer:!1,depthBuffer:!1,type:e.HalfFloatType}),this.renderTargetB=this.renderTargetA.clone(),this.convolutionMaterial=new t.ConvolutionMaterial,this.convolutionMaterial.setTexelSize(1/n,1/o),this.convolutionMaterial.setResolution(new e.Vector2(n,o)),this.scene=new e.Scene,this.camera=new e.Camera,this.convolutionMaterial.uniforms.minDepthThreshold.value=s,this.convolutionMaterial.uniforms.maxDepthThreshold.value=a,this.convolutionMaterial.uniforms.depthScale.value=l,this.convolutionMaterial.uniforms.depthToBlurRatioBias.value=u,this.convolutionMaterial.defines.USE_DEPTH=l>0;const h=new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),c=new Float32Array([0,0,2,0,0,2]),d=new e.BufferGeometry;d.setAttribute("position",new e.BufferAttribute(h,3)),d.setAttribute("uv",new e.BufferAttribute(c,2)),this.screen=new e.Mesh(d,this.convolutionMaterial),this.screen.frustumCulled=!1,this.scene.add(this.screen)}render(e,t,r){const i=this.scene,n=this.camera,o=this.renderTargetA,s=this.renderTargetB;let a=this.convolutionMaterial,l=a.uniforms;l.depthBuffer.value=t.depthTexture;const u=a.kernel;let h,c,d,f=t;for(c=0,d=u.length-1;c<d;++c)h=0==(1&c)?o:s,l.kernel.value=u[c],l.inputBuffer.value=f.texture,e.setRenderTarget(h),e.render(i,n),f=h;l.kernel.value=u[c],l.inputBuffer.value=f.texture,e.setRenderTarget(this.renderToScreen?null:r),e.render(i,n)}};
@@ -1 +1 @@
1
- "use strict";var e=require("three");class n extends e.ShaderMaterial{constructor(n=new e.Vector2){super({uniforms:{inputBuffer:new e.Uniform(null),depthBuffer:new e.Uniform(null),resolution:new e.Uniform(new e.Vector2),texelSize:new e.Uniform(new e.Vector2),halfTexelSize:new e.Uniform(new e.Vector2),kernel:new e.Uniform(0),scale:new e.Uniform(1),cameraNear:new e.Uniform(0),cameraFar:new e.Uniform(1),minDepthThreshold:new e.Uniform(0),maxDepthThreshold:new e.Uniform(1),depthScale:new e.Uniform(0),depthToBlurRatioBias:new e.Uniform(.25)},fragmentShader:"#include <common>\n #include <dithering_pars_fragment> \n uniform sampler2D inputBuffer;\n uniform sampler2D depthBuffer;\n uniform float cameraNear;\n uniform float cameraFar;\n uniform float minDepthThreshold;\n uniform float maxDepthThreshold;\n uniform float depthScale;\n uniform float depthToBlurRatioBias;\n varying vec2 vUv;\n varying vec2 vUv0;\n varying vec2 vUv1;\n varying vec2 vUv2;\n varying vec2 vUv3;\n\n void main() {\n float depthFactor = 0.0;\n \n #ifdef USE_DEPTH\n vec4 depth = texture2D(depthBuffer, vUv);\n depthFactor = smoothstep(minDepthThreshold, maxDepthThreshold, 1.0-(depth.r * depth.a));\n depthFactor *= depthScale;\n depthFactor = max(0.0, min(1.0, depthFactor + 0.25));\n #endif\n \n vec4 sum = texture2D(inputBuffer, mix(vUv0, vUv, depthFactor));\n sum += texture2D(inputBuffer, mix(vUv1, vUv, depthFactor));\n sum += texture2D(inputBuffer, mix(vUv2, vUv, depthFactor));\n sum += texture2D(inputBuffer, mix(vUv3, vUv, depthFactor));\n gl_FragColor = sum * 0.25 ;\n\n #include <dithering_fragment>\n #include <tonemapping_fragment>\n #include <encodings_fragment>\n }",vertexShader:"uniform vec2 texelSize;\n uniform vec2 halfTexelSize;\n uniform float kernel;\n uniform float scale;\n varying vec2 vUv;\n varying vec2 vUv0;\n varying vec2 vUv1;\n varying vec2 vUv2;\n varying vec2 vUv3;\n\n void main() {\n vec2 uv = position.xy * 0.5 + 0.5;\n vUv = uv;\n\n vec2 dUv = (texelSize * vec2(kernel) + halfTexelSize) * scale;\n vUv0 = vec2(uv.x - dUv.x, uv.y + dUv.y);\n vUv1 = vec2(uv.x + dUv.x, uv.y + dUv.y);\n vUv2 = vec2(uv.x + dUv.x, uv.y - dUv.y);\n vUv3 = vec2(uv.x - dUv.x, uv.y - dUv.y);\n\n gl_Position = vec4(position.xy, 1.0, 1.0);\n }",blending:e.NoBlending,depthWrite:!1,depthTest:!1}),this.toneMapped=!1,this.setTexelSize(n.x,n.y),this.kernel=new Float32Array([0,1,2,2,3])}setTexelSize(e,n){this.uniforms.texelSize.value.set(e,n),this.uniforms.halfTexelSize.value.set(e,n).multiplyScalar(.5)}setResolution(e){this.uniforms.resolution.value.copy(e)}}exports.ConvolutionMaterial=n;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");class n extends e.ShaderMaterial{constructor(n=new e.Vector2){super({uniforms:{inputBuffer:new e.Uniform(null),depthBuffer:new e.Uniform(null),resolution:new e.Uniform(new e.Vector2),texelSize:new e.Uniform(new e.Vector2),halfTexelSize:new e.Uniform(new e.Vector2),kernel:new e.Uniform(0),scale:new e.Uniform(1),cameraNear:new e.Uniform(0),cameraFar:new e.Uniform(1),minDepthThreshold:new e.Uniform(0),maxDepthThreshold:new e.Uniform(1),depthScale:new e.Uniform(0),depthToBlurRatioBias:new e.Uniform(.25)},fragmentShader:"#include <common>\n #include <dithering_pars_fragment> \n uniform sampler2D inputBuffer;\n uniform sampler2D depthBuffer;\n uniform float cameraNear;\n uniform float cameraFar;\n uniform float minDepthThreshold;\n uniform float maxDepthThreshold;\n uniform float depthScale;\n uniform float depthToBlurRatioBias;\n varying vec2 vUv;\n varying vec2 vUv0;\n varying vec2 vUv1;\n varying vec2 vUv2;\n varying vec2 vUv3;\n\n void main() {\n float depthFactor = 0.0;\n \n #ifdef USE_DEPTH\n vec4 depth = texture2D(depthBuffer, vUv);\n depthFactor = smoothstep(minDepthThreshold, maxDepthThreshold, 1.0-(depth.r * depth.a));\n depthFactor *= depthScale;\n depthFactor = max(0.0, min(1.0, depthFactor + 0.25));\n #endif\n \n vec4 sum = texture2D(inputBuffer, mix(vUv0, vUv, depthFactor));\n sum += texture2D(inputBuffer, mix(vUv1, vUv, depthFactor));\n sum += texture2D(inputBuffer, mix(vUv2, vUv, depthFactor));\n sum += texture2D(inputBuffer, mix(vUv3, vUv, depthFactor));\n gl_FragColor = sum * 0.25 ;\n\n #include <dithering_fragment>\n #include <tonemapping_fragment>\n #include <encodings_fragment>\n }",vertexShader:"uniform vec2 texelSize;\n uniform vec2 halfTexelSize;\n uniform float kernel;\n uniform float scale;\n varying vec2 vUv;\n varying vec2 vUv0;\n varying vec2 vUv1;\n varying vec2 vUv2;\n varying vec2 vUv3;\n\n void main() {\n vec2 uv = position.xy * 0.5 + 0.5;\n vUv = uv;\n\n vec2 dUv = (texelSize * vec2(kernel) + halfTexelSize) * scale;\n vUv0 = vec2(uv.x - dUv.x, uv.y + dUv.y);\n vUv1 = vec2(uv.x + dUv.x, uv.y + dUv.y);\n vUv2 = vec2(uv.x + dUv.x, uv.y - dUv.y);\n vUv3 = vec2(uv.x - dUv.x, uv.y - dUv.y);\n\n gl_Position = vec4(position.xy, 1.0, 1.0);\n }",blending:e.NoBlending,depthWrite:!1,depthTest:!1}),this.toneMapped=!1,this.setTexelSize(n.x,n.y),this.kernel=new Float32Array([0,1,2,2,3])}setTexelSize(e,n){this.uniforms.texelSize.value.set(e,n),this.uniforms.halfTexelSize.value.set(e,n).multiplyScalar(.5)}setResolution(e){this.uniforms.resolution.value.copy(e)}}exports.ConvolutionMaterial=n;
@@ -1 +1 @@
1
- "use strict";var r=require("../core/shaderMaterial.cjs.js");require("three");const e=r.shaderMaterial({},"void main() { }","void main() { gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0); discard; }");exports.DiscardMaterial=e;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/shaderMaterial.cjs.js");require("three");const r=e.shaderMaterial({},"void main() { }","void main() { gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0); discard; }");exports.DiscardMaterial=r;
@@ -1 +1 @@
1
- "use strict";var e=require("three");class t extends e.MeshStandardMaterial{constructor(e={}){super(e),this._tDepth={value:null},this._distortionMap={value:null},this._tDiffuse={value:null},this._tDiffuseBlur={value:null},this._textureMatrix={value:null},this._hasBlur={value:!1},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._mixContrast={value:1},this.setValues(e)}onBeforeCompile(e){var t;null!=(t=e.defines)&&t.USE_UV||(e.defines.USE_UV=""),e.uniforms.hasBlur=this._hasBlur,e.uniforms.tDiffuse=this._tDiffuse,e.uniforms.tDepth=this._tDepth,e.uniforms.distortionMap=this._distortionMap,e.uniforms.tDiffuseBlur=this._tDiffuseBlur,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.uniforms.mixContrast=this._mixContrast,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 sampler2D tDiffuse;\n uniform sampler2D tDiffuseBlur;\n uniform sampler2D tDepth;\n uniform sampler2D distortionMap;\n uniform float distortion;\n uniform float cameraNear;\n\t\t\t uniform float cameraFar;\n uniform bool hasBlur;\n uniform float mixBlur;\n uniform float mirror;\n uniform float mixStrength;\n uniform float minDepthThreshold;\n uniform float maxDepthThreshold;\n uniform float mixContrast;\n uniform float depthScale;\n uniform float depthToBlurRatioBias;\n varying vec4 my_vUv;\n ${e.fragmentShader}`,e.fragmentShader=e.fragmentShader.replace("#include <emissivemap_fragment>","#include <emissivemap_fragment>\n\n float distortionFactor = 0.0;\n #ifdef USE_DISTORTION\n distortionFactor = texture2D(distortionMap, vUv).r * distortion;\n #endif\n\n vec4 new_vUv = my_vUv;\n new_vUv.x += distortionFactor;\n new_vUv.y += distortionFactor;\n\n vec4 base = texture2DProj(tDiffuse, new_vUv);\n vec4 blur = texture2DProj(tDiffuseBlur, new_vUv);\n\n vec4 merge = base;\n\n #ifdef USE_NORMALMAP\n vec2 normal_uv = vec2(0.0);\n vec4 normalColor = texture2D(normalMap, vUv * normalScale);\n vec3 my_normal = normalize( vec3( normalColor.r * 2.0 - 1.0, normalColor.b, normalColor.g * 2.0 - 1.0 ) );\n vec3 coord = new_vUv.xyz / new_vUv.w;\n normal_uv = coord.xy + coord.z * my_normal.xz * 0.05;\n vec4 base_normal = texture2D(tDiffuse, normal_uv);\n vec4 blur_normal = texture2D(tDiffuseBlur, normal_uv);\n merge = base_normal;\n blur = blur_normal;\n #endif\n\n float depthFactor = 0.0001;\n float blurFactor = 0.0;\n\n #ifdef USE_DEPTH\n vec4 depth = texture2DProj(tDepth, new_vUv);\n depthFactor = smoothstep(minDepthThreshold, maxDepthThreshold, 1.0-(depth.r * depth.a));\n depthFactor *= depthScale;\n depthFactor = max(0.0001, min(1.0, depthFactor));\n\n #ifdef USE_BLUR\n blur = blur * min(1.0, depthFactor + depthToBlurRatioBias);\n merge = merge * min(1.0, depthFactor + 0.5);\n #else\n merge = merge * depthFactor;\n #endif\n\n #endif\n\n float reflectorRoughnessFactor = roughness;\n #ifdef USE_ROUGHNESSMAP\n vec4 reflectorTexelRoughness = texture2D( roughnessMap, vUv );\n reflectorRoughnessFactor *= reflectorTexelRoughness.g;\n #endif\n\n #ifdef USE_BLUR\n blurFactor = min(1.0, mixBlur * reflectorRoughnessFactor);\n merge = mix(merge, blur, blurFactor);\n #endif\n\n vec4 newMerge = vec4(0.0, 0.0, 0.0, 1.0);\n newMerge.r = (merge.r - 0.5) * mixContrast + 0.5;\n newMerge.g = (merge.g - 0.5) * mixContrast + 0.5;\n newMerge.b = (merge.b - 0.5) * mixContrast + 0.5;\n\n diffuseColor.rgb = diffuseColor.rgb * ((1.0 - min(1.0, mirror)) + newMerge.rgb * mixStrength);\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 tDiffuseBlur(){return this._tDiffuseBlur.value}set tDiffuseBlur(e){this._tDiffuseBlur.value=e}get textureMatrix(){return this._textureMatrix.value}set textureMatrix(e){this._textureMatrix.value=e}get hasBlur(){return this._hasBlur.value}set hasBlur(e){this._hasBlur.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 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}get mixContrast(){return this._mixContrast.value}set mixContrast(e){this._mixContrast.value=e}}exports.MeshReflectorMaterial=t;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");class t extends e.MeshStandardMaterial{constructor(e={}){super(e),this._tDepth={value:null},this._distortionMap={value:null},this._tDiffuse={value:null},this._tDiffuseBlur={value:null},this._textureMatrix={value:null},this._hasBlur={value:!1},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._mixContrast={value:1},this.setValues(e)}onBeforeCompile(e){var t;null!=(t=e.defines)&&t.USE_UV||(e.defines.USE_UV=""),e.uniforms.hasBlur=this._hasBlur,e.uniforms.tDiffuse=this._tDiffuse,e.uniforms.tDepth=this._tDepth,e.uniforms.distortionMap=this._distortionMap,e.uniforms.tDiffuseBlur=this._tDiffuseBlur,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.uniforms.mixContrast=this._mixContrast,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 sampler2D tDiffuse;\n uniform sampler2D tDiffuseBlur;\n uniform sampler2D tDepth;\n uniform sampler2D distortionMap;\n uniform float distortion;\n uniform float cameraNear;\n\t\t\t uniform float cameraFar;\n uniform bool hasBlur;\n uniform float mixBlur;\n uniform float mirror;\n uniform float mixStrength;\n uniform float minDepthThreshold;\n uniform float maxDepthThreshold;\n uniform float mixContrast;\n uniform float depthScale;\n uniform float depthToBlurRatioBias;\n varying vec4 my_vUv;\n ${e.fragmentShader}`,e.fragmentShader=e.fragmentShader.replace("#include <emissivemap_fragment>","#include <emissivemap_fragment>\n\n float distortionFactor = 0.0;\n #ifdef USE_DISTORTION\n distortionFactor = texture2D(distortionMap, vUv).r * distortion;\n #endif\n\n vec4 new_vUv = my_vUv;\n new_vUv.x += distortionFactor;\n new_vUv.y += distortionFactor;\n\n vec4 base = texture2DProj(tDiffuse, new_vUv);\n vec4 blur = texture2DProj(tDiffuseBlur, new_vUv);\n\n vec4 merge = base;\n\n #ifdef USE_NORMALMAP\n vec2 normal_uv = vec2(0.0);\n vec4 normalColor = texture2D(normalMap, vUv * normalScale);\n vec3 my_normal = normalize( vec3( normalColor.r * 2.0 - 1.0, normalColor.b, normalColor.g * 2.0 - 1.0 ) );\n vec3 coord = new_vUv.xyz / new_vUv.w;\n normal_uv = coord.xy + coord.z * my_normal.xz * 0.05;\n vec4 base_normal = texture2D(tDiffuse, normal_uv);\n vec4 blur_normal = texture2D(tDiffuseBlur, normal_uv);\n merge = base_normal;\n blur = blur_normal;\n #endif\n\n float depthFactor = 0.0001;\n float blurFactor = 0.0;\n\n #ifdef USE_DEPTH\n vec4 depth = texture2DProj(tDepth, new_vUv);\n depthFactor = smoothstep(minDepthThreshold, maxDepthThreshold, 1.0-(depth.r * depth.a));\n depthFactor *= depthScale;\n depthFactor = max(0.0001, min(1.0, depthFactor));\n\n #ifdef USE_BLUR\n blur = blur * min(1.0, depthFactor + depthToBlurRatioBias);\n merge = merge * min(1.0, depthFactor + 0.5);\n #else\n merge = merge * depthFactor;\n #endif\n\n #endif\n\n float reflectorRoughnessFactor = roughness;\n #ifdef USE_ROUGHNESSMAP\n vec4 reflectorTexelRoughness = texture2D( roughnessMap, vUv );\n reflectorRoughnessFactor *= reflectorTexelRoughness.g;\n #endif\n\n #ifdef USE_BLUR\n blurFactor = min(1.0, mixBlur * reflectorRoughnessFactor);\n merge = mix(merge, blur, blurFactor);\n #endif\n\n vec4 newMerge = vec4(0.0, 0.0, 0.0, 1.0);\n newMerge.r = (merge.r - 0.5) * mixContrast + 0.5;\n newMerge.g = (merge.g - 0.5) * mixContrast + 0.5;\n newMerge.b = (merge.b - 0.5) * mixContrast + 0.5;\n\n diffuseColor.rgb = diffuseColor.rgb * ((1.0 - min(1.0, mirror)) + newMerge.rgb * mixStrength);\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 tDiffuseBlur(){return this._tDiffuseBlur.value}set tDiffuseBlur(e){this._tDiffuseBlur.value=e}get textureMatrix(){return this._textureMatrix.value}set textureMatrix(e){this._textureMatrix.value=e}get hasBlur(){return this._hasBlur.value}set hasBlur(e){this._hasBlur.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 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}get mixContrast(){return this._mixContrast.value}set mixContrast(e){this._mixContrast.value=e}}exports.MeshReflectorMaterial=t;
@@ -1 +1 @@
1
- "use strict";var e=require("three"),r=require("../core/shaderMaterial.cjs.js"),n=require("three-mesh-bvh");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);const t=r.shaderMaterial({envMap:null,bounces:3,ior:2.4,correctMips:!0,aberrationStrength:.01,fresnel:0,bvh:new n.MeshBVHUniformStruct,color:new o.Color("white"),resolution:new o.Vector2,viewMatrixInverse:new o.Matrix4,projectionMatrixInverse:new o.Matrix4},"\n uniform mat4 viewMatrixInverse;\n\n varying vec3 vWorldPosition; \n varying vec3 vNormal;\n varying mat4 vModelMatrixInverse;\n\n #ifdef USE_INSTANCING_COLOR\n varying vec3 vInstanceColor;\n #endif\n\n void main() { \n vec4 transformedNormal = vec4(normal, 0.0);\n vec4 transformedPosition = vec4(position, 1.0);\n #ifdef USE_INSTANCING\n transformedNormal = instanceMatrix * transformedNormal;\n transformedPosition = instanceMatrix * transformedPosition;\n #endif\n\n #ifdef USE_INSTANCING\n vModelMatrixInverse = inverse(modelMatrix * instanceMatrix);\n #else\n vModelMatrixInverse = inverse(modelMatrix);\n #endif\n\n #ifdef USE_INSTANCING_COLOR\n vInstanceColor = instanceColor.rgb;\n #endif\n\n vWorldPosition = (modelMatrix * transformedPosition).xyz;\n vNormal = normalize((viewMatrixInverse * vec4(normalMatrix * transformedNormal.xyz, 0.0)).xyz);\n gl_Position = projectionMatrix * viewMatrix * modelMatrix * transformedPosition;\n }",`\n #define ENVMAP_TYPE_CUBE_UV\n precision highp isampler2D;\n precision highp usampler2D;\n varying vec3 vWorldPosition;\n varying vec3 vNormal;\n varying mat4 vModelMatrixInverse;\n\n #ifdef USE_INSTANCING_COLOR\n varying vec3 vInstanceColor;\n #endif\n \n #ifdef ENVMAP_TYPE_CUBEM\n uniform samplerCube envMap;\n #else\n uniform sampler2D envMap;\n #endif\n \n uniform float bounces;\n ${n.shaderStructs}\n ${n.shaderIntersectFunction}\n uniform BVH bvh;\n uniform float ior;\n uniform bool correctMips;\n uniform vec2 resolution;\n uniform float fresnel;\n uniform mat4 modelMatrix;\n uniform mat4 projectionMatrixInverse;\n uniform mat4 viewMatrixInverse;\n uniform float aberrationStrength;\n uniform vec3 color;\n \n float fresnelFunc(vec3 viewDirection, vec3 worldNormal) {\n return pow( 1.0 + dot( viewDirection, worldNormal), 10.0 );\n }\n \n vec3 totalInternalReflection(vec3 ro, vec3 rd, vec3 normal, float ior, mat4 modelMatrixInverse) {\n vec3 rayOrigin = ro;\n vec3 rayDirection = rd;\n rayDirection = refract(rayDirection, normal, 1.0 / ior);\n rayOrigin = vWorldPosition + rayDirection * 0.001;\n rayOrigin = (modelMatrixInverse * vec4(rayOrigin, 1.0)).xyz;\n rayDirection = normalize((modelMatrixInverse * vec4(rayDirection, 0.0)).xyz);\n for(float i = 0.0; i < bounces; i++) {\n uvec4 faceIndices = uvec4( 0u );\n vec3 faceNormal = vec3( 0.0, 0.0, 1.0 );\n vec3 barycoord = vec3( 0.0 );\n float side = 1.0;\n float dist = 0.0;\n bvhIntersectFirstHit( bvh, rayOrigin, rayDirection, faceIndices, faceNormal, barycoord, side, dist );\n vec3 hitPos = rayOrigin + rayDirection * max(dist - 0.001, 0.0); \n vec3 tempDir = refract(rayDirection, faceNormal, ior);\n if (length(tempDir) != 0.0) {\n rayDirection = tempDir;\n break;\n }\n rayDirection = reflect(rayDirection, faceNormal);\n rayOrigin = hitPos + rayDirection * 0.01;\n }\n rayDirection = normalize((modelMatrix * vec4(rayDirection, 0.0)).xyz);\n return rayDirection;\n }\n \n #include <common>\n #include <cube_uv_reflection_fragment>\n \n #ifdef ENVMAP_TYPE_CUBEM\n vec4 textureGradient(samplerCube envMap, vec3 rayDirection, vec3 directionCamPerfect) {\n return textureGrad(envMap, rayDirection, dFdx(correctMips ? directionCamPerfect: rayDirection), dFdy(correctMips ? directionCamPerfect: rayDirection));\n }\n #else\n vec4 textureGradient(sampler2D envMap, vec3 rayDirection, vec3 directionCamPerfect) {\n vec2 uvv = equirectUv( rayDirection );\n vec2 smoothUv = equirectUv( directionCamPerfect );\n return textureGrad(envMap, uvv, dFdx(correctMips ? smoothUv : uvv), dFdy(correctMips ? smoothUv : uvv));\n }\n #endif\n \n void main() {\n vec2 uv = gl_FragCoord.xy / resolution;\n vec3 directionCamPerfect = (projectionMatrixInverse * vec4(uv * 2.0 - 1.0, 0.0, 1.0)).xyz;\n directionCamPerfect = (viewMatrixInverse * vec4(directionCamPerfect, 0.0)).xyz;\n directionCamPerfect = normalize(directionCamPerfect);\n vec3 normal = vNormal;\n vec3 rayOrigin = cameraPosition;\n vec3 rayDirection = normalize(vWorldPosition - cameraPosition);\n vec3 finalColor;\n #ifdef CHROMATIC_ABERRATIONS\n vec3 rayDirectionG = totalInternalReflection(rayOrigin, rayDirection, normal, max(ior, 1.0), vModelMatrixInverse);\n #ifdef FAST_CHROMA \n vec3 rayDirectionR = normalize(rayDirectionG + 1.0 * vec3(aberrationStrength / 2.0));\n vec3 rayDirectionB = normalize(rayDirectionG - 1.0 * vec3(aberrationStrength / 2.0));\n #else\n vec3 rayDirectionR = totalInternalReflection(rayOrigin, rayDirection, normal, max(ior * (1.0 - aberrationStrength), 1.0), vModelMatrixInverse);\n vec3 rayDirectionB = totalInternalReflection(rayOrigin, rayDirection, normal, max(ior * (1.0 + aberrationStrength), 1.0), vModelMatrixInverse);\n #endif\n float finalColorR = textureGradient(envMap, rayDirectionR, directionCamPerfect).r;\n float finalColorG = textureGradient(envMap, rayDirectionG, directionCamPerfect).g;\n float finalColorB = textureGradient(envMap, rayDirectionB, directionCamPerfect).b;\n finalColor = vec3(finalColorR, finalColorG, finalColorB);\n #else\n rayDirection = totalInternalReflection(rayOrigin, rayDirection, normal, max(ior, 1.0), vModelMatrixInverse);\n finalColor = textureGradient(envMap, rayDirection, directionCamPerfect).rgb; \n #endif\n\n finalColor *= color;\n #ifdef USE_INSTANCING_COLOR\n finalColor *= vInstanceColor;\n #endif\n\n vec3 viewDirection = normalize(vWorldPosition - cameraPosition);\n float nFresnel = fresnelFunc(viewDirection, normal) * fresnel;\n gl_FragColor = vec4(mix(finalColor, vec3(1.0), nFresnel), 1.0); \n #include <tonemapping_fragment>\n #include <encodings_fragment>\n }`);exports.MeshRefractionMaterial=t;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("../core/shaderMaterial.cjs.js"),n=require("three-mesh-bvh");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);const t=r.shaderMaterial({envMap:null,bounces:3,ior:2.4,correctMips:!0,aberrationStrength:.01,fresnel:0,bvh:new n.MeshBVHUniformStruct,color:new o.Color("white"),resolution:new o.Vector2,viewMatrixInverse:new o.Matrix4,projectionMatrixInverse:new o.Matrix4},"\n uniform mat4 viewMatrixInverse;\n\n varying vec3 vWorldPosition; \n varying vec3 vNormal;\n varying mat4 vModelMatrixInverse;\n\n #ifdef USE_INSTANCING_COLOR\n varying vec3 vInstanceColor;\n #endif\n\n void main() { \n vec4 transformedNormal = vec4(normal, 0.0);\n vec4 transformedPosition = vec4(position, 1.0);\n #ifdef USE_INSTANCING\n transformedNormal = instanceMatrix * transformedNormal;\n transformedPosition = instanceMatrix * transformedPosition;\n #endif\n\n #ifdef USE_INSTANCING\n vModelMatrixInverse = inverse(modelMatrix * instanceMatrix);\n #else\n vModelMatrixInverse = inverse(modelMatrix);\n #endif\n\n #ifdef USE_INSTANCING_COLOR\n vInstanceColor = instanceColor.rgb;\n #endif\n\n vWorldPosition = (modelMatrix * transformedPosition).xyz;\n vNormal = normalize((viewMatrixInverse * vec4(normalMatrix * transformedNormal.xyz, 0.0)).xyz);\n gl_Position = projectionMatrix * viewMatrix * modelMatrix * transformedPosition;\n }",`\n #define ENVMAP_TYPE_CUBE_UV\n precision highp isampler2D;\n precision highp usampler2D;\n varying vec3 vWorldPosition;\n varying vec3 vNormal;\n varying mat4 vModelMatrixInverse;\n\n #ifdef USE_INSTANCING_COLOR\n varying vec3 vInstanceColor;\n #endif\n \n #ifdef ENVMAP_TYPE_CUBEM\n uniform samplerCube envMap;\n #else\n uniform sampler2D envMap;\n #endif\n \n uniform float bounces;\n ${n.shaderStructs}\n ${n.shaderIntersectFunction}\n uniform BVH bvh;\n uniform float ior;\n uniform bool correctMips;\n uniform vec2 resolution;\n uniform float fresnel;\n uniform mat4 modelMatrix;\n uniform mat4 projectionMatrixInverse;\n uniform mat4 viewMatrixInverse;\n uniform float aberrationStrength;\n uniform vec3 color;\n \n float fresnelFunc(vec3 viewDirection, vec3 worldNormal) {\n return pow( 1.0 + dot( viewDirection, worldNormal), 10.0 );\n }\n \n vec3 totalInternalReflection(vec3 ro, vec3 rd, vec3 normal, float ior, mat4 modelMatrixInverse) {\n vec3 rayOrigin = ro;\n vec3 rayDirection = rd;\n rayDirection = refract(rayDirection, normal, 1.0 / ior);\n rayOrigin = vWorldPosition + rayDirection * 0.001;\n rayOrigin = (modelMatrixInverse * vec4(rayOrigin, 1.0)).xyz;\n rayDirection = normalize((modelMatrixInverse * vec4(rayDirection, 0.0)).xyz);\n for(float i = 0.0; i < bounces; i++) {\n uvec4 faceIndices = uvec4( 0u );\n vec3 faceNormal = vec3( 0.0, 0.0, 1.0 );\n vec3 barycoord = vec3( 0.0 );\n float side = 1.0;\n float dist = 0.0;\n bvhIntersectFirstHit( bvh, rayOrigin, rayDirection, faceIndices, faceNormal, barycoord, side, dist );\n vec3 hitPos = rayOrigin + rayDirection * max(dist - 0.001, 0.0); \n vec3 tempDir = refract(rayDirection, faceNormal, ior);\n if (length(tempDir) != 0.0) {\n rayDirection = tempDir;\n break;\n }\n rayDirection = reflect(rayDirection, faceNormal);\n rayOrigin = hitPos + rayDirection * 0.01;\n }\n rayDirection = normalize((modelMatrix * vec4(rayDirection, 0.0)).xyz);\n return rayDirection;\n }\n \n #include <common>\n #include <cube_uv_reflection_fragment>\n \n #ifdef ENVMAP_TYPE_CUBEM\n vec4 textureGradient(samplerCube envMap, vec3 rayDirection, vec3 directionCamPerfect) {\n return textureGrad(envMap, rayDirection, dFdx(correctMips ? directionCamPerfect: rayDirection), dFdy(correctMips ? directionCamPerfect: rayDirection));\n }\n #else\n vec4 textureGradient(sampler2D envMap, vec3 rayDirection, vec3 directionCamPerfect) {\n vec2 uvv = equirectUv( rayDirection );\n vec2 smoothUv = equirectUv( directionCamPerfect );\n return textureGrad(envMap, uvv, dFdx(correctMips ? smoothUv : uvv), dFdy(correctMips ? smoothUv : uvv));\n }\n #endif\n \n void main() {\n vec2 uv = gl_FragCoord.xy / resolution;\n vec3 directionCamPerfect = (projectionMatrixInverse * vec4(uv * 2.0 - 1.0, 0.0, 1.0)).xyz;\n directionCamPerfect = (viewMatrixInverse * vec4(directionCamPerfect, 0.0)).xyz;\n directionCamPerfect = normalize(directionCamPerfect);\n vec3 normal = vNormal;\n vec3 rayOrigin = cameraPosition;\n vec3 rayDirection = normalize(vWorldPosition - cameraPosition);\n vec3 finalColor;\n #ifdef CHROMATIC_ABERRATIONS\n vec3 rayDirectionG = totalInternalReflection(rayOrigin, rayDirection, normal, max(ior, 1.0), vModelMatrixInverse);\n #ifdef FAST_CHROMA \n vec3 rayDirectionR = normalize(rayDirectionG + 1.0 * vec3(aberrationStrength / 2.0));\n vec3 rayDirectionB = normalize(rayDirectionG - 1.0 * vec3(aberrationStrength / 2.0));\n #else\n vec3 rayDirectionR = totalInternalReflection(rayOrigin, rayDirection, normal, max(ior * (1.0 - aberrationStrength), 1.0), vModelMatrixInverse);\n vec3 rayDirectionB = totalInternalReflection(rayOrigin, rayDirection, normal, max(ior * (1.0 + aberrationStrength), 1.0), vModelMatrixInverse);\n #endif\n float finalColorR = textureGradient(envMap, rayDirectionR, directionCamPerfect).r;\n float finalColorG = textureGradient(envMap, rayDirectionG, directionCamPerfect).g;\n float finalColorB = textureGradient(envMap, rayDirectionB, directionCamPerfect).b;\n finalColor = vec3(finalColorR, finalColorG, finalColorB);\n #else\n rayDirection = totalInternalReflection(rayOrigin, rayDirection, normal, max(ior, 1.0), vModelMatrixInverse);\n finalColor = textureGradient(envMap, rayDirection, directionCamPerfect).rgb; \n #endif\n\n finalColor *= color;\n #ifdef USE_INSTANCING_COLOR\n finalColor *= vInstanceColor;\n #endif\n\n vec3 viewDirection = normalize(vWorldPosition - cameraPosition);\n float nFresnel = fresnelFunc(viewDirection, normal) * fresnel;\n gl_FragColor = vec4(mix(finalColor, vec3(1.0), nFresnel), 1.0); \n #include <tonemapping_fragment>\n #include <encodings_fragment>\n }`);exports.MeshRefractionMaterial=t;
@@ -3,7 +3,6 @@ import { shaderMaterial } from '../core/shaderMaterial.js';
3
3
  import { shaderStructs, shaderIntersectFunction, MeshBVHUniformStruct } from 'three-mesh-bvh';
4
4
 
5
5
  // Author: N8Programs
6
- // https://github.com/N8python/diamonds
7
6
  const MeshRefractionMaterial = shaderMaterial({
8
7
  envMap: null,
9
8
  bounces: 3,
@@ -1 +1 @@
1
- "use strict";var n=require("three");class t extends n.ShaderMaterial{constructor(){super({uniforms:{depth:{value:null},opacity:{value:1},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 uniform float opacity;\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 * opacity);\n\n #include <tonemapping_fragment>\n\t #include <encodings_fragment>\n }"})}}exports.SpotLightMaterial=t;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=require("three");class e extends n.ShaderMaterial{constructor(){super({uniforms:{depth:{value:null},opacity:{value:1},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 uniform float opacity;\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 * opacity);\n\n #include <tonemapping_fragment>\n\t #include <encodings_fragment>\n }"})}}exports.SpotLightMaterial=e;
@@ -1 +1 @@
1
- "use strict";var t=require("three"),e=require("react"),n=require("../core/shaderMaterial.cjs.js");function a(t){var e=Object.create(null);return t&&Object.keys(t).forEach((function(n){if("default"!==n){var a=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,a.get?a:{enumerable:!0,get:function(){return t[n]}})}})),e.default=t,Object.freeze(e)}var r=a(t),o=a(e);const i={uniforms:{strokeOpacity:1,fillOpacity:.25,fillMix:0,thickness:.05,colorBackfaces:!1,dashInvert:!0,dash:!1,dashRepeats:4,dashLength:.5,squeeze:!1,squeezeMin:.2,squeezeMax:1,stroke:new r.Color("#ff0000"),backfaceStroke:new r.Color("#0000ff"),fill:new r.Color("#00ff00")},vertex:"\n\t attribute vec3 barycentric;\n\t\n\t\tvarying vec3 v_edges_Barycentric;\n\t\tvarying vec3 v_edges_Position;\n\n\t\tvoid initWireframe() {\n\t\t\tv_edges_Barycentric = barycentric;\n\t\t\tv_edges_Position = position.xyz;\n\t\t}\n\t ",fragment:"\n\t\t#ifndef PI\n\t \t#define PI 3.1415926535897932384626433832795\n\t\t#endif\n \n\t varying vec3 v_edges_Barycentric;\n\t varying vec3 v_edges_Position;\n \n\t uniform float strokeOpacity;\n\t uniform float fillOpacity;\n\t uniform float fillMix;\n\t uniform float thickness;\n\t uniform bool colorBackfaces;\n \n\t // Dash\n\t uniform bool dashInvert;\n\t uniform bool dash;\n\t uniform bool dashOnly;\n\t uniform float dashRepeats;\n\t uniform float dashLength;\n \n\t // Squeeze\n\t uniform bool squeeze;\n\t uniform float squeezeMin;\n\t uniform float squeezeMax;\n \n\t // Colors\n\t uniform vec3 stroke;\n\t uniform vec3 backfaceStroke;\n\t uniform vec3 fill;\n \n\t // This is like\n\t float wireframe_aastep(float threshold, float dist) {\n\t\t float afwidth = fwidth(dist) * 0.5;\n\t\t return smoothstep(threshold - afwidth, threshold + afwidth, dist);\n\t }\n \n\t float wireframe_map(float value, float min1, float max1, float min2, float max2) {\n\t\t return min2 + (value - min1) * (max2 - min2) / (max1 - min1);\n\t }\n \n\t float getWireframe() {\n\t\t\tvec3 barycentric = v_edges_Barycentric;\n\t\t\n\t\t\t// Distance from center of each triangle to its edges.\n\t\t\tfloat d = min(min(barycentric.x, barycentric.y), barycentric.z);\n\n\t\t\t// for dashed rendering, we can use this to get the 0 .. 1 value of the line length\n\t\t\tfloat positionAlong = max(barycentric.x, barycentric.y);\n\t\t\tif (barycentric.y < barycentric.x && barycentric.y < barycentric.z) {\n\t\t\t\tpositionAlong = 1.0 - positionAlong;\n\t\t\t}\n\n\t\t\t// the thickness of the stroke\n\t\t\tfloat computedThickness = wireframe_map(thickness, 0.0, 1.0, 0.0, 0.34);\n\n\t\t\t// if we want to shrink the thickness toward the center of the line segment\n\t\t\tif (squeeze) {\n\t\t\t\tcomputedThickness *= mix(squeezeMin, squeezeMax, (1.0 - sin(positionAlong * PI)));\n\t\t\t}\n\n\t\t\t// Create dash pattern\n\t\t\tif (dash) {\n\t\t\t\t// here we offset the stroke position depending on whether it\n\t\t\t\t// should overlap or not\n\t\t\t\tfloat offset = 1.0 / dashRepeats * dashLength / 2.0;\n\t\t\t\tif (!dashInvert) {\n\t\t\t\t\toffset += 1.0 / dashRepeats / 2.0;\n\t\t\t\t}\n\n\t\t\t\t// if we should animate the dash or not\n\t\t\t\t// if (dashAnimate) {\n\t\t\t\t// \toffset += time * 0.22;\n\t\t\t\t// }\n\n\t\t\t\t// create the repeating dash pattern\n\t\t\t\tfloat pattern = fract((positionAlong + offset) * dashRepeats);\n\t\t\t\tcomputedThickness *= 1.0 - wireframe_aastep(dashLength, pattern);\n\t\t\t}\n\n\t\t\t// compute the anti-aliased stroke edge \n\t\t\tfloat edge = 1.0 - wireframe_aastep(computedThickness, d);\n\n\t\t\treturn edge;\n\t }\n\t "},l=n.shaderMaterial(i.uniforms,i.vertex+"\n \tvoid main() {\n\t\tinitWireframe();\n\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n\t}\n ",i.fragment+"\n void main () {\n\t\t// Compute color\n\n\t\tfloat edge = getWireframe();\n\t\tvec4 colorStroke = vec4(stroke, edge);\n\n\t\t#ifdef FLIP_SIDED\n\t\t\tcolorStroke.rgb = backfaceStroke;\n\t\t#endif\n \n\t\tvec4 colorFill = vec4(fill, fillOpacity);\n\t\tvec4 outColor = mix(colorFill, colorStroke, edge * strokeOpacity);\n\n\t\tgl_FragColor = outColor;\n\t}\n ");exports.WireframeMaterial=l,exports.WireframeMaterialShaders=i,exports.setWireframeOverride=function(t,e){t.onBeforeCompile=t=>{t.uniforms={...t.uniforms,...e},t.vertexShader=t.vertexShader.replace("void main() {",`\n\t\t ${i.vertex}\n\t\t void main() {\n\t\t\tinitWireframe();\n\t\t`),t.fragmentShader=t.fragmentShader.replace("void main() {",`\n\t\t ${i.fragment}\n\t\t void main() {\n\t\t`),t.fragmentShader=t.fragmentShader.replace("#include <color_fragment>","\n\t\t #include <color_fragment>\n\t\t\t float edge = getWireframe();\n\t\t vec4 colorStroke = vec4(stroke, edge);\n\t\t #ifdef FLIP_SIDED\n\t\t\tcolorStroke.rgb = backfaceStroke;\n\t\t #endif\n\t\t vec4 colorFill = vec4(mix(diffuseColor.rgb, fill, fillMix), mix(diffuseColor.a, fillOpacity, fillMix));\n\t\t vec4 outColor = mix(colorFill, colorStroke, edge * strokeOpacity);\n\n\t\t diffuseColor.rgb = outColor.rgb;\n\t\t diffuseColor.a *= outColor.a;\n\t\t")},t.side=r.DoubleSide,t.transparent=!0},exports.useWireframeUniforms=function(t,e){o.useEffect((()=>{var n;t.fillOpacity.value=null!==(n=e.fillOpacity)&&void 0!==n?n:t.fillOpacity.value}),[e.fillOpacity]),o.useEffect((()=>{var n;t.fillMix.value=null!==(n=e.fillMix)&&void 0!==n?n:t.fillMix.value}),[e.fillMix]),o.useEffect((()=>{var n;t.strokeOpacity.value=null!==(n=e.strokeOpacity)&&void 0!==n?n:t.strokeOpacity.value}),[e.strokeOpacity]),o.useEffect((()=>{var n;t.thickness.value=null!==(n=e.thickness)&&void 0!==n?n:t.thickness.value}),[e.thickness]),o.useEffect((()=>{t.colorBackfaces.value=!!e.colorBackfaces}),[e.colorBackfaces]),o.useEffect((()=>{t.dash.value=!!e.dash}),[e.dash]),o.useEffect((()=>{t.dashInvert.value=!!e.dashInvert}),[e.dashInvert]),o.useEffect((()=>{var n;t.dashRepeats.value=null!==(n=e.dashRepeats)&&void 0!==n?n:t.dashRepeats.value}),[e.dashRepeats]),o.useEffect((()=>{var n;t.dashLength.value=null!==(n=e.dashLength)&&void 0!==n?n:t.dashLength.value}),[e.dashLength]),o.useEffect((()=>{t.squeeze.value=!!e.squeeze}),[e.squeeze]),o.useEffect((()=>{var n;t.squeezeMin.value=null!==(n=e.squeezeMin)&&void 0!==n?n:t.squeezeMin.value}),[e.squeezeMin]),o.useEffect((()=>{var n;t.squeezeMax.value=null!==(n=e.squeezeMax)&&void 0!==n?n:t.squeezeMax.value}),[e.squeezeMax]),o.useEffect((()=>{t.stroke.value=e.stroke?new r.Color(e.stroke):t.stroke.value}),[e.stroke]),o.useEffect((()=>{t.fill.value=e.fill?new r.Color(e.fill):t.fill.value}),[e.fill]),o.useEffect((()=>{t.backfaceStroke.value=e.backfaceStroke?new r.Color(e.backfaceStroke):t.backfaceStroke.value}),[e.backfaceStroke])};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("three"),e=require("react"),n=require("../core/shaderMaterial.cjs.js");function a(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(n){if("default"!==n){var a=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,a.get?a:{enumerable:!0,get:function(){return t[n]}})}})),e.default=t,Object.freeze(e)}var r=a(t),o=a(e);const i={uniforms:{strokeOpacity:1,fillOpacity:.25,fillMix:0,thickness:.05,colorBackfaces:!1,dashInvert:!0,dash:!1,dashRepeats:4,dashLength:.5,squeeze:!1,squeezeMin:.2,squeezeMax:1,stroke:new r.Color("#ff0000"),backfaceStroke:new r.Color("#0000ff"),fill:new r.Color("#00ff00")},vertex:"\n\t attribute vec3 barycentric;\n\t\n\t\tvarying vec3 v_edges_Barycentric;\n\t\tvarying vec3 v_edges_Position;\n\n\t\tvoid initWireframe() {\n\t\t\tv_edges_Barycentric = barycentric;\n\t\t\tv_edges_Position = position.xyz;\n\t\t}\n\t ",fragment:"\n\t\t#ifndef PI\n\t \t#define PI 3.1415926535897932384626433832795\n\t\t#endif\n \n\t varying vec3 v_edges_Barycentric;\n\t varying vec3 v_edges_Position;\n \n\t uniform float strokeOpacity;\n\t uniform float fillOpacity;\n\t uniform float fillMix;\n\t uniform float thickness;\n\t uniform bool colorBackfaces;\n \n\t // Dash\n\t uniform bool dashInvert;\n\t uniform bool dash;\n\t uniform bool dashOnly;\n\t uniform float dashRepeats;\n\t uniform float dashLength;\n \n\t // Squeeze\n\t uniform bool squeeze;\n\t uniform float squeezeMin;\n\t uniform float squeezeMax;\n \n\t // Colors\n\t uniform vec3 stroke;\n\t uniform vec3 backfaceStroke;\n\t uniform vec3 fill;\n \n\t // This is like\n\t float wireframe_aastep(float threshold, float dist) {\n\t\t float afwidth = fwidth(dist) * 0.5;\n\t\t return smoothstep(threshold - afwidth, threshold + afwidth, dist);\n\t }\n \n\t float wireframe_map(float value, float min1, float max1, float min2, float max2) {\n\t\t return min2 + (value - min1) * (max2 - min2) / (max1 - min1);\n\t }\n \n\t float getWireframe() {\n\t\t\tvec3 barycentric = v_edges_Barycentric;\n\t\t\n\t\t\t// Distance from center of each triangle to its edges.\n\t\t\tfloat d = min(min(barycentric.x, barycentric.y), barycentric.z);\n\n\t\t\t// for dashed rendering, we can use this to get the 0 .. 1 value of the line length\n\t\t\tfloat positionAlong = max(barycentric.x, barycentric.y);\n\t\t\tif (barycentric.y < barycentric.x && barycentric.y < barycentric.z) {\n\t\t\t\tpositionAlong = 1.0 - positionAlong;\n\t\t\t}\n\n\t\t\t// the thickness of the stroke\n\t\t\tfloat computedThickness = wireframe_map(thickness, 0.0, 1.0, 0.0, 0.34);\n\n\t\t\t// if we want to shrink the thickness toward the center of the line segment\n\t\t\tif (squeeze) {\n\t\t\t\tcomputedThickness *= mix(squeezeMin, squeezeMax, (1.0 - sin(positionAlong * PI)));\n\t\t\t}\n\n\t\t\t// Create dash pattern\n\t\t\tif (dash) {\n\t\t\t\t// here we offset the stroke position depending on whether it\n\t\t\t\t// should overlap or not\n\t\t\t\tfloat offset = 1.0 / dashRepeats * dashLength / 2.0;\n\t\t\t\tif (!dashInvert) {\n\t\t\t\t\toffset += 1.0 / dashRepeats / 2.0;\n\t\t\t\t}\n\n\t\t\t\t// if we should animate the dash or not\n\t\t\t\t// if (dashAnimate) {\n\t\t\t\t// \toffset += time * 0.22;\n\t\t\t\t// }\n\n\t\t\t\t// create the repeating dash pattern\n\t\t\t\tfloat pattern = fract((positionAlong + offset) * dashRepeats);\n\t\t\t\tcomputedThickness *= 1.0 - wireframe_aastep(dashLength, pattern);\n\t\t\t}\n\n\t\t\t// compute the anti-aliased stroke edge \n\t\t\tfloat edge = 1.0 - wireframe_aastep(computedThickness, d);\n\n\t\t\treturn edge;\n\t }\n\t "},l=n.shaderMaterial(i.uniforms,i.vertex+"\n \tvoid main() {\n\t\tinitWireframe();\n\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n\t}\n ",i.fragment+"\n void main () {\n\t\t// Compute color\n\n\t\tfloat edge = getWireframe();\n\t\tvec4 colorStroke = vec4(stroke, edge);\n\n\t\t#ifdef FLIP_SIDED\n\t\t\tcolorStroke.rgb = backfaceStroke;\n\t\t#endif\n \n\t\tvec4 colorFill = vec4(fill, fillOpacity);\n\t\tvec4 outColor = mix(colorFill, colorStroke, edge * strokeOpacity);\n\n\t\tgl_FragColor = outColor;\n\t}\n ");exports.WireframeMaterial=l,exports.WireframeMaterialShaders=i,exports.setWireframeOverride=function(t,e){t.onBeforeCompile=t=>{t.uniforms={...t.uniforms,...e},t.vertexShader=t.vertexShader.replace("void main() {",`\n\t\t ${i.vertex}\n\t\t void main() {\n\t\t\tinitWireframe();\n\t\t`),t.fragmentShader=t.fragmentShader.replace("void main() {",`\n\t\t ${i.fragment}\n\t\t void main() {\n\t\t`),t.fragmentShader=t.fragmentShader.replace("#include <color_fragment>","\n\t\t #include <color_fragment>\n\t\t\t float edge = getWireframe();\n\t\t vec4 colorStroke = vec4(stroke, edge);\n\t\t #ifdef FLIP_SIDED\n\t\t\tcolorStroke.rgb = backfaceStroke;\n\t\t #endif\n\t\t vec4 colorFill = vec4(mix(diffuseColor.rgb, fill, fillMix), mix(diffuseColor.a, fillOpacity, fillMix));\n\t\t vec4 outColor = mix(colorFill, colorStroke, edge * strokeOpacity);\n\n\t\t diffuseColor.rgb = outColor.rgb;\n\t\t diffuseColor.a *= outColor.a;\n\t\t")},t.side=r.DoubleSide,t.transparent=!0},exports.useWireframeUniforms=function(t,e){o.useEffect((()=>{var n;t.fillOpacity.value=null!==(n=e.fillOpacity)&&void 0!==n?n:t.fillOpacity.value}),[e.fillOpacity]),o.useEffect((()=>{var n;t.fillMix.value=null!==(n=e.fillMix)&&void 0!==n?n:t.fillMix.value}),[e.fillMix]),o.useEffect((()=>{var n;t.strokeOpacity.value=null!==(n=e.strokeOpacity)&&void 0!==n?n:t.strokeOpacity.value}),[e.strokeOpacity]),o.useEffect((()=>{var n;t.thickness.value=null!==(n=e.thickness)&&void 0!==n?n:t.thickness.value}),[e.thickness]),o.useEffect((()=>{t.colorBackfaces.value=!!e.colorBackfaces}),[e.colorBackfaces]),o.useEffect((()=>{t.dash.value=!!e.dash}),[e.dash]),o.useEffect((()=>{t.dashInvert.value=!!e.dashInvert}),[e.dashInvert]),o.useEffect((()=>{var n;t.dashRepeats.value=null!==(n=e.dashRepeats)&&void 0!==n?n:t.dashRepeats.value}),[e.dashRepeats]),o.useEffect((()=>{var n;t.dashLength.value=null!==(n=e.dashLength)&&void 0!==n?n:t.dashLength.value}),[e.dashLength]),o.useEffect((()=>{t.squeeze.value=!!e.squeeze}),[e.squeeze]),o.useEffect((()=>{var n;t.squeezeMin.value=null!==(n=e.squeezeMin)&&void 0!==n?n:t.squeezeMin.value}),[e.squeezeMin]),o.useEffect((()=>{var n;t.squeezeMax.value=null!==(n=e.squeezeMax)&&void 0!==n?n:t.squeezeMax.value}),[e.squeezeMax]),o.useEffect((()=>{t.stroke.value=e.stroke?new r.Color(e.stroke):t.stroke.value}),[e.stroke]),o.useEffect((()=>{t.fill.value=e.fill?new r.Color(e.fill):t.fill.value}),[e.fill]),o.useEffect((()=>{t.backfaceStroke.value=e.backfaceStroke?new r.Color(e.backfaceStroke):t.backfaceStroke.value}),[e.backfaceStroke])};
@@ -1 +1 @@
1
- "use strict";var e=require("../core/Billboard.cjs.js"),r=require("../core/ScreenSpace.cjs.js"),s=require("../core/QuadraticBezierLine.cjs.js"),o=require("../core/CubicBezierLine.cjs.js"),t=require("../core/CatmullRomLine.cjs.js"),i=require("../core/Line.cjs.js"),a=require("../core/PositionalAudio.cjs.js"),c=require("../core/Text.cjs.js"),u=require("../core/Text3D.cjs.js"),n=require("../core/Effects.cjs.js"),j=require("../core/GradientTexture.cjs.js"),p=require("../core/Image.cjs.js"),x=require("../core/Edges.cjs.js"),l=require("../core/Trail.cjs.js"),m=require("../core/Sampler.cjs.js"),q=require("../core/ComputedAttribute.cjs.js"),d=require("../core/Clone.cjs.js"),h=require("../core/MarchingCubes.cjs.js"),C=require("../core/Decal.cjs.js"),M=require("../core/Svg.cjs.js"),S=require("../core/Gltf.cjs.js"),T=require("../core/AsciiRenderer.cjs.js"),f=require("../core/OrthographicCamera.cjs.js"),P=require("../core/PerspectiveCamera.cjs.js"),b=require("../core/CubeCamera.cjs.js"),B=require("../core/DeviceOrientationControls.cjs.js"),g=require("../core/FlyControls.cjs.js"),v=require("../core/MapControls.cjs.js"),F=require("../core/OrbitControls.cjs.js"),L=require("../core/TrackballControls.cjs.js"),A=require("../core/ArcballControls.cjs.js"),k=require("../core/TransformControls.cjs.js"),D=require("../core/PointerLockControls.cjs.js"),E=require("../core/FirstPersonControls.cjs.js"),G=require("../core/CameraControls.cjs.js"),R=require("../core/FaceControls.cjs.js"),w=require("../core/GizmoHelper.cjs.js"),z=require("../core/GizmoViewcube.cjs.js"),O=require("../core/GizmoViewport.cjs.js"),I=require("../core/Grid.cjs.js"),y=require("../core/useCubeTexture.cjs.js"),H=require("../core/useFBX.cjs.js"),V=require("../core/useGLTF.cjs.js"),W=require("../core/useKTX2.cjs.js"),Q=require("../core/useProgress.cjs.js"),X=require("../core/useTexture.cjs.js"),K=require("../core/useVideoTexture.cjs.js"),N=require("../core/useFont.cjs.js"),U=require("../core/Stats.cjs.js"),J=require("../core/useDepthBuffer.cjs.js"),Y=require("../core/useAspect.cjs.js"),Z=require("../core/useCamera.cjs.js"),$=require("../core/useDetectGPU.cjs.js"),_=require("../core/useHelper.cjs.js"),ee=require("../core/useBVH.cjs.js"),re=require("../core/useContextBridge.cjs.js"),se=require("../core/useAnimations.cjs.js"),oe=require("../core/useFBO.cjs.js"),te=require("../core/useIntersect.cjs.js"),ie=require("../core/useBoxProjectedEnv.cjs.js"),ae=require("../core/BBAnchor.cjs.js"),ce=require("../core/useTrailTexture.cjs.js"),ue=require("../core/useCubeCamera.cjs.js"),ne=require("../core/Example.cjs.js"),je=require("../core/SpriteAnimator.cjs.js"),pe=require("../core/FaceLandmarker.cjs.js"),xe=require("../core/CurveModifier.cjs.js"),le=require("../core/MeshDistortMaterial.cjs.js"),me=require("../core/MeshWobbleMaterial.cjs.js"),qe=require("../core/MeshReflectorMaterial.cjs.js"),de=require("../core/MeshRefractionMaterial.cjs.js"),he=require("../core/MeshTransmissionMaterial.cjs.js"),Ce=require("../core/MeshDiscardMaterial.cjs.js"),Me=require("../core/PointMaterial.cjs.js"),Se=require("../core/shaderMaterial.cjs.js"),Te=require("../core/softShadows.cjs.js"),fe=require("../core/shapes.cjs.js"),Pe=require("../core/Facemesh.cjs.js"),be=require("../core/RoundedBox.cjs.js"),Be=require("../core/ScreenQuad.cjs.js"),ge=require("../core/Center.cjs.js"),ve=require("../core/Resize.cjs.js"),Fe=require("../core/Bounds.cjs.js"),Le=require("../core/CameraShake.cjs.js"),Ae=require("../core/Float.cjs.js"),ke=require("../core/Stage.cjs.js"),De=require("../core/Backdrop.cjs.js"),Ee=require("../core/Shadow.cjs.js"),Ge=require("../core/Caustics.cjs.js"),Re=require("../core/ContactShadows.cjs.js"),we=require("../core/AccumulativeShadows.cjs.js"),ze=require("../core/Reflector.cjs.js"),Oe=require("../core/SpotLight.cjs.js"),Ie=require("../core/Environment.cjs.js"),ye=require("../core/Lightformer.cjs.js"),He=require("../core/Sky.cjs.js"),Ve=require("../core/Stars.cjs.js"),We=require("../core/Cloud.cjs.js"),Qe=require("../core/Sparkles.cjs.js"),Xe=require("../core/useEnvironment.cjs.js"),Ke=require("../core/useMatcapTexture.cjs.js"),Ne=require("../core/useNormalTexture.cjs.js"),Ue=require("../core/Wireframe.cjs.js"),Je=require("../core/Points.cjs.js"),Ye=require("../core/Instances.cjs.js"),Ze=require("../core/Segments.cjs.js"),$e=require("../core/Detailed.cjs.js"),_e=require("../core/Preload.cjs.js"),er=require("../core/BakeShadows.cjs.js"),rr=require("../core/meshBounds.cjs.js"),sr=require("../core/AdaptiveDpr.cjs.js"),or=require("../core/AdaptiveEvents.cjs.js"),tr=require("../core/PerformanceMonitor.cjs.js"),ir=require("../core/RenderTexture.cjs.js"),ar=require("../core/Mask.cjs.js"),cr=require("../core/Hud.cjs.js"),ur=require("../core/MeshPortalMaterial.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("@react-three/fiber"),require("react-merge-refs"),require("three"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("camera-controls"),require("maath"),require("@mediapipe/tasks-vision"),require("zustand"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../materials/WireframeMaterial.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=o.CubicBezierLine,exports.CatmullRomLine=t.CatmullRomLine,exports.Line=i.Line,exports.PositionalAudio=a.PositionalAudio,exports.Text=c.Text,exports.Text3D=u.Text3D,exports.Effects=n.Effects,exports.isWebGL2Available=n.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.GradientType=j.GradientType,exports.Image=p.Image,exports.Edges=x.Edges,exports.Trail=l.Trail,exports.useTrail=l.useTrail,exports.Sampler=m.Sampler,exports.useSurfaceSampler=m.useSurfaceSampler,exports.ComputedAttribute=q.ComputedAttribute,exports.Clone=d.Clone,exports.MarchingCube=h.MarchingCube,exports.MarchingCubes=h.MarchingCubes,exports.MarchingPlane=h.MarchingPlane,exports.Decal=C.Decal,exports.Svg=M.Svg,exports.Gltf=S.Gltf,exports.AsciiRenderer=T.AsciiRenderer,exports.OrthographicCamera=f.OrthographicCamera,exports.PerspectiveCamera=P.PerspectiveCamera,exports.CubeCamera=b.CubeCamera,exports.DeviceOrientationControls=B.DeviceOrientationControls,exports.FlyControls=g.FlyControls,exports.MapControls=v.MapControls,exports.OrbitControls=F.OrbitControls,exports.TrackballControls=L.TrackballControls,exports.ArcballControls=A.ArcballControls,exports.TransformControls=k.TransformControls,exports.PointerLockControls=D.PointerLockControls,exports.FirstPersonControls=E.FirstPersonControls,exports.CameraControls=G.CameraControls,exports.FaceControls=R.FaceControls,exports.useFaceControls=R.useFaceControls,exports.GizmoHelper=w.GizmoHelper,exports.useGizmoContext=w.useGizmoContext,exports.GizmoViewcube=z.GizmoViewcube,exports.GizmoViewport=O.GizmoViewport,exports.Grid=I.Grid,exports.useCubeTexture=y.useCubeTexture,exports.useFBX=H.useFBX,exports.useGLTF=V.useGLTF,exports.useKTX2=W.useKTX2,exports.useProgress=Q.useProgress,exports.IsObject=X.IsObject,exports.useTexture=X.useTexture,exports.useVideoTexture=K.useVideoTexture,exports.useFont=N.useFont,exports.Stats=U.Stats,exports.useDepthBuffer=J.useDepthBuffer,exports.useAspect=Y.useAspect,exports.useCamera=Z.useCamera,exports.useDetectGPU=$.useDetectGPU,exports.useHelper=_.useHelper,exports.Bvh=ee.Bvh,exports.useBVH=ee.useBVH,exports.useContextBridge=re.useContextBridge,exports.useAnimations=se.useAnimations,exports.useFBO=oe.useFBO,exports.useIntersect=te.useIntersect,exports.useBoxProjectedEnv=ie.useBoxProjectedEnv,exports.BBAnchor=ae.BBAnchor,exports.useTrailTexture=ce.useTrailTexture,exports.useCubeCamera=ue.useCubeCamera,exports.Example=ne.Example,exports.SpriteAnimator=je.SpriteAnimator,exports.FaceLandmarker=pe.FaceLandmarker,exports.FaceLandmarkerDefaults=pe.FaceLandmarkerDefaults,exports.useFaceLandmarker=pe.useFaceLandmarker,exports.CurveModifier=xe.CurveModifier,exports.MeshDistortMaterial=le.MeshDistortMaterial,exports.MeshWobbleMaterial=me.MeshWobbleMaterial,exports.MeshReflectorMaterial=qe.MeshReflectorMaterial,exports.MeshRefractionMaterial=de.MeshRefractionMaterial,exports.MeshTransmissionMaterial=he.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Ce.MeshDiscardMaterial,exports.PointMaterial=Me.PointMaterial,exports.PointMaterialImpl=Me.PointMaterialImpl,exports.shaderMaterial=Se.shaderMaterial,exports.SoftShadows=Te.SoftShadows,exports.Box=fe.Box,exports.Capsule=fe.Capsule,exports.Circle=fe.Circle,exports.Cone=fe.Cone,exports.Cylinder=fe.Cylinder,exports.Dodecahedron=fe.Dodecahedron,exports.Extrude=fe.Extrude,exports.Icosahedron=fe.Icosahedron,exports.Lathe=fe.Lathe,exports.Octahedron=fe.Octahedron,exports.Plane=fe.Plane,exports.Polyhedron=fe.Polyhedron,exports.Ring=fe.Ring,exports.Shape=fe.Shape,exports.Sphere=fe.Sphere,exports.Tetrahedron=fe.Tetrahedron,exports.Torus=fe.Torus,exports.TorusKnot=fe.TorusKnot,exports.Tube=fe.Tube,exports.Facemesh=Pe.Facemesh,exports.FacemeshDatas=Pe.FacemeshDatas,exports.FacemeshEye=Pe.FacemeshEye,exports.FacemeshEyeDefaults=Pe.FacemeshEyeDefaults,exports.RoundedBox=be.RoundedBox,exports.ScreenQuad=Be.ScreenQuad,exports.Center=ge.Center,exports.Resize=ve.Resize,exports.Bounds=Fe.Bounds,exports.useBounds=Fe.useBounds,exports.CameraShake=Le.CameraShake,exports.Float=Ae.Float,exports.Stage=ke.Stage,exports.Backdrop=De.Backdrop,exports.Shadow=Ee.Shadow,exports.Caustics=Ge.Caustics,exports.ContactShadows=Re.ContactShadows,exports.AccumulativeShadows=we.AccumulativeShadows,exports.RandomizedLight=we.RandomizedLight,exports.accumulativeContext=we.accumulativeContext,exports.Reflector=ze.Reflector,exports.SpotLight=Oe.SpotLight,exports.SpotLightShadow=Oe.SpotLightShadow,exports.Environment=Ie.Environment,exports.EnvironmentCube=Ie.EnvironmentCube,exports.EnvironmentMap=Ie.EnvironmentMap,exports.EnvironmentPortal=Ie.EnvironmentPortal,exports.Lightformer=ye.Lightformer,exports.Sky=He.Sky,exports.calcPosFromAngles=He.calcPosFromAngles,exports.Stars=Ve.Stars,exports.Cloud=We.Cloud,exports.Sparkles=Qe.Sparkles,exports.useEnvironment=Xe.useEnvironment,exports.useMatcapTexture=Ke.useMatcapTexture,exports.useNormalTexture=Ne.useNormalTexture,exports.Wireframe=Ue.Wireframe,exports.Point=Je.Point,exports.Points=Je.Points,exports.PointsBuffer=Je.PointsBuffer,exports.PositionPoint=Je.PositionPoint,exports.Instance=Ye.Instance,exports.Instances=Ye.Instances,exports.Merged=Ye.Merged,exports.Segment=Ze.Segment,exports.SegmentObject=Ze.SegmentObject,exports.Segments=Ze.Segments,exports.Detailed=$e.Detailed,exports.Preload=_e.Preload,exports.BakeShadows=er.BakeShadows,exports.meshBounds=rr.meshBounds,exports.AdaptiveDpr=sr.AdaptiveDpr,exports.AdaptiveEvents=or.AdaptiveEvents,exports.PerformanceMonitor=tr.PerformanceMonitor,exports.usePerformanceMonitor=tr.usePerformanceMonitor,exports.RenderTexture=ir.RenderTexture,exports.Mask=ar.Mask,exports.useMask=ar.useMask,exports.Hud=cr.Hud,exports.MeshPortalMaterial=ur.MeshPortalMaterial;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/Billboard.cjs.js"),r=require("../core/ScreenSpace.cjs.js"),s=require("../core/QuadraticBezierLine.cjs.js"),o=require("../core/CubicBezierLine.cjs.js"),t=require("../core/CatmullRomLine.cjs.js"),i=require("../core/Line.cjs.js"),a=require("../core/PositionalAudio.cjs.js"),c=require("../core/Text.cjs.js"),u=require("../core/Text3D.cjs.js"),n=require("../core/Effects.cjs.js"),j=require("../core/GradientTexture.cjs.js"),p=require("../core/Image.cjs.js"),x=require("../core/Edges.cjs.js"),l=require("../core/Trail.cjs.js"),m=require("../core/Sampler.cjs.js"),q=require("../core/ComputedAttribute.cjs.js"),d=require("../core/Clone.cjs.js"),h=require("../core/MarchingCubes.cjs.js"),C=require("../core/Decal.cjs.js"),M=require("../core/Svg.cjs.js"),S=require("../core/Gltf.cjs.js"),f=require("../core/AsciiRenderer.cjs.js"),T=require("../core/OrthographicCamera.cjs.js"),P=require("../core/PerspectiveCamera.cjs.js"),b=require("../core/CubeCamera.cjs.js"),B=require("../core/DeviceOrientationControls.cjs.js"),g=require("../core/FlyControls.cjs.js"),v=require("../core/MapControls.cjs.js"),F=require("../core/OrbitControls.cjs.js"),L=require("../core/TrackballControls.cjs.js"),A=require("../core/ArcballControls.cjs.js"),k=require("../core/TransformControls.cjs.js"),D=require("../core/PointerLockControls.cjs.js"),E=require("../core/FirstPersonControls.cjs.js"),G=require("../core/CameraControls.cjs.js"),R=require("../core/FaceControls.cjs.js"),w=require("../core/GizmoHelper.cjs.js"),z=require("../core/GizmoViewcube.cjs.js"),O=require("../core/GizmoViewport.cjs.js"),y=require("../core/Grid.cjs.js"),I=require("../core/useCubeTexture.cjs.js"),H=require("../core/useFBX.cjs.js"),V=require("../core/useGLTF.cjs.js"),W=require("../core/useKTX2.cjs.js"),Q=require("../core/useProgress.cjs.js"),X=require("../core/useTexture.cjs.js"),K=require("../core/useVideoTexture.cjs.js"),N=require("../core/useFont.cjs.js"),U=require("../core/Stats.cjs.js"),_=require("../core/useDepthBuffer.cjs.js"),J=require("../core/useAspect.cjs.js"),Y=require("../core/useCamera.cjs.js"),Z=require("../core/useDetectGPU.cjs.js"),$=require("../core/useHelper.cjs.js"),ee=require("../core/useBVH.cjs.js"),re=require("../core/useContextBridge.cjs.js"),se=require("../core/useAnimations.cjs.js"),oe=require("../core/useFBO.cjs.js"),te=require("../core/useIntersect.cjs.js"),ie=require("../core/useBoxProjectedEnv.cjs.js"),ae=require("../core/BBAnchor.cjs.js"),ce=require("../core/useTrailTexture.cjs.js"),ue=require("../core/useCubeCamera.cjs.js"),ne=require("../core/Example.cjs.js"),je=require("../core/SpriteAnimator.cjs.js"),pe=require("../core/FaceLandmarker.cjs.js"),xe=require("../core/CurveModifier.cjs.js"),le=require("../core/MeshDistortMaterial.cjs.js"),me=require("../core/MeshWobbleMaterial.cjs.js"),qe=require("../core/MeshReflectorMaterial.cjs.js"),de=require("../core/MeshRefractionMaterial.cjs.js"),he=require("../core/MeshTransmissionMaterial.cjs.js"),Ce=require("../core/MeshDiscardMaterial.cjs.js"),Me=require("../core/PointMaterial.cjs.js"),Se=require("../core/shaderMaterial.cjs.js"),fe=require("../core/softShadows.cjs.js"),Te=require("../core/shapes.cjs.js"),Pe=require("../core/Facemesh.cjs.js"),be=require("../core/RoundedBox.cjs.js"),Be=require("../core/ScreenQuad.cjs.js"),ge=require("../core/Center.cjs.js"),ve=require("../core/Resize.cjs.js"),Fe=require("../core/Bounds.cjs.js"),Le=require("../core/CameraShake.cjs.js"),Ae=require("../core/Float.cjs.js"),ke=require("../core/Stage.cjs.js"),De=require("../core/Backdrop.cjs.js"),Ee=require("../core/Shadow.cjs.js"),Ge=require("../core/Caustics.cjs.js"),Re=require("../core/ContactShadows.cjs.js"),we=require("../core/AccumulativeShadows.cjs.js"),ze=require("../core/Reflector.cjs.js"),Oe=require("../core/SpotLight.cjs.js"),ye=require("../core/Environment.cjs.js"),Ie=require("../core/Lightformer.cjs.js"),He=require("../core/Sky.cjs.js"),Ve=require("../core/Stars.cjs.js"),We=require("../core/Cloud.cjs.js"),Qe=require("../core/Sparkles.cjs.js"),Xe=require("../core/useEnvironment.cjs.js"),Ke=require("../core/useMatcapTexture.cjs.js"),Ne=require("../core/useNormalTexture.cjs.js"),Ue=require("../core/Wireframe.cjs.js"),_e=require("../core/Points.cjs.js"),Je=require("../core/Instances.cjs.js"),Ye=require("../core/Segments.cjs.js"),Ze=require("../core/Detailed.cjs.js"),$e=require("../core/Preload.cjs.js"),er=require("../core/BakeShadows.cjs.js"),rr=require("../core/meshBounds.cjs.js"),sr=require("../core/AdaptiveDpr.cjs.js"),or=require("../core/AdaptiveEvents.cjs.js"),tr=require("../core/PerformanceMonitor.cjs.js"),ir=require("../core/RenderTexture.cjs.js"),ar=require("../core/Mask.cjs.js"),cr=require("../core/Hud.cjs.js"),ur=require("../core/MeshPortalMaterial.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("@react-three/fiber"),require("react-merge-refs"),require("three"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("camera-controls"),require("maath"),require("@mediapipe/tasks-vision"),require("zustand"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../materials/WireframeMaterial.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=o.CubicBezierLine,exports.CatmullRomLine=t.CatmullRomLine,exports.Line=i.Line,exports.PositionalAudio=a.PositionalAudio,exports.Text=c.Text,exports.Text3D=u.Text3D,exports.Effects=n.Effects,exports.isWebGL2Available=n.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.GradientType=j.GradientType,exports.Image=p.Image,exports.Edges=x.Edges,exports.Trail=l.Trail,exports.useTrail=l.useTrail,exports.Sampler=m.Sampler,exports.useSurfaceSampler=m.useSurfaceSampler,exports.ComputedAttribute=q.ComputedAttribute,exports.Clone=d.Clone,exports.MarchingCube=h.MarchingCube,exports.MarchingCubes=h.MarchingCubes,exports.MarchingPlane=h.MarchingPlane,exports.Decal=C.Decal,exports.Svg=M.Svg,exports.Gltf=S.Gltf,exports.AsciiRenderer=f.AsciiRenderer,exports.OrthographicCamera=T.OrthographicCamera,exports.PerspectiveCamera=P.PerspectiveCamera,exports.CubeCamera=b.CubeCamera,exports.DeviceOrientationControls=B.DeviceOrientationControls,exports.FlyControls=g.FlyControls,exports.MapControls=v.MapControls,exports.OrbitControls=F.OrbitControls,exports.TrackballControls=L.TrackballControls,exports.ArcballControls=A.ArcballControls,exports.TransformControls=k.TransformControls,exports.PointerLockControls=D.PointerLockControls,exports.FirstPersonControls=E.FirstPersonControls,exports.CameraControls=G.CameraControls,exports.FaceControls=R.FaceControls,exports.useFaceControls=R.useFaceControls,exports.GizmoHelper=w.GizmoHelper,exports.useGizmoContext=w.useGizmoContext,exports.GizmoViewcube=z.GizmoViewcube,exports.GizmoViewport=O.GizmoViewport,exports.Grid=y.Grid,exports.useCubeTexture=I.useCubeTexture,exports.useFBX=H.useFBX,exports.useGLTF=V.useGLTF,exports.useKTX2=W.useKTX2,exports.useProgress=Q.useProgress,exports.IsObject=X.IsObject,exports.useTexture=X.useTexture,exports.useVideoTexture=K.useVideoTexture,exports.useFont=N.useFont,exports.Stats=U.Stats,exports.useDepthBuffer=_.useDepthBuffer,exports.useAspect=J.useAspect,exports.useCamera=Y.useCamera,exports.useDetectGPU=Z.useDetectGPU,exports.useHelper=$.useHelper,exports.Bvh=ee.Bvh,exports.useBVH=ee.useBVH,exports.useContextBridge=re.useContextBridge,exports.useAnimations=se.useAnimations,exports.useFBO=oe.useFBO,exports.useIntersect=te.useIntersect,exports.useBoxProjectedEnv=ie.useBoxProjectedEnv,exports.BBAnchor=ae.BBAnchor,exports.useTrailTexture=ce.useTrailTexture,exports.useCubeCamera=ue.useCubeCamera,exports.Example=ne.Example,exports.SpriteAnimator=je.SpriteAnimator,exports.FaceLandmarker=pe.FaceLandmarker,exports.FaceLandmarkerDefaults=pe.FaceLandmarkerDefaults,exports.useFaceLandmarker=pe.useFaceLandmarker,exports.CurveModifier=xe.CurveModifier,exports.MeshDistortMaterial=le.MeshDistortMaterial,exports.MeshWobbleMaterial=me.MeshWobbleMaterial,exports.MeshReflectorMaterial=qe.MeshReflectorMaterial,exports.MeshRefractionMaterial=de.MeshRefractionMaterial,exports.MeshTransmissionMaterial=he.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Ce.MeshDiscardMaterial,exports.PointMaterial=Me.PointMaterial,exports.PointMaterialImpl=Me.PointMaterialImpl,exports.shaderMaterial=Se.shaderMaterial,exports.SoftShadows=fe.SoftShadows,exports.Box=Te.Box,exports.Capsule=Te.Capsule,exports.Circle=Te.Circle,exports.Cone=Te.Cone,exports.Cylinder=Te.Cylinder,exports.Dodecahedron=Te.Dodecahedron,exports.Extrude=Te.Extrude,exports.Icosahedron=Te.Icosahedron,exports.Lathe=Te.Lathe,exports.Octahedron=Te.Octahedron,exports.Plane=Te.Plane,exports.Polyhedron=Te.Polyhedron,exports.Ring=Te.Ring,exports.Shape=Te.Shape,exports.Sphere=Te.Sphere,exports.Tetrahedron=Te.Tetrahedron,exports.Torus=Te.Torus,exports.TorusKnot=Te.TorusKnot,exports.Tube=Te.Tube,exports.Facemesh=Pe.Facemesh,exports.FacemeshDatas=Pe.FacemeshDatas,exports.FacemeshEye=Pe.FacemeshEye,exports.FacemeshEyeDefaults=Pe.FacemeshEyeDefaults,exports.RoundedBox=be.RoundedBox,exports.ScreenQuad=Be.ScreenQuad,exports.Center=ge.Center,exports.Resize=ve.Resize,exports.Bounds=Fe.Bounds,exports.useBounds=Fe.useBounds,exports.CameraShake=Le.CameraShake,exports.Float=Ae.Float,exports.Stage=ke.Stage,exports.Backdrop=De.Backdrop,exports.Shadow=Ee.Shadow,exports.Caustics=Ge.Caustics,exports.ContactShadows=Re.ContactShadows,exports.AccumulativeShadows=we.AccumulativeShadows,exports.RandomizedLight=we.RandomizedLight,exports.accumulativeContext=we.accumulativeContext,exports.Reflector=ze.Reflector,exports.SpotLight=Oe.SpotLight,exports.SpotLightShadow=Oe.SpotLightShadow,exports.Environment=ye.Environment,exports.EnvironmentCube=ye.EnvironmentCube,exports.EnvironmentMap=ye.EnvironmentMap,exports.EnvironmentPortal=ye.EnvironmentPortal,exports.Lightformer=Ie.Lightformer,exports.Sky=He.Sky,exports.calcPosFromAngles=He.calcPosFromAngles,exports.Stars=Ve.Stars,exports.Cloud=We.Cloud,exports.Sparkles=Qe.Sparkles,exports.useEnvironment=Xe.useEnvironment,exports.useMatcapTexture=Ke.useMatcapTexture,exports.useNormalTexture=Ne.useNormalTexture,exports.Wireframe=Ue.Wireframe,exports.Point=_e.Point,exports.Points=_e.Points,exports.PointsBuffer=_e.PointsBuffer,exports.PositionPoint=_e.PositionPoint,exports.Instance=Je.Instance,exports.Instances=Je.Instances,exports.Merged=Je.Merged,exports.Segment=Ye.Segment,exports.SegmentObject=Ye.SegmentObject,exports.Segments=Ye.Segments,exports.Detailed=Ze.Detailed,exports.Preload=$e.Preload,exports.BakeShadows=er.BakeShadows,exports.meshBounds=rr.meshBounds,exports.AdaptiveDpr=sr.AdaptiveDpr,exports.AdaptiveEvents=or.AdaptiveEvents,exports.PerformanceMonitor=tr.PerformanceMonitor,exports.usePerformanceMonitor=tr.usePerformanceMonitor,exports.RenderTexture=ir.RenderTexture,exports.Mask=ar.Mask,exports.useMask=ar.useMask,exports.Hud=cr.Hud,exports.MeshPortalMaterial=ur.MeshPortalMaterial;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-three/drei",
3
- "version": "9.78.0",
3
+ "version": "9.78.2",
4
4
  "private": false,
5
5
  "description": "useful add-ons for react-three-fiber",
6
6
  "keywords": [
@@ -1 +1 @@
1
- "use strict";var e=require("react"),t=require("@react-three/fiber");function n(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var r=n(e);exports.CycleRaycast=function({onChanged:e,portal:n,preventDefault:o=!0,scroll:l=!0,keyCode:u=9}){const c=r.useRef(0),i=t.useThree((e=>e.setEvents)),a=t.useThree((e=>e.get)),d=t.useThree((e=>e.gl));return r.useEffect((()=>{var t;let r,s=[];const v=a().events.filter,h=null!==(t=null==n?void 0:n.current)&&void 0!==t?t:d.domElement.parentNode,f=()=>h&&e&&e(s,Math.round(c.current)%s.length);i({filter:(e,t)=>{let n=[...e];n.length===s.length&&s.every((e=>n.map((e=>e.object.uuid)).includes(e.object.uuid)))||(c.current=0,s=n,f()),v&&(n=v(n,t));for(let e=0;e<Math.round(c.current)%n.length;e++){const e=n.shift();n=[...n,e]}return n}});const m=e=>{var t,n;c.current=e(c.current),null==(t=a().events.handlers)||t.onPointerCancel(void 0),null==(n=a().events.handlers)||n.onPointerMove(r),f()},p=e=>{(e.keyCode||e.which===u)&&(o&&e.preventDefault(),s.length>1&&m((e=>e+1)))},g=e=>{o&&e.preventDefault();let t=0;e||(e=window.event),e.wheelDelta?t=e.wheelDelta/120:e.detail&&(t=-e.detail/3),s.length>1&&m((e=>Math.abs(e-t)))},b=e=>r=e;return document.addEventListener("pointermove",b,{passive:!0}),l&&document.addEventListener("wheel",g),void 0!==u&&document.addEventListener("keydown",p),()=>{i({filter:v}),void 0!==u&&document.removeEventListener("keydown",p),l&&document.removeEventListener("wheel",g),document.removeEventListener("pointermove",b)}}),[d,a,i,o,l,u]),null};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@react-three/fiber");function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var r=n(e);exports.CycleRaycast=function({onChanged:e,portal:n,preventDefault:o=!0,scroll:l=!0,keyCode:u=9}){const c=r.useRef(0),d=t.useThree((e=>e.setEvents)),i=t.useThree((e=>e.get)),a=t.useThree((e=>e.gl));return r.useEffect((()=>{var t;let r,s=[];const v=i().events.filter,f=null!==(t=null==n?void 0:n.current)&&void 0!==t?t:a.domElement.parentNode,h=()=>f&&e&&e(s,Math.round(c.current)%s.length);d({filter:(e,t)=>{let n=[...e];n.length===s.length&&s.every((e=>n.map((e=>e.object.uuid)).includes(e.object.uuid)))||(c.current=0,s=n,h()),v&&(n=v(n,t));for(let e=0;e<Math.round(c.current)%n.length;e++){const e=n.shift();n=[...n,e]}return n}});const m=e=>{var t,n;c.current=e(c.current),null==(t=i().events.handlers)||t.onPointerCancel(void 0),null==(n=i().events.handlers)||n.onPointerMove(r),h()},p=e=>{(e.keyCode||e.which===u)&&(o&&e.preventDefault(),s.length>1&&m((e=>e+1)))},g=e=>{o&&e.preventDefault();let t=0;e||(e=window.event),e.wheelDelta?t=e.wheelDelta/120:e.detail&&(t=-e.detail/3),s.length>1&&m((e=>Math.abs(e-t)))},b=e=>r=e;return document.addEventListener("pointermove",b,{passive:!0}),l&&document.addEventListener("wheel",g),void 0!==u&&document.addEventListener("keydown",p),()=>{d({filter:v}),void 0!==u&&document.removeEventListener("keydown",p),l&&document.removeEventListener("wheel",g),document.removeEventListener("pointermove",b)}}),[a,i,d,o,l,u]),null};
package/web/Html.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("react-dom/client"),n=require("three"),o=require("@react-three/fiber");function i(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=i(t),a=i(r);const c=new n.Vector3,l=new n.Vector3,u=new n.Vector3;function d(e,t,r){const n=c.setFromMatrixPosition(e.matrixWorld);n.project(t);const o=r.width/2,i=r.height/2;return[n.x*o+o,-n.y*i+i]}const m=e=>Math.abs(e)<1e-10?0:e;function f(e,t,r=""){let n="matrix3d(";for(let r=0;16!==r;r++)n+=m(t[r]*e.elements[r])+(15!==r?",":")");return r+n}const h=(p=[1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1],e=>f(e,p));var p;const x=(e,t)=>{return f(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};const v=s.forwardRef((({children:t,eps:r=.001,style:i,className:f,prepend:p,center:v,fullscreen:y,portal:g,distanceFactor:M,sprite:P=!1,transform:b=!1,occlude:w,onOcclude:E,castShadow:W,receiveShadow:S,material:$,geometry:z,zIndexRange:R=[16777271,0],calculatePosition:j=d,as:F="div",wrapperClass:O,pointerEvents:C="auto",...T},I)=>{const{gl:A,camera:k,scene:H,size:N,raycaster:q,events:V,viewport:L}=o.useThree(),[D]=s.useState((()=>document.createElement(F))),_=s.useRef(),G=s.useRef(null),Z=s.useRef(0),B=s.useRef([0,0]),J=s.useRef(null),K=s.useRef(null),Q=(null==g?void 0:g.current)||V.connected||A.domElement.parentNode,U=s.useRef(null),X=s.useRef(!1),Y=s.useMemo((()=>w&&"blending"!==w||Array.isArray(w)&&w.length&&function(e){return e&&"object"==typeof e&&"current"in e}(w[0])),[w]);s.useLayoutEffect((()=>{const e=A.domElement;w&&"blending"===w?(e.style.zIndex=`${Math.floor(R[0]/2)}`,e.style.position="absolute",e.style.pointerEvents="none"):(e.style.zIndex=null,e.style.position=null,e.style.pointerEvents=null)}),[w]),s.useLayoutEffect((()=>{if(G.current){const e=_.current=a.createRoot(D);if(H.updateMatrixWorld(),b)D.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{const e=j(G.current,k,N);D.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${e[0]}px,${e[1]}px,0);transform-origin:0 0;`}return Q&&(p?Q.prepend(D):Q.appendChild(D)),()=>{Q&&Q.removeChild(D),e.unmount()}}}),[Q,b]),s.useLayoutEffect((()=>{O&&(D.className=O)}),[O]);const ee=s.useMemo((()=>b?{position:"absolute",top:0,left:0,width:N.width,height:N.height,transformStyle:"preserve-3d",pointerEvents:"none"}:{position:"absolute",transform:v?"translate3d(-50%,-50%,0)":"none",...y&&{top:-N.height/2,left:-N.width/2,width:N.width,height:N.height},...i}),[i,v,y,N,b]),te=s.useMemo((()=>({position:"absolute",pointerEvents:C})),[C]);s.useLayoutEffect((()=>{var e,r;(X.current=!1,b)?null==(e=_.current)||e.render(s.createElement("div",{ref:J,style:ee},s.createElement("div",{ref:K,style:te},s.createElement("div",{ref:I,className:f,style:i,children:t})))):null==(r=_.current)||r.render(s.createElement("div",{ref:I,style:ee,className:f,children:t}))}));const re=s.useRef(!0);o.useFrame((e=>{if(G.current){k.updateMatrixWorld(),G.current.updateWorldMatrix(!0,!1);const e=b?B.current:j(G.current,k,N);if(b||Math.abs(Z.current-k.zoom)>r||Math.abs(B.current[0]-e[0])>r||Math.abs(B.current[1]-e[1])>r){const t=function(e,t){const r=c.setFromMatrixPosition(e.matrixWorld),n=l.setFromMatrixPosition(t.matrixWorld),o=r.sub(n),i=t.getWorldDirection(u);return o.angleTo(i)>Math.PI/2}(G.current,k);let r=!1;Y&&("blending"!==w?r=[H]:Array.isArray(w)&&(r=w.map((e=>e.current))));const o=re.current;if(r){const e=function(e,t,r,n){const o=c.setFromMatrixPosition(e.matrixWorld),i=o.clone();i.project(t),r.setFromCamera(i,t);const s=r.intersectObjects(n,!0);if(s.length){const e=s[0].distance;return o.distanceTo(r.ray.origin)<e}return!0}(G.current,k,q,r);re.current=e&&!t}else re.current=!t;o!==re.current&&(E?E(!re.current):D.style.display=re.current?"block":"none");const i=Math.floor(R[0]/2),s=w?Y?[R[0],i]:[i-1,0]:R;if(D.style.zIndex=`${function(e,t,r){if(t instanceof n.PerspectiveCamera||t instanceof n.OrthographicCamera){const n=c.setFromMatrixPosition(e.matrixWorld),o=l.setFromMatrixPosition(t.matrixWorld),i=n.distanceTo(o),s=(r[1]-r[0])/(t.far-t.near),a=r[1]-s*t.far;return Math.round(s*i+a)}}(G.current,k,s)}`,b){const[e,t]=[N.width/2,N.height/2],r=k.projectionMatrix.elements[5]*t,{isOrthographicCamera:n,top:o,left:i,bottom:s,right:a}=k,c=h(k.matrixWorldInverse),l=n?`scale(${r})translate(${m(-(a+i)/2)}px,${m((o+s)/2)}px)`:`translateZ(${r}px)`;let u=G.current.matrixWorld;P&&(u=k.matrixWorldInverse.clone().transpose().copyPosition(u).scale(G.current.scale),u.elements[3]=u.elements[7]=u.elements[11]=0,u.elements[15]=1),D.style.width=N.width+"px",D.style.height=N.height+"px",D.style.perspective=n?"":`${r}px`,J.current&&K.current&&(J.current.style.transform=`${l}${c}translate(${e}px,${t}px)`,K.current.style.transform=x(u,1/((M||10)/400)))}else{const t=void 0===M?1:function(e,t){if(t instanceof n.OrthographicCamera)return t.zoom;if(t instanceof n.PerspectiveCamera){const r=c.setFromMatrixPosition(e.matrixWorld),n=l.setFromMatrixPosition(t.matrixWorld),o=t.fov*Math.PI/180,i=r.distanceTo(n);return 1/(2*Math.tan(o/2)*i)}return 1}(G.current,k)*M;D.style.transform=`translate3d(${e[0]}px,${e[1]}px,0) scale(${t})`}B.current=e,Z.current=k.zoom}}if(!Y&&U.current&&!X.current)if(b){if(J.current){const e=J.current.children[0];if(null!=e&&e.clientWidth&&null!=e&&e.clientHeight){const{isOrthographicCamera:t}=k;if(t||z)T.scale&&(Array.isArray(T.scale)?T.scale instanceof n.Vector3?U.current.scale.copy(T.scale.clone().divideScalar(1)):U.current.scale.set(1/T.scale[0],1/T.scale[1],1/T.scale[2]):U.current.scale.setScalar(1/T.scale));else{const t=(M||10)/400,r=e.clientWidth*t,n=e.clientHeight*t;U.current.scale.set(r,n,1)}X.current=!0}}}else{const t=D.children[0];if(null!=t&&t.clientWidth&&null!=t&&t.clientHeight){const e=1/L.factor,r=t.clientWidth*e,n=t.clientHeight*e;U.current.scale.set(r,n,1),X.current=!0}U.current.lookAt(e.camera.position)}}));const ne=s.useMemo((()=>({vertexShader:b?void 0:'\n /*\n This shader is from the THREE\'s SpriteMaterial.\n We need to turn the backing plane into a Sprite\n (make it always face the camera) if "transfrom" \n is false. \n */\n #include <common>\n\n void main() {\n vec2 center = vec2(0., 1.);\n float rotation = 0.0;\n \n // This is somewhat arbitrary, but it seems to work well\n // Need to figure out how to derive this dynamically if it even matters\n float size = 0.03;\n\n vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n vec2 scale;\n scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\n bool isPerspective = isPerspectiveMatrix( projectionMatrix );\n if ( isPerspective ) scale *= - mvPosition.z;\n\n vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale * size;\n vec2 rotatedPosition;\n rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n mvPosition.xy += rotatedPosition;\n\n gl_Position = projectionMatrix * mvPosition;\n }\n ',fragmentShader:"\n void main() {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\n }\n "})),[b]);return s.createElement("group",e({},T,{ref:G}),w&&!Y&&s.createElement("mesh",{castShadow:W,receiveShadow:S,ref:U},z||s.createElement("planeGeometry",null),$||s.createElement("shaderMaterial",{side:n.DoubleSide,vertexShader:ne.vertexShader,fragmentShader:ne.fragmentShader})))}));exports.Html=v;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("react-dom/client"),n=require("three"),o=require("@react-three/fiber");function i(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=i(e),c=s(t),l=s(r);const u=new n.Vector3,d=new n.Vector3,m=new n.Vector3;function f(e,t,r){const n=u.setFromMatrixPosition(e.matrixWorld);n.project(t);const o=r.width/2,i=r.height/2;return[n.x*o+o,-n.y*i+i]}const h=e=>Math.abs(e)<1e-10?0:e;function p(e,t,r=""){let n="matrix3d(";for(let r=0;16!==r;r++)n+=h(t[r]*e.elements[r])+(15!==r?",":")");return r+n}const x=(v=[1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1],e=>p(e,v));var v;const y=(e,t)=>{return p(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};const g=c.forwardRef((({children:e,eps:t=.001,style:r,className:i,prepend:s,center:p,fullscreen:v,portal:g,distanceFactor:M,sprite:b=!1,transform:P=!1,occlude:w,onOcclude:E,castShadow:W,receiveShadow:S,material:$,geometry:j,zIndexRange:z=[16777271,0],calculatePosition:O=f,as:R="div",wrapperClass:F,pointerEvents:C="auto",...T},I)=>{const{gl:A,camera:k,scene:H,size:N,raycaster:_,events:q,viewport:V}=o.useThree(),[L]=c.useState((()=>document.createElement(R))),D=c.useRef(),G=c.useRef(null),Z=c.useRef(0),B=c.useRef([0,0]),J=c.useRef(null),K=c.useRef(null),Q=(null==g?void 0:g.current)||q.connected||A.domElement.parentNode,U=c.useRef(null),X=c.useRef(!1),Y=c.useMemo((()=>w&&"blending"!==w||Array.isArray(w)&&w.length&&function(e){return e&&"object"==typeof e&&"current"in e}(w[0])),[w]);c.useLayoutEffect((()=>{const e=A.domElement;w&&"blending"===w?(e.style.zIndex=`${Math.floor(z[0]/2)}`,e.style.position="absolute",e.style.pointerEvents="none"):(e.style.zIndex=null,e.style.position=null,e.style.pointerEvents=null)}),[w]),c.useLayoutEffect((()=>{if(G.current){const e=D.current=l.createRoot(L);if(H.updateMatrixWorld(),P)L.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{const e=O(G.current,k,N);L.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${e[0]}px,${e[1]}px,0);transform-origin:0 0;`}return Q&&(s?Q.prepend(L):Q.appendChild(L)),()=>{Q&&Q.removeChild(L),e.unmount()}}}),[Q,P]),c.useLayoutEffect((()=>{F&&(L.className=F)}),[F]);const ee=c.useMemo((()=>P?{position:"absolute",top:0,left:0,width:N.width,height:N.height,transformStyle:"preserve-3d",pointerEvents:"none"}:{position:"absolute",transform:p?"translate3d(-50%,-50%,0)":"none",...v&&{top:-N.height/2,left:-N.width/2,width:N.width,height:N.height},...r}),[r,p,v,N,P]),te=c.useMemo((()=>({position:"absolute",pointerEvents:C})),[C]);c.useLayoutEffect((()=>{var t,n;(X.current=!1,P)?null==(t=D.current)||t.render(c.createElement("div",{ref:J,style:ee},c.createElement("div",{ref:K,style:te},c.createElement("div",{ref:I,className:i,style:r,children:e})))):null==(n=D.current)||n.render(c.createElement("div",{ref:I,style:ee,className:i,children:e}))}));const re=c.useRef(!0);o.useFrame((e=>{if(G.current){k.updateMatrixWorld(),G.current.updateWorldMatrix(!0,!1);const e=P?B.current:O(G.current,k,N);if(P||Math.abs(Z.current-k.zoom)>t||Math.abs(B.current[0]-e[0])>t||Math.abs(B.current[1]-e[1])>t){const t=function(e,t){const r=u.setFromMatrixPosition(e.matrixWorld),n=d.setFromMatrixPosition(t.matrixWorld),o=r.sub(n),i=t.getWorldDirection(m);return o.angleTo(i)>Math.PI/2}(G.current,k);let r=!1;Y&&("blending"!==w?r=[H]:Array.isArray(w)&&(r=w.map((e=>e.current))));const o=re.current;if(r){const e=function(e,t,r,n){const o=u.setFromMatrixPosition(e.matrixWorld),i=o.clone();i.project(t),r.setFromCamera(i,t);const s=r.intersectObjects(n,!0);if(s.length){const e=s[0].distance;return o.distanceTo(r.ray.origin)<e}return!0}(G.current,k,_,r);re.current=e&&!t}else re.current=!t;o!==re.current&&(E?E(!re.current):L.style.display=re.current?"block":"none");const i=Math.floor(z[0]/2),s=w?Y?[z[0],i]:[i-1,0]:z;if(L.style.zIndex=`${function(e,t,r){if(t instanceof n.PerspectiveCamera||t instanceof n.OrthographicCamera){const n=u.setFromMatrixPosition(e.matrixWorld),o=d.setFromMatrixPosition(t.matrixWorld),i=n.distanceTo(o),s=(r[1]-r[0])/(t.far-t.near),a=r[1]-s*t.far;return Math.round(s*i+a)}}(G.current,k,s)}`,P){const[e,t]=[N.width/2,N.height/2],r=k.projectionMatrix.elements[5]*t,{isOrthographicCamera:n,top:o,left:i,bottom:s,right:a}=k,c=x(k.matrixWorldInverse),l=n?`scale(${r})translate(${h(-(a+i)/2)}px,${h((o+s)/2)}px)`:`translateZ(${r}px)`;let u=G.current.matrixWorld;b&&(u=k.matrixWorldInverse.clone().transpose().copyPosition(u).scale(G.current.scale),u.elements[3]=u.elements[7]=u.elements[11]=0,u.elements[15]=1),L.style.width=N.width+"px",L.style.height=N.height+"px",L.style.perspective=n?"":`${r}px`,J.current&&K.current&&(J.current.style.transform=`${l}${c}translate(${e}px,${t}px)`,K.current.style.transform=y(u,1/((M||10)/400)))}else{const t=void 0===M?1:function(e,t){if(t instanceof n.OrthographicCamera)return t.zoom;if(t instanceof n.PerspectiveCamera){const r=u.setFromMatrixPosition(e.matrixWorld),n=d.setFromMatrixPosition(t.matrixWorld),o=t.fov*Math.PI/180,i=r.distanceTo(n);return 1/(2*Math.tan(o/2)*i)}return 1}(G.current,k)*M;L.style.transform=`translate3d(${e[0]}px,${e[1]}px,0) scale(${t})`}B.current=e,Z.current=k.zoom}}if(!Y&&U.current&&!X.current)if(P){if(J.current){const e=J.current.children[0];if(null!=e&&e.clientWidth&&null!=e&&e.clientHeight){const{isOrthographicCamera:t}=k;if(t||j)T.scale&&(Array.isArray(T.scale)?T.scale instanceof n.Vector3?U.current.scale.copy(T.scale.clone().divideScalar(1)):U.current.scale.set(1/T.scale[0],1/T.scale[1],1/T.scale[2]):U.current.scale.setScalar(1/T.scale));else{const t=(M||10)/400,r=e.clientWidth*t,n=e.clientHeight*t;U.current.scale.set(r,n,1)}X.current=!0}}}else{const t=L.children[0];if(null!=t&&t.clientWidth&&null!=t&&t.clientHeight){const e=1/V.factor,r=t.clientWidth*e,n=t.clientHeight*e;U.current.scale.set(r,n,1),X.current=!0}U.current.lookAt(e.camera.position)}}));const ne=c.useMemo((()=>({vertexShader:P?void 0:'\n /*\n This shader is from the THREE\'s SpriteMaterial.\n We need to turn the backing plane into a Sprite\n (make it always face the camera) if "transfrom" \n is false. \n */\n #include <common>\n\n void main() {\n vec2 center = vec2(0., 1.);\n float rotation = 0.0;\n \n // This is somewhat arbitrary, but it seems to work well\n // Need to figure out how to derive this dynamically if it even matters\n float size = 0.03;\n\n vec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n vec2 scale;\n scale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n scale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\n bool isPerspective = isPerspectiveMatrix( projectionMatrix );\n if ( isPerspective ) scale *= - mvPosition.z;\n\n vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale * size;\n vec2 rotatedPosition;\n rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n mvPosition.xy += rotatedPosition;\n\n gl_Position = projectionMatrix * mvPosition;\n }\n ',fragmentShader:"\n void main() {\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\n }\n "})),[P]);return c.createElement("group",a.default({},T,{ref:G}),w&&!Y&&c.createElement("mesh",{castShadow:W,receiveShadow:S,ref:U},j||c.createElement("planeGeometry",null),$||c.createElement("shaderMaterial",{side:n.DoubleSide,vertexShader:ne.vertexShader,fragmentShader:ne.fragmentShader})))}));exports.Html=g;
@@ -1 +1 @@
1
- "use strict";var e=require("react"),t=require("zustand"),r=require("zustand/middleware");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);const o=t.default||t,u=s.createContext(null);exports.KeyboardControls=function({map:e,children:t,onChange:n,domElement:c}){const a=e.map((e=>e.name+e.keys)).join("-"),d=s.useMemo((()=>o(r.subscribeWithSelector((()=>e.reduce(((e,t)=>({...e,[t.name]:!1})),{}))))),[a]),i=s.useMemo((()=>[d.subscribe,d.getState,d]),[a]),f=d.setState;return s.useEffect((()=>{const t=e.map((({name:e,keys:t,up:r})=>({keys:t,up:r,fn:t=>{f({[e]:t}),n&&n(e,t,i[1]())}}))).reduce(((e,{keys:t,fn:r,up:n=!0})=>(t.forEach((t=>e[t]={fn:r,pressed:!1,up:n})),e)),{}),r=({key:e,code:r})=>{const n=t[e]||t[r];if(!n)return;const{fn:s,pressed:o,up:u}=n;n.pressed=!0,!u&&o||s(!0)},s=({key:e,code:r})=>{const n=t[e]||t[r];if(!n)return;const{fn:s,up:o}=n;n.pressed=!1,o&&s(!1)},o=c||window;return o.addEventListener("keydown",r,{passive:!0}),o.addEventListener("keyup",s,{passive:!0}),()=>{o.removeEventListener("keydown",r),o.removeEventListener("keyup",s)}}),[c,a]),s.createElement(u.Provider,{value:i,children:t})},exports.useKeyboardControls=function(e){const[t,r,n]=s.useContext(u);return e?n(e):[t,r]};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("zustand"),r=require("zustand/middleware");function n(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 u=s(e),o=n(t);const c=u.createContext(null);exports.KeyboardControls=function({map:e,children:t,onChange:n,domElement:s}){const a=e.map((e=>e.name+e.keys)).join("-"),d=u.useMemo((()=>o.default(r.subscribeWithSelector((()=>e.reduce(((e,t)=>({...e,[t.name]:!1})),{}))))),[a]),i=u.useMemo((()=>[d.subscribe,d.getState,d]),[a]),f=d.setState;return u.useEffect((()=>{const t=e.map((({name:e,keys:t,up:r})=>({keys:t,up:r,fn:t=>{f({[e]:t}),n&&n(e,t,i[1]())}}))).reduce(((e,{keys:t,fn:r,up:n=!0})=>(t.forEach((t=>e[t]={fn:r,pressed:!1,up:n})),e)),{}),r=({key:e,code:r})=>{const n=t[e]||t[r];if(!n)return;const{fn:s,pressed:u,up:o}=n;n.pressed=!0,!o&&u||s(!0)},u=({key:e,code:r})=>{const n=t[e]||t[r];if(!n)return;const{fn:s,up:u}=n;n.pressed=!1,u&&s(!1)},o=s||window;return o.addEventListener("keydown",r,{passive:!0}),o.addEventListener("keyup",u,{passive:!0}),()=>{o.removeEventListener("keydown",r),o.removeEventListener("keyup",u)}}),[s,a]),u.createElement(c.Provider,{value:i,children:t})},exports.useKeyboardControls=function(e){const[t,r,n]=u.useContext(c);return e?n(e):[t,r]};
@@ -1,11 +1,7 @@
1
1
  import * as React from 'react';
2
- import zustand from 'zustand';
2
+ import create from 'zustand';
3
3
  import { subscribeWithSelector } from 'zustand/middleware';
4
4
 
5
- // https://github.com/pmndrs/drei/pull/1550
6
-
7
- const create = zustand.default || zustand; // These are removed in Zustand v4
8
-
9
5
  const context = /*@__PURE__*/React.createContext(null);
10
6
  function KeyboardControls({
11
7
  map,
package/web/Loader.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("react"),t=require("../core/useProgress.cjs.js");function r(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:c,dataInterpolation:s=a,initialState:l=(e=>e)}){const{active:u,progress:f}=t.useProgress(),m=n.useRef(0),d=n.useRef(0),p=n.useRef(null),[g,y]=n.useState(l(u));n.useEffect((()=>{let e;return u!==g&&(e=setTimeout((()=>y(u)),300)),()=>clearTimeout(e)}),[g,u]);const b=n.useCallback((()=>{p.current&&(m.current+=(f-m.current)/2,(m.current>.95*f||100===f)&&(m.current=f),p.current.innerText=s(m.current),m.current<f&&(d.current=requestAnimationFrame(b)))}),[s,f]);return n.useEffect((()=>(b(),()=>cancelAnimationFrame(d.current))),[b]),g?n.createElement("div",{style:{...i.container,opacity:u?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,...c}})))):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};
@@ -1 +1 @@
1
- "use strict";var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),o=require("@react-three/fiber"),n=require("@react-spring/three"),a=require("@use-gesture/react");function s(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 i=s(t);exports.PresentationControls=function({enabled:t=!0,snap:s,global:c,domElement:u,cursor:l=!0,children:f,speed:m=1,rotation:g=[0,0,0],zoom:h=1,polar:d=[0,Math.PI/2],azimuth:b=[-1/0,1/0],config:p={mass:1,tension:170,friction:26}}){const y=o.useThree((e=>e.events)),M=o.useThree((e=>e.gl)),v=u||y.connected||M.domElement,{size:E}=o.useThree(),q=i.useMemo((()=>[g[0]+d[0],g[0]+d[1]]),[g[0],d[0],d[1]]),O=i.useMemo((()=>[g[1]+b[0],g[1]+b[1]]),[g[1],b[0],b[1]]),P=i.useMemo((()=>[r.MathUtils.clamp(g[0],...q),r.MathUtils.clamp(g[1],...O),g[2]]),[g[0],g[1],g[2],q,O]),[j,z]=n.useSpring((()=>({scale:1,rotation:P,config:p})));i.useEffect((()=>{z.start({scale:1,rotation:P,config:p})}),[P]),i.useEffect((()=>{if(c&&l&&t)return v.style.cursor="grab",M.domElement.style.cursor="",()=>{v.style.cursor="default",M.domElement.style.cursor="default"}}),[c,l,v,t]);const U=a.useGesture({onHover:({last:e})=>{l&&!c&&t&&(v.style.cursor=e?"auto":"grab")},onDrag:({down:e,delta:[o,n],memo:[a,i]=j.rotation.animation.to||P})=>{if(!t)return[n,o];l&&(v.style.cursor=e?"grabbing":"grab"),o=r.MathUtils.clamp(i+o/E.width*Math.PI*m,...O),n=r.MathUtils.clamp(a+n/E.height*Math.PI*m,...q);const c=s&&!e&&"boolean"!=typeof s?s:p;return z.start({scale:e&&n>q[1]/2?h:1,rotation:s&&!e?P:[n,o,0],config:e=>"scale"===e?{...c,friction:3*c.friction}:c}),[n,o]}},{target:c?v:void 0});return i.createElement(n.a.group,e({},null==U?void 0:U(),j),f)};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),o=require("@react-three/fiber"),n=require("@react-spring/three"),a=require("@use-gesture/react");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function u(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var 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 i=s(e),c=u(t);exports.PresentationControls=function({enabled:e=!0,snap:t,global:s,domElement:u,cursor:l=!0,children:f,speed:d=1,rotation:m=[0,0,0],zoom:g=1,polar:h=[0,Math.PI/2],azimuth:b=[-1/0,1/0],config:p={mass:1,tension:170,friction:26}}){const y=o.useThree((e=>e.events)),M=o.useThree((e=>e.gl)),v=u||y.connected||M.domElement,{size:E}=o.useThree(),j=c.useMemo((()=>[m[0]+h[0],m[0]+h[1]]),[m[0],h[0],h[1]]),O=c.useMemo((()=>[m[1]+b[0],m[1]+b[1]]),[m[1],b[0],b[1]]),P=c.useMemo((()=>[r.MathUtils.clamp(m[0],...j),r.MathUtils.clamp(m[1],...O),m[2]]),[m[0],m[1],m[2],j,O]),[q,z]=n.useSpring((()=>({scale:1,rotation:P,config:p})));c.useEffect((()=>{z.start({scale:1,rotation:P,config:p})}),[P]),c.useEffect((()=>{if(s&&l&&e)return v.style.cursor="grab",M.domElement.style.cursor="",()=>{v.style.cursor="default",M.domElement.style.cursor="default"}}),[s,l,v,e]);const U=a.useGesture({onHover:({last:t})=>{l&&!s&&e&&(v.style.cursor=t?"auto":"grab")},onDrag:({down:o,delta:[n,a],memo:[s,u]=q.rotation.animation.to||P})=>{if(!e)return[a,n];l&&(v.style.cursor=o?"grabbing":"grab"),n=r.MathUtils.clamp(u+n/E.width*Math.PI*d,...O),a=r.MathUtils.clamp(s+a/E.height*Math.PI*d,...j);const i=t&&!o&&"boolean"!=typeof t?t:p;return z.start({scale:o&&a>j[1]/2?g:1,rotation:t&&!o?P:[a,n,0],config:e=>"scale"===e?{...i,friction:3*i.friction}:i}),[a,n]}},{target:s?v:void 0});return c.createElement(n.a.group,i.default({},null==U?void 0:U(),q),f)};
@@ -1 +1 @@
1
- "use strict";var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("react-dom/client"),o=require("@react-three/fiber"),n=require("react-merge-refs"),s=require("maath");function l(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 i=l(t),c=l(r);const a=i.createContext(null);function f(){return i.useContext(a)}const u=i.forwardRef((({children:e},t)=>{const r=i.useRef(null),s=f(),{width:l,height:c}=o.useThree((e=>e.viewport));return o.useFrame((()=>{r.current.position.x=s.horizontal?-l*(s.pages-1)*s.offset:0,r.current.position.y=s.horizontal?0:c*(s.pages-1)*s.offset})),i.createElement("group",{ref:n([t,r])},e)})),d=i.forwardRef((({children:t,style:r,...s},l)=>{const u=f(),d=i.useRef(null),{width:h,height:p}=o.useThree((e=>e.size)),m=i.useContext(o.context),v=i.useMemo((()=>c.createRoot(u.fixed)),[u.fixed]);return o.useFrame((()=>{u.delta>u.eps&&(d.current.style.transform=`translate3d(${u.horizontal?-h*(u.pages-1)*u.offset:0}px,${u.horizontal?0:p*(u.pages-1)*-u.offset}px,0)`)})),v.render(i.createElement("div",e({ref:n([l,d]),style:{...r,position:"absolute",top:0,left:0,willChange:"transform"}},s),i.createElement(a.Provider,{value:u},i.createElement(o.context.Provider,{value:m},t)))),null})),h=i.forwardRef((({html:t,...r},o)=>{const n=t?d:u;return i.createElement(n,e({ref:o},r))}));exports.Scroll=h,exports.ScrollControls=function({eps:e=1e-5,enabled:t=!0,infinite:r,horizontal:n,pages:l=1,distance:c=1,damping:f=.25,maxSpeed:u=1/0,style:d={},children:h}){const{get:p,setEvents:m,gl:v,size:g,invalidate:y,events:w}=o.useThree(),[x]=i.useState((()=>document.createElement("div"))),[E]=i.useState((()=>document.createElement("div"))),[b]=i.useState((()=>document.createElement("div"))),z=v.domElement.parentNode,C=i.useRef(0),L=i.useMemo((()=>{const t={el:x,eps:e,fill:E,fixed:b,horizontal:n,damping:f,offset:0,delta:0,scroll:C,pages:l,range(e,t,r=0){const o=e-r,n=o+t+2*r;return this.offset<o?0:this.offset>n?1:(this.offset-o)/(n-o)},curve(e,t,r=0){return Math.sin(this.range(e,t,r)*Math.PI)},visible(e,t,r=0){const o=e-r,n=o+t+2*r;return this.offset>=o&&this.offset<=n}};return t}),[e,f,n,l]);i.useEffect((()=>{x.style.position="absolute",x.style.width="100%",x.style.height="100%",x.style[n?"overflowX":"overflowY"]="auto",x.style[n?"overflowY":"overflowX"]="hidden",x.style.top="0px",x.style.left="0px";for(const e in d)x.style[e]=d[e];b.style.position="sticky",b.style.top="0px",b.style.left="0px",b.style.width="100%",b.style.height="100%",b.style.overflow="hidden",x.appendChild(b),E.style.height=n?"100%":l*c*100+"%",E.style.width=n?l*c*100+"%":"100%",E.style.pointerEvents="none",x.appendChild(E),z.appendChild(x),x[n?"scrollLeft":"scrollTop"]=1;const e=w.connected||v.domElement;requestAnimationFrame((()=>null==w.connect?void 0:w.connect(x)));const t=p().events.compute;return m({compute(e,t){const{left:r,top:o}=z.getBoundingClientRect(),n=e.clientX-r,s=e.clientY-o;t.pointer.set(n/t.size.width*2-1,-s/t.size.height*2+1),t.raycaster.setFromCamera(t.pointer,t.camera)}}),()=>{z.removeChild(x),m({compute:t}),null==w.connect||w.connect(e)}}),[l,c,n,x,E,b,z]),i.useEffect((()=>{if(w.connected===x){const e=g[n?"width":"height"],o=x[n?"scrollWidth":"scrollHeight"],s=o-e;let l=0,i=!0,c=!0;const a=()=>{if(t&&!c&&(y(),l=x[n?"scrollLeft":"scrollTop"],C.current=l/s,r)){if(!i)if(l>=s){const e=1-L.offset;x[n?"scrollLeft":"scrollTop"]=1,C.current=L.offset=-e,i=!0}else if(l<=0){const e=1+L.offset;x[n?"scrollLeft":"scrollTop"]=o,C.current=L.offset=e,i=!0}i&&setTimeout((()=>i=!1),40)}};x.addEventListener("scroll",a,{passive:!0}),requestAnimationFrame((()=>c=!1));const f=e=>x.scrollLeft+=e.deltaY/2;return n&&x.addEventListener("wheel",f,{passive:!0}),()=>{x.removeEventListener("scroll",a),n&&x.removeEventListener("wheel",f)}}}),[x,w,g,r,L,y,n,t]);let q=0;return o.useFrame(((t,r)=>{q=L.offset,s.easing.damp(L,"offset",C.current,f,r,u,void 0,e),s.easing.damp(L,"delta",Math.abs(q-L.offset),f,r,u,void 0,e),L.delta>e&&y()})),i.createElement(a.Provider,{value:L},h)},exports.useScroll=f;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("react-dom/client"),o=require("@react-three/fiber"),n=require("react-merge-refs"),s=require("maath");function l(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 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 c=l(e),a=i(t),f=i(r),u=l(n);const d=a.createContext(null);function p(){return a.useContext(d)}const h=a.forwardRef((({children:e},t)=>{const r=a.useRef(null),n=p(),{width:s,height:l}=o.useThree((e=>e.viewport));return o.useFrame((()=>{r.current.position.x=n.horizontal?-s*(n.pages-1)*n.offset:0,r.current.position.y=n.horizontal?0:l*(n.pages-1)*n.offset})),a.createElement("group",{ref:u.default([t,r])},e)})),m=a.forwardRef((({children:e,style:t,...r},n)=>{const s=p(),l=a.useRef(null),{width:i,height:h}=o.useThree((e=>e.size)),m=a.useContext(o.context),v=a.useMemo((()=>f.createRoot(s.fixed)),[s.fixed]);return o.useFrame((()=>{s.delta>s.eps&&(l.current.style.transform=`translate3d(${s.horizontal?-i*(s.pages-1)*s.offset:0}px,${s.horizontal?0:h*(s.pages-1)*-s.offset}px,0)`)})),v.render(a.createElement("div",c.default({ref:u.default([n,l]),style:{...t,position:"absolute",top:0,left:0,willChange:"transform"}},r),a.createElement(d.Provider,{value:s},a.createElement(o.context.Provider,{value:m},e)))),null})),v=a.forwardRef((({html:e,...t},r)=>{const o=e?m:h;return a.createElement(o,c.default({ref:r},t))}));exports.Scroll=v,exports.ScrollControls=function({eps:e=1e-5,enabled:t=!0,infinite:r,horizontal:n,pages:l=1,distance:i=1,damping:c=.25,maxSpeed:f=1/0,style:u={},children:p}){const{get:h,setEvents:m,gl:v,size:g,invalidate:y,events:x}=o.useThree(),[w]=a.useState((()=>document.createElement("div"))),[E]=a.useState((()=>document.createElement("div"))),[b]=a.useState((()=>document.createElement("div"))),z=v.domElement.parentNode,C=a.useRef(0),L=a.useMemo((()=>{const t={el:w,eps:e,fill:E,fixed:b,horizontal:n,damping:c,offset:0,delta:0,scroll:C,pages:l,range(e,t,r=0){const o=e-r,n=o+t+2*r;return this.offset<o?0:this.offset>n?1:(this.offset-o)/(n-o)},curve(e,t,r=0){return Math.sin(this.range(e,t,r)*Math.PI)},visible(e,t,r=0){const o=e-r,n=o+t+2*r;return this.offset>=o&&this.offset<=n}};return t}),[e,c,n,l]);a.useEffect((()=>{w.style.position="absolute",w.style.width="100%",w.style.height="100%",w.style[n?"overflowX":"overflowY"]="auto",w.style[n?"overflowY":"overflowX"]="hidden",w.style.top="0px",w.style.left="0px";for(const e in u)w.style[e]=u[e];b.style.position="sticky",b.style.top="0px",b.style.left="0px",b.style.width="100%",b.style.height="100%",b.style.overflow="hidden",w.appendChild(b),E.style.height=n?"100%":l*i*100+"%",E.style.width=n?l*i*100+"%":"100%",E.style.pointerEvents="none",w.appendChild(E),z.appendChild(w),w[n?"scrollLeft":"scrollTop"]=1;const e=x.connected||v.domElement;requestAnimationFrame((()=>null==x.connect?void 0:x.connect(w)));const t=h().events.compute;return m({compute(e,t){const{left:r,top:o}=z.getBoundingClientRect(),n=e.clientX-r,s=e.clientY-o;t.pointer.set(n/t.size.width*2-1,-s/t.size.height*2+1),t.raycaster.setFromCamera(t.pointer,t.camera)}}),()=>{z.removeChild(w),m({compute:t}),null==x.connect||x.connect(e)}}),[l,i,n,w,E,b,z]),a.useEffect((()=>{if(x.connected===w){const e=g[n?"width":"height"],o=w[n?"scrollWidth":"scrollHeight"],s=o-e;let l=0,i=!0,c=!0;const a=()=>{if(t&&!c&&(y(),l=w[n?"scrollLeft":"scrollTop"],C.current=l/s,r)){if(!i)if(l>=s){const e=1-L.offset;w[n?"scrollLeft":"scrollTop"]=1,C.current=L.offset=-e,i=!0}else if(l<=0){const e=1+L.offset;w[n?"scrollLeft":"scrollTop"]=o,C.current=L.offset=e,i=!0}i&&setTimeout((()=>i=!1),40)}};w.addEventListener("scroll",a,{passive:!0}),requestAnimationFrame((()=>c=!1));const f=e=>w.scrollLeft+=e.deltaY/2;return n&&w.addEventListener("wheel",f,{passive:!0}),()=>{w.removeEventListener("scroll",a),n&&w.removeEventListener("wheel",f)}}}),[w,x,g,r,L,y,n,t]);let q=0;return o.useFrame(((t,r)=>{q=L.offset,s.easing.damp(L,"offset",C.current,c,r,f,void 0,e),s.easing.damp(L,"delta",Math.abs(q-L.offset),c,r,f,void 0,e),L.delta>e&&y()})),a.createElement(d.Provider,{value:L},p)},exports.useScroll=p;
package/web/Select.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("@babel/runtime/helpers/extends"),t=require("react"),n=require("three"),r=require("three-stdlib"),o=require("@react-three/fiber"),i=require("zustand/shallow");function l(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var s=l(t),c=l(n);const u=i.default||i,a=s.createContext([]);exports.Select=function({box:t,multiple:n,children:i,onChange:l,onChangePointerUp:d,border:f="1px solid #55aaff",backgroundColor:p="rgba(75, 160, 255, 0.1)",filter:h=(e=>e),...v}){const[b,m]=s.useState(!1),{setEvents:y,camera:x,raycaster:E,gl:g,controls:w,size:C,get:P}=o.useThree(),[j,O]=s.useState(!1),[k,q]=s.useReducer(((e,{object:t,shift:n})=>void 0===t?[]:Array.isArray(t)?t:n?e.includes(t)?e.filter((e=>e!==t)):[t,...e]:e[0]===t?[]:[t]),[]);s.useEffect((()=>{b?null==l||l(k):null==d||d(k)}),[k,b]);const L=s.useCallback((e=>{e.stopPropagation(),q({object:h([e.object])[0],shift:n&&e.shiftKey})}),[]),M=s.useCallback((e=>!j&&q({})),[j]),S=s.useRef(null);return s.useEffect((()=>{if(!t||!n)return;const e=new r.SelectionBox(x,S.current),o=document.createElement("div");o.style.pointerEvents="none",o.style.border=f,o.style.backgroundColor=p,o.style.position="fixed";const i=new c.Vector2,l=new c.Vector2,s=new c.Vector2,a=P().events.enabled,d=null==w?void 0:w.enabled;let v=!1;function b(e,t){const{offsetX:n,offsetY:r}=e,{width:o,height:i}=C;t.set(n/o*2-1,-r/i*2+1)}function E(t){t.shiftKey&&(!function(e){var t;w&&(w.enabled=!1),y({enabled:!1}),m(v=!0),null==(t=g.domElement.parentElement)||t.appendChild(o),o.style.left=`${e.clientX}px`,o.style.top=`${e.clientY}px`,o.style.width="0px",o.style.height="0px",i.x=e.clientX,i.y=e.clientY}(t),b(t,e.startPoint))}let j=[];function O(t){if(v){!function(e){s.x=Math.max(i.x,e.clientX),s.y=Math.max(i.y,e.clientY),l.x=Math.min(i.x,e.clientX),l.y=Math.min(i.y,e.clientY),o.style.left=`${l.x}px`,o.style.top=`${l.y}px`,o.style.width=s.x-l.x+"px",o.style.height=s.y-l.y+"px"}(t),b(t,e.endPoint);const n=e.select().sort((e=>e.uuid)).filter((e=>e.isMesh));u(n,j)||(j=n,q({object:h(n)}))}}function k(e){var t;v&&v&&(w&&(w.enabled=d),y({enabled:a}),m(v=!1),null==(t=o.parentElement)||t.removeChild(o))}return document.addEventListener("pointerdown",E,{passive:!0}),document.addEventListener("pointermove",O,{passive:!0,capture:!0}),document.addEventListener("pointerup",k,{passive:!0}),()=>{document.removeEventListener("pointerdown",E),document.removeEventListener("pointermove",O),document.removeEventListener("pointerup",k)}}),[C.width,C.height,E,x,w,g]),s.createElement("group",e({ref:S,onClick:L,onPointerOver:()=>O(!0),onPointerOut:()=>O(!1),onPointerMissed:M},v),s.createElement(a.Provider,{value:k},i))},exports.useSelect=function(){return s.useContext(a)};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),n=require("three"),r=require("three-stdlib"),o=require("@react-three/fiber"),i=require("zustand/shallow");function l(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(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var u=l(e),c=s(t),a=s(n),d=l(i);const f=c.createContext([]);exports.Select=function({box:e,multiple:t,children:n,onChange:i,onChangePointerUp:l,border:s="1px solid #55aaff",backgroundColor:p="rgba(75, 160, 255, 0.1)",filter:h=(e=>e),...v}){const[b,y]=c.useState(!1),{setEvents:m,camera:x,raycaster:E,gl:g,controls:w,size:j,get:C}=o.useThree(),[P,O]=c.useState(!1),[M,k]=c.useReducer(((e,{object:t,shift:n})=>void 0===t?[]:Array.isArray(t)?t:n?e.includes(t)?e.filter((e=>e!==t)):[t,...e]:e[0]===t?[]:[t]),[]);c.useEffect((()=>{b?null==i||i(M):null==l||l(M)}),[M,b]);const q=c.useCallback((e=>{e.stopPropagation(),k({object:h([e.object])[0],shift:t&&e.shiftKey})}),[]),L=c.useCallback((e=>!P&&k({})),[P]),S=c.useRef(null);return c.useEffect((()=>{if(!e||!t)return;const n=new r.SelectionBox(x,S.current),o=document.createElement("div");o.style.pointerEvents="none",o.style.border=s,o.style.backgroundColor=p,o.style.position="fixed";const i=new a.Vector2,l=new a.Vector2,u=new a.Vector2,c=C().events.enabled,f=null==w?void 0:w.enabled;let v=!1;function b(e,t){const{offsetX:n,offsetY:r}=e,{width:o,height:i}=j;t.set(n/o*2-1,-r/i*2+1)}function E(e){e.shiftKey&&(!function(e){var t;w&&(w.enabled=!1),m({enabled:!1}),y(v=!0),null==(t=g.domElement.parentElement)||t.appendChild(o),o.style.left=`${e.clientX}px`,o.style.top=`${e.clientY}px`,o.style.width="0px",o.style.height="0px",i.x=e.clientX,i.y=e.clientY}(e),b(e,n.startPoint))}let P=[];function O(e){if(v){!function(e){u.x=Math.max(i.x,e.clientX),u.y=Math.max(i.y,e.clientY),l.x=Math.min(i.x,e.clientX),l.y=Math.min(i.y,e.clientY),o.style.left=`${l.x}px`,o.style.top=`${l.y}px`,o.style.width=u.x-l.x+"px",o.style.height=u.y-l.y+"px"}(e),b(e,n.endPoint);const t=n.select().sort((e=>e.uuid)).filter((e=>e.isMesh));d.default(t,P)||(P=t,k({object:h(t)}))}}function M(e){var t;v&&v&&(w&&(w.enabled=f),m({enabled:c}),y(v=!1),null==(t=o.parentElement)||t.removeChild(o))}return document.addEventListener("pointerdown",E,{passive:!0}),document.addEventListener("pointermove",O,{passive:!0,capture:!0}),document.addEventListener("pointerup",M,{passive:!0}),()=>{document.removeEventListener("pointerdown",E),document.removeEventListener("pointermove",O),document.removeEventListener("pointerup",M)}}),[j.width,j.height,E,x,w,g]),c.createElement("group",u.default({ref:S,onClick:q,onPointerOver:()=>O(!0),onPointerOut:()=>O(!1),onPointerMissed:L},v),c.createElement(f.Provider,{value:M},n))},exports.useSelect=function(){return c.useContext(f)};
package/web/Select.js CHANGED
@@ -3,11 +3,8 @@ import * as React from 'react';
3
3
  import * as THREE from 'three';
4
4
  import { SelectionBox } from 'three-stdlib';
5
5
  import { useThree } from '@react-three/fiber';
6
- import zustand from 'zustand/shallow';
6
+ import shallow from 'zustand/shallow';
7
7
 
8
- // https://github.com/pmndrs/drei/pull/1550
9
-
10
- const shallow = zustand.default || zustand;
11
8
  const context = /*#__PURE__*/React.createContext([]);
12
9
  function Select({
13
10
  box,
package/web/View.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("react"),t=require("three"),r=require("@react-three/fiber");function n(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var i=n(e),c=n(t);const o=new c.Color;function s(e){return"top"in e}function a({canvasSize:e,scene:t,index:n,children:c,frames:a,rect:u,track:l}){const h=r.useThree((e=>e.get)),f=r.useThree((e=>e.camera)),g=r.useThree((e=>e.scene)),d=r.useThree((e=>e.setEvents));let p=0;return r.useFrame((r=>{var n,i;(a===1/0||p<=a)&&(u.current=null==(n=l.current)?void 0:n.getBoundingClientRect(),p++);if(u.current){const{position:{left:n,bottom:a,width:l,height:h},isOffscreen:d}=function(e,t){const{right:r,top:n,left:i,bottom:c,width:o,height:a}=t,u=t.bottom<0||n>e.height||r<0||t.left>e.width;if(s(e)){const t=e.top+e.height-c;return{position:{width:o,height:a,left:i-e.left,top:n,bottom:t,right:r},isOffscreen:u}}return{position:{width:o,height:a,top:n,left:i,bottom:e.height-c,right:r},isOffscreen:u}}(e,u.current),p=l/h;(i=f)&&i.isOrthographicCamera?f.left===l/-2&&f.right===l/2&&f.top===h/2&&f.bottom===h/-2||(Object.assign(f,{left:l/-2,right:l/2,top:h/2,bottom:h/-2}),f.updateProjectionMatrix()):f.aspect!==p&&(f.aspect=p,f.updateProjectionMatrix()),r.gl.setViewport(n,a,l,h),r.gl.setScissor(n,a,l,h),r.gl.setScissorTest(!0),d?(r.gl.getClearColor(o),r.gl.setClearColor(o,r.gl.getClearAlpha()),r.gl.clear(!0,!0)):r.gl.render(c?g:t,f),r.gl.setScissorTest(!0)}}),n),i.useEffect((()=>{const e=h().events.connected;return d({connected:l.current}),()=>d({connected:e})}),[]),i.useEffect((()=>{s(e)||console.warn("Detected @react-three/fiber canvas size does not include position information. <View /> may not work as expected. Upgrade to @react-three/fiber ^8.1.0 for support.\n See https://github.com/pmndrs/drei/issues/944")}),[]),i.createElement(i.Fragment,null,c)}exports.View=({track:e,index:t=1,frames:n=1/0,children:o})=>{var s,u;const l=i.useRef(null),{size:h,scene:f}=r.useThree(),[g]=i.useState((()=>new c.Scene)),d=i.useCallback(((t,r)=>{if(l.current&&e.current&&t.target===e.current){const{width:e,height:n,left:i,top:c}=l.current,o=t.clientX-i,s=t.clientY-c;r.pointer.set(o/e*2-1,-s/n*2+1),r.raycaster.setFromCamera(r.pointer,r.camera)}}),[l,e]),[p,m]=i.useReducer((()=>!0),!1);return i.useEffect((()=>{var t;l.current=null==(t=e.current)?void 0:t.getBoundingClientRect(),m()}),[e]),i.createElement(i.Fragment,null,p&&r.createPortal(i.createElement(a,{canvasSize:h,frames:n,scene:f,track:e,rect:l,index:t},o,i.createElement("group",{onPointerOver:()=>null})),g,{events:{compute:d,priority:t},size:{width:null==(s=l.current)?void 0:s.width,height:null==(u=l.current)?void 0:u.height}}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("three"),r=require("@react-three/fiber");function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var i=n(e),c=n(t);const o=new c.Color;function s(e){return"top"in e}function u({canvasSize:e,scene:t,index:n,children:c,frames:u,rect:a,track:l}){const h=r.useThree((e=>e.get)),f=r.useThree((e=>e.camera)),g=r.useThree((e=>e.scene)),d=r.useThree((e=>e.setEvents));let p=0;return r.useFrame((r=>{var n,i;(u===1/0||p<=u)&&(a.current=null==(n=l.current)?void 0:n.getBoundingClientRect(),p++);if(a.current){const{position:{left:n,bottom:u,width:l,height:h},isOffscreen:d}=function(e,t){const{right:r,top:n,left:i,bottom:c,width:o,height:u}=t,a=t.bottom<0||n>e.height||r<0||t.left>e.width;if(s(e)){const t=e.top+e.height-c;return{position:{width:o,height:u,left:i-e.left,top:n,bottom:t,right:r},isOffscreen:a}}return{position:{width:o,height:u,top:n,left:i,bottom:e.height-c,right:r},isOffscreen:a}}(e,a.current),p=l/h;(i=f)&&i.isOrthographicCamera?f.left===l/-2&&f.right===l/2&&f.top===h/2&&f.bottom===h/-2||(Object.assign(f,{left:l/-2,right:l/2,top:h/2,bottom:h/-2}),f.updateProjectionMatrix()):f.aspect!==p&&(f.aspect=p,f.updateProjectionMatrix()),r.gl.setViewport(n,u,l,h),r.gl.setScissor(n,u,l,h),r.gl.setScissorTest(!0),d?(r.gl.getClearColor(o),r.gl.setClearColor(o,r.gl.getClearAlpha()),r.gl.clear(!0,!0)):r.gl.render(c?g:t,f),r.gl.setScissorTest(!0)}}),n),i.useEffect((()=>{const e=h().events.connected;return d({connected:l.current}),()=>d({connected:e})}),[]),i.useEffect((()=>{s(e)||console.warn("Detected @react-three/fiber canvas size does not include position information. <View /> may not work as expected. Upgrade to @react-three/fiber ^8.1.0 for support.\n See https://github.com/pmndrs/drei/issues/944")}),[]),i.createElement(i.Fragment,null,c)}exports.View=({track:e,index:t=1,frames:n=1/0,children:o})=>{var s,a;const l=i.useRef(null),{size:h,scene:f}=r.useThree(),[g]=i.useState((()=>new c.Scene)),d=i.useCallback(((t,r)=>{if(l.current&&e.current&&t.target===e.current){const{width:e,height:n,left:i,top:c}=l.current,o=t.clientX-i,s=t.clientY-c;r.pointer.set(o/e*2-1,-s/n*2+1),r.raycaster.setFromCamera(r.pointer,r.camera)}}),[l,e]),[p,m]=i.useReducer((()=>!0),!1);return i.useEffect((()=>{var t;l.current=null==(t=e.current)?void 0:t.getBoundingClientRect(),m()}),[e]),i.createElement(i.Fragment,null,p&&r.createPortal(i.createElement(u,{canvasSize:h,frames:n,scene:f,track:e,rect:l,index:t},o,i.createElement("group",{onPointerOver:()=>null})),g,{events:{compute:d,priority:t},size:{width:null==(s=l.current)?void 0:s.width,height:null==(a=l.current)?void 0:a.height}}))};
package/web/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("./Html.cjs.js"),r=require("./CycleRaycast.cjs.js"),s=require("./useCursor.cjs.js"),o=require("./Loader.cjs.js"),t=require("./ScrollControls.cjs.js"),i=require("./PresentationControls.cjs.js"),c=require("./KeyboardControls.cjs.js"),a=require("./Select.cjs.js"),u=require("./View.cjs.js"),n=require("./pivotControls/index.cjs.js"),j=require("../core/Billboard.cjs.js"),p=require("../core/ScreenSpace.cjs.js"),l=require("../core/QuadraticBezierLine.cjs.js"),x=require("../core/CubicBezierLine.cjs.js"),q=require("../core/CatmullRomLine.cjs.js"),d=require("../core/Line.cjs.js"),m=require("../core/PositionalAudio.cjs.js"),C=require("../core/Text.cjs.js"),h=require("../core/Text3D.cjs.js"),S=require("../core/Effects.cjs.js"),M=require("../core/GradientTexture.cjs.js"),P=require("../core/Image.cjs.js"),b=require("../core/Edges.cjs.js"),T=require("../core/Trail.cjs.js"),f=require("../core/Sampler.cjs.js"),v=require("../core/ComputedAttribute.cjs.js"),B=require("../core/Clone.cjs.js"),g=require("../core/MarchingCubes.cjs.js"),F=require("../core/Decal.cjs.js"),L=require("../core/Svg.cjs.js"),A=require("../core/Gltf.cjs.js"),k=require("../core/AsciiRenderer.cjs.js"),D=require("../core/OrthographicCamera.cjs.js"),E=require("../core/PerspectiveCamera.cjs.js"),R=require("../core/CubeCamera.cjs.js"),G=require("../core/DeviceOrientationControls.cjs.js"),w=require("../core/FlyControls.cjs.js"),y=require("../core/MapControls.cjs.js"),z=require("../core/OrbitControls.cjs.js"),O=require("../core/TrackballControls.cjs.js"),I=require("../core/ArcballControls.cjs.js"),H=require("../core/TransformControls.cjs.js"),V=require("../core/PointerLockControls.cjs.js"),K=require("../core/FirstPersonControls.cjs.js"),W=require("../core/CameraControls.cjs.js"),Q=require("../core/FaceControls.cjs.js"),X=require("../core/GizmoHelper.cjs.js"),N=require("../core/GizmoViewcube.cjs.js"),U=require("../core/GizmoViewport.cjs.js"),J=require("../core/Grid.cjs.js"),Y=require("../core/useCubeTexture.cjs.js"),Z=require("../core/useFBX.cjs.js"),$=require("../core/useGLTF.cjs.js"),_=require("../core/useKTX2.cjs.js"),ee=require("../core/useProgress.cjs.js"),re=require("../core/useTexture.cjs.js"),se=require("../core/useVideoTexture.cjs.js"),oe=require("../core/useFont.cjs.js"),te=require("../core/Stats.cjs.js"),ie=require("../core/useDepthBuffer.cjs.js"),ce=require("../core/useAspect.cjs.js"),ae=require("../core/useCamera.cjs.js"),ue=require("../core/useDetectGPU.cjs.js"),ne=require("../core/useHelper.cjs.js"),je=require("../core/useBVH.cjs.js"),pe=require("../core/useContextBridge.cjs.js"),le=require("../core/useAnimations.cjs.js"),xe=require("../core/useFBO.cjs.js"),qe=require("../core/useIntersect.cjs.js"),de=require("../core/useBoxProjectedEnv.cjs.js"),me=require("../core/BBAnchor.cjs.js"),Ce=require("../core/useTrailTexture.cjs.js"),he=require("../core/useCubeCamera.cjs.js"),Se=require("../core/Example.cjs.js"),Me=require("../core/SpriteAnimator.cjs.js"),Pe=require("../core/FaceLandmarker.cjs.js"),be=require("../core/CurveModifier.cjs.js"),Te=require("../core/MeshDistortMaterial.cjs.js"),fe=require("../core/MeshWobbleMaterial.cjs.js"),ve=require("../core/MeshReflectorMaterial.cjs.js"),Be=require("../core/MeshRefractionMaterial.cjs.js"),ge=require("../core/MeshTransmissionMaterial.cjs.js"),Fe=require("../core/MeshDiscardMaterial.cjs.js"),Le=require("../core/PointMaterial.cjs.js"),Ae=require("../core/shaderMaterial.cjs.js"),ke=require("../core/softShadows.cjs.js"),De=require("../core/shapes.cjs.js"),Ee=require("../core/Facemesh.cjs.js"),Re=require("../core/RoundedBox.cjs.js"),Ge=require("../core/ScreenQuad.cjs.js"),we=require("../core/Center.cjs.js"),ye=require("../core/Resize.cjs.js"),ze=require("../core/Bounds.cjs.js"),Oe=require("../core/CameraShake.cjs.js"),Ie=require("../core/Float.cjs.js"),He=require("../core/Stage.cjs.js"),Ve=require("../core/Backdrop.cjs.js"),Ke=require("../core/Shadow.cjs.js"),We=require("../core/Caustics.cjs.js"),Qe=require("../core/ContactShadows.cjs.js"),Xe=require("../core/AccumulativeShadows.cjs.js"),Ne=require("../core/Reflector.cjs.js"),Ue=require("../core/SpotLight.cjs.js"),Je=require("../core/Environment.cjs.js"),Ye=require("../core/Lightformer.cjs.js"),Ze=require("../core/Sky.cjs.js"),$e=require("../core/Stars.cjs.js"),_e=require("../core/Cloud.cjs.js"),er=require("../core/Sparkles.cjs.js"),rr=require("../core/useEnvironment.cjs.js"),sr=require("../core/useMatcapTexture.cjs.js"),or=require("../core/useNormalTexture.cjs.js"),tr=require("../core/Wireframe.cjs.js"),ir=require("../core/Points.cjs.js"),cr=require("../core/Instances.cjs.js"),ar=require("../core/Segments.cjs.js"),ur=require("../core/Detailed.cjs.js"),nr=require("../core/Preload.cjs.js"),jr=require("../core/BakeShadows.cjs.js"),pr=require("../core/meshBounds.cjs.js"),lr=require("../core/AdaptiveDpr.cjs.js"),xr=require("../core/AdaptiveEvents.cjs.js"),qr=require("../core/PerformanceMonitor.cjs.js"),dr=require("../core/RenderTexture.cjs.js"),mr=require("../core/Mask.cjs.js"),Cr=require("../core/Hud.cjs.js"),hr=require("../core/MeshPortalMaterial.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("react-dom/client"),require("three"),require("@react-three/fiber"),require("react-merge-refs"),require("maath"),require("@react-spring/three"),require("@use-gesture/react"),require("zustand"),require("zustand/middleware"),require("three-stdlib"),require("zustand/shallow"),require("./pivotControls/AxisArrow.cjs.js"),require("./pivotControls/context.cjs.js"),require("./pivotControls/PlaneSlider.cjs.js"),require("./pivotControls/AxisRotator.cjs.js"),require("lodash.clamp"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("camera-controls"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("@mediapipe/tasks-vision"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/WireframeMaterial.cjs.js"),require("react-composer"),exports.Html=e.Html,exports.CycleRaycast=r.CycleRaycast,exports.useCursor=s.useCursor,exports.Loader=o.Loader,exports.Scroll=t.Scroll,exports.ScrollControls=t.ScrollControls,exports.useScroll=t.useScroll,exports.PresentationControls=i.PresentationControls,exports.KeyboardControls=c.KeyboardControls,exports.useKeyboardControls=c.useKeyboardControls,exports.Select=a.Select,exports.useSelect=a.useSelect,exports.View=u.View,exports.PivotControls=n.PivotControls,exports.calculateScaleFactor=n.calculateScaleFactor,exports.Billboard=j.Billboard,exports.ScreenSpace=p.ScreenSpace,exports.QuadraticBezierLine=l.QuadraticBezierLine,exports.CubicBezierLine=x.CubicBezierLine,exports.CatmullRomLine=q.CatmullRomLine,exports.Line=d.Line,exports.PositionalAudio=m.PositionalAudio,exports.Text=C.Text,exports.Text3D=h.Text3D,exports.Effects=S.Effects,exports.isWebGL2Available=S.isWebGL2Available,exports.GradientTexture=M.GradientTexture,exports.GradientType=M.GradientType,exports.Image=P.Image,exports.Edges=b.Edges,exports.Trail=T.Trail,exports.useTrail=T.useTrail,exports.Sampler=f.Sampler,exports.useSurfaceSampler=f.useSurfaceSampler,exports.ComputedAttribute=v.ComputedAttribute,exports.Clone=B.Clone,exports.MarchingCube=g.MarchingCube,exports.MarchingCubes=g.MarchingCubes,exports.MarchingPlane=g.MarchingPlane,exports.Decal=F.Decal,exports.Svg=L.Svg,exports.Gltf=A.Gltf,exports.AsciiRenderer=k.AsciiRenderer,exports.OrthographicCamera=D.OrthographicCamera,exports.PerspectiveCamera=E.PerspectiveCamera,exports.CubeCamera=R.CubeCamera,exports.DeviceOrientationControls=G.DeviceOrientationControls,exports.FlyControls=w.FlyControls,exports.MapControls=y.MapControls,exports.OrbitControls=z.OrbitControls,exports.TrackballControls=O.TrackballControls,exports.ArcballControls=I.ArcballControls,exports.TransformControls=H.TransformControls,exports.PointerLockControls=V.PointerLockControls,exports.FirstPersonControls=K.FirstPersonControls,exports.CameraControls=W.CameraControls,exports.FaceControls=Q.FaceControls,exports.useFaceControls=Q.useFaceControls,exports.GizmoHelper=X.GizmoHelper,exports.useGizmoContext=X.useGizmoContext,exports.GizmoViewcube=N.GizmoViewcube,exports.GizmoViewport=U.GizmoViewport,exports.Grid=J.Grid,exports.useCubeTexture=Y.useCubeTexture,exports.useFBX=Z.useFBX,exports.useGLTF=$.useGLTF,exports.useKTX2=_.useKTX2,exports.useProgress=ee.useProgress,exports.IsObject=re.IsObject,exports.useTexture=re.useTexture,exports.useVideoTexture=se.useVideoTexture,exports.useFont=oe.useFont,exports.Stats=te.Stats,exports.useDepthBuffer=ie.useDepthBuffer,exports.useAspect=ce.useAspect,exports.useCamera=ae.useCamera,exports.useDetectGPU=ue.useDetectGPU,exports.useHelper=ne.useHelper,exports.Bvh=je.Bvh,exports.useBVH=je.useBVH,exports.useContextBridge=pe.useContextBridge,exports.useAnimations=le.useAnimations,exports.useFBO=xe.useFBO,exports.useIntersect=qe.useIntersect,exports.useBoxProjectedEnv=de.useBoxProjectedEnv,exports.BBAnchor=me.BBAnchor,exports.useTrailTexture=Ce.useTrailTexture,exports.useCubeCamera=he.useCubeCamera,exports.Example=Se.Example,exports.SpriteAnimator=Me.SpriteAnimator,exports.FaceLandmarker=Pe.FaceLandmarker,exports.FaceLandmarkerDefaults=Pe.FaceLandmarkerDefaults,exports.useFaceLandmarker=Pe.useFaceLandmarker,exports.CurveModifier=be.CurveModifier,exports.MeshDistortMaterial=Te.MeshDistortMaterial,exports.MeshWobbleMaterial=fe.MeshWobbleMaterial,exports.MeshReflectorMaterial=ve.MeshReflectorMaterial,exports.MeshRefractionMaterial=Be.MeshRefractionMaterial,exports.MeshTransmissionMaterial=ge.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Fe.MeshDiscardMaterial,exports.PointMaterial=Le.PointMaterial,exports.PointMaterialImpl=Le.PointMaterialImpl,exports.shaderMaterial=Ae.shaderMaterial,exports.SoftShadows=ke.SoftShadows,exports.Box=De.Box,exports.Capsule=De.Capsule,exports.Circle=De.Circle,exports.Cone=De.Cone,exports.Cylinder=De.Cylinder,exports.Dodecahedron=De.Dodecahedron,exports.Extrude=De.Extrude,exports.Icosahedron=De.Icosahedron,exports.Lathe=De.Lathe,exports.Octahedron=De.Octahedron,exports.Plane=De.Plane,exports.Polyhedron=De.Polyhedron,exports.Ring=De.Ring,exports.Shape=De.Shape,exports.Sphere=De.Sphere,exports.Tetrahedron=De.Tetrahedron,exports.Torus=De.Torus,exports.TorusKnot=De.TorusKnot,exports.Tube=De.Tube,exports.Facemesh=Ee.Facemesh,exports.FacemeshDatas=Ee.FacemeshDatas,exports.FacemeshEye=Ee.FacemeshEye,exports.FacemeshEyeDefaults=Ee.FacemeshEyeDefaults,exports.RoundedBox=Re.RoundedBox,exports.ScreenQuad=Ge.ScreenQuad,exports.Center=we.Center,exports.Resize=ye.Resize,exports.Bounds=ze.Bounds,exports.useBounds=ze.useBounds,exports.CameraShake=Oe.CameraShake,exports.Float=Ie.Float,exports.Stage=He.Stage,exports.Backdrop=Ve.Backdrop,exports.Shadow=Ke.Shadow,exports.Caustics=We.Caustics,exports.ContactShadows=Qe.ContactShadows,exports.AccumulativeShadows=Xe.AccumulativeShadows,exports.RandomizedLight=Xe.RandomizedLight,exports.accumulativeContext=Xe.accumulativeContext,exports.Reflector=Ne.Reflector,exports.SpotLight=Ue.SpotLight,exports.SpotLightShadow=Ue.SpotLightShadow,exports.Environment=Je.Environment,exports.EnvironmentCube=Je.EnvironmentCube,exports.EnvironmentMap=Je.EnvironmentMap,exports.EnvironmentPortal=Je.EnvironmentPortal,exports.Lightformer=Ye.Lightformer,exports.Sky=Ze.Sky,exports.calcPosFromAngles=Ze.calcPosFromAngles,exports.Stars=$e.Stars,exports.Cloud=_e.Cloud,exports.Sparkles=er.Sparkles,exports.useEnvironment=rr.useEnvironment,exports.useMatcapTexture=sr.useMatcapTexture,exports.useNormalTexture=or.useNormalTexture,exports.Wireframe=tr.Wireframe,exports.Point=ir.Point,exports.Points=ir.Points,exports.PointsBuffer=ir.PointsBuffer,exports.PositionPoint=ir.PositionPoint,exports.Instance=cr.Instance,exports.Instances=cr.Instances,exports.Merged=cr.Merged,exports.Segment=ar.Segment,exports.SegmentObject=ar.SegmentObject,exports.Segments=ar.Segments,exports.Detailed=ur.Detailed,exports.Preload=nr.Preload,exports.BakeShadows=jr.BakeShadows,exports.meshBounds=pr.meshBounds,exports.AdaptiveDpr=lr.AdaptiveDpr,exports.AdaptiveEvents=xr.AdaptiveEvents,exports.PerformanceMonitor=qr.PerformanceMonitor,exports.usePerformanceMonitor=qr.usePerformanceMonitor,exports.RenderTexture=dr.RenderTexture,exports.Mask=mr.Mask,exports.useMask=mr.useMask,exports.Hud=Cr.Hud,exports.MeshPortalMaterial=hr.MeshPortalMaterial;
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("./ScrollControls.cjs.js"),i=require("./PresentationControls.cjs.js"),c=require("./KeyboardControls.cjs.js"),a=require("./Select.cjs.js"),u=require("./View.cjs.js"),n=require("./pivotControls/index.cjs.js"),j=require("../core/Billboard.cjs.js"),p=require("../core/ScreenSpace.cjs.js"),l=require("../core/QuadraticBezierLine.cjs.js"),x=require("../core/CubicBezierLine.cjs.js"),q=require("../core/CatmullRomLine.cjs.js"),d=require("../core/Line.cjs.js"),m=require("../core/PositionalAudio.cjs.js"),C=require("../core/Text.cjs.js"),h=require("../core/Text3D.cjs.js"),S=require("../core/Effects.cjs.js"),M=require("../core/GradientTexture.cjs.js"),P=require("../core/Image.cjs.js"),b=require("../core/Edges.cjs.js"),f=require("../core/Trail.cjs.js"),T=require("../core/Sampler.cjs.js"),v=require("../core/ComputedAttribute.cjs.js"),B=require("../core/Clone.cjs.js"),g=require("../core/MarchingCubes.cjs.js"),F=require("../core/Decal.cjs.js"),L=require("../core/Svg.cjs.js"),A=require("../core/Gltf.cjs.js"),k=require("../core/AsciiRenderer.cjs.js"),D=require("../core/OrthographicCamera.cjs.js"),E=require("../core/PerspectiveCamera.cjs.js"),R=require("../core/CubeCamera.cjs.js"),G=require("../core/DeviceOrientationControls.cjs.js"),w=require("../core/FlyControls.cjs.js"),y=require("../core/MapControls.cjs.js"),z=require("../core/OrbitControls.cjs.js"),O=require("../core/TrackballControls.cjs.js"),I=require("../core/ArcballControls.cjs.js"),H=require("../core/TransformControls.cjs.js"),V=require("../core/PointerLockControls.cjs.js"),K=require("../core/FirstPersonControls.cjs.js"),W=require("../core/CameraControls.cjs.js"),Q=require("../core/FaceControls.cjs.js"),X=require("../core/GizmoHelper.cjs.js"),N=require("../core/GizmoViewcube.cjs.js"),U=require("../core/GizmoViewport.cjs.js"),_=require("../core/Grid.cjs.js"),J=require("../core/useCubeTexture.cjs.js"),Y=require("../core/useFBX.cjs.js"),Z=require("../core/useGLTF.cjs.js"),$=require("../core/useKTX2.cjs.js"),ee=require("../core/useProgress.cjs.js"),re=require("../core/useTexture.cjs.js"),se=require("../core/useVideoTexture.cjs.js"),oe=require("../core/useFont.cjs.js"),te=require("../core/Stats.cjs.js"),ie=require("../core/useDepthBuffer.cjs.js"),ce=require("../core/useAspect.cjs.js"),ae=require("../core/useCamera.cjs.js"),ue=require("../core/useDetectGPU.cjs.js"),ne=require("../core/useHelper.cjs.js"),je=require("../core/useBVH.cjs.js"),pe=require("../core/useContextBridge.cjs.js"),le=require("../core/useAnimations.cjs.js"),xe=require("../core/useFBO.cjs.js"),qe=require("../core/useIntersect.cjs.js"),de=require("../core/useBoxProjectedEnv.cjs.js"),me=require("../core/BBAnchor.cjs.js"),Ce=require("../core/useTrailTexture.cjs.js"),he=require("../core/useCubeCamera.cjs.js"),Se=require("../core/Example.cjs.js"),Me=require("../core/SpriteAnimator.cjs.js"),Pe=require("../core/FaceLandmarker.cjs.js"),be=require("../core/CurveModifier.cjs.js"),fe=require("../core/MeshDistortMaterial.cjs.js"),Te=require("../core/MeshWobbleMaterial.cjs.js"),ve=require("../core/MeshReflectorMaterial.cjs.js"),Be=require("../core/MeshRefractionMaterial.cjs.js"),ge=require("../core/MeshTransmissionMaterial.cjs.js"),Fe=require("../core/MeshDiscardMaterial.cjs.js"),Le=require("../core/PointMaterial.cjs.js"),Ae=require("../core/shaderMaterial.cjs.js"),ke=require("../core/softShadows.cjs.js"),De=require("../core/shapes.cjs.js"),Ee=require("../core/Facemesh.cjs.js"),Re=require("../core/RoundedBox.cjs.js"),Ge=require("../core/ScreenQuad.cjs.js"),we=require("../core/Center.cjs.js"),ye=require("../core/Resize.cjs.js"),ze=require("../core/Bounds.cjs.js"),Oe=require("../core/CameraShake.cjs.js"),Ie=require("../core/Float.cjs.js"),He=require("../core/Stage.cjs.js"),Ve=require("../core/Backdrop.cjs.js"),Ke=require("../core/Shadow.cjs.js"),We=require("../core/Caustics.cjs.js"),Qe=require("../core/ContactShadows.cjs.js"),Xe=require("../core/AccumulativeShadows.cjs.js"),Ne=require("../core/Reflector.cjs.js"),Ue=require("../core/SpotLight.cjs.js"),_e=require("../core/Environment.cjs.js"),Je=require("../core/Lightformer.cjs.js"),Ye=require("../core/Sky.cjs.js"),Ze=require("../core/Stars.cjs.js"),$e=require("../core/Cloud.cjs.js"),er=require("../core/Sparkles.cjs.js"),rr=require("../core/useEnvironment.cjs.js"),sr=require("../core/useMatcapTexture.cjs.js"),or=require("../core/useNormalTexture.cjs.js"),tr=require("../core/Wireframe.cjs.js"),ir=require("../core/Points.cjs.js"),cr=require("../core/Instances.cjs.js"),ar=require("../core/Segments.cjs.js"),ur=require("../core/Detailed.cjs.js"),nr=require("../core/Preload.cjs.js"),jr=require("../core/BakeShadows.cjs.js"),pr=require("../core/meshBounds.cjs.js"),lr=require("../core/AdaptiveDpr.cjs.js"),xr=require("../core/AdaptiveEvents.cjs.js"),qr=require("../core/PerformanceMonitor.cjs.js"),dr=require("../core/RenderTexture.cjs.js"),mr=require("../core/Mask.cjs.js"),Cr=require("../core/Hud.cjs.js"),hr=require("../core/MeshPortalMaterial.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("react-dom/client"),require("three"),require("@react-three/fiber"),require("zustand"),require("react-merge-refs"),require("maath"),require("@react-spring/three"),require("@use-gesture/react"),require("zustand/middleware"),require("three-stdlib"),require("zustand/shallow"),require("./pivotControls/AxisArrow.cjs.js"),require("./pivotControls/context.cjs.js"),require("./pivotControls/PlaneSlider.cjs.js"),require("./pivotControls/AxisRotator.cjs.js"),require("lodash.clamp"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("camera-controls"),require("@mediapipe/tasks-vision"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../materials/WireframeMaterial.cjs.js"),require("react-composer"),exports.Html=e.Html,exports.CycleRaycast=r.CycleRaycast,exports.useCursor=s.useCursor,exports.Loader=o.Loader,exports.Scroll=t.Scroll,exports.ScrollControls=t.ScrollControls,exports.useScroll=t.useScroll,exports.PresentationControls=i.PresentationControls,exports.KeyboardControls=c.KeyboardControls,exports.useKeyboardControls=c.useKeyboardControls,exports.Select=a.Select,exports.useSelect=a.useSelect,exports.View=u.View,exports.PivotControls=n.PivotControls,exports.calculateScaleFactor=n.calculateScaleFactor,exports.Billboard=j.Billboard,exports.ScreenSpace=p.ScreenSpace,exports.QuadraticBezierLine=l.QuadraticBezierLine,exports.CubicBezierLine=x.CubicBezierLine,exports.CatmullRomLine=q.CatmullRomLine,exports.Line=d.Line,exports.PositionalAudio=m.PositionalAudio,exports.Text=C.Text,exports.Text3D=h.Text3D,exports.Effects=S.Effects,exports.isWebGL2Available=S.isWebGL2Available,exports.GradientTexture=M.GradientTexture,exports.GradientType=M.GradientType,exports.Image=P.Image,exports.Edges=b.Edges,exports.Trail=f.Trail,exports.useTrail=f.useTrail,exports.Sampler=T.Sampler,exports.useSurfaceSampler=T.useSurfaceSampler,exports.ComputedAttribute=v.ComputedAttribute,exports.Clone=B.Clone,exports.MarchingCube=g.MarchingCube,exports.MarchingCubes=g.MarchingCubes,exports.MarchingPlane=g.MarchingPlane,exports.Decal=F.Decal,exports.Svg=L.Svg,exports.Gltf=A.Gltf,exports.AsciiRenderer=k.AsciiRenderer,exports.OrthographicCamera=D.OrthographicCamera,exports.PerspectiveCamera=E.PerspectiveCamera,exports.CubeCamera=R.CubeCamera,exports.DeviceOrientationControls=G.DeviceOrientationControls,exports.FlyControls=w.FlyControls,exports.MapControls=y.MapControls,exports.OrbitControls=z.OrbitControls,exports.TrackballControls=O.TrackballControls,exports.ArcballControls=I.ArcballControls,exports.TransformControls=H.TransformControls,exports.PointerLockControls=V.PointerLockControls,exports.FirstPersonControls=K.FirstPersonControls,exports.CameraControls=W.CameraControls,exports.FaceControls=Q.FaceControls,exports.useFaceControls=Q.useFaceControls,exports.GizmoHelper=X.GizmoHelper,exports.useGizmoContext=X.useGizmoContext,exports.GizmoViewcube=N.GizmoViewcube,exports.GizmoViewport=U.GizmoViewport,exports.Grid=_.Grid,exports.useCubeTexture=J.useCubeTexture,exports.useFBX=Y.useFBX,exports.useGLTF=Z.useGLTF,exports.useKTX2=$.useKTX2,exports.useProgress=ee.useProgress,exports.IsObject=re.IsObject,exports.useTexture=re.useTexture,exports.useVideoTexture=se.useVideoTexture,exports.useFont=oe.useFont,exports.Stats=te.Stats,exports.useDepthBuffer=ie.useDepthBuffer,exports.useAspect=ce.useAspect,exports.useCamera=ae.useCamera,exports.useDetectGPU=ue.useDetectGPU,exports.useHelper=ne.useHelper,exports.Bvh=je.Bvh,exports.useBVH=je.useBVH,exports.useContextBridge=pe.useContextBridge,exports.useAnimations=le.useAnimations,exports.useFBO=xe.useFBO,exports.useIntersect=qe.useIntersect,exports.useBoxProjectedEnv=de.useBoxProjectedEnv,exports.BBAnchor=me.BBAnchor,exports.useTrailTexture=Ce.useTrailTexture,exports.useCubeCamera=he.useCubeCamera,exports.Example=Se.Example,exports.SpriteAnimator=Me.SpriteAnimator,exports.FaceLandmarker=Pe.FaceLandmarker,exports.FaceLandmarkerDefaults=Pe.FaceLandmarkerDefaults,exports.useFaceLandmarker=Pe.useFaceLandmarker,exports.CurveModifier=be.CurveModifier,exports.MeshDistortMaterial=fe.MeshDistortMaterial,exports.MeshWobbleMaterial=Te.MeshWobbleMaterial,exports.MeshReflectorMaterial=ve.MeshReflectorMaterial,exports.MeshRefractionMaterial=Be.MeshRefractionMaterial,exports.MeshTransmissionMaterial=ge.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Fe.MeshDiscardMaterial,exports.PointMaterial=Le.PointMaterial,exports.PointMaterialImpl=Le.PointMaterialImpl,exports.shaderMaterial=Ae.shaderMaterial,exports.SoftShadows=ke.SoftShadows,exports.Box=De.Box,exports.Capsule=De.Capsule,exports.Circle=De.Circle,exports.Cone=De.Cone,exports.Cylinder=De.Cylinder,exports.Dodecahedron=De.Dodecahedron,exports.Extrude=De.Extrude,exports.Icosahedron=De.Icosahedron,exports.Lathe=De.Lathe,exports.Octahedron=De.Octahedron,exports.Plane=De.Plane,exports.Polyhedron=De.Polyhedron,exports.Ring=De.Ring,exports.Shape=De.Shape,exports.Sphere=De.Sphere,exports.Tetrahedron=De.Tetrahedron,exports.Torus=De.Torus,exports.TorusKnot=De.TorusKnot,exports.Tube=De.Tube,exports.Facemesh=Ee.Facemesh,exports.FacemeshDatas=Ee.FacemeshDatas,exports.FacemeshEye=Ee.FacemeshEye,exports.FacemeshEyeDefaults=Ee.FacemeshEyeDefaults,exports.RoundedBox=Re.RoundedBox,exports.ScreenQuad=Ge.ScreenQuad,exports.Center=we.Center,exports.Resize=ye.Resize,exports.Bounds=ze.Bounds,exports.useBounds=ze.useBounds,exports.CameraShake=Oe.CameraShake,exports.Float=Ie.Float,exports.Stage=He.Stage,exports.Backdrop=Ve.Backdrop,exports.Shadow=Ke.Shadow,exports.Caustics=We.Caustics,exports.ContactShadows=Qe.ContactShadows,exports.AccumulativeShadows=Xe.AccumulativeShadows,exports.RandomizedLight=Xe.RandomizedLight,exports.accumulativeContext=Xe.accumulativeContext,exports.Reflector=Ne.Reflector,exports.SpotLight=Ue.SpotLight,exports.SpotLightShadow=Ue.SpotLightShadow,exports.Environment=_e.Environment,exports.EnvironmentCube=_e.EnvironmentCube,exports.EnvironmentMap=_e.EnvironmentMap,exports.EnvironmentPortal=_e.EnvironmentPortal,exports.Lightformer=Je.Lightformer,exports.Sky=Ye.Sky,exports.calcPosFromAngles=Ye.calcPosFromAngles,exports.Stars=Ze.Stars,exports.Cloud=$e.Cloud,exports.Sparkles=er.Sparkles,exports.useEnvironment=rr.useEnvironment,exports.useMatcapTexture=sr.useMatcapTexture,exports.useNormalTexture=or.useNormalTexture,exports.Wireframe=tr.Wireframe,exports.Point=ir.Point,exports.Points=ir.Points,exports.PointsBuffer=ir.PointsBuffer,exports.PositionPoint=ir.PositionPoint,exports.Instance=cr.Instance,exports.Instances=cr.Instances,exports.Merged=cr.Merged,exports.Segment=ar.Segment,exports.SegmentObject=ar.SegmentObject,exports.Segments=ar.Segments,exports.Detailed=ur.Detailed,exports.Preload=nr.Preload,exports.BakeShadows=jr.BakeShadows,exports.meshBounds=pr.meshBounds,exports.AdaptiveDpr=lr.AdaptiveDpr,exports.AdaptiveEvents=xr.AdaptiveEvents,exports.PerformanceMonitor=qr.PerformanceMonitor,exports.usePerformanceMonitor=qr.usePerformanceMonitor,exports.RenderTexture=dr.RenderTexture,exports.Mask=mr.Mask,exports.useMask=mr.useMask,exports.Hud=Cr.Hud,exports.MeshPortalMaterial=hr.MeshPortalMaterial;
package/web/index.js CHANGED
@@ -130,11 +130,11 @@ import 'react';
130
130
  import 'react-dom/client';
131
131
  import 'three';
132
132
  import '@react-three/fiber';
133
+ import 'zustand';
133
134
  import 'react-merge-refs';
134
135
  import 'maath';
135
136
  import '@react-spring/three';
136
137
  import '@use-gesture/react';
137
- import 'zustand';
138
138
  import 'zustand/middleware';
139
139
  import 'three-stdlib';
140
140
  import 'zustand/shallow';
@@ -149,17 +149,17 @@ import 'meshline';
149
149
  import 'lodash.pick';
150
150
  import 'lodash.omit';
151
151
  import 'camera-controls';
152
+ import '@mediapipe/tasks-vision';
152
153
  import 'stats.js';
153
154
  import '../helpers/useEffectfulState.js';
154
155
  import 'detect-gpu';
155
156
  import 'three-mesh-bvh';
156
- import '@mediapipe/tasks-vision';
157
157
  import '../materials/BlurPass.js';
158
158
  import '../materials/ConvolutionMaterial.js';
159
159
  import '../materials/MeshReflectorMaterial.js';
160
160
  import '../materials/MeshRefractionMaterial.js';
161
161
  import '../materials/DiscardMaterial.js';
162
- import '../materials/SpotLightMaterial.js';
163
162
  import '../helpers/environment-assets.js';
163
+ import '../materials/SpotLightMaterial.js';
164
164
  import '../materials/WireframeMaterial.js';
165
165
  import 'react-composer';