@tileflow/maps 0.1.0-alpha.5 → 0.1.0-alpha.7

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 (79) hide show
  1. package/README.md +40 -12
  2. package/THIRD_PARTY_NOTICES.md +4 -56
  3. package/assets/README.md +12 -29
  4. package/dist/index.d.ts +6 -344
  5. package/dist/index.js +9129 -16136
  6. package/docs/design-and-assets.md +6 -65
  7. package/package.json +4 -11
  8. package/assets/cyberpunk/fonts/LICENSE.txt +0 -93
  9. package/assets/cyberpunk/fonts/Oxanium-Medium.ttf +0 -0
  10. package/assets/cyberpunk/fonts/Oxanium-SemiBold.ttf +0 -0
  11. package/assets/cyberpunk/fonts/README.md +0 -22
  12. package/assets/cyberpunk/icons/cyber-circuit.pattern.svg +0 -10
  13. package/assets/cyberpunk/icons/cyber-data-grid.pattern.svg +0 -11
  14. package/assets/cyberpunk/icons/cyber-target-brackets.svg +0 -15
  15. package/assets/matrix/fonts/LICENSE.txt +0 -93
  16. package/assets/matrix/fonts/Oxanium-Medium.ttf +0 -0
  17. package/assets/matrix/fonts/Oxanium-SemiBold.ttf +0 -0
  18. package/assets/matrix/fonts/README.md +0 -22
  19. package/assets/matrix/icons/matrix-crt-scanlines.pattern.svg +0 -13
  20. package/assets/matrix/icons/matrix-data-grid.pattern.svg +0 -11
  21. package/assets/matrix/icons/matrix-poi-node.svg +0 -10
  22. package/assets/super-tile-world/README.md +0 -45
  23. package/assets/super-tile-world/fonts/LICENSE-NotoSans.txt +0 -94
  24. package/assets/super-tile-world/fonts/LICENSE-PixelifySans.txt +0 -93
  25. package/assets/super-tile-world/fonts/LICENSE-PressStart2P.txt +0 -93
  26. package/assets/super-tile-world/fonts/LICENSE.txt +0 -289
  27. package/assets/super-tile-world/fonts/NotoSans-Regular.ttf +0 -0
  28. package/assets/super-tile-world/fonts/PixelifySans-Regular.ttf +0 -0
  29. package/assets/super-tile-world/fonts/PixelifySans-SemiBold.ttf +0 -0
  30. package/assets/super-tile-world/fonts/README.md +0 -49
  31. package/assets/super-tile-world/fonts/TileWorldArcade-Regular.ttf +0 -0
  32. package/assets/super-tile-world/icons/stw-airship.svg +0 -4
  33. package/assets/super-tile-world/icons/stw-book.svg +0 -4
  34. package/assets/super-tile-world/icons/stw-brick.pattern.svg +0 -4
  35. package/assets/super-tile-world/icons/stw-castle.svg +0 -4
  36. package/assets/super-tile-world/icons/stw-coin.svg +0 -4
  37. package/assets/super-tile-world/icons/stw-farmland.pattern.svg +0 -4
  38. package/assets/super-tile-world/icons/stw-flag.svg +0 -4
  39. package/assets/super-tile-world/icons/stw-flower.svg +0 -4
  40. package/assets/super-tile-world/icons/stw-forest.pattern.svg +0 -4
  41. package/assets/super-tile-world/icons/stw-ghost-house.svg +0 -4
  42. package/assets/super-tile-world/icons/stw-grass.pattern.svg +0 -4
  43. package/assets/super-tile-world/icons/stw-heart.svg +0 -4
  44. package/assets/super-tile-world/icons/stw-hill.svg +0 -4
  45. package/assets/super-tile-world/icons/stw-level-node.svg +0 -4
  46. package/assets/super-tile-world/icons/stw-meadow.pattern.svg +0 -36
  47. package/assets/super-tile-world/icons/stw-mushroom-house.svg +0 -4
  48. package/assets/super-tile-world/icons/stw-mushroom.svg +0 -4
  49. package/assets/super-tile-world/icons/stw-question-block.svg +0 -4
  50. package/assets/super-tile-world/icons/stw-sand.pattern.svg +0 -4
  51. package/assets/super-tile-world/icons/stw-star.svg +0 -4
  52. package/assets/super-tile-world/icons/stw-tree.svg +0 -4
  53. package/assets/super-tile-world/icons/stw-warp-pipe.svg +0 -4
  54. package/assets/super-tile-world/icons/stw-water.pattern.svg +0 -4
  55. package/assets/verdant/icons/coffee.svg +0 -9
  56. package/assets/verdant/icons/crosswalk.svg +0 -10
  57. package/assets/verdant/icons/culture.svg +0 -7
  58. package/assets/verdant/icons/education.svg +0 -6
  59. package/assets/verdant/icons/food.svg +0 -6
  60. package/assets/verdant/icons/health.svg +0 -6
  61. package/assets/verdant/icons/lodging.svg +0 -6
  62. package/assets/verdant/icons/major-transit.svg +0 -7
  63. package/assets/verdant/icons/services.svg +0 -6
  64. package/assets/verdant/icons/shopping.svg +0 -6
  65. package/assets/verdant/icons/verdant-field-hatch.pattern.svg +0 -13
  66. package/assets/verdant/icons/verdant-forest-canopy.pattern.svg +0 -14
  67. package/assets/verdant/icons/verdant-heath-tufts.pattern.svg +0 -9
  68. package/assets/verdant/icons/verdant-meadow-tufts.pattern.svg +0 -8
  69. package/assets/verdant/icons/verdant-orchard.pattern.svg +0 -11
  70. package/assets/verdant/icons/verdant-paper-fiber.pattern.svg +0 -11
  71. package/assets/verdant/icons/verdant-residential-hatch.pattern.svg +0 -8
  72. package/assets/verdant/icons/verdant-scree.pattern.svg +0 -10
  73. package/assets/verdant/icons/verdant-water-lines.pattern.svg +0 -7
  74. package/assets/verdant/icons/verdant-wetland-reeds.pattern.svg +0 -8
  75. /package/assets/{san-francisto/icons/san-francisto-building-hatch.pattern.svg → blueprint/icons/blueprint-building-hatch.pattern.svg} +0 -0
  76. /package/assets/{san-francisto/icons/san-francisto-blueprint-grid.pattern.svg → blueprint/icons/blueprint-grid.pattern.svg} +0 -0
  77. /package/assets/{san-francisto/icons/san-francisto-landscape-hatch.pattern.svg → blueprint/icons/blueprint-landscape-hatch.pattern.svg} +0 -0
  78. /package/assets/{san-francisto/icons/san-francisto-poi-node.svg → blueprint/icons/blueprint-poi-node.svg} +0 -0
  79. /package/assets/{san-francisto/icons/san-francisto-water-hatch.pattern.svg → blueprint/icons/blueprint-water-hatch.pattern.svg} +0 -0
