@tileflow/maps 0.1.0-alpha.0 → 0.1.0-alpha.10

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 (524) hide show
  1. package/README.md +315 -156
  2. package/THIRD_PARTY_NOTICES.md +122 -47
  3. package/assets/README.md +77 -43
  4. package/assets/baedeker/README.md +31 -0
  5. package/assets/baedeker/fonts/CormorantGaramond-Italic.ttf +0 -0
  6. package/assets/baedeker/fonts/CormorantGaramond-Regular.ttf +0 -0
  7. package/assets/baedeker/fonts/CormorantGaramond-SemiBold.ttf +0 -0
  8. package/assets/{matrix → baedeker}/fonts/LICENSE.txt +1 -1
  9. package/assets/baedeker/icons/baedeker-hachures.pattern.svg +14 -0
  10. package/assets/baedeker/icons/baedeker-orchard.pattern.svg +36 -0
  11. package/assets/baedeker/icons/baedeker-paper-grain.pattern.svg +20 -0
  12. package/assets/baedeker/icons/baedeker-park-stipple.pattern.svg +36 -0
  13. package/assets/baedeker/icons/baedeker-residential.pattern.svg +5 -0
  14. package/assets/baedeker/icons/baedeker-sand.pattern.svg +21 -0
  15. package/assets/baedeker/icons/baedeker-water-lines.pattern.svg +9 -0
  16. package/assets/baedeker/icons/baedeker-wetland.pattern.svg +8 -0
  17. package/assets/blueprint/icons/blueprint-building-hatch.pattern.svg +4 -0
  18. package/assets/blueprint/icons/blueprint-grid.pattern.svg +6 -0
  19. package/assets/blueprint/icons/blueprint-landscape-hatch.pattern.svg +4 -0
  20. package/assets/blueprint/icons/blueprint-poi-node.svg +8 -0
  21. package/assets/blueprint/icons/blueprint-water-hatch.pattern.svg +4 -0
  22. package/assets/civica/README.md +35 -0
  23. package/assets/civica/fonts/BarlowSemiCondensed-Regular.ttf +0 -0
  24. package/assets/civica/fonts/BarlowSemiCondensed-SemiBold.ttf +0 -0
  25. package/assets/civica/fonts/DMSerifText-Italic.ttf +0 -0
  26. package/assets/civica/fonts/DMSerifText-Regular.ttf +0 -0
  27. package/assets/civica/fonts/LICENSE-BarlowSemiCondensed.txt +93 -0
  28. package/assets/civica/fonts/LICENSE-NotoSans.txt +94 -0
  29. package/assets/civica/fonts/LICENSE.txt +293 -0
  30. package/assets/civica/fonts/NotoSans-Regular.ttf +0 -0
  31. package/assets/civica/fonts/OFL.txt +93 -0
  32. package/assets/civica/fonts/README.md +42 -0
  33. package/assets/civica/icons/civica-industrial-hatch.pattern.svg +5 -0
  34. package/assets/civica/icons/civica-orchard.pattern.svg +16 -0
  35. package/assets/civica/icons/civica-paper-grain.pattern.svg +26 -0
  36. package/assets/civica/icons/civica-park-groves.pattern.svg +13 -0
  37. package/assets/civica/icons/civica-poi-airport.svg +6 -0
  38. package/assets/civica/icons/civica-poi-civic-star.svg +5 -0
  39. package/assets/civica/icons/civica-poi-dot.svg +5 -0
  40. package/assets/civica/icons/civica-poi-food.svg +7 -0
  41. package/assets/civica/icons/civica-poi-garden.svg +16 -0
  42. package/assets/civica/icons/civica-poi-hospital.svg +5 -0
  43. package/assets/civica/icons/civica-poi-lodging.svg +8 -0
  44. package/assets/civica/icons/civica-poi-monument.svg +7 -0
  45. package/assets/civica/icons/civica-poi-museum.svg +7 -0
  46. package/assets/civica/icons/civica-poi-shopping.svg +8 -0
  47. package/assets/civica/icons/civica-poi-transit.svg +10 -0
  48. package/assets/civica/icons/civica-water-lines.pattern.svg +7 -0
  49. package/assets/map-1777/fonts/CormorantGaramond-Italic.ttf +0 -0
  50. package/assets/map-1777/fonts/CormorantGaramond-Regular.ttf +0 -0
  51. package/assets/map-1777/fonts/CormorantGaramond-SemiBold.ttf +0 -0
  52. package/assets/{cyberpunk → map-1777}/fonts/LICENSE.txt +1 -1
  53. package/assets/map-1777/icons/map-1777-crop-cross.pattern.svg +52 -0
  54. package/assets/map-1777/icons/map-1777-crop-hatch.pattern.svg +49 -0
  55. package/assets/map-1777/icons/map-1777-crop-lines.pattern.svg +52 -0
  56. package/assets/map-1777/icons/map-1777-dawn-crop-cross.pattern.svg +52 -0
  57. package/assets/map-1777/icons/map-1777-dawn-crop-hatch.pattern.svg +49 -0
  58. package/assets/map-1777/icons/map-1777-dawn-crop-lines.pattern.svg +52 -0
  59. package/assets/map-1777/icons/map-1777-dawn-heath.pattern.svg +9 -0
  60. package/assets/map-1777/icons/map-1777-dawn-orchard.pattern.svg +89 -0
  61. package/assets/map-1777/icons/map-1777-dawn-paper-grain.pattern.svg +20 -0
  62. package/assets/map-1777/icons/map-1777-dawn-residential.pattern.svg +5 -0
  63. package/assets/map-1777/icons/map-1777-dawn-sand.pattern.svg +15 -0
  64. package/assets/map-1777/icons/map-1777-dawn-water-ripples.pattern.svg +9 -0
  65. package/assets/map-1777/icons/map-1777-dawn-wetland.pattern.svg +8 -0
  66. package/assets/map-1777/icons/map-1777-dawn-woodland.pattern.svg +121 -0
  67. package/assets/map-1777/icons/map-1777-dusk-crop-cross.pattern.svg +52 -0
  68. package/assets/map-1777/icons/map-1777-dusk-crop-hatch.pattern.svg +49 -0
  69. package/assets/map-1777/icons/map-1777-dusk-crop-lines.pattern.svg +52 -0
  70. package/assets/map-1777/icons/map-1777-dusk-heath.pattern.svg +9 -0
  71. package/assets/map-1777/icons/map-1777-dusk-orchard.pattern.svg +89 -0
  72. package/assets/map-1777/icons/map-1777-dusk-paper-grain.pattern.svg +20 -0
  73. package/assets/map-1777/icons/map-1777-dusk-residential.pattern.svg +5 -0
  74. package/assets/map-1777/icons/map-1777-dusk-sand.pattern.svg +15 -0
  75. package/assets/map-1777/icons/map-1777-dusk-water-ripples.pattern.svg +9 -0
  76. package/assets/map-1777/icons/map-1777-dusk-wetland.pattern.svg +8 -0
  77. package/assets/map-1777/icons/map-1777-dusk-woodland.pattern.svg +121 -0
  78. package/assets/map-1777/icons/map-1777-heath.pattern.svg +9 -0
  79. package/assets/map-1777/icons/map-1777-night-crop-cross.pattern.svg +52 -0
  80. package/assets/map-1777/icons/map-1777-night-crop-hatch.pattern.svg +49 -0
  81. package/assets/map-1777/icons/map-1777-night-crop-lines.pattern.svg +52 -0
  82. package/assets/map-1777/icons/map-1777-night-heath.pattern.svg +9 -0
  83. package/assets/map-1777/icons/map-1777-night-orchard.pattern.svg +89 -0
  84. package/assets/map-1777/icons/map-1777-night-paper-grain.pattern.svg +20 -0
  85. package/assets/map-1777/icons/map-1777-night-residential.pattern.svg +5 -0
  86. package/assets/map-1777/icons/map-1777-night-sand.pattern.svg +15 -0
  87. package/assets/map-1777/icons/map-1777-night-water-ripples.pattern.svg +9 -0
  88. package/assets/map-1777/icons/map-1777-night-wetland.pattern.svg +8 -0
  89. package/assets/map-1777/icons/map-1777-night-woodland.pattern.svg +121 -0
  90. package/assets/map-1777/icons/map-1777-orchard.pattern.svg +89 -0
  91. package/assets/{ferraris/icons/ferraris-paper-grain.pattern.svg → map-1777/icons/map-1777-paper-grain.pattern.svg} +1 -1
  92. package/assets/map-1777/icons/map-1777-residential.pattern.svg +5 -0
  93. package/assets/map-1777/icons/map-1777-water-ripples.pattern.svg +9 -0
  94. package/assets/map-1777/icons/map-1777-wetland.pattern.svg +8 -0
  95. package/assets/map-1777/icons/map-1777-woodland.pattern.svg +121 -0
  96. package/assets/streets/build-trees.mjs +425 -0
  97. package/assets/streets/icons/aerialway-dark.svg +11 -0
  98. package/assets/streets/icons/aerialway-monochrome-dark.svg +11 -0
  99. package/assets/streets/icons/aerialway-monochrome.svg +11 -0
  100. package/assets/streets/icons/aerialway.svg +11 -0
  101. package/assets/streets/icons/airport-dark.svg +11 -0
  102. package/assets/streets/icons/airport-monochrome-dark.svg +11 -0
  103. package/assets/streets/icons/airport-monochrome.svg +11 -0
  104. package/assets/streets/icons/airport.svg +11 -0
  105. package/assets/streets/icons/amusement-park-dark.svg +11 -0
  106. package/assets/streets/icons/amusement-park-monochrome-dark.svg +11 -0
  107. package/assets/streets/icons/amusement-park-monochrome.svg +11 -0
  108. package/assets/streets/icons/amusement-park.svg +11 -0
  109. package/assets/streets/icons/aquarium-dark.svg +11 -0
  110. package/assets/streets/icons/aquarium-monochrome-dark.svg +11 -0
  111. package/assets/streets/icons/aquarium-monochrome.svg +11 -0
  112. package/assets/streets/icons/aquarium.svg +11 -0
  113. package/assets/streets/icons/art-gallery-dark.svg +11 -0
  114. package/assets/streets/icons/art-gallery-monochrome-dark.svg +11 -0
  115. package/assets/streets/icons/art-gallery-monochrome.svg +11 -0
  116. package/assets/streets/icons/art-gallery.svg +11 -0
  117. package/assets/streets/icons/bank-dark.svg +11 -0
  118. package/assets/streets/icons/bank-monochrome-dark.svg +11 -0
  119. package/assets/streets/icons/bank-monochrome.svg +11 -0
  120. package/assets/streets/icons/bank.svg +11 -0
  121. package/assets/streets/icons/bar-dark.svg +11 -0
  122. package/assets/streets/icons/bar-monochrome-dark.svg +11 -0
  123. package/assets/streets/icons/bar-monochrome.svg +11 -0
  124. package/assets/streets/icons/bar.svg +11 -0
  125. package/assets/streets/icons/beach-dark.svg +11 -0
  126. package/assets/streets/icons/beach-monochrome-dark.svg +11 -0
  127. package/assets/streets/icons/beach-monochrome.svg +11 -0
  128. package/assets/streets/icons/beach.svg +11 -0
  129. package/assets/streets/icons/beauty-dark.svg +11 -0
  130. package/assets/streets/icons/beauty-monochrome-dark.svg +11 -0
  131. package/assets/streets/icons/beauty-monochrome.svg +11 -0
  132. package/assets/streets/icons/beauty.svg +11 -0
  133. package/assets/streets/icons/bookstore-dark.svg +11 -0
  134. package/assets/streets/icons/bookstore-monochrome-dark.svg +11 -0
  135. package/assets/streets/icons/bookstore-monochrome.svg +11 -0
  136. package/assets/streets/icons/bookstore.svg +11 -0
  137. package/assets/streets/icons/buddhist-dark.svg +11 -0
  138. package/assets/streets/icons/buddhist-monochrome-dark.svg +11 -0
  139. package/assets/streets/icons/buddhist-monochrome.svg +11 -0
  140. package/assets/streets/icons/buddhist.svg +11 -0
  141. package/assets/streets/icons/bus-dark.svg +11 -0
  142. package/assets/streets/icons/bus-monochrome-dark.svg +11 -0
  143. package/assets/streets/icons/bus-monochrome.svg +11 -0
  144. package/assets/streets/icons/bus.svg +11 -0
  145. package/assets/streets/icons/campsite-dark.svg +11 -0
  146. package/assets/streets/icons/campsite-monochrome-dark.svg +11 -0
  147. package/assets/streets/icons/campsite-monochrome.svg +11 -0
  148. package/assets/streets/icons/campsite.svg +11 -0
  149. package/assets/streets/icons/car-dark.svg +11 -0
  150. package/assets/streets/icons/car-monochrome-dark.svg +11 -0
  151. package/assets/streets/icons/car-monochrome.svg +11 -0
  152. package/assets/streets/icons/car-repair-dark.svg +11 -0
  153. package/assets/streets/icons/car-repair-monochrome-dark.svg +11 -0
  154. package/assets/streets/icons/car-repair-monochrome.svg +11 -0
  155. package/assets/streets/icons/car-repair.svg +11 -0
  156. package/assets/streets/icons/car.svg +11 -0
  157. package/assets/streets/icons/casino-dark.svg +11 -0
  158. package/assets/streets/icons/casino-monochrome-dark.svg +11 -0
  159. package/assets/streets/icons/casino-monochrome.svg +11 -0
  160. package/assets/streets/icons/casino.svg +11 -0
  161. package/assets/streets/icons/castle-dark.svg +11 -0
  162. package/assets/streets/icons/castle-monochrome-dark.svg +11 -0
  163. package/assets/streets/icons/castle-monochrome.svg +11 -0
  164. package/assets/streets/icons/castle.svg +11 -0
  165. package/assets/streets/icons/cemetery-dark.svg +11 -0
  166. package/assets/streets/icons/cemetery-monochrome-dark.svg +11 -0
  167. package/assets/streets/icons/cemetery-monochrome.svg +11 -0
  168. package/assets/streets/icons/cemetery.svg +11 -0
  169. package/assets/streets/icons/charging-station-dark.svg +11 -0
  170. package/assets/streets/icons/charging-station-monochrome-dark.svg +11 -0
  171. package/assets/streets/icons/charging-station-monochrome.svg +11 -0
  172. package/assets/streets/icons/charging-station.svg +11 -0
  173. package/assets/streets/icons/christian-dark.svg +11 -0
  174. package/assets/streets/icons/christian-monochrome-dark.svg +11 -0
  175. package/assets/streets/icons/christian-monochrome.svg +11 -0
  176. package/assets/streets/icons/christian.svg +11 -0
  177. package/assets/streets/icons/cinema-dark.svg +11 -0
  178. package/assets/streets/icons/cinema-monochrome-dark.svg +11 -0
  179. package/assets/streets/icons/cinema-monochrome.svg +11 -0
  180. package/assets/streets/icons/cinema.svg +11 -0
  181. package/assets/streets/icons/clothing-dark.svg +11 -0
  182. package/assets/streets/icons/clothing-monochrome-dark.svg +11 -0
  183. package/assets/streets/icons/clothing-monochrome.svg +11 -0
  184. package/assets/streets/icons/clothing.svg +11 -0
  185. package/assets/streets/icons/coffee-dark.svg +11 -0
  186. package/assets/streets/icons/coffee-monochrome-dark.svg +11 -0
  187. package/assets/streets/icons/coffee-monochrome.svg +11 -0
  188. package/assets/streets/icons/coffee.svg +4 -5
  189. package/assets/streets/icons/college-dark.svg +11 -0
  190. package/assets/streets/icons/college-monochrome-dark.svg +11 -0
  191. package/assets/streets/icons/college-monochrome.svg +11 -0
  192. package/assets/streets/icons/college.svg +11 -0
  193. package/assets/streets/icons/community-dark.svg +11 -0
  194. package/assets/streets/icons/community-monochrome-dark.svg +11 -0
  195. package/assets/streets/icons/community-monochrome.svg +11 -0
  196. package/assets/streets/icons/community.svg +11 -0
  197. package/assets/streets/icons/convenience-dark.svg +11 -0
  198. package/assets/streets/icons/convenience-monochrome-dark.svg +11 -0
  199. package/assets/streets/icons/convenience-monochrome.svg +11 -0
  200. package/assets/streets/icons/convenience.svg +11 -0
  201. package/assets/streets/icons/culture-dark.svg +11 -0
  202. package/assets/streets/icons/culture-monochrome-dark.svg +11 -0
  203. package/assets/streets/icons/culture-monochrome.svg +11 -0
  204. package/assets/streets/icons/culture.svg +4 -5
  205. package/assets/streets/icons/dentist-dark.svg +11 -0
  206. package/assets/streets/icons/dentist-monochrome-dark.svg +11 -0
  207. package/assets/streets/icons/dentist-monochrome.svg +11 -0
  208. package/assets/streets/icons/dentist.svg +11 -0
  209. package/assets/streets/icons/doctor-dark.svg +11 -0
  210. package/assets/streets/icons/doctor-monochrome-dark.svg +11 -0
  211. package/assets/streets/icons/doctor-monochrome.svg +11 -0
  212. package/assets/streets/icons/doctor.svg +11 -0
  213. package/assets/streets/icons/dog-park-dark.svg +11 -0
  214. package/assets/streets/icons/dog-park-monochrome-dark.svg +11 -0
  215. package/assets/streets/icons/dog-park-monochrome.svg +11 -0
  216. package/assets/streets/icons/dog-park.svg +11 -0
  217. package/assets/streets/icons/drinking-water-dark.svg +11 -0
  218. package/assets/streets/icons/drinking-water-monochrome-dark.svg +11 -0
  219. package/assets/streets/icons/drinking-water-monochrome.svg +11 -0
  220. package/assets/streets/icons/drinking-water.svg +11 -0
  221. package/assets/streets/icons/education-dark.svg +11 -0
  222. package/assets/streets/icons/education-monochrome-dark.svg +11 -0
  223. package/assets/streets/icons/education-monochrome.svg +11 -0
  224. package/assets/streets/icons/education.svg +5 -6
  225. package/assets/streets/icons/electronics-dark.svg +11 -0
  226. package/assets/streets/icons/electronics-monochrome-dark.svg +11 -0
  227. package/assets/streets/icons/electronics-monochrome.svg +11 -0
  228. package/assets/streets/icons/electronics.svg +11 -0
  229. package/assets/streets/icons/embassy-dark.svg +11 -0
  230. package/assets/streets/icons/embassy-monochrome-dark.svg +11 -0
  231. package/assets/streets/icons/embassy-monochrome.svg +11 -0
  232. package/assets/streets/icons/embassy.svg +11 -0
  233. package/assets/streets/icons/entertainment-dark.svg +11 -0
  234. package/assets/streets/icons/entertainment-monochrome-dark.svg +11 -0
  235. package/assets/streets/icons/entertainment-monochrome.svg +11 -0
  236. package/assets/streets/icons/entertainment.svg +11 -0
  237. package/assets/streets/icons/fast-food-dark.svg +11 -0
  238. package/assets/streets/icons/fast-food-monochrome-dark.svg +11 -0
  239. package/assets/streets/icons/fast-food-monochrome.svg +11 -0
  240. package/assets/streets/icons/fast-food.svg +11 -0
  241. package/assets/streets/icons/ferry-dark.svg +11 -0
  242. package/assets/streets/icons/ferry-monochrome-dark.svg +11 -0
  243. package/assets/streets/icons/ferry-monochrome.svg +11 -0
  244. package/assets/streets/icons/ferry.svg +11 -0
  245. package/assets/streets/icons/fire-station-dark.svg +11 -0
  246. package/assets/streets/icons/fire-station-monochrome-dark.svg +11 -0
  247. package/assets/streets/icons/fire-station-monochrome.svg +11 -0
  248. package/assets/streets/icons/fire-station.svg +11 -0
  249. package/assets/streets/icons/fitness-dark.svg +11 -0
  250. package/assets/streets/icons/fitness-monochrome-dark.svg +11 -0
  251. package/assets/streets/icons/fitness-monochrome.svg +11 -0
  252. package/assets/streets/icons/fitness.svg +11 -0
  253. package/assets/streets/icons/florist-dark.svg +11 -0
  254. package/assets/streets/icons/florist-monochrome-dark.svg +11 -0
  255. package/assets/streets/icons/florist-monochrome.svg +11 -0
  256. package/assets/streets/icons/florist.svg +11 -0
  257. package/assets/streets/icons/food-dark.svg +11 -0
  258. package/assets/streets/icons/food-monochrome-dark.svg +11 -0
  259. package/assets/streets/icons/food-monochrome.svg +11 -0
  260. package/assets/streets/icons/food.svg +4 -5
  261. package/assets/streets/icons/fuel-dark.svg +11 -0
  262. package/assets/streets/icons/fuel-monochrome-dark.svg +11 -0
  263. package/assets/streets/icons/fuel-monochrome.svg +11 -0
  264. package/assets/streets/icons/fuel.svg +11 -0
  265. package/assets/streets/icons/garden-dark.svg +11 -0
  266. package/assets/streets/icons/garden-monochrome-dark.svg +11 -0
  267. package/assets/streets/icons/garden-monochrome.svg +11 -0
  268. package/assets/streets/icons/garden.svg +11 -0
  269. package/assets/streets/icons/golf-dark.svg +11 -0
  270. package/assets/streets/icons/golf-monochrome-dark.svg +11 -0
  271. package/assets/streets/icons/golf-monochrome.svg +11 -0
  272. package/assets/streets/icons/golf.svg +11 -0
  273. package/assets/streets/icons/grocery-dark.svg +11 -0
  274. package/assets/streets/icons/grocery-monochrome-dark.svg +11 -0
  275. package/assets/streets/icons/grocery-monochrome.svg +11 -0
  276. package/assets/streets/icons/grocery.svg +11 -0
  277. package/assets/streets/icons/harbor-dark.svg +11 -0
  278. package/assets/streets/icons/harbor-monochrome-dark.svg +11 -0
  279. package/assets/streets/icons/harbor-monochrome.svg +11 -0
  280. package/assets/streets/icons/harbor.svg +11 -0
  281. package/assets/streets/icons/hardware-dark.svg +11 -0
  282. package/assets/streets/icons/hardware-monochrome-dark.svg +11 -0
  283. package/assets/streets/icons/hardware-monochrome.svg +11 -0
  284. package/assets/streets/icons/hardware.svg +11 -0
  285. package/assets/streets/icons/health-dark.svg +11 -0
  286. package/assets/streets/icons/health-monochrome-dark.svg +11 -0
  287. package/assets/streets/icons/health-monochrome.svg +11 -0
  288. package/assets/streets/icons/health.svg +4 -5
  289. package/assets/streets/icons/historic-dark.svg +11 -0
  290. package/assets/streets/icons/historic-monochrome-dark.svg +11 -0
  291. package/assets/streets/icons/historic-monochrome.svg +11 -0
  292. package/assets/streets/icons/historic.svg +11 -0
  293. package/assets/streets/icons/jewish-dark.svg +11 -0
  294. package/assets/streets/icons/jewish-monochrome-dark.svg +11 -0
  295. package/assets/streets/icons/jewish-monochrome.svg +11 -0
  296. package/assets/streets/icons/jewish.svg +11 -0
  297. package/assets/streets/icons/landmark-dark.svg +11 -0
  298. package/assets/streets/icons/landmark-monochrome-dark.svg +11 -0
  299. package/assets/streets/icons/landmark-monochrome.svg +11 -0
  300. package/assets/streets/icons/landmark.svg +11 -0
  301. package/assets/streets/icons/laundry-dark.svg +11 -0
  302. package/assets/streets/icons/laundry-monochrome-dark.svg +11 -0
  303. package/assets/streets/icons/laundry-monochrome.svg +11 -0
  304. package/assets/streets/icons/laundry.svg +11 -0
  305. package/assets/streets/icons/library-dark.svg +11 -0
  306. package/assets/streets/icons/library-monochrome-dark.svg +11 -0
  307. package/assets/streets/icons/library-monochrome.svg +11 -0
  308. package/assets/streets/icons/library.svg +11 -0
  309. package/assets/streets/icons/lodging-dark.svg +11 -0
  310. package/assets/streets/icons/lodging-monochrome-dark.svg +11 -0
  311. package/assets/streets/icons/lodging-monochrome.svg +11 -0
  312. package/assets/streets/icons/lodging.svg +3 -4
  313. package/assets/streets/icons/major-transit-dark.svg +11 -0
  314. package/assets/streets/icons/major-transit-monochrome-dark.svg +11 -0
  315. package/assets/streets/icons/major-transit-monochrome.svg +11 -0
  316. package/assets/streets/icons/major-transit.svg +4 -5
  317. package/assets/streets/icons/monument-dark.svg +11 -0
  318. package/assets/streets/icons/monument-monochrome-dark.svg +11 -0
  319. package/assets/streets/icons/monument-monochrome.svg +11 -0
  320. package/assets/streets/icons/monument.svg +11 -0
  321. package/assets/streets/icons/mountain-dark.svg +11 -0
  322. package/assets/streets/icons/mountain-monochrome-dark.svg +11 -0
  323. package/assets/streets/icons/mountain-monochrome.svg +11 -0
  324. package/assets/streets/icons/mountain.svg +11 -0
  325. package/assets/streets/icons/music-dark.svg +11 -0
  326. package/assets/streets/icons/music-monochrome-dark.svg +11 -0
  327. package/assets/streets/icons/music-monochrome.svg +11 -0
  328. package/assets/streets/icons/music.svg +11 -0
  329. package/assets/streets/icons/muslim-dark.svg +11 -0
  330. package/assets/streets/icons/muslim-monochrome-dark.svg +11 -0
  331. package/assets/streets/icons/muslim-monochrome.svg +11 -0
  332. package/assets/streets/icons/muslim.svg +11 -0
  333. package/assets/streets/icons/natural-dark.svg +11 -0
  334. package/assets/streets/icons/natural-monochrome-dark.svg +11 -0
  335. package/assets/streets/icons/natural-monochrome.svg +11 -0
  336. package/assets/streets/icons/natural.svg +11 -0
  337. package/assets/streets/icons/nature-dark.svg +11 -0
  338. package/assets/streets/icons/nature-monochrome-dark.svg +11 -0
  339. package/assets/streets/icons/nature-monochrome.svg +11 -0
  340. package/assets/streets/icons/nature.svg +11 -0
  341. package/assets/streets/icons/nightclub-dark.svg +11 -0
  342. package/assets/streets/icons/nightclub-monochrome-dark.svg +11 -0
  343. package/assets/streets/icons/nightclub-monochrome.svg +11 -0
  344. package/assets/streets/icons/nightclub.svg +11 -0
  345. package/assets/streets/icons/parking-dark.svg +11 -0
  346. package/assets/streets/icons/parking-garage-dark.svg +11 -0
  347. package/assets/streets/icons/parking-garage-monochrome-dark.svg +11 -0
  348. package/assets/streets/icons/parking-garage-monochrome.svg +11 -0
  349. package/assets/streets/icons/parking-garage.svg +11 -0
  350. package/assets/streets/icons/parking-monochrome-dark.svg +11 -0
  351. package/assets/streets/icons/parking-monochrome.svg +11 -0
  352. package/assets/streets/icons/parking.svg +3 -4
  353. package/assets/streets/icons/pharmacy-dark.svg +11 -0
  354. package/assets/streets/icons/pharmacy-monochrome-dark.svg +11 -0
  355. package/assets/streets/icons/pharmacy-monochrome.svg +11 -0
  356. package/assets/streets/icons/pharmacy.svg +11 -0
  357. package/assets/streets/icons/playground-dark.svg +11 -0
  358. package/assets/streets/icons/playground-monochrome-dark.svg +11 -0
  359. package/assets/streets/icons/playground-monochrome.svg +11 -0
  360. package/assets/streets/icons/playground.svg +11 -0
  361. package/assets/streets/icons/plaza-dark.svg +11 -0
  362. package/assets/streets/icons/plaza-monochrome-dark.svg +11 -0
  363. package/assets/streets/icons/plaza-monochrome.svg +11 -0
  364. package/assets/streets/icons/plaza.svg +11 -0
  365. package/assets/streets/icons/police-dark.svg +11 -0
  366. package/assets/streets/icons/police-monochrome-dark.svg +11 -0
  367. package/assets/streets/icons/police-monochrome.svg +11 -0
  368. package/assets/streets/icons/police.svg +11 -0
  369. package/assets/streets/icons/post-dark.svg +11 -0
  370. package/assets/streets/icons/post-monochrome-dark.svg +11 -0
  371. package/assets/streets/icons/post-monochrome.svg +11 -0
  372. package/assets/streets/icons/post.svg +11 -0
  373. package/assets/streets/icons/prison-dark.svg +11 -0
  374. package/assets/streets/icons/prison-monochrome-dark.svg +11 -0
  375. package/assets/streets/icons/prison-monochrome.svg +11 -0
  376. package/assets/streets/icons/prison.svg +11 -0
  377. package/assets/streets/icons/rail-dark.svg +11 -0
  378. package/assets/streets/icons/rail-light-dark.svg +11 -0
  379. package/assets/streets/icons/rail-light-monochrome-dark.svg +11 -0
  380. package/assets/streets/icons/rail-light-monochrome.svg +11 -0
  381. package/assets/streets/icons/rail-light.svg +11 -0
  382. package/assets/streets/icons/rail-monochrome-dark.svg +11 -0
  383. package/assets/streets/icons/rail-monochrome.svg +11 -0
  384. package/assets/streets/icons/rail.svg +11 -0
  385. package/assets/streets/icons/services-dark.svg +11 -0
  386. package/assets/streets/icons/services-monochrome-dark.svg +11 -0
  387. package/assets/streets/icons/services-monochrome.svg +11 -0
  388. package/assets/streets/icons/services.svg +4 -5
  389. package/assets/streets/icons/shopping-dark.svg +11 -0
  390. package/assets/streets/icons/shopping-monochrome-dark.svg +11 -0
  391. package/assets/streets/icons/shopping-monochrome.svg +11 -0
  392. package/assets/streets/icons/shopping.svg +4 -5
  393. package/assets/streets/icons/sidewalk-dot-dark.svg +1 -1
  394. package/assets/streets/icons/sidewalk-dot.svg +1 -1
  395. package/assets/streets/icons/sport-dark.svg +11 -0
  396. package/assets/streets/icons/sport-monochrome-dark.svg +11 -0
  397. package/assets/streets/icons/sport-monochrome.svg +11 -0
  398. package/assets/streets/icons/sport.svg +11 -0
  399. package/assets/streets/icons/stadium-dark.svg +11 -0
  400. package/assets/streets/icons/stadium-monochrome-dark.svg +11 -0
  401. package/assets/streets/icons/stadium-monochrome.svg +11 -0
  402. package/assets/streets/icons/stadium.svg +11 -0
  403. package/assets/streets/icons/street-art-dark.svg +11 -0
  404. package/assets/streets/icons/street-art-monochrome-dark.svg +11 -0
  405. package/assets/streets/icons/street-art-monochrome.svg +11 -0
  406. package/assets/streets/icons/street-art.svg +11 -0
  407. package/assets/streets/icons/streets-tree-columnar-dark.pattern.svg +108 -0
  408. package/assets/streets/icons/streets-tree-columnar.pattern.svg +108 -0
  409. package/assets/streets/icons/streets-tree-conifer-dark.pattern.svg +57 -0
  410. package/assets/streets/icons/streets-tree-conifer.pattern.svg +57 -0
  411. package/assets/streets/icons/streets-tree-open-dark.pattern.svg +108 -0
  412. package/assets/streets/icons/streets-tree-open.pattern.svg +108 -0
  413. package/assets/streets/icons/streets-tree-palm-fan-dark.pattern.svg +108 -0
  414. package/assets/streets/icons/streets-tree-palm-fan.pattern.svg +108 -0
  415. package/assets/streets/icons/streets-tree-palm-feather-dark.pattern.svg +305 -0
  416. package/assets/streets/icons/streets-tree-palm-feather.pattern.svg +305 -0
  417. package/assets/streets/icons/streets-tree-round-dark.pattern.svg +108 -0
  418. package/assets/streets/icons/streets-tree-round.pattern.svg +108 -0
  419. package/assets/streets/icons/streets-tree-tall-dark.pattern.svg +108 -0
  420. package/assets/streets/icons/streets-tree-tall.pattern.svg +108 -0
  421. package/assets/streets/icons/swimming-dark.svg +11 -0
  422. package/assets/streets/icons/swimming-monochrome-dark.svg +11 -0
  423. package/assets/streets/icons/swimming-monochrome.svg +11 -0
  424. package/assets/streets/icons/swimming.svg +11 -0
  425. package/assets/streets/icons/theatre-dark.svg +11 -0
  426. package/assets/streets/icons/theatre-monochrome-dark.svg +11 -0
  427. package/assets/streets/icons/theatre-monochrome.svg +11 -0
  428. package/assets/streets/icons/theatre.svg +11 -0
  429. package/assets/streets/icons/toilet-dark.svg +11 -0
  430. package/assets/streets/icons/toilet-monochrome-dark.svg +11 -0
  431. package/assets/streets/icons/toilet-monochrome.svg +11 -0
  432. package/assets/streets/icons/toilet.svg +11 -0
  433. package/assets/streets/icons/town-hall-dark.svg +11 -0
  434. package/assets/streets/icons/town-hall-monochrome-dark.svg +11 -0
  435. package/assets/streets/icons/town-hall-monochrome.svg +11 -0
  436. package/assets/streets/icons/town-hall.svg +11 -0
  437. package/assets/streets/icons/viewpoint-dark.svg +11 -0
  438. package/assets/streets/icons/viewpoint-monochrome-dark.svg +11 -0
  439. package/assets/streets/icons/viewpoint-monochrome.svg +11 -0
  440. package/assets/streets/icons/viewpoint.svg +11 -0
  441. package/assets/streets/icons/waterfall-dark.svg +11 -0
  442. package/assets/streets/icons/waterfall-monochrome-dark.svg +11 -0
  443. package/assets/streets/icons/waterfall-monochrome.svg +11 -0
  444. package/assets/streets/icons/waterfall.svg +11 -0
  445. package/assets/streets/icons/worship-dark.svg +11 -0
  446. package/assets/streets/icons/worship-monochrome-dark.svg +11 -0
  447. package/assets/streets/icons/worship-monochrome.svg +11 -0
  448. package/assets/streets/icons/worship.svg +11 -0
  449. package/assets/streets/icons/zoo-dark.svg +11 -0
  450. package/assets/streets/icons/zoo-monochrome-dark.svg +11 -0
  451. package/assets/streets/icons/zoo-monochrome.svg +11 -0
  452. package/assets/streets/icons/zoo.svg +11 -0
  453. package/assets/streets/models/streets-tree-columnar.far.glb +0 -0
  454. package/assets/streets/models/streets-tree-columnar.glb +0 -0
  455. package/assets/streets/models/streets-tree-conifer.far.glb +0 -0
  456. package/assets/streets/models/streets-tree-conifer.glb +0 -0
  457. package/assets/streets/models/streets-tree-open.far.glb +0 -0
  458. package/assets/streets/models/streets-tree-open.glb +0 -0
  459. package/assets/streets/models/streets-tree-palm-fan.far.glb +0 -0
  460. package/assets/streets/models/streets-tree-palm-fan.glb +0 -0
  461. package/assets/streets/models/streets-tree-palm-feather.far.glb +0 -0
  462. package/assets/streets/models/streets-tree-palm-feather.glb +0 -0
  463. package/assets/streets/models/streets-tree-round.far.glb +0 -0
  464. package/assets/streets/models/streets-tree-round.glb +0 -0
  465. package/assets/streets/models/streets-tree-tall.far.glb +0 -0
  466. package/assets/streets/models/streets-tree-tall.glb +0 -0
  467. package/dist/index.d.ts +527 -262
  468. package/dist/index.js +12511 -11511
  469. package/docs/design-and-assets.md +216 -0
  470. package/docs/map-1777.md +91 -0
  471. package/package.json +11 -14
  472. package/GENERATED_OUTPUT_LICENSE.md +0 -21
  473. package/NOTICE +0 -9
  474. package/TRADEMARKS.md +0 -10
  475. package/assets/cyberpunk/fonts/Oxanium-Medium.ttf +0 -0
  476. package/assets/cyberpunk/fonts/Oxanium-SemiBold.ttf +0 -0
  477. package/assets/cyberpunk/fonts/README.md +0 -22
  478. package/assets/cyberpunk/icons/cyber-circuit.pattern.svg +0 -10
  479. package/assets/cyberpunk/icons/cyber-data-grid.pattern.svg +0 -11
  480. package/assets/cyberpunk/icons/cyber-target-brackets.svg +0 -15
  481. package/assets/ferraris/icons/ferraris-crop-hatch.pattern.svg +0 -10
  482. package/assets/ferraris/icons/ferraris-heath.pattern.svg +0 -10
  483. package/assets/ferraris/icons/ferraris-orchard.pattern.svg +0 -20
  484. package/assets/ferraris/icons/ferraris-residential.pattern.svg +0 -13
  485. package/assets/ferraris/icons/ferraris-water-ripples.pattern.svg +0 -12
  486. package/assets/ferraris/icons/ferraris-wetland.pattern.svg +0 -9
  487. package/assets/ferraris/icons/ferraris-woodland.pattern.svg +0 -21
  488. package/assets/harad/README.md +0 -31
  489. package/assets/harad/icons/harad-arable.pattern.svg +0 -10
  490. package/assets/harad/icons/harad-conifer.pattern.svg +0 -22
  491. package/assets/harad/icons/harad-deciduous.pattern.svg +0 -16
  492. package/assets/harad/icons/harad-orchard.pattern.svg +0 -17
  493. package/assets/harad/icons/harad-paper-grain.pattern.svg +0 -20
  494. package/assets/harad/icons/harad-sand.pattern.svg +0 -21
  495. package/assets/harad/icons/harad-settlement.pattern.svg +0 -12
  496. package/assets/harad/icons/harad-water-lines.pattern.svg +0 -7
  497. package/assets/harad/icons/harad-wetland.pattern.svg +0 -14
  498. package/assets/matrix/fonts/Oxanium-Medium.ttf +0 -0
  499. package/assets/matrix/fonts/Oxanium-SemiBold.ttf +0 -0
  500. package/assets/matrix/fonts/README.md +0 -22
  501. package/assets/matrix/icons/matrix-crt-scanlines.pattern.svg +0 -13
  502. package/assets/matrix/icons/matrix-data-grid.pattern.svg +0 -11
  503. package/assets/matrix/icons/matrix-poi-node.svg +0 -10
  504. package/assets/verdant/icons/coffee.svg +0 -9
  505. package/assets/verdant/icons/crosswalk.svg +0 -10
  506. package/assets/verdant/icons/culture.svg +0 -7
  507. package/assets/verdant/icons/education.svg +0 -6
  508. package/assets/verdant/icons/food.svg +0 -6
  509. package/assets/verdant/icons/health.svg +0 -6
  510. package/assets/verdant/icons/lodging.svg +0 -6
  511. package/assets/verdant/icons/major-transit.svg +0 -7
  512. package/assets/verdant/icons/services.svg +0 -6
  513. package/assets/verdant/icons/shopping.svg +0 -6
  514. package/assets/verdant/icons/verdant-field-hatch.pattern.svg +0 -13
  515. package/assets/verdant/icons/verdant-forest-canopy.pattern.svg +0 -14
  516. package/assets/verdant/icons/verdant-heath-tufts.pattern.svg +0 -9
  517. package/assets/verdant/icons/verdant-meadow-tufts.pattern.svg +0 -8
  518. package/assets/verdant/icons/verdant-orchard.pattern.svg +0 -11
  519. package/assets/verdant/icons/verdant-paper-fiber.pattern.svg +0 -11
  520. package/assets/verdant/icons/verdant-residential-hatch.pattern.svg +0 -8
  521. package/assets/verdant/icons/verdant-scree.pattern.svg +0 -10
  522. package/assets/verdant/icons/verdant-water-lines.pattern.svg +0 -7
  523. package/assets/verdant/icons/verdant-wetland-reeds.pattern.svg +0 -8
  524. /package/assets/{ferraris/icons/ferraris-sand.pattern.svg → map-1777/icons/map-1777-sand.pattern.svg} +0 -0
