@mailwoman/map-tui 10.0.0 → 10.1.0

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 (58) hide show
  1. package/README.md +5 -6
  2. package/{lib/cli → cli}/args.ts +49 -28
  3. package/{lib/cli/index.ts → cli/main.ts} +12 -23
  4. package/lib/browser.ts +33 -76
  5. package/lib/frame.ts +50 -28
  6. package/lib/input.ts +46 -69
  7. package/lib/mercator.ts +13 -12
  8. package/lib/mvt.ts +2 -2
  9. package/lib/raster.ts +53 -27
  10. package/lib/renderer.ts +19 -38
  11. package/lib/style.ts +21 -15
  12. package/lib/tile-source.ts +30 -19
  13. package/out/browser.d.ts +24 -33
  14. package/out/browser.d.ts.map +1 -1
  15. package/out/browser.js +27 -72
  16. package/out/browser.js.map +1 -1
  17. package/out/cli/args.d.ts +18 -8
  18. package/out/cli/args.d.ts.map +1 -1
  19. package/out/cli/args.js +41 -25
  20. package/out/cli/args.js.map +1 -1
  21. package/out/cli/{index.d.ts → main.d.ts} +1 -1
  22. package/out/cli/main.d.ts.map +1 -0
  23. package/out/cli/{index.js → main.js} +13 -24
  24. package/out/cli/main.js.map +1 -0
  25. package/out/cli/tsconfig.tsbuildinfo +1 -0
  26. package/out/frame.d.ts +40 -23
  27. package/out/frame.d.ts.map +1 -1
  28. package/out/frame.js +48 -26
  29. package/out/frame.js.map +1 -1
  30. package/out/input.d.ts +18 -36
  31. package/out/input.d.ts.map +1 -1
  32. package/out/input.js +37 -63
  33. package/out/input.js.map +1 -1
  34. package/out/mercator.d.ts +12 -11
  35. package/out/mercator.d.ts.map +1 -1
  36. package/out/mercator.js +4 -10
  37. package/out/mercator.js.map +1 -1
  38. package/out/mvt.js +2 -2
  39. package/out/raster.d.ts +45 -23
  40. package/out/raster.d.ts.map +1 -1
  41. package/out/raster.js +44 -22
  42. package/out/raster.js.map +1 -1
  43. package/out/renderer.d.ts +6 -7
  44. package/out/renderer.d.ts.map +1 -1
  45. package/out/renderer.js +13 -22
  46. package/out/renderer.js.map +1 -1
  47. package/out/style.d.ts +17 -11
  48. package/out/style.d.ts.map +1 -1
  49. package/out/style.js +11 -9
  50. package/out/style.js.map +1 -1
  51. package/out/tile-source.d.ts +12 -8
  52. package/out/tile-source.d.ts.map +1 -1
  53. package/out/tile-source.js +21 -14
  54. package/out/tile-source.js.map +1 -1
  55. package/out/tsconfig.test.tsbuildinfo +1 -1
  56. package/package.json +35 -83
  57. package/out/cli/index.d.ts.map +0 -1
  58. package/out/cli/index.js.map +0 -1
package/out/raster.d.ts CHANGED
@@ -4,58 +4,80 @@
4
4
  * @author Teffen Ellis, et al.
5
5
  */
6
6
  /**
7
- * RGBA pixel rasterizer for map-tui's debug view.
7
+ * Rgba pixel rasterizer for map-tui's debug view.
8
8
  *
9
- * Rasterizes vector geometry (polylines, filled polygons, circles) onto a plain RGBA byte grid — the shape asciify's
10
- * rasterize step consumes. Every draw call clips through {@link RGBAGrid.setPixel}, so callers never need to
11
- * bounds-check geometry themselves. The polyline and circle primitives floor their coordinates to integers on entry;
12
- * {@link fillPolygon} does not — its scanline edge math keeps ring vertices as given, see its own docstring.
9
+ * Rasterizes vector geometry (polylines, filled polygons, circles) onto a plain rgba
10
+ * byte grid — the shape asciify's rasterize step consumes.
11
+ * Every draw call clips through {@link RGBAGrid.setPixel}, so callers never
12
+ * need to bounds-check geometry themselves.
13
+ *
14
+ * The polyline and circle primitives floor their coordinates to integers on entry;
15
+ * {@link fillPolygon} does not.
16
+ * Its scanline edge math keeps ring vertices as given, see its own docstring.
13
17
  */
14
18
  import type { RGB } from "#style";
15
19
  /**
16
- * A row-major RGBA pixel buffer. Alpha starts at 0 (unlit/transparent) everywhere; drawing a pixel sets it to 255,
17
- * which is how callers (including this module's own tests) distinguish "lit" from "background".
20
+ * A row-major rgba pixel buffer.
21
+ *
22
+ * Alpha starts at 0 (unlit/transparent) everywhere.
23
+ * A drawn pixel has value 255.
24
+ *
25
+ * Callers, including this module's own tests, distinguish "lit" from "background".
18
26
  */
