mapspinner 0.1.19 → 0.1.21

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.19",
3
+ "version": "0.1.21",
4
4
  "description": "WebGL2 Earth-scale terrain rendering SDK for interactive globe applications",
5
5
  "main": "src/index.js",
6
6
  "exports": {
package/src/gl-render.js CHANGED
@@ -792,7 +792,7 @@ export async function initMapspinnerRender(gl, opts = {}) {
792
792
  gl.uniform1f(U('uTexTileM'), _g('texTile', 2400.0)); // metres per repeat (user: 24m read as noise/rock -- 100x bigger)
793
793
  gl.uniform1f(U('uTexNrmK'), _g('texNrmK', 3.0)); // 0.8 -> 3.0 (user 2026-06-11 'displacement normals must be THE texture normals': A/B-measured -- 0.8 was visually NIL (0% of px changed >10 on toggle), 2.0 gave 1.3%, 5.0 gave 22%; the normalize(nLit+texDn) compresses the response so visibility is non-linear in K. 3.0 makes the displacement-derived relief clearly read; the loader's per-texel 0.9 tilt cap keeps the historical saturation/scramble class structurally impossible at any apply strength)
794
794
  gl.uniform1f(U('uTexMix'), _g('texMix', 0.85)); // splat blend amount (0 = off)
795
- gl.uniform1f(U('uTexWarp'), _g('texWarp', 0.25)); // anti-repetition warp amplitude (halved from 0.5 per user)
795
+ gl.uniform1f(U('uTexWarp'), _g('texWarp', 0.325)); // anti-repetition warp amplitude (+30% from 0.25, grass needed more visible warping)
796
796
  gl.uniform1f(U('uTexPhoto'), _g('texPhoto', 0.0)); // raw photo-color fraction (0 = patch matches the macro shade exactly)
797
797
  gl.uniform1f(U('uTexPhotoNear'), _g('texPhotoNear', 0.45)); // near-field material identity (photo hue at macro luminance; user 2026-06-12 'must be either grass or sand')
798
798
  gl.uniform4f(U('uSurfMeanL'), _surfMeanL[0], _surfMeanL[1], _surfMeanL[2], _surfMeanL[3]); // per-layer mean linear luminance (shade-match divisor)
package/src/quadtree.js CHANGED
@@ -91,7 +91,7 @@ export class Quadtree {
91
91
  // 20km). Shrinking the penalty-free near radius lets the far-LOD falloff coarsen MORE of the
92
92
  // off-screen / past-horizon field, cutting peak visible leaves toward ~600-900 (precondition
93
93
  // for the 512 layer cap). These are THE only values -- no device tier.
94
- const near = Math.max(this._camAlt * 2.0, horizon * 0.4, 20000.0);
94
+ const near = Math.max(this._camAlt * 2.0, horizon * 0.2, 10000.0);
95
95
  // floor 0.5 (was 0.18): past the horizon the split may HALVE, not crush to ~1/5 (which was
96
96
  // collapsing near-field detail on descent). Foreground (latC<near) stays fall=1 -> full LOD.
97
97
  const fall = 1.0 / (1.0 + Math.max(0.0, latC - near) / near);