@mailwoman/cartographer 9.4.0 → 10.0.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.
@@ -7,7 +7,7 @@
7
7
  import type {
8
8
  BackgroundLayerSpecification,
9
9
  CircleLayerSpecification,
10
- RasterLayerSpecification,
10
+ HillshadeLayerSpecification,
11
11
  SymbolLayerSpecification,
12
12
  } from "@maplibre/maplibre-gl-style-spec"
13
13
 
@@ -16,7 +16,26 @@ import { PROTOMAPS_FONT_REGULAR } from "#styles/fonts"
16
16
  import { LayerID } from "#styles/layers"
17
17
 
18
18
  export interface PlanetaryPalette {
19
+ /**
20
+ * The body's own surface tone, under the relief. Named `space` for the layer it feeds, which paints the SPHERE under
21
+ * globe projection rather than the area around it — the field around the globe is the page behind a transparent
22
+ * canvas, and the app's stylesheet paints it.
23
+ */
19
24
  space: string
25
+ /**
26
+ * Where a slope faces the light. With `shadow` and `accent` these are what make one body's relief differ from
27
+ * another's; the tiles carry encoded elevation and no colour of their own.
28
+ */
29
+ reliefHighlight: string
30
+ /**
31
+ * Where a slope faces away. Kept translucent so the surface tone reads through flat ground, which would otherwise
32
+ * take the shadow colour everywhere the terrain is level.
33
+ */
34
+ reliefShadow: string
35
+ /**
36
+ * The steepness wash, translucent for the same reason.
37
+ */
38
+ reliefAccent: string
20
39
  labelColor: string
21
40
  labelHalo: string
22
41
  selection: string
@@ -27,8 +46,24 @@ export interface PlanetaryPalette {
27
46
  * without a row here has no style rather than a wrong one.
28
47
  */
29
48
  export const PALETTES = {
30
- moon: { space: "#05070d", labelColor: "#e8eef7", labelHalo: "#05070d", selection: "#7fd1ff" },
31
- mars: { space: "#0a0604", labelColor: "#f6e3d1", labelHalo: "#1a0c06", selection: "#ffb37f" },
49
+ moon: {
50
+ space: "#8d8f95",
51
+ reliefHighlight: "#eef2f8",
52
+ reliefShadow: "rgba(20, 26, 40, 0.55)",
53
+ reliefAccent: "rgba(90, 100, 120, 0.4)",
54
+ labelColor: "#e8eef7",
55
+ labelHalo: "#05070d",
56
+ selection: "#7fd1ff",
57
+ },
58
+ mars: {
59
+ space: "#9a5334",
60
+ reliefHighlight: "#f4a26b",
61
+ reliefShadow: "rgba(74, 29, 14, 0.55)",
62
+ reliefAccent: "rgba(140, 58, 28, 0.4)",
63
+ labelColor: "#f6e3d1",
64
+ labelHalo: "#1a0c06",
65
+ selection: "#ffb37f",
66
+ },
32
67
  } as const satisfies Record<string, PlanetaryPalette>
33
68
 
34
69
  export type PlanetaryStyleBody = keyof typeof PALETTES
@@ -36,7 +71,9 @@ export type PlanetaryStyleBody = keyof typeof PALETTES
36
71
  const PLANETARY_NAMESPACE = "planetary"
37
72
 
38
73
  /**
39
- * The background layer: the body's space color, drawn first.
74
+ * The body's surface tone, under the relief. Under globe projection a background layer paints the SPHERE, not the
75
+ * viewport, so this is the ground the hillshade shades and not the field around the globe; the app's stylesheet paints
76
+ * that behind a transparent canvas.
40
77
  */
41
78
  export const PlanetarySpaceLayerID = LayerID(PLANETARY_NAMESPACE, "space")
42
79
 
@@ -69,12 +106,24 @@ export function spaceLayer(palette: PlanetaryPalette): BackgroundLayerSpecificat
69
106
  }
70
107
  }
71
108
 