package/README.md CHANGED
@@ -1,175 +1,334 @@
1
- # `@tileflow/maps`
1
+ # @tileflow/maps
2
2
 
3
- Official Tileflow maps and the assets they own.
3
+ Official Tileflow maps with their icon, pattern, and font assets. Extend a map with
4
+ `@tileflow/core`; render its prepared output with a framework adapter or MapLibre.
5
+
6
+ > Related packages and guides: [documentation index](https://raw.githubusercontent.com/tileflow/tileflow-sdk/main/llms.txt).
7
+
8
+ ## Install
9
+
10
+ ```sh
11
+ npm install @tileflow/maps@alpha @tileflow/core@alpha
12
+ ```
13
+
14
+ Core is a peer dependency: it owns the map language and compiler. This package owns map definitions
15
+ and assets. It does not include a tile archive, a browser renderer, or a hosted service subscription.
16
+
17
+ ## Use an official map
18
+
19
+ Create `tileflow.config.ts`:
20
+
21
+ <!-- docs:check -->
4
22
 
5
23
  ```ts
6
24
  import {defineMap} from '@tileflow/core';
7
25
  import {streets} from '@tileflow/maps';
8
26
 
9
27
  export default defineMap({
10
- id: 'main',
28
+ id: 'madrid',
29
+ name: 'Madrid',
11
30
  version: 1,
12
31
  extends: streets,
13
32
  defaultTheme: 'dark',
33
+ view: {center: [-3.7038, 40.4168], zoom: 12},
14
34
  });
15
35
  ```
16
36
 
17
- This still inherits both Streets themes; it changes only which concrete theme is selected by
18
- default.
37
+ This inherits Streets' themes and changes only the default selection and initial view.
38
+ Coordinates are `[longitude, latitude]`. To preview it:
39
+
40
+ ```sh
41
+ npm install --save-dev --save-exact tileflow@alpha
42
+ npx tileflow validate
43
+ npx tileflow preview
44
+ ```
45
+
46
+ Rendering can request remote tiles, glyphs, or terrain. Installing the package does not make those
47
+ resources available offline.
48
+
49
+ ### Develop Streets in an SDK checkout
50
+
51
+ After installing and building this workspace, run from its root:
52
+
53
+ ```sh
54
+ node packages/cli/dist/index.js preview --config packages/maps/tileflow.config.ts
55
+ ```
56
+
57
+ Open `http://127.0.0.1:3333`. Source edits reload in Map DevTools without publishing.
58
+ Add `--scene nyc` for New York or `--against-theme dark --map streets-workbench` to compare themes.
59
+ The CLI owns the interface; compiler and runtime changes require rebuilding those packages.
60
+
61
+ ## Choose a map
62
+
63
+ - `streets`: contemporary street cartography with Mapbox-inspired time-of-day and color themes,
64
+ ranked POIs, 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)](docs/map-1777.md): 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
+ - `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.
72
+
73
+ Every official map is a complete, independent root using the same Core compiler. Official map
74
+ objects are deeply frozen shared instances. Do not mutate them; use `defineMap({extends: ...})`
75
+ to create an application-owned map.
19
76
 
20
- Every export is an ordinary Tileflow map and a complete first-party compiler root. No official map
21
- imports or extends another official map; each declares its data, modules, effects, themes, and asset
22
- providers directly. Applications can still use the public `extends` contract to derive their own
23
- maps from any official root. Streets and Siegfried each contain structurally identical `light` and
24
- `dark` appearances.
77
+ ### Streets appearance
25
78
 
26
- The official map objects are deeply frozen package singletons so one consumer cannot mutate
27
- the definition seen by another. This does not change Core authoring: `defineMap(...)` still returns
28
- the application-owned object without freezing it, and an application extends an official map by
29
- declaring its own modules or other atomic overrides.
79
+ Streets follows the visual direction of [Mapbox Standard](https://docs.mapbox.com/playground/standard-style/)
80
+ (twelve theme/time combinations), calibrated on 2026-10-18. DevTools offers **Default**, **Faded**, and
81
+ **Monochrome** in its Theme control, independently of the Time of day control's `day`, `dawn`,
82
+ `dusk`, and `night` presets. Each of the twelve combinations selects a complete theme, including
83
+ its map colors and artwork. Default retains the configuration key `light` for compatibility:
84
+ `theme="light" timeOfDay="night"` selects `dark`, while `theme="light" timeOfDay="day"`
85
+ selects `light`. The other concrete themes are `dawn`, `dusk`, `faded`, `monochrome`,
86
+ `dawn-faded`, `dawn-monochrome`, `dusk-faded`, `dusk-monochrome`, `dark-faded`, and
87
+ `dark-monochrome`. Dawn and day use light artwork; dusk and night use dark artwork. Time presets
88
+ adjust authored map colors; selecting one does not apply a global lighting tint to the flat map.
89
+ Ground, water, vegetation, roads, zoning, labels and halos use independently evaluated colors
90
+ from Standard's 2026-10-08 style, including each material's theme LUT, lighting, emission and
91
+ transparency. Ground colors are checked against sRGB framebuffer samples from Mapbox GL JS
92
+ 3.28.1 across all twelve combinations; footprints and 3D roofs use separate GPU measurements.
93
+ Water retains its own material and zoom 5–7 / 13–14 transitions; it no longer inherits a
94
+ swimming pool's color offset. Background emission changes between zoom 13 and 14. These values
95
+ are baked into theme tokens, so they add no lighting or LUT work per frame.
96
+ Scene-sun lighting preserves unshadowed roof paint while allowing light color to affect walls.
97
+ The underlying tile data and rendering pipeline differ, so these are close palette matches rather
98
+ than a pixel-identical copy. Streets' own semantic design retains slate-blue
99
+ roads, uppercase road names, warm building footprints, green parks, and compact category-colored
100
+ POI discs. Dark mode uses pale discs with dark pictograms. Pictograms adapted from Maki follow
101
+ World's transport mode and POI type: metro, rail, tram, bus, ferry, cable-car, and airport stations
102
+ are distinct, as are bars, cafés, museums, galleries, car dealers, and places of worship by
103
+ religion.
104
+
105
+ The reference uses DIN Pro Medium for POIs, roads, major settlements, and districts.
106
+ Streets uses hosted Noto Sans Regular for these roles: Noto Sans Bold makes their strokes and
107
+ word widths too heavy at the reference's sizes. Bold is reserved for administrative regions and
108
+ road shields; water labels keep Italic. This is a visual approximation, not a bundled DIN face.
109
+ POI discs use vivid category colors, 20px containers, and fixed native icon scale at every zoom.
110
+ Maki's 15px artwork is composed into a centered 12px box, leaving room inside the 17px colored
111
+ interior. Their 1x and 2x atlases rasterize these SVG compositions separately; the map displays
112
+ each complete icon at native scale instead of rescaling the bitmap as the zoom changes.
113
+
114
+ The light surface palette is compared with lossless captures of Standard with 3D buildings and
115
+ trees disabled. Parks use a stronger green with lighter lawns and meadows drawn above them;
116
+ flat buildings use a neutral cream. City roads keep the same slate-blue family through the
117
+ z14–z15 transition, with blue borders and translucent tunnels. Road widths retain their hierarchy.
118
+ Road carriageways follow the reference's exponential zoom curves (base 1.5), including
119
+ fractional zooms. Motorways and trunks start at z3, primary roads at z6, secondary and tertiary
120
+ roads at z8, streets and links at z12, and service roads at z15. Surface casings begin at z15
121
+ (z16 for service roads and tracks); they grow from a fine edge independently of the matching
122
+ carriageway gap. This keeps regional views light while preserving detail at street zooms.
123
+ Motorway and trunk links retain their class colors and narrower widths. On the surface and on
124
+ bridges, their fills draw before the receiving carriageways so overlapping round endpoints do
125
+ not leave a contrasting patch over a junction. Tunnels keep their separate treatment.
126
+ Surface and bridge casings are continuous; tunnel casings are dashed. Construction carriageway
127
+ fills and marks draw below roads in service, including motorway ramps.
128
+ Borders use Standard's 2026-10-08 style, theme LUTs and unshadowed ground lighting, without
129
+ carriageway emissive lift. HD-road borders match across classes, bridges, tunnels and roundabouts
130
+ from z15; lower-zoom tunnels retain class colors. Paths keep separate emission. Streets uses the reference border colors without an additional darkening multiplier. These baked
131
+ 2D colors exclude fog and Standard's full lighting pipeline.
132
+ Surface caps become round at z14; tunnels retain butt caps and bridges use round fills.
133
+ The road regression checks every quarter zoom from 0 through 24 and both sides of the handoffs.
134
+ Crosswalks and one-way arrows fade in from z16.5 so city-scale roads retain their surface color.
135
+ From z13, pedestrian plazas use an opaque pale surface above commercial zoning and below
136
+ explicit grass, gardens and parks. The `roads.pedestrian.surface` token follows the ground's
137
+ theme and time of day. From z17, mapped sidewalks add a translucent tint and dot pattern through
138
+ `roads.sidewalk.surface`, preserving the underlying ground color.
139
+ Mapped parking polygons use an opaque neutral fill above overlapping vegetation and below
140
+ roads. This requires a `landuse` polygon classified as `parking`; parking POIs and aisle lines
141
+ alone do not provide the boundary needed to fill the surface.
142
+ Hedges (from z15, shaded from z17), fences and walls (from z16) come from `traffic_control`.
143
+
144
+ Ferry routes fade in from z8, use fine blue dashes from z13, and show uppercase route names
145
+ along the line from z15 when the data includes them. Their labels use a water-colored halo.
146
+
147
+ Regional hillshade uses [Mapzen Terrain Tiles on AWS](https://registry.opendata.aws/terrain-tiles/)
148
+ from z5 through z13, with source attribution. The 256-pixel Terrarium source is capped at native z12;
149
+ closer views reuse that resolution, avoiding requests for coverage-dependent high-resolution DEM tiles. This is an additional remote data request. To omit
150
+ it, set `terrain: 'none'` in a map extending `streets`. Hillshade does not change road geometry or
151
+ raise the terrain. Buildings appear automatically from zoom 15 with an opacity fade through 15.25;
152
+ the preview's **3D** control can hide them, and its **Trees** control enables vegetation.
153
+ Road shields and exit references use 10 px text. Category text and halos follow the reference's
154
+ emission and palette without a separate contrast recoloring step; marker artwork retains its
155
+ own colors.
156
+ 3D lights use Standard's effective theme presets, retrieved on 2026-10-18: southern sun by day,
157
+ southeast at dawn, southwest at dusk and western moonlight at night. Monochrome has distinct
158
+ directions and strengths. Tileflow holds zoom 14+ values; Standard varies intensity below z14.
159
+ Shading differs; `controller.setSun({date, location})` uses the real sun instead of presets.
160
+ The buildings' `threeDimensional.lighting` and `shadows` options control the effect, and each
161
+ theme's `lighting.sun.shadowIntensity` and `lighting.ambient` control its strength.
162
+ Street lights are opt-in: set `roads.streetLights.enabled: true`.
163
+ Core's 3D renderer
164
+ adds a soft ten-percent shade at the foot of the facades, fading within the lowest three metres
165
+ (less on low buildings). Exterior corners have a 0.8 m radius and the roof/wall junction has a narrow
166
+ lighting transition; roofs keep their authored colour. Streets enables soft three-metre contact
167
+ shadows without dark overlaps; `buildings.threeDimensional.occlusion: false` disables them.
168
+ Core replaces the extrusion fallback's blurred bands, styled by `buildings.contactShadow`.
169
+ Streets selects Core's `labels.roadPlacement: 'ground'`: street names follow the road plane below
170
+ buildings; POIs, transit names and shields remain above. Disabling roads omits their names.
171
+ Road rings, ramp and surface ordering use [Core's replaceable defaults](../core/docs/cartographic-defaults.md).
172
+ Streets owns its colors, widths, typography and optional time-of-day themes.
173
+ Browser atmosphere is separately enabled with `atmosphere: true` on a globe map; the base definition
174
+ also remains usable with Mercator and native targets.
175
+
176
+ Streets enables model trees by default (`mode: '3d'`, `fallback: 'none'`). They stay three-dimensional
177
+ in overhead and tilted interactive browser views. Disabling vegetation removes all trees. Renderers
178
+ without model support omit them. Extensions can opt into the included flat crown artwork with
179
+ `vegetation: refine({mode: 'flat'})`, or switch it with explicit view mode using `mode: 'auto'`.
180
+ Seven original forms cover rounded, spreading and upright broadleaf trees, conifers, columns,
181
+ feather palms and fan palms. Their light/dark crown images come from the same geometry as the
182
+ models. Broadleaf trees have flared trunks, visible forks and separated crown clusters, with
183
+ both compact and open silhouettes. This artwork does not change the map's lighting.
184
+
185
+ All twelve presets independently style bark and crowns from tilted Standard samples, preserving
186
+ geometry. Mesh and lighting differences prevent identical pixels.
187
+
188
+ The models have 120–386 triangles nearby and 44–96 at distance. They reuse Core's instanced tree
189
+ renderer; flat crowns use the existing sprite atlas. Tree locations and attributes still come
190
+ from the source tiles. The artwork does not add trees to parks whose data has none. See
191
+ [3D trees](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/trees-3d.md) for
192
+ browser rendering and platform support. To remove both representations, extend the map:
193
+
194
+ <!-- docs:check -->
30
195
 
31
196
  ```ts
