@developmentseed/deck.gl-raster 0.7.0 → 0.8.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 (54) hide show
  1. package/dist/fp64.d.ts +18 -0
  2. package/dist/fp64.d.ts.map +1 -0
  3. package/dist/fp64.js +28 -0
  4. package/dist/fp64.js.map +1 -0
  5. package/dist/globe-grid-mesh.d.ts +30 -0
  6. package/dist/globe-grid-mesh.d.ts.map +1 -0
  7. package/dist/globe-grid-mesh.js +67 -0
  8. package/dist/globe-grid-mesh.js.map +1 -0
  9. package/dist/gpu-modules/cutline-bbox.d.ts +26 -40
  10. package/dist/gpu-modules/cutline-bbox.d.ts.map +1 -1
  11. package/dist/gpu-modules/cutline-bbox.js +24 -53
  12. package/dist/gpu-modules/cutline-bbox.js.map +1 -1
  13. package/dist/gpu-modules/index.d.ts +1 -1
  14. package/dist/gpu-modules/index.d.ts.map +1 -1
  15. package/dist/gpu-modules/index.js +1 -1
  16. package/dist/gpu-modules/index.js.map +1 -1
  17. package/dist/mesh-layer/mesh-layer-fragment.glsl.d.ts +1 -1
  18. package/dist/mesh-layer/mesh-layer-fragment.glsl.js +1 -1
  19. package/dist/mesh-layer/mesh-layer-vertex.glsl.d.ts +3 -0
  20. package/dist/mesh-layer/mesh-layer-vertex.glsl.d.ts.map +1 -0
  21. package/dist/mesh-layer/mesh-layer-vertex.glsl.js +90 -0
  22. package/dist/mesh-layer/mesh-layer-vertex.glsl.js.map +1 -0
  23. package/dist/mesh-layer/mesh-layer.d.ts +27 -4
  24. package/dist/mesh-layer/mesh-layer.d.ts.map +1 -1
  25. package/dist/mesh-layer/mesh-layer.js +39 -3
  26. package/dist/mesh-layer/mesh-layer.js.map +1 -1
  27. package/dist/raster-layer.d.ts +18 -1
  28. package/dist/raster-layer.d.ts.map +1 -1
  29. package/dist/raster-layer.js +46 -19
  30. package/dist/raster-layer.js.map +1 -1
  31. package/dist/raster-tile-layer/raster-tile-layer.d.ts.map +1 -1
  32. package/dist/raster-tile-layer/raster-tile-layer.js +29 -21
  33. package/dist/raster-tile-layer/raster-tile-layer.js.map +1 -1
  34. package/dist/raster-tileset/bounding-volume-cache.d.ts +11 -4
  35. package/dist/raster-tileset/bounding-volume-cache.d.ts.map +1 -1
  36. package/dist/raster-tileset/bounding-volume-cache.js +13 -4
  37. package/dist/raster-tileset/bounding-volume-cache.js.map +1 -1
  38. package/dist/raster-tileset/raster-tile-traversal.d.ts +58 -3
  39. package/dist/raster-tileset/raster-tile-traversal.d.ts.map +1 -1
  40. package/dist/raster-tileset/raster-tile-traversal.js +235 -30
  41. package/dist/raster-tileset/raster-tile-traversal.js.map +1 -1
  42. package/dist/raster-tileset/raster-tileset-2d.d.ts +33 -0
  43. package/dist/raster-tileset/raster-tileset-2d.d.ts.map +1 -1
  44. package/dist/raster-tileset/raster-tileset-2d.js +46 -1
  45. package/dist/raster-tileset/raster-tileset-2d.js.map +1 -1
  46. package/dist/raster-tileset/web-mercator-clamp.d.ts +31 -0
  47. package/dist/raster-tileset/web-mercator-clamp.d.ts.map +1 -0
  48. package/dist/raster-tileset/web-mercator-clamp.js +69 -0
  49. package/dist/raster-tileset/web-mercator-clamp.js.map +1 -0
  50. package/package.json +7 -7
  51. package/dist/raster-tile-layer/constants.d.ts +0 -11
  52. package/dist/raster-tile-layer/constants.d.ts.map +0 -1
  53. package/dist/raster-tile-layer/constants.js +0 -11
  54. package/dist/raster-tile-layer/constants.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"raster-tileset-2d.js","sourceRoot":"","sources":["../../src/raster-tileset/raster-tileset-2d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"raster-tileset-2d.js","sourceRoot":"","sources":["../../src/raster-tileset/raster-tileset-2d.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { InitialTriangulation } from "@developmentseed/raster-reproject";
2
+ /**
3
+ * The WGS84 latitudes of a tile's four corners.
4
+ */
5
+ export interface CornerLatitudes {
6
+ topLeft: number;
7
+ topRight: number;
8
+ bottomLeft: number;
9
+ bottomRight: number;
10
+ }
11
+ /**
12
+ * Compute a {@link InitialTriangulation} that clamps a tile's reprojection mesh
13
+ * to the latitude band representable in Web Mercator (±85.051°), or `undefined`
14
+ * if no clamp is needed or possible.
15
+ *
16
+ * Beyond ±85.051°, `makeClampedForwardTo3857` collapses every polar vertex onto
17
+ * the same clamped Y, so the reprojector emits degenerate near-pole triangles
18
+ * that never converge (see #182 / #351). Seeding the reprojector with the
19
+ * clamped band avoids meshing those rows entirely.
20
+ *
21
+ * Only tiles whose **rows are constant-latitude** are handled — where latitude
22
+ * is constant across each row, so the valid band is an axis-aligned rectangle.
23
+ *
24
+ * This covers both north-up grids and south-up grids. Rotated or projected
25
+ * tiles return `undefined` (the caller falls back to the full mesh).
26
+ *
27
+ * @param cornerLats WGS84 latitudes of the tile's four corners.
28
+ * @param maxLat Web Mercator latitude limit. Defaults to ±85.051°.
29
+ */
30
+ export declare function createInitialWebMercatorTriangulation(cornerLats: CornerLatitudes, maxLat?: number): InitialTriangulation | undefined;
31
+ //# sourceMappingURL=web-mercator-clamp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-mercator-clamp.d.ts","sourceRoot":"","sources":["../../src/raster-tileset/web-mercator-clamp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAS9E;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qCAAqC,CACnD,UAAU,EAAE,eAAe,EAC3B,MAAM,GAAE,MAA6B,GACpC,oBAAoB,GAAG,SAAS,CAqDlC"}
@@ -0,0 +1,69 @@
1
+ import { triangulateRectangle } from "@developmentseed/raster-reproject";
2
+ /** Maximum latitude representable in Web Mercator (EPSG:3857), in degrees. */
3
+ const MAX_WEB_MERCATOR_LAT = 85.05112877980659;
4
+ /** Tolerance for the constant-latitude check and degenerate-band guard, in degrees. */
5
+ const LAT_EPSILON = 1e-6;
6
+ /**
7
+ * Compute a {@link InitialTriangulation} that clamps a tile's reprojection mesh
8
+ * to the latitude band representable in Web Mercator (±85.051°), or `undefined`
9
+ * if no clamp is needed or possible.
10
+ *
11
+ * Beyond ±85.051°, `makeClampedForwardTo3857` collapses every polar vertex onto
12
+ * the same clamped Y, so the reprojector emits degenerate near-pole triangles
13
+ * that never converge (see #182 / #351). Seeding the reprojector with the
14
+ * clamped band avoids meshing those rows entirely.
15
+ *
16
+ * Only tiles whose **rows are constant-latitude** are handled — where latitude
17
+ * is constant across each row, so the valid band is an axis-aligned rectangle.
18
+ *
19
+ * This covers both north-up grids and south-up grids. Rotated or projected
20
+ * tiles return `undefined` (the caller falls back to the full mesh).
21
+ *
22
+ * @param cornerLats WGS84 latitudes of the tile's four corners.
23
+ * @param maxLat Web Mercator latitude limit. Defaults to ±85.051°.
24
+ */
25
+ export function createInitialWebMercatorTriangulation(cornerLats, maxLat = MAX_WEB_MERCATOR_LAT) {
26
+ const { topLeft, topRight, bottomLeft, bottomRight } = cornerLats;
27
+ // Each row must be constant-latitude for the clamp band to be an axis-aligned
28
+ // rectangle in UV space. Otherwise fall back to the full mesh.
29
+ const rowsIsoLatitude = Math.abs(topLeft - topRight) < LAT_EPSILON &&
30
+ Math.abs(bottomLeft - bottomRight) < LAT_EPSILON;
31
+ if (!rowsIsoLatitude) {
32
+ return undefined;
33
+ }
34
+ // v runs 0 (top row) → 1 (bottom row); latitude varies linearly along it:
35
+ // lat(v) = top + v * (bottom - top)
36
+ // Do NOT assume top is the northern edge: a positive-`e` (south-up) affine
37
+ // puts the south pole at row 0, so `top` is the southern edge. Deriving the
38
+ // band from the actual top/bottom keeps this orientation-agnostic.
39
+ const top = topLeft;
40
+ const bottom = bottomLeft;
41
+ // Degenerate tile (zero latitude span): leave it to the default full mesh.
42
+ if (Math.abs(bottom - top) <= LAT_EPSILON) {
43
+ return undefined;
44
+ }
45
+ // Nothing to clamp if the whole tile is already within bounds (linear interp
46
+ // between two in-band corners stays in band).
47
+ if (top <= maxLat &&
48
+ top >= -maxLat &&
49
+ bottom <= maxLat &&
50
+ bottom >= -maxLat) {
51
+ return undefined;
52
+ }
53
+ // Intersect the tile's latitude segment with the band [-maxLat, maxLat]:
54
+ // solve lat(v) = ±maxLat for v, then take the overlapping v-interval. min/max
55
+ // makes this independent of whether latitude increases or decreases with v.
56
+ const clamp01 = (t) => Math.max(0, Math.min(1, t));
57
+ const vAtMaxLat = (maxLat - top) / (bottom - top);
58
+ const vAtMinLat = (-maxLat - top) / (bottom - top);
59
+ const vTop = clamp01(Math.min(vAtMaxLat, vAtMinLat));
60
+ const vBottom = clamp01(Math.max(vAtMaxLat, vAtMinLat));
61
+ // Fully-polar tile (entirely outside ±maxLat): empty band, nothing to render.
62
+ // Such tiles are normally excluded by the dataset-bounds clamp; guard anyway
63
+ // so we never emit a degenerate seed.
64
+ if (vBottom - vTop < LAT_EPSILON) {
65
+ return undefined;
66
+ }
67
+ return triangulateRectangle(0, vTop, 1, vBottom);
68
+ }
69
+ //# sourceMappingURL=web-mercator-clamp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-mercator-clamp.js","sourceRoot":"","sources":["../../src/raster-tileset/web-mercator-clamp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE,8EAA8E;AAC9E,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAE/C,uFAAuF;AACvF,MAAM,WAAW,GAAG,IAAI,CAAC;AAYzB;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,qCAAqC,CACnD,UAA2B,EAC3B,SAAiB,oBAAoB;IAErC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;IAElE,8EAA8E;IAC9E,+DAA+D;IAC/D,MAAM,eAAe,GACnB,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,WAAW;QAC1C,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,WAAW,CAAC;IACnD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,0EAA0E;IAC1E,sCAAsC;IACtC,2EAA2E;IAC3E,4EAA4E;IAC5E,mEAAmE;IACnE,MAAM,GAAG,GAAG,OAAO,CAAC;IACpB,MAAM,MAAM,GAAG,UAAU,CAAC;IAE1B,2EAA2E;IAC3E,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,6EAA6E;IAC7E,8CAA8C;IAC9C,IACE,GAAG,IAAI,MAAM;QACb,GAAG,IAAI,CAAC,MAAM;QACd,MAAM,IAAI,MAAM;QAChB,MAAM,IAAI,CAAC,MAAM,EACjB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,yEAAyE;IACzE,8EAA8E;IAC9E,4EAA4E;IAC5E,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAExD,8EAA8E;IAC9E,6EAA6E;IAC7E,sCAAsC;IACtC,IAAI,OAAO,GAAG,IAAI,GAAG,WAAW,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,oBAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@developmentseed/deck.gl-raster",
3
- "version": "0.7.0",
3
+ "version": "0.8.0-beta.2",
4
4
  "description": "Georeferenced image data visualization in deck.gl",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -40,10 +40,10 @@
40
40
  "devDependencies": {
41
41
  "@luma.gl/core": "^9.3.2",
42
42
  "@luma.gl/shadertools": "^9.3.2",
43
- "@types/node": "^25.6.0",
43
+ "@types/node": "^25.9.1",
44
44
  "jsdom": "^29.1.1",
45
45
  "typescript": "^6.0.3",
46
- "vitest": "^4.1.5"
46
+ "vitest": "^4.1.7"
47
47
  },
48
48
  "peerDependencies": {
49
49
  "@deck.gl/core": "^9.3.0",
@@ -52,15 +52,15 @@
52
52
  "@deck.gl/mesh-layers": "^9.3.0",
53
53
  "@luma.gl/core": "^9.3.2",
54
54
  "@luma.gl/shadertools": "^9.3.2",
55
- "@developmentseed/morecantile": "^0.7.0"
55
+ "@developmentseed/morecantile": "^0.8.0-beta.2"
56
56
  },
57
57
  "dependencies": {
58
58
  "@math.gl/core": "^4.1.0",
59
59
  "@math.gl/culling": "^4.1.0",
60
60
  "@math.gl/web-mercator": "^4.1.0",
61
- "@developmentseed/affine": "^0.7.0",
62
- "@developmentseed/proj": "^0.7.0",
63
- "@developmentseed/raster-reproject": "^0.7.0"
61
+ "@developmentseed/proj": "^0.8.0-beta.2",
62
+ "@developmentseed/raster-reproject": "^0.8.0-beta.2",
63
+ "@developmentseed/affine": "^0.8.0-beta.2"
64
64
  },
65
65
  "volta": {
66
66
  "extends": "../../package.json"
@@ -1,11 +0,0 @@
1
- /** Size of deck.gl's common coordinate space in world units.
2
- *
3
- * At zoom 0, one tile covers the whole world (512×512 units); at zoom z, each
4
- * tile is 512/2^z units.
5
- */
6
- export declare const TILE_SIZE = 512;
7
- /** Size of the globe in web mercator meters. */
8
- export declare const WEB_MERCATOR_METER_CIRCUMFERENCE = 40075016.686;
9
- /** Scale factor for converting EPSG:3857 meters into deck.gl world units (512×512). */
10
- export declare const WEB_MERCATOR_TO_WORLD_SCALE: number;
11
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/raster-tile-layer/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,SAAS,MAAM,CAAC;AAE7B,gDAAgD;AAChD,eAAO,MAAM,gCAAgC,eAAe,CAAC;AAE7D,uFAAuF;AACvF,eAAO,MAAM,2BAA2B,QACM,CAAC"}
@@ -1,11 +0,0 @@
1
- /** Size of deck.gl's common coordinate space in world units.
2
- *
3
- * At zoom 0, one tile covers the whole world (512×512 units); at zoom z, each
4
- * tile is 512/2^z units.
5
- */
6
- export const TILE_SIZE = 512;
7
- /** Size of the globe in web mercator meters. */
8
- export const WEB_MERCATOR_METER_CIRCUMFERENCE = 40075016.686;
9
- /** Scale factor for converting EPSG:3857 meters into deck.gl world units (512×512). */
10
- export const WEB_MERCATOR_TO_WORLD_SCALE = TILE_SIZE / WEB_MERCATOR_METER_CIRCUMFERENCE;
11
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/raster-tile-layer/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAC;AAE7B,gDAAgD;AAChD,MAAM,CAAC,MAAM,gCAAgC,GAAG,YAAY,CAAC;AAE7D,uFAAuF;AACvF,MAAM,CAAC,MAAM,2BAA2B,GACtC,SAAS,GAAG,gCAAgC,CAAC"}