@mailwoman/cartographer 10.1.0 → 10.2.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.
@@ -140,7 +140,7 @@ export class StyleSpecificationComposer {
140
140
  const styleSpec: StyleSpecification = {
141
141
  version: 8,
142
142
  glyphs: this.glyphs,
143
- ...(this.sprite === null ? {} : { sprite: this.sprite }),
143
+ ...(this.sprite ? { sprite: this.sprite } : {}),
144
144
  light: createLightSpec(this.light),
145
145
  sky: createSkySpec(this.sky),
146
146
  // terrain: this.terrain,
@@ -0,0 +1,229 @@
1
+ /**
2
+ * @copyright Sister Software.
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * Jurisdiction coverage overlays rendered from the `mailwoman coverage jurisdictions` tile set: one
7
+ * Natural Earth map unit per jurisdiction, filled by what the training run drew from it, the
8
+ * address sources the register holds for it, its address system, or the variety of address shapes
9
+ * among its drawn rows. Each fill is a default-off layer. Tiles are served from `jurisdictions-v1.pmtiles`.
10
+ */
11
+
12
+ import type {
13
+ ExpressionSpecification,
14
+ FillLayerSpecification,
15
+ LineLayerSpecification,
16
+ VectorSourceSpecification,
17
+ } from "@maplibre/maplibre-gl-style-spec"
18
+ import { interpolateSinebow, interpolateViridis } from "d3-scale-chromatic"
19
+
20
+ import { TileSetSourceID } from "#styles/sources"
21
+
22
+ /**
23
+ * MapLibre source ID for the v1 jurisdiction tiles.
24
+ */
25
+ export const JurisdictionTileSetID = TileSetSourceID("jurisdictions-v1")
26
+
27
+ /**
28
+ * Source-layer name stored in the jurisdiction archive.
29
+ */
30
+ export const JURISDICTION_SOURCE_LAYER = "jurisdictions"
31
+
32
+ /**
33
+ * The fill for a jurisdiction with no reading for the active measure.
34
+ */
35
+ const NO_READING_COLOR = "#9e9e9e"
36
+
37
+ /**
38
+ * The opacity of every jurisdiction fill, so the basemap's labels and borders stay readable.
39
+ */
40
+ const FILL_OPACITY = 0.7
41
+
42
+ /**
43
+ * IDs for the jurisdiction layers.
44
+ *
45
+ * Each fill shares the `jurisdictions-` prefix with the outline.
46
+ */
47
+ export const JurisdictionLayerID = {
48
+ draws: "jurisdictions-draws",
49
+ sources: "jurisdictions-sources",
50
+ addressSystem: "jurisdictions-address-system",
51
+ shapes: "jurisdictions-shapes",
52
+ outline: "jurisdictions-outline",
53
+ } as const
54
+
55
+ /**
56
+ * Create a vector source from its TileJSON URL.
57
+ */
58
+ export function createJurisdictionSource(url: string): VectorSourceSpecification {
59
+ return { type: "vector", url }
60
+ }
61
+
62
+ function jurisdictionFill(id: string, color: ExpressionSpecification): FillLayerSpecification {
63
+ return {
64
+ id,
65
+ type: "fill",
66
+ source: JurisdictionTileSetID,
67
+ "source-layer": JURISDICTION_SOURCE_LAYER,
68
+ layout: { visibility: "none" },
69
+ paint: { "fill-color": color, "fill-opacity": FILL_OPACITY },
70
+ }
71
+ }
72
+
73
+ /**
74
+ * One legend row: a swatch color and what it stands for.
75
+ */
76
+ export interface JurisdictionLegendEntry {
77
+ color: string
78
+ label: string
79
+ }
80
+
81
+ /**
82
+ * The legend for one jurisdiction fill: its title, its rows, and a note for a
83
+ * fill with too many classes to list.
84
+ */
85
+ export interface JurisdictionLegend {
86
+ title: string
87
+ entries: JurisdictionLegendEntry[]
88
+ note?: string
89
+ }
90
+
91
+ /**
92
+ * A stepped fill: grey below the first stop, then one viridis color per stop.
93
+ *
94
+ * The paint expression and the legend are both built from the same stops, so the two cannot disagree.
95
+ */
96
+ function viridisSteps(
97
+ property: string,
98
+ stops: ReadonlyArray<readonly [number, string]>,
99
+ title: string,
100
+ noReading: string
101
+ ): { color: ExpressionSpecification; legend: JurisdictionLegend } {
102
+ const colors = stops.map((_, index) => interpolateViridis(index / Math.max(1, stops.length - 1)))
103
+ const steps = stops.flatMap(([stop], index) => [stop, colors[index]!])
104
+
105
+ return {
106
+ color: ["step", ["coalesce", ["get", property], 0], NO_READING_COLOR, ...steps] as ExpressionSpecification,
107
+ legend: {
108
+ title,
109
+ entries: [
110
+ { color: NO_READING_COLOR, label: noReading },
111
+ ...stops.map(([, label], index) => ({ color: colors[index]!, label })),
112
+ ],
113
+ },
114
+ }
115
+ }
116
+
117
+ const draws = viridisSteps(
118
+ "draws",
119
+ [
120
+ [1, "1–9"],
121
+ [10, "10–99"],
122
+ [100, "100–999"],
123
+ [1000, "1,000–9,999"],
124
+ [10_000, "10,000–99,999"],
125
+ [100_000, "100,000–999,999"],
126
+ [1_000_000, "1,000,000 or more"],
127
+ ],
128
+ "Training rows drawn",
129
+ "none drawn"
130
+ )
131
+
132
+ const sources = viridisSteps(
133
+ "eligible_sources",
134
+ [
135
+ [1, "1"],
136
+ [2, "2"],
137
+ [3, "3"],
138
+ [4, "4 or more"],
139
+ ],
140
+ "Corpus-eligible sources",
141
+ "none eligible"
142
+ )
143
+
144
+ const shapes = viridisSteps(
145
+ "shape_forms",
146
+ [
147
+ [1, "1–2"],
148
+ [3, "3–4"],
149
+ [5, "5–6"],
150
+ [7, "7–8"],
151
+ [9, "9–10"],
152
+ [11, "11 or more"],
153
+ ],
154
+ "Address-shape forms drawn",
155
+ "no rows drawn"
156
+ )
157
+
158
+ /**
159
+ * The number of address-system ids the palette assigns a color.
160
+ *
161
+ * The registry's ids are append-only and number 39 today, so this leaves room for new systems.
162
+ */
163
+ const ADDRESS_SYSTEM_PALETTE_SIZE = 64
164
+
165
+ /**
166
+ * The color of address system `id`: sinebow hues stepped by the golden ratio,
167
+ * so consecutive ids land far apart.
168
+ */
169
+ export function addressSystemColor(id: number): string {
170
+ return interpolateSinebow((id * 0.618) % 1)
171
+ }
172
+
173
+ /**
174
+ * Builds the `match` fill over address-system ids.
175
+ *
176
+ * The tuple type requires at least one branch, so id 0's branch is written out
177
+ * and the rest are spread after it.
178
+ */
179
+ function addressSystemMatch(): ExpressionSpecification {
180
+ const branches = Array.from({ length: ADDRESS_SYSTEM_PALETTE_SIZE - 1 }, (_, index) => [
181
+ index + 1,
182
+ addressSystemColor(index + 1),
183
+ ]).flat()
184
+
185
+ return [
186
+ "match",
187
+ ["to-number", ["coalesce", ["get", "address_system"], -1]],
188
+ 0,
189
+ addressSystemColor(0),
190
+ ...branches,
191
+ NO_READING_COLOR,
192
+ ]
193
+ }
194
+
195
+ const addressSystemFill = addressSystemMatch()
196
+
197
+ /**
198
+ * The legend for each jurisdiction fill, keyed by layer ID.
199
+ */
200
+ export const JurisdictionLegends: Record<string, JurisdictionLegend> = {
201
+ [JurisdictionLayerID.draws]: draws.legend,
202
+ [JurisdictionLayerID.sources]: sources.legend,
203
+ [JurisdictionLayerID.shapes]: shapes.legend,
204
+ [JurisdictionLayerID.addressSystem]: {
205
+ title: "Address system",
206
+ entries: [{ color: NO_READING_COLOR, label: "no layout recorded" }],
207
+ note: "Each system has its own color. Hover a jurisdiction to read its component order.",
208
+ },
209
+ }
210
+
211
+ const outline: LineLayerSpecification = {
212
+ id: JurisdictionLayerID.outline,
213
+ type: "line",
214
+ source: JurisdictionTileSetID,
215
+ "source-layer": JURISDICTION_SOURCE_LAYER,
216
+ layout: { visibility: "none" },
217
+ paint: { "line-color": "#424242", "line-width": 0.5 },
218
+ }
219
+
220
+ /**
221
+ * The hidden jurisdiction layers, each a fill by one measure plus a shared outline.
222
+ */
223
+ export const JurisdictionLayers: Array<FillLayerSpecification | LineLayerSpecification> = [
224
+ jurisdictionFill(JurisdictionLayerID.draws, draws.color),
225
+ jurisdictionFill(JurisdictionLayerID.sources, sources.color),
226
+ jurisdictionFill(JurisdictionLayerID.addressSystem, addressSystemFill),
227
+ jurisdictionFill(JurisdictionLayerID.shapes, shapes.color),
228
+ outline,
229
+ ]
@@ -10,7 +10,7 @@
10
10
  * constant from this file rather than a string literal.
11
11
  *
12
12
  * MapLibre requests one fontstack per URL, so a `text-font` list cannot fall back across files on a static bucket.
13
- * Each Bliss Pro stack therefore carries Bliss Pro's Latin, Greek and Cyrillic glyphs merged over the Noto Sans
13
+ * Each Bliss Pro stack therefore merges Bliss Pro's Latin, Greek and Cyrillic glyphs over the Noto Sans
14
14
  * glyphs of the same style, and a label in any other script draws from the Noto glyphs inside the same file.
15
15
  */
16
16
 
@@ -63,10 +63,10 @@ export class LayerSpecificationList {
63
63
  }
64
64
 
65
65
  public *takeLayer(fromID?: string): Iterable<LayerSpecificationListItem> {
66
- let item: LayerSpecificationListItem | undefined
66
+ let item: LayerSpecificationListItem | null
67
67
 
68
68
  if (fromID) {
69
- item = this.#layersByID.get(fromID)
69
+ item = this.#layersByID.get(fromID) ?? null
70
70
 
71
71
  if (!item) {
72
72
  throw ResourceError.from(404, `Layer with ID ${fromID} not found`)
@@ -80,7 +80,7 @@ export class LayerSpecificationList {
80
80
  while (item) {
81
81
  yield item
82
82
 
83
- item = item[kNext]
83
+ item = item[kNext] ?? null
84
84
  }
85
85
  }
86
86
 
@@ -13,7 +13,7 @@ export interface TileJSON {
13
13
  /**
14
14
  * The version of the TileJSON spec that is implemented by this JSON object.
15
15
  *
16
- * @default "3.0.0"
16
+ * @defaultValue `"3.0.0"`
17
17
  */
18
18
  tilejson: string
19
19
  scheme: "xyz"
@@ -86,7 +86,7 @@ export class StyleSpecificationComposer {
86
86
  const styleSpec = {
87
87
  version: 8,
88
88
  glyphs: this.glyphs,
89
- ...(this.sprite === null ? {} : { sprite: this.sprite }),
89
+ ...(this.sprite ? { sprite: this.sprite } : {}),
90
90
  light: createLightSpec(this.light),
91
91
  sky: createSkySpec(this.sky),
92
92
  // terrain: this.terrain,
@@ -1 +1 @@
1
- {"version":3,"file":"composition.js","sourceRoot":"","sources":["../../lib/base/composition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composition.js","sourceRoot":"","sources":["../../lib/base/composition.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAC1E,OAAO,EACN,sBAAsB,GAGtB,MAAM,gBAAgB,CAAA;AAGvB,aAAa;AAEb,wBAAwB;AAExB,MAAM,UAAU,eAAe,CAAC,IAAkC;IACjE,OAAO;QACN,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE;YACT,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,YAAY;YAChB,CAAC,CAAC,EAAE,QAAQ;SACZ;QACD,GAAG,IAAI;KACP,CAAA;AACF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAgC;IAC7D,OAAO;QACN,WAAW,EAAE,SAAS;QACtB,eAAe,EAAE,qBAAqB;QACtC,WAAW,EAAE,oBAAoB;QACjC,mBAAmB,EAAE,IAAI;QACzB,mBAAmB,EAAE,IAAI;QACzB,kBAAkB,EAAE,GAAG;QACvB,GAAG,IAAI;KACP,CAAA;AACF,CAAC;AAED,aAAa;AAEb,4BAA4B;AAE5B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,qEAAqE,CAAA;AAEzG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,wDAAwD,CAAA;AA8B5F;;GAEG;AACH,MAAM,OAAO,0BAA0B;IACtC,UAAU,CAAwB;IAClC,KAAK,CAAoB;IACzB,GAAG,CAAkB;IACrB,gCAAgC;IAChC,OAAO,CAAqB;IAC5B,MAAM,CAAe;IACrB,MAAM,CAAQ;IAEd,YAAY,IAAmC;QAC9C,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxC,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;QAC5E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,oBAAoB,CAAA;QAEjD,mBAAmB;QACnB,6BAA6B;QAC7B,oBAAoB;QACpB,IAAI;QAEJ,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAA;QAE5G,IAAI,CAAC,OAAO,GAAG;YACd,GAAG,IAAI,CAAC,OAAO;YACf,gDAAgD;YAChD,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrE,CAAA;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,CAAA;QAE3E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC9B,CAAC;IACF,CAAC;IAED,IAAW,MAAM;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACnC,CAAC;IAED,MAAM;QACL,MAAM,SAAS,GAAuB;YACrC,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;YAClC,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;YAC5B,yBAAyB;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;SACnB,CAAA;QAED,OAAO,SAAS,CAAA;IACjB,CAAC;IAED,IAAI;QACH,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;IACrB,CAAC;CACD;AAED,aAAa"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @copyright Sister Software.
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * Jurisdiction coverage overlays rendered from the `mailwoman coverage jurisdictions` tile set: one
7
+ * Natural Earth map unit per jurisdiction, filled by what the training run drew from it, the
8
+ * address sources the register holds for it, its address system, or the variety of address shapes
9
+ * among its drawn rows. Each fill is a default-off layer. Tiles are served from `jurisdictions-v1.pmtiles`.
10
+ */
11
+ import type { FillLayerSpecification, LineLayerSpecification, VectorSourceSpecification } from "@maplibre/maplibre-gl-style-spec";
12
+ import { TileSetSourceID } from "#styles/sources";
13
+ /**
14
+ * MapLibre source ID for the v1 jurisdiction tiles.
15
+ */
16
+ export declare const JurisdictionTileSetID: TileSetSourceID<"jurisdictions-v1">;
17
+ /**
18
+ * Source-layer name stored in the jurisdiction archive.
19
+ */
20
+ export declare const JURISDICTION_SOURCE_LAYER = "jurisdictions";
21
+ /**
22
+ * IDs for the jurisdiction layers.
23
+ *
24
+ * Each fill shares the `jurisdictions-` prefix with the outline.
25
+ */
26
+ export declare const JurisdictionLayerID: {
27
+ readonly draws: "jurisdictions-draws";
28
+ readonly sources: "jurisdictions-sources";
29
+ readonly addressSystem: "jurisdictions-address-system";
30
+ readonly shapes: "jurisdictions-shapes";
31
+ readonly outline: "jurisdictions-outline";
32
+ };
33
+ /**
34
+ * Create a vector source from its TileJSON URL.
35
+ */
36
+ export declare function createJurisdictionSource(url: string): VectorSourceSpecification;
37
+ /**
38
+ * One legend row: a swatch color and what it stands for.
39
+ */
40
+ export interface JurisdictionLegendEntry {
41
+ color: string;
42
+ label: string;
43
+ }
44
+ /**
45
+ * The legend for one jurisdiction fill: its title, its rows, and a note for a
46
+ * fill with too many classes to list.
47
+ */
48
+ export interface JurisdictionLegend {
49
+ title: string;
50
+ entries: JurisdictionLegendEntry[];
51
+ note?: string;
52
+ }
53
+ /**
54
+ * The color of address system `id`: sinebow hues stepped by the golden ratio,
55
+ * so consecutive ids land far apart.
56
+ */
57
+ export declare function addressSystemColor(id: number): string;
58
+ /**
59
+ * The legend for each jurisdiction fill, keyed by layer ID.
60
+ */
61
+ export declare const JurisdictionLegends: Record<string, JurisdictionLegend>;
62
+ /**
63
+ * The hidden jurisdiction layers, each a fill by one measure plus a shared outline.
64
+ */
65
+ export declare const JurisdictionLayers: Array<FillLayerSpecification | LineLayerSpecification>;
66
+ //# sourceMappingURL=jurisdictions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jurisdictions.d.ts","sourceRoot":"","sources":["../lib/jurisdictions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAEX,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,MAAM,kCAAkC,CAAA;AAGzC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,qBAAqB,qCAAsC,CAAA;AAExE;;GAEG;AACH,eAAO,MAAM,yBAAyB,kBAAkB,CAAA;AAYxD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;aAC/B,KAAK,EAAE,qBAAqB;aAC5B,OAAO,EAAE,uBAAuB;aAChC,aAAa,EAAE,8BAA8B;aAC7C,MAAM,EAAE,sBAAsB;aAC9B,OAAO,EAAE,uBAAuB;CACvB,CAAA;AAEV;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,CAE/E;AAaD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,uBAAuB,EAAE,CAAA;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AA4ED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAErD;AA0BD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CASlE,CAAA;AAWD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,sBAAsB,GAAG,sBAAsB,CAMrF,CAAA"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * @copyright Sister Software.
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * Jurisdiction coverage overlays rendered from the `mailwoman coverage jurisdictions` tile set: one
7
+ * Natural Earth map unit per jurisdiction, filled by what the training run drew from it, the
8
+ * address sources the register holds for it, its address system, or the variety of address shapes
9
+ * among its drawn rows. Each fill is a default-off layer. Tiles are served from `jurisdictions-v1.pmtiles`.
10
+ */
11
+ import { interpolateSinebow, interpolateViridis } from "d3-scale-chromatic";
12
+ import { TileSetSourceID } from "#styles/sources";
13
+ /**
14
+ * MapLibre source ID for the v1 jurisdiction tiles.
15
+ */
16
+ export const JurisdictionTileSetID = TileSetSourceID("jurisdictions-v1");
17
+ /**
18
+ * Source-layer name stored in the jurisdiction archive.
19
+ */
20
+ export const JURISDICTION_SOURCE_LAYER = "jurisdictions";
21
+ /**
22
+ * The fill for a jurisdiction with no reading for the active measure.
23
+ */
24
+ const NO_READING_COLOR = "#9e9e9e";
25
+ /**
26
+ * The opacity of every jurisdiction fill, so the basemap's labels and borders stay readable.
27
+ */
28
+ const FILL_OPACITY = 0.7;
29
+ /**
30
+ * IDs for the jurisdiction layers.
31
+ *
32
+ * Each fill shares the `jurisdictions-` prefix with the outline.
33
+ */
34
+ export const JurisdictionLayerID = {
35
+ draws: "jurisdictions-draws",
36
+ sources: "jurisdictions-sources",
37
+ addressSystem: "jurisdictions-address-system",
38
+ shapes: "jurisdictions-shapes",
39
+ outline: "jurisdictions-outline",
40
+ };
41
+ /**
42
+ * Create a vector source from its TileJSON URL.
43
+ */
44
+ export function createJurisdictionSource(url) {
45
+ return { type: "vector", url };
46
+ }
47
+ function jurisdictionFill(id, color) {
48
+ return {
49
+ id,
50
+ type: "fill",
51
+ source: JurisdictionTileSetID,
52
+ "source-layer": JURISDICTION_SOURCE_LAYER,
53
+ layout: { visibility: "none" },
54
+ paint: { "fill-color": color, "fill-opacity": FILL_OPACITY },
55
+ };
56
+ }
57
+ /**
58
+ * A stepped fill: grey below the first stop, then one viridis color per stop.
59
+ *
60
+ * The paint expression and the legend are both built from the same stops, so the two cannot disagree.
61
+ */
62
+ function viridisSteps(property, stops, title, noReading) {
63
+ const colors = stops.map((_, index) => interpolateViridis(index / Math.max(1, stops.length - 1)));
64
+ const steps = stops.flatMap(([stop], index) => [stop, colors[index]]);
65
+ return {
66
+ color: ["step", ["coalesce", ["get", property], 0], NO_READING_COLOR, ...steps],
67
+ legend: {
68
+ title,
69
+ entries: [
70
+ { color: NO_READING_COLOR, label: noReading },
71
+ ...stops.map(([, label], index) => ({ color: colors[index], label })),
72
+ ],
73
+ },
74
+ };
75
+ }
76
+ const draws = viridisSteps("draws", [
77
+ [1, "1–9"],
78
+ [10, "10–99"],
79
+ [100, "100–999"],
80
+ [1000, "1,000–9,999"],
81
+ [10_000, "10,000–99,999"],
82
+ [100_000, "100,000–999,999"],
83
+ [1_000_000, "1,000,000 or more"],
84
+ ], "Training rows drawn", "none drawn");
85
+ const sources = viridisSteps("eligible_sources", [
86
+ [1, "1"],
87
+ [2, "2"],
88
+ [3, "3"],
89
+ [4, "4 or more"],
90
+ ], "Corpus-eligible sources", "none eligible");
91
+ const shapes = viridisSteps("shape_forms", [
92
+ [1, "1–2"],
93
+ [3, "3–4"],
94
+ [5, "5–6"],
95
+ [7, "7–8"],
96
+ [9, "9–10"],
97
+ [11, "11 or more"],
98
+ ], "Address-shape forms drawn", "no rows drawn");
99
+ /**
100
+ * The number of address-system ids the palette assigns a color.
101
+ *
102
+ * The registry's ids are append-only and number 39 today, so this leaves room for new systems.
103
+ */
104
+ const ADDRESS_SYSTEM_PALETTE_SIZE = 64;
105
+ /**
106
+ * The color of address system `id`: sinebow hues stepped by the golden ratio,
107
+ * so consecutive ids land far apart.
108
+ */
109
+ export function addressSystemColor(id) {
110
+ return interpolateSinebow((id * 0.618) % 1);
111
+ }
112
+ /**
113
+ * Builds the `match` fill over address-system ids.
114
+ *
115
+ * The tuple type requires at least one branch, so id 0's branch is written out
116
+ * and the rest are spread after it.
117
+ */
118
+ function addressSystemMatch() {
119
+ const branches = Array.from({ length: ADDRESS_SYSTEM_PALETTE_SIZE - 1 }, (_, index) => [
120
+ index + 1,
121
+ addressSystemColor(index + 1),
122
+ ]).flat();
123
+ return [
124
+ "match",
125
+ ["to-number", ["coalesce", ["get", "address_system"], -1]],
126
+ 0,
127
+ addressSystemColor(0),
128
+ ...branches,
129
+ NO_READING_COLOR,
130
+ ];
131
+ }
132
+ const addressSystemFill = addressSystemMatch();
133
+ /**
134
+ * The legend for each jurisdiction fill, keyed by layer ID.
135
+ */
136
+ export const JurisdictionLegends = {
137
+ [JurisdictionLayerID.draws]: draws.legend,
138
+ [JurisdictionLayerID.sources]: sources.legend,
139
+ [JurisdictionLayerID.shapes]: shapes.legend,
140
+ [JurisdictionLayerID.addressSystem]: {
141
+ title: "Address system",
142
+ entries: [{ color: NO_READING_COLOR, label: "no layout recorded" }],
143
+ note: "Each system has its own color. Hover a jurisdiction to read its component order.",
144
+ },
145
+ };
146
+ const outline = {
147
+ id: JurisdictionLayerID.outline,
148
+ type: "line",
149
+ source: JurisdictionTileSetID,
150
+ "source-layer": JURISDICTION_SOURCE_LAYER,
151
+ layout: { visibility: "none" },
152
+ paint: { "line-color": "#424242", "line-width": 0.5 },
153
+ };
154
+ /**
155
+ * The hidden jurisdiction layers, each a fill by one measure plus a shared outline.
156
+ */
157
+ export const JurisdictionLayers = [
158
+ jurisdictionFill(JurisdictionLayerID.draws, draws.color),
159
+ jurisdictionFill(JurisdictionLayerID.sources, sources.color),
160
+ jurisdictionFill(JurisdictionLayerID.addressSystem, addressSystemFill),
161
+ jurisdictionFill(JurisdictionLayerID.shapes, shapes.color),
162
+ outline,
163
+ ];
164
+ //# sourceMappingURL=jurisdictions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jurisdictions.js","sourceRoot":"","sources":["../lib/jurisdictions.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@
10
10
  * constant from this file rather than a string literal.
11
11
  *
12
12
  * MapLibre requests one fontstack per URL, so a `text-font` list cannot fall back across files on a static bucket.
13
- * Each Bliss Pro stack therefore carries Bliss Pro's Latin, Greek and Cyrillic glyphs merged over the Noto Sans
13
+ * Each Bliss Pro stack therefore merges Bliss Pro's Latin, Greek and Cyrillic glyphs over the Noto Sans
14
14
  * glyphs of the same style, and a label in any other script draws from the Noto glyphs inside the same file.
15
15
  */
16
16
  /**
@@ -10,7 +10,7 @@
10
10
  * constant from this file rather than a string literal.
11
11
  *
12
12
  * MapLibre requests one fontstack per URL, so a `text-font` list cannot fall back across files on a static bucket.
13
- * Each Bliss Pro stack therefore carries Bliss Pro's Latin, Greek and Cyrillic glyphs merged over the Noto Sans
13
+ * Each Bliss Pro stack therefore merges Bliss Pro's Latin, Greek and Cyrillic glyphs over the Noto Sans
14
14
  * glyphs of the same style, and a label in any other script draws from the Noto glyphs inside the same file.
15
15
  */
16
16
  /**
@@ -41,7 +41,7 @@ export class LayerSpecificationList {
41
41
  *takeLayer(fromID) {
42
42
  let item;
43
43
  if (fromID) {
44
- item = this.#layersByID.get(fromID);
44
+ item = this.#layersByID.get(fromID) ?? null;
45
45
  if (!item) {
46
46
  throw ResourceError.from(404, `Layer with ID ${fromID} not found`);
47
47
  }
@@ -53,7 +53,7 @@ export class LayerSpecificationList {
53
53
  }
54
54
  while (item) {
55
55
  yield item;
56
- item = item[kNext];
56
+ item = item[kNext] ?? null;
57
57
  }
58
58
  }
59
59
  *[Symbol.iterator]() {
@@ -1 +1 @@
1
- {"version":3,"file":"layers.js","sourceRoot":"","sources":["../../lib/styles/layers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAGtD,MAAM,KAAK,GAAkB,MAAM,CAAC,MAAM,CAAC,CAAA;AAC3C,MAAM,KAAK,GAAkB,MAAM,CAAC,MAAM,CAAC,CAAA;AAE3C;;GAEG;AACH,MAAM,UAAU,OAAO,CACtB,SAAoB,EACpB,KAAc;IAEd,OAAO,GAAG,SAAS,IAAI,KAAK,EAAE,CAAA;AAC/B,CAAC;AAUD,MAAM,OAAO,sBAAsB;IAClC,WAAW,GAAG,IAAI,GAAG,EAAsC,CAAA;IAC3D,UAAU,CAAwC;IAElD,YAAY,WAAiC;QAC5C,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QACtC,CAAC;QAED,0FAA0F;QAC1F,mFAAmF;QACnF,6EAA6E;QAC7E,MAAM,MAAM,GAAiC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAA;QAEvF,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC9B,MAAM,IAAI,GAA2C,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;YACtE,MAAM,IAAI,GAA2C,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;YAEtE,IAAI,IAAI,EAAE,CAAC;gBACV,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;YACnB,CAAC;YAED,IAAI,IAAI,EAAE,CAAC;gBACV,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;YACnB,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YAEnC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACjB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;YACvB,CAAC;QACF,CAAC,CAAC,CAAA;IACH,CAAC;IAEM,CAAC,SAAS,CAAC,MAAe;QAChC,IAAI,IAA4C,CAAA;QAEhD,IAAI,MAAM,EAAE,CAAC;YACZ,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAEnC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACX,MAAM,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,MAAM,YAAY,CAAC,CAAA;YACnE,CAAC;QACF,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,OAAM;YAE5B,IAAI,GAAG,IAAI,CAAC,UAAU,CAAA;QACvB,CAAC;QAED,OAAO,IAAI,EAAE,CAAC;YACb,MAAM,IAAI,CAAA;YAEV,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACF,CAAC;IAEM,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QACxB,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;IACxB,CAAC;IAEM,MAAM,CAAC,KAAkC;QAC/C,MAAM,aAAa,GAA+B,KAAK,CAAA;QAEvD,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,aAAa,CAAC,EAAE,oDAAoD,CAAC,CAAA;QAC9G,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAExD,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClB,MAAM,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,wBAAwB,KAAK,CAAC,EAAE,gCAAgC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAA;YACjH,CAAC;YAED,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;YAE/B,IAAI,IAAI,EAAE,CAAC;gBACV,IAAI,CAAC,KAAK,CAAC,GAAG,aAAa,CAAA;YAC5B,CAAC;YAED,WAAW,CAAC,KAAK,CAAC,GAAG,aAAa,CAAA;YAClC,aAAa,CAAC,KAAK,CAAC,GAAG,WAAW,CAAA;QACnC,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAEtD,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjB,MAAM,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,wBAAwB,KAAK,CAAC,EAAE,+BAA+B,KAAK,CAAC,OAAO,GAAG,CAAC,CAAA;YAC/G,CAAC;YAED,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;YAE9B,IAAI,IAAI,EAAE,CAAC;gBACV,IAAI,CAAC,KAAK,CAAC,GAAG,aAAa,CAAA;gBAC3B,aAAa,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;YAC5B,CAAC;YAED,UAAU,CAAC,KAAK,CAAC,GAAG,aAAa,CAAA;YACjC,aAAa,CAAC,KAAK,CAAC,GAAG,UAAU,CAAA;QAClC,CAAC;aAAM,CAAC;YACP,MAAM,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,KAAK,CAAC,EAAE,mDAAmD,CAAC,CAAA;QACrG,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;IACtD,CAAC;IAEM,MAAM,CAAC,OAAe;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAE1C,IAAI,CAAC,IAAI;YAAE,OAAM;QAEjB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;QAExB,IAAI,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;QACnB,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;QACnB,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;CACD"}
1
+ {"version":3,"file":"layers.js","sourceRoot":"","sources":["../../lib/styles/layers.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export interface TileJSON {
12
12
  /**
13
13
  * The version of the TileJSON spec that is implemented by this JSON object.
14
14
  *
15
- * @default "3.0.0"
15
+ * @defaultValue `"3.0.0"`
16
16
  */
17
17
  tilejson: string;
18
18
  scheme: "xyz";
@@ -1 +1 @@
1
- {"version":"7.0.2","root":["../lib/base/composition.test.ts","../lib/planetary/style.test.ts","../lib/tiles/coords.test.ts"],"packageJsons":["../../../node_modules/@mapbox/point-geometry/package.json","../../../node_modules/@mapbox/tiny-sdf/package.json","../../../node_modules/@maplibre/geojson-vt/package.json","../../../node_modules/@maplibre/maplibre-gl-style-spec/package.json","../../../node_modules/@maplibre/vt-pbf/package.json","../../../node_modules/@standard-schema/spec/package.json","../../../node_modules/@types/chai/package.json","../../../node_modules/@types/deep-eql/package.json","../../../node_modules/@types/node/package.json","../../../node_modules/@vitest/browser-playwright/package.json","../../../node_modules/@vitest/coverage-v8/package.json","../../../node_modules/@vitest/expect/package.json","../../../node_modules/@vitest/mocker/package.json","../../../node_modules/@vitest/pretty-format/package.json","../../../node_modules/@vitest/runner/package.json","../../../node_modules/@vitest/snapshot/package.json","../../../node_modules/@vitest/spy/package.json","../../../node_modules/@vitest/utils/package.json","../../../node_modules/assertion-error/package.json","../../../node_modules/buffer/package.json","../../../node_modules/chai/package.json","../../../node_modules/deep-eql/package.json","../../../node_modules/esbuild/package.json","../../../node_modules/events/package.json","../../../node_modules/expect-type/package.json","../../../node_modules/gl-matrix/package.json","../../../node_modules/jiti/package.json","../../../node_modules/jsdom/package.json","../../../node_modules/kdbush/package.json","../../../node_modules/maplibre-gl/package.json","../../../node_modules/punycode/package.json","../../../node_modules/string_decoder/package.json","../../../node_modules/tagged-tag/package.json","../../../node_modules/terser/package.json","../../../node_modules/tinybench/package.json","../../../node_modules/tinyrainbow/package.json","../../../node_modules/type-fest/package.json","../../../node_modules/undici-types/package.json","../../../node_modules/vite/package.json","../../../node_modules/vitest/package.json","../../../node_modules/yaml/package.json","../package.json"],"missingPackageJsons":["../../../node_modules/@edge-runtime/vm/package.json","../../../node_modules/@maplibre/geojson-vt/dist/package.json","../../../node_modules/@maplibre/maplibre-gl-style-spec/dist/package.json","../../../node_modules/@maplibre/vt-pbf/dist/package.json","../../../node_modules/@opentelemetry/api/package.json","../../../node_modules/@standard-schema/spec/dist/package.json","../../../node_modules/@types/assert/package.json","../../../node_modules/@types/assert/strict/package.json","../../../node_modules/@types/async_hooks/package.json","../../../node_modules/@types/child_process/package.json","../../../node_modules/@types/cluster/package.json","../../../node_modules/@types/console/package.json","../../../node_modules/@types/constants/package.json","../../../node_modules/@types/crypto/package.json","../../../node_modules/@types/dgram/package.json","../../../node_modules/@types/diagnostics_channel/package.json","../../../node_modules/@types/dns/package.json","../../../node_modules/@types/dns/promises/package.json","../../../node_modules/@types/domain/package.json","../../../node_modules/@types/events/package.json","../../../node_modules/@types/fs/package.json","../../../node_modules/@types/fs/promises/package.json","../../../node_modules/@types/http/package.json","../../../node_modules/@types/http2/package.json","../../../node_modules/@types/https/package.json","../../../node_modules/@types/inspector/package.json","../../../node_modules/@types/inspector/promises/package.json","../../../node_modules/@types/module/package.json","../../../node_modules/@types/net/package.json","../../../node_modules/@types/node/assert/package.json","../../../node_modules/@types/node/dns/package.json","../../../node_modules/@types/node/fs/package.json","../../../node_modules/@types/node/inspector/package.json","../../../node_modules/@types/node/path/package.json","../../../node_modules/@types/node/readline/package.json","../../../node_modules/@types/node/stream/package.json","../../../node_modules/@types/node/test/package.json","../../../node_modules/@types/node/timers/package.json","../../../node_modules/@types/node/util/package.json","../../../node_modules/@types/node/web-globals/package.json","../../../node_modules/@types/node/zlib/package.json","../../../node_modules/@types/os/package.json","../../../node_modules/@types/path/package.json","../../../node_modules/@types/path/posix/package.json","../../../node_modules/@types/path/win32/package.json","../../../node_modules/@types/perf_hooks/package.json","../../../node_modules/@types/process/package.json","../../../node_modules/@types/punycode/package.json","../../../node_modules/@types/querystring/package.json","../../../node_modules/@types/readline/package.json","../../../node_modules/@types/readline/promises/package.json","../../../node_modules/@types/repl/package.json","../../../node_modules/@types/stream/consumers/package.json","../../../node_modules/@types/stream/iter/package.json","../../../node_modules/@types/stream/package.json","../../../node_modules/@types/stream/promises/package.json","../../../node_modules/@types/stream/web/package.json","../../../node_modules/@types/string_decoder/package.json","../../../node_modules/@types/timers/package.json","../../../node_modules/@types/timers/promises/package.json","../../../node_modules/@types/tls/package.json","../../../node_modules/@types/trace_events/package.json","../../../node_modules/@types/tty/package.json","../../../node_modules/@types/url/package.json","../../../node_modules/@types/util/package.json","../../../node_modules/@types/util/types/package.json","../../../node_modules/@types/v8/package.json","../../../node_modules/@types/vm/package.json","../../../node_modules/@types/wasi/package.json","../../../node_modules/@types/worker_threads/package.json","../../../node_modules/@types/zlib/package.json","../../../node_modules/@vitejs/devtools/package.json","../../../node_modules/@vitest/browser-preview/package.json","../../../node_modules/@vitest/browser-webdriverio/package.json","../../../node_modules/@vitest/coverage-istanbul/package.json","../../../node_modules/@vitest/expect/dist/package.json","../../../node_modules/@vitest/mocker/dist/package.json","../../../node_modules/@vitest/pretty-format/dist/package.json","../../../node_modules/@vitest/runner/dist/package.json","../../../node_modules/@vitest/runner/utils/package.json","../../../node_modules/@vitest/snapshot/dist/package.json","../../../node_modules/@vitest/spy/dist/package.json","../../../node_modules/@vitest/ui/package.json","../../../node_modules/@vitest/utils/diff/package.json","../../../node_modules/@vitest/utils/display/package.json","../../../node_modules/@vitest/utils/dist/package.json","../../../node_modules/assert/package.json","../../../node_modules/assert/strict/package.json","../../../node_modules/async_hooks/package.json","../../../node_modules/child_process/package.json","../../../node_modules/cluster/package.json","../../../node_modules/console/package.json","../../../node_modules/constants/package.json","../../../node_modules/crypto/package.json","../../../node_modules/dgram/package.json","../../../node_modules/diagnostics_channel/package.json","../../../node_modules/dns/package.json","../../../node_modules/dns/promises/package.json","../../../node_modules/domain/package.json","../../../node_modules/expect-type/dist/package.json","../../../node_modules/fs/package.json","../../../node_modules/fs/promises/package.json","../../../node_modules/happy-dom/package.json","../../../node_modules/http/package.json","../../../node_modules/http2/package.json","../../../node_modules/https/package.json","../../../node_modules/inspector/package.json","../../../node_modules/inspector/promises/package.json","../../../node_modules/less/package.json","../../../node_modules/maplibre-gl/dist/package.json","../../../node_modules/module/package.json","../../../node_modules/msw/package.json","../../../node_modules/net/package.json","../../../node_modules/os/package.json","../../../node_modules/path/package.json","../../../node_modules/path/posix/package.json","../../../node_modules/path/win32/package.json","../../../node_modules/perf_hooks/package.json","../../../node_modules/process/package.json","../../../node_modules/querystring/package.json","../../../node_modules/readline/package.json","../../../node_modules/readline/promises/package.json","../../../node_modules/repl/package.json","../../../node_modules/sass-embedded/package.json","../../../node_modules/sass/package.json","../../../node_modules/stream/consumers/package.json","../../../node_modules/stream/iter/package.json","../../../node_modules/stream/package.json","../../../node_modules/stream/promises/package.json","../../../node_modules/stream/web/package.json","../../../node_modules/stylus/package.json","../../../node_modules/sugarss/package.json","../../../node_modules/timers/package.json","../../../node_modules/timers/promises/package.json","../../../node_modules/tinybench/dist/package.json","../../../node_modules/tinyrainbow/dist/package.json","../../../node_modules/tls/package.json","../../../node_modules/trace_events/package.json","../../../node_modules/tsx/package.json","../../../node_modules/tty/package.json","../../../node_modules/type-fest/source/internal/package.json","../../../node_modules/type-fest/source/package.json","../../../node_modules/url/package.json","../../../node_modules/util/package.json","../../../node_modules/util/types/package.json","../../../node_modules/v8/package.json","../../../node_modules/vite/dist/node/chunks/package.json","../../../node_modules/vite/dist/node/package.json","../../../node_modules/vite/dist/package.json","../../../node_modules/vite/module-runner/package.json","../../../node_modules/vite/types/package.json","../../../node_modules/vitest/dist/chunks/package.json","../../../node_modules/vitest/dist/package.json","../../../node_modules/vm/package.json","../../../node_modules/wasi/package.json","../../../node_modules/worker_threads/package.json","../../../node_modules/zlib/package.json"]}
1
+ {"version":"7.0.2","root":["../lib/jurisdictions.test.ts","../lib/base/composition.test.ts","../lib/planetary/style.test.ts","../lib/tiles/coords.test.ts"],"packageJsons":["../../../node_modules/@mapbox/point-geometry/package.json","../../../node_modules/@mapbox/tiny-sdf/package.json","../../../node_modules/@maplibre/geojson-vt/package.json","../../../node_modules/@maplibre/maplibre-gl-style-spec/package.json","../../../node_modules/@maplibre/vt-pbf/package.json","../../../node_modules/@types/chai/package.json","../../../node_modules/@types/deep-eql/package.json","../../../node_modules/@types/node/package.json","../../../node_modules/@vitest/browser-playwright/package.json","../../../node_modules/@vitest/coverage-v8/package.json","../../../node_modules/@vitest/mocker/package.json","../../../node_modules/@vitest/ui/package.json","../../../node_modules/assertion-error/package.json","../../../node_modules/buffer/package.json","../../../node_modules/chai/package.json","../../../node_modules/deep-eql/package.json","../../../node_modules/esbuild/package.json","../../../node_modules/events/package.json","../../../node_modules/expect-type/package.json","../../../node_modules/gl-matrix/package.json","../../../node_modules/jiti/package.json","../../../node_modules/jsdom/package.json","../../../node_modules/kdbush/package.json","../../../node_modules/maplibre-gl/package.json","../../../node_modules/punycode/package.json","../../../node_modules/string_decoder/package.json","../../../node_modules/tagged-tag/package.json","../../../node_modules/terser/package.json","../../../node_modules/tinybench/package.json","../../../node_modules/type-fest/package.json","../../../node_modules/undici-types/package.json","../../../node_modules/vite/package.json","../../../node_modules/vitest/package.json","../../../node_modules/yaml/package.json","../package.json"],"missingPackageJsons":["../../../node_modules/@edge-runtime/vm/package.json","../../../node_modules/@maplibre/geojson-vt/dist/package.json","../../../node_modules/@maplibre/maplibre-gl-style-spec/dist/package.json","../../../node_modules/@maplibre/vt-pbf/dist/package.json","../../../node_modules/@opentelemetry/api/package.json","../../../node_modules/@types/assert/package.json","../../../node_modules/@types/assert/strict/package.json","../../../node_modules/@types/async_hooks/package.json","../../../node_modules/@types/child_process/package.json","../../../node_modules/@types/cluster/package.json","../../../node_modules/@types/console/package.json","../../../node_modules/@types/constants/package.json","../../../node_modules/@types/crypto/package.json","../../../node_modules/@types/dgram/package.json","../../../node_modules/@types/diagnostics_channel/package.json","../../../node_modules/@types/dns/package.json","../../../node_modules/@types/dns/promises/package.json","../../../node_modules/@types/domain/package.json","../../../node_modules/@types/events/package.json","../../../node_modules/@types/fs/package.json","../../../node_modules/@types/fs/promises/package.json","../../../node_modules/@types/http/package.json","../../../node_modules/@types/http2/package.json","../../../node_modules/@types/https/package.json","../../../node_modules/@types/inspector/package.json","../../../node_modules/@types/inspector/promises/package.json","../../../node_modules/@types/module/package.json","../../../node_modules/@types/net/package.json","../../../node_modules/@types/node/assert/package.json","../../../node_modules/@types/node/dns/package.json","../../../node_modules/@types/node/fs/package.json","../../../node_modules/@types/node/inspector/package.json","../../../node_modules/@types/node/path/package.json","../../../node_modules/@types/node/readline/package.json","../../../node_modules/@types/node/stream/package.json","../../../node_modules/@types/node/test/package.json","../../../node_modules/@types/node/timers/package.json","../../../node_modules/@types/node/util/package.json","../../../node_modules/@types/node/web-globals/package.json","../../../node_modules/@types/node/zlib/package.json","../../../node_modules/@types/os/package.json","../../../node_modules/@types/path/package.json","../../../node_modules/@types/path/posix/package.json","../../../node_modules/@types/path/win32/package.json","../../../node_modules/@types/perf_hooks/package.json","../../../node_modules/@types/process/package.json","../../../node_modules/@types/punycode/package.json","../../../node_modules/@types/querystring/package.json","../../../node_modules/@types/readline/package.json","../../../node_modules/@types/readline/promises/package.json","../../../node_modules/@types/repl/package.json","../../../node_modules/@types/stream/consumers/package.json","../../../node_modules/@types/stream/iter/package.json","../../../node_modules/@types/stream/package.json","../../../node_modules/@types/stream/promises/package.json","../../../node_modules/@types/stream/web/package.json","../../../node_modules/@types/string_decoder/package.json","../../../node_modules/@types/timers/package.json","../../../node_modules/@types/timers/promises/package.json","../../../node_modules/@types/tls/package.json","../../../node_modules/@types/trace_events/package.json","../../../node_modules/@types/tty/package.json","../../../node_modules/@types/url/package.json","../../../node_modules/@types/util/package.json","../../../node_modules/@types/util/types/package.json","../../../node_modules/@types/v8/package.json","../../../node_modules/@types/vm/package.json","../../../node_modules/@types/wasi/package.json","../../../node_modules/@types/worker_threads/package.json","../../../node_modules/@types/zlib/package.json","../../../node_modules/@vitejs/devtools/package.json","../../../node_modules/@vitest/browser-preview/package.json","../../../node_modules/@vitest/browser-webdriverio/package.json","../../../node_modules/@vitest/coverage-istanbul/package.json","../../../node_modules/@vitest/mocker/dist/package.json","../../../node_modules/assert/package.json","../../../node_modules/assert/strict/package.json","../../../node_modules/async_hooks/package.json","../../../node_modules/child_process/package.json","../../../node_modules/cluster/package.json","../../../node_modules/console/package.json","../../../node_modules/constants/package.json","../../../node_modules/crypto/package.json","../../../node_modules/dgram/package.json","../../../node_modules/diagnostics_channel/package.json","../../../node_modules/dns/package.json","../../../node_modules/dns/promises/package.json","../../../node_modules/domain/package.json","../../../node_modules/expect-type/dist/package.json","../../../node_modules/fs/package.json","../../../node_modules/fs/promises/package.json","../../../node_modules/happy-dom/package.json","../../../node_modules/http/package.json","../../../node_modules/http2/package.json","../../../node_modules/https/package.json","../../../node_modules/inspector/package.json","../../../node_modules/inspector/promises/package.json","../../../node_modules/less/package.json","../../../node_modules/maplibre-gl/dist/package.json","../../../node_modules/module/package.json","../../../node_modules/msw/package.json","../../../node_modules/net/package.json","../../../node_modules/os/package.json","../../../node_modules/path/package.json","../../../node_modules/path/posix/package.json","../../../node_modules/path/win32/package.json","../../../node_modules/perf_hooks/package.json","../../../node_modules/process/package.json","../../../node_modules/querystring/package.json","../../../node_modules/readline/package.json","../../../node_modules/readline/promises/package.json","../../../node_modules/repl/package.json","../../../node_modules/sass-embedded/package.json","../../../node_modules/sass/package.json","../../../node_modules/stream/consumers/package.json","../../../node_modules/stream/iter/package.json","../../../node_modules/stream/package.json","../../../node_modules/stream/promises/package.json","../../../node_modules/stream/web/package.json","../../../node_modules/stylus/package.json","../../../node_modules/sugarss/package.json","../../../node_modules/timers/package.json","../../../node_modules/timers/promises/package.json","../../../node_modules/tinybench/dist/package.json","../../../node_modules/tls/package.json","../../../node_modules/trace_events/package.json","../../../node_modules/tsx/package.json","../../../node_modules/tty/package.json","../../../node_modules/type-fest/source/internal/package.json","../../../node_modules/type-fest/source/package.json","../../../node_modules/url/package.json","../../../node_modules/util/package.json","../../../node_modules/util/types/package.json","../../../node_modules/v8/package.json","../../../node_modules/vite/dist/node/chunks/package.json","../../../node_modules/vite/dist/node/package.json","../../../node_modules/vite/dist/package.json","../../../node_modules/vite/module-runner/package.json","../../../node_modules/vite/types/package.json","../../../node_modules/vitest/dist/chunks/package.json","../../../node_modules/vitest/dist/package.json","../../../node_modules/vitest/node_modules/@vitest/mocker/package.json","../../../node_modules/vitest/node_modules/chai/package.json","../../../node_modules/vitest/node_modules/expect-type/package.json","../../../node_modules/vitest/node_modules/tinybench/package.json","../../../node_modules/vitest/node_modules/vite/module-runner/package.json","../../../node_modules/vitest/node_modules/vite/package.json","../../../node_modules/vm/package.json","../../../node_modules/wasi/package.json","../../../node_modules/worker_threads/package.json","../../../node_modules/zlib/package.json"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mailwoman/cartographer",
3
- "version": "10.1.0",
3
+ "version": "10.2.0",
4
4
  "description": "Mapping utilities for the Mailwoman geo-spatial data pipeline.",
5
5
  "license": "AGPL-3.0-only OR LicenseRef-Commercial",
6
6
  "contributors": [
@@ -68,13 +68,13 @@
68
68
  }
69
69
  },
70
70
  "dependencies": {
71
- "@mailwoman/core": "10.1.0",
72
- "@mailwoman/tiger": "10.1.0",
73
- "@maplibre/maplibre-gl-style-spec": "^26.4.1",
71
+ "@mailwoman/core": "10.2.0",
72
+ "@mailwoman/tiger": "10.2.0",
73
+ "@maplibre/maplibre-gl-style-spec": "^26.4.4",
74
74
  "@protomaps/basemaps": "^5.7.2",
75
75
  "d3-scale-chromatic": "^3.1.0",
76
- "maplibre-gl": "^6.7.0",
77
- "type-fest": "^5.9.0"
76
+ "maplibre-gl": "^6.13.0",
77
+ "type-fest": "^5.10.0"
78
78
  },
79
79
  "devDependencies": {
80
80
  "@types/d3-scale-chromatic": "^3.1.0"