32
- import {
33
- cyberpunk,
34
- cyberpunkFonts,
35
- cyberpunkIcons,
36
- ferraris,
37
- ferrarisIcons,
38
- harad,
39
- haradIcons,
40
- matrix,
41
- matrixFonts,
42
- matrixIcons,
43
- siegfried,
44
- siegfriedFonts,
45
- siegfriedIcons,
46
- siegfriedThemes,
47
- soundings,
48
- soundingsIcons,
49
- streets,
50
- streetsIcons,
51
- streetsThemes,
52
- verdant,
53
- verdantIcons,
54
- } from '@tileflow/maps';
197
+ import {defineMap, disable} from '@tileflow/core';
198
+ import {streets} from '@tileflow/maps';
199
+
200
+ export default defineMap({
201
+ id: 'streets-without-trees',
202
+ version: 1,
203
+ extends: streets,
204
+ modules: {vegetation: disable()},
205
+ });
55
206
  ```
56
207
 
57
- `ferraris` is a self-contained printed-atlas design. It uses Core's semantic Streets compiler, but
58
- it does not import or extend the `streets` map and it does not inherit Streets assets. It declares
59
- only `[ferrarisIcons]`, which contains nine original seamless SVG patterns for paper, cultivated
60
- land, vegetation, settlements, sand, wetlands, and water. Applications can import it directly or
61
- extend it like any other root.
62
-
63
- `harad` is a self-contained historical green-map design named “Härad”. It uses Core's semantic
64
- Streets compiler ABI without importing or extending the `streets` map or reusing any Streets asset.
65
- It declares only `[haradIcons]`, whose nine original Tileflow SVG patterns describe arable land,
66
- coniferous and deciduous woodland, orchards, paper grain, sand, settlements, water lines, and
67
- wetlands. The visual grammar is inspired by Lantmäteriet's CC0 Häradsekonomiska kartan series
68
- (1859–1934) and official legend. The package redistributes no Lantmäteriet scan, source pixel, legend
69
- artwork, font, or map data; the shipped style and SVG patterns are original Tileflow work.
70
-
71
- `soundings` is a self-contained bathymetric-chart design with ivory land, thirteen-stop
72
- depth-graded water, labelled band edges, continuous colour relief, multidirectional seabed shading,
73
- port context, named ferry routes, and restrained technical magenta. Its initial camera faces the
74
- Strait of Gibraltar, allowing an Iberian GEBCO pilot to exercise both Atlantic and Mediterranean
75
- relief. It selects the public semantic compiler contract without importing or extending `streets`
76
- and explicitly composes World with `bathymetry({display: 'hybrid'})` while setting Nautical to
77
- `false`.
78
-
79
- Vector bands come from `tileflow-bathymetry`; continuous colour relief and hillshade come from
80
- `tileflow-bathymetry-dem`. The stronger DEM treatment is balanced against the vector wash and depth
81
- labels rather than against experimental navigation symbols. Dashed outlines remain an honest
82
- fallback traced from broad GEBCO band polygons until native contour geometry is released. Labels
83
- show the absolute `min_depth` value, not an inferred range or vessel-specific safety contour.
84
- Harbours and ferries are ordinary World context. Experimental `nautical-v1` tiles, aids, lights,
85
- soundings, hazards, reefs, and wrecks are deliberately absent from the official map and remain
86
- available only to explicitly configured laboratory maps. Soundings is reference cartography and is
87
- not a navigation product.
88
-
89
- `siegfried` is a self-contained terrain atlas based on the visual grammar documented for
90
- swisstopo's nineteenth-century Siegfried Map. It does not import or extend `streets`. The default
91
- `light` theme preserves black, brown, blue, and an ivory paper substrate; browser-derived contours
92
- replace modern hillshade and retain the 30-metre Alpine cadence at detailed zooms. Rock and scree
93
- are re-engraved in key ink after the contour deck, while dedicated SVG motifs distinguish forest,
94
- glacier, wetland, gravel, orchard, and water. Its coordinated `dark` theme is explicitly a nocturnal
95
- engraver's proof, not a historical facsimile: it keeps identical geometry and semantic ink roles on
96
- charcoal paper. `[siegfriedIcons]` owns nine light and nine dark pattern variants,
97
- `[siegfriedFonts]` owns the locally packaged Cormorant Garamond Regular, SemiBold, and Italic faces,
98
- and `[siegfriedThemes]` exposes the two complete visual vocabularies for safe derivation.
99
-
100
- `verdant` is a self-contained contemporary field-atlas design. It combines a park-map information
101
- hierarchy with a cool mineral substrate, clean blue hydrography, graphite buildings, and a
102
- trail-forward accent; its original botanical textures appear only where detailed zooms make them
103
- useful. It uses the same semantic compiler contract without importing or extending `streets`,
104
- declares its own Noto Sans glyph provider, and owns its complete icon and pattern set through
105
- `[verdantIcons]`.
106
-
107
- `cyberpunk` is a self-contained dark HUD root. Its road hierarchy, building signals, destination
108
- beacons, planar effects, semantic theme, World data selection, `[cyberpunkIcons]`, and
109
- `[cyberpunkFonts]` are all declared directly; it does not import or extend `streets`.
110
-
111
- `matrix` is a self-contained monochrome green-screen root. It explicitly owns its sparse HUD
112
- geometry, reviewed phosphor-green ramp, modules, effects, theme, and Matrix-prefixed layer IDs. It
113
- omits a bright road centerline and building circuit texture, and uses compact square destination
114
- nodes through `[matrixIcons]`. A translucent scanline and dot pattern masks the cartographic
115
- linework so bright strokes break into the phosphor rows of an old CRT without baking that texture
116
- into the map data; text layers render afterwards and stay crisp. `[matrixFonts]` owns Matrix's
117
- packaged Oxanium faces for uppercase labels, independently of Cyberpunk's font provider.
118
-
119
- `streetsThemes.light` and `streetsThemes.dark` are complete appearance documents consumed by the
120
- same Streets module recipe. Selecting `dark` changes colors, typography roles, image roles, and
121
- lighting without changing a source, filter, layer order, zoom gate, collision rule, or module. Both
122
- sidewalk patterns live in the shared `[streetsIcons]` atlas and the selected theme resolves the
123
- semantic `roads.sidewalkPattern` image token to the correct asset.
124
-
125
- Streets uses one ranked destination hierarchy in both themes. Major transit and cultural anchors
126
- appear first; lodging, health, education, services, shopping, food, coffee, and parking enter
127
- progressively as the camera approaches street level. Each visible destination is one collision
128
- unit made from a colored circular pictogram and an optional neutral name, so the marker remains
129
- useful when the label cannot fit. Portal-number labels are intentionally disabled. The ten POI
130
- pictograms are adapted from the pinned CC0 Maki subset documented in
131
- `THIRD_PARTY_NOTICES.md`; their containers, colors, sizing, and composition are Tileflow-authored.
132
-
133
- Road references use a compact Tileflow-owned family of generic rectangular and circular shields.
134
- The data's normalized `shield_kind` selects neutral, blue, green, red, orange, yellow, or circular
135
- artwork; `shield_text_color` independently selects the light or dark theme token. Unknown and
136
- unsupported networks fall back to the neutral rectangle with dark text instead of guessing a
137
- country from the spelling of `ref`. Both themes retain the same signaling colors.
138
-
139
- Streets has separate shield phases for scale, not separate hand-authored network layers. Overview
140
- uses pre-deduplicated point candidates; detail switches to repeated line placement. Both the fitted
141
- plate and its complete route reference are viewport-aligned, so shields remain horizontal as the
142
- map rotates or pitches. The rectangular base plate is 20 by 14 pixels with a one-pixel outline;
143
- the circular neutral base is 14 by 14. Both use 9-pixel bold text and a small width-only fit
144
- allowance. Streets limits shields to the motorway-through-tertiary hierarchy; collision padding
145
- and the overview candidate schedule keep regional views legible while preserving useful repetition
146
- at street scale.
147
-
148
- The two palettes are Tileflow-owned, deterministic snapshots calibrated from rendered Mapbox
149
- Standard `default/day` and `default/night` references on 2026-08-27. They do not import Mapbox style
150
- JSON, rules, assets, or runtime dependencies. Public roles such as `surface.background`,
151
- `landuse.industrial`, `landuse.medical`, `labels.settlement`, `labels.neighborhood`, and
152
- `labels.road` remain independently wired; `hydro.ocean` also separates Standard Night's deep sea
153
- from urban and inland water. An agent can alter one cartographic intent without
154
- knowing or perturbing the physical layer topology. Because Standard is evergreen, later parity work
155
- must be an explicit dated recalibration rather than an implicit network-dependent change.
156
-
157
- At detailed zooms, the road-bearing official maps round-cap ordinary surface-road and bridge
158
- feature endpoints so adjacent vector segments overlap their antialiasing fringe instead of exposing
159
- hairline cuts. Tunnel portals retain butt caps; Streets, Cyberpunk, and Matrix also keep butt caps on
160
- steps and approaches carrying circular-road clearance so those structural ends do not protrude into
161
- the connected geometry. Streets pairs its blue/slate road decks with a darker casing that grows from
162
- 1 px at z15 to 2 px at z22; tunnel casings use the compact dashed rhythm of the calibrated reference.
163
-
164
- A theme is not a loose override cascade. Module styles explicitly reference roles such as
165
- `roads.motorway`, `labels.road`, and `hydro.water`; the selected complete theme resolves those
166
- references before MapLibre output is generated. Use `defaultTheme` for a deterministic default and
167
- `systemThemes` plus the runtime `theme="system"` selection when the browser should follow the OS.
168
-
169
- The directory descriptors point into this installed package. A map inherits its parent's icon or
170
- font list when the property is omitted. Declaring a list replaces the inherited list, a later
171
- directory wins for an exact duplicate ID, and `[]` selects no directories.
172
-
173
- `@tileflow/maps` has a peer dependency on `@tileflow/core`. Core owns the map language and compiler;
174
- this package owns the official map definitions, icon and pattern sources, Cyberpunk, Matrix, and
175
- Siegfried fonts, and their notices. Core never depends on this package.
208
+ POI categories use World eligibility and ranks at one density and are placed in one importance
209
+ order, so a category never displaces a more important place of another category. World's two most
210
+ important ranks are placed before street and place names. Each disc needs its name; parking and
211
+ toilets appear as a disc alone, and other unnamed POIs are omitted.
212
+ Ordinary POI and transit names use 13 px lettering, with 18 px for the highest-priority destinations.
213
+ World's size ranks differ from the reference, so a small park with size rank zero does not become
214
+ a large destination label by that value alone. Text padding falls from 6 px to 4 px between z16
215
+ and z17, and collision determines which names fit.
216
+
217
+ City labels hand over at z15, smaller settlements at z13, and districts at z15. Co-located city
218
+ candidates share one anchor to prevent duplicate names at world scale. Districts retain an overview
219
+ rank gate below z12; from z12 onward, source availability and collisions control their appearance
220
+ because World ranks can change between tile zooms. Street names use 0.15 em letter spacing and
221
+ a 1 px halo; administrative regions use bold lettering and water names use italic lettering.
222
+ House numbers appear from z17 with wide collision padding. Local-language labels remain the default.
223
+
224
+ The map uses Tileflow data and assets, including hosted Noto Sans Regular, Bold, and Italic. The
225
+ reference's DIN Pro Medium is not part of that glyph provider, so font shapes and stroke weight
226
+ remain an approximation. Available POIs, abbreviated names,
227
+ proprietary landmark models, transit branding, and building detail can differ from the reference.
228
+ See [map design and asset provenance](https://github.com/tileflow/tileflow-sdk/blob/main/packages/maps/docs/design-and-assets.md).
229
+
230
+ ### Blueprint naming
231
+
232
+ Use `blueprint` and `blueprintIcons` for the architectural drawing map. Its map ID and
233
+ asset directory are `blueprint`, its theme key is `blueprint`, its theme ID is `blueprint-dark`,
234
+ and its grid artwork ID is `blueprint-grid`.
235
+
236
+ <!-- docs:check -->
237
+
238
+ ```ts
239
+ import {defineMap} from '@tileflow/core';
240
+ import {blueprint} from '@tileflow/maps';
241
+
242
+ export default defineMap({
243
+ id: 'city-plan',
244
+ version: 1,
245
+ extends: blueprint,
246
+ view: {center: [-3.7038, 40.4168], zoom: 14},
247
+ });
248
+ ```
249
+
250
+ ### Community maps
251
+
252
+ Cyberpunk, Terminal, and Super Tile World are maintained in
253
+ [Tileflow Community Maps](https://github.com/tileflow/community-maps), with editable source,
254
+ assets, previews, and contribution instructions. They are not part of this package.
255
+ The GitHub-distributed `@tileflow/community-maps` package exports `cyberpunk`, `terminal`, and
256
+ `superTileWorld`, plus each map's font and icon descriptors. Install an exact Git commit using
257
+ the instructions and compatible Core version in that repository.
258
+
259
+ Soundings is not a navigation product. Its depth-band edges are approximate reference geometry,
260
+ not surveyed isolines or vessel-specific safety contours. Experimental nautical aids and hazards
261
+ are not enabled by that official map.
262
+
263
+ ## Themes and assets
264
+
265
+ `streetsThemes` and `siegfriedThemes` expose complete `light` and `dark` themes. Import those
266
+ collections when using `defineTheme()` to derive a new appearance. A declared `themes` collection
267
+ replaces the inherited collection, so also declare the intended `defaultTheme` and `systemThemes`
268
+ and optional `timeOfDay` mappings. `system` belongs to browser selection; captures and builds use concrete theme names.
269
+
270
+ Every map exports an icon-directory descriptor: `streetsIcons`, `baedekerIcons`, `civicaIcons`,
271
+ `map1777Icons`, `siegfriedIcons`, `soundingsIcons`, and `blueprintIcons`. The descriptors point into this installed package; they are not sprite URLs.
272
+ The CLI and build integrations compile the selected directories into runtime assets.
273
+
274
+ Baedeker, 1777 and Siegfried export `baedekerFonts`, `map1777Fonts` and `siegfriedFonts` for
275
+ their packaged Cormorant Garamond faces.
276
+ Cívica exports `civicaFonts` for DM Serif Text, Barlow Semi Condensed, and Noto Sans fallback.
277
+ Streets, Soundings, and Blueprint declare Noto Sans URL glyph providers
278
+ from one immutable Hosted base-asset set, versioned independently of World data.
279
+
280
+ Omitting `icons` inherits the parent's directory list. Declaring a list replaces it; `[]` removes
281
+ all icon directories. Compose explicitly when adding application icons:
282
+
283
+ <!-- docs:check -->
284
+
285
+ ```ts
286
+ import {defineMap} from '@tileflow/core';
287
+ import {streets, streetsIcons} from '@tileflow/maps';
288
+
289
+ export default defineMap({
290
+ id: 'store-locator',
291
+ version: 1,
292
+ extends: streets,
293
+ icons: [streetsIcons, './icons'],
294
+ });
295
+ ```
296
+
297
+ Create `icons/` beside the config and add supported image files before building. Later directories
298
+ replace earlier files with the same exact icon ID. Fonts follow the same ordered-directory model;
299
+ `fonts` and `glyphs` are mutually exclusive providers.
300
+
301
+ ## Delivery and attribution
302
+
303
+ Use the CLI or a build integration to prepare a map's complete asset set. Copying Style JSON alone
304
+ can leave missing sprites, font files, or browser protocols. Keep the generated manifest and its
305
+ referenced files together.
306
+
307
+ Hosted deployment currently requires Tileflow World and rejects local/package font bundles before
308
+ uploading a style. Maps with packaged fonts therefore need self-hosted delivery or an explicitly
309
+ replaced, compatible public glyph provider. Check with `tileflow validate --target hosted` before
310
+ planning a hosted deployment.
311
+
312
+ Tileflow-owned designs and artwork use Apache-2.0. Historical inspiration does not mean the package
313
+ redistributes historical scans, source cartography, or data. Third-party fonts and the pinned Maki
314
+ icon subset retain their own terms. Preserve
315
+ [THIRD_PARTY_NOTICES.md](https://github.com/tileflow/tileflow-sdk/blob/main/packages/maps/THIRD_PARTY_NOTICES.md)
316
+ and the notices next to packaged assets. Map data and terrain services have separate attribution
317
+ and usage requirements.
318
+
319
+ See the [Core guide](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/README.md)
320
+ for inheritance and styling, or the
321
+ [public exports](https://github.com/tileflow/tileflow-sdk/blob/main/packages/maps/src/index.ts)
322
+ for exact names. The installed package's definitions and README take precedence over a newer `main`.
323
+
324
+ ## Design and asset reference
325
+
326
+ The [design and asset notes](https://github.com/tileflow/tileflow-sdk/blob/main/packages/maps/docs/design-and-assets.md) describe each map's visual grammar, source references, and third-party asset boundaries. They are also included under
327
+ `docs/` in the installed package.
328
+
329
+ Streets offers three time-of-day families: `light` (displayed as Default), `faded`, and `monochrome`, each with
330
+ `day`, `dawn`, `dusk`, and `night`. For example, `theme="faded" timeOfDay="night"` resolves to
331
+ `dark-faded`. DevTools shows these as separate Theme and Time of day controls. All twelve
332
+ concrete theme names remain available for existing applications and captures. This catalog
333
+ is inherited when extending Streets without overriding it.
334
+ See the [time-of-day contract](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/README.md#style-with-themes-and-semantic-modules).