package/README.md CHANGED
@@ -57,18 +57,48 @@ resources available offline.
57
57
  - `harad`: the historical green-map design displayed as **Härad**.
58
58
  - `siegfried`: a terrain atlas with coordinated light/dark ink palettes, contours, and engraved patterns.
59
59
  - `soundings`: bathymetric reference cartography with depth bands, continuous relief, and port context.
60
- - `cyberpunk`: a dark heads-up-display design with destination beacons and Oxanium typography.
61
- - `matrix`: a monochrome green-screen design with scanline and dot patterns.
62
- - `verdant`: a contemporary field atlas emphasizing trails, vegetation, and hydrography.
63
- - `sanFrancisto`: a dark architectural-blueprint design centered on San Francisco. The export is
64
- spelled `sanFrancisto`.
65
- - `superTileWorld`: a pixel-art overworld with layered shores, golden routes, destination sprites,
66
- and packaged arcade lettering.
60
+ - `blueprint`: a dark architectural drawing style, with a default camera centered on San Francisco.
67
61
 
68
62
  Every official map is a complete, independent root using the same Core compiler. Official map
69
63
  objects are deeply frozen shared instances. Do not mutate them; use `defineMap({extends: ...})`
70
64
  to create an application-owned map.
71
65
 
66
+ ### Blueprint naming
67
+
68
+ Use `blueprint` and `blueprintIcons` for the architectural drawing map. Its map ID and
69
+ asset directory are `blueprint`, its theme key is `blueprint`, and its theme ID is `blueprint-dark`.
70
+ The earlier `sanFrancisto` and `sanFrancistoIcons` aliases have been removed. Migrate explicit
71
+ `san-francisto` resource references to `blueprint`; the former grid ID is now `blueprint-grid`.
72
+
73
+ <!-- docs:check -->
74
+
75
+ ```ts
76
+ import {defineMap} from '@tileflow/core';
77
+ import {blueprint} from '@tileflow/maps';
78
+
79
+ export default defineMap({
80
+ id: 'city-plan',
81
+ version: 1,
82
+ extends: blueprint,
83
+ view: {center: [-3.7038, 40.4168], zoom: 14},
84
+ });
85
+ ```
86
+
87
+ ### Community maps
88
+
89
+ Cyberpunk, Terminal, and Super Tile World are maintained in
90
+ [Tileflow Community Maps](https://github.com/tileflow/community-maps), with editable source,
91
+ assets, previews, and contribution instructions. They are no longer included in this package.
92
+ The GitHub-distributed `@tileflow/community-maps` package exports `cyberpunk`, `terminal`, and
93
+ `superTileWorld`, plus each map's font and icon descriptors. Install an exact Git commit using
94
+ the instructions and compatible Core version in that repository.
95
+
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
+
72
102
  Soundings is not a navigation product. Its depth-band edges are approximate reference geometry,
73
103
  not surveyed isolines or vessel-specific safety contours. Experimental nautical aids and hazards
74
104
  are not enabled by that official map.
@@ -81,15 +111,13 @@ replaces the inherited collection, so also declare the intended `defaultTheme` a
81
111
  mapping. `system` belongs to browser selection; captures and builds use concrete theme names.
82
112
 
83
113
  Every map exports an icon-directory descriptor: `streetsIcons`, `baedekerIcons`, `civicaIcons`,
84
- `ferrarisIcons`, `haradIcons`, `siegfriedIcons`, `soundingsIcons`, `cyberpunkIcons`, `matrixIcons`,
85
- `verdantIcons`, `sanFrancistoIcons`, and `superTileWorldIcons`. The descriptors point into this installed package; they are not sprite URLs.
114
+ `ferrarisIcons`, `haradIcons`, `siegfriedIcons`, `soundingsIcons`, and `blueprintIcons`. The descriptors point into this installed package; they are not sprite URLs.
86
115
  The CLI and build integrations compile the selected directories into runtime assets.
87
116
 
88
117
  Baedeker and Siegfried also export `baedekerFonts` and `siegfriedFonts` for their packaged Cormorant
89
- Garamond faces. Cyberpunk and Matrix export `cyberpunkFonts` and `matrixFonts` for Oxanium.
118
+ Garamond faces.
90
119
  Cívica exports `civicaFonts` for DM Serif Text, Barlow Semi Condensed, and Noto Sans fallback.
91
- Super Tile World exports `superTileWorldFonts` for Pixelify Sans, Tile World Arcade, and Noto Sans fallback.
92
- Streets, Ferraris, Härad, Soundings, Verdant, and San Francisto declare Noto Sans URL glyph providers
120
+ Streets, Ferraris, Härad, Soundings, and Blueprint declare Noto Sans URL glyph providers
93
121
  from one immutable Hosted base-asset set, versioned independently of World data.
94
122
 
95
123
  Omitting `icons` inherits the parent's directory list. Declaring a list replaces it; `[]` removes
@@ -1,7 +1,7 @@
1
1
  # Third-party notices
2
2
 
3
3
  Except for the Streets POI pictograms documented below, the official themed Streets, Baedeker,
4
- Ferraris, Härad, Siegfried, Soundings, Cyberpunk, Matrix, Verdant, San Francisto, Cívica, and Super Tile World icon and pattern
4
+ Ferraris, Härad, Siegfried, Soundings, Blueprint, and Cívica icon and pattern
5
5
  artwork published under `assets/` is original Tileflow artwork.
6
6
 
7
7
  This file is shipped with `@tileflow/maps` so future third-party assets have a stable place for
@@ -68,20 +68,14 @@ artwork, fonts, geospatial data, or map data. The package contains only Tileflow
68
68
  and original SVG patterns for arable land, coniferous and deciduous woodland, orchards, paper grain,
69
69
  sand, settlements, water lines, and wetlands.
70
70
 
71
- The `verdant` map and its ten SVG icons and ten SVG patterns are original Tileflow code and artwork.
72
- Its contemporary field-atlas direction was informed by publicly documented park-map information
73
- design and general outdoor-navigation conventions. This package does not include or redistribute
74
- National Park Service or Lantmäteriet artwork, symbols, logos, fonts, source sheets, scans, style
75
- files, or map data.
71
+ ## Blueprint artwork and terrain data
76
72
 
77
- ## San Francisto blueprint artwork and terrain data
78
-
79
- The `san-francisto` map and its four SVG patterns and one SVG technical symbol are original Tileflow
73
+ The Blueprint map (ID `blueprint`) and its four SVG patterns and one SVG technical symbol are original Tileflow
80
74
  code and artwork. Its architectural-blueprint direction uses general drafting conventions; this
81
75
  package does not include or redistribute an architectural drawing, CAD file, municipal plan,
82
76
  survey sheet, font, source image, or third-party symbol artwork.
83
77
 
84
- At runtime, San Francisto derives contour vectors in the browser from Mapterhorn terrain tiles. No
78
+ At runtime, Blueprint derives contour vectors in the browser from Mapterhorn terrain tiles. No
85
79
  Mapterhorn tile is packaged or redistributed by `@tileflow/maps`. Mapterhorn publishes the full
86
80
  catalog of its constituent open terrain sources and their individual attribution and license terms
87
81
  at <https://mapterhorn.com/attribution/>. The compiled Style carries that link as source
@@ -127,18 +121,6 @@ copies are pinned to upstream revision `cc1bfb51ce6568cb3abf9199ab718d543f6fa189
127
121
  copyright 2015 the Cormorant Project Authors and is distributed under the SIL Open Font License
128
122
  1.1 included beside each map's font files as `LICENSE.txt`.
129
123
 
130
- The `matrix` map and its three phosphor-green SVG pattern and symbol assets are original Tileflow code
131
- and artwork. The package includes no pixels or vector artwork from an external screen or map
132
- reference.
133
-
134
- ## Oxanium
135
-
136
- Cyberpunk and Matrix each include unmodified Oxanium Medium and SemiBold font files under their
137
- respective `assets/cyberpunk/fonts/` and `assets/matrix/fonts/` directories. Oxanium is copyright
138
- 2019 The Oxanium Project Authors and is distributed under the SIL Open Font License 1.1 included
139
- beside both font copies. The canonical license filename consumed by Tileflow's generic font
140
- pipeline is `LICENSE.txt`.
141
-
142
124
  ## Cívica artwork and fonts
143
125
 
144
126
  The `civica` map, its five SVG patterns, and its eleven SVG POI pictograms are original Tileflow
@@ -167,37 +149,3 @@ Cívica includes five unmodified upstream font files under `assets/civica/fonts/
167
149
  component filenames and source revisions for Tileflow's generic font preparation pipeline.
168
150
  `assets/civica/fonts/README.md` records individual pinned source links and verified OpenType full
169
151
  names. No font file has been subsetted, renamed internally, or modified.
170
-
171
- ## Super Tile World artwork and fonts
172
-
173
- The `superTileWorld` map, sixteen SVG sprites, and seven SVG patterns are original Tileflow code
174
- and artwork. Its pixel-art overworld takes visual inspiration from _Super Mario World_. This
175
- package includes no extracted game sprites, Nintendo logo, source map, or downloaded icon artwork.
176
- Super Mario World is a Nintendo trademark; this independent showcase has no affiliation with or
177
- endorsement from Nintendo. The asset research references are recorded in
178
- `assets/super-tile-world/README.md`.
179
-
180
- Super Tile World packages three unmodified static upstream font files and one renamed derivative in its own
181
- `assets/super-tile-world/fonts/` directory:
182
-
183
- - `PixelifySans-Regular.ttf` and `PixelifySans-SemiBold.ttf` are from the official
184
- [Pixelify Sans project](https://github.com/eifetx/Pixelify-Sans/tree/39df74aba80df8157546034b878e8be1eb565ced),
185
- pinned to revision `39df74aba80df8157546034b878e8be1eb565ced`. Its complete SIL Open Font
186
- License 1.1 notice is preserved as `LICENSE-PixelifySans.txt`.
187
- - `TileWorldArcade-Regular.ttf` is a name-table-only derivative of `PressStart2P-Regular.ttf`
188
- from the official Google Fonts
189
- [Press Start 2P directory](https://github.com/google/fonts/tree/e06fe11c39051bddaef73ec338a9d1c8175723f1/ofl/pressstart2p),
190
- pinned to revision `e06fe11c39051bddaef73ec338a9d1c8175723f1`. The derivative is named
191
- “Tile World Arcade” to satisfy the upstream reserved-font-name requirement and to give browser
192
- canvas rendering a compatible family name. Glyph outlines, metrics, and character mappings
193
- remain unchanged. Its complete SIL Open Font License 1.1 notice, including the upstream
194
- reserved font name, is preserved as `LICENSE-PressStart2P.txt`.
195
- - `NotoSans-Regular.ttf` is from the official Noto
196
- [static hinted Noto Sans directory](https://github.com/notofonts/noto-fonts/tree/c971829a87e7920f960e7277c3dafd9bedd3c601/hinted/ttf/NotoSans),
197
- pinned to revision `c971829a87e7920f960e7277c3dafd9bedd3c601`. Its complete SIL Open Font
198
- License 1.1 notice is preserved as `LICENSE-NotoSans.txt`.
199
-
200
- `LICENSE.txt` combines all three complete font-family notices and licenses for the generic local
201
- font preparation pipeline. The adjacent `fonts/README.md` records the pinned source files,
202
- verified OpenType full names, and the derivative's exact name-table changes. No font is subsetted;
203
- Pixelify Sans and Noto Sans remain unmodified upstream files.
package/assets/README.md CHANGED
@@ -1,15 +1,13 @@
1
1
  # Official map assets
2
2
 
3
3
  These directories contain the package-owned sources required by the official Streets, Baedeker,
4
- Ferraris, Härad, Siegfried, Soundings, Cyberpunk, Matrix, Verdant, San Francisto, Cívica, and Super Tile World maps. Their SVG icons and
4
+ Ferraris, Härad, Siegfried, Soundings, Blueprint, and Cívica maps. Their SVG icons and
5
5
  patterns live under each map's `icons/` directory. Streets includes a pinned CC0 subset of Maki
6
6
  pictograms inside Tileflow-authored circular POI markers; its provenance is recorded in
7
7
  `../THIRD_PARTY_NOTICES.md` and the upstream license is kept at `streets/LICENSE-MAKI.txt`. A map
8
8
  refers to those directories through the exported `streetsIcons`, `baedekerIcons`, `ferrarisIcons`,
9
- `haradIcons`, `siegfriedIcons`, `soundingsIcons`, `cyberpunkIcons`, `matrixIcons`, `verdantIcons`,
10
- `sanFrancistoIcons`, `civicaIcons`, and `superTileWorldIcons` descriptors. Baedeker, Cívica, Cyberpunk, Matrix, Siegfried, and Super Tile World refer to their own
11
- packaged font directories through `baedekerFonts`, `civicaFonts`, `cyberpunkFonts`, `matrixFonts`, and
12
- `siegfriedFonts`, and `superTileWorldFonts`; the files and their `LICENSE.txt` remain beside the map that owns them.
9
+ `haradIcons`, `siegfriedIcons`, `soundingsIcons`, `blueprintIcons`, and `civicaIcons` descriptors. Baedeker, Cívica, and Siegfried refer to their own
10
+ packaged font directories through `baedekerFonts`, `civicaFonts`, and `siegfriedFonts`; the files and their `LICENSE.txt` remain beside the map that owns them.
13
11
 
14
12
  The seven `road-shield-*` SVGs are original Tileflow artwork: a deliberately generic neutral,
15
13
  colored-rectangle, and neutral-circle vocabulary. They do not reproduce a national sign template
@@ -19,9 +17,7 @@ rectangle when no supported network classification is available.
19
17
  Official maps use the same public asset contract as application maps. Streets declares
20
18
  `icons: [streetsIcons]`; its light and dark themes select distinct semantic image IDs from that
21
19
  shared atlas. Every official map is an independent root and declares only its own asset descriptors.
22
- Cyberpunk uses `[cyberpunkIcons]`; Matrix uses `[matrixIcons]`, whose directory owns its full-screen
23
- CRT scanline mask, subtle data-grid pattern, and compact green-screen POI node. Neither imports nor
24
- inherits Streets assets. The Ferraris directory contains nine
20
+ The Ferraris directory contains nine
25
21
  original intrinsic-size SVG patterns:
26
22
  `ferraris-crop-hatch`, `ferraris-heath`, `ferraris-orchard`, `ferraris-paper-grain`,
27
23
  `ferraris-residential`, `ferraris-sand`, `ferraris-water-ripples`, `ferraris-wetland`, and
@@ -65,9 +61,9 @@ the eight point symbols remain available to the separate experimental Nautical c
65
61
  World POI is deliberately not relabelled as a harbour. Soundings uses GEBCO-derived depth bands only
66
62
  as broad cartographic context and is not a navigation product.
67
63
 
68
- The San Francisto directory contains four original intrinsic-size patterns and one original
69
- technical symbol: `san-francisto-blueprint-grid`, `san-francisto-building-hatch`,
70
- `san-francisto-landscape-hatch`, `san-francisto-water-hatch`, and `san-francisto-poi-node`.
64
+ The Blueprint directory contains four original intrinsic-size patterns and one original
65
+ technical symbol: `blueprint-grid`, `blueprint-building-hatch`,
66
+ `blueprint-landscape-hatch`, `blueprint-water-hatch`, and `blueprint-poi-node`.
71
67
  Together they provide drawing-paper grid, building, landscape, and water notation plus a schematic
72
68
  POI marker without importing another official map's sprite assets.
73
69
 
@@ -78,15 +74,6 @@ destination glyphs with fine ivory clearances and compact paper squares for tran
78
74
  Small marks and a quiet secondary point preserve the map's label hierarchy. The map also owns its packaged fonts; artwork and font
79
75
  provenance are recorded in `civica/README.md` and `civica/fonts/README.md`.
80
76
 
81
- The Super Tile World directory contains sixteen original pixel-art SVG sprites and seven
82
- intrinsic-size patterns for grass, water, forest, brick, sand, meadow, and farmland. Its `stw-*`
83
- asset vocabulary supports a game-board interpretation of real geography without importing another
84
- map's sprites. Pixelify Sans Regular and SemiBold supply detail lettering; Tile World Arcade Regular
85
- supplies display lettering, with Noto Sans Regular as a local fallback. Tile World Arcade is a
86
- name-table-only derivative of Press Start 2P, with its glyphs preserved and a distinct family name
87
- for reliable browser canvas rendering. All four font faces and their complete OFL notices are packaged
88
- locally. See `super-tile-world/README.md` and `super-tile-world/fonts/README.md`.
89
-
90
77
  `@tileflow/dev` resolves each package descriptor, verifies that its real path remains inside the
91
78
  installed package, and compiles the complete ordered directory composition into deterministic
92
79
  MapLibre sprite atlases. `<id>.<ext>` publishes an icon as `<id>` and
@@ -95,16 +82,12 @@ lower-kebab, and a later directory wins on an exact duplicate ID.
95
82
 
96
83
  Font preparation is generic: it reads any map's declared `fonts` directories, derives IDs from
97
84
  OpenType full names, includes only used faces, and publishes content-addressed font and license
98
- assets. A self-hosted Cyberpunk build therefore materializes its currently selected font files and
99
- license without a Cyberpunk or font-family special case. Its manifest and Style carry the strict
100
- `tileflow:fontFaces` public-asset contract; asset ownership remains in `@tileflow/maps`. Style `font`
101
- values are exact OpenType full names. Cyberpunk and Matrix each select their own directory, whose
102
- stacks contain the two packaged Oxanium faces, so either map's primary-face local pipeline remains
103
- independent and never depends on an unfixed system or remote fallback.
85
+ assets. A self-hosted Baedeker build materializes its selected font files and license without
86
+ a map-name special case. Its manifest and Style carry the strict `tileflow:fontFaces`
87
+ public-asset contract; Style font values are exact OpenType full names.
104
88
  The compiler never manufactures a face ID by adding a weight. Streets, Ferraris, Härad, Soundings,
105
- Verdant, and San Francisto each declare the canonical Tileflow glyph URL with exact
106
- `Noto Sans Regular` and `Noto Sans Bold` stacks. Cyberpunk and Matrix name `Oxanium Medium` and
107
- `Oxanium SemiBold`, while Baedeker and Siegfried each name `Cormorant Garamond Regular`,
89
+ and Blueprint each declare the canonical Tileflow glyph URL with exact
90
+ `Noto Sans Regular` and `Noto Sans Bold` stacks. Baedeker and Siegfried each name `Cormorant Garamond Regular`,
108
91
  `Cormorant Garamond SemiBold`, and `Cormorant Garamond Italic` from their respective packaged
109
92
  directories. Cívica packages `DM Serif Text Regular` and `DM Serif Text Italic` for its place
110
93
  and water lettering, `Barlow Semi Condensed Regular` and `Barlow Semi Condensed SemiBold` for
package/dist/index.d.ts CHANGED
@@ -11,24 +11,6 @@ declare const streetsIcons: Readonly<{
11
11
  package: string;
12
12
  path: string;
13
13
  }>;
14
- /** Package-owned Cyberpunk icons and patterns. */
15
- declare const cyberpunkIcons: Readonly<{
16
- kind: "package-directory";
17
- package: string;
18
- path: string;
19
- }>;
20
- /** Package-owned Matrix phosphor patterns and symbols. */
21
- declare const matrixIcons: Readonly<{
22
- kind: "package-directory";
23
- package: string;
24
- path: string;
25
- }>;
26
- /** Package-owned Verdant icons and patterns. This root does not compose Streets assets. */
27
- declare const verdantIcons: Readonly<{
28
- kind: "package-directory";
29
- package: string;
30
- path: string;
31
- }>;
32
14
  /** Package-owned Ferraris patterns. This root does not compose Streets assets. */
33
15
  declare const ferrarisIcons: Readonly<{
34
16
  kind: "package-directory";
@@ -47,8 +29,8 @@ declare const civicaIcons: Readonly<{
47
29
  package: string;
48
30
  path: string;
49
31
  }>;
50
- /** Package-owned San Francisto blueprint patterns and technical symbol. */
51
- declare const sanFrancistoIcons: Readonly<{
32
+ /** Package-owned Blueprint patterns and technical symbol. The asset path is stable. */
33
+ declare const blueprintIcons: Readonly<{
52
34
  kind: "package-directory";
53
35
  package: string;
54
36
  path: string;
@@ -77,29 +59,6 @@ declare const civicaFonts: Readonly<{
77
59
  package: string;
78
60
  path: string;
79
61
  }>;
80
- /** Package-owned Super Tile World pixel sprites, terrain tiles, and lettering. */
81
- declare const superTileWorldIcons: Readonly<{
82
- kind: "package-directory";
83
- package: string;
84
- path: string;
85
- }>;
86
- declare const superTileWorldFonts: Readonly<{
87
- kind: "package-directory";
88
- package: string;
89
- path: string;
90
- }>;
91
- /** Package-owned Cyberpunk web fonts and their license. */
92
- declare const cyberpunkFonts: Readonly<{
93
- kind: "package-directory";
94
- package: string;
95
- path: string;
96
- }>;
97
- /** Package-owned Matrix web fonts and their license. */
98
- declare const matrixFonts: Readonly<{
99
- kind: "package-directory";
100
- package: string;
101
- path: string;
102
- }>;
103
62
  /** Package-owned Baedeker web fonts and their license. */
104
63
  declare const baedekerFonts: Readonly<{
105
64
  kind: "package-directory";
@@ -516,81 +475,8 @@ declare const harad: {
516
475
  readonly zoom: 13;
517
476
  };
518
477
  };
519
- declare const matrix: {
520
- readonly id: "matrix";
521
- readonly version: 1;
522
- readonly name: "Terminal";
523
- readonly data: {
524
- readonly generation: "v1";
525
- readonly selection: {
526
- readonly kind: "current";
527
- readonly product: "world-v1";
528
- };
529
- readonly type: "tileflow-world";
530
- };
531
- readonly fonts: readonly [Readonly<{
532
- kind: "package-directory";
533
- package: string;
534
- path: string;
535
- }>];
536
- readonly icons: readonly [Readonly<{
537
- kind: "package-directory";
538
- package: string;
539
- path: string;
540
- }>];
541
- readonly themes: {
542
- readonly dark: _tileflow_core.TileflowTheme;
543
- };
544
- readonly defaultTheme: "dark";
545
- readonly modules: {
546
- readonly addresses: Readonly<{
547
- readonly op: "disable";
548
- }>;
549
- readonly aeroways: Readonly<{
550
- readonly op: "disable";
551
- }>;
552
- readonly boundaries: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowBoundariesModuleOptions & {
553
- type: "boundaries";
554
- }, {
555
- readonly admin2Background: _tileflow_core.TileflowRenderPass;
556
- }>;
557
- readonly buildings: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowBuildingsModuleOptions & {
558
- type: "buildings";
559
- }, Readonly<Record<string, _tileflow_core.TileflowRenderStackOperation>>>;
560
- readonly labels: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowLabelsModuleConfig, {
561
- readonly crtMask: _tileflow_core.TileflowRenderPass;
562
- }>;
563
- readonly land: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowLandModuleOptions & {
564
- type: "land";
565
- }, Readonly<Record<string, _tileflow_core.TileflowRenderStackOperation>>>;
566
- readonly roads: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowRoadsModuleConfig, {
567
- readonly [x: string]: _tileflow_core.TileflowRenderStackOperation;
568
- }>;
569
- readonly transit: _tileflow_core.TileflowTransitModuleConfig;
570
- readonly landforms: Readonly<{
571
- readonly op: "disable";
572
- }>;
573
- readonly poi: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowPoiModuleConfig, {
574
- readonly [x: string]: _tileflow_core.TileflowRenderStackOperation;
575
- }>;
576
- readonly vegetation: Readonly<{
577
- readonly op: "disable";
578
- }>;
579
- readonly water: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowWaterModuleOptions & {
580
- type: "water";
581
- }, Readonly<Record<string, _tileflow_core.TileflowRenderStackOperation>>>;
582
- };
583
- readonly projection: "mercator";
584
- readonly terrain: "none";
585
- readonly view: {
586
- readonly bearing: 0;
587
- readonly center: readonly [-3.6942, 40.4146];
588
- readonly pitch: 0;
589
- readonly zoom: 15.25;
590
- };
591
- };
592
- declare const sanFrancisto: {
593
- readonly id: "san-francisto";
478
+ declare const blueprint: {
479
+ readonly id: "blueprint";
594
480
  readonly version: 1;
595
481
  readonly name: "Blueprint";
596
482
  readonly data: {
@@ -644,7 +530,7 @@ declare const sanFrancisto: {
644
530
  readonly width: 0.28;
645
531
  };
646
532
  readonly overzoom: 2;
647
- readonly sourceId: "san-francisto-contours";
533
+ readonly sourceId: "blueprint-contours";
648
534
  readonly thresholds: {
649
535
  readonly 9: readonly [50, 250];
650
536
  readonly 11: readonly [20, 100];
@@ -902,229 +788,5 @@ declare const soundings: {
902
788
  readonly zoom: 6.75;
903
789
  };
904
790
  };
905
- declare const cyberpunk: {
906
- readonly id: "cyberpunk";
907
- readonly version: 1;
908
- readonly name: "Cyberpunk";
909
- readonly data: {
910
- readonly generation: "v1";
911
- readonly selection: {
912
- readonly kind: "current";
913
- readonly product: "world-v1";
914
- };
915
- readonly type: "tileflow-world";
916
- };
917
- readonly fonts: readonly [Readonly<{
918
- kind: "package-directory";
919
- package: string;
920
- path: string;
921
- }>];
922
- readonly icons: readonly [Readonly<{
923
- kind: "package-directory";
924
- package: string;
925
- path: string;
926
- }>];
927
- readonly themes: {
928
- readonly dark: _tileflow_core.TileflowTheme;
929
- };
930
- readonly defaultTheme: "dark";
931
- readonly modules: {
932
- readonly addresses: Readonly<{
933
- readonly op: "disable";
934
- }>;
935
- readonly aeroways: Readonly<{
936
- readonly op: "disable";
937
- }>;
938
- readonly boundaries: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowBoundariesModuleOptions & {
939
- type: "boundaries";
940
- }, {
941
- readonly admin2Background: _tileflow_core.TileflowRenderPass;
942
- }>;
943
- readonly buildings: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowBuildingsModuleOptions & {
944
- type: "buildings";
945
- }, Readonly<Record<string, _tileflow_core.TileflowRenderStackOperation>>>;
946
- readonly labels: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowLabelsModuleConfig, Readonly<Record<string, _tileflow_core.TileflowRenderStackOperation>>>;
947
- readonly land: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowLandModuleOptions & {
948
- type: "land";
949
- }, Readonly<Record<string, _tileflow_core.TileflowRenderStackOperation>>>;
950
- readonly roads: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowRoadsModuleConfig, {
951
- readonly [x: string]: _tileflow_core.TileflowRenderStackOperation;
952
- }>;
953
- readonly transit: _tileflow_core.TileflowTransitModuleConfig;
954
- readonly landforms: Readonly<{
955
- readonly op: "disable";
956
- }>;
957
- readonly poi: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowPoiModuleConfig, {
958
- readonly [x: string]: _tileflow_core.TileflowRenderStackOperation;
959
- }>;
960
- readonly vegetation: Readonly<{
961
- readonly op: "disable";
962
- }>;
963
- readonly water: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowWaterModuleOptions & {
964
- type: "water";
965
- }, Readonly<Record<string, _tileflow_core.TileflowRenderStackOperation>>>;
966
- };
967
- readonly projection: "mercator";
968
- readonly terrain: "none";
969
- readonly view: {
970
- readonly bearing: 0;
971
- readonly center: readonly [-3.69275, 40.40866];
972
- readonly pitch: 0;
973
- readonly zoom: 15;
974
- };
975
- };
976
- declare const verdant: {
977
- readonly id: "verdant";
978
- readonly version: 1;
979
- readonly name: "Verdant";
980
- readonly data: {
981
- readonly generation: "v1";
982
- readonly selection: {
983
- readonly kind: "current";
984
- readonly product: "world-v1";
985
- };
986
- readonly type: "tileflow-world";
987
- };
988
- readonly glyphs: {
989
- readonly kind: "url";
990
- readonly url: "https://api.tileflow.dev/base/33d4de5e8086d9d629d67d3f39fedb87e23686c4c1ac653c27e2a52aee9d00b3/glyphs/{fontstack}/{range}.pbf";
991
- readonly fontStacks: readonly ["Noto Sans Regular", "Noto Sans Bold"];
992
- };
993
- readonly icons: readonly [Readonly<{
994
- kind: "package-directory";
995
- package: string;
996
- path: string;
997
- }>];
998
- readonly themes: {
999
- readonly light: _tileflow_core.TileflowTheme;
1000
- };
1001
- readonly defaultTheme: "light";
1002
- readonly projection: "mercator";
1003
- readonly terrain: "none";
1004
- readonly modules: {
1005
- readonly addresses: _tileflow_core.TileflowAddressesModuleConfig;
1006
- readonly aeroways: _tileflow_core.TileflowAerowaysModuleConfig;
1007
- readonly boundaries: _tileflow_core.TileflowBoundariesModuleConfig;
1008
- readonly buildings: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowBuildingsModuleOptions & {
1009
- type: "buildings";
1010
- }, {
1011
- readonly printShadow: _tileflow_core.TileflowRenderPass;
1012
- }>;
1013
- readonly labels: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowLabelsModuleConfig, {
1014
- readonly landscape: _tileflow_core.TileflowRenderPass;
1015
- }>;
1016
- readonly land: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowLandModuleOptions & {
1017
- type: "land";
1018
- }, {
1019
- readonly farmlandTexture: _tileflow_core.TileflowRenderPass;
1020
- readonly scrubTexture: _tileflow_core.TileflowRenderPass;
1021
- readonly meadowTexture: _tileflow_core.TileflowRenderPass;
1022
- readonly orchardTexture: _tileflow_core.TileflowRenderPass;
1023
- readonly rockTexture: _tileflow_core.TileflowRenderPass;
1024
- readonly wetlandTexture: _tileflow_core.TileflowRenderPass;
1025
- readonly woodTexture: _tileflow_core.TileflowRenderPass;
1026
- readonly residentialTexture: _tileflow_core.TileflowRenderPass;
1027
- }>;
1028
- readonly landforms: _tileflow_core.TileflowLandformsModuleConfig;
1029
- readonly poi: _tileflow_core.TileflowPoiModuleConfig;
1030
- readonly roads: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowRoadsModuleConfig, {
1031
- readonly trailEmphasis: _tileflow_core.TileflowRenderPass;
1032
- }>;
1033
- readonly transit: _tileflow_core.TileflowTransitModuleConfig;
1034
- readonly vegetation: _tileflow_core.TileflowVegetationModuleConfig;
1035
- readonly water: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowWaterModuleOptions & {
1036
- type: "water";
1037
- }, {
1038
- readonly printLines: _tileflow_core.TileflowRenderPass;
1039
- readonly intermittentPrintLines: _tileflow_core.TileflowRenderPass;
1040
- }>;
1041
- };
1042
- readonly view: {
1043
- readonly center: readonly [-3.69275, 40.40866];
1044
- readonly pitch: 0;
1045
- readonly bearing: 0;
1046
- readonly zoom: 14;
1047
- };
1048
- };
1049
- declare const superTileWorld: {
1050
- readonly id: "super-tile-world";
1051
- readonly name: "Super Tile World";
1052
- readonly version: 1;
1053
- readonly data: {
1054
- readonly type: "tileflow-world";
1055
- readonly generation: "v1";
1056
- readonly selection: {
1057
- readonly kind: "current";
1058
- readonly product: "world-v1";
1059
- };
1060
- };
1061
- readonly icons: readonly [Readonly<{
1062
- kind: "package-directory";
1063
- package: string;
1064
- path: string;
1065
- }>];
1066
- readonly fonts: readonly [Readonly<{
1067
- kind: "package-directory";
1068
- package: string;
1069
- path: string;
1070
- }>];
1071
- readonly themes: {
1072
- readonly light: _tileflow_core.TileflowTheme;
1073
- };
1074
- readonly defaultTheme: "light";
1075
- readonly projection: "mercator";
1076
- readonly terrain: "none";
1077
- readonly view: {
1078
- readonly center: readonly [-3.6875, 40.4167];
1079
- readonly zoom: 14.5;
1080
- readonly pitch: 0;
1081
- readonly bearing: 0;
1082
- };
1083
- readonly modules: {
1084
- readonly land: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowLandModuleOptions & {
1085
- type: "land";
1086
- }, {
1087
- readonly worldTufts: _tileflow_core.TileflowRenderPass;
1088
- readonly parkCliff: _tileflow_core.TileflowRenderPass;
1089
- readonly parkCliffEdge: _tileflow_core.TileflowRenderPass;
1090
- readonly parkGarden: _tileflow_core.TileflowRenderPass;
1091
- readonly forestCanopy: _tileflow_core.TileflowRenderPass;
1092
- readonly farmTiles: _tileflow_core.TileflowRenderPass;
1093
- readonly sandPixels: _tileflow_core.TileflowRenderPass;
1094
- }>;
1095
- readonly water: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowWaterModuleOptions & {
1096
- type: "water";
1097
- }, {
1098
- readonly coastInk: _tileflow_core.TileflowRenderPass;
1099
- readonly coastSand: _tileflow_core.TileflowRenderPass;
1100
- readonly waves: _tileflow_core.TileflowRenderPass;
1101
- }>;
1102
- readonly buildings: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowBuildingsModuleOptions & {
1103
- type: "buildings";
1104
- }, {
1105
- readonly districtBlocks: _tileflow_core.TileflowRenderPass;
1106
- readonly platformSides: _tileflow_core.TileflowRenderPass;
1107
- readonly brickRoofs: _tileflow_core.TileflowRenderPass;
1108
- }>;
1109
- readonly roads: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowRoadsModuleConfig, {
1110
- readonly levelDots: _tileflow_core.TileflowRenderPass;
1111
- readonly coinTrail: _tileflow_core.TileflowRenderPass;
1112
- }>;
1113
- readonly transit: _tileflow_core.TileflowTransitModuleConfig;
1114
- readonly boundaries: _tileflow_core.TileflowBoundariesModuleConfig;
1115
- readonly labels: _tileflow_core.TileflowLabelsModuleConfig;
1116
- readonly poi: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowPoiModuleConfig, {
1117
- [k: string]: _tileflow_core.TileflowRenderTargetRefinement;
1118
- }>;
1119
- readonly vegetation: _tileflow_core.TileflowModuleWithRenderStack<_tileflow_core.TileflowVegetationModuleOptions & {
1120
- type: "vegetation";
1121
- }, {
1122
- readonly pixelTrees: _tileflow_core.TileflowRenderPass;
1123
- }>;
1124
- readonly aeroways: _tileflow_core.TileflowAerowaysModuleConfig;
1125
- readonly landforms: _tileflow_core.TileflowLandformsModuleConfig;
1126
- readonly addresses: _tileflow_core.TileflowAddressesModuleConfig;
1127
- };
1128
- };
1129
791
 
1130
- export { baedeker, baedekerFonts, baedekerIcons, civica, civicaFonts, civicaIcons, cyberpunk, cyberpunkFonts, cyberpunkIcons, ferraris, ferrarisIcons, harad, haradIcons, matrix, matrixFonts, matrixIcons, sanFrancisto, sanFrancistoIcons, siegfried, siegfriedFonts, siegfriedIcons, siegfriedThemes, soundings, soundingsIcons, streets, streetsIcons, streetsThemes, superTileWorld, superTileWorldFonts, superTileWorldIcons, verdant, verdantIcons };
792
+ export { baedeker, baedekerFonts, baedekerIcons, blueprint, blueprintIcons, civica, civicaFonts, civicaIcons, ferraris, ferrarisIcons, harad, haradIcons, siegfried, siegfriedFonts, siegfriedIcons, siegfriedThemes, soundings, soundingsIcons, streets, streetsIcons, streetsThemes };