19
27
  export declare class RGBAGrid {
20
28
  readonly width: number;
21
29
  readonly height: number;
22
30
  /**
23
- * RGBA, row-major, width * height * 4 bytes — the shape asciify's rasterize consumes.
31
+ * Rgba, row-major, width * height * 4 bytes — the shape asciify's rasterize consumes.
24
32
  */
25
33
  readonly data: Uint8ClampedArray;
26
34
  constructor(width: number, height: number);
27
35
  /**
28
- * Writes a pixel's RGB channels and sets alpha to fully opaque (255). Coordinates outside the grid are silently
29
- * ignored — this is the one clipping boundary every drawing primitive in this module routes through, so geometry that
30
- * runs off the grid (or arrives with negative/oversized coordinates) never needs special-casing upstream.
36
+ * Writes a pixel's RGB channels and sets alpha to fully opaque (255).
37
+ *
38
+ * Coordinates outside the grid are silently ignored.
39
+ * This is the one clipping boundary every drawing primitive in this module routes through,
40
+ * so geometry that runs off the grid (or arrives with negative/oversized coordinates)
41
+ * never needs special-casing upstream.
31
42
  */
32
43
  setPixel(x: number, y: number, color: RGB): void;
33
44
  }
34
45
  /**
35
- * Draws a connected polyline through `points`, one Bresenham segment per consecutive pair. `width > 1` stamps a
36
- * `width`-sized square at every plotted step instead of a single pixel, thickening the line. Segments that run outside
37
- * the grid clip through `setPixel` rather than throwing.
46
+ * Draws a connected polyline through `points`, one Bresenham segment per consecutive pair.
47
+ *
48
+ * `width > 1` stamps a `width`-sized square at every plotted step instead of
49
+ * a single pixel, thickening the line.
50
+ * Segments that run outside the grid clip through `setPixel` rather than throwing.
38
51
  */
39
52
  export declare function drawPolyline(grid: RGBAGrid, points: ReadonlyArray<{
40
53
  x: number;
41
54
  y: number;
42
55
  }>, color: RGB, width: number): void;
43
56
  /**
44
- * Fills one or more polygon rings with the even-odd rule: a pixel is interior when a ray from it crosses an odd number
45
- * of ring edges. Rings after the first behave as holes wherever they overlap the first ring, and holes nested inside
46
- * holes fill again, purely as a consequence of the parity count — no explicit hole/outer distinction is tracked.
47
- * Scanlines sample row centers (`y + 0.5`) rather than integer row coordinates, which is what keeps horizontal edges
48
- * and grid-aligned polygon boundaries from producing degenerate (zero-width or doubled) intersections. Coordinates are
49
- * floored to the grid via `setPixel`; edge math itself uses the ring vertices as given.
57
+ * Fills one or more polygon rings with the even-odd rule: a pixel is interior
58
+ * when a ray from it crosses an odd number of ring edges.
59
+ *
60
+ * Rings after the first behave as holes wherever they overlap the first ring.
61
+ * Holes nested inside holes fill again as a consequence of the parity count.
62
+ * No explicit hole/outer distinction is tracked.
63
+ *
64
+ * Scanlines sample row centers (`y + 0.5`) rather than integer row coordinates.
65
+ * This keeps horizontal edges and grid-aligned polygon boundaries from producing
66
+ * degenerate (zero-width or doubled) intersections.
67
+ *
68
+ * Coordinates are floored to the grid via `setPixel`; edge math itself uses the ring vertices as given.
50
69
  */
51
70
  export declare function fillPolygon(grid: RGBAGrid, rings: ReadonlyArray<ReadonlyArray<{
52
71
  x: number;
53
72
  y: number;
54
73
  }>>, color: RGB): void;
55
74
  /**
56
- * Draws a circle's outline (ring, not a filled disc) with the midpoint circle algorithm, plotting all eight symmetric
57
- * octant points per step. `centerX`/`centerY`/`radius` are floored on entry; every plotted point routes through
58
- * `setPixel`, so a circle that runs off the grid clips rather than throwing.
75
+ * Draws a circle's outline (ring rather than a filled disc) with the midpoint circle
76
+ * algorithm, plotting all eight symmetric octant points per step.
77
+ *
78
+ * `centerX`/`centerY`/`radius` are floored on entry.
79
+ * Every plotted point routes through `setPixel`, so a circle that runs off
80
+ * the grid clips rather than throwing.
59
81
  */
60
82
  export declare function drawCircle(grid: RGBAGrid, centerX: number, centerY: number, radius: number, color: RGB): void;
