@takram/three-clouds 0.4.2 → 0.5.1

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.
package/CHANGELOG.md CHANGED
@@ -1,10 +1,23 @@
1
1
  # Changelog
2
2
 
3
- ## [0.4.2] - 2025-07-14
3
+ ## [0.5.1] - 2025-11-01
4
4
 
5
5
  ### Changed
6
6
 
7
- - Updated the dependency to atmosphere.
7
+ - Removed module augmentation from type definitions.
8
+ - Updated dependencies.
9
+
10
+ ## [0.5.0] - 2025-08-19
11
+
12
+ ### Changed
13
+
14
+ - Removed `ellipsoidCenter` and `ellipsoidMatrix`. They have been replaced by `worldToECEFMatrix` (breaking change).
15
+ - Updated dependencies.
16
+
17
+ ### Fixed
18
+
19
+ - Improved the reprojection during temporal upscaling.
20
+ - Fixed noise in the velocity vector during temporal upscaling.
8
21
 
9
22
  ## [0.4.1] - 2025-07-14
10
23
 
package/README.md CHANGED
@@ -199,7 +199,7 @@ This illustrates that greater total cloud layer height increases computational c
199
199
 
200
200
  - A large portion of weather sampling is wasted simply checking whether it is outside the cloud shell. However, since we already know the front depth and sample count at the texel from the reprojected previous frame, using this information to better estimate the ray marching range would make it much more efficient.
201
201
 
202
- - Compute light shafts of the scene objects (possibly in the [atmosphere package](../atmosphere)). Implementing this would require an additional depth pass to render the scene as seen from the sun, which is too expensive unless shadow map is already in use. It may provide a partial solution to project the main cameras depth onto the suns view.
202
+ - Compute light shafts of the scene objects (possibly in the [atmosphere package](../atmosphere)). Implementing this would require an additional depth pass to render the scene as seen from the sun, which is too expensive unless shadow map is already in use. It may provide a partial solution to project the main camera's depth onto the sun's view.
203
203
 
204
204
  ### Planned features
205
205
 
@@ -477,7 +477,7 @@ Specifies whether this cloud layer should be included in BSM.
477
477
 
478
478
  A post-processing effect that renders volumetric clouds. Although it is an effect and can render as a standalone, it is primarily intended to render clouds into buffers and then composited in `AerialPerspectiveEffect`.
479
479
 