72
- export function hillshadeLayer(): RasterLayerSpecification {
109
+ /**
110
+ * The relief, shaded at draw time from the body's encoded elevation. The tiles carry height and no colour, so every
111
+ * body-specific decision is here: a greyscale image could not be tinted at all, because MapLibre's raster paint
112
+ * properties are brightness, contrast, saturation and hue-rotate, and the last two do nothing without chroma.
113
+ */
114
+ export function hillshadeLayer(palette: PlanetaryPalette): HillshadeLayerSpecification {
73
115
  return {
74
116
  id: PlanetaryHillshadeLayerID,
75
- type: "raster",
117
+ type: "hillshade",
76
118
  source: PlanetaryHillshadeSourceID,
77
- paint: { "raster-opacity": 0.9, "raster-resampling": "linear" },
119
+ paint: {
120
+ // Under 1: these bodies carry relief far sharper than Earth's relative to their radius, and unexaggerated
121
+ // shading reads as noise at globe zooms.
122
+ "hillshade-exaggeration": 0.6,
123
+ "hillshade-highlight-color": palette.reliefHighlight,
124
+ "hillshade-shadow-color": palette.reliefShadow,
125
+ "hillshade-accent-color": palette.reliefAccent,
126
+ },
78
127
  }
79
128
  }
80
129
 
@@ -4,7 +4,7 @@
4
4
  * @author Teffen Ellis, et al.
5
5
  */
6
6
 
7
- import type { RasterSourceSpecification, VectorSourceSpecification } from "@maplibre/maplibre-gl-style-spec"
7
+ import type { RasterDEMSourceSpecification, VectorSourceSpecification } from "@maplibre/maplibre-gl-style-spec"
8
8
 
9
9
  import { TileSetSourceID } from "#styles/sources"
10
10
 
@@ -14,7 +14,8 @@ import { TileSetSourceID } from "#styles/sources"
14
14
  export const PlanetaryNomenclatureSourceID = TileSetSourceID("nomenclature")
15
15
 
16
16
  /**
17
- * The raster source carrying a body's hillshade, rendered from its DEM at build time.
17
+ * The elevation source a body's relief is shaded from. The archive carries terrarium-encoded height rather than a
18
+ * shaded picture, so the shading happens at draw time and each body can be tinted from the style.
18
19
  */
19
20
  export const PlanetaryHillshadeSourceID = TileSetSourceID("hillshade")
20
21
 
@@ -29,9 +30,11 @@ export function nomenclatureSource(tileJSONURL: string): VectorSourceSpecificati
29
30
  }
30
31
  }
31
32
 
