@tileflow/maps 0.1.0-alpha.20 → 0.1.0-alpha.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/README.md +30 -47
  2. package/REFERENCE.md +28 -0
  3. package/THIRD_PARTY_NOTICES.md +19 -118
  4. package/assets/README.md +16 -59
  5. package/assets/outdoors/icons/outdoors-peak-dark.svg +5 -0
  6. package/assets/outdoors/icons/outdoors-peak.svg +5 -0
  7. package/assets/streets/icons/tileflow.icons.json +27 -0
  8. package/dist/index.d.ts +24 -565
  9. package/dist/index.js +4018 -10211
  10. package/package.json +7 -10
  11. package/assets/baedeker/README.md +0 -31
  12. package/assets/baedeker/fonts/CormorantGaramond-Italic.ttf +0 -0
  13. package/assets/baedeker/fonts/CormorantGaramond-Regular.ttf +0 -0
  14. package/assets/baedeker/fonts/CormorantGaramond-SemiBold.ttf +0 -0
  15. package/assets/baedeker/fonts/LICENSE.txt +0 -93
  16. package/assets/baedeker/icons/baedeker-hachures.pattern.svg +0 -14
  17. package/assets/baedeker/icons/baedeker-orchard.pattern.svg +0 -36
  18. package/assets/baedeker/icons/baedeker-paper-grain.pattern.svg +0 -20
  19. package/assets/baedeker/icons/baedeker-park-stipple.pattern.svg +0 -36
  20. package/assets/baedeker/icons/baedeker-residential.pattern.svg +0 -5
  21. package/assets/baedeker/icons/baedeker-sand.pattern.svg +0 -21
  22. package/assets/baedeker/icons/baedeker-water-lines.pattern.svg +0 -9
  23. package/assets/baedeker/icons/baedeker-wetland.pattern.svg +0 -8
  24. package/assets/blueprint/icons/blueprint-building-hatch.pattern.svg +0 -4
  25. package/assets/blueprint/icons/blueprint-grid.pattern.svg +0 -6
  26. package/assets/blueprint/icons/blueprint-landscape-hatch.pattern.svg +0 -4
  27. package/assets/blueprint/icons/blueprint-poi-node.svg +0 -8
  28. package/assets/blueprint/icons/blueprint-water-hatch.pattern.svg +0 -4
  29. package/assets/civica/README.md +0 -35
  30. package/assets/civica/fonts/BarlowSemiCondensed-Regular.ttf +0 -0
  31. package/assets/civica/fonts/BarlowSemiCondensed-SemiBold.ttf +0 -0
  32. package/assets/civica/fonts/DMSerifText-Italic.ttf +0 -0
  33. package/assets/civica/fonts/DMSerifText-Regular.ttf +0 -0
  34. package/assets/civica/fonts/LICENSE-BarlowSemiCondensed.txt +0 -93
  35. package/assets/civica/fonts/LICENSE-NotoSans.txt +0 -94
  36. package/assets/civica/fonts/LICENSE.txt +0 -293
  37. package/assets/civica/fonts/NotoSans-Regular.ttf +0 -0
  38. package/assets/civica/fonts/OFL.txt +0 -93
  39. package/assets/civica/fonts/README.md +0 -42
  40. package/assets/civica/icons/civica-industrial-hatch.pattern.svg +0 -5
  41. package/assets/civica/icons/civica-orchard.pattern.svg +0 -16
  42. package/assets/civica/icons/civica-paper-grain.pattern.svg +0 -26
  43. package/assets/civica/icons/civica-park-groves.pattern.svg +0 -13
  44. package/assets/civica/icons/civica-poi-airport.svg +0 -6
  45. package/assets/civica/icons/civica-poi-civic-star.svg +0 -5
  46. package/assets/civica/icons/civica-poi-dot.svg +0 -5
  47. package/assets/civica/icons/civica-poi-food.svg +0 -7
  48. package/assets/civica/icons/civica-poi-garden.svg +0 -16
  49. package/assets/civica/icons/civica-poi-hospital.svg +0 -5
  50. package/assets/civica/icons/civica-poi-lodging.svg +0 -8
  51. package/assets/civica/icons/civica-poi-monument.svg +0 -7
  52. package/assets/civica/icons/civica-poi-museum.svg +0 -7
  53. package/assets/civica/icons/civica-poi-shopping.svg +0 -8
  54. package/assets/civica/icons/civica-poi-transit.svg +0 -10
  55. package/assets/civica/icons/civica-water-lines.pattern.svg +0 -7
  56. package/assets/map-1777/fonts/CormorantGaramond-Italic.ttf +0 -0
  57. package/assets/map-1777/fonts/CormorantGaramond-Regular.ttf +0 -0
  58. package/assets/map-1777/fonts/CormorantGaramond-SemiBold.ttf +0 -0
  59. package/assets/map-1777/fonts/LICENSE.txt +0 -93
  60. package/assets/map-1777/icons/map-1777-crop-cross.pattern.svg +0 -52
  61. package/assets/map-1777/icons/map-1777-crop-hatch.pattern.svg +0 -49
  62. package/assets/map-1777/icons/map-1777-crop-lines.pattern.svg +0 -52
  63. package/assets/map-1777/icons/map-1777-dawn-crop-cross.pattern.svg +0 -52
  64. package/assets/map-1777/icons/map-1777-dawn-crop-hatch.pattern.svg +0 -49
  65. package/assets/map-1777/icons/map-1777-dawn-crop-lines.pattern.svg +0 -52
  66. package/assets/map-1777/icons/map-1777-dawn-heath.pattern.svg +0 -9
  67. package/assets/map-1777/icons/map-1777-dawn-orchard.pattern.svg +0 -89
  68. package/assets/map-1777/icons/map-1777-dawn-paper-grain.pattern.svg +0 -20
  69. package/assets/map-1777/icons/map-1777-dawn-residential.pattern.svg +0 -5
  70. package/assets/map-1777/icons/map-1777-dawn-sand.pattern.svg +0 -15
  71. package/assets/map-1777/icons/map-1777-dawn-water-ripples.pattern.svg +0 -9
  72. package/assets/map-1777/icons/map-1777-dawn-wetland.pattern.svg +0 -8
  73. package/assets/map-1777/icons/map-1777-dawn-woodland.pattern.svg +0 -121
  74. package/assets/map-1777/icons/map-1777-dusk-crop-cross.pattern.svg +0 -52
  75. package/assets/map-1777/icons/map-1777-dusk-crop-hatch.pattern.svg +0 -49
  76. package/assets/map-1777/icons/map-1777-dusk-crop-lines.pattern.svg +0 -52
  77. package/assets/map-1777/icons/map-1777-dusk-heath.pattern.svg +0 -9
  78. package/assets/map-1777/icons/map-1777-dusk-orchard.pattern.svg +0 -89
  79. package/assets/map-1777/icons/map-1777-dusk-paper-grain.pattern.svg +0 -20
  80. package/assets/map-1777/icons/map-1777-dusk-residential.pattern.svg +0 -5
  81. package/assets/map-1777/icons/map-1777-dusk-sand.pattern.svg +0 -15
  82. package/assets/map-1777/icons/map-1777-dusk-water-ripples.pattern.svg +0 -9
  83. package/assets/map-1777/icons/map-1777-dusk-wetland.pattern.svg +0 -8
  84. package/assets/map-1777/icons/map-1777-dusk-woodland.pattern.svg +0 -121
  85. package/assets/map-1777/icons/map-1777-heath.pattern.svg +0 -9
  86. package/assets/map-1777/icons/map-1777-night-crop-cross.pattern.svg +0 -52
  87. package/assets/map-1777/icons/map-1777-night-crop-hatch.pattern.svg +0 -49
  88. package/assets/map-1777/icons/map-1777-night-crop-lines.pattern.svg +0 -52
  89. package/assets/map-1777/icons/map-1777-night-heath.pattern.svg +0 -9
  90. package/assets/map-1777/icons/map-1777-night-orchard.pattern.svg +0 -89
  91. package/assets/map-1777/icons/map-1777-night-paper-grain.pattern.svg +0 -20
  92. package/assets/map-1777/icons/map-1777-night-residential.pattern.svg +0 -5
  93. package/assets/map-1777/icons/map-1777-night-sand.pattern.svg +0 -15
  94. package/assets/map-1777/icons/map-1777-night-water-ripples.pattern.svg +0 -9
  95. package/assets/map-1777/icons/map-1777-night-wetland.pattern.svg +0 -8
  96. package/assets/map-1777/icons/map-1777-night-woodland.pattern.svg +0 -121
  97. package/assets/map-1777/icons/map-1777-orchard.pattern.svg +0 -89
  98. package/assets/map-1777/icons/map-1777-paper-grain.pattern.svg +0 -20
  99. package/assets/map-1777/icons/map-1777-residential.pattern.svg +0 -5
  100. package/assets/map-1777/icons/map-1777-sand.pattern.svg +0 -15
  101. package/assets/map-1777/icons/map-1777-water-ripples.pattern.svg +0 -9
  102. package/assets/map-1777/icons/map-1777-wetland.pattern.svg +0 -8
  103. package/assets/map-1777/icons/map-1777-woodland.pattern.svg +0 -121
  104. package/assets/siegfried/README.md +0 -38
  105. package/assets/siegfried/fonts/CormorantGaramond-Italic.ttf +0 -0
  106. package/assets/siegfried/fonts/CormorantGaramond-Regular.ttf +0 -0
  107. package/assets/siegfried/fonts/CormorantGaramond-SemiBold.ttf +0 -0
  108. package/assets/siegfried/fonts/LICENSE.txt +0 -93
  109. package/assets/siegfried/icons/siegfried-dark-forest.pattern.svg +0 -63
  110. package/assets/siegfried/icons/siegfried-dark-glacier.pattern.svg +0 -24
  111. package/assets/siegfried/icons/siegfried-dark-gravel.pattern.svg +0 -45
  112. package/assets/siegfried/icons/siegfried-dark-orchard.pattern.svg +0 -49
  113. package/assets/siegfried/icons/siegfried-dark-paper-grain.pattern.svg +0 -15
  114. package/assets/siegfried/icons/siegfried-dark-rock.pattern.svg +0 -19
  115. package/assets/siegfried/icons/siegfried-dark-scree.pattern.svg +0 -31
  116. package/assets/siegfried/icons/siegfried-dark-water-lines.pattern.svg +0 -10
  117. package/assets/siegfried/icons/siegfried-dark-wetland.pattern.svg +0 -24
  118. package/assets/siegfried/icons/siegfried-forest.pattern.svg +0 -63
  119. package/assets/siegfried/icons/siegfried-glacier.pattern.svg +0 -24
  120. package/assets/siegfried/icons/siegfried-gravel.pattern.svg +0 -45
  121. package/assets/siegfried/icons/siegfried-orchard.pattern.svg +0 -49
  122. package/assets/siegfried/icons/siegfried-paper-grain.pattern.svg +0 -15
  123. package/assets/siegfried/icons/siegfried-rock.pattern.svg +0 -19
  124. package/assets/siegfried/icons/siegfried-scree.pattern.svg +0 -31
  125. package/assets/siegfried/icons/siegfried-water-lines.pattern.svg +0 -10
  126. package/assets/siegfried/icons/siegfried-wetland.pattern.svg +0 -24
  127. /package/assets/streets/{LICENSE-CC-BY-SA-3.0.txt → icons/LICENSE-CC-BY-SA-3.0.txt} +0 -0
  128. /package/assets/streets/{LICENSE-CC-BY-SA-4.0.txt → icons/LICENSE-CC-BY-SA-4.0.txt} +0 -0
