@mailwoman/cartographer 1.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.
- package/README.md +3 -0
- package/base/buildings.ts +124 -0
- package/base/composition.ts +119 -0
- package/base/index.ts +10 -0
- package/base/layers.ts +52 -0
- package/base/terrain.ts +33 -0
- package/base/theme.ts +118 -0
- package/bdc/index.ts +395 -0
- package/coverage/index.ts +89 -0
- package/hspa/index.ts +20 -0
- package/index.ts +12 -0
- package/out/base/buildings.d.ts +11 -0
- package/out/base/buildings.d.ts.map +1 -0
- package/out/base/buildings.js +109 -0
- package/out/base/buildings.js.map +1 -0
- package/out/base/composition.d.ts +33 -0
- package/out/base/composition.d.ts.map +1 -0
- package/out/base/composition.js +86 -0
- package/out/base/composition.js.map +1 -0
- package/out/base/index.d.ts +10 -0
- package/out/base/index.d.ts.map +1 -0
- package/out/base/index.js +10 -0
- package/out/base/index.js.map +1 -0
- package/out/base/layers.d.ts +9 -0
- package/out/base/layers.d.ts.map +1 -0
- package/out/base/layers.js +49 -0
- package/out/base/layers.js.map +1 -0
- package/out/base/terrain.d.ts +20 -0
- package/out/base/terrain.d.ts.map +1 -0
- package/out/base/terrain.js +29 -0
- package/out/base/terrain.js.map +1 -0
- package/out/base/theme.d.ts +20 -0
- package/out/base/theme.d.ts.map +1 -0
- package/out/base/theme.js +103 -0
- package/out/base/theme.js.map +1 -0
- package/out/bdc/index.d.ts +27 -0
- package/out/bdc/index.d.ts.map +1 -0
- package/out/bdc/index.js +344 -0
- package/out/bdc/index.js.map +1 -0
- package/out/coverage/index.d.ts +58 -0
- package/out/coverage/index.d.ts.map +1 -0
- package/out/coverage/index.js +77 -0
- package/out/coverage/index.js.map +1 -0
- package/out/hspa/index.d.ts +12 -0
- package/out/hspa/index.d.ts.map +1 -0
- package/out/hspa/index.js +18 -0
- package/out/hspa/index.js.map +1 -0
- package/out/index.d.ts +12 -0
- package/out/index.d.ts.map +1 -0
- package/out/index.js +12 -0
- package/out/index.js.map +1 -0
- package/out/race-dots/index.d.ts +61 -0
- package/out/race-dots/index.d.ts.map +1 -0
- package/out/race-dots/index.js +59 -0
- package/out/race-dots/index.js.map +1 -0
- package/out/styles/index.d.ts +8 -0
- package/out/styles/index.d.ts.map +1 -0
- package/out/styles/index.js +8 -0
- package/out/styles/index.js.map +1 -0
- package/out/styles/layers.d.ts +33 -0
- package/out/styles/layers.d.ts.map +1 -0
- package/out/styles/layers.js +108 -0
- package/out/styles/layers.js.map +1 -0
- package/out/styles/sources.d.ts +22 -0
- package/out/styles/sources.d.ts.map +1 -0
- package/out/styles/sources.js +12 -0
- package/out/styles/sources.js.map +1 -0
- package/out/tiger/index.d.ts +11 -0
- package/out/tiger/index.d.ts.map +1 -0
- package/out/tiger/index.js +64 -0
- package/out/tiger/index.js.map +1 -0
- package/out/tiles/api.d.ts +20 -0
- package/out/tiles/api.d.ts.map +1 -0
- package/out/tiles/api.js +41 -0
- package/out/tiles/api.js.map +1 -0
- package/out/tiles/coords.d.ts +16 -0
- package/out/tiles/coords.d.ts.map +1 -0
- package/out/tiles/coords.js +34 -0
- package/out/tiles/coords.js.map +1 -0
- package/out/tiles/index.d.ts +9 -0
- package/out/tiles/index.d.ts.map +1 -0
- package/out/tiles/index.js +9 -0
- package/out/tiles/index.js.map +1 -0
- package/out/tiles/schema.d.ts +41 -0
- package/out/tiles/schema.d.ts.map +1 -0
- package/out/tiles/schema.js +7 -0
- package/out/tiles/schema.js.map +1 -0
- package/out/tsconfig.tsbuildinfo +1 -0
- package/package.json +46 -0
- package/race-dots/index.ts +68 -0
- package/styles/index.ts +8 -0
- package/styles/layers.ts +148 -0
- package/styles/sources.ts +26 -0
- package/tiger/index.ts +71 -0
- package/tiles/api.ts +53 -0
- package/tiles/coords.ts +46 -0
- package/tiles/index.ts +9 -0
- package/tiles/schema.ts +42 -0
- package/tsconfig.json +22 -0
- package/typedoc.json +4 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software.
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*/
|
|
6
|
+
import { LayerSpecificationList, } from "../styles/layers.js";
|
|
7
|
+
import {} from "../styles/sources.js";
|
|
8
|
+
import { BaseLayers } from "./layers.js";
|
|
9
|
+
import { createTerrainDEMSource, HillshadeTileSetID, TerrainTileSetID } from "./terrain.js";
|
|
10
|
+
//#endregion
|
|
11
|
+
//#region Spec Creators
|
|
12
|
+
export function createLightSpec(spec) {
|
|
13
|
+
return {
|
|
14
|
+
color: "white",
|
|
15
|
+
intensity: 0.85,
|
|
16
|
+
anchor: "viewport",
|
|
17
|
+
position: [
|
|
18
|
+
10, // Radial
|
|
19
|
+
20, // Azimuthal
|
|
20
|
+
-5, // Polar
|
|
21
|
+
],
|
|
22
|
+
...spec,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export function createSkySpec(spec) {
|
|
26
|
+
return {
|
|
27
|
+
"sky-color": "#000535",
|
|
28
|
+
"horizon-color": "hsl(54deg 100% 16%)",
|
|
29
|
+
"fog-color": "hsl(54deg 100% 5%)",
|
|
30
|
+
"sky-horizon-blend": 0.75,
|
|
31
|
+
"horizon-fog-blend": 0.75,
|
|
32
|
+
"fog-ground-blend": 0.1,
|
|
33
|
+
...spec,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* A stateful class for composing a style specification.
|
|
38
|
+
*/
|
|
39
|
+
export class StyleSpecificationComposer {
|
|
40
|
+
layersList;
|
|
41
|
+
light;
|
|
42
|
+
sky;
|
|
43
|
+
terrain;
|
|
44
|
+
sources;
|
|
45
|
+
constructor(spec) {
|
|
46
|
+
this.light = createLightSpec(spec.light);
|
|
47
|
+
this.sky = createSkySpec(spec.sky);
|
|
48
|
+
this.terrain = {
|
|
49
|
+
source: TerrainTileSetID,
|
|
50
|
+
...spec.terrain,
|
|
51
|
+
};
|
|
52
|
+
this.sources = {
|
|
53
|
+
...spec.sources,
|
|
54
|
+
[TerrainTileSetID]: createTerrainDEMSource(),
|
|
55
|
+
[HillshadeTileSetID]: createTerrainDEMSource(),
|
|
56
|
+
};
|
|
57
|
+
this.layersList = new LayerSpecificationList(BaseLayers);
|
|
58
|
+
for (const layer of spec.layers || []) {
|
|
59
|
+
this.layersList.insert(layer);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
get layers() {
|
|
63
|
+
return Array.from(this.layersList);
|
|
64
|
+
}
|
|
65
|
+
toJSON() {
|
|
66
|
+
const styleSpec = {
|
|
67
|
+
version: 8,
|
|
68
|
+
// Sprite must match the basemap schema version — v4 sprites carry the icons referenced
|
|
69
|
+
// by the v4 theme spec. Currently upstream URLs; we mirror these to nexus-assets/{fonts,
|
|
70
|
+
// sprites/v4}/ for self-hosting, but no public route fronts that bucket yet.
|
|
71
|
+
glyphs: "https://public.sister.software/protomaps/fonts/{fontstack}/{range}.pbf",
|
|
72
|
+
sprite: "https://public.sister.software/protomaps/sprites/v4/light",
|
|
73
|
+
light: createLightSpec(this.light),
|
|
74
|
+
sky: createSkySpec(this.sky),
|
|
75
|
+
terrain: this.terrain,
|
|
76
|
+
sources: this.sources,
|
|
77
|
+
layers: this.layers,
|
|
78
|
+
};
|
|
79
|
+
return styleSpec;
|
|
80
|
+
}
|
|
81
|
+
toJS() {
|
|
82
|
+
return this.toJSON();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//#endregion
|
|
86
|
+
//# sourceMappingURL=composition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composition.js","sourceRoot":"","sources":["../../base/composition.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACN,sBAAsB,GAGtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAA4B,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE3F,YAAY;AAEZ,uBAAuB;AAEvB,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;AAcD;;GAEG;AACH,MAAM,OAAO,0BAA0B;IACtC,UAAU,CAAwB;IAClC,KAAK,CAAoB;IACzB,GAAG,CAAkB;IACrB,OAAO,CAAsB;IAC7B,OAAO,CAAqB;IAE5B,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;QAElC,IAAI,CAAC,OAAO,GAAG;YACd,MAAM,EAAE,gBAAgB;YACxB,GAAG,IAAI,CAAC,OAAO;SACf,CAAA;QAED,IAAI,CAAC,OAAO,GAAG;YACd,GAAG,IAAI,CAAC,OAAO;YACf,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,EAAE;YAC5C,CAAC,kBAAkB,CAAC,EAAE,sBAAsB,EAAE;SAC9C,CAAA;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAA;QAExD,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,uFAAuF;YACvF,yFAAyF;YACzF,6EAA6E;YAC7E,MAAM,EAAE,wEAAwE;YAChF,MAAM,EAAE,2DAA2D;YACnE,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;YAClC,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;YAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,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,YAAY"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software.
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*/
|
|
6
|
+
export * from "./buildings.js";
|
|
7
|
+
export * from "./composition.js";
|
|
8
|
+
export * from "./layers.js";
|
|
9
|
+
export * from "./theme.js";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../base/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software.
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*/
|
|
6
|
+
export * from "./buildings.js";
|
|
7
|
+
export * from "./composition.js";
|
|
8
|
+
export * from "./layers.js";
|
|
9
|
+
export * from "./theme.js";
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../base/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software.
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*/
|
|
6
|
+
import { type LayerSpecification } from "maplibre-gl";
|
|
7
|
+
export declare const HillsLayerID: `${import("../index.js").TileSetSourceID<"hillshade">}/hills`;
|
|
8
|
+
export declare const BaseLayers: LayerSpecification[];
|
|
9
|
+
//# sourceMappingURL=layers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layers.d.ts","sourceRoot":"","sources":["../../base/layers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAMrD,eAAO,MAAM,YAAY,+DAAuC,CAAA;AAahE,eAAO,MAAM,UAAU,EAAE,kBAAkB,EAyB1C,CAAA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software.
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*/
|
|
6
|
+
import { layers } from "@protomaps/basemaps";
|
|
7
|
+
import {} from "maplibre-gl";
|
|
8
|
+
import { BuildingLayers } from "../base/buildings.js";
|
|
9
|
+
import { MailwomanBaseFlavor, MailwomanBaseTileSetID } from "../base/theme.js";
|
|
10
|
+
import { LayerID } from "../styles/layers.js";
|
|
11
|
+
import { HillshadeTileSetID } from "./terrain.js";
|
|
12
|
+
export const HillsLayerID = LayerID(HillshadeTileSetID, "hills");
|
|
13
|
+
/**
|
|
14
|
+
* Splits `layers()` into non-label + label groups so building footprints, water outlines, and
|
|
15
|
+
* hillshade sit between base geometry and labels. `@protomaps/basemaps@5.x` doesn't expose a
|
|
16
|
+
* `noLabels` helper — `labelsOnly: true` gives only the label layers; subtracting that set from the
|
|
17
|
+
* full list yields the non-label group.
|
|
18
|
+
*/
|
|
19
|
+
const allBaseLayers = layers(MailwomanBaseTileSetID, MailwomanBaseFlavor, { lang: "en" });
|
|
20
|
+
const labelLayers = layers(MailwomanBaseTileSetID, MailwomanBaseFlavor, { lang: "en", labelsOnly: true });
|
|
21
|
+
const labelLayerIDs = new Set(labelLayers.map((layer) => layer.id));
|
|
22
|
+
const nonLabelLayers = allBaseLayers.filter((layer) => !labelLayerIDs.has(layer.id));
|
|
23
|
+
export const BaseLayers = [
|
|
24
|
+
...nonLabelLayers,
|
|
25
|
+
{
|
|
26
|
+
id: LayerID(MailwomanBaseTileSetID, "water-outline"),
|
|
27
|
+
type: "line",
|
|
28
|
+
source: MailwomanBaseTileSetID,
|
|
29
|
+
"source-layer": "water",
|
|
30
|
+
filter: ["any", ["in", "water", "river", "lake", "other"]],
|
|
31
|
+
paint: {
|
|
32
|
+
"line-color": "hsl(194deg 100% 30% / 0.5)",
|
|
33
|
+
"line-width": 1,
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
id: HillsLayerID,
|
|
38
|
+
type: "hillshade",
|
|
39
|
+
source: HillshadeTileSetID,
|
|
40
|
+
paint: {
|
|
41
|
+
"hillshade-exaggeration": 0.25,
|
|
42
|
+
"hillshade-accent-color": "hsl(240deg 100% 95%)",
|
|
43
|
+
"hillshade-shadow-color": "hsl(240deg 100% 5%)",
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
...BuildingLayers,
|
|
47
|
+
...labelLayers,
|
|
48
|
+
];
|
|
49
|
+
//# sourceMappingURL=layers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layers.js","sourceRoot":"","sources":["../../base/layers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAA2B,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEjD,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;AAEhE;;;;;GAKG;AACH,MAAM,aAAa,GAAG,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AACzF,MAAM,WAAW,GAAG,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;AACzG,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;AACnE,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;AAEpF,MAAM,CAAC,MAAM,UAAU,GAAyB;IAC/C,GAAG,cAAc;IACjB;QACC,EAAE,EAAE,OAAO,CAAC,sBAAsB,EAAE,eAAe,CAAC;QACpD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,sBAAsB;QAC9B,cAAc,EAAE,OAAO;QACvB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1D,KAAK,EAAE;YACN,YAAY,EAAE,4BAA4B;YAC1C,YAAY,EAAE,CAAC;SACf;KACD;IACD;QACC,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,kBAAkB;QAC1B,KAAK,EAAE;YACN,wBAAwB,EAAE,IAAI;YAC9B,wBAAwB,EAAE,sBAAsB;YAChD,wBAAwB,EAAE,qBAAqB;SAC/C;KACD;IACD,GAAG,cAAc;IACjB,GAAG,WAAW;CACd,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software.
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*/
|
|
6
|
+
import { type RasterDEMSourceSpecification } from "@maplibre/maplibre-gl-style-spec";
|
|
7
|
+
import { TileSetSourceID } from "../styles/sources.js";
|
|
8
|
+
/**
|
|
9
|
+
* Creates a raster DEM source specification for terrain data.
|
|
10
|
+
*/
|
|
11
|
+
export declare function createTerrainDEMSource(): RasterDEMSourceSpecification;
|
|
12
|
+
/**
|
|
13
|
+
* Identifier for the Nexus terrain tileset.
|
|
14
|
+
*/
|
|
15
|
+
export declare const TerrainTileSetID: TileSetSourceID<"terrain">;
|
|
16
|
+
/**
|
|
17
|
+
* Identifier for the Nexus terrain tileset.
|
|
18
|
+
*/
|
|
19
|
+
export declare const HillshadeTileSetID: TileSetSourceID<"hillshade">;
|
|
20
|
+
//# sourceMappingURL=terrain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terrain.d.ts","sourceRoot":"","sources":["../../base/terrain.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,kCAAkC,CAAA;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,4BAA4B,CAUrE;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,4BAA6B,CAAA;AAE1D;;GAEG;AACH,eAAO,MAAM,kBAAkB,8BAA+B,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software.
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*/
|
|
6
|
+
import {} from "@maplibre/maplibre-gl-style-spec";
|
|
7
|
+
import { TileSetSourceID } from "../styles/sources.js";
|
|
8
|
+
/**
|
|
9
|
+
* Creates a raster DEM source specification for terrain data.
|
|
10
|
+
*/
|
|
11
|
+
export function createTerrainDEMSource() {
|
|
12
|
+
const terrainSource = {
|
|
13
|
+
type: "raster-dem",
|
|
14
|
+
encoding: "terrarium",
|
|
15
|
+
tiles: ["https://elevation-tiles-prod.s3.amazonaws.com/terrarium/{z}/{x}/{y}.png"],
|
|
16
|
+
tileSize: 256,
|
|
17
|
+
maxzoom: 15,
|
|
18
|
+
};
|
|
19
|
+
return terrainSource;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Identifier for the Nexus terrain tileset.
|
|
23
|
+
*/
|
|
24
|
+
export const TerrainTileSetID = TileSetSourceID("terrain");
|
|
25
|
+
/**
|
|
26
|
+
* Identifier for the Nexus terrain tileset.
|
|
27
|
+
*/
|
|
28
|
+
export const HillshadeTileSetID = TileSetSourceID("hillshade");
|
|
29
|
+
//# sourceMappingURL=terrain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terrain.js","sourceRoot":"","sources":["../../base/terrain.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAqC,MAAM,kCAAkC,CAAA;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACrC,MAAM,aAAa,GAAiC;QACnD,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,WAAW;QACrB,KAAK,EAAE,CAAC,yEAAyE,CAAC;QAClF,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,EAAE;KACX,CAAA;IAED,OAAO,aAAa,CAAA;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software.
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*/
|
|
6
|
+
import { type Flavor } from "@protomaps/basemaps";
|
|
7
|
+
import { TileSetSourceID } from "../styles/sources.js";
|
|
8
|
+
/**
|
|
9
|
+
* Identifier for the Mailwoman base tileset. Matches the R2 object basename
|
|
10
|
+
* (`nexus-assets/tiles/basemap-v4.pmtiles`) — `tiles.sister.software/basemap-v4.json` returns its
|
|
11
|
+
* tilejson, `tiles.sister.software/basemap-v4/{z}/{x}/{y}.mvt` returns vector tiles.
|
|
12
|
+
*/
|
|
13
|
+
export declare const MailwomanBaseTileSetID: TileSetSourceID<"basemap-v4">;
|
|
14
|
+
/**
|
|
15
|
+
* The Mailwoman theme for Protomaps via MapLibre. Keys follow `@protomaps/basemaps@5.x` which
|
|
16
|
+
* targets the v4 tile schema (`["==","kind","..."]` filters), matching the basemap-v4 PMTiles on
|
|
17
|
+
* R2.
|
|
18
|
+
*/
|
|
19
|
+
export declare const MailwomanBaseFlavor: Flavor;
|
|
20
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../base/theme.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,+BAAgC,CAAA;AAEnE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAgGjC,CAAA"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software.
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*/
|
|
6
|
+
import {} from "@protomaps/basemaps";
|
|
7
|
+
import { TileSetSourceID } from "../styles/sources.js";
|
|
8
|
+
/**
|
|
9
|
+
* Identifier for the Mailwoman base tileset. Matches the R2 object basename
|
|
10
|
+
* (`nexus-assets/tiles/basemap-v4.pmtiles`) — `tiles.sister.software/basemap-v4.json` returns its
|
|
11
|
+
* tilejson, `tiles.sister.software/basemap-v4/{z}/{x}/{y}.mvt` returns vector tiles.
|
|
12
|
+
*/
|
|
13
|
+
export const MailwomanBaseTileSetID = TileSetSourceID("basemap-v4");
|
|
14
|
+
/**
|
|
15
|
+
* The Mailwoman theme for Protomaps via MapLibre. Keys follow `@protomaps/basemaps@5.x` which
|
|
16
|
+
* targets the v4 tile schema (`["==","kind","..."]` filters), matching the basemap-v4 PMTiles on
|
|
17
|
+
* R2.
|
|
18
|
+
*/
|
|
19
|
+
export const MailwomanBaseFlavor = {
|
|
20
|
+
//#region Base
|
|
21
|
+
background: "hsl(0deg 10% 5%)",
|
|
22
|
+
earth: "hsl(0deg 10% 5%)",
|
|
23
|
+
park_a: "hsl(120deg 45.75% 1%)",
|
|
24
|
+
park_b: "hsl(120deg 65.75% 10%)",
|
|
25
|
+
hospital: "#252424",
|
|
26
|
+
industrial: "#222222",
|
|
27
|
+
school: "#262323",
|
|
28
|
+
wood_a: "#202121",
|
|
29
|
+
wood_b: "#202121",
|
|
30
|
+
pedestrian: "#1e1e1e",
|
|
31
|
+
scrub_a: "#222323",
|
|
32
|
+
scrub_b: "#222323",
|
|
33
|
+
glacier: "#1c1c1c",
|
|
34
|
+
sand: "#212123",
|
|
35
|
+
beach: "hsl(44.24deg 100% 20% / 0.1)",
|
|
36
|
+
aerodrome: "#1e1e1e",
|
|
37
|
+
runway: "#333333",
|
|
38
|
+
water: "hsl(194deg 100% 10%)",
|
|
39
|
+
pier: "#222222",
|
|
40
|
+
zoo: "#222323",
|
|
41
|
+
military: "#242323",
|
|
42
|
+
//#endregion
|
|
43
|
+
//#region Tunnel
|
|
44
|
+
tunnel_other_casing: "#141414",
|
|
45
|
+
tunnel_minor_casing: "#141414",
|
|
46
|
+
tunnel_link_casing: "#141414",
|
|
47
|
+
tunnel_major_casing: "#141414",
|
|
48
|
+
tunnel_highway_casing: "#141414",
|
|
49
|
+
tunnel_other: "#292929",
|
|
50
|
+
tunnel_minor: "#292929",
|
|
51
|
+
tunnel_link: "#292929",
|
|
52
|
+
tunnel_major: "#292929",
|
|
53
|
+
tunnel_highway: "#292929",
|
|
54
|
+
//#endregion
|
|
55
|
+
buildings: "#111111",
|
|
56
|
+
//#region Casing
|
|
57
|
+
minor_service_casing: "#1f1f1f",
|
|
58
|
+
minor_casing: "#1f1f1f",
|
|
59
|
+
link_casing: "#1f1f1f",
|
|
60
|
+
major_casing_late: "#1f1f1f",
|
|
61
|
+
highway_casing_late: "#1f1f1f",
|
|
62
|
+
other: "#333333",
|
|
63
|
+
minor_service: "#333333",
|
|
64
|
+
minor_a: "#3d3d3d",
|
|
65
|
+
minor_b: "#333333",
|
|
66
|
+
link: "#3d3d3d",
|
|
67
|
+
major_casing_early: "#1f1f1f",
|
|
68
|
+
major: "#3d3d3d",
|
|
69
|
+
highway_casing_early: "#1f1f1f",
|
|
70
|
+
highway: "hsl(36deg 10% 50%)",
|
|
71
|
+
//#endregion
|
|
72
|
+
railway: "#000000",
|
|
73
|
+
boundaries: "hsl(240deg 100% 90%)",
|
|
74
|
+
//#region Bridges
|
|
75
|
+
bridges_other_casing: "#2b2b2b",
|
|
76
|
+
bridges_minor_casing: "#1f1f1f",
|
|
77
|
+
bridges_link_casing: "#1f1f1f",
|
|
78
|
+
bridges_major_casing: "#1f1f1f",
|
|
79
|
+
bridges_highway_casing: "#1f1f1f",
|
|
80
|
+
bridges_other: "#333333",
|
|
81
|
+
bridges_minor: "#333333",
|
|
82
|
+
bridges_link: "#3d3d3d",
|
|
83
|
+
bridges_major: "#3d3d3d",
|
|
84
|
+
bridges_highway: "#474747",
|
|
85
|
+
//#endregion
|
|
86
|
+
//#region Roads
|
|
87
|
+
roads_label_minor: "hsl(240deg 100% 90%)",
|
|
88
|
+
roads_label_minor_halo: "#1f1f1f",
|
|
89
|
+
roads_label_major: "hsl(240deg 100% 90%)",
|
|
90
|
+
roads_label_major_halo: "#1f1f1f",
|
|
91
|
+
//#endregion
|
|
92
|
+
ocean_label: "#717784",
|
|
93
|
+
subplace_label: "hsl(50deg 50% 70%)",
|
|
94
|
+
subplace_label_halo: "hsl(40deg 100% 10%)",
|
|
95
|
+
city_label: "hsl(50deg 100% 90%)",
|
|
96
|
+
city_label_halo: "hsl(240deg 100% 10%)",
|
|
97
|
+
state_label: "hsl(240deg 100% 90%)",
|
|
98
|
+
state_label_halo: "#1f1f1f",
|
|
99
|
+
country_label: "hsl(240deg 50% 80% / 0.5)",
|
|
100
|
+
address_label: "hsl(240deg 100% 90%)",
|
|
101
|
+
address_label_halo: "hsl(240deg 100% 10%)",
|
|
102
|
+
};
|
|
103
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../base/theme.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAe,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAC,YAAY,CAAC,CAAA;AAEnE;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAW;IAC1C,cAAc;IACd,UAAU,EAAE,kBAAkB;IAC9B,KAAK,EAAE,kBAAkB;IAEzB,MAAM,EAAE,uBAAuB;IAC/B,MAAM,EAAE,wBAAwB;IAEhC,QAAQ,EAAE,SAAS;IACnB,UAAU,EAAE,SAAS;IACrB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,8BAA8B;IACrC,SAAS,EAAE,SAAS;IACpB,MAAM,EAAE,SAAS;IAEjB,KAAK,EAAE,sBAAsB;IAE7B,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,SAAS;IACd,QAAQ,EAAE,SAAS;IAEnB,YAAY;IACZ,gBAAgB;IAChB,mBAAmB,EAAE,SAAS;IAC9B,mBAAmB,EAAE,SAAS;IAC9B,kBAAkB,EAAE,SAAS;IAC7B,mBAAmB,EAAE,SAAS;IAC9B,qBAAqB,EAAE,SAAS;IAChC,YAAY,EAAE,SAAS;IACvB,YAAY,EAAE,SAAS;IACvB,WAAW,EAAE,SAAS;IACtB,YAAY,EAAE,SAAS;IACvB,cAAc,EAAE,SAAS;IAEzB,YAAY;IACZ,SAAS,EAAE,SAAS;IAEpB,gBAAgB;IAChB,oBAAoB,EAAE,SAAS;IAC/B,YAAY,EAAE,SAAS;IACvB,WAAW,EAAE,SAAS;IACtB,iBAAiB,EAAE,SAAS;IAC5B,mBAAmB,EAAE,SAAS;IAC9B,KAAK,EAAE,SAAS;IAChB,aAAa,EAAE,SAAS;IACxB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,SAAS;IACf,kBAAkB,EAAE,SAAS;IAC7B,KAAK,EAAE,SAAS;IAChB,oBAAoB,EAAE,SAAS;IAC/B,OAAO,EAAE,oBAAoB;IAE7B,YAAY;IACZ,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,sBAAsB;IAElC,iBAAiB;IACjB,oBAAoB,EAAE,SAAS;IAC/B,oBAAoB,EAAE,SAAS;IAC/B,mBAAmB,EAAE,SAAS;IAC9B,oBAAoB,EAAE,SAAS;IAC/B,sBAAsB,EAAE,SAAS;IACjC,aAAa,EAAE,SAAS;IACxB,aAAa,EAAE,SAAS;IACxB,YAAY,EAAE,SAAS;IACvB,aAAa,EAAE,SAAS;IACxB,eAAe,EAAE,SAAS;IAE1B,YAAY;IACZ,eAAe;IACf,iBAAiB,EAAE,sBAAsB;IACzC,sBAAsB,EAAE,SAAS;IACjC,iBAAiB,EAAE,sBAAsB;IACzC,sBAAsB,EAAE,SAAS;IAEjC,YAAY;IACZ,WAAW,EAAE,SAAS;IACtB,cAAc,EAAE,oBAAoB;IACpC,mBAAmB,EAAE,qBAAqB;IAE1C,UAAU,EAAE,qBAAqB;IACjC,eAAe,EAAE,sBAAsB;IAEvC,WAAW,EAAE,sBAAsB;IACnC,gBAAgB,EAAE,SAAS;IAC3B,aAAa,EAAE,2BAA2B;IAC1C,aAAa,EAAE,sBAAsB;IACrC,kBAAkB,EAAE,sBAAsB;CAC1C,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software.
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*/
|
|
6
|
+
import { type CircleLayerSpecification, type FillExtrusionLayerSpecification, type FillLayerSpecification, type HeatmapLayerSpecification, type LineLayerSpecification, type SymbolLayerSpecification } from "@maplibre/maplibre-gl-style-spec";
|
|
7
|
+
import { type LayerSpecificationListInput } from "../styles/layers.js";
|
|
8
|
+
import { TileSetSourceID } from "../styles/sources.js";
|
|
9
|
+
/**
|
|
10
|
+
* Identifier for the Broadband Data Collection tile set.
|
|
11
|
+
*/
|
|
12
|
+
export declare const BDCTileSetID: TileSetSourceID<"bdc">;
|
|
13
|
+
/**
|
|
14
|
+
* Broadband Data Collection layer specifications.
|
|
15
|
+
*
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export type BDCLayerSpecificationInput = LayerSpecificationListInput<FillLayerSpecification | LineLayerSpecification | CircleLayerSpecification | HeatmapLayerSpecification | SymbolLayerSpecification | FillExtrusionLayerSpecification>;
|
|
19
|
+
/**
|
|
20
|
+
* Base specification for a Broadband Data Collection layer.
|
|
21
|
+
*
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export type BaseBDCLayerSpecification<T> = T extends BDCLayerSpecificationInput ? Omit<T, "source-layer" | "source"> : never;
|
|
25
|
+
export declare function createBDCLayer<T extends BDCLayerSpecificationInput>(spec: BaseBDCLayerSpecification<T>): T[];
|
|
26
|
+
export declare const BroadbandDataCollectionLayers: BDCLayerSpecificationInput[];
|
|
27
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../bdc/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACN,KAAK,wBAAwB,EAC7B,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD;;GAEG;AACH,eAAO,MAAM,YAAY,wBAAyB,CAAA;AAElD;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,2BAA2B,CACjE,sBAAsB,GACtB,sBAAsB,GACtB,wBAAwB,GACxB,yBAAyB,GACzB,wBAAwB,GACxB,+BAA+B,CACjC,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI,CAAC,SAAS,0BAA0B,GAC5E,IAAI,CAAC,CAAC,EAAE,cAAc,GAAG,QAAQ,CAAC,GAClC,KAAK,CAAA;AAkCR,wBAAgB,cAAc,CAAC,CAAC,SAAS,0BAA0B,EAAE,IAAI,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAE5G;AAID,eAAO,MAAM,6BAA6B,EAAE,0BAA0B,EAqTrE,CAAA"}
|