480
- This is for use with the [`postprocessing`](https://github.com/pmndrs/postprocessing)s `EffectComposer` and is not compatible with the one in Three.js examples.
480
+ This is for use with the [`postprocessing`](https://github.com/pmndrs/postprocessing)'s `EffectComposer` and is not compatible with the one in Three.js examples.
481
481
 
482
482
  → [Source](/packages/clouds/src/CloudsEffect.ts)
483
483
 
@@ -489,7 +489,7 @@ Nothing novel here, just a combination of existing techniques. See the [referenc
489
489
 
490
490
  - **Shadow**
491
491
 
492
- Performs ray marching in the suns orthographic projection and outputs the necessary values for computing the optical depth of the clouds (BSM) during the main cameras ray marching.
492
+ Performs ray marching in the sun's orthographic projection and outputs the necessary values for computing the optical depth of the clouds (BSM) during the main camera's ray marching.
493
493
 
494
494
  → [Shader](/packages/clouds/src/shaders/shadow.frag)
495
495
 
@@ -521,7 +521,7 @@ Nothing novel here, just a combination of existing techniques. See the [referenc
521
521
 
522
522
  ### Parameters
523
523
 
524
- The number of parameters might seem overwhelming at first, but they provide fine control as needed. To get started, try adjusting [`qualityPreset`](#qualitypreset), [`coverage`](#coverage), cloud layers [`altitude`](#altitude), and [`height`](#height) to suit your needs. You can also experiment with the parameters in the [Basic story](https://takram-design-engineering.github.io/three-geospatial/?path=/story/clouds-clouds--basic).
524
+ The number of parameters might seem overwhelming at first, but they provide fine control as needed. To get started, try adjusting [`qualityPreset`](#qualitypreset), [`coverage`](#coverage), cloud layer's [`altitude`](#altitude), and [`height`](#height) to suit your needs. You can also experiment with the parameters in the [Basic story](https://takram-design-engineering.github.io/three-geospatial/?path=/story/clouds-clouds--basic).
525
525
 
526
526
  - [Rendering](#rendering)
527
527
  - [Cloud layers](#cloud-layers)
@@ -796,7 +796,7 @@ The resolution of each cascade in the shadow map.
796
796
  maxFar: number | null = null
797
797
  ```
798
798
 
799
- The maximum far plane distance for rendering shadows within the main cameras frustum. This limits the main cameras frustum: shadows beyond this distance are not rendered, and setting a value larger than the main cameras far plane has no effect.
799
+ The maximum far plane distance for rendering shadows within the main camera's frustum. This limits the main camera's frustum: shadows beyond this distance are not rendered, and setting a value larger than the main camera's far plane has no effect.
800
800
 
801
801
  #### shadow.farScale
802
802
 
@@ -804,7 +804,7 @@ The maximum far plane distance for rendering shadows within the main camera’s
804
804
  farScale: number = 1
805
805
  ```
806
806
 
807
- A scale factor for the main cameras far plane. This is useful when the far plane extends to a point like the horizon occlusion point, even though shadows do not need to be rendered that far. The resulting value is also limited by `shadow.maxFar`.
807
+ A scale factor for the main camera's far plane. This is useful when the far plane extends to a point like the horizon occlusion point, even though shadows do not need to be rendered that far. The resulting value is also limited by `shadow.maxFar`.
808
808
 
809
809
  #### shadow.splitMode, shadow.splitLambda
810
810
 
@@ -813,7 +813,7 @@ splitMode: 'uniform' | 'logarithmic' | 'practical' = 'practical'
813
813
  splitLambda: number = 0.6
814
814
  ```
815
815
 
816
- Controls [how the main cameras frustum is split](https://developer.nvidia.com/gpugems/gpugems3/part-ii-light-and-shadows/chapter-10-parallel-split-shadow-maps-programmable-gpus). `splitLambda` is only applicable when `splitMode` is set to `practical`.
816
+ Controls [how the main camera's frustum is split](https://developer.nvidia.com/gpugems/gpugems3/part-ii-light-and-shadows/chapter-10-parallel-split-shadow-maps-programmable-gpus). `splitLambda` is only applicable when `splitMode` is set to `practical`.
817
817
 
818
818
  ### Advanced clouds parameters
819
819
 
@@ -839,7 +839,7 @@ Whether to sample sun and sky irradiance at every sample point during ray marchi
839
839
  accuratePhaseFunction: boolean = false
840
840
  ```
841
841
 
842
- Whether to use a [numerically-fitted Mie phase function](https://research.nvidia.com/labs/rtr/approximate-mie/) for large particles (d = 10 μm) instead of the dual-lobe Henyey-Greenstein phase function. However, it wont be plausible without a more precise computation of multiple scattering.
842
+ Whether to use a [numerically-fitted Mie phase function](https://research.nvidia.com/labs/rtr/approximate-mie/) for large particles (d = 10 μm) instead of the dual-lobe Henyey-Greenstein phase function. However, it won't be plausible without a more precise computation of multiple scattering.
843
843
 
844
844
  #### clouds.maxIterationCount
845
845
 
package/build/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./shared.cjs"),c=require("@takram/three-geospatial"),a=require("@takram/three-geospatial/shaders"),n=require("three");class g{constructor({size:t,fragmentShader:r}){this.needsRender=!0,this.camera=new n.Camera,this.size=t,this.material=new n.RawShaderMaterial({glslVersion:n.GLSL3,vertexShader:`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./shared.cjs"),a=require("@takram/three-geospatial"),c=require("@takram/three-geospatial/shaders"),n=require("three");class g{size;needsRender=!0;material;mesh;renderTarget;camera=new n.Camera;constructor({size:t,fragmentShader:r}){this.size=t,this.material=new n.RawShaderMaterial({glslVersion:n.GLSL3,vertexShader:`
2
2
  in vec3 position;
3
3
  out vec2 vUv;
4
4
  void main() {
@@ -382,7 +382,7 @@ float getPerlinNoise(const vec3 point, const vec3 frequency, const int octaveCou
382
382
  float getPerlinNoise(const vec3 point, const float frequency, const int octaveCount) {
383
383
  return getPerlinNoise(point, vec3(frequency), octaveCount);
384
384
  }
385
- `;class u extends g{constructor(){super({size:o.CLOUD_SHAPE_TEXTURE_SIZE,fragmentShader:c.resolveIncludes(p,{core:{math:a.math},perlin:s,tileableNoise:l})})}}const v=`// Based on the following work with slight modifications.
385
+ `;class u extends g{constructor(){super({size:o.CLOUD_SHAPE_TEXTURE_SIZE,fragmentShader:a.resolveIncludes(p,{core:{math:c.math},perlin:s,tileableNoise:l})})}}const v=`// Based on the following work with slight modifications.
386
386
  // https://github.com/sebh/TileableVolumeNoise
387
387
 
388
388
  /**
@@ -438,7 +438,7 @@ void main() {
438
438
  );
439
439
  outputColor = dot(fbm, vec3(0.625, 0.25, 0.125));
440
440
  }
441
- `;class d extends g{constructor(){super({size:o.CLOUD_SHAPE_DETAIL_TEXTURE_SIZE,fragmentShader:c.resolveIncludes(v,{core:{math:a.math},perlin:s,tileableNoise:l})})}}class f{constructor({size:t,fragmentShader:r}){this.needsRender=!0,this.camera=new n.Camera,this.size=t,this.material=new n.RawShaderMaterial({glslVersion:n.GLSL3,vertexShader:`
441
+ `;class d extends g{constructor(){super({size:o.CLOUD_SHAPE_DETAIL_TEXTURE_SIZE,fragmentShader:a.resolveIncludes(v,{core:{math:c.math},perlin:s,tileableNoise:l})})}}class f{size;needsRender=!0;material;mesh;renderTarget;camera=new n.Camera;constructor({size:t,fragmentShader:r}){this.size=t,this.material=new n.RawShaderMaterial({glslVersion:n.GLSL3,vertexShader:`
442
442
  in vec3 position;
443
443
  out vec2 vUv;
444
444
  void main() {
@@ -528,7 +528,7 @@ void main() {
528
528
 
529
529
  outputColor.a = 1.0;
530
530
  }
531
- `;class T extends f{constructor(){super({size:512,fragmentShader:c.resolveIncludes(y,{core:{math:a.math},perlin:s,tileableNoise:l})})}}const h=`precision highp float;
531
+ `;class T extends f{constructor(){super({size:512,fragmentShader:a.resolveIncludes(y,{core:{math:c.math},perlin:s,tileableNoise:l})})}}const h=`precision highp float;
532
532
  precision highp int;
533
533
 
534
534
  #include "core/math"
@@ -579,5 +579,5 @@ void main() {
579
579
  outputColor.rgb = 0.5 * curl(point) + 0.5;
580
580
  outputColor.a = 1.0;
581
581
  }
582
- `;class E extends f{constructor(){super({size:128,fragmentShader:c.resolveIncludes(h,{core:{math:a.math},perlin:s,tileableNoise:l})})}}exports.CLOUD_SHAPE_DETAIL_TEXTURE_SIZE=o.CLOUD_SHAPE_DETAIL_TEXTURE_SIZE;exports.CLOUD_SHAPE_TEXTURE_SIZE=o.CLOUD_SHAPE_TEXTURE_SIZE;exports.CloudLayer=o.CloudLayer;exports.CloudLayers=o.CloudLayers;exports.CloudsEffect=o.CloudsEffect;exports.DEFAULT_LOCAL_WEATHER_URL=o.DEFAULT_LOCAL_WEATHER_URL;exports.DEFAULT_SHAPE_DETAIL_URL=o.DEFAULT_SHAPE_DETAIL_URL;exports.DEFAULT_SHAPE_URL=o.DEFAULT_SHAPE_URL;exports.DEFAULT_TURBULENCE_URL=o.DEFAULT_TURBULENCE_URL;exports.DensityProfile=o.DensityProfile;exports.cloudsPassOptionsDefaults=o.cloudsPassOptionsDefaults;exports.CloudShape=u;exports.CloudShapeDetail=d;exports.LocalWeather=T;exports.Procedural3DTextureBase=g;exports.ProceduralTextureBase=f;exports.Turbulence=E;
582
+ `;class E extends f{constructor(){super({size:128,fragmentShader:a.resolveIncludes(h,{core:{math:c.math},perlin:s,tileableNoise:l})})}}exports.CLOUD_SHAPE_DETAIL_TEXTURE_SIZE=o.CLOUD_SHAPE_DETAIL_TEXTURE_SIZE;exports.CLOUD_SHAPE_TEXTURE_SIZE=o.CLOUD_SHAPE_TEXTURE_SIZE;exports.CloudLayer=o.CloudLayer;exports.CloudLayers=o.CloudLayers;exports.CloudsEffect=o.CloudsEffect;exports.DEFAULT_LOCAL_WEATHER_URL=o.DEFAULT_LOCAL_WEATHER_URL;exports.DEFAULT_SHAPE_DETAIL_URL=o.DEFAULT_SHAPE_DETAIL_URL;exports.DEFAULT_SHAPE_URL=o.DEFAULT_SHAPE_URL;exports.DEFAULT_TURBULENCE_URL=o.DEFAULT_TURBULENCE_URL;exports.DensityProfile=o.DensityProfile;exports.cloudsPassOptionsDefaults=o.cloudsPassOptionsDefaults;exports.CloudShape=u;exports.CloudShapeDetail=d;exports.LocalWeather=T;exports.Procedural3DTextureBase=g;exports.ProceduralTextureBase=f;exports.Turbulence=E;
583
583
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/Procedural3DTexture.ts","../src/shaders/cloudShape.frag?raw","../src/shaders/perlin.glsl?raw","../src/shaders/tileableNoise.glsl?raw","../src/CloudShape.ts","../src/shaders/cloudShapeDetail.frag?raw","../src/CloudShapeDetail.ts","../src/ProceduralTexture.ts","../src/shaders/localWeather.frag?raw","../src/LocalWeather.ts","../src/shaders/turbulence.frag?raw","../src/Turbulence.ts"],"sourcesContent":null,"names":["Procedural3DTextureBase","size","fragmentShader","Camera","RawShaderMaterial","GLSL3","Uniform","Mesh","PlaneGeometry","WebGL3DRenderTarget","RedFormat","texture","LinearFilter","RepeatWrapping","NoColorSpace","renderer","deltaTime","layer","fragmentShader$3","perlin","tileableNoise","CloudShape","CLOUD_SHAPE_TEXTURE_SIZE","resolveIncludes","math","fragmentShader$2","CloudShapeDetail","CLOUD_SHAPE_DETAIL_TEXTURE_SIZE","ProceduralTextureBase","WebGLRenderTarget","RGBAFormat","LinearMipMapLinearFilter","fragmentShader$1","LocalWeather","Turbulence"],"mappings":"uNAyBO,MAAMA,CAAuD,CASlE,YAAY,CAAE,KAAAC,EAAM,eAAAC,GAAqD,CAPzE,KAAA,YAAc,GAKd,KAAiB,OAAS,IAAIC,SAG5B,KAAK,KAAOF,EACZ,KAAK,SAAW,IAAIG,oBAAkB,CACpC,YAAaC,EAAAA,MACb,aAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAQzB,eAAAH,EACA,SAAU,CACR,MAAO,IAAII,EAAAA,QAAQ,CAAC,CAAA,CACtB,CACD,EACD,KAAK,KAAO,IAAIC,EAAAA,KAAK,IAAIC,EAAAA,cAAc,EAAG,CAAC,EAAG,KAAK,QAAQ,EAE3D,KAAK,aAAe,IAAIC,EAAAA,oBAAoBR,EAAMA,EAAMA,EAAM,CAC5D,YAAa,GACb,OAAQS,EAAAA,SAAA,CACT,EACD,MAAMC,EAAU,KAAK,aAAa,QAClCA,EAAQ,UAAYC,EAAAA,aACpBD,EAAQ,UAAYC,EAAAA,aACpBD,EAAQ,MAAQE,EAAAA,eAChBF,EAAQ,MAAQE,EAAAA,eAChBF,EAAQ,MAAQE,EAAAA,eAChBF,EAAQ,WAAaG,EAAAA,aACrBH,EAAQ,YAAc,EAAA,CAGxB,SAAgB,CACd,KAAK,aAAa,QAAA,EAClB,KAAK,SAAS,QAAA,CAAQ,CAGxB,OAAOI,EAAyBC,EAA0B,CACxD,GAAK,KAAK,YAGV,MAAK,YAAc,GAInB,QAASC,EAAQ,EAAGA,EAAQ,KAAK,KAAM,EAAEA,EACvC,KAAK,SAAS,SAAS,MAAM,MAAQA,EAAQ,KAAK,KAClDF,EAAS,gBAAgB,KAAK,aAAcE,CAAK,EACjDF,EAAS,OAAO,KAAK,KAAM,KAAK,MAAM,EAExCA,EAAS,gBAAgB,IAAI,EAAA,CAG/B,IAAI,SAAyB,CAC3B,OAAO,KAAK,aAAa,OAAA,CAE7B,CC3FA,MAAAG,EAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAfC,EAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/Procedural3DTexture.ts","../src/shaders/cloudShape.frag?raw","../src/shaders/perlin.glsl?raw","../src/shaders/tileableNoise.glsl?raw","../src/CloudShape.ts","../src/shaders/cloudShapeDetail.frag?raw","../src/CloudShapeDetail.ts","../src/ProceduralTexture.ts","../src/shaders/localWeather.frag?raw","../src/LocalWeather.ts","../src/shaders/turbulence.frag?raw","../src/Turbulence.ts"],"sourcesContent":null,"names":["Procedural3DTextureBase","Camera","size","fragmentShader","RawShaderMaterial","GLSL3","Uniform","Mesh","PlaneGeometry","WebGL3DRenderTarget","RedFormat","texture","LinearFilter","RepeatWrapping","NoColorSpace","renderer","deltaTime","layer","fragmentShader$3","perlin","tileableNoise","CloudShape","CLOUD_SHAPE_TEXTURE_SIZE","resolveIncludes","math","fragmentShader$2","CloudShapeDetail","CLOUD_SHAPE_DETAIL_TEXTURE_SIZE","ProceduralTextureBase","WebGLRenderTarget","RGBAFormat","LinearMipMapLinearFilter","fragmentShader$1","LocalWeather","Turbulence"],"mappings":"uNAyBO,MAAMA,CAAuD,CACzD,KACT,YAAc,GAEG,SACA,KACA,aACA,OAAS,IAAIC,EAAAA,OAE9B,YAAY,CAAE,KAAAC,EAAM,eAAAC,GAAqD,CACvE,KAAK,KAAOD,EACZ,KAAK,SAAW,IAAIE,oBAAkB,CACpC,YAAaC,EAAAA,MACb,aAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAQzB,eAAAF,EACA,SAAU,CACR,MAAO,IAAIG,EAAAA,QAAQ,CAAC,CAAA,CACtB,CACD,EACD,KAAK,KAAO,IAAIC,EAAAA,KAAK,IAAIC,EAAAA,cAAc,EAAG,CAAC,EAAG,KAAK,QAAQ,EAE3D,KAAK,aAAe,IAAIC,EAAAA,oBAAoBP,EAAMA,EAAMA,EAAM,CAC5D,YAAa,GACb,OAAQQ,EAAAA,SAAA,CACT,EACD,MAAMC,EAAU,KAAK,aAAa,QAClCA,EAAQ,UAAYC,EAAAA,aACpBD,EAAQ,UAAYC,EAAAA,aACpBD,EAAQ,MAAQE,EAAAA,eAChBF,EAAQ,MAAQE,EAAAA,eAChBF,EAAQ,MAAQE,EAAAA,eAChBF,EAAQ,WAAaG,EAAAA,aACrBH,EAAQ,YAAc,EACxB,CAEA,SAAgB,CACd,KAAK,aAAa,QAAA,EAClB,KAAK,SAAS,QAAA,CAChB,CAEA,OAAOI,EAAyBC,EAA0B,CACxD,GAAK,KAAK,YAGV,MAAK,YAAc,GAInB,QAASC,EAAQ,EAAGA,EAAQ,KAAK,KAAM,EAAEA,EACvC,KAAK,SAAS,SAAS,MAAM,MAAQA,EAAQ,KAAK,KAClDF,EAAS,gBAAgB,KAAK,aAAcE,CAAK,EACjDF,EAAS,OAAO,KAAK,KAAM,KAAK,MAAM,EAExCA,EAAS,gBAAgB,IAAI,EAC/B,CAEA,IAAI,SAAyB,CAC3B,OAAO,KAAK,aAAa,OAC3B,CACF,CC3FA,MAAAG,EAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECAfC,EAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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"}
package/build/index.js CHANGED
@@ -4,8 +4,14 @@ import { resolveIncludes as r } from "@takram/three-geospatial";
4
4
  import { math as c } from "@takram/three-geospatial/shaders";
5
5
  import { Camera as g, RawShaderMaterial as f, Uniform as p, GLSL3 as v, Mesh as u, PlaneGeometry as y, WebGL3DRenderTarget as E, RedFormat as I, LinearFilter as l, RepeatWrapping as i, NoColorSpace as d, WebGLRenderTarget as R, RGBAFormat as x, LinearMipMapLinearFilter as O } from "three";
6
6
  class T {
7
+ size;
8
+ needsRender = !0;
9
+ material;
10
+ mesh;
11
+ renderTarget;
12
+ camera = new g();
7
13
  constructor({ size: e, fragmentShader: o }) {
8
- this.needsRender = !0, this.camera = new g(), this.size = e, this.material = new f({
14
+ this.size = e, this.material = new f({
9
15
  glslVersion: v,
10
16
  vertexShader: (
11
17
  /* glsl */
@@ -122,7 +128,7 @@ void main() {
122
128
  float worleyFbm = getWorleyFbm(point);
123
129
  outputColor = remap(perlinWorley, worleyFbm - 1.0, 1.0);
124
130
  }
125
- `, s = `// Ported from GLM: https://github.com/g-truc/glm/blob/master/glm/gtc/noise.inl
131
+ `, a = `// Ported from GLM: https://github.com/g-truc/glm/blob/master/glm/gtc/noise.inl
126
132
 
127
133
  /**
128
134
  * OpenGL Mathematics (GLM)
@@ -333,7 +339,7 @@ float perlin(const vec4 position, const vec4 rep) {
333
339
  float n_xyzw = mix(n_yzw.x, n_yzw.y, fade_xyzw.x);
334
340
  return 2.2 * n_xyzw;
335
341
  }
336
- `, a = `// Based on the following work with slight modifications.
342
+ `, s = `// Based on the following work with slight modifications.
337
343
  // https://github.com/sebh/TileableVolumeNoise
338
344
 
339
345
  /**
@@ -428,8 +434,8 @@ class b extends T {
428
434
  size: m,
429
435
  fragmentShader: r(N, {
430
436
  core: { math: c },
431
- perlin: s,
432
- tileableNoise: a
437
+ perlin: a,
438
+ tileableNoise: s
433
439
  })
434
440
  });
435
441
  }
@@ -497,15 +503,21 @@ class F extends T {
497
503
  size: w,
498
504
  fragmentShader: r(S, {
499
505
  core: { math: c },
500
- perlin: s,
501
- tileableNoise: a
506
+ perlin: a,
507
+ tileableNoise: s
502
508
  })
503
509
  });
504
510
  }
505
511
  }
506
512
  class h {
513
+ size;
514
+ needsRender = !0;
515
+ material;
516
+ mesh;
517
+ renderTarget;
518
+ camera = new g();
507
519
  constructor({ size: e, fragmentShader: o }) {
508
- this.needsRender = !0, this.camera = new g(), this.size = e, this.material = new f({
520
+ this.size = e, this.material = new f({
509
521
  glslVersion: v,
510
522
  vertexShader: (
511
523
  /* glsl */
@@ -629,8 +641,8 @@ class U extends h {
629
641
  size: 512,
630
642
  fragmentShader: r(A, {
631
643
  core: { math: c },
632
- perlin: s,
633
- tileableNoise: a
644
+ perlin: a,
645
+ tileableNoise: s
634
646
  })
635
647
  });
636
648
  }
@@ -693,8 +705,8 @@ class W extends h {
693
705
  size: 128,
694
706
  fragmentShader: r(P, {
695
707
  core: { math: c },
696
- perlin: s,
697
- tileableNoise: a
708
+ perlin: a,
709
+ tileableNoise: s
698
710
  })
699
711
  });
700
712
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/Procedural3DTexture.ts","../src/shaders/cloudShape.frag?raw","../src/shaders/perlin.glsl?raw","../src/shaders/tileableNoise.glsl?raw","../src/CloudShape.ts","../src/shaders/cloudShapeDetail.frag?raw","../src/CloudShapeDetail.ts","../src/ProceduralTexture.ts","../src/shaders/localWeather.frag?raw","../src/LocalWeather.ts","../src/shaders/turbulence.frag?raw","../src/Turbulence.ts"],"sourcesContent":null,"names":["Procedural3DTextureBase","size","fragmentShader","Camera","RawShaderMaterial","GLSL3","Uniform","Mesh","PlaneGeometry","WebGL3DRenderTarget","RedFormat","texture","LinearFilter","RepeatWrapping","NoColorSpace","renderer","deltaTime","layer","fragmentShader$3","perlin","tileableNoise","CloudShape","CLOUD_SHAPE_TEXTURE_SIZE","resolveIncludes","math","fragmentShader$2","CloudShapeDetail","CLOUD_SHAPE_DETAIL_TEXTURE_SIZE","ProceduralTextureBase","WebGLRenderTarget","RGBAFormat","LinearMipMapLinearFilter","fragmentShader$1","LocalWeather","Turbulence"],"mappings":";;;;;AAyBO,MAAMA,EAAuD;AAAA,EASlE,YAAY,EAAE,MAAAC,GAAM,gBAAAC,KAAqD;AAPzE,SAAA,cAAc,IAKd,KAAiB,SAAS,IAAIC,EAAA,GAG5B,KAAK,OAAOF,GACZ,KAAK,WAAW,IAAIG,EAAkB;AAAA,MACpC,aAAaC;AAAA,MACb;AAAA;AAAA,QAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQzB,gBAAAH;AAAA,MACA,UAAU;AAAA,QACR,OAAO,IAAII,EAAQ,CAAC;AAAA,MAAA;AAAA,IACtB,CACD,GACD,KAAK,OAAO,IAAIC,EAAK,IAAIC,EAAc,GAAG,CAAC,GAAG,KAAK,QAAQ,GAE3D,KAAK,eAAe,IAAIC,EAAoBR,GAAMA,GAAMA,GAAM;AAAA,MAC5D,aAAa;AAAA,MACb,QAAQS;AAAA,IAAA,CACT;AACD,UAAMC,IAAU,KAAK,aAAa;AAClC,IAAAA,EAAQ,YAAYC,GACpBD,EAAQ,YAAYC,GACpBD,EAAQ,QAAQE,GAChBF,EAAQ,QAAQE,GAChBF,EAAQ,QAAQE,GAChBF,EAAQ,aAAaG,GACrBH,EAAQ,cAAc;AAAA,EAAA;AAAA,EAGxB,UAAgB;AACd,SAAK,aAAa,QAAA,GAClB,KAAK,SAAS,QAAA;AAAA,EAAQ;AAAA,EAGxB,OAAOI,GAAyBC,GAA0B;AACxD,QAAK,KAAK,aAGV;AAAA,WAAK,cAAc;AAInB,eAASC,IAAQ,GAAGA,IAAQ,KAAK,MAAM,EAAEA;AACvC,aAAK,SAAS,SAAS,MAAM,QAAQA,IAAQ,KAAK,MAClDF,EAAS,gBAAgB,KAAK,cAAcE,CAAK,GACjDF,EAAS,OAAO,KAAK,MAAM,KAAK,MAAM;AAExC,MAAAA,EAAS,gBAAgB,IAAI;AAAA;AAAA,EAAA;AAAA,EAG/B,IAAI,UAAyB;AAC3B,WAAO,KAAK,aAAa;AAAA,EAAA;AAE7B;AC3FA,MAAAG,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCAfC,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA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"}
1
+ {"version":3,"file":"index.js","sources":["../src/Procedural3DTexture.ts","../src/shaders/cloudShape.frag?raw","../src/shaders/perlin.glsl?raw","../src/shaders/tileableNoise.glsl?raw","../src/CloudShape.ts","../src/shaders/cloudShapeDetail.frag?raw","../src/CloudShapeDetail.ts","../src/ProceduralTexture.ts","../src/shaders/localWeather.frag?raw","../src/LocalWeather.ts","../src/shaders/turbulence.frag?raw","../src/Turbulence.ts"],"sourcesContent":null,"names":["Procedural3DTextureBase","Camera","size","fragmentShader","RawShaderMaterial","GLSL3","Uniform","Mesh","PlaneGeometry","WebGL3DRenderTarget","RedFormat","texture","LinearFilter","RepeatWrapping","NoColorSpace","renderer","deltaTime","layer","fragmentShader$3","perlin","tileableNoise","CloudShape","CLOUD_SHAPE_TEXTURE_SIZE","resolveIncludes","math","fragmentShader$2","CloudShapeDetail","CLOUD_SHAPE_DETAIL_TEXTURE_SIZE","ProceduralTextureBase","WebGLRenderTarget","RGBAFormat","LinearMipMapLinearFilter","fragmentShader$1","LocalWeather","Turbulence"],"mappings":";;;;;AAyBO,MAAMA,EAAuD;AAAA,EACzD;AAAA,EACT,cAAc;AAAA,EAEG;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS,IAAIC,EAAA;AAAA,EAE9B,YAAY,EAAE,MAAAC,GAAM,gBAAAC,KAAqD;AACvE,SAAK,OAAOD,GACZ,KAAK,WAAW,IAAIE,EAAkB;AAAA,MACpC,aAAaC;AAAA,MACb;AAAA;AAAA,QAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQzB,gBAAAF;AAAA,MACA,UAAU;AAAA,QACR,OAAO,IAAIG,EAAQ,CAAC;AAAA,MAAA;AAAA,IACtB,CACD,GACD,KAAK,OAAO,IAAIC,EAAK,IAAIC,EAAc,GAAG,CAAC,GAAG,KAAK,QAAQ,GAE3D,KAAK,eAAe,IAAIC,EAAoBP,GAAMA,GAAMA,GAAM;AAAA,MAC5D,aAAa;AAAA,MACb,QAAQQ;AAAA,IAAA,CACT;AACD,UAAMC,IAAU,KAAK,aAAa;AAClC,IAAAA,EAAQ,YAAYC,GACpBD,EAAQ,YAAYC,GACpBD,EAAQ,QAAQE,GAChBF,EAAQ,QAAQE,GAChBF,EAAQ,QAAQE,GAChBF,EAAQ,aAAaG,GACrBH,EAAQ,cAAc;AAAA,EACxB;AAAA,EAEA,UAAgB;AACd,SAAK,aAAa,QAAA,GAClB,KAAK,SAAS,QAAA;AAAA,EAChB;AAAA,EAEA,OAAOI,GAAyBC,GAA0B;AACxD,QAAK,KAAK,aAGV;AAAA,WAAK,cAAc;AAInB,eAASC,IAAQ,GAAGA,IAAQ,KAAK,MAAM,EAAEA;AACvC,aAAK,SAAS,SAAS,MAAM,QAAQA,IAAQ,KAAK,MAClDF,EAAS,gBAAgB,KAAK,cAAcE,CAAK,GACjDF,EAAS,OAAO,KAAK,MAAM,KAAK,MAAM;AAExC,MAAAA,EAAS,gBAAgB,IAAI;AAAA;AAAA,EAC/B;AAAA,EAEA,IAAI,UAAyB;AAC3B,WAAO,KAAK,aAAa;AAAA,EAC3B;AACF;AC3FA,MAAAG,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCAfC,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA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"}
package/build/r3f.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("react/jsx-runtime"),C=require("@react-three/fiber"),M=require("@react-three/postprocessing"),r=require("react"),l=require("three"),m=require("@takram/three-atmosphere/r3f"),T=require("@takram/three-geospatial"),u=require("./shared.cjs"),D=r.createContext(null),O=({layers:e,disableDefault:t=!1,children:n})=>{const[a,d]=r.useState();return r.useLayoutEffect(()=>{e.set(t?Array(4).fill(u.CloudLayer.DEFAULT):u.CloudLayers.DEFAULT),d({layers:e,indexPool:[0,1,2,3],disableDefault:t})},[e,t]),a!=null&&h.jsx(D.Provider,{value:a,children:n})};function g(e,t){const n=r.useMemo(()=>typeof e=="string"?new l.TextureLoader().load(e,a=>{a.minFilter=l.LinearMipMapLinearFilter,a.magFilter=l.LinearFilter,a.wrapS=l.RepeatWrapping,a.wrapT=l.RepeatWrapping,a.colorSpace=l.NoColorSpace,a.needsUpdate=!0}):void 0,[e]);return r.useEffect(()=>{if(n!=null)return()=>{n.dispose()}},[n]),(typeof e=="string"?n:e)??null}function S(e,t){const n=r.useMemo(()=>typeof e=="string"?new T.DataTextureLoader(l.Data3DTexture,T.parseUint8Array,{width:t,height:t,depth:t,format:l.RedFormat,minFilter:l.LinearFilter,magFilter:l.LinearFilter,wrapS:l.RepeatWrapping,wrapT:l.RepeatWrapping,wrapR:l.RepeatWrapping,colorSpace:l.NoColorSpace}).load(e):void 0,[e,t]);return r.useEffect(()=>{if(n!=null)return()=>{n.dispose()}},[n]),(typeof e=="string"?n:e)??null}function q(e){const t=r.useMemo(()=>typeof e=="string"?new T.STBNLoader().load(e):void 0,[e]);return r.useEffect(()=>{if(t!=null)return()=>{t.dispose()}},[t]),(typeof e=="string"?t:e)??null}const P=({ref:e,disableDefaultLayers:t=!1,localWeatherTexture:n=u.DEFAULT_LOCAL_WEATHER_URL,shapeTexture:a=u.DEFAULT_SHAPE_URL,shapeDetailTexture:d=u.DEFAULT_SHAPE_DETAIL_URL,turbulenceTexture:p=u.DEFAULT_TURBULENCE_URL,stbnTexture:L=T.DEFAULT_STBN_URL,children:c,...f})=>{const{textures:i,transientStates:o,...E}=r.useContext(m.AtmosphereContext),[U,w]=m.separateProps({...u.cloudsPassOptionsDefaults,...E,...i,...f}),s=r.useMemo(()=>new u.CloudsEffect,[]);r.useEffect(()=>()=>{s.dispose()},[s]),C.useFrame(()=>{o!=null&&(s.sunDirection.copy(o.sunDirection),s.ellipsoidCenter.copy(o.ellipsoidCenter),s.ellipsoidMatrix.copy(o.ellipsoidMatrix))}),r.useEffect(()=>{if(o!=null)return o.overlay=s.atmosphereOverlay,o.shadow=s.atmosphereShadow,o.shadowLength=s.atmosphereShadowLength,()=>{o.overlay=null,o.shadow=null,o.shadowLength=null}},[s,o]);const y=r.useCallback(x=>{if(o!=null)switch(x.property){case"atmosphereOverlay":o.overlay=s.atmosphereOverlay;break;case"atmosphereShadow":o.shadow=s.atmosphereShadow;break;case"atmosphereShadowLength":o.shadowLength=s.atmosphereShadowLength;break}},[s,o]);r.useEffect(()=>(s.events.addEventListener("change",y),()=>{s.events.removeEventListener("change",y)}),[s,y]),C.useThree(({gl:x})=>x);const A=g(n),F=S(a,u.CLOUD_SHAPE_TEXTURE_SIZE),v=S(d,u.CLOUD_SHAPE_DETAIL_TEXTURE_SIZE),_=g(p),b=q(L),{camera:R}=r.useContext(M.EffectComposerContext);return h.jsxs(h.Fragment,{children:[h.jsx("primitive",{ref:e,object:s,mainCamera:R,...U,localWeatherTexture:A,shapeTexture:F,shapeDetailTexture:v,turbulenceTexture:_,stbnTexture:b,...w}),h.jsx(O,{layers:s.cloudLayers,disableDefault:t,children:c})]})},W=({ref:e,index:t,...n})=>{const a=r.useContext(D);if(a==null)throw new Error("CloudLayer can only be used within the Clouds component!");const{layers:d,indexPool:p,disableDefault:L}=a,[c,f]=r.useState();if(r.useLayoutEffect(()=>{if(t!=null){const i=p.indexOf(t);if(i!==-1)return p.splice(i,1),f(t),()=>{p.push(t),f(void 0)}}else{const i=p.sort((o,E)=>o-E).shift();if(i!=null)return f(i),()=>{p.push(i),f(void 0)}}},[t,d,p]),r.useLayoutEffect(()=>{if(c==null)return;const i=d[c];return()=>{i.copy(L?u.CloudLayer.DEFAULT:u.CloudLayers.DEFAULT[c])}},[d,c,L]),r.useEffect(()=>{c!=null&&(typeof e=="function"?e(d[c]):e!=null&&(e.current=d[c]))},[e,d,c]),c!=null){const i=d[c];i.copy(L?u.CloudLayer.DEFAULT:u.CloudLayers.DEFAULT[c]),i.set(n)}return null};exports.CloudLayer=W;exports.Clouds=P;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("react/jsx-runtime"),C=require("@react-three/fiber"),M=require("@react-three/postprocessing"),r=require("react"),l=require("three"),m=require("@takram/three-atmosphere/r3f"),T=require("@takram/three-geospatial"),u=require("./shared.cjs"),w=r.createContext(null),O=({layers:e,disableDefault:t=!1,children:n})=>{const[a,d]=r.useState();return r.useLayoutEffect(()=>{e.set(t?Array(4).fill(u.CloudLayer.DEFAULT):u.CloudLayers.DEFAULT),d({layers:e,indexPool:[0,1,2,3],disableDefault:t})},[e,t]),a!=null&&h.jsx(w.Provider,{value:a,children:n})};function g(e,t){const n=r.useMemo(()=>typeof e=="string"?new l.TextureLoader().load(e,a=>{a.minFilter=l.LinearMipMapLinearFilter,a.magFilter=l.LinearFilter,a.wrapS=l.RepeatWrapping,a.wrapT=l.RepeatWrapping,a.colorSpace=l.NoColorSpace,a.needsUpdate=!0}):void 0,[e]);return r.useEffect(()=>{if(n!=null)return()=>{n.dispose()}},[n]),(typeof e=="string"?n:e)??null}function S(e,t){const n=r.useMemo(()=>typeof e=="string"?new T.DataTextureLoader(l.Data3DTexture,T.parseUint8Array,{width:t,height:t,depth:t,format:l.RedFormat,minFilter:l.LinearFilter,magFilter:l.LinearFilter,wrapS:l.RepeatWrapping,wrapT:l.RepeatWrapping,wrapR:l.RepeatWrapping,colorSpace:l.NoColorSpace}).load(e):void 0,[e,t]);return r.useEffect(()=>{if(n!=null)return()=>{n.dispose()}},[n]),(typeof e=="string"?n:e)??null}function q(e){const t=r.useMemo(()=>typeof e=="string"?new T.STBNLoader().load(e):void 0,[e]);return r.useEffect(()=>{if(t!=null)return()=>{t.dispose()}},[t]),(typeof e=="string"?t:e)??null}const P=({ref:e,disableDefaultLayers:t=!1,localWeatherTexture:n=u.DEFAULT_LOCAL_WEATHER_URL,shapeTexture:a=u.DEFAULT_SHAPE_URL,shapeDetailTexture:d=u.DEFAULT_SHAPE_DETAIL_URL,turbulenceTexture:p=u.DEFAULT_TURBULENCE_URL,stbnTexture:L=T.DEFAULT_STBN_URL,children:c,...f})=>{const{textures:i,transientStates:o,...E}=r.useContext(m.AtmosphereContext),[D,F]=m.separateProps({...u.cloudsPassOptionsDefaults,...E,...i,...f}),s=r.useMemo(()=>new u.CloudsEffect,[]);r.useEffect(()=>()=>{s.dispose()},[s]),C.useFrame(()=>{o!=null&&(s.sunDirection.copy(o.sunDirection),s.worldToECEFMatrix.copy(o.worldToECEFMatrix))}),r.useEffect(()=>{if(o!=null)return o.overlay=s.atmosphereOverlay,o.shadow=s.atmosphereShadow,o.shadowLength=s.atmosphereShadowLength,()=>{o.overlay=null,o.shadow=null,o.shadowLength=null}},[s,o]);const y=r.useCallback(x=>{if(o!=null)switch(x.property){case"atmosphereOverlay":o.overlay=s.atmosphereOverlay;break;case"atmosphereShadow":o.shadow=s.atmosphereShadow;break;case"atmosphereShadowLength":o.shadowLength=s.atmosphereShadowLength;break}},[s,o]);r.useEffect(()=>(s.events.addEventListener("change",y),()=>{s.events.removeEventListener("change",y)}),[s,y]),C.useThree(({gl:x})=>x);const U=g(n),A=S(a,u.CLOUD_SHAPE_TEXTURE_SIZE),v=S(d,u.CLOUD_SHAPE_DETAIL_TEXTURE_SIZE),_=g(p),b=q(L),{camera:R}=r.useContext(M.EffectComposerContext);return h.jsxs(h.Fragment,{children:[h.jsx("primitive",{ref:e,object:s,mainCamera:R,...D,localWeatherTexture:U,shapeTexture:A,shapeDetailTexture:v,turbulenceTexture:_,stbnTexture:b,...F}),h.jsx(O,{layers:s.cloudLayers,disableDefault:t,children:c})]})},W=({ref:e,index:t,...n})=>{const a=r.useContext(w);if(a==null)throw new Error("CloudLayer can only be used within the Clouds component!");const{layers:d,indexPool:p,disableDefault:L}=a,[c,f]=r.useState();if(r.useLayoutEffect(()=>{if(t!=null){const i=p.indexOf(t);if(i!==-1)return p.splice(i,1),f(t),()=>{p.push(t),f(void 0)}}else{const i=p.sort((o,E)=>o-E).shift();if(i!=null)return f(i),()=>{p.push(i),f(void 0)}}},[t,d,p]),r.useLayoutEffect(()=>{if(c==null)return;const i=d[c];return()=>{i.copy(L?u.CloudLayer.DEFAULT:u.CloudLayers.DEFAULT[c])}},[d,c,L]),r.useEffect(()=>{c!=null&&(typeof e=="function"?e(d[c]):e!=null&&(e.current=d[c]))},[e,d,c]),c!=null){const i=d[c];i.copy(L?u.CloudLayer.DEFAULT:u.CloudLayers.DEFAULT[c]),i.set(n)}return null};exports.CloudLayer=W;exports.Clouds=P;
2
2
  //# sourceMappingURL=r3f.cjs.map
package/build/r3f.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"r3f.cjs","sources":["../src/r3f/CloudLayers.tsx","../src/r3f/Clouds.tsx","../src/r3f/CloudLayer.tsx"],"sourcesContent":null,"names":["CloudLayersContext","CloudLayers","layers","disableDefault","children","context","setContext","useState","useLayoutEffect","CloudLayer","CloudLayersImpl","jsx","useLoadTexture","input","gl","loadedTexture","useMemo","TextureLoader","texture","LinearMipMapLinearFilter","LinearFilter","RepeatWrapping","NoColorSpace","useEffect","useLoad3DTexture","size","DataTextureLoader","Data3DTexture","parseUint8Array","RedFormat","useLoadSTBNTexture","STBNLoader","Clouds","forwardedRef","disableDefaultLayers","localWeatherTextureProp","DEFAULT_LOCAL_WEATHER_URL","shapeTextureProp","DEFAULT_SHAPE_URL","shapeDetailTextureProp","DEFAULT_SHAPE_DETAIL_URL","turbulenceTextureProp","DEFAULT_TURBULENCE_URL","stbnTextureProp","DEFAULT_STBN_URL","props","textures","transientStates","contextProps","useContext","AtmosphereContext","atmosphereParameters","others","separateProps","cloudsPassOptionsDefaults","effect","CloudsEffect","useFrame","handleChange","useCallback","event","useThree","localWeatherTexture","shapeTexture","CLOUD_SHAPE_TEXTURE_SIZE","shapeDetailTexture","CLOUD_SHAPE_DETAIL_TEXTURE_SIZE","turbulenceTexture","stbnTexture","camera","EffectComposerContext","jsxs","Fragment","indexProp","indexPool","index","setIndex","poolIndex","a","b","layer","CloudLayerImpl"],"mappings":"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"}
1
+ {"version":3,"file":"r3f.cjs","sources":["../src/r3f/CloudLayers.tsx","../src/r3f/Clouds.tsx","../src/r3f/CloudLayer.tsx"],"sourcesContent":null,"names":["CloudLayersContext","CloudLayers","layers","disableDefault","children","context","setContext","useState","useLayoutEffect","CloudLayer","CloudLayersImpl","jsx","useLoadTexture","input","gl","loadedTexture","useMemo","TextureLoader","texture","LinearMipMapLinearFilter","LinearFilter","RepeatWrapping","NoColorSpace","useEffect","useLoad3DTexture","size","DataTextureLoader","Data3DTexture","parseUint8Array","RedFormat","useLoadSTBNTexture","STBNLoader","Clouds","forwardedRef","disableDefaultLayers","localWeatherTextureProp","DEFAULT_LOCAL_WEATHER_URL","shapeTextureProp","DEFAULT_SHAPE_URL","shapeDetailTextureProp","DEFAULT_SHAPE_DETAIL_URL","turbulenceTextureProp","DEFAULT_TURBULENCE_URL","stbnTextureProp","DEFAULT_STBN_URL","props","textures","transientStates","contextProps","useContext","AtmosphereContext","atmosphereParameters","others","separateProps","cloudsPassOptionsDefaults","effect","CloudsEffect","useFrame","handleChange","useCallback","event","useThree","localWeatherTexture","shapeTexture","CLOUD_SHAPE_TEXTURE_SIZE","shapeDetailTexture","CLOUD_SHAPE_DETAIL_TEXTURE_SIZE","turbulenceTexture","stbnTexture","camera","EffectComposerContext","jsxs","Fragment","indexProp","indexPool","index","setIndex","poolIndex","a","b","layer","CloudLayerImpl"],"mappings":"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"}
package/build/r3f.js CHANGED
@@ -1,42 +1,42 @@
1
1
  import { jsx as E, jsxs as M, Fragment as N } from "react/jsx-runtime";
2
2
  import { useFrame as k, useThree as B } from "@react-three/fiber";
3
3
  import { EffectComposerContext as W } from "@react-three/postprocessing";
4
- import { createContext as j, useState as A, useLayoutEffect as x, useContext as y, useMemo as L, useEffect as c, useCallback as X } from "react";
5
- import { TextureLoader as Z, LinearMipMapLinearFilter as $, LinearFilter as C, RepeatWrapping as h, NoColorSpace as S, Data3DTexture as q, RedFormat as G } from "three";
4
+ import { createContext as j, useState as A, useLayoutEffect as x, useContext as y, useMemo as L, useEffect as i, useCallback as X } from "react";
5
+ import { TextureLoader as Z, LinearMipMapLinearFilter as $, LinearFilter as C, RepeatWrapping as p, NoColorSpace as F, Data3DTexture as q, RedFormat as G } from "three";
6
6
  import { AtmosphereContext as J, separateProps as K } from "@takram/three-atmosphere/r3f";
7
7
  import { DEFAULT_STBN_URL as Q, DataTextureLoader as V, parseUint8Array as Y, STBNLoader as z } from "@takram/three-geospatial";
8
- import { c as D, b as U, d as ee, e as te, D as re, f as oe, g as se, h as ne, a as ae, C as le } from "./shared.js";
9
- const F = /* @__PURE__ */ j(null), ue = ({
8
+ import { c as D, b as w, d as ee, e as te, D as re, f as oe, g as se, h as ae, a as ne, C as le } from "./shared.js";
9
+ const S = /* @__PURE__ */ j(null), ue = ({
10
10
  layers: e,
11
11
  disableDefault: t = !1,
12
12
  children: s
13
13
  }) => {
14
- const [n, u] = A();
14
+ const [a, u] = A();
15
15
  return x(() => {
16
16
  e.set(
17
- t ? Array(4).fill(U.DEFAULT) : D.DEFAULT
17
+ t ? Array(4).fill(w.DEFAULT) : D.DEFAULT
18
18
  ), u({
19
19
  layers: e,
20
20
  indexPool: [0, 1, 2, 3],
21
21
  disableDefault: t
22
22
  });
23
- }, [e, t]), n != null && /* @__PURE__ */ E(F.Provider, { value: n, children: s });
23
+ }, [e, t]), a != null && /* @__PURE__ */ E(S.Provider, { value: a, children: s });
24
24
  };
25
- function g(e, t) {
25
+ function U(e, t) {
26
26
  const s = L(
27
- () => typeof e == "string" ? new Z().load(e, (n) => {
28
- n.minFilter = $, n.magFilter = C, n.wrapS = h, n.wrapT = h, n.colorSpace = S, n.needsUpdate = !0;
27
+ () => typeof e == "string" ? new Z().load(e, (a) => {
28
+ a.minFilter = $, a.magFilter = C, a.wrapS = p, a.wrapT = p, a.colorSpace = F, a.needsUpdate = !0;
29
29
  }) : void 0,
30
30
  [e]
31
31
  );
32
- return c(() => {
32
+ return i(() => {
33
33
  if (s != null)
34
34
  return () => {
35
35
  s.dispose();
36
36
  };
37
37
  }, [s]), (typeof e == "string" ? s : e) ?? null;
38
38
  }
39
- function w(e, t) {
39
+ function g(e, t) {
40
40
  const s = L(
41
41
  () => typeof e == "string" ? new V(q, Y, {
42
42
  width: t,
@@ -45,26 +45,26 @@ function w(e, t) {
45
45
  format: G,
46
46
  minFilter: C,
47
47
  magFilter: C,
48
- wrapS: h,
49
- wrapT: h,
50
- wrapR: h,
51
- colorSpace: S
48
+ wrapS: p,
49
+ wrapT: p,
50
+ wrapR: p,
51
+ colorSpace: F
52
52
  }).load(e) : void 0,
53
53
  [e, t]
54
54
  );
55
- return c(() => {
55
+ return i(() => {
56
56
  if (s != null)
57
57
  return () => {
58
58
  s.dispose();
59
59
  };
60
60
  }, [s]), (typeof e == "string" ? s : e) ?? null;
61
61
  }
62
- function ie(e) {
62
+ function ce(e) {
63
63
  const t = L(
64
64
  () => typeof e == "string" ? new z().load(e) : void 0,
65
65
  [e]
66
66
  );
67
- return c(() => {
67
+ return i(() => {
68
68
  if (t != null)
69
69
  return () => {
70
70
  t.dispose();
@@ -75,11 +75,11 @@ const Ee = ({
75
75
  ref: e,
76
76
  disableDefaultLayers: t = !1,
77
77
  localWeatherTexture: s = re,
78
- shapeTexture: n = oe,
78
+ shapeTexture: a = oe,
79
79
  shapeDetailTexture: u = se,
80
- turbulenceTexture: i = ne,
81
- stbnTexture: p = Q,
82
- children: a,
80
+ turbulenceTexture: c = ae,
81
+ stbnTexture: h = Q,
82
+ children: n,
83
83
  ...d
84
84
  }) => {
85
85
  const { textures: l, transientStates: r, ...f } = y(J), [v, _] = K({
@@ -88,20 +88,20 @@ const Ee = ({
88
88
  ...l,
89
89
  ...d
90
90
  }), o = L(() => new te(), []);
91
- c(() => () => {
91
+ i(() => () => {
92
92
  o.dispose();
93
93
  }, [o]), k(() => {
94
- r != null && (o.sunDirection.copy(r.sunDirection), o.ellipsoidCenter.copy(r.ellipsoidCenter), o.ellipsoidMatrix.copy(r.ellipsoidMatrix));
95
- }), c(() => {
94
+ r != null && (o.sunDirection.copy(r.sunDirection), o.worldToECEFMatrix.copy(r.worldToECEFMatrix));
95
+ }), i(() => {
96
96
  if (r != null)
97
97
  return r.overlay = o.atmosphereOverlay, r.shadow = o.atmosphereShadow, r.shadowLength = o.atmosphereShadowLength, () => {
98
98
  r.overlay = null, r.shadow = null, r.shadowLength = null;
99
99
  };
100
100
  }, [o, r]);
101
- const m = X(
102
- (T) => {
101
+ const T = X(
102
+ (m) => {
103
103
  if (r != null)
104
- switch (T.property) {
104
+ switch (m.property) {
105
105
  case "atmosphereOverlay":
106
106
  r.overlay = o.atmosphereOverlay;
107
107
  break;
@@ -115,16 +115,16 @@ const Ee = ({
115
115
  },
116
116
  [o, r]
117
117
  );
118
- c(() => (o.events.addEventListener("change", m), () => {
119
- o.events.removeEventListener("change", m);
120
- }), [o, m]), B(({ gl: T }) => T);
121
- const b = g(s), O = w(
122
- n,
118
+ i(() => (o.events.addEventListener("change", T), () => {
119
+ o.events.removeEventListener("change", T);
120
+ }), [o, T]), B(({ gl: m }) => m);
121
+ const b = U(s), O = g(
122
+ a,
123
123
  le
124
- ), R = w(
124
+ ), R = g(
125
125
  u,
126
- ae
127
- ), P = g(i), I = ie(p), { camera: H } = y(W);
126
+ ne
127
+ ), P = U(c), I = ce(h), { camera: H } = y(W);
128
128
  return /* @__PURE__ */ M(N, { children: [
129
129
  /* @__PURE__ */ E(
130
130
  "primitive",
@@ -146,7 +146,7 @@ const Ee = ({
146
146
  {
147
147
  layers: o.cloudLayers,
148
148
  disableDefault: t,
149
- children: a
149
+ children: n
150
150
  }
151
151
  )
152
152
  ] });
@@ -155,39 +155,39 @@ const Ee = ({
155
155
  index: t,
156
156
  ...s
157
157
  }) => {
158
- const n = y(F);
159
- if (n == null)
158
+ const a = y(S);
159
+ if (a == null)
160
160
  throw new Error("CloudLayer can only be used within the Clouds component!");
161
- const { layers: u, indexPool: i, disableDefault: p } = n, [a, d] = A();
161
+ const { layers: u, indexPool: c, disableDefault: h } = a, [n, d] = A();
162
162
  if (x(() => {
163
163
  if (t != null) {
164
- const l = i.indexOf(t);
164
+ const l = c.indexOf(t);
165
165
  if (l !== -1)
166
- return i.splice(l, 1), d(t), () => {
167
- i.push(t), d(void 0);
166
+ return c.splice(l, 1), d(t), () => {
167
+ c.push(t), d(void 0);
168
168
  };
169
169
  } else {
170
- const l = i.sort((r, f) => r - f).shift();
170
+ const l = c.sort((r, f) => r - f).shift();
171
171
  if (l != null)
172
172
  return d(l), () => {
173
- i.push(l), d(void 0);
173
+ c.push(l), d(void 0);
174
174
  };
175
175
  }
176
- }, [t, u, i]), x(() => {
177
- if (a == null)
176
+ }, [t, u, c]), x(() => {
177
+ if (n == null)
178
178
  return;
179
- const l = u[a];
179
+ const l = u[n];
180
180
  return () => {
181
181
  l.copy(
182
- p ? U.DEFAULT : D.DEFAULT[a]
182
+ h ? w.DEFAULT : D.DEFAULT[n]
183
183
  );
184
184
  };
185
- }, [u, a, p]), c(() => {
186
- a != null && (typeof e == "function" ? e(u[a]) : e != null && (e.current = u[a]));
187
- }, [e, u, a]), a != null) {
188
- const l = u[a];
185
+ }, [u, n, h]), i(() => {
186
+ n != null && (typeof e == "function" ? e(u[n]) : e != null && (e.current = u[n]));
187
+ }, [e, u, n]), n != null) {
188
+ const l = u[n];
189
189
  l.copy(
190
- p ? U.DEFAULT : D.DEFAULT[a]
190
+ h ? w.DEFAULT : D.DEFAULT[n]
191
191
  ), l.set(s);
192
192
  }
193
193
  return null;
package/build/r3f.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"r3f.js","sources":["../src/r3f/CloudLayers.tsx","../src/r3f/Clouds.tsx","../src/r3f/CloudLayer.tsx"],"sourcesContent":null,"names":["CloudLayersContext","CloudLayers","layers","disableDefault","children","context","setContext","useState","useLayoutEffect","CloudLayer","CloudLayersImpl","jsx","useLoadTexture","input","gl","loadedTexture","useMemo","TextureLoader","texture","LinearMipMapLinearFilter","LinearFilter","RepeatWrapping","NoColorSpace","useEffect","useLoad3DTexture","size","DataTextureLoader","Data3DTexture","parseUint8Array","RedFormat","useLoadSTBNTexture","STBNLoader","Clouds","forwardedRef","disableDefaultLayers","localWeatherTextureProp","DEFAULT_LOCAL_WEATHER_URL","shapeTextureProp","DEFAULT_SHAPE_URL","shapeDetailTextureProp","DEFAULT_SHAPE_DETAIL_URL","turbulenceTextureProp","DEFAULT_TURBULENCE_URL","stbnTextureProp","DEFAULT_STBN_URL","props","textures","transientStates","contextProps","useContext","AtmosphereContext","atmosphereParameters","others","separateProps","cloudsPassOptionsDefaults","effect","CloudsEffect","useFrame","handleChange","useCallback","event","useThree","localWeatherTexture","shapeTexture","CLOUD_SHAPE_TEXTURE_SIZE","shapeDetailTexture","CLOUD_SHAPE_DETAIL_TEXTURE_SIZE","turbulenceTexture","stbnTexture","camera","EffectComposerContext","jsxs","Fragment","indexProp","indexPool","index","setIndex","poolIndex","a","b","layer","CloudLayerImpl"],"mappings":"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"}
1
+ {"version":3,"file":"r3f.js","sources":["../src/r3f/CloudLayers.tsx","../src/r3f/Clouds.tsx","../src/r3f/CloudLayer.tsx"],"sourcesContent":null,"names":["CloudLayersContext","CloudLayers","layers","disableDefault","children","context","setContext","useState","useLayoutEffect","CloudLayer","CloudLayersImpl","jsx","useLoadTexture","input","gl","loadedTexture","useMemo","TextureLoader","texture","LinearMipMapLinearFilter","LinearFilter","RepeatWrapping","NoColorSpace","useEffect","useLoad3DTexture","size","DataTextureLoader","Data3DTexture","parseUint8Array","RedFormat","useLoadSTBNTexture","STBNLoader","Clouds","forwardedRef","disableDefaultLayers","localWeatherTextureProp","DEFAULT_LOCAL_WEATHER_URL","shapeTextureProp","DEFAULT_SHAPE_URL","shapeDetailTextureProp","DEFAULT_SHAPE_DETAIL_URL","turbulenceTextureProp","DEFAULT_TURBULENCE_URL","stbnTextureProp","DEFAULT_STBN_URL","props","textures","transientStates","contextProps","useContext","AtmosphereContext","atmosphereParameters","others","separateProps","cloudsPassOptionsDefaults","effect","CloudsEffect","useFrame","handleChange","useCallback","event","useThree","localWeatherTexture","shapeTexture","CLOUD_SHAPE_TEXTURE_SIZE","shapeDetailTexture","CLOUD_SHAPE_DETAIL_TEXTURE_SIZE","turbulenceTexture","stbnTexture","camera","EffectComposerContext","jsxs","Fragment","indexProp","indexPool","index","setIndex","poolIndex","a","b","layer","CloudLayerImpl"],"mappings":"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"}