@react-three/drei 8.18.9 → 9.0.0-beta.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 (125) hide show
  1. package/README.md +61 -254
  2. package/core/ArcballControls.cjs.js +1 -1
  3. package/core/ArcballControls.js +26 -17
  4. package/core/Billboard.d.ts +2 -2
  5. package/core/Bounds.cjs.js +1 -1
  6. package/core/Bounds.d.ts +1 -2
  7. package/core/Bounds.js +15 -26
  8. package/core/Center.d.ts +1 -1
  9. package/core/ContactShadows.cjs.js +1 -1
  10. package/core/ContactShadows.d.ts +1 -1
  11. package/core/ContactShadows.js +1 -2
  12. package/core/CubeCamera.cjs.js +1 -1
  13. package/core/CubeCamera.js +7 -7
  14. package/core/Detailed.d.ts +2 -2
  15. package/core/DeviceOrientationControls.cjs.js +1 -1
  16. package/core/DeviceOrientationControls.d.ts +1 -1
  17. package/core/DeviceOrientationControls.js +6 -2
  18. package/core/Effects.cjs.js +1 -1
  19. package/core/Effects.d.ts +2 -2
  20. package/core/Effects.js +2 -2
  21. package/core/Environment.cjs.js +1 -1
  22. package/core/Environment.d.ts +3 -13
  23. package/core/Environment.js +30 -95
  24. package/core/FirstPersonControls.cjs.js +1 -1
  25. package/core/FirstPersonControls.d.ts +1 -1
  26. package/core/FirstPersonControls.js +6 -2
  27. package/core/Float.cjs.js +1 -1
  28. package/core/Float.d.ts +1 -1
  29. package/core/Float.js +4 -5
  30. package/core/FlyControls.d.ts +1 -1
  31. package/core/GizmoHelper.cjs.js +1 -1
  32. package/core/GizmoHelper.d.ts +1 -2
  33. package/core/GizmoHelper.js +41 -31
  34. package/core/GizmoViewcube.cjs.js +1 -1
  35. package/core/GizmoViewcube.d.ts +2 -2
  36. package/core/GizmoViewcube.js +1 -1
  37. package/core/GizmoViewport.d.ts +2 -2
  38. package/core/Image.cjs.js +1 -1
  39. package/core/Image.d.ts +2 -4
  40. package/core/Image.js +1 -6
  41. package/core/Instances.cjs.js +1 -1
  42. package/core/Instances.d.ts +3 -3
  43. package/core/Instances.js +11 -5
  44. package/core/Line.d.ts +1 -1
  45. package/core/MapControls.d.ts +1 -1
  46. package/core/MeshDistortMaterial.d.ts +2 -4
  47. package/core/MeshReflectorMaterial.cjs.js +1 -1
  48. package/core/MeshReflectorMaterial.d.ts +2 -1
  49. package/core/MeshReflectorMaterial.js +3 -1
  50. package/core/MeshWobbleMaterial.d.ts +2 -4
  51. package/core/OrbitControls.cjs.js +1 -1
  52. package/core/OrbitControls.js +32 -22
  53. package/core/OrthographicCamera.d.ts +2 -2
  54. package/core/PerspectiveCamera.d.ts +2 -2
  55. package/core/PointMaterial.cjs.js +1 -1
  56. package/core/PointMaterial.d.ts +7 -3
  57. package/core/PointMaterial.js +32 -14
  58. package/core/PointerLockControls.cjs.js +1 -1
  59. package/core/PointerLockControls.d.ts +1 -2
  60. package/core/PointerLockControls.js +22 -35
  61. package/core/Points.cjs.js +1 -1
  62. package/core/Points.d.ts +3 -3
  63. package/core/Points.js +36 -17
  64. package/core/PositionalAudio.d.ts +2 -2
  65. package/core/Reflector.d.ts +1 -1
  66. package/core/RoundedBox.d.ts +1 -1
  67. package/core/ScreenQuad.d.ts +1 -1
  68. package/core/Segments.d.ts +1 -1
  69. package/core/Shadow.d.ts +2 -2
  70. package/core/SpotLight.d.ts +20 -4
  71. package/core/Stage.cjs.js +1 -1
  72. package/core/Stage.js +2 -1
  73. package/core/Stars.cjs.js +1 -1
  74. package/core/Stars.js +3 -6
  75. package/core/Text.cjs.js +1 -1
  76. package/core/Text.d.ts +2 -3
  77. package/core/Text.js +2 -3
  78. package/core/TrackballControls.cjs.js +1 -1
  79. package/core/TrackballControls.d.ts +1 -1
  80. package/core/TrackballControls.js +6 -11
  81. package/core/TransformControls.cjs.js +1 -1
  82. package/core/TransformControls.d.ts +1 -1
  83. package/core/TransformControls.js +12 -4
  84. package/core/index.cjs.js +1 -1
  85. package/core/index.d.ts +0 -4
  86. package/core/index.js +2 -7
  87. package/core/shapes.d.ts +17 -17
  88. package/core/useFBX.d.ts +1 -1
  89. package/core/useFBX.js +1 -2
  90. package/core/useGLTF.d.ts +1 -1
  91. package/core/useGLTF.js +1 -2
  92. package/core/useHelper.d.ts +1 -3
  93. package/core/useKTX2.d.ts +1 -1
  94. package/core/useKTX2.js +1 -2
  95. package/core/useTexture.d.ts +1 -1
  96. package/core/useTexture.js +1 -2
  97. package/index.cjs.js +1 -1
  98. package/index.js +1 -5
  99. package/materials/ConvolutionMaterial.cjs.js +1 -1
  100. package/materials/ConvolutionMaterial.js +0 -2
  101. package/materials/MeshReflectorMaterial.cjs.js +1 -1
  102. package/materials/MeshReflectorMaterial.d.ts +3 -0
  103. package/materials/MeshReflectorMaterial.js +27 -1
  104. package/materials/SpotLightMaterial.cjs.js +1 -1
  105. package/materials/SpotLightMaterial.js +0 -3
  106. package/native/index.cjs.js +1 -1
  107. package/native/index.js +2 -7
  108. package/package.json +6 -7
  109. package/web/Html.cjs.js +1 -1
  110. package/web/Html.js +6 -4
  111. package/web/Select.js +0 -1
  112. package/web/index.cjs.js +1 -1
  113. package/web/index.js +2 -7
  114. package/core/Clone.cjs.js +0 -1
  115. package/core/Clone.d.ts +0 -11
  116. package/core/Clone.js +0 -89
  117. package/core/Lightformer.cjs.js +0 -1
  118. package/core/Lightformer.d.ts +0 -41
  119. package/core/Lightformer.js +0 -51
  120. package/core/Trail.cjs.js +0 -1
  121. package/core/Trail.d.ts +0 -20
  122. package/core/Trail.js +0 -160
  123. package/core/useBoxProjectedEnv.cjs.js +0 -1
  124. package/core/useBoxProjectedEnv.d.ts +0 -8
  125. package/core/useBoxProjectedEnv.js +0 -98
@@ -51,8 +51,6 @@ class ConvolutionMaterial extends ShaderMaterial {
51
51
  gl_FragColor = sum * 0.25 ;
52
52
 
53
53
  #include <dithering_fragment>
54
- #include <tonemapping_fragment>
55
- #include <encodings_fragment>
56
54
  }`,
57
55
  vertexShader: `uniform vec2 texelSize;
58
56
  uniform vec2 halfTexelSize;
@@ -1 +1 @@
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
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three");class t extends e.MeshStandardMaterial{constructor(e={}){super(e),this._debug={value:0},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.debug=this._debug,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 int debug;\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 \n if (debug == 1) {\n diffuseColor = vec4(vec3(depthFactor), 1.0);\n }\n if (debug == 2) {\n diffuseColor = vec4(vec3(blurFactor), 1.0);\n }\n if (debug == 3) {\n diffuseColor = texture2DProj(tDiffuse, new_vUv);\n }\n if (debug == 4) {\n diffuseColor = texture2DProj(tDiffuseBlur, new_vUv);\n }\n ")}get tDiffuse(){return this._tDiffuse.value}set tDiffuse(e){this._tDiffuse.value=e}get tDepth(){return this._tDepth.value}set tDepth(e){this._tDepth.value=e}get distortionMap(){return this._distortionMap.value}set distortionMap(e){this._distortionMap.value=e}get 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 debug(){return this._debug.value}set debug(e){this._debug.value=e}get depthToBlurRatioBias(){return this._depthToBlurRatioBias.value}set depthToBlurRatioBias(e){this._depthToBlurRatioBias.value=e}get distortion(){return this._distortion.value}set distortion(e){this._distortion.value=e}get mixContrast(){return this._mixContrast.value}set mixContrast(e){this._mixContrast.value=e}}exports.MeshReflectorMaterial=t;
@@ -1,5 +1,6 @@
1
1
  import { Matrix4, MeshStandardMaterial, Texture } from 'three';