package/README.md CHANGED
@@ -62,13 +62,9 @@ The CLI owns the interface; compiler and runtime changes require rebuilding thos
62
62
 
63
63
  - `streets`: contemporary street cartography with Mapbox-inspired time-of-day and color themes,
64
64
  ranked POIs, Madrid transit network symbols, generic road-reference shields, and regional hillshade.
65
- - `baedeker`: warm travel-atlas styling, serif labels, original engraved patterns, and contours.
66
- - `civica`: illustrated civic-print styling with warm paper, olive parks, blue annotations, and
67
- vermilion landmarks.
68
- - `map1777` (1777): 1777 ink and watercolor on current data, with 3D and four times of day.
69
- - `siegfried`: a terrain atlas with coordinated light/dark ink palettes, contours, and engraved patterns.
70
65
  - `soundings`: bathymetric reference cartography with depth bands, continuous relief, and port context.
71
- - `blueprint`: a dark architectural drawing style, with a default camera centered on San Francisco.
66
+ - `outdoors`: contemporary topography with 3D relief, hillshade, contours, trails, peaks and natural
67
+ landcover. It shares Streets' lettering, roads, POIs and four times of day.
72
68
 
73
69
  Every official map is a complete, independent root using the same Core compiler. Official map
74
70
  objects are deeply frozen shared instances. Do not mutate them; use `defineMap({extends: ...})`
