@tileflow/maps 0.1.0-alpha.6 → 0.1.0-alpha.8
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 -10
- package/dist/index.js +54 -108
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -66,9 +66,8 @@ to create an application-owned map.
|
|
|
66
66
|
### Blueprint naming
|
|
67
67
|
|
|
68
68
|
Use `blueprint` and `blueprintIcons` for the architectural drawing map. Its map ID and
|
|
69
|
-
asset directory are `blueprint`, its theme key is `blueprint`,
|
|
70
|
-
|
|
71
|
-
`san-francisto` resource references to `blueprint`; the former grid ID is now `blueprint-grid`.
|
|
69
|
+
asset directory are `blueprint`, its theme key is `blueprint`, its theme ID is `blueprint-dark`,
|
|
70
|
+
and its grid artwork ID is `blueprint-grid`.
|
|
72
71
|
|
|
73
72
|
<!-- docs:check -->
|
|
74
73
|
|
|
@@ -88,17 +87,11 @@ export default defineMap({
|
|
|
88
87
|
|
|
89
88
|
Cyberpunk, Terminal, and Super Tile World are maintained in
|
|
90
89
|
[Tileflow Community Maps](https://github.com/tileflow/community-maps), with editable source,
|
|
91
|
-
assets, previews, and contribution instructions. They are
|
|
90
|
+
assets, previews, and contribution instructions. They are not part of this package.
|
|
92
91
|
The GitHub-distributed `@tileflow/community-maps` package exports `cyberpunk`, `terminal`, and
|
|
93
92
|
`superTileWorld`, plus each map's font and icon descriptors. Install an exact Git commit using
|
|
94
93
|
the instructions and compatible Core version in that repository.
|
|
95
94
|
|
|
96
|
-
For existing applications, move imports to `@tileflow/community-maps`, rename `matrix` to
|
|
97
|
-
`terminal`, and update explicit map and asset IDs. Cyberpunk uses the `cyberpunk-` asset prefix;
|
|
98
|
-
Terminal uses `terminal-`. Super Tile World retains `super-tile-world` and its `stw-` artwork IDs.
|
|
99
|
-
The earlier community `neonGrid` export is now `cyberpunk`. This is an explicit catalog migration;
|
|
100
|
-
there are no compatibility snapshots or aliases for the removed maps in the SDK.
|
|
101
|
-
|
|
102
95
|
Soundings is not a navigation product. Its depth-band edges are approximate reference geometry,
|
|
103
96
|
not surveyed isolines or vessel-specific safety contours. Experimental nautical aids and hazards
|
|
104
97
|
are not enabled by that official map.
|
package/dist/index.js
CHANGED
|
@@ -561,9 +561,8 @@ function landcoverPattern(target, pattern, classes, options = {}) {
|
|
|
561
561
|
} : classSelector;
|
|
562
562
|
const minZoom = options.minZoom ?? 9;
|
|
563
563
|
return renderPass({
|
|
564
|
-
|
|
564
|
+
placement: { above: target },
|
|
565
565
|
feature: "landcover",
|
|
566
|
-
phase: "overlay",
|
|
567
566
|
renderer: "fill",
|
|
568
567
|
selector,
|
|
569
568
|
style: {
|
|
@@ -578,9 +577,8 @@ function landcoverPattern(target, pattern, classes, options = {}) {
|
|
|
578
577
|
}
|
|
579
578
|
function landusePattern(target, pattern, classes, minZoom, opacity) {
|
|
580
579
|
return renderPass({
|
|
581
|
-
|
|
580
|
+
placement: { above: target },
|
|
582
581
|
feature: "landuse",
|
|
583
|
-
phase: "overlay",
|
|
584
582
|
renderer: "fill",
|
|
585
583
|
selector: { field: "class", kind: "in", values: classes },
|
|
586
584
|
style: {
|
|
@@ -872,9 +870,8 @@ var baedeker = bindOfficialMapTheme(
|
|
|
872
870
|
}),
|
|
873
871
|
{
|
|
874
872
|
engravedBlocks: renderPass({
|
|
875
|
-
|
|
873
|
+
placement: { above: "buildings.flat.fill" },
|
|
876
874
|
feature: "building",
|
|
877
|
-
phase: "overlay",
|
|
878
875
|
renderer: "fill",
|
|
879
876
|
style: {
|
|
880
877
|
minZoom: 14,
|
|
@@ -1503,7 +1500,6 @@ var baedeker = bindOfficialMapTheme(
|
|
|
1503
1500
|
strokeOpacity: 0.78,
|
|
1504
1501
|
strokeWidth: 0.8
|
|
1505
1502
|
},
|
|
1506
|
-
minZoom: 15,
|
|
1507
1503
|
mode: "flat"
|
|
1508
1504
|
}),
|
|
1509
1505
|
water: withRenderStack(
|
|
@@ -1573,9 +1569,8 @@ var baedeker = bindOfficialMapTheme(
|
|
|
1573
1569
|
}),
|
|
1574
1570
|
{
|
|
1575
1571
|
printLines: renderPass({
|
|
1576
|
-
|
|
1572
|
+
placement: { above: "water.bodies.fill" },
|
|
1577
1573
|
feature: "water",
|
|
1578
|
-
phase: "overlay",
|
|
1579
1574
|
renderer: "fill",
|
|
1580
1575
|
selector: {
|
|
1581
1576
|
coerce: "number",
|
|
@@ -1596,9 +1591,8 @@ var baedeker = bindOfficialMapTheme(
|
|
|
1596
1591
|
}
|
|
1597
1592
|
}),
|
|
1598
1593
|
intermittentPrintLines: renderPass({
|
|
1599
|
-
|
|
1594
|
+
placement: { above: "water.intermittent.bodies.fill" },
|
|
1600
1595
|
feature: "water",
|
|
1601
|
-
phase: "overlay",
|
|
1602
1596
|
renderer: "fill",
|
|
1603
1597
|
selector: {
|
|
1604
1598
|
coerce: "number",
|
|
@@ -1866,9 +1860,8 @@ var prominentBuildingSelector = {
|
|
|
1866
1860
|
};
|
|
1867
1861
|
function technicalLandPattern(target, feature, pattern, selector, minZoom, opacity) {
|
|
1868
1862
|
return renderPass2({
|
|
1869
|
-
|
|
1863
|
+
placement: { above: target },
|
|
1870
1864
|
feature,
|
|
1871
|
-
phase: "overlay",
|
|
1872
1865
|
renderer: "fill",
|
|
1873
1866
|
selector,
|
|
1874
1867
|
style: {
|
|
@@ -2209,9 +2202,8 @@ var blueprint = bindOfficialMapTheme(
|
|
|
2209
2202
|
}),
|
|
2210
2203
|
{
|
|
2211
2204
|
footprintHatch: renderPass2({
|
|
2212
|
-
|
|
2205
|
+
placement: { above: "buildings.flat.fill" },
|
|
2213
2206
|
feature: "building",
|
|
2214
|
-
phase: "overlay",
|
|
2215
2207
|
renderer: "fill",
|
|
2216
2208
|
// A section hatch is reserved for the few footprints that carry
|
|
2217
2209
|
// architectural emphasis; ordinary building fills remain quiet.
|
|
@@ -2227,9 +2219,8 @@ var blueprint = bindOfficialMapTheme(
|
|
|
2227
2219
|
}
|
|
2228
2220
|
}),
|
|
2229
2221
|
measuredEdge: renderPass2({
|
|
2230
|
-
|
|
2222
|
+
placement: { above: "buildings.flat.outline" },
|
|
2231
2223
|
feature: "building",
|
|
2232
|
-
phase: "overlay",
|
|
2233
2224
|
renderer: "line",
|
|
2234
2225
|
selector: { geometry: "polygon", kind: "geometry" },
|
|
2235
2226
|
style: {
|
|
@@ -2248,9 +2239,8 @@ var blueprint = bindOfficialMapTheme(
|
|
|
2248
2239
|
}
|
|
2249
2240
|
}),
|
|
2250
2241
|
prominentOutline: renderPass2({
|
|
2251
|
-
|
|
2242
|
+
placement: { above: "buildings.render.measuredEdge" },
|
|
2252
2243
|
feature: "building",
|
|
2253
|
-
phase: "overlay",
|
|
2254
2244
|
renderer: "line",
|
|
2255
2245
|
selector: prominentBuildingSelector,
|
|
2256
2246
|
style: {
|
|
@@ -2270,9 +2260,8 @@ var blueprint = bindOfficialMapTheme(
|
|
|
2270
2260
|
}
|
|
2271
2261
|
}),
|
|
2272
2262
|
heightAnnotations: renderPass2({
|
|
2273
|
-
|
|
2263
|
+
placement: { above: "buildings.render.prominentOutline" },
|
|
2274
2264
|
feature: "building",
|
|
2275
|
-
phase: "annotation",
|
|
2276
2265
|
renderer: "symbol",
|
|
2277
2266
|
selector: {
|
|
2278
2267
|
kind: "all",
|
|
@@ -2828,9 +2817,8 @@ var blueprint = bindOfficialMapTheme(
|
|
|
2828
2817
|
}),
|
|
2829
2818
|
{
|
|
2830
2819
|
architecturalCallouts: renderPass2({
|
|
2831
|
-
|
|
2820
|
+
placement: { above: "poi.visitor-amenity.label" },
|
|
2832
2821
|
feature: "poi",
|
|
2833
|
-
phase: "annotation",
|
|
2834
2822
|
renderer: "symbol",
|
|
2835
2823
|
selector: {
|
|
2836
2824
|
kind: "all",
|
|
@@ -3099,9 +3087,8 @@ var blueprint = bindOfficialMapTheme(
|
|
|
3099
3087
|
}),
|
|
3100
3088
|
{
|
|
3101
3089
|
majorRoadCenterline: renderPass2({
|
|
3102
|
-
|
|
3090
|
+
placement: { above: "roads.classes.motorway.surface.fill" },
|
|
3103
3091
|
feature: "road",
|
|
3104
|
-
phase: "overlay",
|
|
3105
3092
|
renderer: "line",
|
|
3106
3093
|
selector: {
|
|
3107
3094
|
kind: "all",
|
|
@@ -3238,7 +3225,6 @@ var blueprint = bindOfficialMapTheme(
|
|
|
3238
3225
|
strokeOpacity: 0.58,
|
|
3239
3226
|
strokeWidth: 0.55
|
|
3240
3227
|
},
|
|
3241
|
-
minZoom: 16,
|
|
3242
3228
|
mode: "flat"
|
|
3243
3229
|
}),
|
|
3244
3230
|
water: withRenderStack2(
|
|
@@ -3311,9 +3297,8 @@ var blueprint = bindOfficialMapTheme(
|
|
|
3311
3297
|
}),
|
|
3312
3298
|
{
|
|
3313
3299
|
waterHatch: renderPass2({
|
|
3314
|
-
|
|
3300
|
+
placement: { above: "water.bodies.fill" },
|
|
3315
3301
|
feature: "water",
|
|
3316
|
-
phase: "overlay",
|
|
3317
3302
|
renderer: "fill",
|
|
3318
3303
|
selector: {
|
|
3319
3304
|
coerce: "number",
|
|
@@ -3334,9 +3319,8 @@ var blueprint = bindOfficialMapTheme(
|
|
|
3334
3319
|
}
|
|
3335
3320
|
}),
|
|
3336
3321
|
intermittentWaterHatch: renderPass2({
|
|
3337
|
-
|
|
3322
|
+
placement: { above: "water.intermittent.bodies.fill" },
|
|
3338
3323
|
feature: "water",
|
|
3339
|
-
phase: "overlay",
|
|
3340
3324
|
renderer: "fill",
|
|
3341
3325
|
selector: {
|
|
3342
3326
|
coerce: "number",
|
|
@@ -3537,11 +3521,10 @@ function destination(image, minZoom, color, featured = false, role = "caption")
|
|
|
3537
3521
|
}
|
|
3538
3522
|
};
|
|
3539
3523
|
}
|
|
3540
|
-
function texture(
|
|
3524
|
+
function texture(above, feature, selector, pattern, minZoom, opacity) {
|
|
3541
3525
|
return renderPass3({
|
|
3542
|
-
attachTo,
|
|
3543
3526
|
feature,
|
|
3544
|
-
|
|
3527
|
+
placement: { above },
|
|
3545
3528
|
renderer: "fill",
|
|
3546
3529
|
selector,
|
|
3547
3530
|
style: {
|
|
@@ -3862,8 +3845,7 @@ var civica = bindOfficialMapTheme(
|
|
|
3862
3845
|
0.15
|
|
3863
3846
|
),
|
|
3864
3847
|
paperGrain: renderPass3({
|
|
3865
|
-
|
|
3866
|
-
phase: "overlay",
|
|
3848
|
+
placement: { above: "land.background" },
|
|
3867
3849
|
renderer: "background",
|
|
3868
3850
|
style: { pattern: "civica-paper-grain", opacity: 0.12 }
|
|
3869
3851
|
})
|
|
@@ -3918,9 +3900,8 @@ var civica = bindOfficialMapTheme(
|
|
|
3918
3900
|
}),
|
|
3919
3901
|
{
|
|
3920
3902
|
waterLines: renderPass3({
|
|
3921
|
-
|
|
3903
|
+
placement: { above: "water.bodies.fill" },
|
|
3922
3904
|
feature: "water",
|
|
3923
|
-
phase: "overlay",
|
|
3924
3905
|
renderer: "fill",
|
|
3925
3906
|
style: {
|
|
3926
3907
|
pattern: "civica-water-lines",
|
|
@@ -3949,9 +3930,8 @@ var civica = bindOfficialMapTheme(
|
|
|
3949
3930
|
// Core's ordinary building deck begins at z15. This separate plate lets
|
|
3950
3931
|
// available generalized footprints describe the city at district scales.
|
|
3951
3932
|
districtFootprints: renderPass3({
|
|
3952
|
-
|
|
3933
|
+
placement: { below: "buildings.flat.fill" },
|
|
3953
3934
|
feature: "building",
|
|
3954
|
-
phase: "underlay",
|
|
3955
3935
|
renderer: "fill",
|
|
3956
3936
|
selector: { kind: "geometry", geometry: "polygon" },
|
|
3957
3937
|
style: {
|
|
@@ -4375,9 +4355,9 @@ var civica = bindOfficialMapTheme(
|
|
|
4375
4355
|
),
|
|
4376
4356
|
vegetation: vegetation3({
|
|
4377
4357
|
mode: "flat",
|
|
4378
|
-
minZoom: 19,
|
|
4379
4358
|
flat: {
|
|
4380
4359
|
color: ink.greenInk,
|
|
4360
|
+
minZoom: 19,
|
|
4381
4361
|
opacity: 0.5,
|
|
4382
4362
|
radius: zoom3.linear([
|
|
4383
4363
|
[19, 1.2],
|
|
@@ -4587,9 +4567,8 @@ function landcoverPattern2(target, pattern, classes, options = {}) {
|
|
|
4587
4567
|
} : classSelector;
|
|
4588
4568
|
const minZoom = options.minZoom ?? 9;
|
|
4589
4569
|
return renderPass4({
|
|
4590
|
-
|
|
4570
|
+
placement: { above: target },
|
|
4591
4571
|
feature: "landcover",
|
|
4592
|
-
phase: "overlay",
|
|
4593
4572
|
renderer: "fill",
|
|
4594
4573
|
selector,
|
|
4595
4574
|
style: {
|
|
@@ -4604,9 +4583,8 @@ function landcoverPattern2(target, pattern, classes, options = {}) {
|
|
|
4604
4583
|
}
|
|
4605
4584
|
function landusePattern2(target, pattern, classes, minZoom, opacity) {
|
|
4606
4585
|
return renderPass4({
|
|
4607
|
-
|
|
4586
|
+
placement: { above: target },
|
|
4608
4587
|
feature: "landuse",
|
|
4609
|
-
phase: "overlay",
|
|
4610
4588
|
renderer: "fill",
|
|
4611
4589
|
selector: { field: "class", kind: "in", values: classes },
|
|
4612
4590
|
style: {
|
|
@@ -4870,9 +4848,8 @@ var ferraris = bindOfficialMapTheme(
|
|
|
4870
4848
|
}),
|
|
4871
4849
|
{
|
|
4872
4850
|
printShadow: renderPass4({
|
|
4873
|
-
|
|
4851
|
+
placement: { below: "buildings.flat.fill" },
|
|
4874
4852
|
feature: "building",
|
|
4875
|
-
phase: "underlay",
|
|
4876
4853
|
renderer: "fill",
|
|
4877
4854
|
style: {
|
|
4878
4855
|
color: ferrarisPalette.ink,
|
|
@@ -5365,7 +5342,6 @@ var ferraris = bindOfficialMapTheme(
|
|
|
5365
5342
|
strokeOpacity: 0.62,
|
|
5366
5343
|
strokeWidth: 0.7
|
|
5367
5344
|
},
|
|
5368
|
-
minZoom: 15,
|
|
5369
5345
|
mode: "flat"
|
|
5370
5346
|
}),
|
|
5371
5347
|
water: withRenderStack4(
|
|
@@ -5453,9 +5429,8 @@ var ferraris = bindOfficialMapTheme(
|
|
|
5453
5429
|
}),
|
|
5454
5430
|
{
|
|
5455
5431
|
ripples: renderPass4({
|
|
5456
|
-
|
|
5432
|
+
placement: { above: "water.bodies.fill" },
|
|
5457
5433
|
feature: "water",
|
|
5458
|
-
phase: "overlay",
|
|
5459
5434
|
renderer: "fill",
|
|
5460
5435
|
selector: {
|
|
5461
5436
|
coerce: "number",
|
|
@@ -5476,9 +5451,8 @@ var ferraris = bindOfficialMapTheme(
|
|
|
5476
5451
|
}
|
|
5477
5452
|
}),
|
|
5478
5453
|
intermittentRipples: renderPass4({
|
|
5479
|
-
|
|
5454
|
+
placement: { above: "water.intermittent.bodies.fill" },
|
|
5480
5455
|
feature: "water",
|
|
5481
|
-
phase: "overlay",
|
|
5482
5456
|
renderer: "fill",
|
|
5483
5457
|
selector: {
|
|
5484
5458
|
coerce: "number",
|
|
@@ -5662,9 +5636,8 @@ function landcoverPattern3(target, pattern, classes, options = {}) {
|
|
|
5662
5636
|
opacityStops.push([options.highZoom, options.highZoomOpacity]);
|
|
5663
5637
|
}
|
|
5664
5638
|
return renderPass5({
|
|
5665
|
-
|
|
5639
|
+
placement: { above: target },
|
|
5666
5640
|
feature: "landcover",
|
|
5667
|
-
phase: "overlay",
|
|
5668
5641
|
renderer: "fill",
|
|
5669
5642
|
selector,
|
|
5670
5643
|
style: {
|
|
@@ -5683,9 +5656,8 @@ function landusePattern3(target, pattern, classes, minZoom, opacity, maxZoom) {
|
|
|
5683
5656
|
opacityStops.push([maxZoom - 2, opacity * 0.5], [maxZoom, 0]);
|
|
5684
5657
|
}
|
|
5685
5658
|
return renderPass5({
|
|
5686
|
-
|
|
5659
|
+
placement: { above: target },
|
|
5687
5660
|
feature: "landuse",
|
|
5688
|
-
phase: "overlay",
|
|
5689
5661
|
renderer: "fill",
|
|
5690
5662
|
selector: { field: "class", kind: "in", values: classes },
|
|
5691
5663
|
style: {
|
|
@@ -6142,9 +6114,8 @@ var harad = bindOfficialMapTheme(
|
|
|
6142
6114
|
}),
|
|
6143
6115
|
{
|
|
6144
6116
|
fieldBoundaries: renderPass5({
|
|
6145
|
-
|
|
6117
|
+
placement: { above: "land.landcover.farmland.fill" },
|
|
6146
6118
|
feature: "landcover",
|
|
6147
|
-
phase: "overlay",
|
|
6148
6119
|
renderer: "line",
|
|
6149
6120
|
selector: { field: "class", kind: "in", values: ["farmland"] },
|
|
6150
6121
|
style: {
|
|
@@ -6395,7 +6366,6 @@ var harad = bindOfficialMapTheme(
|
|
|
6395
6366
|
strokeOpacity: 0.5,
|
|
6396
6367
|
strokeWidth: 0.55
|
|
6397
6368
|
},
|
|
6398
|
-
minZoom: 15,
|
|
6399
6369
|
mode: "flat"
|
|
6400
6370
|
}),
|
|
6401
6371
|
water: withRenderStack5(
|
|
@@ -6479,9 +6449,8 @@ var harad = bindOfficialMapTheme(
|
|
|
6479
6449
|
}),
|
|
6480
6450
|
{
|
|
6481
6451
|
printLines: renderPass5({
|
|
6482
|
-
|
|
6452
|
+
placement: { above: "water.bodies.fill" },
|
|
6483
6453
|
feature: "water",
|
|
6484
|
-
phase: "overlay",
|
|
6485
6454
|
renderer: "fill",
|
|
6486
6455
|
selector: {
|
|
6487
6456
|
coerce: "number",
|
|
@@ -6502,9 +6471,8 @@ var harad = bindOfficialMapTheme(
|
|
|
6502
6471
|
}
|
|
6503
6472
|
}),
|
|
6504
6473
|
intermittentPrintLines: renderPass5({
|
|
6505
|
-
|
|
6474
|
+
placement: { above: "water.intermittent.bodies.fill" },
|
|
6506
6475
|
feature: "water",
|
|
6507
|
-
phase: "overlay",
|
|
6508
6476
|
renderer: "fill",
|
|
6509
6477
|
selector: {
|
|
6510
6478
|
coerce: "number",
|
|
@@ -6898,9 +6866,8 @@ function landcoverFilter(classes, options = {}) {
|
|
|
6898
6866
|
function landcoverPattern4(target, pattern, classes, options = {}) {
|
|
6899
6867
|
const minZoom = options.minZoom ?? 9;
|
|
6900
6868
|
return renderPass6({
|
|
6901
|
-
|
|
6869
|
+
placement: { above: target },
|
|
6902
6870
|
feature: "landcover",
|
|
6903
|
-
phase: "overlay",
|
|
6904
6871
|
renderer: "fill",
|
|
6905
6872
|
selector: landcoverFilter(classes, options),
|
|
6906
6873
|
style: {
|
|
@@ -6915,9 +6882,8 @@ function landcoverPattern4(target, pattern, classes, options = {}) {
|
|
|
6915
6882
|
}
|
|
6916
6883
|
function postContourLandcoverPattern(target, pattern, classes, options) {
|
|
6917
6884
|
return renderPass6({
|
|
6918
|
-
|
|
6885
|
+
placement: { above: target },
|
|
6919
6886
|
feature: "landcover",
|
|
6920
|
-
phase: "postRelief",
|
|
6921
6887
|
renderer: "fill",
|
|
6922
6888
|
requirements: ["land"],
|
|
6923
6889
|
selector: landcoverFilter(classes, options),
|
|
@@ -7580,9 +7546,8 @@ var siegfried = bindOfficialMapTheme(
|
|
|
7580
7546
|
}),
|
|
7581
7547
|
{
|
|
7582
7548
|
rockMask: renderPass6({
|
|
7583
|
-
|
|
7549
|
+
placement: { below: "water.bodies.fill" },
|
|
7584
7550
|
feature: "landcover",
|
|
7585
|
-
phase: "underlay",
|
|
7586
7551
|
renderer: "fill",
|
|
7587
7552
|
requirements: ["land"],
|
|
7588
7553
|
selector: { field: "class", kind: "in", values: ["rock"] },
|
|
@@ -7613,18 +7578,16 @@ var siegfried = bindOfficialMapTheme(
|
|
|
7613
7578
|
}
|
|
7614
7579
|
),
|
|
7615
7580
|
glacierMask: renderPass6({
|
|
7616
|
-
|
|
7581
|
+
placement: { below: "water.bodies.fill" },
|
|
7617
7582
|
feature: "landcover",
|
|
7618
|
-
phase: "underlay",
|
|
7619
7583
|
renderer: "fill",
|
|
7620
7584
|
requirements: ["land"],
|
|
7621
7585
|
selector: { field: "class", kind: "in", values: ["ice", "glacier"] },
|
|
7622
7586
|
style: { color: siegfriedPalette.paper, minZoom: 7, opacity: 0.98 }
|
|
7623
7587
|
}),
|
|
7624
7588
|
glacierPattern: renderPass6({
|
|
7625
|
-
|
|
7589
|
+
placement: { above: "water.render.glacierMask" },
|
|
7626
7590
|
feature: "landcover",
|
|
7627
|
-
phase: "postRelief",
|
|
7628
7591
|
renderer: "fill",
|
|
7629
7592
|
requirements: ["land"],
|
|
7630
7593
|
selector: { field: "class", kind: "in", values: ["ice", "glacier"] },
|
|
@@ -7639,9 +7602,8 @@ var siegfried = bindOfficialMapTheme(
|
|
|
7639
7602
|
}
|
|
7640
7603
|
}),
|
|
7641
7604
|
glacierOutline: renderPass6({
|
|
7642
|
-
|
|
7605
|
+
placement: { above: "water.render.glacierPattern" },
|
|
7643
7606
|
feature: "landcover",
|
|
7644
|
-
phase: "postRelief",
|
|
7645
7607
|
renderer: "line",
|
|
7646
7608
|
requirements: ["land"],
|
|
7647
7609
|
selector: { field: "class", kind: "in", values: ["ice", "glacier"] },
|
|
@@ -7655,9 +7617,8 @@ var siegfried = bindOfficialMapTheme(
|
|
|
7655
7617
|
}
|
|
7656
7618
|
}),
|
|
7657
7619
|
waterLines: renderPass6({
|
|
7658
|
-
|
|
7620
|
+
placement: { above: "water.bodies.outline" },
|
|
7659
7621
|
feature: "water",
|
|
7660
|
-
phase: "overlay",
|
|
7661
7622
|
renderer: "fill",
|
|
7662
7623
|
selector: {
|
|
7663
7624
|
coerce: "number",
|
|
@@ -7678,9 +7639,8 @@ var siegfried = bindOfficialMapTheme(
|
|
|
7678
7639
|
}
|
|
7679
7640
|
}),
|
|
7680
7641
|
intermittentWaterLines: renderPass6({
|
|
7681
|
-
|
|
7642
|
+
placement: { above: "water.intermittent.bodies.fill" },
|
|
7682
7643
|
feature: "water",
|
|
7683
|
-
phase: "overlay",
|
|
7684
7644
|
renderer: "fill",
|
|
7685
7645
|
selector: {
|
|
7686
7646
|
coerce: "number",
|
|
@@ -8174,9 +8134,8 @@ var soundings = bindOfficialMapTheme(
|
|
|
8174
8134
|
{
|
|
8175
8135
|
// Ferry names are operational context, not a recommended track.
|
|
8176
8136
|
ferryLabels: renderPass7({
|
|
8177
|
-
|
|
8137
|
+
placement: { above: "transit.ferry" },
|
|
8178
8138
|
feature: "roadName",
|
|
8179
|
-
phase: "overlay",
|
|
8180
8139
|
renderer: "symbol",
|
|
8181
8140
|
selector: {
|
|
8182
8141
|
kind: "all",
|
|
@@ -8364,9 +8323,8 @@ var soundings = bindOfficialMapTheme(
|
|
|
8364
8323
|
// Piers remain visible even though the terrestrial road family is disabled.
|
|
8365
8324
|
// A dark outer stroke and ivory deck read as charted shoreline structures.
|
|
8366
8325
|
pierOutline: renderPass7({
|
|
8367
|
-
|
|
8326
|
+
placement: { above: "water.bodies.outline" },
|
|
8368
8327
|
feature: "road",
|
|
8369
|
-
phase: "overlay",
|
|
8370
8328
|
renderer: "line",
|
|
8371
8329
|
selector: {
|
|
8372
8330
|
kind: "any",
|
|
@@ -8393,9 +8351,8 @@ var soundings = bindOfficialMapTheme(
|
|
|
8393
8351
|
}
|
|
8394
8352
|
}),
|
|
8395
8353
|
pierDeck: renderPass7({
|
|
8396
|
-
|
|
8354
|
+
placement: { above: "water.render.pierOutline" },
|
|
8397
8355
|
feature: "road",
|
|
8398
|
-
phase: "overlay",
|
|
8399
8356
|
renderer: "line",
|
|
8400
8357
|
selector: {
|
|
8401
8358
|
kind: "any",
|
|
@@ -8421,9 +8378,8 @@ var soundings = bindOfficialMapTheme(
|
|
|
8421
8378
|
}
|
|
8422
8379
|
}),
|
|
8423
8380
|
chartDots: renderPass7({
|
|
8424
|
-
|
|
8381
|
+
placement: { above: "water.bodies.fill" },
|
|
8425
8382
|
feature: "water",
|
|
8426
|
-
phase: "overlay",
|
|
8427
8383
|
renderer: "fill",
|
|
8428
8384
|
selector: {
|
|
8429
8385
|
coerce: "number",
|
|
@@ -8444,9 +8400,8 @@ var soundings = bindOfficialMapTheme(
|
|
|
8444
8400
|
}
|
|
8445
8401
|
}),
|
|
8446
8402
|
intermittentChartDots: renderPass7({
|
|
8447
|
-
|
|
8403
|
+
placement: { above: "water.intermittent.bodies.fill" },
|
|
8448
8404
|
feature: "water",
|
|
8449
|
-
phase: "overlay",
|
|
8450
8405
|
renderer: "fill",
|
|
8451
8406
|
selector: {
|
|
8452
8407
|
coerce: "number",
|
|
@@ -9377,13 +9332,13 @@ var circularRoadCasingWidth = circularRoadStrokeWidth(true);
|
|
|
9377
9332
|
var expresswayWidthScale = 1.06;
|
|
9378
9333
|
var tunnelBorderDash = [3, 3];
|
|
9379
9334
|
var tunnelBorderWidth = 1;
|
|
9380
|
-
function
|
|
9335
|
+
function circularRoadFallbackScale(level) {
|
|
9381
9336
|
const interpolationBase = 1.35;
|
|
9382
9337
|
const progress = (interpolationBase ** (level - 15) - 1) / (interpolationBase ** (22 - 15) - 1);
|
|
9383
9338
|
return 1 + progress * 1.2;
|
|
9384
9339
|
}
|
|
9385
9340
|
function circularRoadWidthAtLevel(level) {
|
|
9386
|
-
const scale =
|
|
9341
|
+
const scale = circularRoadFallbackScale(level);
|
|
9387
9342
|
return level === 15 ? circularRoadBaseWidth : expr9.multiply(circularRoadBaseWidth, scale);
|
|
9388
9343
|
}
|
|
9389
9344
|
function circularRoadCenterlineRadiusAtLevel(level) {
|
|
@@ -9631,9 +9586,8 @@ var namedCitySelector = {
|
|
|
9631
9586
|
function streetsBoundaryRenderStack() {
|
|
9632
9587
|
return {
|
|
9633
9588
|
admin2Background: renderPass8({
|
|
9634
|
-
|
|
9589
|
+
placement: { below: "boundaries.admin4" },
|
|
9635
9590
|
feature: "boundary",
|
|
9636
|
-
phase: "underlay",
|
|
9637
9591
|
renderer: "line",
|
|
9638
9592
|
selector: {
|
|
9639
9593
|
kind: "all",
|
|
@@ -9674,9 +9628,8 @@ function streetsBoundaryRenderStack() {
|
|
|
9674
9628
|
}
|
|
9675
9629
|
}),
|
|
9676
9630
|
admin4Background: renderPass8({
|
|
9677
|
-
|
|
9631
|
+
placement: { below: "boundaries.admin4" },
|
|
9678
9632
|
feature: "boundary",
|
|
9679
|
-
phase: "underlay",
|
|
9680
9633
|
renderer: "line",
|
|
9681
9634
|
selector: {
|
|
9682
9635
|
kind: "all",
|
|
@@ -9722,9 +9675,8 @@ function streetsBoundaryRenderStack() {
|
|
|
9722
9675
|
// Standard uses the next tier as a restrained dotted municipal cue from
|
|
9723
9676
|
// metro zooms onward, so Streets adds it as an explicit semantic pass.
|
|
9724
9677
|
admin6: renderPass8({
|
|
9725
|
-
|
|
9678
|
+
placement: { above: "boundaries.admin4" },
|
|
9726
9679
|
feature: "boundary",
|
|
9727
|
-
phase: "overlay",
|
|
9728
9680
|
renderer: "line",
|
|
9729
9681
|
selector: {
|
|
9730
9682
|
kind: "all",
|
|
@@ -9768,9 +9720,8 @@ function streetsBoundaryRenderStack() {
|
|
|
9768
9720
|
function streetsLandRenderStack() {
|
|
9769
9721
|
return {
|
|
9770
9722
|
businessArea: renderPass8({
|
|
9771
|
-
|
|
9723
|
+
placement: { above: "land.landuse.residential.fill" },
|
|
9772
9724
|
feature: "landuse",
|
|
9773
|
-
phase: "overlay",
|
|
9774
9725
|
renderer: "fill",
|
|
9775
9726
|
selector: { field: "class", kind: "compare", operator: "eq", value: "business_area" },
|
|
9776
9727
|
style: {
|
|
@@ -9787,9 +9738,8 @@ function streetsBuildingRenderStack() {
|
|
|
9787
9738
|
// fill and its close-colour outline carry the 2D building hierarchy; a
|
|
9788
9739
|
// dark shadow at z15 would turn every footprint into a heavy sticker.
|
|
9789
9740
|
flatShadow: renderPass8({
|
|
9790
|
-
|
|
9741
|
+
placement: { below: "buildings.flat.fill" },
|
|
9791
9742
|
feature: "building",
|
|
9792
|
-
phase: "underlay",
|
|
9793
9743
|
renderer: "line",
|
|
9794
9744
|
style: {
|
|
9795
9745
|
blur: 2,
|
|
@@ -9812,9 +9762,8 @@ function streetsBuildingRenderStack() {
|
|
|
9812
9762
|
}
|
|
9813
9763
|
}),
|
|
9814
9764
|
shadowSoft: renderPass8({
|
|
9815
|
-
|
|
9765
|
+
placement: { below: "buildings.flat.fill" },
|
|
9816
9766
|
feature: "building",
|
|
9817
|
-
phase: "underlay",
|
|
9818
9767
|
renderer: "line",
|
|
9819
9768
|
selector: visibleBuilding3dSelector,
|
|
9820
9769
|
style: {
|
|
@@ -9829,9 +9778,8 @@ function streetsBuildingRenderStack() {
|
|
|
9829
9778
|
}
|
|
9830
9779
|
}),
|
|
9831
9780
|
shadowCore: renderPass8({
|
|
9832
|
-
|
|
9781
|
+
placement: { below: "buildings.flat.fill" },
|
|
9833
9782
|
feature: "building",
|
|
9834
|
-
phase: "underlay",
|
|
9835
9783
|
renderer: "fill",
|
|
9836
9784
|
selector: visibleBuilding3dSelector,
|
|
9837
9785
|
style: {
|
|
@@ -9845,9 +9793,8 @@ function streetsBuildingRenderStack() {
|
|
|
9845
9793
|
}
|
|
9846
9794
|
}),
|
|
9847
9795
|
extrusion: renderPass8({
|
|
9848
|
-
|
|
9796
|
+
placement: { above: "buildings.flat.outline" },
|
|
9849
9797
|
feature: "building",
|
|
9850
|
-
phase: "overlay",
|
|
9851
9798
|
renderer: "extrusion",
|
|
9852
9799
|
selector: visibleBuilding3dSelector,
|
|
9853
9800
|
style: {
|
|
@@ -9865,9 +9812,8 @@ function streetsBuildingRenderStack() {
|
|
|
9865
9812
|
function streetsLabelRenderStack() {
|
|
9866
9813
|
return {
|
|
9867
9814
|
settlementMarker: renderPass8({
|
|
9868
|
-
|
|
9815
|
+
placement: { below: "labels.places.city" },
|
|
9869
9816
|
feature: "place",
|
|
9870
|
-
phase: "underlay",
|
|
9871
9817
|
renderer: "circle",
|
|
9872
9818
|
selector: namedCitySelector,
|
|
9873
9819
|
style: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tileflow/maps",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.8",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "Official themed Streets, Baedeker, Cívica, Ferraris, Härad, Siegfried, Soundings, and Blueprint maps for Tileflow.",
|
|
6
6
|
"type": "module",
|
|
@@ -53,12 +53,12 @@
|
|
|
53
53
|
"access": "public"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
|
-
"@tileflow/core": ">=0.1.0-alpha.
|
|
56
|
+
"@tileflow/core": ">=0.1.0-alpha.32 <0.1.0-beta.0"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@maplibre/maplibre-gl-style-spec": "24.8.5",
|
|
60
|
-
"@maplibre/maplibre-gl-style-spec-v6": "npm:@maplibre/maplibre-gl-style-spec@26.4.
|
|
61
|
-
"@tileflow/core": "0.1.0-alpha.
|
|
60
|
+
"@maplibre/maplibre-gl-style-spec-v6": "npm:@maplibre/maplibre-gl-style-spec@26.4.4",
|
|
61
|
+
"@tileflow/core": "0.1.0-alpha.32"
|
|
62
62
|
},
|
|
63
63
|
"scripts": {
|
|
64
64
|
"build": "tsup src/index.ts --format esm --dts --clean --no-splitting",
|