61
83
  //# sourceMappingURL=raster.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"raster.d.ts","sourceRoot":"","sources":["../lib/raster.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAEjC;;;GAGG;AACH,qBAAa,QAAQ;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;IAEhC,YAAY,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAIxC;IAED;;;;OAIG;IACH,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAY/C;CACD;AAuDD;;;;GAIG;AACH,wBAAgB,YAAY,CAC3B,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,aAAa,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAC/C,KAAK,EAAE,GAAG,EACV,KAAK,EAAE,MAAM,GACX,IAAI,CAON;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAC1B,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,EAC7D,KAAK,EAAE,GAAG,GACR,IAAI,CAkCN;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAgC7G"}
1
+ {"version":3,"file":"raster.d.ts","sourceRoot":"","sources":["../lib/raster.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAEjC;;;;;;;GAOG;AACH,qBAAa,QAAQ;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;IAEhC,YAAY,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAIxC;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAY/C;CACD;AA2DD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC3B,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,aAAa,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAC/C,KAAK,EAAE,GAAG,EACV,KAAK,EAAE,MAAM,GACX,IAAI,CAON;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAC1B,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,EAC7D,KAAK,EAAE,GAAG,GACR,IAAI,CAkCN;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAgC7G"}
package/out/raster.js CHANGED
@@ -4,14 +4,18 @@
4
4
  * @author Teffen Ellis, et al.
5
5
  */
6
6
  /**
7
- * A row-major RGBA pixel buffer. Alpha starts at 0 (unlit/transparent) everywhere; drawing a pixel sets it to 255,
8
- * which is how callers (including this module's own tests) distinguish "lit" from "background".
7
+ * A row-major rgba pixel buffer.
8
+ *
9
+ * Alpha starts at 0 (unlit/transparent) everywhere.
10
+ * A drawn pixel has value 255.
11
+ *
12
+ * Callers, including this module's own tests, distinguish "lit" from "background".
9
13
  */
10
14
  export class RGBAGrid {
11
15
  width;
12
16
  height;
13
17
  /**
14
- * RGBA, row-major, width * height * 4 bytes — the shape asciify's rasterize consumes.
18
+ * Rgba, row-major, width * height * 4 bytes — the shape asciify's rasterize consumes.
15
19
  */
16
20
  data;
17
21
  constructor(width, height) {
@@ -20,9 +24,12 @@ export class RGBAGrid {
20
24
  this.data = new Uint8ClampedArray(width * height * 4);
21
25
  }
22
26
  /**
23
- * Writes a pixel's RGB channels and sets alpha to fully opaque (255). Coordinates outside the grid are silently
24
- * ignored — this is the one clipping boundary every drawing primitive in this module routes through, so geometry that
25
- * runs off the grid (or arrives with negative/oversized coordinates) never needs special-casing upstream.
27
+ * Writes a pixel's RGB channels and sets alpha to fully opaque (255).
28
+ *
29
+ * Coordinates outside the grid are silently ignored.
30
+ * This is the one clipping boundary every drawing primitive in this module routes through,
31
+ * so geometry that runs off the grid (or arrives with negative/oversized coordinates)
32
+ * never needs special-casing upstream.
26
33
  */
27
34
  setPixel(x, y, color) {
28
35
  const px = Math.floor(x);
@@ -37,8 +44,9 @@ export class RGBAGrid {
37
44
  }
38
45
  }
39
46
  /**
40
- * Stamps a `width`-sized square centered on (x, y) — used by {@link drawPolyline} for `width > 1`. `width === 1` callers
41
- * should use `grid.setPixel` directly rather than pay the square-stamp loop.
47
+ * Stamps a `width`-sized square centered on (x, y) — used by {@link drawPolyline} for `width > 1`.
48
+ *
49
+ * `width === 1` callers should use `grid.setPixel` directly rather than pay the square-stamp loop.
42
50
  */
43
51
  function stampSquare(grid, x, y, color, width) {
44
52
  const half = Math.floor(width / 2);
@@ -49,8 +57,11 @@ function stampSquare(grid, x, y, color, width) {
49
57
  }
50
58
  }
51
59
  /**
52
- * Draws a single line segment with the integer Bresenham algorithm. Coordinates are floored on entry; every plotted
53
- * point routes through `grid.setPixel`, so segments that run partly or fully off-grid clip for free.
60
+ * Draws a single line segment with the integer Bresenham algorithm.
61
+ *
62
+ * Coordinates are floored on entry.
63
+ * Every plotted point routes through `grid.setPixel`, so segments that run partly
64
+ * or fully off-grid clip for free.
54
65
  */
55
66
  function drawSegment(grid, x0, y0, x1, y1, color, width) {
56
67
  let x = Math.floor(x0);
@@ -83,9 +94,11 @@ function drawSegment(grid, x0, y0, x1, y1, color, width) {
83
94
  }
84
95
  }
85
96
  /**
86
- * Draws a connected polyline through `points`, one Bresenham segment per consecutive pair. `width > 1` stamps a
87
- * `width`-sized square at every plotted step instead of a single pixel, thickening the line. Segments that run outside
88
- * the grid clip through `setPixel` rather than throwing.
97
+ * Draws a connected polyline through `points`, one Bresenham segment per consecutive pair.
98
+ *
99
+ * `width > 1` stamps a `width`-sized square at every plotted step instead of
100
+ * a single pixel, thickening the line.
101
+ * Segments that run outside the grid clip through `setPixel` rather than throwing.
89
102
  */
90
103
  export function drawPolyline(grid, points, color, width) {
91
104
  for (let index = 0; index < points.length - 1; index++) {
@@ -95,12 +108,18 @@ export function drawPolyline(grid, points, color, width) {
95
108
  }
96
109
  }
97
110
  /**
98
- * Fills one or more polygon rings with the even-odd rule: a pixel is interior when a ray from it crosses an odd number
99
- * of ring edges. Rings after the first behave as holes wherever they overlap the first ring, and holes nested inside
100
- * holes fill again, purely as a consequence of the parity count — no explicit hole/outer distinction is tracked.
101
- * Scanlines sample row centers (`y + 0.5`) rather than integer row coordinates, which is what keeps horizontal edges
102
- * and grid-aligned polygon boundaries from producing degenerate (zero-width or doubled) intersections. Coordinates are
103
- * floored to the grid via `setPixel`; edge math itself uses the ring vertices as given.
111
+ * Fills one or more polygon rings with the even-odd rule: a pixel is interior
112
+ * when a ray from it crosses an odd number of ring edges.
113
+ *
114
+ * Rings after the first behave as holes wherever they overlap the first ring.
115
+ * Holes nested inside holes fill again as a consequence of the parity count.
116
+ * No explicit hole/outer distinction is tracked.
117
+ *
118
+ * Scanlines sample row centers (`y + 0.5`) rather than integer row coordinates.
119
+ * This keeps horizontal edges and grid-aligned polygon boundaries from producing
120
+ * degenerate (zero-width or doubled) intersections.
121
+ *
122
+ * Coordinates are floored to the grid via `setPixel`; edge math itself uses the ring vertices as given.
104
123
  */
105
124
  export function fillPolygon(grid, rings, color) {
106
125
  for (let y = 0; y < grid.height; y++) {
@@ -132,9 +151,12 @@ export function fillPolygon(grid, rings, color) {
132
151
  }
133
152
  }
134
153
  /**
135
- * Draws a circle's outline (ring, not a filled disc) with the midpoint circle algorithm, plotting all eight symmetric
136
- * octant points per step. `centerX`/`centerY`/`radius` are floored on entry; every plotted point routes through
137
- * `setPixel`, so a circle that runs off the grid clips rather than throwing.
154
+ * Draws a circle's outline (ring rather than a filled disc) with the midpoint circle
155
+ * algorithm, plotting all eight symmetric octant points per step.
156
+ *
157
+ * `centerX`/`centerY`/`radius` are floored on entry.
158
+ * Every plotted point routes through `setPixel`, so a circle that runs off
159
+ * the grid clips rather than throwing.
138
160
  */
139
161
  export function drawCircle(grid, centerX, centerY, radius, color) {
140
162
  const cx = Math.floor(centerX);
package/out/raster.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"raster.js","sourceRoot":"","sources":["../lib/raster.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH;;;GAGG;AACH,MAAM,OAAO,QAAQ;IACX,KAAK,CAAQ;IACb,MAAM,CAAQ;IACvB;;OAEG;IACM,IAAI,CAAmB;IAEhC,YAAY,KAAa,EAAE,MAAc;QACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,iBAAiB,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,KAAU;QACxC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAExB,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM;YAAE,OAAM;QAErE,MAAM,MAAM,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;QAEzC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAC5B,CAAC;CACD;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,IAAc,EAAE,CAAS,EAAE,CAAS,EAAE,KAAU,EAAE,KAAa;IACnF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;IAElC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;QACnC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,EAAE,EAAE,KAAK,CAAC,CAAA;QACnD,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,IAAc,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,KAAU,EAAE,KAAa;IAC7G,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACtB,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAE3B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;IAC7B,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;IAC9B,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/B,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/B,IAAI,KAAK,GAAG,EAAE,GAAG,EAAE,CAAA;IAEnB,SAAS,CAAC;QACT,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACf,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;QACtC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;QAC3B,CAAC;QAED,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;YAAE,MAAK;QAEnC,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAA;QAE7B,IAAI,WAAW,IAAI,EAAE,EAAE,CAAC;YACvB,KAAK,IAAI,EAAE,CAAA;YACX,CAAC,IAAI,KAAK,CAAA;QACX,CAAC;QAED,IAAI,WAAW,IAAI,EAAE,EAAE,CAAC;YACvB,KAAK,IAAI,EAAE,CAAA;YACX,CAAC,IAAI,KAAK,CAAA;QACX,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC3B,IAAc,EACd,MAA+C,EAC/C,KAAU,EACV,KAAa;IAEb,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACxD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAE,CAAA;QACxB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAE,CAAA;QAE5B,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IACpD,CAAC;AACF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAC1B,IAAc,EACd,KAA6D,EAC7D,KAAU;IAEV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,CAAC,GAAG,GAAG,CAAA;QACrB,MAAM,aAAa,GAAa,EAAE,CAAA;QAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAA;gBAClB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAE,CAAA;gBAEtC,gFAAgF;gBAChF,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;oBAAE,SAAQ;gBAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;gBAE/B,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI;oBAAE,SAAQ;gBAE3C,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;gBACrC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1C,CAAC;QACF,CAAC;QAED,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAA;QAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAE,GAAG,GAAG,CAAC,CAAA;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,GAAG,CAAC,CAAA;YAEnD,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;YAC3B,CAAC;QACF,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAc,EAAE,OAAe,EAAE,OAAe,EAAE,MAAc,EAAE,KAAU;IACtG,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAE5B,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA;IAEjB,MAAM,WAAW,GAAG,CAAC,EAAU,EAAE,EAAU,EAAQ,EAAE;QACpD,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,CAAA;QACtC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,CAAA;QACtC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,CAAA;QACtC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,CAAA;QACtC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,CAAA;QACtC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,CAAA;QACtC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,CAAA;QACtC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,CAAA;IACvC,CAAC,CAAA;IAED,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACf,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAEjB,CAAC,EAAE,CAAA;QAEH,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACf,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACnB,CAAC;aAAM,CAAC;YACP,CAAC,EAAE,CAAA;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;QACzB,CAAC;IACF,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"raster.js","sourceRoot":"","sources":["../lib/raster.ts"],"names":[],"mappings":"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"}
package/out/renderer.d.ts CHANGED
@@ -25,18 +25,17 @@ export interface RingSpec {
25
25
  radiusMeters: number;
26
26
  }
27
27
  /**
28
- * Walks a viewport's rendering pipeline: tile fetch, style-ordered rasterization, braille conversion, then overlay
29
- * annotations (ring, labels, markers). One `MapRenderer` can render any number of viewports against the same
30
- * `TileSource` — it holds no per-frame state itself.
28
+ * Walks a viewport's rendering pipeline (tile fetch, style-ordered rasterization,
29
+ * braille conversion, then ring/label/marker overlays) and holds no per-frame state,
30
+ * so one instance can render any number of viewports against the same `TileSource`.
31
31
  */
32
32
  export declare class MapRenderer {
33
33
  private readonly source;
34
34
  constructor(source: TileProvider);
35
35
  /**
36
- * Resolves each viewport slot to its native tile or, when the archive has none — a spatially sparse deep band, a
37
- * zoom-capped extract — the nearest existing ancestor. Ancestors shared by several absent slots are deduplicated so
38
- * their geometry rasterizes once, and coarse tiles sort first so native detail paints over the fallback wherever both
39
- * cover a cell.
36
+ * Resolves each viewport slot to its native tile or the nearest existing ancestor,
37
+ * deduplicated so shared ancestors rasterize once and sorted coarse-first
38
+ * so native detail paints over the fallback.
40
39
  */
41
40
  private resolveTiles;
42
41
  renderFrame(viewport: Viewport, overlays?: {
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../lib/renderer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,OAAO,EAAE,KAAK,QAAQ,EAA8C,MAAM,QAAQ,CAAA;AAUlF,OAAO,EAAmB,KAAK,GAAG,EAAkC,MAAM,QAAQ,CAAA;AAClF,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,cAAc,CAAA;AAE7D,MAAM,WAAW,QAAQ;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,UAAU;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,GAAG,CAAA;CACX;AAED,MAAM,WAAW,QAAQ;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,MAAM,CAAA;CACpB;AA4KD;;;;GAIG;AACH,qBAAa,WAAW;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IAErC,YAAY,MAAM,EAAE,YAAY,EAE/B;IAED;;;;;OAKG;YACW,YAAY;IA8BpB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CA0E/G;CACD"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../lib/renderer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAE,KAAK,QAAQ,EAA8C,MAAM,QAAQ,CAAA;AAUlF,OAAO,EAAmB,KAAK,GAAG,EAAkC,MAAM,QAAQ,CAAA;AAClF,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,cAAc,CAAA;AAE7D,MAAM,WAAW,QAAQ;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,UAAU;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,GAAG,CAAA;CACX;AAED,MAAM,WAAW,QAAQ;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,MAAM,CAAA;CACpB;AAgKD;;;;GAIG;AACH,qBAAa,WAAW;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IAErC,YAAY,MAAM,EAAE,YAAY,EAE/B;IAED;;;;OAIG;YACW,YAAY;IA8BpB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CA0E/G;CACD"}
package/out/renderer.js CHANGED
@@ -4,14 +4,8 @@
4
4
  * @author Teffen Ellis, et al.
5
5
  */
6
6
  /**
7
- * Viewport-to-braille-frame renderer for map-tui's debug view.
8
- *
9
- * `MapRenderer.renderFrame` is the package's single public entry point: given a `Viewport` (center lon/lat, zoom, cell
10
- * columns/rows), it fetches the covering tiles from a `TileSource`, rasterizes styled geometry (./style.ts,
11
- * ./raster.ts) into a subpixel RGBA grid, converts that grid to braille cells (./frame.ts), then overlays collected
12
- * labels and marker/ring annotations on top. Draw order is fill → line → label per the layer style table, with overlays
13
- * (ring, labels, markers) layered afterward in that order — markers deliberately skip the label collision bitmap so a
14
- * requested marker always wins the cell.
7
+ * Draw order is fill → line → label per the layer style table, then overlays (ring, labels, markers),
8
+ * and markers deliberately skip the label collision bitmap so a requested marker always wins the cell.
15
9
  */
16
10
  import { clamp } from "@mailwoman/core/numeric";
17
11
  import { overlayText, rasterizeToFrame, rgbToPacked } from "#frame";
@@ -21,8 +15,7 @@ import { styleForFeatureKind, stylesFor } from "#style";
21
15
  const DEFAULT_MARKER_CHAR = "●";
22
16
  const DEFAULT_MARKER_COLOR = [255, 80, 80];
23
17
  /**
24
- * Minimum ring radius (in device pixels) worth drawing — smaller than this, the midpoint circle algorithm degenerates
25
- * to a single point or nothing useful.
18
+ * A ring radius below this many device pixels degenerates the midpoint circle algorithm to a single point.
26
19
  */
27
20
  const MIN_RING_RADIUS_PX = 2;
28
21
  function projectPoint(projection, gx, gy) {
@@ -59,9 +52,8 @@ function collectLabels(feature, property, color, projection, pendingLabels) {
59
52
  }
60
53
  }
61
54
  /**
62
- * Rasterizes (or, for labels, collects) one feature under one style. The `style.kind` dispatch is the only branching
63
- * here — the actual per-kind work lives in {@link rasterizeFill}/{@link rasterizeLine}/{@link collectLabels} so this
64
- * stays a flat one-level `if`/`else` regardless of how deeply its caller is already nested.
55
+ * Rasterizes (or, for labels, collects) one feature under one style, keeping the `style.kind`
56
+ * dispatch as the only branching so this stays a flat one-level `if`/`else`.
65
57
  */
66
58
  function rasterizeFeature(grid, feature, style, renderZoom, projection, pendingLabels) {
67
59
  if (style.kind === "fill") {
@@ -75,8 +67,8 @@ function rasterizeFeature(grid, feature, style, renderZoom, projection, pendingL
75
67
  }
76
68
  }
77
69
  /**
78
- * Rasterizes every layer/style/feature in one tile matching `kind`. Pulled out of {@link MapRenderer.renderFrame} so
79
- * that method's own tile loop doesn't accumulate this function's three nested loops on top of its own.
70
+ * Pulled out of {@link MapRenderer.renderFrame} so its tile loop does not accumulate
71
+ * this function's three nested loops on top of its own.
80
72
  */
81
73
  function rasterizeTileForKind(grid, resolved, kind, renderZoom, origin, pendingLabels) {
82
74
  for (const layer of resolved.tile.layers) {
@@ -98,9 +90,9 @@ function rasterizeTileForKind(grid, resolved, kind, renderZoom, origin, pendingL
98
90
  }
99
91
  }
100
92
  /**
101
- * Walks a viewport's rendering pipeline: tile fetch, style-ordered rasterization, braille conversion, then overlay
102
- * annotations (ring, labels, markers). One `MapRenderer` can render any number of viewports against the same
103
- * `TileSource` — it holds no per-frame state itself.
93
+ * Walks a viewport's rendering pipeline (tile fetch, style-ordered rasterization,
94
+ * braille conversion, then ring/label/marker overlays) and holds no per-frame state,
95
+ * so one instance can render any number of viewports against the same `TileSource`.
104
96
  */
105
97
  export class MapRenderer {
106
98
  source;
@@ -108,10 +100,9 @@ export class MapRenderer {
108
100
  this.source = source;
109
101
  }
110
102
  /**
111
- * Resolves each viewport slot to its native tile or, when the archive has none — a spatially sparse deep band, a
112
- * zoom-capped extract — the nearest existing ancestor. Ancestors shared by several absent slots are deduplicated so
113
- * their geometry rasterizes once, and coarse tiles sort first so native detail paints over the fallback wherever both
114
- * cover a cell.
103
+ * Resolves each viewport slot to its native tile or the nearest existing ancestor,
104
+ * deduplicated so shared ancestors rasterize once and sorted coarse-first
105
+ * so native detail paints over the fallback.
115
106
  */
116
107
  async resolveTiles(tileCoords, renderZoom) {
117
108
  const resolved = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../lib/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../lib/renderer.ts"],"names":[],"mappings":"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"}
package/out/style.d.ts CHANGED
@@ -6,15 +6,19 @@
6
6
  /**
7
7
  * Protomaps-basemap style table for the map-tui debug view.
8
8
  *
9
- * Defines fill, line, and label styles for each of the nine protomaps-basemap layers, restricted by zoom level. Color
10
- * palette calibrated for dark-terminal rendering: dim fills (read as stipple density via dithering), bright lines and
11
- * labels.
9
+ * Defines fill, line and label styles for the nine Protomaps basemap layers, restricted by zoom level.
10
+ * Color palette calibrated for dark-terminal rendering: dim fills
11
+ * (read as stipple density via dithering), bright lines and labels.
12
12
  */
13
13
  export type RGB = readonly [red: number, green: number, blue: number];
14
14
  /**
15
- * Fields shared by every style entry. `featureKinds` scopes an entry to features whose `kind` tile attribute is in the
16
- * list; an entry without it is the layer's catch-all. Entries are consulted in table order and the first match wins, so
17
- * kind-scoped entries precede the catch-all.
15
+ * Fields shared by every style entry.
16
+ *
17
+ * `featureKinds` scopes an entry to features whose `kind` tile attribute is in the list.
18
+ * An entry without it is the layer's catch-all.
19
+ *
20
+ * Entries are consulted in table order and the first match wins, so kind-scoped
21
+ * entries precede the catch-all.
18
22
  */
19
23
  interface StyleBase {
20
24
  color: RGB;
@@ -34,14 +38,16 @@ export interface LabelStyle extends StyleBase {
34
38
  }
35
39
  export type LayerStyle = FillStyle | LineStyle | LabelStyle;
36
40
  /**
37
- * Styles applying to a protomaps-basemap layer at a zoom, draw-ordered (fills < lines < labels). Empty for unstyled or
38
- * zoom-restricted layers.
41
+ * Styles applying to a protomaps-basemap layer at a zoom, draw-ordered (fills < lines < labels).
42
+ *
43
+ * Empty for unstyled or zoom-restricted layers.
39
44
  */
40
45
  export declare function stylesFor(layerName: string, zoom: number): LayerStyle[];
41
46
  /**
42
- * The one style painting a feature: the first entry whose `featureKinds` contains the feature's `kind` attribute, or
43
- * the first catch-all. A feature is painted at most once per draw pass — kind-scoped entries recolor, they never
44
- * double-paint.
47
+ * The one style painting a feature: the first entry whose `featureKinds` contains
48
+ * the feature's `kind` attribute, or the first catch-all.
49
+ *
50
+ * A feature is painted at most once per draw pass — kind-scoped entries recolor, they never double-paint.
45
51
  */
46
52
  export declare function styleForFeatureKind(styles: readonly LayerStyle[], featureKind: unknown): LayerStyle | null;
47
53
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../lib/style.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AAEH,MAAM,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;AAErE;;;;GAIG;AACH,UAAU,SAAS;IAClB,KAAK,EAAE,GAAG,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAChC;AAED,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC3C,IAAI,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;CAC/B;AAED,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC5C,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAA;AAoD3D;;;GAGG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,EAAE,WAAW,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAQ1G"}
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../lib/style.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AAEH,MAAM,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;AAErE;;;;;;;;GAQG;AACH,UAAU,SAAS;IAClB,KAAK,EAAE,GAAG,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAChC;AAED,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC3C,IAAI,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;CAC/B;AAED,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC5C,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAA;AAoD3D;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,EAAE,WAAW,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAQ1G"}
package/out/style.js CHANGED
@@ -6,10 +6,10 @@
6
6
  // Zoom level at which roads render with 2px width instead of 1px.
7
7
  const ROAD_WIDTH_THRESHOLD = 14;
8
8
  const roadWidth = (zoom) => (zoom >= ROAD_WIDTH_THRESHOLD ? 2 : 1);
9
- // At braille scale every road is one dot wide and every fill is stipple, so CLASS has to ride on color instead of
10
- // geometry: arteries brighten toward amber, paths dim toward the vegetation green, and urban landuse runs warmer and
11
- // brighter than vegetation so a city reads as denser texture. Luminance is required — asciify's ordered dither
12
- // turns it into stipple density.
9
+ // At braille scale, each road is one dot wide and each fill is stippled.
10
+ // Color encodes class information: arteries brighten toward amber and paths dim toward vegetation green.
11
+ // Urban land use is warmer and brighter than vegetation, so cities read as denser texture.
12
+ // Luminance is required — asciify's ordered dither turns it into stipple density.
13
13
  const VEGETATION_KINDS = [
14
14
  "allotments",
15
15
  "cemetery",
@@ -50,16 +50,18 @@ const STYLE_TABLE = {
50
50
  pois: [{ kind: "label", color: [180, 200, 160], minZoom: 14, property: "name" }],
51
51
  };
52
52
  /**
53
- * Styles applying to a protomaps-basemap layer at a zoom, draw-ordered (fills < lines < labels). Empty for unstyled or
54
- * zoom-restricted layers.
53
+ * Styles applying to a protomaps-basemap layer at a zoom, draw-ordered (fills < lines < labels).
54
+ *
55
+ * Empty for unstyled or zoom-restricted layers.
55
56
  */
56
57
  export function stylesFor(layerName, zoom) {
57
58
  return (STYLE_TABLE[layerName] ?? []).filter((style) => zoom >= style.minZoom);
58
59
  }
59
60
  /**
60
- * The one style painting a feature: the first entry whose `featureKinds` contains the feature's `kind` attribute, or
61
- * the first catch-all. A feature is painted at most once per draw pass — kind-scoped entries recolor, they never
62
- * double-paint.
61
+ * The one style painting a feature: the first entry whose `featureKinds` contains
62
+ * the feature's `kind` attribute, or the first catch-all.
63
+ *
64
+ * A feature is painted at most once per draw pass — kind-scoped entries recolor, they never double-paint.
63
65
  */
64
66
  export function styleForFeatureKind(styles, featureKind) {
65
67
  for (const style of styles) {
package/out/style.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sourceRoot":"","sources":["../lib/style.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"style.js","sourceRoot":"","sources":["../lib/style.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,10 @@ export interface DecodedTile {
8
8
  layers: DecodedLayer[];
9
9
  }
10
10
  /**
11
- * What a renderer needs from a tile archive — the read surface of {@link TileSource}, separated so a renderer can be
12
- * driven by any provider: a single archive, a stub in tests, or a composite over several archives.
11
+ * What a renderer needs from a tile archive.
12
+ *
13
+ * The read surface of {@link TileSource}, separated so a renderer can be driven by any
14
+ * provider: a single archive, a stub in tests, or a composite over several archives.
13
15
  */
14
16
  export interface TileProvider {
15
17
  readonly minZoom: number;
@@ -18,30 +20,32 @@ export interface TileProvider {
18
20
  getTile(z: number, x: number, y: number): Promise<DecodedTile | null>;
19
21
  }
20
22
  /**
21
- * Plain-text attribution out of archive metadata (HTML tags stripped, entities decoded); empty string when absent.
23
+ * Plain-text attribution out of archive metadata (html tags stripped, entities decoded);
24
+ * empty string when absent.
22
25
  */
23
26
  export declare function readAttribution(metadata: unknown): string;
24
27
  export declare class TileSource implements TileProvider, AsyncDisposable {
25
28
  readonly minZoom: number;
26
29
  readonly maxZoom: number;
27
30
  /**
28
- * Plain-text attribution from archive metadata (HTML tags stripped); empty string when absent.
31
+ * Plain-text attribution from archive metadata (html tags stripped); empty string when absent.
29
32
  */
30
33
  readonly attribution: string;
31
34
  /**
32
- * Null for HTTP sources — fetch connections have no handle to hold or close.
35
+ * Null for http sources — fetch connections have no handle to hold or close.
33
36
  */
34
37
  private readonly handle;
35
38
  private readonly pmtiles;
36
39
  private readonly cache;
37
40
  private constructor();
38
41
  /**
39
- * Opens a local `.pmtiles` path, or an `http(s)://` URL read via range requests — a hosted archive needs no tile
40
- * server, only a host honoring `Range` (any static file server or object store does).
42
+ * Opens a local `.pmtiles` path, or an `http(s)://` URL read via range requests — a hosted archive
43
+ * needs no tile server, only a host honoring `Range` (any static file server or object store does).
41
44
  */
42
45
  static open(pathOrURL: string): Promise<TileSource>;
43
46
  /**
44
- * Decoded tile, LRU-cached (64 entries). null = tile absent from the archive.
47
+ * Decoded tile, LRU-cached (64 entries).
48
+ * Null = tile absent from the archive.
45
49
  */
46
50
  getTile(z: number, x: number, y: number): Promise<DecodedTile | null>;
47
51
  [Symbol.asyncDispose](): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"tile-source.d.ts","sourceRoot":"","sources":["../lib/tile-source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,MAAM,CAAA;AAEnD,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,YAAY,EAAE,CAAA;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;CACrE;AAyBD;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAWzD;AA4BD,qBAAa,UAAW,YAAW,YAAY,EAAE,eAAe;IAC/D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IAExB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAE5B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IAEtD,OAAO,eAYN;IAED;;;OAGG;IACH,OAAa,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAcxD;IAED;;OAEG;IACG,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CA2B1E;IAEK,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3C;CACD"}
1
+ {"version":3,"file":"tile-source.d.ts","sourceRoot":"","sources":["../lib/tile-source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,MAAM,CAAA;AAEnD,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,YAAY,EAAE,CAAA;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;CACrE;AAyBD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAWzD;AAiCD,qBAAa,UAAW,YAAW,YAAY,EAAE,eAAe;IAC/D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IAExB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAE5B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IAEtD,OAAO,eAYN;IAED;;;OAGG;IACH,OAAa,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAcxD;IAED;;;OAGG;IACG,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CA2B1E;IAEK,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3C;CACD"}