mapspinner 0.1.75 → 0.1.76

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mapspinner",
3
- "version": "0.1.75",
3
+ "version": "0.1.76",
4
4
  "description": "WebGL2 Earth-scale terrain rendering SDK for interactive globe applications",
5
5
  "main": "src/index.js",
6
6
  "exports": {
@@ -1921,7 +1921,7 @@ void main() {
1921
1921
  // 3 normal octaves (user 2026-06-14 'add an even lower freq octave, displacement/normals only,
1922
1922
  // 4x less frequent'): wt4 high (detail) + wt low (2.4km) + wt*0.25 VERY-low (9.6km) -- the very-
1923
1923
  // low one breaks the far repetition even more. Normals/displacement only (no albedo).
1924
- vec3 nA = surfTriNrm(uSurfNrm, wt4, tw, lA, n) * 2.0 + surfTriNrm(uSurfNrm, wt, tw, lA, n) * 0.9 + surfTriNrm(uSurfNrm, wt * 0.25, tw, lA, n) * 1.1; // REBALANCED (user 2026-06-14 'higher octaves appear gone'): very-low 2.4 swamped the detail -> high (wt4) UP to 2.0 (dominant detail), very-low DOWN to 1.1 (still visible broad) (user 2026-06-14 'dont really see the lower freq octave yet'): at a 9.6km period its slope is gentle, so it needs more weight to read as broad undulation
1924
+ vec3 nA = surfTriNrm(uSurfNrm, wt4, tw, lA, n) * 2.0 + surfTriNrm(uSurfNrm, wt, tw, lA, n) * 0.9; // high (wt4, detail) + mid (wt, 2.4km) octaves. Lowest (wt*0.25, 9.6km) REMOVED 2026-06-14 (user 'keep the mid one, just the lowest one to be removed' -- very low visual impact)
1925
1925
  float dispA = albA.a;
1926
1926
  // NO BIOME COLOR INHERITANCE (user 2026-06-14 'take away all biome color inheritance, it will
1927
1927
  // speed it up' -- and fixes 'sand near grass tinted green'): each layer wears its OWN material
@@ -1933,7 +1933,7 @@ void main() {
1933
1933
  if (wB > 0.02) { // second layer only where a real transition exists
1934
1934
  vec4 albB = surfTriTap(uSurfAlb, wt4, tw, lB);
1935
1935
  vec3 cB = vec3(dot(albB.rgb, LUMA));
1936
- vec3 nB = surfTriNrm(uSurfNrm, wt4, tw, lB, n) * 2.0 + surfTriNrm(uSurfNrm, wt, tw, lB, n) * 0.9 + surfTriNrm(uSurfNrm, wt * 0.25, tw, lB, n) * 1.1; // REBALANCED (match nA)
1936
+ vec3 nB = surfTriNrm(uSurfNrm, wt4, tw, lB, n) * 2.0 + surfTriNrm(uSurfNrm, wt, tw, lB, n) * 0.9; // high + mid octaves; lowest removed (match nA)
1937
1937
  float dispB = albB.a;
1938
1938
  // HEIGHT-BLEND POKE-THROUGH (user 'each texture's higher areas should poke through the other,
1939
1939
  // offset by the ramp'): height = displacement + a weight-ramp offset (gate positions the
@@ -1966,10 +1966,9 @@ void main() {
1966
1966
  // grass/sand interlocks (fingers) at ALL distances -- still the texture DISPLACEMENT, not noise.
1967
1967
  float dispA_lo = surfTriTap(uSurfAlb, wt, tw, lA).a;
1968
1968
  float dispB_lo = surfTriTap(uSurfAlb, wt, tw, lB).a;
1969
- float dispA_vlo = surfTriTap(uSurfAlb, wt * 0.25, tw, lA).a; // very-low (9.6km) displacement -> even-larger-scale boundary undulation (less repetitive far)
1970
- float dispB_vlo = surfTriTap(uSurfAlb, wt * 0.25, tw, lB).a;
1971
- float hA = (dispA - 0.5) * 1.5 + (dispA_lo - 0.5) * 2.2 + (dispA_vlo - 0.5) * 2.2 + wRamp + ordA * 0.45;
1972
- float hB = (dispB - 0.5) * 1.5 + (dispB_lo - 0.5) * 2.2 + (dispB_vlo - 0.5) * 2.2 - wRamp + ordB * 0.45;
1969
+ // very-low (9.6km) displacement taps REMOVED 2026-06-14 (user 'just the lowest one to be removed'): keep high (dispA) + mid (dispA_lo) for the LOD-stable boundary fingering.
1970
+ float hA = (dispA - 0.5) * 1.5 + (dispA_lo - 0.5) * 2.2 + wRamp + ordA * 0.45;
1971
+ float hB = (dispB - 0.5) * 1.5 + (dispB_lo - 0.5) * 2.2 - wRamp + ordB * 0.45;
1973
1972
  float mh = max(hA, hB) - bw;
1974
1973
  float waH = max(hA - mh, 0.0), wbH = max(hB - mh, 0.0);
1975
1974
  float bSharp = waH / max(waH + wbH, 1e-4);