32
- export function hillshadeSource(tileJSONURL: string): RasterSourceSpecification {
33
+ export function hillshadeSource(tileJSONURL: string): RasterDEMSourceSpecification {
33
34
  return {
34
- type: "raster",
35
+ type: "raster-dem",
36
+ // The build writes `height = (R * 256 + G + B / 256) - 32768`, which is terrarium's, not Mapbox's.
37
+ encoding: "terrarium",
35
38
  url: tileJSONURL,
36
39
  tileSize: 256,
37
40
  }
@@ -51,16 +51,20 @@ export function createPlanetaryStyle(options: PlanetaryStyleOptions): StyleSpeci
51
51
 
52
52
  const baseLayers = [
53
53
  spaceLayer(palette),
54
- ...(options.hillshadeTileJSONURL ? [hillshadeLayer()] : []),
54
+ ...(options.hillshadeTileJSONURL ? [hillshadeLayer(palette)] : []),
55
55
  labelLayer(palette),
56
56
  selectionLayer(palette),
57
57
  ]
58
58
 
59
- return new StyleSpecificationComposer({
59
+ const style = new StyleSpecificationComposer({
60
60
  sources,
61
61
  baseLayers,
62
62
  hillshadeSource: null,
63
63
  sprite: null,
64
64
  sky: { "sky-color": palette.space, "horizon-color": palette.space },
65
65
  }).toJSON()
66
+
67
+ // MapLibre 6 reads the projection from the STYLE. Passed as a map option instead it is ignored and the body
68
+ // renders flat, which is a mercator sheet of terrain rather than a world.
69
+ return { ...style, projection: { type: "globe" } }
66
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../../lib/base/composition.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AAC/F,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAIjH,OAAO,EACN,sBAAsB,EACtB,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAM1D,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAYtF;AAED,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAUhF;AAMD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,wEAAwE,CAAA;AAEzG;;;GAGG;AACH,eAAO,MAAM,oBAAoB,2DAA2D,CAAA;AAE5F,MAAM,WAAW,6BAA6B;IAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IAC5C,MAAM,CAAC,EAAE,2BAA2B,EAAE,CAAA;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACnC,GAAG,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAA;IACvC;;;OAGG;IACH,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAA;IACjC;;OAEG;IACH,eAAe,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAC5C;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,qBAAa,0BAA0B;IACtC,UAAU,EAAE,sBAAsB,CAAA;IAClC,KAAK,EAAE,kBAAkB,CAAA;IACzB,GAAG,EAAE,gBAAgB,CAAA;IAErB,OAAO,EAAE,mBAAmB,CAAA;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;gBAEF,IAAI,EAAE,6BAA6B;IA0B/C,IAAW,MAAM,IAAI,0BAA0B,EAAE,CAEhD;IAED,MAAM,IAAI,kBAAkB;IAe5B,IAAI,IAAI,kBAAkB;CAG1B"}
1
+ {"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../../lib/base/composition.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AAC/F,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAIjH,OAAO,EACN,sBAAsB,EACtB,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAM1D,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAYtF;AAED,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAUhF;AAMD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,wEAAwE,CAAA;AAEzG;;;GAGG;AACH,eAAO,MAAM,oBAAoB,2DAA2D,CAAA;AAE5F,MAAM,WAAW,6BAA6B;IAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IAC5C,MAAM,CAAC,EAAE,2BAA2B,EAAE,CAAA;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACnC,GAAG,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAA;IACvC;;;OAGG;IACH,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAA;IACjC;;OAEG;IACH,eAAe,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAC5C;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,qBAAa,0BAA0B;IACtC,UAAU,EAAE,sBAAsB,CAAA;IAClC,KAAK,EAAE,kBAAkB,CAAA;IACzB,GAAG,EAAE,gBAAgB,CAAA;IAErB,OAAO,EAAE,mBAAmB,CAAA;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IAEd,YAAY,IAAI,EAAE,6BAA6B,EAwB9C;IAED,IAAW,MAAM,IAAI,0BAA0B,EAAE,CAEhD;IAED,MAAM,IAAI,kBAAkB,CAa3B;IAED,IAAI,IAAI,kBAAkB,CAEzB;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/coverage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAEzG,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,eAAO,MAAM,iBAAiB,gCAAiC,CAAA;AAE/D;;GAEG;AACH,eAAO,MAAM,qBAAqB,aAAa,CAAA;AAE/C;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,YAAY,CAAA;AAE3C;;GAEG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAA;AAE3C;;GAEG;AACH,eAAO,MAAM,eAAe;;;CAGlB,CAAA;AAEV;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,CAE3E;AAkBD;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,sBAAsB,EAGlD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/coverage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAEzG,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,eAAO,MAAM,iBAAiB,gCAAiC,CAAA;AAE/D;;GAEG;AACH,eAAO,MAAM,qBAAqB,aAAa,CAAA;AAE/C;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,YAAY,CAAA;AAE3C;;GAEG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAA;AAE3C;;GAEG;AACH,eAAO,MAAM,eAAe;aAC3B,UAAU,EAAE,kBAAkB;aAC9B,MAAM,EAAE,qBAAqB;CACpB,CAAA;AAEV;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,CAE3E;AAkBD;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,sBAAsB,EAGlD,CAAA"}
@@ -3,9 +3,28 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  */
6
- import type { BackgroundLayerSpecification, CircleLayerSpecification, RasterLayerSpecification, SymbolLayerSpecification } from "@maplibre/maplibre-gl-style-spec";
6
+ import type { BackgroundLayerSpecification, CircleLayerSpecification, HillshadeLayerSpecification, SymbolLayerSpecification } from "@maplibre/maplibre-gl-style-spec";
7
7
  export interface PlanetaryPalette {
8
+ /**
9
+ * The body's own surface tone, under the relief. Named `space` for the layer it feeds, which paints the SPHERE under
10
+ * globe projection rather than the area around it — the field around the globe is the page behind a transparent
11
+ * canvas, and the app's stylesheet paints it.
12
+ */
8
13
  space: string;
14
+ /**
15
+ * Where a slope faces the light. With `shadow` and `accent` these are what make one body's relief differ from
16
+ * another's; the tiles carry encoded elevation and no colour of their own.
17
+ */
18
+ reliefHighlight: string;
19
+ /**
20
+ * Where a slope faces away. Kept translucent so the surface tone reads through flat ground, which would otherwise
21
+ * take the shadow colour everywhere the terrain is level.
22
+ */
23
+ reliefShadow: string;
24
+ /**
25
+ * The steepness wash, translucent for the same reason.
26
+ */
27
+ reliefAccent: string;
9
28
  labelColor: string;
10
29
  labelHalo: string;
11
30
  selection: string;
@@ -16,13 +35,19 @@ export interface PlanetaryPalette {
16
35
  */
17
36
  export declare const PALETTES: {
18
37
  readonly moon: {
19
- readonly space: "#05070d";
38
+ readonly space: "#8d8f95";
39
+ readonly reliefHighlight: "#eef2f8";
40
+ readonly reliefShadow: "rgba(20, 26, 40, 0.55)";
41
+ readonly reliefAccent: "rgba(90, 100, 120, 0.4)";
20
42
  readonly labelColor: "#e8eef7";
21
43
  readonly labelHalo: "#05070d";
22
44
  readonly selection: "#7fd1ff";
23
45
  };
24
46
  readonly mars: {
25
- readonly space: "#0a0604";
47
+ readonly space: "#9a5334";
48
+ readonly reliefHighlight: "#f4a26b";
49
+ readonly reliefShadow: "rgba(74, 29, 14, 0.55)";
50
+ readonly reliefAccent: "rgba(140, 58, 28, 0.4)";
26
51
  readonly labelColor: "#f6e3d1";
27
52
  readonly labelHalo: "#1a0c06";
28
53
  readonly selection: "#ffb37f";
@@ -30,7 +55,9 @@ export declare const PALETTES: {
30
55
  };
31
56
  export type PlanetaryStyleBody = keyof typeof PALETTES;
32
57
  /**
33
- * The background layer: the body's space color, drawn first.
58
+ * The body's surface tone, under the relief. Under globe projection a background layer paints the SPHERE, not the
59
+ * viewport, so this is the ground the hillshade shades and not the field around the globe; the app's stylesheet paints
60
+ * that behind a transparent canvas.
34
61
  */
35
62
  export declare const PlanetarySpaceLayerID: "planetary/space";
36
63
  /**
@@ -46,7 +73,12 @@ export declare const PlanetaryLabelsLayerID: "planetary/nomenclature-labels";
46
73
  */
47
74
  export declare const PlanetarySelectionLayerID: "planetary/selection";
48
75
  export declare function spaceLayer(palette: PlanetaryPalette): BackgroundLayerSpecification;
49
- export declare function hillshadeLayer(): RasterLayerSpecification;
76
+ /**
77
+ * The relief, shaded at draw time from the body's encoded elevation. The tiles carry height and no colour, so every
78
+ * body-specific decision is here: a greyscale image could not be tinted at all, because MapLibre's raster paint
79
+ * properties are brightness, contrast, saturation and hue-rotate, and the last two do nothing without chroma.
80
+ */
81
+ export declare function hillshadeLayer(palette: PlanetaryPalette): HillshadeLayerSpecification;
50
82
  /**
51
83
  * Labels by feature scale: the tile's per-feature `minzoom` already hides a small crater at a low zoom, so the symbol
52
84
  * layer only sizes and prioritizes. `featureTypeCode` is the IAU feature-type code carried in the tile properties (AA
@@ -1 +1 @@
1
- {"version":3,"file":"layers.d.ts","sourceRoot":"","sources":["../../lib/planetary/layers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACX,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,MAAM,kCAAkC,CAAA;AAMzC,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;CAGgC,CAAA;AAErD,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,QAAQ,CAAA;AAItD;;GAEG;AACH,eAAO,MAAM,qBAAqB,mBAAwC,CAAA;AAE1E;;GAEG;AACH,eAAO,MAAM,yBAAyB,uBAA4C,CAAA;AAElF;;GAEG;AACH,eAAO,MAAM,sBAAsB,iCAAsD,CAAA;AAEzF;;GAEG;AACH,eAAO,MAAM,yBAAyB,uBAA4C,CAAA;AAQlF,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,4BAA4B,CAMlF;AAED,wBAAgB,cAAc,IAAI,wBAAwB,CAOzD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,wBAAwB,CAiB9E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,wBAAwB,CAclF"}
1
+ {"version":3,"file":"layers.d.ts","sourceRoot":"","sources":["../../lib/planetary/layers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACX,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,MAAM,kCAAkC,CAAA;AAMzC,MAAM,WAAW,gBAAgB;IAChC;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAA;IACvB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ;;iBAEnB,KAAK,EAAE,SAAS;iBAChB,eAAe,EAAE,SAAS;iBAC1B,YAAY,EAAE,wBAAwB;iBACtC,YAAY,EAAE,yBAAyB;iBACvC,UAAU,EAAE,SAAS;iBACrB,SAAS,EAAE,SAAS;iBACpB,SAAS,EAAE,SAAS;;;iBAGpB,KAAK,EAAE,SAAS;iBAChB,eAAe,EAAE,SAAS;iBAC1B,YAAY,EAAE,wBAAwB;iBACtC,YAAY,EAAE,wBAAwB;iBACtC,UAAU,EAAE,SAAS;iBACrB,SAAS,EAAE,SAAS;iBACpB,SAAS,EAAE,SAAS;;CAE+B,CAAA;AAErD,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,QAAQ,CAAA;AAItD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,mBAAwC,CAAA;AAE1E;;GAEG;AACH,eAAO,MAAM,yBAAyB,uBAA4C,CAAA;AAElF;;GAEG;AACH,eAAO,MAAM,sBAAsB,iCAAsD,CAAA;AAEzF;;GAEG;AACH,eAAO,MAAM,yBAAyB,uBAA4C,CAAA;AAQlF,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,4BAA4B,CAMlF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,2BAA2B,CAcrF;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,wBAAwB,CAiB9E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,wBAAwB,CAclF"}
@@ -11,12 +11,30 @@ import { LayerID } from "#styles/layers";
11
11
  * without a row here has no style rather than a wrong one.
12
12
  */
13
13
  export const PALETTES = {
14
- moon: { space: "#05070d", labelColor: "#e8eef7", labelHalo: "#05070d", selection: "#7fd1ff" },
15
- mars: { space: "#0a0604", labelColor: "#f6e3d1", labelHalo: "#1a0c06", selection: "#ffb37f" },
14
+ moon: {
15
+ space: "#8d8f95",
16
+ reliefHighlight: "#eef2f8",
17
+ reliefShadow: "rgba(20, 26, 40, 0.55)",
18
+ reliefAccent: "rgba(90, 100, 120, 0.4)",
19
+ labelColor: "#e8eef7",
20
+ labelHalo: "#05070d",
21
+ selection: "#7fd1ff",
22
+ },
23
+ mars: {
24
+ space: "#9a5334",
25
+ reliefHighlight: "#f4a26b",
26
+ reliefShadow: "rgba(74, 29, 14, 0.55)",
27
+ reliefAccent: "rgba(140, 58, 28, 0.4)",
28
+ labelColor: "#f6e3d1",
29
+ labelHalo: "#1a0c06",
30
+ selection: "#ffb37f",
31
+ },
16
32
  };
17
33
  const PLANETARY_NAMESPACE = "planetary";
18
34
  /**
19
- * The background layer: the body's space color, drawn first.
35
+ * The body's surface tone, under the relief. Under globe projection a background layer paints the SPHERE, not the
36
+ * viewport, so this is the ground the hillshade shades and not the field around the globe; the app's stylesheet paints
37
+ * that behind a transparent canvas.
20
38
  */
21
39
  export const PlanetarySpaceLayerID = LayerID(PLANETARY_NAMESPACE, "space");
22
40
  /**
@@ -43,12 +61,24 @@ export function spaceLayer(palette) {
43
61
  paint: { "background-color": palette.space },
44
62
  };
45
63
  }
46
- export function hillshadeLayer() {
64
+ /**
65
+ * The relief, shaded at draw time from the body's encoded elevation. The tiles carry height and no colour, so every
66
+ * body-specific decision is here: a greyscale image could not be tinted at all, because MapLibre's raster paint
67
+ * properties are brightness, contrast, saturation and hue-rotate, and the last two do nothing without chroma.
68
+ */
69
+ export function hillshadeLayer(palette) {
47
70
  return {
48
71
  id: PlanetaryHillshadeLayerID,
49
- type: "raster",
72
+ type: "hillshade",
50
73
  source: PlanetaryHillshadeSourceID,
51
- paint: { "raster-opacity": 0.9, "raster-resampling": "linear" },
74
+ paint: {
75
+ // Under 1: these bodies carry relief far sharper than Earth's relative to their radius, and unexaggerated
76
+ // shading reads as noise at globe zooms.
77
+ "hillshade-exaggeration": 0.6,
78
+ "hillshade-highlight-color": palette.reliefHighlight,
79
+ "hillshade-shadow-color": palette.reliefShadow,
80
+ "hillshade-accent-color": palette.reliefAccent,
81
+ },
52
82
  };
53
83
  }
54
84
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"layers.js","sourceRoot":"","sources":["../../lib/planetary/layers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layers.js","sourceRoot":"","sources":["../../lib/planetary/layers.ts"],"names":[],"mappings":"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"}
@@ -3,14 +3,15 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  */
6
- import type { RasterSourceSpecification, VectorSourceSpecification } from "@maplibre/maplibre-gl-style-spec";
6
+ import type { RasterDEMSourceSpecification, VectorSourceSpecification } from "@maplibre/maplibre-gl-style-spec";
7
7
  import { TileSetSourceID } from "#styles/sources";
8
8
  /**
9
9
  * The vector source carrying a body's IAU nomenclature: one `nomenclature` source layer of named features.
10
10
  */
11
11
  export declare const PlanetaryNomenclatureSourceID: TileSetSourceID<"nomenclature">;
12
12
  /**
13
- * The raster source carrying a body's hillshade, rendered from its DEM at build time.
13
+ * The elevation source a body's relief is shaded from. The archive carries terrarium-encoded height rather than a
14
+ * shaded picture, so the shading happens at draw time and each body can be tinted from the style.
14
15
  */
15
16
  export declare const PlanetaryHillshadeSourceID: TileSetSourceID<"hillshade">;
16
17
  /**
@@ -18,5 +19,5 @@ export declare const PlanetaryHillshadeSourceID: TileSetSourceID<"hillshade">;
18
19
  * document, so nothing here restates them.
19
20
  */
20
21
  export declare function nomenclatureSource(tileJSONURL: string): VectorSourceSpecification;
21
- export declare function hillshadeSource(tileJSONURL: string): RasterSourceSpecification;
22
+ export declare function hillshadeSource(tileJSONURL: string): RasterDEMSourceSpecification;
22
23
  //# sourceMappingURL=sources.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../lib/planetary/sources.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAE5G,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,6BAA6B,iCAAkC,CAAA;AAE5E;;GAEG;AACH,eAAO,MAAM,0BAA0B,8BAA+B,CAAA;AAEtE;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,yBAAyB,CAKjF;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,yBAAyB,CAM9E"}
1
+ {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../lib/planetary/sources.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAE/G,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,6BAA6B,iCAAkC,CAAA;AAE5E;;;GAGG;AACH,eAAO,MAAM,0BAA0B,8BAA+B,CAAA;AAEtE;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,yBAAyB,CAKjF;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,4BAA4B,CAQjF"}
@@ -9,7 +9,8 @@ import { TileSetSourceID } from "#styles/sources";
9
9
  */
10
10
  export const PlanetaryNomenclatureSourceID = TileSetSourceID("nomenclature");
11
11
  /**
12
- * The raster source carrying a body's hillshade, rendered from its DEM at build time.
12
+ * The elevation source a body's relief is shaded from. The archive carries terrarium-encoded height rather than a
13
+ * shaded picture, so the shading happens at draw time and each body can be tinted from the style.
13
14
  */
14
15
  export const PlanetaryHillshadeSourceID = TileSetSourceID("hillshade");
15
16
  /**
@@ -24,7 +25,9 @@ export function nomenclatureSource(tileJSONURL) {
24
25
  }
25
26
  export function hillshadeSource(tileJSONURL) {
26
27
  return {
27
- type: "raster",
28
+ type: "raster-dem",
29
+ // The build writes `height = (R * 256 + G + B / 256) - 32768`, which is terrarium's, not Mapbox's.
30
+ encoding: "terrarium",
28
31
  url: tileJSONURL,
29
32
  tileSize: 256,
30
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../lib/planetary/sources.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,eAAe,CAAC,cAAc,CAAC,CAAA;AAE5E;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA;AAEtE;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACrD,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,WAAW;KAChB,CAAA;AACF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAAmB;IAClD,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,WAAW;QAChB,QAAQ,EAAE,GAAG;KACb,CAAA;AACF,CAAC"}
1
+ {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../lib/planetary/sources.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,eAAe,CAAC,cAAc,CAAC,CAAA;AAE5E;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA;AAEtE;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACrD,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,WAAW;KAChB,CAAA;AACF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAAmB;IAClD,OAAO;QACN,IAAI,EAAE,YAAY;QAClB,mGAAmG;QACnG,QAAQ,EAAE,WAAW;QACrB,GAAG,EAAE,WAAW;QAChB,QAAQ,EAAE,GAAG;KACb,CAAA;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../lib/planetary/style.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAuB,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAG/F,OAAO,EAIN,KAAK,kBAAkB,EAGvB,MAAM,mBAAmB,CAAA;AAQ1B,MAAM,WAAW,qBAAqB;IACrC,IAAI,EAAE,kBAAkB,CAAA;IACxB;;OAEG;IACH,uBAAuB,EAAE,MAAM,CAAA;IAC/B;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,kBAAkB,CAyBvF"}
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../lib/planetary/style.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAuB,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAG/F,OAAO,EAIN,KAAK,kBAAkB,EAGvB,MAAM,mBAAmB,CAAA;AAQ1B,MAAM,WAAW,qBAAqB;IACrC,IAAI,EAAE,kBAAkB,CAAA;IACxB;;OAEG;IACH,uBAAuB,EAAE,MAAM,CAAA;IAC/B;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,kBAAkB,CA6BvF"}
@@ -20,16 +20,19 @@ export function createPlanetaryStyle(options) {
20
20
  }
21
21
  const baseLayers = [
22
22
  spaceLayer(palette),
23
- ...(options.hillshadeTileJSONURL ? [hillshadeLayer()] : []),
23
+ ...(options.hillshadeTileJSONURL ? [hillshadeLayer(palette)] : []),
24
24
  labelLayer(palette),
25
25
  selectionLayer(palette),
26
26
  ];
27
- return new StyleSpecificationComposer({
27
+ const style = new StyleSpecificationComposer({
28
28
  sources,
29
29
  baseLayers,
30
30
  hillshadeSource: null,
31
31
  sprite: null,
32
32
  sky: { "sky-color": palette.space, "horizon-color": palette.space },
33
33
  }).toJSON();
34
+ // MapLibre 6 reads the projection from the STYLE. Passed as a map option instead it is ignored and the body
35
+ // renders flat, which is a mercator sheet of terrain rather than a world.
36
+ return { ...style, projection: { type: "globe" } };
34
37
  }
35
38
  //# sourceMappingURL=style.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sourceRoot":"","sources":["../../lib/planetary/style.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EACN,cAAc,EACd,UAAU,EACV,QAAQ,EAER,cAAc,EACd,UAAU,GACV,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACN,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,6BAA6B,GAC7B,MAAM,oBAAoB,CAAA;AAc3B;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA8B;IAClE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAEtC,MAAM,OAAO,GAAwC;QACpD,CAAC,6BAA6B,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,uBAAuB,CAAC;KACpF,CAAA;IAED,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;QAClC,OAAO,CAAC,0BAA0B,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;IACpF,CAAC;IAED,MAAM,UAAU,GAAG;QAClB,UAAU,CAAC,OAAO,CAAC;QACnB,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,UAAU,CAAC,OAAO,CAAC;QACnB,cAAc,CAAC,OAAO,CAAC;KACvB,CAAA;IAED,OAAO,IAAI,0BAA0B,CAAC;QACrC,OAAO;QACP,UAAU;QACV,eAAe,EAAE,IAAI;QACrB,MAAM,EAAE,IAAI;QACZ,GAAG,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,KAAK,EAAE;KACnE,CAAC,CAAC,MAAM,EAAE,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"style.js","sourceRoot":"","sources":["../../lib/planetary/style.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EACN,cAAc,EACd,UAAU,EACV,QAAQ,EAER,cAAc,EACd,UAAU,GACV,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACN,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,6BAA6B,GAC7B,MAAM,oBAAoB,CAAA;AAc3B;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA8B;IAClE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAEtC,MAAM,OAAO,GAAwC;QACpD,CAAC,6BAA6B,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,uBAAuB,CAAC;KACpF,CAAA;IAED,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;QAClC,OAAO,CAAC,0BAA0B,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;IACpF,CAAC;IAED,MAAM,UAAU,GAAG;QAClB,UAAU,CAAC,OAAO,CAAC;QACnB,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,UAAU,CAAC,OAAO,CAAC;QACnB,cAAc,CAAC,OAAO,CAAC;KACvB,CAAA;IAED,MAAM,KAAK,GAAG,IAAI,0BAA0B,CAAC;QAC5C,OAAO;QACP,UAAU;QACV,eAAe,EAAE,IAAI;QACrB,MAAM,EAAE,IAAI;QACZ,GAAG,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,KAAK,EAAE;KACnE,CAAC,CAAC,MAAM,EAAE,CAAA;IAEX,4GAA4G;IAC5G,0EAA0E;IAC1E,OAAO,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAA;AACnD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/race-dots/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAE3G,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,iBAAiB,iCAAkC,CAAA;AAEhE;;GAEG;AACH,eAAO,MAAM,sBAAsB,SAAS,CAAA;AAE5C;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;EAMrB,CAAA;AAEV;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,CAE3E;AAmBD;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,wBAAwB,EAEpD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/race-dots/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAA;AAE3G,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,iBAAiB,iCAAkC,CAAA;AAEhE;;GAEG;AACH,eAAO,MAAM,sBAAsB,SAAS,CAAA;AAE5C;;GAEG;AACH,eAAO,MAAM,kBAAkB;aAC5B,EAAE,EAAE,iBAAiB;aAAE,KAAK,EAAE,cAAc;aAAE,KAAK,EAAE,SAAS;aAAE,KAAK,YAAG,OAAO;;aAC/E,EAAE,EAAE,iBAAiB;aAAE,KAAK,EAAE,cAAc;aAAE,KAAK,EAAE,SAAS;aAAE,KAAK,YAAG,OAAO;;aAC/E,EAAE,EAAE,oBAAoB;aAAE,KAAK,EAAE,iBAAiB;aAAE,KAAK,EAAE,SAAS;aAAE,KAAK,YAAG,UAAU;;aACxF,EAAE,EAAE,iBAAiB;aAAE,KAAK,EAAE,cAAc;aAAE,KAAK,EAAE,SAAS;aAAE,KAAK,YAAG,OAAO;;aAC/E,EAAE,EAAE,iBAAiB;aAAE,KAAK,EAAE,cAAc;aAAE,KAAK,EAAE,SAAS;aAAE,KAAK,YAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;EACjG,CAAA;AAEV;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,CAE3E;AAmBD;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,wBAAwB,EAEpD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"layers.d.ts","sourceRoot":"","sources":["../../lib/styles/layers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAE1E,QAAA,MAAM,KAAK,EAAE,OAAO,MAAuB,CAAA;AAC3C,QAAA,MAAM,KAAK,EAAE,OAAO,MAAuB,CAAA;AAE3C;;GAEG;AACH,wBAAgB,OAAO,CAAC,SAAS,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EACvE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,OAAO,GACZ,GAAG,SAAS,IAAI,OAAO,EAAE,CAE3B;AAED,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAAI,CAAC,GAC7F,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,CAAA;AAElF,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAAI,CAAC,GAAG;IAC/F,CAAC,KAAK,CAAC,CAAC,EAAE,0BAA0B,CAAA;IACpC,CAAC,KAAK,CAAC,CAAC,EAAE,0BAA0B,CAAA;CACpC,CAAA;AAED,qBAAa,sBAAsB;;gBAItB,WAAW,EAAE,kBAAkB,EAAE;IA8BrC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,0BAA0B,CAAC;IAsBhE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,0BAA0B,CAAC;IAI1D,MAAM,CAAC,KAAK,EAAE,2BAA2B;IA6CzC,MAAM,CAAC,OAAO,EAAE,MAAM;CAkB7B"}
1
+ {"version":3,"file":"layers.d.ts","sourceRoot":"","sources":["../../lib/styles/layers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAE1E,QAAA,MAAM,KAAK,EAAE,OAAO,MAAuB,CAAA;AAC3C,QAAA,MAAM,KAAK,EAAE,OAAO,MAAuB,CAAA;AAE3C;;GAEG;AACH,wBAAgB,OAAO,CAAC,SAAS,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,EACvE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,OAAO,GACZ,GAAG,SAAS,IAAI,OAAO,EAAE,CAE3B;AAED,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAAI,CAAC,GAC7F,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,CAAA;AAElF,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAAI,CAAC,GAAG;IAC/F,CAAC,KAAK,CAAC,CAAC,EAAE,0BAA0B,CAAA;IACpC,CAAC,KAAK,CAAC,CAAC,EAAE,0BAA0B,CAAA;CACpC,CAAA;AAED,qBAAa,sBAAsB;;IAIlC,YAAY,WAAW,EAAE,kBAAkB,EAAE,EA4B5C;IAEO,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,0BAA0B,CAAC,CAoBvE;IAEO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,0BAA0B,CAAC,CAEhE;IAEM,MAAM,CAAC,KAAK,EAAE,2BAA2B,QA2C/C;IAEM,MAAM,CAAC,OAAO,EAAE,MAAM,QAiB5B;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../lib/tiles/api.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAqB,MAAM,qBAAqB,CAAA;AAClE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAE5D,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAG3E;;GAEG;AACH,eAAO,MAAM,OAAO;;;;;EAKlB,CAAA;AAEF,wBAAgB,sBAAsB,CACrC,SAAS,EAAE,eAAe,GACxB,OAAO,CAAC,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAC,CAgBvD;AAED,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAWrG"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../lib/tiles/api.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAqB,MAAM,qBAAqB,CAAA;AAClE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAE5D,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAG3E;;GAEG;AACH,eAAO,MAAM,OAAO;;;QAGlB,OAAO;;EAEP,CAAA;AAEF,wBAAgB,sBAAsB,CACrC,SAAS,EAAE,eAAe,GACxB,OAAO,CAAC,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAC,CAgBvD;AAED,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAWrG"}
@@ -1 +1 @@
1
- {"root":["../test/unit/base/composition.test.ts","../test/unit/planetary/style.test.ts","../test/unit/tiles/coords.test.ts"],"version":"6.0.3"}
1
+ {"version":"7.0.2","root":["../test/unit/base/composition.test.ts","../test/unit/planetary/style.test.ts","../test/unit/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/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/buffer/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/buffer/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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mailwoman/cartographer",
3
- "version": "9.4.0",
3
+ "version": "10.0.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": [
@@ -153,8 +153,8 @@
153
153
  }
154
154
  },
155
155
  "dependencies": {
156
- "@mailwoman/core": "9.4.0",
157
- "@mailwoman/tiger": "9.4.0",
156
+ "@mailwoman/core": "10.0.0",
157
+ "@mailwoman/tiger": "10.0.0",
158
158
  "@maplibre/maplibre-gl-style-spec": "^26.4.1",
159
159
  "@protomaps/basemaps": "^5.7.2",
160
160
  "d3-scale-chromatic": "^3.1.0",