mapspinner 0.1.20 → 0.1.22

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.20",
3
+ "version": "0.1.22",
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)
@@ -168,7 +168,7 @@ export async function initMapspinnerPlanet(gl, opts = {}) {
168
168
  // quadtree levels (L14/L15/L16, ~28m/~14m/~7m cells) -- the close-approach overdraw tail -- so the deepest
169
169
  // LOD is now L13 (~56m cell). Pairs with the LOD_STEP push (each region still resolves levels-finer-per-
170
170
  // distance, just capped three steps shallower). Live override window.__maxLevel.
171
- const maxLevel = opts.maxLevel ?? 12;
171
+ const maxLevel = opts.maxLevel ?? 11;
172
172
  // splitFactor 2.0 over-subdivided ~5-20x: the baseline measured px/poly edge median
173
173
  // 0.73 (orbit) / 1.56 (lowalt), far below the user's 4-50 px target, which also
174
174
  // saturated the atlas (1920/1920) and drove tileGenMs to ~950ms. The live sweep