2
2
  export declare class MeshReflectorMaterial extends MeshStandardMaterial {
3
+ private _debug;
3
4
  private _tDepth;
4
5
  private _distortionMap;
5
6
  private _tDiffuse;
@@ -41,6 +42,8 @@ export declare class MeshReflectorMaterial extends MeshStandardMaterial {
41
42
  set maxDepthThreshold(v: number);
42
43
  get depthScale(): number;
43
44
  set depthScale(v: number);
45
+ get debug(): number;
46
+ set debug(v: number);
44
47
  get depthToBlurRatioBias(): number;
45
48
  set depthToBlurRatioBias(v: number);
46
49
  get distortion(): number;
@@ -3,6 +3,9 @@ import { MeshStandardMaterial } from 'three';
3
3
  class MeshReflectorMaterial extends MeshStandardMaterial {
4
4
  constructor(parameters = {}) {
5
5
  super(parameters);
6
+ this._debug = {
7
+ value: 0
8
+ };
6
9
  this._tDepth = {
7
10
  value: null
8
11
  };
@@ -58,6 +61,7 @@ class MeshReflectorMaterial extends MeshStandardMaterial {
58
61
  shader.defines.USE_UV = '';
59
62
  }
60
63
 
64
+ shader.uniforms.debug = this._debug;
61
65
  shader.uniforms.hasBlur = this._hasBlur;
62
66
  shader.uniforms.tDiffuse = this._tDiffuse;
63
67
  shader.uniforms.tDepth = this._tDepth;
@@ -81,6 +85,7 @@ class MeshReflectorMaterial extends MeshStandardMaterial {
81
85
  my_vUv = textureMatrix * vec4( position, 1.0 );
82
86
  gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );`);
83
87
  shader.fragmentShader = `
88
+ uniform int debug;
84
89
  uniform sampler2D tDiffuse;
85
90
  uniform sampler2D tDiffuseBlur;
86
91
  uniform sampler2D tDepth;
@@ -161,7 +166,20 @@ class MeshReflectorMaterial extends MeshStandardMaterial {
161
166
  newMerge.g = (merge.g - 0.5) * mixContrast + 0.5;
162
167
  newMerge.b = (merge.b - 0.5) * mixContrast + 0.5;
163
168
 
164
- diffuseColor.rgb = diffuseColor.rgb * ((1.0 - min(1.0, mirror)) + newMerge.rgb * mixStrength);
169
+ diffuseColor.rgb = diffuseColor.rgb * ((1.0 - min(1.0, mirror)) + newMerge.rgb * mixStrength);
170
+
171
+ if (debug == 1) {
172
+ diffuseColor = vec4(vec3(depthFactor), 1.0);
173
+ }
174
+ if (debug == 2) {
175
+ diffuseColor = vec4(vec3(blurFactor), 1.0);
176
+ }
177
+ if (debug == 3) {
178
+ diffuseColor = texture2DProj(tDiffuse, new_vUv);
179
+ }
180
+ if (debug == 4) {
181
+ diffuseColor = texture2DProj(tDiffuseBlur, new_vUv);
182
+ }
165
183
  `);
166
184
  }
167
185
 
@@ -261,6 +279,14 @@ class MeshReflectorMaterial extends MeshStandardMaterial {
261
279
  this._depthScale.value = v;
262
280
  }
263
281
 
282
+ get debug() {
283
+ return this._debug.value;
284
+ }
285
+
286
+ set debug(v) {
287
+ this._debug.value = v;
288
+ }
289
+
264
290
  get depthToBlurRatioBias() {
265
291
  return this._depthToBlurRatioBias.value;
266
292
  }
@@ -1 +1 @@
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
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});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 }"})}}exports.SpotLightMaterial=t;
@@ -99,9 +99,6 @@ class SpotLightMaterial extends ShaderMaterial {
99
99
  intensity *= smoothstep(0., 1., vViewZ - d);
100
100
  }
101
101
  gl_FragColor = vec4(lightColor, intensity * opacity);
102
-
103
- #include <tonemapping_fragment>
104
- #include <encodings_fragment>
105
102
  }`
106
103
  });
107
104
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/Billboard.cjs.js"),r=require("../core/QuadraticBezierLine.cjs.js"),s=require("../core/CubicBezierLine.cjs.js"),o=require("../core/Line.cjs.js"),t=require("../core/PositionalAudio.cjs.js"),i=require("../core/Text.cjs.js"),c=require("../core/Effects.cjs.js"),u=require("../core/GradientTexture.cjs.js"),a=require("../core/Image.cjs.js"),n=require("../core/Edges.cjs.js"),j=require("../core/Trail.cjs.js"),p=require("../core/Clone.cjs.js"),l=require("../core/OrthographicCamera.cjs.js"),x=require("../core/PerspectiveCamera.cjs.js"),q=require("../core/CubeCamera.cjs.js"),d=require("../core/DeviceOrientationControls.cjs.js"),C=require("../core/FlyControls.cjs.js"),h=require("../core/MapControls.cjs.js"),m=require("../core/OrbitControls.cjs.js"),B=require("../core/TrackballControls.cjs.js"),P=require("../core/ArcballControls.cjs.js"),b=require("../core/TransformControls.cjs.js"),M=require("../core/PointerLockControls.cjs.js"),T=require("../core/FirstPersonControls.cjs.js"),S=require("../core/GizmoHelper.cjs.js"),f=require("../core/GizmoViewcube.cjs.js"),g=require("../core/GizmoViewport.cjs.js"),v=require("../core/useCubeTexture.cjs.js"),L=require("../core/useFBX.cjs.js"),E=require("../core/useGLTF.cjs.js"),A=require("../core/useProgress.cjs.js"),G=require("../core/useTexture.cjs.js"),k=require("../core/useKTX2.cjs.js"),D=require("../core/Stats.cjs.js"),F=require("../core/useDepthBuffer.cjs.js"),w=require("../core/useAspect.cjs.js"),z=require("../core/useCamera.cjs.js"),I=require("../core/useDetectGPU.cjs.js"),O=require("../core/useHelper.cjs.js"),R=require("../core/useBVH.cjs.js"),y=require("../core/useContextBridge.cjs.js"),H=require("../core/useAnimations.cjs.js"),V=require("../core/useFBO.cjs.js"),Q=require("../core/useIntersect.cjs.js"),X=require("../core/useBoxProjectedEnv.cjs.js"),K=require("../core/CurveModifier.cjs.js"),W=require("../core/MeshDistortMaterial.cjs.js"),N=require("../core/MeshWobbleMaterial.cjs.js"),U=require("../core/MeshReflectorMaterial.cjs.js"),_=require("../core/PointMaterial.cjs.js"),J=require("../core/shaderMaterial.cjs.js"),Y=require("../core/softShadows.cjs.js"),Z=require("../core/shapes.cjs.js"),$=require("../core/RoundedBox.cjs.js"),ee=require("../core/ScreenQuad.cjs.js"),re=require("../core/Center.cjs.js"),se=require("../core/Bounds.cjs.js"),oe=require("../core/CameraShake.cjs.js"),te=require("../core/Float.cjs.js"),ie=require("../core/Stage.cjs.js"),ce=require("../core/Backdrop.cjs.js"),ue=require("../core/Shadow.cjs.js"),ae=require("../core/ContactShadows.cjs.js"),ne=require("../core/Reflector.cjs.js"),je=require("../core/SpotLight.cjs.js"),pe=require("../core/Environment.cjs.js"),le=require("../core/Lightformer.cjs.js"),xe=require("../core/Sky.cjs.js"),qe=require("../core/Stars.cjs.js"),de=require("../core/Cloud.cjs.js"),Ce=require("../core/useMatcapTexture.cjs.js"),he=require("../core/useNormalTexture.cjs.js"),me=require("../core/Points.cjs.js"),Be=require("../core/Instances.cjs.js"),Pe=require("../core/Segments.cjs.js"),be=require("../core/Detailed.cjs.js"),Me=require("../core/Preload.cjs.js"),Te=require("../core/BakeShadows.cjs.js"),Se=require("../core/meshBounds.cjs.js"),fe=require("../core/AdaptiveDpr.cjs.js"),ge=require("../core/AdaptiveEvents.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("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("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../helpers/Position.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.QuadraticBezierLine=r.QuadraticBezierLine,exports.CubicBezierLine=s.CubicBezierLine,exports.Line=o.Line,exports.PositionalAudio=t.PositionalAudio,exports.Text=i.Text,exports.Effects=c.Effects,exports.isWebGL2Available=c.isWebGL2Available,exports.GradientTexture=u.GradientTexture,exports.Image=a.Image,exports.Edges=n.Edges,exports.Trail=j.Trail,exports.useTrail=j.useTrail,exports.Clone=p.Clone,exports.OrthographicCamera=l.OrthographicCamera,exports.PerspectiveCamera=x.PerspectiveCamera,exports.CubeCamera=q.CubeCamera,exports.DeviceOrientationControls=d.DeviceOrientationControls,exports.FlyControls=C.FlyControls,exports.MapControls=h.MapControls,exports.OrbitControls=m.OrbitControls,exports.TrackballControls=B.TrackballControls,exports.ArcballControls=P.ArcballControls,exports.TransformControls=b.TransformControls,exports.PointerLockControls=M.PointerLockControls,exports.FirstPersonControls=T.FirstPersonControls,exports.GizmoHelper=S.GizmoHelper,exports.useGizmoContext=S.useGizmoContext,exports.GizmoViewcube=f.GizmoViewcube,exports.GizmoViewport=g.GizmoViewport,exports.useCubeTexture=v.useCubeTexture,exports.useFBX=L.useFBX,exports.useGLTF=E.useGLTF,exports.useProgress=A.useProgress,exports.IsObject=G.IsObject,exports.useTexture=G.useTexture,exports.useKTX2=k.useKTX2,exports.Stats=D.Stats,exports.useDepthBuffer=F.useDepthBuffer,exports.useAspect=w.useAspect,exports.useCamera=z.useCamera,exports.useDetectGPU=I.useDetectGPU,exports.useHelper=O.useHelper,exports.useBVH=R.useBVH,exports.useContextBridge=y.useContextBridge,exports.useAnimations=H.useAnimations,exports.useFBO=V.useFBO,exports.useIntersect=Q.useIntersect,exports.useBoxProjectedEnv=X.useBoxProjectedEnv,exports.CurveModifier=K.CurveModifier,exports.MeshDistortMaterial=W.MeshDistortMaterial,exports.MeshWobbleMaterial=N.MeshWobbleMaterial,exports.MeshReflectorMaterial=U.MeshReflectorMaterial,exports.PointMaterial=_.PointMaterial,exports.PointMaterialImpl=_.PointMaterialImpl,exports.shaderMaterial=J.shaderMaterial,exports.softShadows=Y.softShadows,exports.Box=Z.Box,exports.Circle=Z.Circle,exports.Cone=Z.Cone,exports.Cylinder=Z.Cylinder,exports.Dodecahedron=Z.Dodecahedron,exports.Extrude=Z.Extrude,exports.Icosahedron=Z.Icosahedron,exports.Lathe=Z.Lathe,exports.Octahedron=Z.Octahedron,exports.Plane=Z.Plane,exports.Polyhedron=Z.Polyhedron,exports.Ring=Z.Ring,exports.Sphere=Z.Sphere,exports.Tetrahedron=Z.Tetrahedron,exports.Torus=Z.Torus,exports.TorusKnot=Z.TorusKnot,exports.Tube=Z.Tube,exports.RoundedBox=$.RoundedBox,exports.ScreenQuad=ee.ScreenQuad,exports.Center=re.Center,exports.Bounds=se.Bounds,exports.useBounds=se.useBounds,exports.CameraShake=oe.CameraShake,exports.Float=te.Float,exports.Stage=ie.Stage,exports.Backdrop=ce.Backdrop,exports.Shadow=ue.Shadow,exports.ContactShadows=ae.ContactShadows,exports.Reflector=ne.Reflector,exports.SpotLight=je.SpotLight,exports.Environment=pe.Environment,exports.EnvironmentCube=pe.EnvironmentCube,exports.EnvironmentMap=pe.EnvironmentMap,exports.EnvironmentPortal=pe.EnvironmentPortal,exports.Lightformer=le.Lightformer,exports.Sky=xe.Sky,exports.calcPosFromAngles=xe.calcPosFromAngles,exports.Stars=qe.Stars,exports.Cloud=de.Cloud,exports.useMatcapTexture=Ce.useMatcapTexture,exports.useNormalTexture=he.useNormalTexture,exports.Point=me.Point,exports.Points=me.Points,exports.PointsBuffer=me.PointsBuffer,exports.Instance=Be.Instance,exports.Instances=Be.Instances,exports.Merged=Be.Merged,exports.Segment=Pe.Segment,exports.Segments=Pe.Segments,exports.Detailed=be.Detailed,exports.Preload=Me.Preload,exports.BakeShadows=Te.BakeShadows,exports.meshBounds=Se.meshBounds,exports.AdaptiveDpr=fe.AdaptiveDpr,exports.AdaptiveEvents=ge.AdaptiveEvents;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/Billboard.cjs.js"),r=require("../core/QuadraticBezierLine.cjs.js"),s=require("../core/CubicBezierLine.cjs.js"),o=require("../core/Line.cjs.js"),t=require("../core/PositionalAudio.cjs.js"),i=require("../core/Text.cjs.js"),c=require("../core/Effects.cjs.js"),u=require("../core/GradientTexture.cjs.js"),a=require("../core/Image.cjs.js"),j=require("../core/Edges.cjs.js"),n=require("../core/OrthographicCamera.cjs.js"),p=require("../core/PerspectiveCamera.cjs.js"),l=require("../core/CubeCamera.cjs.js"),x=require("../core/DeviceOrientationControls.cjs.js"),q=require("../core/FlyControls.cjs.js"),d=require("../core/MapControls.cjs.js"),C=require("../core/OrbitControls.cjs.js"),h=require("../core/TrackballControls.cjs.js"),m=require("../core/ArcballControls.cjs.js"),B=require("../core/TransformControls.cjs.js"),b=require("../core/PointerLockControls.cjs.js"),M=require("../core/FirstPersonControls.cjs.js"),P=require("../core/GizmoHelper.cjs.js"),S=require("../core/GizmoViewcube.cjs.js"),f=require("../core/GizmoViewport.cjs.js"),T=require("../core/useCubeTexture.cjs.js"),g=require("../core/useFBX.cjs.js"),v=require("../core/useGLTF.cjs.js"),L=require("../core/useProgress.cjs.js"),A=require("../core/useTexture.cjs.js"),G=require("../core/useKTX2.cjs.js"),k=require("../core/Stats.cjs.js"),D=require("../core/useDepthBuffer.cjs.js"),F=require("../core/useAspect.cjs.js"),w=require("../core/useCamera.cjs.js"),z=require("../core/useDetectGPU.cjs.js"),I=require("../core/useHelper.cjs.js"),O=require("../core/useBVH.cjs.js"),E=require("../core/useContextBridge.cjs.js"),R=require("../core/useAnimations.cjs.js"),y=require("../core/useFBO.cjs.js"),H=require("../core/useIntersect.cjs.js"),V=require("../core/CurveModifier.cjs.js"),Q=require("../core/MeshDistortMaterial.cjs.js"),X=require("../core/MeshWobbleMaterial.cjs.js"),K=require("../core/MeshReflectorMaterial.cjs.js"),W=require("../core/PointMaterial.cjs.js"),N=require("../core/shaderMaterial.cjs.js"),U=require("../core/softShadows.cjs.js"),_=require("../core/shapes.cjs.js"),J=require("../core/RoundedBox.cjs.js"),Y=require("../core/ScreenQuad.cjs.js"),Z=require("../core/Center.cjs.js"),$=require("../core/Bounds.cjs.js"),ee=require("../core/CameraShake.cjs.js"),re=require("../core/Float.cjs.js"),se=require("../core/Stage.cjs.js"),oe=require("../core/Backdrop.cjs.js"),te=require("../core/Shadow.cjs.js"),ie=require("../core/ContactShadows.cjs.js"),ce=require("../core/Reflector.cjs.js"),ue=require("../core/SpotLight.cjs.js"),ae=require("../core/Environment.cjs.js"),je=require("../core/Sky.cjs.js"),ne=require("../core/Stars.cjs.js"),pe=require("../core/Cloud.cjs.js"),le=require("../core/useMatcapTexture.cjs.js"),xe=require("../core/useNormalTexture.cjs.js"),qe=require("../core/Points.cjs.js"),de=require("../core/Instances.cjs.js"),Ce=require("../core/Segments.cjs.js"),he=require("../core/Detailed.cjs.js"),me=require("../core/Preload.cjs.js"),Be=require("../core/BakeShadows.cjs.js"),be=require("../core/meshBounds.cjs.js"),Me=require("../core/AdaptiveDpr.cjs.js"),Pe=require("../core/AdaptiveEvents.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("lodash.omit"),require("lodash.pick"),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("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../helpers/Position.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.QuadraticBezierLine=r.QuadraticBezierLine,exports.CubicBezierLine=s.CubicBezierLine,exports.Line=o.Line,exports.PositionalAudio=t.PositionalAudio,exports.Text=i.Text,exports.Effects=c.Effects,exports.isWebGL2Available=c.isWebGL2Available,exports.GradientTexture=u.GradientTexture,exports.Image=a.Image,exports.Edges=j.Edges,exports.OrthographicCamera=n.OrthographicCamera,exports.PerspectiveCamera=p.PerspectiveCamera,exports.CubeCamera=l.CubeCamera,exports.DeviceOrientationControls=x.DeviceOrientationControls,exports.FlyControls=q.FlyControls,exports.MapControls=d.MapControls,exports.OrbitControls=C.OrbitControls,exports.TrackballControls=h.TrackballControls,exports.ArcballControls=m.ArcballControls,exports.TransformControls=B.TransformControls,exports.PointerLockControls=b.PointerLockControls,exports.FirstPersonControls=M.FirstPersonControls,exports.GizmoHelper=P.GizmoHelper,exports.useGizmoContext=P.useGizmoContext,exports.GizmoViewcube=S.GizmoViewcube,exports.GizmoViewport=f.GizmoViewport,exports.useCubeTexture=T.useCubeTexture,exports.useFBX=g.useFBX,exports.useGLTF=v.useGLTF,exports.useProgress=L.useProgress,exports.IsObject=A.IsObject,exports.useTexture=A.useTexture,exports.useKTX2=G.useKTX2,exports.Stats=k.Stats,exports.useDepthBuffer=D.useDepthBuffer,exports.useAspect=F.useAspect,exports.useCamera=w.useCamera,exports.useDetectGPU=z.useDetectGPU,exports.useHelper=I.useHelper,exports.useBVH=O.useBVH,exports.useContextBridge=E.useContextBridge,exports.useAnimations=R.useAnimations,exports.useFBO=y.useFBO,exports.useIntersect=H.useIntersect,exports.CurveModifier=V.CurveModifier,exports.MeshDistortMaterial=Q.MeshDistortMaterial,exports.MeshWobbleMaterial=X.MeshWobbleMaterial,exports.MeshReflectorMaterial=K.MeshReflectorMaterial,exports.PointMaterial=W.PointMaterial,exports.PointMaterialImpl=W.PointMaterialImpl,exports.shaderMaterial=N.shaderMaterial,exports.softShadows=U.softShadows,exports.Box=_.Box,exports.Circle=_.Circle,exports.Cone=_.Cone,exports.Cylinder=_.Cylinder,exports.Dodecahedron=_.Dodecahedron,exports.Extrude=_.Extrude,exports.Icosahedron=_.Icosahedron,exports.Lathe=_.Lathe,exports.Octahedron=_.Octahedron,exports.Plane=_.Plane,exports.Polyhedron=_.Polyhedron,exports.Ring=_.Ring,exports.Sphere=_.Sphere,exports.Tetrahedron=_.Tetrahedron,exports.Torus=_.Torus,exports.TorusKnot=_.TorusKnot,exports.Tube=_.Tube,exports.RoundedBox=J.RoundedBox,exports.ScreenQuad=Y.ScreenQuad,exports.Center=Z.Center,exports.Bounds=$.Bounds,exports.useBounds=$.useBounds,exports.CameraShake=ee.CameraShake,exports.Float=re.Float,exports.Stage=se.Stage,exports.Backdrop=oe.Backdrop,exports.Shadow=te.Shadow,exports.ContactShadows=ie.ContactShadows,exports.Reflector=ce.Reflector,exports.SpotLight=ue.SpotLight,exports.Environment=ae.Environment,exports.Sky=je.Sky,exports.calcPosFromAngles=je.calcPosFromAngles,exports.Stars=ne.Stars,exports.Cloud=pe.Cloud,exports.useMatcapTexture=le.useMatcapTexture,exports.useNormalTexture=xe.useNormalTexture,exports.Point=qe.Point,exports.Points=qe.Points,exports.PointsBuffer=qe.PointsBuffer,exports.Instance=de.Instance,exports.Instances=de.Instances,exports.Merged=de.Merged,exports.Segment=Ce.Segment,exports.Segments=Ce.Segments,exports.Detailed=he.Detailed,exports.Preload=me.Preload,exports.BakeShadows=Be.BakeShadows,exports.meshBounds=be.meshBounds,exports.AdaptiveDpr=Me.AdaptiveDpr,exports.AdaptiveEvents=Pe.AdaptiveEvents;
package/native/index.js CHANGED
@@ -8,8 +8,6 @@ export { Effects, isWebGL2Available } from '../core/Effects.js';
8
8
  export { GradientTexture } from '../core/GradientTexture.js';
9
9
  export { Image } from '../core/Image.js';
10
10
  export { Edges } from '../core/Edges.js';
11
- export { Trail, useTrail } from '../core/Trail.js';
12
- export { Clone } from '../core/Clone.js';
13
11
  export { OrthographicCamera } from '../core/OrthographicCamera.js';
14
12
  export { PerspectiveCamera } from '../core/PerspectiveCamera.js';
15
13
  export { CubeCamera } from '../core/CubeCamera.js';
@@ -42,7 +40,6 @@ export { useContextBridge } from '../core/useContextBridge.js';
42
40
  export { useAnimations } from '../core/useAnimations.js';
43
41
  export { useFBO } from '../core/useFBO.js';
44
42
  export { useIntersect } from '../core/useIntersect.js';
45
- export { useBoxProjectedEnv } from '../core/useBoxProjectedEnv.js';
46
43
  export { CurveModifier } from '../core/CurveModifier.js';
47
44
  export { MeshDistortMaterial } from '../core/MeshDistortMaterial.js';
48
45
  export { MeshWobbleMaterial } from '../core/MeshWobbleMaterial.js';
@@ -63,8 +60,7 @@ export { Shadow } from '../core/Shadow.js';
63
60
  export { ContactShadows } from '../core/ContactShadows.js';
64
61
  export { Reflector } from '../core/Reflector.js';
65
62
  export { SpotLight } from '../core/SpotLight.js';
66
- export { Environment, EnvironmentCube, EnvironmentMap, EnvironmentPortal } from '../core/Environment.js';
67
- export { Lightformer } from '../core/Lightformer.js';
63
+ export { Environment } from '../core/Environment.js';
68
64
  export { Sky, calcPosFromAngles } from '../core/Sky.js';
69
65
  export { Stars } from '../core/Stars.js';
70
66
  export { Cloud } from '../core/Cloud.js';
@@ -87,9 +83,8 @@ import 'three';
87
83
  import 'three-stdlib';
88
84
  import 'troika-three-text';
89
85
  import 'suspend-react';
90
- import 'meshline';
91
- import 'lodash.pick';
92
86
  import 'lodash.omit';
87
+ import 'lodash.pick';
93
88
  import 'zustand';
94
89
  import 'stats.js';
95
90
  import '../helpers/useEffectfulState.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-three/drei",
3
- "version": "8.18.9",
3
+ "version": "9.0.0-beta.2",
4
4
  "private": false,
5
5
  "description": "useful add-ons for react-three-fiber",
6
6
  "keywords": [
@@ -46,21 +46,20 @@
46
46
  "glsl-noise": "^0.0.0",
47
47
  "lodash.omit": "^4.5.0",
48
48
  "lodash.pick": "^4.4.0",
49
- "meshline": "^2.0.4",
50
49
  "react-composer": "^5.0.2",
51
50
  "react-merge-refs": "^1.1.0",
52
51
  "stats.js": "^0.17.0",
53
52
  "suspend-react": "^0.0.8",
54
53
  "three-mesh-bvh": "^0.5.4",
55
- "three-stdlib": "^2.8.7",
56
- "troika-three-text": "^0.46.2",
54
+ "three-stdlib": "^2.8.6",
55
+ "troika-three-text": "^0.45.0",
57
56
  "utility-types": "^3.10.0",
58
57
  "zustand": "^3.5.13"
59
58
  },
60
59
  "peerDependencies": {
61
- "@react-three/fiber": ">=6.0",
62
- "react": ">=17.0",
63
- "react-dom": ">=17.0",
60
+ "@react-three/fiber": ">=8.0",
61
+ "react": ">=18.0",
62
+ "react-dom": ">=18.0",
64
63
  "three": ">=0.137"
65
64
  },
66
65
  "peerDependenciesMeta": {
package/web/Html.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("react-dom"),n=require("three"),o=require("@react-three/fiber");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(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=s(e),c=a(t),l=a(r);const u=new n.Vector3,d=new n.Vector3,f=new n.Vector3;function m(e,t,r){const n=u.setFromMatrixPosition(e.matrixWorld);n.project(t);const o=r.width/2,s=r.height/2;return[n.x*o+o,-n.y*s+s]}const p=e=>Math.abs(e)<1e-10?0:e;function h(e,t,r=""){let n="matrix3d(";for(let r=0;16!==r;r++)n+=p(t[r]*e.elements[r])+(15!==r?",":")");return r+n}const x=(y=[1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1],e=>h(e,y));var y;const v=(e,t)=>{return h(e,[1/(r=t),1/r,1/r,1,-1/r,-1/r,-1/r,-1,1/r,1/r,1/r,1,1,1,1,1],"translate(-50%,-50%)");var r},b=c.forwardRef((({children:e,eps:t=.001,style:r,className:s,prepend:a,center:h,fullscreen:y,portal:b,distanceFactor:g,sprite:M=!1,transform:P=!1,occlude:w,onOcclude:W,zIndexRange:$=[16777271,0],calculatePosition:E=m,as:O="div",wrapperClass:j,pointerEvents:F="auto",...T},C)=>{var R;const z=o.useThree((({gl:e})=>e)),I=o.useThree((({camera:e})=>e)),N=o.useThree((({scene:e})=>e)),q=o.useThree((({size:e})=>e)),_=o.useThree((({raycaster:e})=>e)),[A]=c.useState((()=>document.createElement(O))),V=c.useRef(null),k=c.useRef(0),D=c.useRef([0,0]),L=c.useRef(null),S=c.useRef(null),H=null!==(R=null==b?void 0:b.current)&&void 0!==R?R:z.domElement.parentNode;c.useEffect((()=>{if(V.current){if(N.updateMatrixWorld(),P)A.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{const e=E(V.current,I,q);A.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${e[0]}px,${e[1]}px,0);transform-origin:0 0;`}return H&&(a?H.prepend(A):H.appendChild(A)),()=>{H&&H.removeChild(A),l.unmountComponentAtNode(A)}}}),[H,P]),c.useLayoutEffect((()=>{j&&(A.className=j)}),[j]);const Z=c.useMemo((()=>P?{position:"absolute",top:0,left:0,width:q.width,height:q.height,transformStyle:"preserve-3d",pointerEvents:"none"}:{position:"absolute",transform:h?"translate3d(-50%,-50%,0)":"none",...y&&{top:-q.height/2,left:-q.width/2,width:q.width,height:q.height},...r}),[r,h,y,q,P]),B=c.useMemo((()=>({position:"absolute",pointerEvents:F})),[F]);c.useLayoutEffect((()=>{P?l.render(c.createElement("div",{ref:L,style:Z},c.createElement("div",{ref:S,style:B},c.createElement("div",{ref:C,className:s,style:r,children:e}))),A):l.render(c.createElement("div",{ref:C,style:Z,className:s,children:e}),A)}));const G=c.useRef(!0);return o.useFrame((()=>{if(V.current){I.updateMatrixWorld(),V.current.updateWorldMatrix(!0,!1);const e=P?D.current:E(V.current,I,q);if(P||Math.abs(k.current-I.zoom)>t||Math.abs(D.current[0]-e[0])>t||Math.abs(D.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),s=t.getWorldDirection(f);return o.angleTo(s)>Math.PI/2}(V.current,I);let r=!1;"boolean"==typeof w?!0===w&&(r=[N]):Array.isArray(w)&&(r=w.map((e=>e.current)));const o=G.current;if(r){const e=function(e,t,r,n){const o=u.setFromMatrixPosition(e.matrixWorld),s=o.clone();s.project(t),r.setFromCamera(s,t);const a=r.intersectObjects(n,!0);if(a.length){const e=a[0].distance;return o.distanceTo(r.ray.origin)<e}return!0}(V.current,I,_,r);G.current=e&&!t}else G.current=!t;if(o!==G.current&&(W?W(!G.current):A.style.display=G.current?"block":"none"),A.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),s=n.distanceTo(o),a=(r[1]-r[0])/(t.far-t.near),i=r[1]-a*t.far;return Math.round(a*s+i)}}(V.current,I,$)}`,P){const[e,t]=[q.width/2,q.height/2],r=I.projectionMatrix.elements[5]*t,{isOrthographicCamera:n,top:o,left:s,bottom:a,right:i}=I,c=x(I.matrixWorldInverse),l=n?`scale(${r})translate(${p(-(i+s)/2)}px,${p((o+a)/2)}px)`:`translateZ(${r}px)`;let u=V.current.matrixWorld;M&&(u=I.matrixWorldInverse.clone().transpose().copyPosition(u).scale(V.current.scale),u.elements[3]=u.elements[7]=u.elements[11]=0,u.elements[15]=1),A.style.width=q.width+"px",A.style.height=q.height+"px",A.style.perspective=n?"":`${r}px`,L.current&&S.current&&(L.current.style.transform=`${l}${c}translate(${e}px,${t}px)`,S.current.style.transform=v(u,1/((g||10)/400)))}else{const t=void 0===g?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,s=r.distanceTo(n);return 1/(2*Math.tan(o/2)*s)}return 1}(V.current,I)*g;A.style.transform=`translate3d(${e[0]}px,${e[1]}px,0) scale(${t})`}D.current=e,k.current=I.zoom}}})),c.createElement("group",i.default({},T,{ref:V}))}));exports.Html=b;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("react-dom"),n=require("three"),o=require("@react-three/fiber");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function a(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=s(e),c=a(t),l=a(r);const u=new n.Vector3,d=new n.Vector3,f=new n.Vector3;function m(e,t,r){const n=u.setFromMatrixPosition(e.matrixWorld);n.project(t);const o=r.width/2,s=r.height/2;return[n.x*o+o,-n.y*s+s]}const p=e=>Math.abs(e)<1e-10?0:e;function h(e,t,r=""){let n="matrix3d(";for(let r=0;16!==r;r++)n+=p(t[r]*e.elements[r])+(15!==r?",":")");return r+n}const x=(y=[1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1],e=>h(e,y));var y;const v=(e,t)=>{return h(e,[1/(r=t),1/r,1/r,1,-1/r,-1/r,-1/r,-1,1/r,1/r,1/r,1,1,1,1,1],"translate(-50%,-50%)");var r},b=c.forwardRef((({children:e,eps:t=.001,style:r,className:s,prepend:a,center:h,fullscreen:y,portal:b,distanceFactor:M,sprite:g=!1,transform:P=!1,occlude:w,onOcclude:W,zIndexRange:$=[16777271,0],calculatePosition:E=m,as:O="div",wrapperClass:j,pointerEvents:F="auto",...T},C)=>{var R;const z=o.useThree((({gl:e})=>e)),I=o.useThree((({camera:e})=>e)),q=o.useThree((({scene:e})=>e)),N=o.useThree((({size:e})=>e)),_=o.useThree((({raycaster:e})=>e)),[V]=c.useState((()=>document.createElement(O))),k=c.useMemo((()=>l.createRoot(V)),[V]),A=c.useRef(null),D=c.useRef(0),L=c.useRef([0,0]),S=c.useRef(null),H=c.useRef(null),Z=null!==(R=null==b?void 0:b.current)&&void 0!==R?R:z.domElement.parentNode;c.useEffect((()=>{if(A.current){if(q.updateMatrixWorld(),P)V.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{const e=E(A.current,I,N);V.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${e[0]}px,${e[1]}px,0);transform-origin:0 0;`}return Z&&(a?Z.prepend(V):Z.appendChild(V)),()=>{Z&&Z.removeChild(V),k.unmount()}}}),[Z,P]),c.useLayoutEffect((()=>{j&&(V.className=j)}),[j]);const B=c.useMemo((()=>P?{position:"absolute",top:0,left:0,width:N.width,height:N.height,transformStyle:"preserve-3d",pointerEvents:"none"}:{position:"absolute",transform:h?"translate3d(-50%,-50%,0)":"none",...y&&{top:-N.height/2,left:-N.width/2,width:N.width,height:N.height},...r}),[r,h,y,N,P]),G=c.useMemo((()=>({position:"absolute",pointerEvents:F})),[F]);c.useLayoutEffect((()=>{P?k.render(c.createElement("div",{ref:S,style:B},c.createElement("div",{ref:H,style:G},c.createElement("div",{ref:C,className:s,style:r,children:e}))),V):k.render(c.createElement("div",{ref:C,style:B,className:s,children:e}),V)}));const J=c.useRef(!0);return o.useFrame((()=>{if(A.current){I.updateMatrixWorld(),A.current.updateWorldMatrix(!0,!1);const e=P?L.current:E(A.current,I,N);if(P||Math.abs(D.current-I.zoom)>t||Math.abs(L.current[0]-e[0])>t||Math.abs(L.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),s=t.getWorldDirection(f);return o.angleTo(s)>Math.PI/2}(A.current,I);let r=!1;"boolean"==typeof w?!0===w&&(r=[q]):Array.isArray(w)&&(r=w.map((e=>e.current)));const o=J.current;if(r){const e=function(e,t,r,n){const o=u.setFromMatrixPosition(e.matrixWorld),s=o.clone();s.project(t),r.setFromCamera(s,t);const a=r.intersectObjects(n,!0);if(a.length){const e=a[0].distance;return o.distanceTo(r.ray.origin)<e}return!0}(A.current,I,_,r);J.current=e&&!t}else J.current=!t;if(o!==J.current&&(W?W(!J.current):V.style.display=J.current?"block":"none"),V.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),s=n.distanceTo(o),a=(r[1]-r[0])/(t.far-t.near),i=r[1]-a*t.far;return Math.round(a*s+i)}}(A.current,I,$)}`,P){const[e,t]=[N.width/2,N.height/2],r=I.projectionMatrix.elements[5]*t,{isOrthographicCamera:n,top:o,left:s,bottom:a,right:i}=I,c=x(I.matrixWorldInverse),l=n?`scale(${r})translate(${p(-(i+s)/2)}px,${p((o+a)/2)}px)`:`translateZ(${r}px)`;let u=A.current.matrixWorld;g&&(u=I.matrixWorldInverse.clone().transpose().copyPosition(u).scale(A.current.scale),u.elements[3]=u.elements[7]=u.elements[11]=0,u.elements[15]=1),V.style.width=N.width+"px",V.style.height=N.height+"px",V.style.perspective=n?"":`${r}px`,S.current&&H.current&&(S.current.style.transform=`${l}${c}translate(${e}px,${t}px)`,H.current.style.transform=v(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,s=r.distanceTo(n);return 1/(2*Math.tan(o/2)*s)}return 1}(A.current,I)*M;V.style.transform=`translate3d(${e[0]}px,${e[1]}px,0) scale(${t})`}L.current=e,D.current=I.zoom}}})),c.createElement("group",i.default({},T,{ref:A}))}));exports.Html=b;
package/web/Html.js CHANGED
@@ -126,7 +126,9 @@ const Html = /*#__PURE__*/React.forwardRef(({
126
126
  const raycaster = useThree(({
127
127
  raycaster
128
128
  }) => raycaster);
129
- const [el] = React.useState(() => document.createElement(as));
129
+ const [el] = React.useState(() => document.createElement(as)); // @ts-expect-error React 18 types aren't available yet
130
+
131
+ const root = React.useMemo(() => ReactDOM.createRoot(el), [el]);
130
132
  const group = React.useRef(null);
131
133
  const oldZoom = React.useRef(0);
132
134
  const oldPosition = React.useRef([0, 0]);
@@ -150,7 +152,7 @@ const Html = /*#__PURE__*/React.forwardRef(({
150
152
 
151
153
  return () => {
152
154
  if (target) target.removeChild(el);
153
- ReactDOM.unmountComponentAtNode(el);
155
+ root.unmount();
154
156
  };
155
157
  }
156
158
  }, [target, transform]);
@@ -188,7 +190,7 @@ const Html = /*#__PURE__*/React.forwardRef(({
188
190
  }), [pointerEvents]);
189
191
  React.useLayoutEffect(() => {
190
192
  if (transform) {
191
- ReactDOM.render( /*#__PURE__*/React.createElement("div", {
193
+ root.render( /*#__PURE__*/React.createElement("div", {
192
194
  ref: transformOuterRef,
193
195
  style: styles
194
196
  }, /*#__PURE__*/React.createElement("div", {
@@ -201,7 +203,7 @@ const Html = /*#__PURE__*/React.forwardRef(({
201
203
  children: children
202
204
  }))), el);
203
205
  } else {
204
- ReactDOM.render( /*#__PURE__*/React.createElement("div", {
206
+ root.render( /*#__PURE__*/React.createElement("div", {
205
207
  ref: ref,
206
208
  style: styles,
207
209
  className: className,
package/web/Select.js CHANGED
@@ -16,7 +16,6 @@ function Select({
16
16
  filter: customFilter = item => item,
17
17
  ...props
18
18
  }) {
19
- // @ts-expect-error new in @react-three/fiber@7.0.5
20
19
  const {
21
20
  camera,
22
21
  raycaster,
package/web/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Html.cjs.js"),r=require("./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("./Select.cjs.js"),u=require("../core/Billboard.cjs.js"),a=require("../core/QuadraticBezierLine.cjs.js"),n=require("../core/CubicBezierLine.cjs.js"),j=require("../core/Line.cjs.js"),p=require("../core/PositionalAudio.cjs.js"),l=require("../core/Text.cjs.js"),x=require("../core/Effects.cjs.js"),q=require("../core/GradientTexture.cjs.js"),d=require("../core/Image.cjs.js"),C=require("../core/Edges.cjs.js"),h=require("../core/Trail.cjs.js"),m=require("../core/Clone.cjs.js"),S=require("../core/OrthographicCamera.cjs.js"),P=require("../core/PerspectiveCamera.cjs.js"),B=require("../core/CubeCamera.cjs.js"),b=require("../core/DeviceOrientationControls.cjs.js"),M=require("../core/FlyControls.cjs.js"),T=require("../core/MapControls.cjs.js"),f=require("../core/OrbitControls.cjs.js"),g=require("../core/TrackballControls.cjs.js"),v=require("../core/ArcballControls.cjs.js"),L=require("../core/TransformControls.cjs.js"),E=require("../core/PointerLockControls.cjs.js"),A=require("../core/FirstPersonControls.cjs.js"),G=require("../core/GizmoHelper.cjs.js"),k=require("../core/GizmoViewcube.cjs.js"),D=require("../core/GizmoViewport.cjs.js"),F=require("../core/useCubeTexture.cjs.js"),w=require("../core/useFBX.cjs.js"),z=require("../core/useGLTF.cjs.js"),y=require("../core/useProgress.cjs.js"),I=require("../core/useTexture.cjs.js"),O=require("../core/useKTX2.cjs.js"),R=require("../core/Stats.cjs.js"),H=require("../core/useDepthBuffer.cjs.js"),V=require("../core/useAspect.cjs.js"),Q=require("../core/useCamera.cjs.js"),X=require("../core/useDetectGPU.cjs.js"),K=require("../core/useHelper.cjs.js"),W=require("../core/useBVH.cjs.js"),N=require("../core/useContextBridge.cjs.js"),U=require("../core/useAnimations.cjs.js"),_=require("../core/useFBO.cjs.js"),J=require("../core/useIntersect.cjs.js"),Y=require("../core/useBoxProjectedEnv.cjs.js"),Z=require("../core/CurveModifier.cjs.js"),$=require("../core/MeshDistortMaterial.cjs.js"),ee=require("../core/MeshWobbleMaterial.cjs.js"),re=require("../core/MeshReflectorMaterial.cjs.js"),se=require("../core/PointMaterial.cjs.js"),oe=require("../core/shaderMaterial.cjs.js"),te=require("../core/softShadows.cjs.js"),ie=require("../core/shapes.cjs.js"),ce=require("../core/RoundedBox.cjs.js"),ue=require("../core/ScreenQuad.cjs.js"),ae=require("../core/Center.cjs.js"),ne=require("../core/Bounds.cjs.js"),je=require("../core/CameraShake.cjs.js"),pe=require("../core/Float.cjs.js"),le=require("../core/Stage.cjs.js"),xe=require("../core/Backdrop.cjs.js"),qe=require("../core/Shadow.cjs.js"),de=require("../core/ContactShadows.cjs.js"),Ce=require("../core/Reflector.cjs.js"),he=require("../core/SpotLight.cjs.js"),me=require("../core/Environment.cjs.js"),Se=require("../core/Lightformer.cjs.js"),Pe=require("../core/Sky.cjs.js"),Be=require("../core/Stars.cjs.js"),be=require("../core/Cloud.cjs.js"),Me=require("../core/useMatcapTexture.cjs.js"),Te=require("../core/useNormalTexture.cjs.js"),fe=require("../core/Points.cjs.js"),ge=require("../core/Instances.cjs.js"),ve=require("../core/Segments.cjs.js"),Le=require("../core/Detailed.cjs.js"),Ee=require("../core/Preload.cjs.js"),Ae=require("../core/BakeShadows.cjs.js"),Ge=require("../core/meshBounds.cjs.js"),ke=require("../core/AdaptiveDpr.cjs.js"),De=require("../core/AdaptiveEvents.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("react-dom"),require("three"),require("@react-three/fiber"),require("zustand"),require("react-merge-refs"),require("@react-spring/three"),require("@use-gesture/react"),require("three-stdlib"),require("zustand/shallow"),require("troika-three-text"),require("suspend-react"),require("meshline"),require("lodash.pick"),require("lodash.omit"),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("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../helpers/Position.cjs.js"),require("react-composer"),exports.Html=e.Html,exports.CycleRaycast=r.CycleRaycast,exports.useCursor=s.useCursor,exports.Loader=o.Loader,exports.Scroll=t.Scroll,exports.ScrollControls=t.ScrollControls,exports.useScroll=t.useScroll,exports.PresentationControls=i.PresentationControls,exports.Select=c.Select,exports.useSelect=c.useSelect,exports.Billboard=u.Billboard,exports.QuadraticBezierLine=a.QuadraticBezierLine,exports.CubicBezierLine=n.CubicBezierLine,exports.Line=j.Line,exports.PositionalAudio=p.PositionalAudio,exports.Text=l.Text,exports.Effects=x.Effects,exports.isWebGL2Available=x.isWebGL2Available,exports.GradientTexture=q.GradientTexture,exports.Image=d.Image,exports.Edges=C.Edges,exports.Trail=h.Trail,exports.useTrail=h.useTrail,exports.Clone=m.Clone,exports.OrthographicCamera=S.OrthographicCamera,exports.PerspectiveCamera=P.PerspectiveCamera,exports.CubeCamera=B.CubeCamera,exports.DeviceOrientationControls=b.DeviceOrientationControls,exports.FlyControls=M.FlyControls,exports.MapControls=T.MapControls,exports.OrbitControls=f.OrbitControls,exports.TrackballControls=g.TrackballControls,exports.ArcballControls=v.ArcballControls,exports.TransformControls=L.TransformControls,exports.PointerLockControls=E.PointerLockControls,exports.FirstPersonControls=A.FirstPersonControls,exports.GizmoHelper=G.GizmoHelper,exports.useGizmoContext=G.useGizmoContext,exports.GizmoViewcube=k.GizmoViewcube,exports.GizmoViewport=D.GizmoViewport,exports.useCubeTexture=F.useCubeTexture,exports.useFBX=w.useFBX,exports.useGLTF=z.useGLTF,exports.useProgress=y.useProgress,exports.IsObject=I.IsObject,exports.useTexture=I.useTexture,exports.useKTX2=O.useKTX2,exports.Stats=R.Stats,exports.useDepthBuffer=H.useDepthBuffer,exports.useAspect=V.useAspect,exports.useCamera=Q.useCamera,exports.useDetectGPU=X.useDetectGPU,exports.useHelper=K.useHelper,exports.useBVH=W.useBVH,exports.useContextBridge=N.useContextBridge,exports.useAnimations=U.useAnimations,exports.useFBO=_.useFBO,exports.useIntersect=J.useIntersect,exports.useBoxProjectedEnv=Y.useBoxProjectedEnv,exports.CurveModifier=Z.CurveModifier,exports.MeshDistortMaterial=$.MeshDistortMaterial,exports.MeshWobbleMaterial=ee.MeshWobbleMaterial,exports.MeshReflectorMaterial=re.MeshReflectorMaterial,exports.PointMaterial=se.PointMaterial,exports.PointMaterialImpl=se.PointMaterialImpl,exports.shaderMaterial=oe.shaderMaterial,exports.softShadows=te.softShadows,exports.Box=ie.Box,exports.Circle=ie.Circle,exports.Cone=ie.Cone,exports.Cylinder=ie.Cylinder,exports.Dodecahedron=ie.Dodecahedron,exports.Extrude=ie.Extrude,exports.Icosahedron=ie.Icosahedron,exports.Lathe=ie.Lathe,exports.Octahedron=ie.Octahedron,exports.Plane=ie.Plane,exports.Polyhedron=ie.Polyhedron,exports.Ring=ie.Ring,exports.Sphere=ie.Sphere,exports.Tetrahedron=ie.Tetrahedron,exports.Torus=ie.Torus,exports.TorusKnot=ie.TorusKnot,exports.Tube=ie.Tube,exports.RoundedBox=ce.RoundedBox,exports.ScreenQuad=ue.ScreenQuad,exports.Center=ae.Center,exports.Bounds=ne.Bounds,exports.useBounds=ne.useBounds,exports.CameraShake=je.CameraShake,exports.Float=pe.Float,exports.Stage=le.Stage,exports.Backdrop=xe.Backdrop,exports.Shadow=qe.Shadow,exports.ContactShadows=de.ContactShadows,exports.Reflector=Ce.Reflector,exports.SpotLight=he.SpotLight,exports.Environment=me.Environment,exports.EnvironmentCube=me.EnvironmentCube,exports.EnvironmentMap=me.EnvironmentMap,exports.EnvironmentPortal=me.EnvironmentPortal,exports.Lightformer=Se.Lightformer,exports.Sky=Pe.Sky,exports.calcPosFromAngles=Pe.calcPosFromAngles,exports.Stars=Be.Stars,exports.Cloud=be.Cloud,exports.useMatcapTexture=Me.useMatcapTexture,exports.useNormalTexture=Te.useNormalTexture,exports.Point=fe.Point,exports.Points=fe.Points,exports.PointsBuffer=fe.PointsBuffer,exports.Instance=ge.Instance,exports.Instances=ge.Instances,exports.Merged=ge.Merged,exports.Segment=ve.Segment,exports.Segments=ve.Segments,exports.Detailed=Le.Detailed,exports.Preload=Ee.Preload,exports.BakeShadows=Ae.BakeShadows,exports.meshBounds=Ge.meshBounds,exports.AdaptiveDpr=ke.AdaptiveDpr,exports.AdaptiveEvents=De.AdaptiveEvents;
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("./Select.cjs.js"),u=require("../core/Billboard.cjs.js"),a=require("../core/QuadraticBezierLine.cjs.js"),j=require("../core/CubicBezierLine.cjs.js"),n=require("../core/Line.cjs.js"),p=require("../core/PositionalAudio.cjs.js"),l=require("../core/Text.cjs.js"),x=require("../core/Effects.cjs.js"),q=require("../core/GradientTexture.cjs.js"),d=require("../core/Image.cjs.js"),C=require("../core/Edges.cjs.js"),h=require("../core/OrthographicCamera.cjs.js"),m=require("../core/PerspectiveCamera.cjs.js"),S=require("../core/CubeCamera.cjs.js"),B=require("../core/DeviceOrientationControls.cjs.js"),P=require("../core/FlyControls.cjs.js"),b=require("../core/MapControls.cjs.js"),M=require("../core/OrbitControls.cjs.js"),f=require("../core/TrackballControls.cjs.js"),T=require("../core/ArcballControls.cjs.js"),g=require("../core/TransformControls.cjs.js"),v=require("../core/PointerLockControls.cjs.js"),L=require("../core/FirstPersonControls.cjs.js"),A=require("../core/GizmoHelper.cjs.js"),G=require("../core/GizmoViewcube.cjs.js"),k=require("../core/GizmoViewport.cjs.js"),D=require("../core/useCubeTexture.cjs.js"),F=require("../core/useFBX.cjs.js"),w=require("../core/useGLTF.cjs.js"),z=require("../core/useProgress.cjs.js"),y=require("../core/useTexture.cjs.js"),I=require("../core/useKTX2.cjs.js"),O=require("../core/Stats.cjs.js"),E=require("../core/useDepthBuffer.cjs.js"),R=require("../core/useAspect.cjs.js"),H=require("../core/useCamera.cjs.js"),V=require("../core/useDetectGPU.cjs.js"),Q=require("../core/useHelper.cjs.js"),X=require("../core/useBVH.cjs.js"),K=require("../core/useContextBridge.cjs.js"),W=require("../core/useAnimations.cjs.js"),N=require("../core/useFBO.cjs.js"),U=require("../core/useIntersect.cjs.js"),_=require("../core/CurveModifier.cjs.js"),J=require("../core/MeshDistortMaterial.cjs.js"),Y=require("../core/MeshWobbleMaterial.cjs.js"),Z=require("../core/MeshReflectorMaterial.cjs.js"),$=require("../core/PointMaterial.cjs.js"),ee=require("../core/shaderMaterial.cjs.js"),re=require("../core/softShadows.cjs.js"),se=require("../core/shapes.cjs.js"),oe=require("../core/RoundedBox.cjs.js"),te=require("../core/ScreenQuad.cjs.js"),ie=require("../core/Center.cjs.js"),ce=require("../core/Bounds.cjs.js"),ue=require("../core/CameraShake.cjs.js"),ae=require("../core/Float.cjs.js"),je=require("../core/Stage.cjs.js"),ne=require("../core/Backdrop.cjs.js"),pe=require("../core/Shadow.cjs.js"),le=require("../core/ContactShadows.cjs.js"),xe=require("../core/Reflector.cjs.js"),qe=require("../core/SpotLight.cjs.js"),de=require("../core/Environment.cjs.js"),Ce=require("../core/Sky.cjs.js"),he=require("../core/Stars.cjs.js"),me=require("../core/Cloud.cjs.js"),Se=require("../core/useMatcapTexture.cjs.js"),Be=require("../core/useNormalTexture.cjs.js"),Pe=require("../core/Points.cjs.js"),be=require("../core/Instances.cjs.js"),Me=require("../core/Segments.cjs.js"),fe=require("../core/Detailed.cjs.js"),Te=require("../core/Preload.cjs.js"),ge=require("../core/BakeShadows.cjs.js"),ve=require("../core/meshBounds.cjs.js"),Le=require("../core/AdaptiveDpr.cjs.js"),Ae=require("../core/AdaptiveEvents.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("react-dom"),require("three"),require("@react-three/fiber"),require("zustand"),require("react-merge-refs"),require("@react-spring/three"),require("@use-gesture/react"),require("three-stdlib"),require("zustand/shallow"),require("troika-three-text"),require("suspend-react"),require("lodash.omit"),require("lodash.pick"),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("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../helpers/Position.cjs.js"),require("react-composer"),exports.Html=e.Html,exports.CycleRaycast=r.CycleRaycast,exports.useCursor=s.useCursor,exports.Loader=o.Loader,exports.Scroll=t.Scroll,exports.ScrollControls=t.ScrollControls,exports.useScroll=t.useScroll,exports.PresentationControls=i.PresentationControls,exports.Select=c.Select,exports.useSelect=c.useSelect,exports.Billboard=u.Billboard,exports.QuadraticBezierLine=a.QuadraticBezierLine,exports.CubicBezierLine=j.CubicBezierLine,exports.Line=n.Line,exports.PositionalAudio=p.PositionalAudio,exports.Text=l.Text,exports.Effects=x.Effects,exports.isWebGL2Available=x.isWebGL2Available,exports.GradientTexture=q.GradientTexture,exports.Image=d.Image,exports.Edges=C.Edges,exports.OrthographicCamera=h.OrthographicCamera,exports.PerspectiveCamera=m.PerspectiveCamera,exports.CubeCamera=S.CubeCamera,exports.DeviceOrientationControls=B.DeviceOrientationControls,exports.FlyControls=P.FlyControls,exports.MapControls=b.MapControls,exports.OrbitControls=M.OrbitControls,exports.TrackballControls=f.TrackballControls,exports.ArcballControls=T.ArcballControls,exports.TransformControls=g.TransformControls,exports.PointerLockControls=v.PointerLockControls,exports.FirstPersonControls=L.FirstPersonControls,exports.GizmoHelper=A.GizmoHelper,exports.useGizmoContext=A.useGizmoContext,exports.GizmoViewcube=G.GizmoViewcube,exports.GizmoViewport=k.GizmoViewport,exports.useCubeTexture=D.useCubeTexture,exports.useFBX=F.useFBX,exports.useGLTF=w.useGLTF,exports.useProgress=z.useProgress,exports.IsObject=y.IsObject,exports.useTexture=y.useTexture,exports.useKTX2=I.useKTX2,exports.Stats=O.Stats,exports.useDepthBuffer=E.useDepthBuffer,exports.useAspect=R.useAspect,exports.useCamera=H.useCamera,exports.useDetectGPU=V.useDetectGPU,exports.useHelper=Q.useHelper,exports.useBVH=X.useBVH,exports.useContextBridge=K.useContextBridge,exports.useAnimations=W.useAnimations,exports.useFBO=N.useFBO,exports.useIntersect=U.useIntersect,exports.CurveModifier=_.CurveModifier,exports.MeshDistortMaterial=J.MeshDistortMaterial,exports.MeshWobbleMaterial=Y.MeshWobbleMaterial,exports.MeshReflectorMaterial=Z.MeshReflectorMaterial,exports.PointMaterial=$.PointMaterial,exports.PointMaterialImpl=$.PointMaterialImpl,exports.shaderMaterial=ee.shaderMaterial,exports.softShadows=re.softShadows,exports.Box=se.Box,exports.Circle=se.Circle,exports.Cone=se.Cone,exports.Cylinder=se.Cylinder,exports.Dodecahedron=se.Dodecahedron,exports.Extrude=se.Extrude,exports.Icosahedron=se.Icosahedron,exports.Lathe=se.Lathe,exports.Octahedron=se.Octahedron,exports.Plane=se.Plane,exports.Polyhedron=se.Polyhedron,exports.Ring=se.Ring,exports.Sphere=se.Sphere,exports.Tetrahedron=se.Tetrahedron,exports.Torus=se.Torus,exports.TorusKnot=se.TorusKnot,exports.Tube=se.Tube,exports.RoundedBox=oe.RoundedBox,exports.ScreenQuad=te.ScreenQuad,exports.Center=ie.Center,exports.Bounds=ce.Bounds,exports.useBounds=ce.useBounds,exports.CameraShake=ue.CameraShake,exports.Float=ae.Float,exports.Stage=je.Stage,exports.Backdrop=ne.Backdrop,exports.Shadow=pe.Shadow,exports.ContactShadows=le.ContactShadows,exports.Reflector=xe.Reflector,exports.SpotLight=qe.SpotLight,exports.Environment=de.Environment,exports.Sky=Ce.Sky,exports.calcPosFromAngles=Ce.calcPosFromAngles,exports.Stars=he.Stars,exports.Cloud=me.Cloud,exports.useMatcapTexture=Se.useMatcapTexture,exports.useNormalTexture=Be.useNormalTexture,exports.Point=Pe.Point,exports.Points=Pe.Points,exports.PointsBuffer=Pe.PointsBuffer,exports.Instance=be.Instance,exports.Instances=be.Instances,exports.Merged=be.Merged,exports.Segment=Me.Segment,exports.Segments=Me.Segments,exports.Detailed=fe.Detailed,exports.Preload=Te.Preload,exports.BakeShadows=ge.BakeShadows,exports.meshBounds=ve.meshBounds,exports.AdaptiveDpr=Le.AdaptiveDpr,exports.AdaptiveEvents=Ae.AdaptiveEvents;
package/web/index.js CHANGED
@@ -15,8 +15,6 @@ export { Effects, isWebGL2Available } from '../core/Effects.js';
15
15
  export { GradientTexture } from '../core/GradientTexture.js';
16
16
  export { Image } from '../core/Image.js';
17
17
  export { Edges } from '../core/Edges.js';
18
- export { Trail, useTrail } from '../core/Trail.js';
19
- export { Clone } from '../core/Clone.js';
20
18
  export { OrthographicCamera } from '../core/OrthographicCamera.js';
21
19
  export { PerspectiveCamera } from '../core/PerspectiveCamera.js';
22
20
  export { CubeCamera } from '../core/CubeCamera.js';
@@ -49,7 +47,6 @@ export { useContextBridge } from '../core/useContextBridge.js';
49
47
  export { useAnimations } from '../core/useAnimations.js';
50
48
  export { useFBO } from '../core/useFBO.js';
51
49
  export { useIntersect } from '../core/useIntersect.js';
52
- export { useBoxProjectedEnv } from '../core/useBoxProjectedEnv.js';
53
50
  export { CurveModifier } from '../core/CurveModifier.js';
54
51
  export { MeshDistortMaterial } from '../core/MeshDistortMaterial.js';
55
52
  export { MeshWobbleMaterial } from '../core/MeshWobbleMaterial.js';
@@ -70,8 +67,7 @@ export { Shadow } from '../core/Shadow.js';
70
67
  export { ContactShadows } from '../core/ContactShadows.js';
71
68
  export { Reflector } from '../core/Reflector.js';
72
69
  export { SpotLight } from '../core/SpotLight.js';
73
- export { Environment, EnvironmentCube, EnvironmentMap, EnvironmentPortal } from '../core/Environment.js';
74
- export { Lightformer } from '../core/Lightformer.js';
70
+ export { Environment } from '../core/Environment.js';
75
71
  export { Sky, calcPosFromAngles } from '../core/Sky.js';
76
72
  export { Stars } from '../core/Stars.js';
77
73
  export { Cloud } from '../core/Cloud.js';
@@ -99,9 +95,8 @@ import 'three-stdlib';
99
95
  import 'zustand/shallow';
100
96
  import 'troika-three-text';
101
97
  import 'suspend-react';
102
- import 'meshline';
103
- import 'lodash.pick';
104
98
  import 'lodash.omit';
99
+ import 'lodash.pick';
105
100
  import 'stats.js';
106
101
  import '../helpers/useEffectfulState.js';
107
102
  import 'detect-gpu';
package/core/Clone.cjs.js DELETED
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("lodash.pick");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var o=a(e),c=n(t),i=a(r);function l(e,{keys:t=["near","far","color","distance","decay","penumbra","angle","intensity","skeleton","visible","castShadow","receiveShadow","morphTargetDictionary","morphTargetInfluences","name","geometry","material","position","rotation","scale","up","userData"],deep:r,inject:a,castShadow:n,receiveShadow:o}){let l=i.default(e,t);return r&&(l.geometry&&"materialsOnly"!==r&&(l.geometry=l.geometry.clone()),l.material&&"geometriesOnly"!==r&&(l.material=l.material.clone())),a&&(l="function"==typeof a?{...l,children:a(e)}:c.isValidElement(a)?{...l,children:a}:{...l,...a}),"Mesh"===e.type&&(n&&(l.castShadow=!0),o&&(l.receiveShadow=!0)),l}const u=c.forwardRef((({object:e,children:t,deep:r,castShadow:a,receiveShadow:n,inject:i,keys:d,...s},f)=>{const p={keys:d,deep:r,inject:i,castShadow:a,receiveShadow:n};if(Array.isArray(e))return c.createElement("group",o.default({},s,{ref:f}),e.map((e=>c.createElement(u,o.default({key:e.uuid,object:e},p)))),t);const y=l(e,p),m=e.type[0].toLowerCase()+e.type.slice(1);return c.createElement(m,o.default({},y,s,{ref:f}),(null==e?void 0:e.children).map((e=>{let t={},r=e.type[0].toLowerCase()+e.type.slice(1);return"group"===r||"object3D"===r?(r=u,t={object:e,...p}):t=l(e,p),c.createElement(r,o.default({key:e.uuid},t))})),t)}));exports.Clone=u;
package/core/Clone.d.ts DELETED
@@ -1,11 +0,0 @@
1
- import * as React from 'react';
2
- import { MeshProps } from '@react-three/fiber';
3
- export declare const Clone: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").GroupProps, "children"> & {
4
- object: THREE.Object3D | THREE.Object3D[];
5
- children?: React.ReactNode;
6
- deep?: boolean | "materialsOnly" | "geometriesOnly" | undefined;
7
- keys?: string[] | undefined;
8
- inject?: React.ReactNode | MeshProps | ((object: THREE.Object3D) => React.ReactNode);
9
- castShadow?: boolean | undefined;
10
- receiveShadow?: boolean | undefined;
11
- }, "object" | "visible" | "attach" | "attachArray" | "attachObject" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "isGroup" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "keys" | "deep" | "inject"> & React.RefAttributes<import("three").Group>>;
package/core/Clone.js DELETED
@@ -1,89 +0,0 @@
1
- import _extends from '@babel/runtime/helpers/esm/extends';
2
- import * as React from 'react';
3
- import pick from 'lodash.pick';
4
-
5
- function createSpread(child, {
6
- keys = ['near', 'far', 'color', 'distance', 'decay', 'penumbra', 'angle', 'intensity', 'skeleton', 'visible', 'castShadow', 'receiveShadow', 'morphTargetDictionary', 'morphTargetInfluences', 'name', 'geometry', 'material', 'position', 'rotation', 'scale', 'up', 'userData'],
7
- deep,
8
- inject,
9
- castShadow,
10
- receiveShadow
11
- }) {
12
- let spread = pick(child, keys);
13
-
14
- if (deep) {
15
- if (spread.geometry && deep !== 'materialsOnly') spread.geometry = spread.geometry.clone();
16
- if (spread.material && deep !== 'geometriesOnly') spread.material = spread.material.clone();
17
- }
18
-
19
- if (inject) {
20
- if (typeof inject === 'function') spread = { ...spread,
21
- children: inject(child)
22
- };else if ( /*#__PURE__*/React.isValidElement(inject)) spread = { ...spread,
23
- children: inject
24
- };else spread = { ...spread,
25
- ...inject
26
- };
27
- }
28
-
29
- if (child.type === 'Mesh') {
30
- if (castShadow) spread.castShadow = true;
31
- if (receiveShadow) spread.receiveShadow = true;
32
- }
33
-
34
- return spread;
35
- }
36
-
37
- const Clone = /*#__PURE__*/React.forwardRef(({
38
- object,
39
- children,
40
- deep,
41
- castShadow,
42
- receiveShadow,
43
- inject,
44
- keys,
45
- ...props
46
- }, forwardRef) => {
47
- const config = {
48
- keys,
49
- deep,
50
- inject,
51
- castShadow,
52
- receiveShadow
53
- }; // Deal with arrayed clones
54
-
55
- if (Array.isArray(object)) {
56
- return /*#__PURE__*/React.createElement("group", _extends({}, props, {
57
- ref: forwardRef
58
- }), object.map(o => /*#__PURE__*/React.createElement(Clone, _extends({
59
- key: o.uuid,
60
- object: o
61
- }, config))), children);
62
- } // Singleton clones
63
-
64
-
65
- const spread = createSpread(object, config);
66
- const Element = object.type[0].toLowerCase() + object.type.slice(1);
67
- return /*#__PURE__*/React.createElement(Element, _extends({}, spread, props, {
68
- ref: forwardRef
69
- }), (object == null ? void 0 : object.children).map(child => {
70
- let spread = {};
71
- let Element = child.type[0].toLowerCase() + child.type.slice(1);
72
-
73
- if (Element === 'group' || Element === 'object3D') {
74
- Element = Clone;
75
- spread = {
76
- object: child,
77
- ...config
78
- };
79
- } else {
80
- spread = createSpread(child, config);
81
- }
82
-
83
- return /*#__PURE__*/React.createElement(Element, _extends({
84
- key: child.uuid
85
- }, spread));
86
- }), children);
87
- });
88
-
89
- export { Clone };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("@react-three/fiber"),t=require("react"),a=require("three"),l=require("react-merge-refs");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,a.get?a:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var u=n(e),i=c(t),o=c(a),s=n(l);const f=i.forwardRef((({args:e,map:t,toneMapped:a=!1,color:l="white",form:n="rect",intensity:c=1,scale:f=1,target:m,children:p,...d},y)=>{const g=i.useRef(null);return i.useLayoutEffect((()=>{p||d.material||(r.applyProps(g.current.material,{color:l}),g.current.material.color.multiplyScalar(c))}),[l,c,p,d.material]),i.useLayoutEffect((()=>{m&&g.current.lookAt(Array.isArray(m)?new o.Vector3(...m):m)}),[m]),f=Array.isArray(f)&&2===f.length?[f[0],f[1],1]:f,i.createElement("mesh",u.default({ref:s.default([g,y]),scale:f},d),"circle"===n?i.createElement("ringGeometry",{args:[0,1,64]}):"ring"===n?i.createElement("ringGeometry",{args:[.5,1,64]}):"rect"===n?i.createElement("planeGeometry",null):i.createElement(n,{args:e}),p||(d.material?null:i.createElement("meshBasicMaterial",{toneMapped:a,map:t,side:o.DoubleSide})))}));exports.Lightformer=f;
@@ -1,41 +0,0 @@
1
- import { ReactThreeFiber } from '@react-three/fiber';
2
- import * as React from 'react';
3
- import * as THREE from 'three';
4
- export declare type LightProps = JSX.IntrinsicElements['mesh'] & {
5
- args?: any[];
6
- map?: THREE.Texture;
7
- toneMapped?: boolean;
8
- color?: ReactThreeFiber.Color;
9
- form?: 'circle' | 'ring' | 'rect' | any;
10
- scale?: number | [number, number, number] | [number, number];
11
- intensity?: number;
12
- target?: [number, number, number] | THREE.Vector3;
13
- };
14
- export declare const Lightformer: React.ForwardRefExoticComponent<Pick<Omit<ReactThreeFiber.Node<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>, typeof THREE.Mesh>, ReactThreeFiber.NonFunctionKeys<{
15
- position?: ReactThreeFiber.Vector3 | undefined;
16
- up?: ReactThreeFiber.Vector3 | undefined;
17
- scale?: ReactThreeFiber.Vector3 | undefined;
18
- rotation?: ReactThreeFiber.Euler | undefined;
19
- matrix?: ReactThreeFiber.Matrix4 | undefined;
20
- quaternion?: ReactThreeFiber.Quaternion | undefined;
21
- layers?: ReactThreeFiber.Layers | undefined;
22
- dispose?: (() => void) | null | undefined;
23
- }>> & {
24
- position?: ReactThreeFiber.Vector3 | undefined;
25
- up?: ReactThreeFiber.Vector3 | undefined;
26
- scale?: ReactThreeFiber.Vector3 | undefined;
27
- rotation?: ReactThreeFiber.Euler | undefined;
28
- matrix?: ReactThreeFiber.Matrix4 | undefined;
29
- quaternion?: ReactThreeFiber.Quaternion | undefined;
30
- layers?: ReactThreeFiber.Layers | undefined;
31
- dispose?: (() => void) | null | undefined;
32
- } & import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers & {
33
- args?: any[] | undefined;
34
- map?: THREE.Texture | undefined;
35
- toneMapped?: boolean | undefined;
36
- color?: ReactThreeFiber.Color | undefined;
37
- form?: 'circle' | 'ring' | 'rect' | any;
38
- scale?: number | [number, number] | [number, number, number] | undefined;
39
- intensity?: number | undefined;
40
- target?: THREE.Vector3 | [number, number, number] | undefined;
41
- }, "visible" | "attach" | "attachArray" | "attachObject" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | "color" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "form" | "map" | "material" | "target" | "toneMapped" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | "intensity"> & React.RefAttributes<unknown>>;