@developmentseed/raster-reproject 0.7.0 → 0.8.0-beta.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/dist/delatin.d.ts CHANGED
@@ -11,6 +11,54 @@
11
11
  * Originally copied from https://github.com/mapbox/delatin under the ISC
12
12
  * license, then subject to further modifications.
13
13
  */
14
+ /**
15
+ * A seed triangulation for {@link RasterReprojector}, in delaunator's data
16
+ * shape. All UV coordinates must lie in `[0, 1]`. The triangulation must be a
17
+ * valid (ideally Delaunay) mesh — its triangles are NOT legalized on seeding.
18
+ *
19
+ * The fields deliberately match [delaunator](https://github.com/mapbox/delaunator)'s
20
+ * output, so building a seed from a set of UV points is a one-liner — pass the
21
+ * points (which must form a convex domain; delaunator triangulates the convex
22
+ * hull of its input):
23
+ *
24
+ * ```ts
25
+ * import Delaunator from "delaunator";
26
+ *
27
+ * const points: [number, number][] = [[0, 0], [1, 0], [0, 1], [1, 1]];
28
+ * const d = Delaunator.from(points);
29
+ * const seed: InitialTriangulation = {
30
+ * uvs: Array.from(d.coords),
31
+ * triangles: Array.from(d.triangles),
32
+ * halfedges: Array.from(d.halfedges),
33
+ * };
34
+ * ```
35
+ *
36
+ * delaunator is not a dependency of this package; consumers that want this
37
+ * convenience add it themselves. A hand-built triangulation works too, as long
38
+ * as it is a valid mesh with the halfedge convention below.
39
+ */
40
+ export interface InitialTriangulation {
41
+ /** Flat UV vertex coordinates `[u0, v0, u1, v1, ...]`, each in `[0, 1]`. */
42
+ uvs: number[];
43
+ /** Triangle vertex indices, 3 per triangle (indices into `uvs`). */
44
+ triangles: number[];
45
+ /**
46
+ * Halfedge twins: `halfedges[e]` is the opposite halfedge of `e`, or `-1`
47
+ * if `e` is on the boundary. Same convention as delaunator and the
48
+ * reprojector's internal `_halfedges`.
49
+ */
50
+ halfedges: number[];
51
+ }
52
+ /**
53
+ * Triangulate an axis-aligned UV rectangle `[uMin, vMin]`–`[uMax, vMax]` into an
54
+ * {@link InitialTriangulation} (4 corner vertices, 2 triangles sharing the
55
+ * p0–p3 diagonal).
56
+ *
57
+ * Seeding {@link RasterReprojector} with a sub-rectangle confines the mesh to
58
+ * that region — e.g. to clamp an image's mesh to the valid Web Mercator
59
+ * latitude band (see #182 / #351), pass that band's UV bounds.
60
+ */
61
+ export declare function triangulateRectangle(uMin: number, vMin: number, uMax: number, vMax: number): InitialTriangulation;
14
62
  export interface ReprojectionFns {
15
63
  /**
16
64
  * Convert from UV coordinates to input CRS coordinates.
@@ -77,7 +125,16 @@ export declare class RasterReprojector {
77
125
  private _errors;
78
126
  private _pending;
79
127
  private _pendingLen;
80
- constructor(reprojectors: ReprojectionFns, width: number, height?: number);
128
+ constructor(reprojectors: ReprojectionFns, width: number, height?: number, options?: {
129
+ initialTriangulation?: InitialTriangulation;
130
+ });
131
+ /**
132
+ * Seed the mesh from an {@link InitialTriangulation}. Adds every vertex (which
133
+ * computes its exact output position), copies the triangle and halfedge arrays
134
+ * directly (the seed is already a valid triangulation), and queues every
135
+ * triangle for the first reprojection-error pass.
136
+ */
137
+ private _seed;
81
138
  /**
82
139
  * Refine the mesh until its maximum error gets below the given one
83
140
  *
@@ -1 +1 @@
1
- {"version":3,"file":"delatin.d.ts","sourceRoot":"","sources":["../src/delatin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAmBH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzD;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzD;;OAEG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzD;;OAEG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1D;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAiB;IAC5B,YAAY,EAAE,eAAe,CAAC;IAE9B,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IAEd,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,GAAG,EAAE,MAAM,EAAE,CAAC;IAEd;;OAEG;IACH,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAE/B;;OAEG;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,OAAO,CAAC,UAAU,CAAW;IAE7B;;;;;;OAMG;IACH,OAAO,CAAC,aAAa,CAAW;IAChC,OAAO,CAAC,aAAa,CAAW;IAEhC,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,WAAW,CAAS;gBAG1B,YAAY,EAAE,eAAe,EAC7B,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAAc;IAmCxB;;;;;;;OAOG;IACH,GAAG,CACD,QAAQ,GAAE,MAA0B,EACpC,EAAE,aAAqB,EAAE;;KAAK,GAC7B,IAAI;IAoBP,MAAM,IAAI,IAAI;IAMd,WAAW,IAAI,MAAM;IAKrB,OAAO,CAAC,MAAM;IAQd;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;IA6HlC,OAAO,CAAC,KAAK;IA6Cb,OAAO,CAAC,SAAS;IAqBjB,OAAO,CAAC,YAAY;IA4CpB,OAAO,CAAC,SAAS;IAiEjB,OAAO,CAAC,gBAAgB;IA0CxB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,UAAU;CAoBnB"}
1
+ {"version":3,"file":"delatin.d.ts","sourceRoot":"","sources":["../src/delatin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAmBH;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,oBAAoB;IACnC,4EAA4E;IAC5E,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,oEAAoE;IACpE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB;;;;OAIG;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,oBAAoB,CAStB;AAcD,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzD;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzD;;OAEG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzD;;OAEG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1D;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAiB;IAC5B,YAAY,EAAE,eAAe,CAAC;IAE9B,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IAEd,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,GAAG,EAAE,MAAM,EAAE,CAAC;IAEd;;OAEG;IACH,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAE/B;;OAEG;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,OAAO,CAAC,UAAU,CAAW;IAE7B;;;;;;OAMG;IACH,OAAO,CAAC,aAAa,CAAW;IAChC,OAAO,CAAC,aAAa,CAAW;IAEhC,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,WAAW,CAAS;gBAG1B,YAAY,EAAE,eAAe,EAC7B,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAAc,EACtB,OAAO,GAAE;QAAE,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;KAAO;IAwB/D;;;;;OAKG;IACH,OAAO,CAAC,KAAK;IAiBb;;;;;;;OAOG;IACH,GAAG,CACD,QAAQ,GAAE,MAA0B,EACpC,EAAE,aAAqB,EAAE;;KAAK,GAC7B,IAAI;IAoBP,MAAM,IAAI,IAAI;IAMd,WAAW,IAAI,MAAM;IAKrB,OAAO,CAAC,MAAM;IAQd;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;IA6HlC,OAAO,CAAC,KAAK;IA6Cb,OAAO,CAAC,SAAS;IAqBjB,OAAO,CAAC,YAAY;IA4CpB,OAAO,CAAC,SAAS;IAiEjB,OAAO,CAAC,gBAAgB;IA0CxB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,UAAU;CAoBnB"}
package/dist/delatin.js CHANGED
@@ -26,6 +26,31 @@ const SAMPLE_POINTS = [
26
26
  [0, 0.5, 0.5], // edge 1–2
27
27
  ];
28
28
  const DEFAULT_MAX_ERROR = 0.125;
29
+ /**
30
+ * Triangulate an axis-aligned UV rectangle `[uMin, vMin]`–`[uMax, vMax]` into an
31
+ * {@link InitialTriangulation} (4 corner vertices, 2 triangles sharing the
32
+ * p0–p3 diagonal).
33
+ *
34
+ * Seeding {@link RasterReprojector} with a sub-rectangle confines the mesh to
35
+ * that region — e.g. to clamp an image's mesh to the valid Web Mercator
36
+ * latitude band (see #182 / #351), pass that band's UV bounds.
37
+ */
38
+ export function triangulateRectangle(uMin, vMin, uMax, vMax) {
39
+ return {
40
+ // p0=(uMin,vMin) p1=(uMax,vMin) p2=(uMin,vMax) p3=(uMax,vMax)
41
+ uvs: [uMin, vMin, uMax, vMin, uMin, vMax, uMax, vMax],
42
+ // t0 = (p3, p0, p2), t1 = (p0, p3, p1)
43
+ triangles: [3, 0, 2, 0, 3, 1],
44
+ // shared diagonal p0–p3: halfedge 0 <-> 3; all other edges are boundary
45
+ halfedges: [3, -1, -1, 0, -1, -1],
46
+ };
47
+ }
48
+ /**
49
+ * The default seed: the full image in UV space. Reproduces the previous
50
+ * hardcoded constructor init exactly, and is hardcoded (not delaunator-built)
51
+ * so the package has no runtime triangulation dependency.
52
+ */
53
+ const UNIT_SQUARE_TRIANGULATION = triangulateRectangle(0, 0, 1, 1);
29
54
  /**
30
55
  * RasterReprojector performs a Delaunay triangulation-based reprojection of a
31
56
  * raster image.
@@ -70,7 +95,7 @@ export class RasterReprojector {
70
95
  _errors;
71
96
  _pending;
72
97
  _pendingLen;
73
- constructor(reprojectors, width, height = width) {
98
+ constructor(reprojectors, width, height = width, options = {}) {
74
99
  this.reprojectors = reprojectors;
75
100
  this.width = width;
76
101
  this.height = height;
@@ -85,19 +110,31 @@ export class RasterReprojector {
85
110
  this._errors = [];
86
111
  this._pending = []; // triangles pending addition to queue
87
112
  this._pendingLen = 0;
88
- // The two initial triangles cover the entire input texture in UV space, so
89
- // they range from [0, 0] to [1, 1] in u and v.
90
- const u1 = 1;
91
- const v1 = 1;
92
- const p0 = this._addPoint(0, 0);
93
- const p1 = this._addPoint(u1, 0);
94
- const p2 = this._addPoint(0, v1);
95
- const p3 = this._addPoint(u1, v1);
96
- // add initial two triangles
97
- const t0 = this._addTriangle(p3, p0, p2, -1, -1, -1);
98
- this._addTriangle(p0, p3, p1, t0, -1, -1);
113
+ this._seed(options.initialTriangulation ?? UNIT_SQUARE_TRIANGULATION);
99
114
  this._flush();
100
115
  }
116
+ /**
117
+ * Seed the mesh from an {@link InitialTriangulation}. Adds every vertex (which
118
+ * computes its exact output position), copies the triangle and halfedge arrays
119
+ * directly (the seed is already a valid triangulation), and queues every
120
+ * triangle for the first reprojection-error pass.
121
+ */
122
+ _seed(seed) {
123
+ for (let i = 0; i < seed.uvs.length; i += 2) {
124
+ this._addPoint(seed.uvs[i], seed.uvs[i + 1]);
125
+ }
126
+ for (let i = 0; i < seed.triangles.length; i++) {
127
+ this.triangles[i] = seed.triangles[i];
128
+ this._halfedges[i] = seed.halfedges[i];
129
+ }
130
+ const numTriangles = seed.triangles.length / 3;
131
+ for (let t = 0; t < numTriangles; t++) {
132
+ this._candidatesUV[2 * t] = 0;
133
+ this._candidatesUV[2 * t + 1] = 0;
134
+ this._queueIndices[t] = -1;
135
+ this._pending[this._pendingLen++] = t;
136
+ }
137
+ }
101
138
  /**
102
139
  * Refine the mesh until its maximum error gets below the given one
103
140
  *
@@ -1 +1 @@
1
- {"version":3,"file":"delatin.js","sourceRoot":"","sources":["../src/delatin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delatin.js","sourceRoot":"","sources":["../src/delatin.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export type { ReprojectionFns } from "./delatin.js";
2
- export { RasterReprojector } from "./delatin.js";
1
+ export type { InitialTriangulation, ReprojectionFns } from "./delatin.js";
2
+ export { RasterReprojector, triangulateRectangle } from "./delatin.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { RasterReprojector } from "./delatin.js";
1
+ export { RasterReprojector, triangulateRectangle } from "./delatin.js";
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@developmentseed/raster-reproject",
3
- "version": "0.7.0",
3
+ "version": "0.8.0-beta.1",
4
4
  "description": "Mesh generation for client-side raster reprojection.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -33,12 +33,13 @@
33
33
  "url": "git+https://github.com/developmentseed/deck.gl-raster.git"
34
34
  },
35
35
  "devDependencies": {
36
- "@types/node": "^25.6.0",
36
+ "@types/node": "^25.9.1",
37
+ "delaunator": "^5.1.0",
37
38
  "jsdom": "^29.1.1",
38
39
  "proj4": "^2.20.8",
39
40
  "typescript": "^6.0.3",
40
- "vitest": "^4.1.5",
41
- "@developmentseed/affine": "^0.7.0"
41
+ "vitest": "^4.1.7",
42
+ "@developmentseed/affine": "^0.8.0-beta.1"
42
43
  },
43
44
  "volta": {
44
45
  "extends": "../../package.json"