@@ -139,7 +135,7 @@ Ferry routes fade in from z8, use fine blue dashes from z13, and show uppercase
139
135
  along the line from z15 when the data includes them. Their labels use a water-colored halo.
140
136
 
141
137
  Regional hillshade uses [Mapzen Terrain Tiles on AWS](https://registry.opendata.aws/terrain-tiles/)
142
- from z5 through z13, with source attribution. The 256-pixel Terrarium source is capped at native z12;
138
+ from z5 through z13; its source credits are listed on the [Tileflow map data credits page](https://tileflow.dev/copyright#streets-terrain). The 256-pixel Terrarium source is capped at native z12;
143
139
  closer views reuse that resolution, avoiding requests for coverage-dependent high-resolution DEM tiles. This is an additional remote data request. To omit
144
140
  it, set `terrain: 'none'` in a map extending `streets`. Hillshade does not change road geometry or
145
141
  raise the terrain. Buildings appear automatically from zoom 15 with an opacity fade through 15.25;
@@ -159,12 +155,10 @@ Street lights are opt-in: set `roads.streetLights.enabled: true`.
159
155
  Streets uses `groundOcclusion: 0.07` and `groundOcclusionRadius: 1.5` for subtle ground contact.
160
156
  `buildings.threeDimensional.occlusion: false` disables contact and model occlusion.
161
157
  `buildings.contactShadow` styles the flat fallback.
162
- Streets selects Core's `labels.roadPlacement: 'ground'`: street names follow the road plane below
163
- buildings; POIs, transit names and shields remain above.
164
- Road names retain class zoom/size curves, favor major roads and add padding through z13.
165
- Pedestrian paths group separately. Compact types preserve language;
166
- `labels.roadNameFormat: 'full'` keeps source names.
167
- Disabling roads omits their names.
158
+ Streets uses `labels.roadPlacement: 'readable'`: whole street names above buildings, yielding to
159
+ destinations. The web runtime hides occluded/distant names; other renderers keep them complete.
160
+ Names repeat at 250 px with a neutral 1 px halo. Pedestrian paths group separately.
161
+ `labels.roadNameFormat: 'full'` preserves source names. Disabling roads omits their names.
168
162
  Road rings, ramp and surface ordering use [Core's replaceable defaults](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/README.md).
169
163
  All non-day themes grade day's ground, water, roads, trees and 2D/3D materials across zooms:
170
164
  yellow warmth at dawn, dimmer stone at dusk, cool night. Day palettes stay unchanged.
@@ -221,34 +215,28 @@ reference uses DIN Pro Medium, so font shapes and stroke weight
221
215
  remain an approximation. Available POIs, abbreviated names,
222
216
  proprietary landmark models, transit branding, and building detail can differ from the reference.
223
217
 
224
- ### Blueprint naming
218
+ ### Outdoors
225
219
 
226
- Use `blueprint` and `blueprintIcons` for the architectural drawing map. Its map ID and
227
- asset directory are `blueprint`, its theme key is `blueprint`, its theme ID is `blueprint-dark`,
228
- and its grid artwork ID is `blueprint-grid`.
220
+ Outdoors includes `light`, `dawn`, `dusk` and `dark` themes, a `light` time-of-day family, and
221
+ system light/dark selection. Summit labels include their elevation in metres when the data provides it. Its initial view looks across Chamonix in 3D. Use
222
+ `packages/maps/outdoors.config.ts` in an SDK checkout to preview or capture the regional, mountain,
223
+ trail, city and mobile scenes through the same CLI as Streets.
229
224
 
230
- <!-- docs:check -->
231
-
232
- ```ts
233
- import {defineMap} from '@tileflow/core';
234
- import {blueprint} from '@tileflow/maps';
235
-
236
- export default defineMap({
237
- id: 'city-plan',
238
- version: 1,
239
- extends: blueprint,
240
- view: {center: [-3.7038, 40.4168], zoom: 14},
241
- });
242
- ```
225
+ The default elevation source is public Mapterhorn Terrarium tiles (512 px, maximum source zoom 12).
226
+ Relief, hillshade and generated contours share that TileJSON. To change providers, retain the
227
+ elevation settings with `resolveMap(outdoors).terrain` and replace its `url`, `encoding`, `tileSize`
228
+ and `maxZoom` as appropriate; `terrain` is an atomic configuration field when extending a map.
229
+ A custom `contours.demUrl` overrides the contour provider explicitly. Geographic tiles are requested
230
+ at runtime and are not bundled. Local map detail depends on the available World and elevation data.
243
231
 
244
232
  ### Community maps
245
233
 
246
- Cyberpunk, Terminal, and Super Tile World are maintained in
247
- [Tileflow Community Maps](https://github.com/tileflow/community-maps), with editable source,
248
- assets, previews, and contribution instructions. They are not part of this package.
249
- The GitHub-distributed `@tileflow/community-maps` package exports `cyberpunk`, `terminal`, and
250
- `superTileWorld`, plus each map's font and icon descriptors. Install an exact Git commit using
251
- the instructions and compatible Core version in that repository.
234
+ Baedeker, 1777, Siegfried and Blueprint are maintained in
235
+ [Tileflow Community Maps](https://github.com/tileflow/community-maps), alongside Cyberpunk,
236
+ Terminal and Super Tile World. Change their imports from `@tileflow/maps` to
237
+ `@tileflow/community-maps`; the transferred maps keep their export names, IDs, themes and resource
238
+ names, including `siegfriedThemes`. Install an exact Git commit and the compatible Core version
239
+ specified by that repository. Their editable source, assets, examples and notices live there.
252
240
 
253
241
  Soundings is not a navigation product; its depth-band edges are approximate. It draws Nautical
254
242
  marks with its chart symbols and a "Not for navigation" notice; other maps opt in with
@@ -256,21 +244,16 @@ marks with its chart symbols and a "Not for navigation" notice; other maps opt i
256
244
 
257
245
  ## Themes and assets
258
246
 
259
- `streetsThemes` and `siegfriedThemes` expose complete `light` and `dark` themes. Import those
247
+ `streetsThemes` and `outdoorsThemes` expose their complete appearance collections. Import those
260
248
  collections when using `defineTheme()` to derive a new appearance. A declared `themes` collection
261
249
  replaces the inherited collection, so also declare the intended `defaultTheme` and `systemThemes`
262
250
  and optional `timeOfDay` mappings. `system` belongs to browser selection; captures and builds use concrete theme names.
263
251
 
264
- Every map exports an icon-directory descriptor: `streetsIcons`, `baedekerIcons`, `civicaIcons`,
265
- `map1777Icons`, `siegfriedIcons`, `soundingsIcons`, and `blueprintIcons`. The descriptors point into this installed package; they are not sprite URLs.
266
- The CLI and build integrations compile the selected directories into runtime assets.
267
-
268
- Baedeker, 1777 and Siegfried export `baedekerFonts`, `map1777Fonts` and `siegfriedFonts` for
269
- their packaged Cormorant Garamond faces.
270
- Cívica exports `civicaFonts` for DM Serif Text, Barlow Semi Condensed, and Noto Sans fallback.
271
- Streets exports `streetsFonts` for its packaged navigation lettering and Noto Sans fallback.
272
- Soundings and Blueprint declare Noto Sans URL glyph providers
273
- from one immutable Hosted base-asset set, versioned independently of World data.
252
+ The package exports `streetsIcons`, `soundingsIcons` and `outdoorsIcons`. These are installed
253
+ resource directories, not sprite URLs. Outdoors composes Streets' artwork with its own summit
254
+ symbols. Streets and Outdoors share `streetsFonts` (DINish and Noto Sans) and `streetsModels`.
255
+ Soundings declares a Noto Sans URL glyph provider from an immutable Hosted base-asset set.
256
+ The CLI and build integrations prepare the selected directories into runtime assets.
274
257
 
275
258
  Omitting `icons` inherits the parent's directory list. Declaring a list replaces it; `[]` removes
276
259
  all icon directories. Compose explicitly when adding application icons:
package/REFERENCE.md ADDED
@@ -0,0 +1,28 @@
1
+ # Maps reference
2
+
3
+ Contracts of the official maps that do not fit their README.
4
+
5
+ ## Streets colour knobs
6
+
7
+ Streets has more than 190 colour tokens. To recolour it without naming them, set a knob: a name
8
+ without a dot that stands for many tokens. `Map`'s `colors` prop and a theme controller's
9
+ `setColors` accept knobs beside tokens. Each knob has a reference token, and every other token it
10
+ governs moves by as much as the reference moves, so lighter and darker tokens stay lighter and
11
+ darker: major roads stay stronger than minor ones, and a park keeps its variants. A knob you do not
12
+ set leaves its tokens as the theme designed them, so water stays blue unless you give `water` a colour.
13
+ A token named in `colors` wins over the knob that governs it.
14
+
15
+ | Knob | Colours |
16
+ | ------------ | -------------------------------------------------------------------------------------- |
17
+ | `water` | Oceans, lakes, rivers and their depth bands. Water labels take its hue. |
18
+ | `greenspace` | Parks, grass, woods and other vegetation, flat and in 3D. Park labels take its hue. |
19
+ | `land` | The ground between everything else: the background and built-up land. |
20
+ | `buildings` | Building fills and outlines, flat and extruded, and the surfaces of building models. |
21
+ | `roads` | Roads, their casings and tunnels. The color is for a minor road. |
22
+ | `labels` | Place, road and neighborhood label text. The color is for ordinary labels. |
23
+ | `labelHalo` | The outline that keeps labels and icons readable over the map. |
24
+ | `accent` | What an application adds: the route line and glow. Its edge and core keep their shade. |
25
+
26
+ Give each knob the color you want in the theme on screen, and give a dark theme its own colors.
27
+ A knob can only be set on a map that declares it; an unknown name is an error that lists the
28
+ knobs the map has. Derived maps inherit the knobs and may add or replace them with `colorKnobs`.
@@ -1,7 +1,6 @@
1
1
  # Third-party notices
2
2
 
3
- Except for the Streets POI pictograms documented below, the official themed Streets, Baedeker,
4
- 1777, Siegfried, Soundings, Blueprint, and Cívica icon and pattern
3
+ Except for the Streets POI pictograms documented below, the official Streets, Soundings, and Outdoors icon and pattern
5
4
  artwork published under `assets/` is original Tileflow artwork.
6
5
 
7
6
  This file is shipped with `@tileflow/maps` so future third-party assets have a stable place for
@@ -43,37 +42,29 @@ points. Each source is centered, proportionally scaled, and given accessible met
43
42
  by Przemysław Sakrajda, simplified by Kizar, with the current vector revision by Teo.raff.
44
43
  Licensed under [CC BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/).
45
44
  This adapted SVG is distributed under the same license; the full text is in
46
- `assets/streets/LICENSE-CC-BY-SA-3.0.txt`.
45
+ `assets/streets/icons/LICENSE-CC-BY-SA-3.0.txt`.
47
46
  - `transit-madrid-cercanias.svg`: [Cercanias Logo.svg](https://commons.wikimedia.org/wiki/File:Cercanias_Logo.svg),
48
47
  by WikiNight2, with revisions by Alkari and Borjaguado. The source is dedicated to the public
49
48
  domain by its author and marked PD-textlogo on Wikimedia Commons.
50
49
  - `transit-madrid-emt.svg`: [Símbolo de EMT Madrid.svg](https://commons.wikimedia.org/wiki/File:S%C3%ADmbolo_de_EMT_Madrid.svg),
51
50
  by Andreuvv, with a vector revision by Teo.raff. Licensed under
52
51
  [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). This adapted SVG is distributed
53
- under the same license; the full text is in `assets/streets/LICENSE-CC-BY-SA-4.0.txt`.
52
+ under the same license; the full text is in `assets/streets/icons/LICENSE-CC-BY-SA-4.0.txt`.
53
+
54
+ `assets/streets/icons/tileflow.icons.json` declares the credit, source and license of each
55
+ attributed symbol. When a build places one of them in a sprite, it writes that credit and the
56
+ complete license text beside the sprite as `icons/<map>/licenses/<icon>.txt`.
54
57
 
55
58
  The transport identities remain the marks of their respective owners. Their inclusion identifies
56
59
  the mapped services and does not imply affiliation or endorsement. These asset-specific terms
57
60
  are separate from the package's source-code license.
58
61
 
59
- ## 1777 cabinet atlas reference
60
-
61
- The `map1777` map and its eleven SVG material patterns (each in four palettes) are
62
- original Tileflow code and artwork. Their visual reference is the eighteenth-century cabinet
63
- atlas held by KBR, particularly its watercolor washes, field strokes, tree marks, red
64
- footprints and serif lettering:
65
-
66
- - [Cabinet atlas detail published by KBR](https://www.kbr.be/wp-content/uploads/2026/05/detail-van-de-kabinetskaart.png)
67
-
68
- No historical scan, source pixel or atlas geospatial data is included. The map uses current
69
- Tileflow World data and the separately licensed Cormorant Garamond fonts documented below.
70
- This package does not redistribute third-party atlas assets, code, style files or textures.
71
-
72
62
  ## Streets relief
73
63
 
74
64
  Streets requests Mapzen Terrain Tiles from the AWS Open Data elevation tiles bucket at runtime.
75
- No DEM tile is packaged here. The compiled source links to the upstream data attribution:
76
- <https://github.com/tilezen/joerd/blob/master/docs/attribution.md>.
65
+ No DEM tile is packaged here. The compiled source credit links to the Tileflow map data credits
66
+ page, <https://tileflow.dev/copyright#streets-terrain>, which lists the credits required by the
67
+ upstream data attribution: <https://github.com/tilezen/joerd/blob/master/docs/attribution.md>.
77
68
  The dataset is described at <https://registry.opendata.aws/terrain-tiles/>.
78
69
 
79
70
  The upstream attribution catalog includes ArcticDEM (DigitalGlobe imagery, NSF awards 1043681,
@@ -84,48 +75,6 @@ European Union; ETOPO1 from U.S. NOAA; INEGI Continental relief data; New Zealan
84
75
  data; © Kartverket; © Environment Agency; and USGS 3DEP, GMTED2010 and SRTM data.
85
76
  Consult the linked catalog for each source's complete required attribution and license terms.
86
77
 
87
- ## Baedeker map references and terrain data
88
-
89
- The `baedeker` map and its eight SVG patterns are original Tileflow code and artwork. Their visual
90
- grammar was informed by late-nineteenth- and early-twentieth-century Baedeker travel maps and town
91
- plans engraved by Wagner & Debes.
92
-
93
- - Baedeker / Karl Wagner & Debes collection:
94
- <https://www.antiquemapsandprints.com/collections/baedeker-karl-wagner-debes?srsltid=AfmBOoqG_2Q_Zje0wPPVYjShDjDZe5aIgH_h08XcPkpu7zFaPvF6n5hq>
95
- - Maps by Karl Baedeker of Italy:
96
- <https://commons.wikimedia.org/wiki/Category:Maps_by_Karl_Baedeker_of_Italy>
97
- - Moscow I, Wagner & Debes, 1914:
98
- <https://imperiia.omeka.fas.harvard.edu/document/2461>
99
- - Amiens, Baedeker, 1908:
100
- <https://commons.wikimedia.org/wiki/File:Amiens_%E2%80%94_Plan_extrait_du_guide_B%C3%A6deker_%E2%80%9CNord-Ouest_de_la_France%E2%80%9E_1908.jpg>
101
- - Berlin-Westend, Baedeker, 1914:
102
- <https://commons.wikimedia.org/wiki/File:Baedeker,_Plan_von_Westend,_1914.jpg>
103
-
104
- This package does not include or redistribute a historical scan, raster pixel, historical
105
- typeface, legend artwork, geospatial data, or source map from either reference. The package
106
- contains Tileflow-authored style code and original patterns plus the separately licensed Cormorant
107
- Garamond files documented below. `baedeker` is an official Tileflow map; it is not affiliated with
108
- or endorsed by Baedeker or Wagner & Debes.
109
-
110
- At runtime, Baedeker derives contour vectors in the browser from Tileflow Terrain tiles, which
111
- carry Mapterhorn terrain data. No terrain tile is packaged or redistributed by `@tileflow/maps`. Mapterhorn publishes the full
112
- catalog of its constituent open terrain sources and their individual attribution and license terms
113
- at <https://mapterhorn.com/attribution/>. The compiled Style carries that link as source
114
- attribution.
115
-
116
- ## Blueprint artwork and terrain data
117
-
118
- The Blueprint map (ID `blueprint`) and its four SVG patterns and one SVG technical symbol are original Tileflow
119
- code and artwork. Its architectural-blueprint direction uses general drafting conventions; this
120
- package does not include or redistribute an architectural drawing, CAD file, municipal plan,
121
- survey sheet, font, source image, or third-party symbol artwork.
122
-
123
- At runtime, Blueprint derives contour vectors in the browser from Tileflow Terrain tiles, which
124
- carry Mapterhorn terrain data. No terrain tile is packaged or redistributed by `@tileflow/maps`. Mapterhorn publishes the full
125
- catalog of its constituent open terrain sources and their individual attribution and license terms
126
- at <https://mapterhorn.com/attribution/>. The compiled Style carries that link as source
127
- attribution.
128
-
129
78
  ## Nautical-chart references
130
79
 
131
80
  The `soundings` map and its twenty-seven SVG symbols and patterns are original Tileflow code and artwork.
@@ -140,25 +89,6 @@ exposed by the selected data sources. Neither is packaged here; the bands are no
140
89
  soundings, and the marks keep the attribution of their own source. Soundings is a general-purpose
141
90
  visual map, not a nautical chart for navigation.
142
91
 
143
- ## Siegfried Map reference and terrain data
144
-
145
- The `siegfried` map and its nine light/dark SVG motif pairs are original Tileflow code and artwork informed by
146
- swisstopo's history, published examples, and 1873 conventional signs for the Siegfried Map. This
147
- package does not include or redistribute swisstopo scans, raster pixels, legend artwork, fonts,
148
- historical geospatial data, or map data. swisstopo is the source of the historical visual reference,
149
- not of any packaged asset bytes. `siegfried` is an official Tileflow map; it is not affiliated with
150
- or endorsed by swisstopo. Its dark theme is an original nocturnal engraver's-proof interpretation,
151
- not a reproduced or historically documented swisstopo colourway.
152
-
153
- - Historical reference: <https://www.swisstopo.admin.ch/en/siegfried-map>
154
- - 1873 conventional signs: <https://www.swisstopo.admin.ch/dam/en/sd-web/4OmbRYHBFpcd/Zeichenerklaerung-Siegfriedkarte-EN.pdf>
155
-
156
- At runtime, Siegfried derives contour vectors in the browser from Tileflow Terrain tiles, which
157
- carry Mapterhorn terrain data. No terrain tile is packaged or redistributed by `@tileflow/maps`. Mapterhorn publishes the full
158
- catalog of its constituent open terrain sources and their individual attribution and license terms
159
- at <https://mapterhorn.com/attribution/>. The compiled Style carries that link as source
160
- attribution.
161
-
162
92
  ## Streets lettering
163
93
 
164
94
  Streets includes unmodified DINish Medium and Bold TTF files from
@@ -169,46 +99,17 @@ Both families use the SIL Open Font License 1.1. Complete copyright and license
169
99
  included in `assets/streets/fonts/LICENSE-DINish.txt`, `LICENSE-NotoSans.txt`, and the combined
170
100
  `LICENSE.txt`. DINish is an independent DIN-inspired font; DIN Pro is not redistributed.
171
101
 
172
- ## Cormorant Garamond
173
-
174
- Baedeker, 1777 and Siegfried each include their own unmodified Cormorant Garamond Regular,
175
- SemiBold and Italic font files under `assets/baedeker/fonts/`, `assets/map-1777/fonts/` and
176
- `assets/siegfried/fonts/`, respectively. These copies are pinned to upstream revision `cc1bfb51ce6568cb3abf9199ab718d543f6fa189`. Cormorant is
177
- copyright 2015 the Cormorant Project Authors and is distributed under the SIL Open Font License
178
- 1.1 included beside each map's font files as `LICENSE.txt`.
179
-
180
- ## Cívica artwork and fonts
181
-
182
- The `civica` map, its five SVG patterns, and its eleven SVG POI pictograms are original Tileflow
183
- code and artwork. Its civic print-atlas vocabulary takes broad visual inspiration from the user's
184
- [Inside the Belt Way — Washington DC reference](https://www.etsy.com/listing/990932175/inside-the-belt-way-washington-dc).
185
- This package does not include or redistribute the reference map, geography, composition,
186
- lettering, symbols, images, or other artwork. Cívica declares its own assets and does not import
187
- another official map's artwork or font directories.
188
-
189
- Cívica includes five unmodified upstream font files under `assets/civica/fonts/`:
190
-
191
- - `DMSerifText-Regular.ttf` and `DMSerifText-Italic.ttf` are from the official Google Fonts
192
- [DM Serif Text directory](https://github.com/google/fonts/tree/2536d8f1f906c7bb1f4b1d09ac073109dc6a7cd9/ofl/dmseriftext),
193
- pinned to revision `2536d8f1f906c7bb1f4b1d09ac073109dc6a7cd9`. Their complete upstream
194
- SIL Open Font License 1.1 notice is preserved at `assets/civica/fonts/OFL.txt`.
195
- - `BarlowSemiCondensed-Regular.ttf` and `BarlowSemiCondensed-SemiBold.ttf` are from the official
196
- Google Fonts [Barlow Semi Condensed directory](https://github.com/google/fonts/tree/3218ae2acc5bce7ccd97c477965b5b4094241fb0/ofl/barlowsemicondensed),
197
- pinned to revision `3218ae2acc5bce7ccd97c477965b5b4094241fb0`. Their complete upstream
198
- SIL Open Font License 1.1 notice is preserved at `assets/civica/fonts/LICENSE-BarlowSemiCondensed.txt`.
199
- - `NotoSans-Regular.ttf` is from the official Noto
200
- [static hinted Noto Sans directory](https://github.com/notofonts/noto-fonts/tree/c971829a87e7920f960e7277c3dafd9bedd3c601/hinted/ttf/NotoSans),
201
- pinned to revision `c971829a87e7920f960e7277c3dafd9bedd3c601`. Its complete upstream
202
- SIL Open Font License 1.1 notice is preserved at `assets/civica/fonts/LICENSE-NotoSans.txt`.
203
-
204
- `assets/civica/fonts/LICENSE.txt` combines all three complete upstream notices and licenses with
205
- component filenames and source revisions for Tileflow's generic font preparation pipeline.
206
- `assets/civica/fonts/README.md` records individual pinned source links and verified OpenType full
207
- names. No font file has been subsetted, renamed internally, or modified.
208
-
209
102
  ## Historical climate context
210
103
 
211
104
  Streets uses a smoothed colour proxy derived from Beck et al. (2023),
212
105
  https://doi.org/10.1038/s41597-023-02549-6, under CC BY 4.0.
213
- Source, attribution and adaptation details: assets/streets/climate/NOTICE.txt.
106
+ Source, attribution and adaptation details: assets/streets/climate/NOTICE.txt. The compiled source
107
+ credit links to <https://tileflow.dev/copyright#streets-climate>, which carries the same notice.
214
108
  The image is historical context, not live vegetation.
109
+
110
+ ## Outdoors elevation and shared artwork
111
+
112
+ Outdoors uses Mapterhorn elevation at runtime for its 3D surface, hillshade and contours. No DEM
113
+ tile is packaged here. Its source links to <https://mapterhorn.com/attribution/>. Outdoors shares
114
+ Streets lettering, POI pictograms, transport symbols and climate context, with the notices above.
115
+ The two summit symbols in `assets/outdoors/icons/` are original Tileflow artwork.
package/assets/README.md CHANGED
@@ -1,13 +1,14 @@
1
1
  # Official map assets
2
2
 
3
- These directories contain the package-owned sources required by the official Streets, Baedeker,
4
- 1777, Siegfried, Soundings, Blueprint, and Cívica maps. Their SVG icons and
5
- patterns live under each map's `icons/` directory. Streets includes a pinned CC0 subset of Maki
6
- pictograms inside Tileflow-authored circular POI markers; its provenance is recorded in
7
- `../THIRD_PARTY_NOTICES.md` and the upstream license is kept at `streets/LICENSE-MAKI.txt`. A map
8
- refers to those directories through the exported `streetsIcons`, `baedekerIcons`, `map1777Icons`,
9
- `siegfriedIcons`, `soundingsIcons`, `blueprintIcons`, and `civicaIcons` descriptors. Baedeker, Cívica, 1777, and Siegfried refer to their own
10
- packaged font directories through `baedekerFonts`, `civicaFonts`, `map1777Fonts`, and `siegfriedFonts`; the files and their `LICENSE.txt` remain beside the map that owns them.
3
+ These directories contain the package-owned sources for Streets, Soundings and Outdoors.
4
+ Streets' icons, fonts and models are shared by Outdoors; Outdoors adds its own summit symbols.
5
+ Use the exported `streetsIcons`, `streetsFonts`, `streetsModels`, `soundingsIcons` and `outdoorsIcons`
6
+ descriptors to compose resources. Streets includes a pinned CC0 subset of Maki pictograms inside
7
+ Tileflow-authored circular POI markers; provenance is in `../THIRD_PARTY_NOTICES.md` and the
8
+ upstream license is kept at `streets/LICENSE-MAKI.txt`.
9
+
10
+ Baedeker, 1777, Siegfried and Blueprint resources now belong to
11
+ [Community Maps](https://github.com/tileflow/community-maps/tree/main/maps), with their licenses.
11
12
 
12
13
  The seven `road-shield-*` SVGs are original Tileflow artwork: a deliberately generic neutral,
13
14
  colored-rectangle, and neutral-circle vocabulary. They do not reproduce a national sign template
@@ -38,34 +39,6 @@ supporting branches, reducing tessellation at distance instead of dropping limbs
38
39
  Package tests prepare and decode the real models, verify finite
39
40
  geometry and normals, and check the committed assets against the generator.
40
41
 
41
- The 1777 directory contains eleven original intrinsic-size material patterns, each with
42
- Day, Dawn, Dusk and Night pigments (44 SVG files). The Day IDs are
43
- `map-1777-crop-cross`, `map-1777-crop-hatch`, `map-1777-crop-lines`, `map-1777-heath`, `map-1777-orchard`, `map-1777-paper-grain`,
44
- `map-1777-residential`, `map-1777-sand`, `map-1777-water-ripples`, `map-1777-wetland`, and
45
- `map-1777-woodland`. Woods and gardens use pigment grain, not repeated tree symbols.
46
- 1777 also owns three licensed Cormorant Garamond faces under `map-1777/fonts/`.
47
-
48
- The Baedeker directory contains eight original intrinsic-size SVG patterns:
49
- `baedeker-hachures`, `baedeker-orchard`, `baedeker-paper-grain`, `baedeker-park-stipple`,
50
- `baedeker-residential`, `baedeker-sand`, `baedeker-water-lines`, and `baedeker-wetland`. Tileflow
51
- authored them from scratch using the
52
- [Baedeker / Karl Wagner & Debes collection](https://www.antiquemapsandprints.com/collections/baedeker-karl-wagner-debes?srsltid=AfmBOoqG_2Q_Zje0wPPVYjShDjDZe5aIgH_h08XcPkpu7zFaPvF6n5hq)
53
- and Wikimedia Commons'
54
- [maps by Karl Baedeker of Italy](https://commons.wikimedia.org/wiki/Category:Maps_by_Karl_Baedeker_of_Italy)
55
- as visual references. No historical scan, raster pixel, historical typeface, legend artwork,
56
- geospatial data, or source map is included or redistributed. Baedeker also owns a package copy of
57
- the three Cormorant Garamond faces selected by the map. Browser-derived Mapterhorn contours are
58
- runtime terrain and no Mapterhorn tile is packaged here. Baedeker is not affiliated with or
59
- endorsed by Baedeker or Wagner & Debes. See `baedeker/README.md` and the package-level
60
- `THIRD_PARTY_NOTICES.md`.
61
-
62
- The Siegfried directory contains nine original intrinsic-size motifs, each drawn in coordinated
63
- light and dark artwork: forest, glacier, gravel, orchard, paper grain, rock, scree, water lines, and
64
- wetland. The 18 runtime IDs use `siegfried-<motif>` for the historical light treatment and
65
- `siegfried-dark-<motif>` for the nocturnal engraver-proof treatment. It also owns the three locally
66
- packaged Cormorant Garamond faces selected by both themes. See `siegfried/README.md` and the
67
- package-level `THIRD_PARTY_NOTICES.md` for provenance and licensing.
68
-
69
42
  The Soundings directory contains twenty-seven original nautical symbols and intrinsic-size patterns:
70
43
  `soundings-harbor`, `soundings-marina`, `soundings-lighthouse`, `soundings-light-flare`,
71
44
  `soundings-buoy-port`, `soundings-buoy-starboard`, `soundings-buoy-cardinal`,
@@ -84,18 +57,8 @@ fixed-colour artwork and is unused because rocks are drawn as chart crosses. A g
84
57
  deliberately not relabelled as a harbour. Soundings uses GEBCO-derived depth bands only as broad
85
58
  cartographic context, and neither it nor its Nautical marks is a navigation product.
86
59
 
87
- The Blueprint directory contains four original intrinsic-size patterns and one original
88
- technical symbol: `blueprint-grid`, `blueprint-building-hatch`,
89
- `blueprint-landscape-hatch`, `blueprint-water-hatch`, and `blueprint-poi-node`.
90
- Together they provide drawing-paper grid, building, landscape, and water notation plus a schematic
91
- POI marker without importing another official map's sprite assets.
92
-
93
- The Cívica directory contains five original transparent patterns: `civica-paper-grain`,
94
- `civica-park-groves`, `civica-orchard`, `civica-water-lines`, and `civica-industrial-hatch`.
95
- Eleven original `civica-poi-*` pictograms provide civic, cultural, garden, transport, and everyday
96
- destination glyphs with fine ivory clearances and compact paper squares for transport symbols.
97
- Small marks and a quiet secondary point preserve the map's label hierarchy. The map also owns its packaged fonts; artwork and font
98
- provenance are recorded in `civica/README.md` and `civica/fonts/README.md`.
60
+ Outdoors adds two original circular summit badges, one for light ground and one for dark ground.
61
+ It shares Streets’ packaged lettering and POI resources. No elevation tiles are bundled.
99
62
 
100
63
  `@tileflow/dev` resolves each package descriptor, verifies that its real path remains inside the
101
64
  installed package, and compiles the complete ordered directory composition into deterministic
@@ -105,17 +68,11 @@ lower-kebab, and a later directory wins on an exact duplicate ID.
105
68
 
106
69
  Font preparation is generic: it reads any map's declared `fonts` directories, derives IDs from
107
70
  OpenType full names, includes only used faces, and publishes content-addressed font and license
108
- assets. A self-hosted Baedeker build materializes its selected font files and license without
109
- a map-name special case. Its manifest and Style carry the strict `tileflow:fontFaces`
110
- public-asset contract; Style font values are exact OpenType full names.
111
- The compiler never manufactures a face ID by adding a weight. Streets, Soundings,
112
- and Blueprint each declare the canonical Tileflow glyph URL with exact
113
- `Noto Sans Regular` and `Noto Sans Bold` stacks. Baedeker, 1777 and Siegfried each name `Cormorant Garamond Regular`,
114
- `Cormorant Garamond SemiBold`, and `Cormorant Garamond Italic` from their respective packaged
115
- directories. Cívica packages `DM Serif Text Regular` and `DM Serif Text Italic` for its place
116
- and water lettering, `Barlow Semi Condensed Regular` and `Barlow Semi Condensed SemiBold` for
117
- roads and destinations, and `Noto Sans Regular` as an explicit local fallback. It declares only local fonts because the public contract makes local
118
- font directories and remote glyph providers mutually exclusive. The compatibility URL
71
+ assets. Streets and Outdoors materialize their selected DINish and Noto Sans faces and licenses.
72
+ Their manifest and Style carry the strict `tileflow:fontFaces` public-asset contract;
73
+ Style font values are exact OpenType full names. Soundings declares the canonical Tileflow
74
+ glyph URL with exact `Noto Sans Regular` and `Noto Sans Bold` stacks. The compiler never
75
+ manufactures a face ID by adding a weight. The compatibility URL
119
76
  is canonical but not content-addressed; responses
120
77
  revalidate and do not provide an exact-byte receipt. Reproducible official PBF delivery will use the
121
78
  separate `/base/<assetSetSha256>/glyphs/...` contract once Hosted has verified and published that
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
2
+ <circle cx="6" cy="6" r="5.2" fill="#A09AA8"/>
3
+ <path d="M6 2.8 9.2 8.5H2.8Z" fill="#272A2F"/>
4
+ <path d="m6 4.6 1.3 2.3H4.7Z" fill="#A09AA8"/>
5
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
2
+ <circle cx="6" cy="6" r="5.2" fill="#8B8493"/>
3
+ <path d="M6 2.8 9.2 8.5H2.8Z" fill="#FFFFFF"/>
4
+ <path d="m6 4.6 1.3 2.3H4.7Z" fill="#8B8493"/>
5
+ </svg>
@@ -0,0 +1,27 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "icons": {
4
+ "transit-madrid-emt": {
5
+ "representation": "rgba",
6
+ "attribution": {
7
+ "credit": "Andreuvv, with a vector revision by Teo.raff",
8
+ "source": "https://commons.wikimedia.org/wiki/File:S%C3%ADmbolo_de_EMT_Madrid.svg",
9
+ "license": "CC BY-SA 4.0",
10
+ "licenseUrl": "https://creativecommons.org/licenses/by-sa/4.0/",
11
+ "licenseFile": "LICENSE-CC-BY-SA-4.0.txt",
12
+ "changes": "Centered, proportionally scaled and given accessible metadata in a 24px map icon cell by Tileflow. The adaptation is distributed under the same license."
13
+ }
14
+ },
15
+ "transit-madrid-metro": {
16
+ "representation": "rgba",
17
+ "attribution": {
18
+ "credit": "Przemysław Sakrajda, simplified by Kizar, with the current vector revision by Teo.raff",
19
+ "source": "https://commons.wikimedia.org/wiki/File:MetroMadridLogoSimplified.svg",
20
+ "license": "CC BY-SA 3.0",
21
+ "licenseUrl": "https://creativecommons.org/licenses/by-sa/3.0/",
22
+ "licenseFile": "LICENSE-CC-BY-SA-3.0.txt",
23
+ "changes": "Centered, proportionally scaled and given accessible metadata in a 24px map icon cell by Tileflow. The adaptation is distributed under the same license."
24
+ }
25
+ }
26
+ }
27
+ }