@tileflow/maps 0.1.0-alpha.12 → 0.1.0-alpha.14

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 (50) hide show
  1. package/README.md +40 -40
  2. package/THIRD_PARTY_NOTICES.md +17 -7
  3. package/assets/README.md +14 -9
  4. package/assets/soundings/icons/soundings-boat-hoist.svg +10 -0
  5. package/assets/soundings/icons/soundings-boatyard.svg +6 -0
  6. package/assets/soundings/icons/soundings-distance-mark.svg +9 -0
  7. package/assets/soundings/icons/soundings-facility.svg +6 -0
  8. package/assets/soundings/icons/soundings-fuel-station.svg +7 -0
  9. package/assets/soundings/icons/soundings-marina.svg +9 -0
  10. package/assets/soundings/icons/soundings-notice-information.svg +10 -0
  11. package/assets/soundings/icons/soundings-notice-prohibition.svg +9 -0
  12. package/assets/soundings/icons/soundings-notice-recommendation.svg +9 -0
  13. package/assets/soundings/icons/soundings-notice-regulation.svg +9 -0
  14. package/assets/soundings/icons/soundings-notice-restriction.svg +10 -0
  15. package/assets/soundings/icons/soundings-notice.svg +11 -0
  16. package/assets/soundings/icons/soundings-pump-out.svg +8 -0
  17. package/assets/soundings/icons/soundings-slipway.svg +6 -0
  18. package/assets/soundings/icons/soundings-visitor-berth.svg +10 -0
  19. package/assets/soundings/icons/soundings-water-tap.svg +10 -0
  20. package/assets/soundings/icons/tileflow.icons.json +64 -0
  21. package/assets/streets/build-trees.mjs +163 -35
  22. package/assets/streets/fonts/DINish-Bold.ttf +0 -0
  23. package/assets/streets/fonts/DINish-Medium.ttf +0 -0
  24. package/assets/streets/fonts/LICENSE-DINish.txt +93 -0
  25. package/assets/streets/fonts/LICENSE-NotoSans.txt +94 -0
  26. package/assets/streets/fonts/LICENSE.txt +193 -0
  27. package/assets/streets/fonts/NotoSans-Bold.ttf +0 -0
  28. package/assets/streets/fonts/NotoSans-Italic.ttf +0 -0
  29. package/assets/streets/fonts/NotoSans-Regular.ttf +0 -0
  30. package/assets/streets/fonts/README.md +18 -0
  31. package/assets/streets/icons/streets-tree-conifer-dark.pattern.svg +200 -54
  32. package/assets/streets/icons/streets-tree-conifer.pattern.svg +200 -54
  33. package/assets/streets/icons/streets-tree-open-dark.pattern.svg +200 -105
  34. package/assets/streets/icons/streets-tree-open.pattern.svg +200 -105
  35. package/assets/streets/icons/streets-tree-round-dark.pattern.svg +158 -105
  36. package/assets/streets/icons/streets-tree-round.pattern.svg +158 -105
  37. package/assets/streets/icons/streets-tree-tall-dark.pattern.svg +156 -105
  38. package/assets/streets/icons/streets-tree-tall.pattern.svg +156 -105
  39. package/assets/streets/models/streets-tree-conifer.far.glb +0 -0
  40. package/assets/streets/models/streets-tree-conifer.glb +0 -0
  41. package/assets/streets/models/streets-tree-open.far.glb +0 -0
  42. package/assets/streets/models/streets-tree-open.glb +0 -0
  43. package/assets/streets/models/streets-tree-round.far.glb +0 -0
  44. package/assets/streets/models/streets-tree-round.glb +0 -0
  45. package/assets/streets/models/streets-tree-tall.far.glb +0 -0
  46. package/assets/streets/models/streets-tree-tall.glb +0 -0
  47. package/dist/index.d.ts +19 -9
  48. package/dist/index.js +168 -53
  49. package/docs/design-and-assets.md +8 -5
  50. package/package.json +3 -3
package/README.md CHANGED
@@ -54,7 +54,7 @@ After installing and building this workspace, run from its root:
54
54
  node packages/cli/dist/index.js preview --config packages/maps/tileflow.config.ts
55
55
  ```
56
56
 
57
- Open `http://127.0.0.1:3333`. Source edits reload in Map DevTools without publishing.
57
+ Open `http://127.0.0.1:3333`. Source edits reload in Inspector without publishing.
58
58
  Add `--scene nyc` for New York or `--against-theme dark --map streets-workbench` to compare themes.
59
59
  The CLI owns the interface; compiler and runtime changes require rebuilding those packages.
60
60
 
@@ -77,7 +77,7 @@ to create an application-owned map.
77
77
  ### Streets appearance
78
78
 
79
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
80
+ (twelve theme/time combinations), calibrated on 2026-10-18. Inspector offers **Default**, **Faded**, and
81
81
  **Monochrome** in its Theme control, independently of the Time of day control's `day`, `dawn`,
82
82
  `dusk`, and `night` presets. Each of the twelve combinations selects a complete theme, including
83
83
  its map colors and artwork. Default retains the configuration key `light` for compatibility:
@@ -102,10 +102,9 @@ World's transport mode and POI type: metro, rail, tram, bus, ferry, cable-car, a
102
102
  are distinct, as are bars, cafés, museums, galleries, car dealers, and places of worship by
103
103
  religion.
104
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.
105
+ Streets packages DINish Medium for roads, house numbers and POIs, and Bold for shields, approximating
106
+ the reference's DIN Pro lettering. Other roles retain Noto Sans Regular, Bold and Italic. All
107
+ five faces ship with their licenses; DIN Pro is not bundled.
109
108
  POI discs use vivid category colors, 20px containers, and fixed native icon scale at every zoom.
110
109
  Maki's 15px artwork is composed into a centered 12px box, leaving room inside the 17px colored
111
110
  interior. Their 1x and 2x atlases rasterize these SVG compositions separately; the map displays
@@ -150,9 +149,8 @@ closer views reuse that resolution, avoiding requests for coverage-dependent hig
150
149
  it, set `terrain: 'none'` in a map extending `streets`. Hillshade does not change road geometry or
151
150
  raise the terrain. Buildings appear automatically from zoom 15 with an opacity fade through 15.25;
152
151
  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.
152
+ Shields use 9 px DINish Bold and closer spacing at z11–13. Street names yield to destinations
153
+ and draw above flat footprints but below 3D buildings, with viewport-aligned letters.
156
154
  3D lights use Standard's effective theme presets, retrieved on 2026-10-18: southern sun by day,
157
155
  southeast at dawn, southwest at dusk and western moonlight at night. Monochrome has distinct
158
156
  directions and strengths. Tileflow holds zoom 14+ values; Standard varies intensity below z14.
@@ -165,25 +163,28 @@ Street lights are opt-in: set `roads.streetLights.enabled: true`.
165
163
  Core adds contact shade and rounded exterior corners. `buildings.threeDimensional.occlusion: false`
166
164
  disables contact shade and model ambient occlusion; `buildings.contactShadow` styles the flat fallback.
167
165
  Streets selects Core's `labels.roadPlacement: 'ground'`: street names follow the road plane below
168
- buildings; POIs, transit names and shields remain above. Disabling roads omits their names.
166
+ buildings; POIs, transit names and shields remain above.
167
+ Road names retain class zoom/size curves, favor major roads and add padding through z13.
168
+ Pedestrian paths group separately. Compact types preserve language;
169
+ `labels.roadNameFormat: 'full'` keeps source names.
170
+ Disabling roads omits their names.
169
171
  Road rings, ramp and surface ordering use [Core's replaceable defaults](../core/docs/cartographic-defaults.md).
170
- Streets owns its colors, widths, typography and optional time-of-day themes.
171
- Browser atmosphere is separately enabled with `atmosphere: true` on a globe map; the base definition
172
- also remains usable with Mercator and native targets.
172
+ Streets owns colors, widths, typography and time-of-day themes.
173
+ Each theme paints a [street sky](../core/docs/street-sky.md) with night stars; `atmosphere: true`
174
+ on a globe map adds space around it. Mercator and native targets remain supported.
173
175
 
174
176
  Streets enables model trees by default (`mode: '3d'`, `fallback: 'none'`). They stay three-dimensional
175
177
  in overhead and tilted interactive browser views. Disabling vegetation removes all trees. Renderers
176
178
  without model support omit them. Extensions can opt into the included flat crown artwork with
177
179
  `vegetation: refine({mode: 'flat'})`, or switch it with explicit view mode using `mode: 'auto'`.
178
- Seven original forms cover rounded, spreading and upright broadleaf trees, conifers, columns,
179
- feather palms and fan palms. Their light/dark crown images come from the same geometry as the
180
- models. Broadleaf trees have flared trunks, visible forks and separated crown clusters, with
181
- both compact and open silhouettes. This artwork does not change the map's lighting.
182
-
183
- All twelve presets independently style bark and crowns from tilted Standard samples, preserving
184
- geometry. Mesh and lighting differences prevent identical pixels.
185
-
186
- The models have 120–386 triangles nearby and 44–96 at distance. They reuse Core's instanced tree
180
+ Seven forms cover rounded, spreading and upright broadleaf trees, conifers, columns, feather and fan
181
+ palms. Light/dark crown images share their geometry. Rounded crowns have three large ovoid masses;
182
+ upright trees have an oval crown and two lower lobes. Open trees have curved, tapered leaves drooping
183
+ from branches; conifers are tiered. Broadleaf variants mix open and compact forms, smooth shading and
184
+ varied colors. An eight-metre visual minimum scales smaller trees and crowns proportionally without
185
+ changing source heights. All presets style bark and crowns independently.
186
+
187
+ The models have 222–386 triangles nearby and 44–78 at distance, using Core's instanced tree
187
188
  renderer; flat crowns use the existing sprite atlas. Tree locations and attributes still come
188
189
  from the source tiles. The artwork does not add trees to parks whose data has none. See
189
190
  [3D trees](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/trees-3d.md) for
@@ -203,24 +204,22 @@ export default defineMap({
203
204
  });
204
205
  ```
205
206
 
206
- POI categories use World eligibility and ranks at one density and are placed in one importance
207
- order, so a category never displaces a more important place of another category. World's two most
208
- important ranks are placed before street and place names. Each disc needs its name; parking and
209
- toilets appear as a disc alone, and other unnamed POIs are omitted.
210
- Ordinary POI and transit names use 13 px lettering, with 18 px for the highest-priority destinations.
211
- World's size ranks differ from the reference, so a small park with size rank zero does not become
212
- a large destination label by that value alone. Text padding falls from 6 px to 4 px between z16
213
- and z17, and collision determines which names fit.
214
-
215
- City labels hand over at z15, smaller settlements at z13, and districts at z15. Co-located city
216
- candidates share one anchor to prevent duplicate names at world scale. Districts retain an overview
217
- rank gate below z12; from z12 onward, source availability and collisions control their appearance
218
- because World ranks can change between tile zooms. Street names use 0.15 em letter spacing and
207
+ POIs use World ranks with category density: parks and transport retain more detail than
208
+ businesses, hotels and religious sites. All categories share importance order; the two most
209
+ important ranks precede streets. Discs need names except parking and toilets. Native perspective and collisions select labels. See
210
+ [label placement](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/docs/cartographic-defaults.md#label-density-and-perspective).
211
+ Ordinary POI/transit names use 13 px, major destinations 18 px. World size rank zero alone does
212
+ not enlarge small parks. Text padding falls from 6 px to 4 px between z16 and z17; collision
213
+ determines which names fit.
214
+
215
+ Cities and districts hand over at z15, smaller settlements at z13. Co-located cities share one
216
+ anchor. Districts use rank gates below z12, then source availability and collisions. Street names use 0.15 em letter spacing and
219
217
  a 1 px halo; administrative regions use bold lettering and water names use italic lettering.
220
- House numbers appear from z17 with wide collision padding. Local-language labels remain the default.
218
+ Road spacing grows from 250 px at z13 to 300 at z15, 400 at z17 and 450 at z19 to curb repetition.
219
+ House numbers start at z17 with wide padding. Labels default to the local language.
221
220
 
222
- The map uses Tileflow data and assets, including hosted Noto Sans Regular, Bold, and Italic. The
223
- reference's DIN Pro Medium is not part of that glyph provider, so font shapes and stroke weight
221
+ The map uses Tileflow data and assets, including packaged DINish and Noto Sans fonts. The
222
+ reference uses DIN Pro Medium, so font shapes and stroke weight
224
223
  remain an approximation. Available POIs, abbreviated names,
225
224
  proprietary landmark models, transit branding, and building detail can differ from the reference.
226
225
  See [map design and asset provenance](https://github.com/tileflow/tileflow-sdk/blob/main/packages/maps/docs/design-and-assets.md).
@@ -272,7 +271,8 @@ The CLI and build integrations compile the selected directories into runtime ass
272
271
  Baedeker, 1777 and Siegfried export `baedekerFonts`, `map1777Fonts` and `siegfriedFonts` for
273
272
  their packaged Cormorant Garamond faces.
274
273
  Cívica exports `civicaFonts` for DM Serif Text, Barlow Semi Condensed, and Noto Sans fallback.
275
- Streets, Soundings, and Blueprint declare Noto Sans URL glyph providers
274
+ Streets exports `streetsFonts` for its packaged navigation lettering and Noto Sans fallback.
275
+ Soundings and Blueprint declare Noto Sans URL glyph providers
276
276
  from one immutable Hosted base-asset set, versioned independently of World data.
277
277
 
278
278
  Omitting `icons` inherits the parent's directory list. Declaring a list replaces it; `[]` removes
@@ -326,7 +326,7 @@ The [design and asset notes](https://github.com/tileflow/tileflow-sdk/blob/main/
326
326
 
327
327
  Streets offers three time-of-day families: `light` (displayed as Default), `faded`, and `monochrome`, each with
328
328
  `day`, `dawn`, `dusk`, and `night`. For example, `theme="faded" timeOfDay="night"` resolves to
329
- `dark-faded`. DevTools shows these as separate Theme and Time of day controls. All twelve
329
+ `dark-faded`. Inspector shows these as separate Theme and Time of day controls. All twelve
330
330
  concrete theme names remain available for existing applications and captures. This catalog
331
331
  is inherited when extending Streets without overriding it.
332
332
  See the [time-of-day contract](https://github.com/tileflow/tileflow-sdk/blob/main/packages/core/README.md#style-with-themes-and-semantic-modules).
@@ -84,8 +84,8 @@ contains Tileflow-authored style code and original patterns plus the separately
84
84
  Garamond files documented below. `baedeker` is an official Tileflow map; it is not affiliated with
85
85
  or endorsed by Baedeker or Wagner & Debes.
86
86
 
87
- At runtime, Baedeker derives contour vectors in the browser from Mapterhorn terrain tiles. No
88
- Mapterhorn tile is packaged or redistributed by `@tileflow/maps`. Mapterhorn publishes the full
87
+ At runtime, Baedeker derives contour vectors in the browser from Tileflow Terrain tiles, which
88
+ carry Mapterhorn terrain data. No terrain tile is packaged or redistributed by `@tileflow/maps`. Mapterhorn publishes the full
89
89
  catalog of its constituent open terrain sources and their individual attribution and license terms
90
90
  at <https://mapterhorn.com/attribution/>. The compiled Style carries that link as source
91
91
  attribution.
@@ -97,15 +97,15 @@ code and artwork. Its architectural-blueprint direction uses general drafting co
97
97
  package does not include or redistribute an architectural drawing, CAD file, municipal plan,
98
98
  survey sheet, font, source image, or third-party symbol artwork.
99
99
 
100
- At runtime, Blueprint derives contour vectors in the browser from Mapterhorn terrain tiles. No
101
- Mapterhorn tile is packaged or redistributed by `@tileflow/maps`. Mapterhorn publishes the full
100
+ At runtime, Blueprint derives contour vectors in the browser from Tileflow Terrain tiles, which
101
+ carry Mapterhorn terrain data. No terrain tile is packaged or redistributed by `@tileflow/maps`. Mapterhorn publishes the full
102
102
  catalog of its constituent open terrain sources and their individual attribution and license terms
103
103
  at <https://mapterhorn.com/attribution/>. The compiled Style carries that link as source
104
104
  attribution.
105
105
 
106
106
  ## Nautical-chart references
107
107
 
108
- The `soundings` map and its eleven SVG symbols and patterns are original Tileflow code and artwork.
108
+ The `soundings` map and its twenty-seven SVG symbols and patterns are original Tileflow code and artwork.
109
109
  Its visual grammar was informed by NOAA's
110
110
  [Historical Map & Chart Collection](https://historicalcharts.noaa.gov/) and the IHO
111
111
  [S-4 and INT 1 standards index](https://iho.int/standards-and-specifications) as cartographic
@@ -130,12 +130,22 @@ not a reproduced or historically documented swisstopo colourway.
130
130
  - Historical reference: <https://www.swisstopo.admin.ch/en/siegfried-map>
131
131
  - 1873 conventional signs: <https://www.swisstopo.admin.ch/dam/en/sd-web/4OmbRYHBFpcd/Zeichenerklaerung-Siegfriedkarte-EN.pdf>
132
132
 
133
- At runtime, Siegfried derives contour vectors in the browser from Mapterhorn terrain tiles. No
134
- Mapterhorn tile is packaged or redistributed by `@tileflow/maps`. Mapterhorn publishes the full
133
+ At runtime, Siegfried derives contour vectors in the browser from Tileflow Terrain tiles, which
134
+ carry Mapterhorn terrain data. No terrain tile is packaged or redistributed by `@tileflow/maps`. Mapterhorn publishes the full
135
135
  catalog of its constituent open terrain sources and their individual attribution and license terms
136
136
  at <https://mapterhorn.com/attribution/>. The compiled Style carries that link as source
137
137
  attribution.
138
138
 
139
+ ## Streets lettering
140
+
141
+ Streets includes unmodified DINish Medium and Bold TTF files from
142
+ [playbeing/dinish](https://github.com/playbeing/dinish/tree/a5f3b2a3b932336225815bf9005e3b72cc3de71c),
143
+ and unmodified Noto Sans Regular, Bold and Italic TTF files from
144
+ [notofonts/noto-fonts](https://github.com/notofonts/noto-fonts/tree/c971829a87e7920f960e7277c3dafd9bedd3c601).
145
+ Both families use the SIL Open Font License 1.1. Complete copyright and license notices are
146
+ included in `assets/streets/fonts/LICENSE-DINish.txt`, `LICENSE-NotoSans.txt`, and the combined
147
+ `LICENSE.txt`. DINish is an independent DIN-inspired font; DIN Pro is not redistributed.
148
+
139
149
  ## Cormorant Garamond
140
150
 
141
151
  Baedeker, 1777 and Siegfried each include their own unmodified Cormorant Garamond Regular,
package/assets/README.md CHANGED
@@ -66,15 +66,20 @@ wetland. The 18 runtime IDs use `siegfried-<motif>` for the historical light tre
66
66
  packaged Cormorant Garamond faces selected by both themes. See `siegfried/README.md` and the
67
67
  package-level `THIRD_PARTY_NOTICES.md` for provenance and licensing.
68
68
 
69
- The Soundings directory contains eleven original nautical symbols and intrinsic-size patterns:
70
- `soundings-harbor`, `soundings-lighthouse`, `soundings-light-flare`, `soundings-buoy-port`,
71
- `soundings-buoy-starboard`, `soundings-buoy-cardinal`, `soundings-buoy-pillar`,
72
- `soundings-wreck`, `soundings-rock-awash`, `soundings-paper-grain`, and `soundings-water-dots`.
73
- They express familiar paper-chart concepts without bundling a historical chart, specification
74
- artwork, or navigation data. Official Soundings draws its paper and water patterns and, through
75
- theme `nautical.*` image tokens, the buoy, light, lighthouse, wreck, and harbor symbols for its
76
- Nautical marks. `tileflow.icons.json` declares those eight point symbols as SDF icons, drawn in the
77
- central 12 of 24 pixels, so each mark takes its own colour; `soundings-rock-awash` remains
69
+ The Soundings directory contains twenty-seven original nautical symbols and intrinsic-size patterns:
70
+ `soundings-harbor`, `soundings-marina`, `soundings-lighthouse`, `soundings-light-flare`,
71
+ `soundings-buoy-port`, `soundings-buoy-starboard`, `soundings-buoy-cardinal`,
72
+ `soundings-buoy-pillar`, `soundings-wreck`, `soundings-rock-awash`, six notice boards
73
+ (`soundings-notice` and its `-prohibition`, `-regulation`, `-restriction`, `-recommendation`, and
74
+ `-information` variants), `soundings-distance-mark`, eight small-craft facilities
75
+ (`soundings-facility`, `soundings-fuel-station`, `soundings-water-tap`, `soundings-slipway`,
76
+ `soundings-pump-out`, `soundings-visitor-berth`, `soundings-boat-hoist`, and `soundings-boatyard`),
77
+ `soundings-paper-grain`, and `soundings-water-dots`. They express familiar paper-chart and inland
78
+ waterway concepts without bundling a historical chart, specification artwork, sign artwork, or
79
+ navigation data. Official Soundings draws its paper and water patterns and, through theme
80
+ `nautical.*` image tokens, its point symbols for Nautical marks. `tileflow.icons.json` declares those
81
+ twenty-four point symbols as SDF icons, drawn in the central 12 of 24 pixels, so each mark takes its
82
+ own colour; `soundings-rock-awash` remains
78
83
  fixed-colour artwork and is unused because rocks are drawn as chart crosses. A generic World POI is
79
84
  deliberately not relabelled as a harbour. Soundings uses GEBCO-derived depth bands only as broad
80
85
  cartographic context, and neither it nor its Nautical marks is a navigation product.
@@ -0,0 +1,10 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="-16 -16 64 64">
2
+ <title>Boat hoist</title>
3
+ <desc>Original Tileflow boat crane pictogram.</desc>
4
+ <g fill="#000000">
5
+ <rect x="6.4" y="4" width="2.8" height="23.4"/>
6
+ <rect x="3.6" y="26.2" width="8.4" height="2.6" rx="1.3"/>
7
+ <path d="M13.4 17.6h15.2l-3 5.8H16.4l-3-5.8Z"/>
8
+ </g>
9
+ <path fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.2" d="M7.8 5.4h15.6M21 5.4v8.2M15.4 17.6l5.6-4 5.6 4"/>
10
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="-16 -16 64 64">
2
+ <title>Boatyard</title>
3
+ <desc>Original Tileflow pictogram of a boat on a cradle ashore.</desc>
4
+ <path d="M3.6 10.8h24.8l-4.6 8.6H8.2l-4.6-8.6Z" fill="#000000"/>
5
+ <path fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.2" d="m10.4 19.4-2.4 7.4M21.6 19.4l2.4 7.4M4.6 27.6h22.8"/>
6
+ </svg>
@@ -0,0 +1,9 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="-16 -16 64 64">
2
+ <title>Distance mark</title>
3
+ <desc>Original Tileflow waterway distance post pictogram.</desc>
4
+ <g fill="#000000">
5
+ <rect x="10.6" y="4" width="10.8" height="7.6" rx="1.2"/>
6
+ <rect x="14.8" y="10.8" width="2.4" height="15.4"/>
7
+ <rect x="10.2" y="25.4" width="11.6" height="2.6" rx="1.3"/>
8
+ </g>
9
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="-16 -16 64 64">
2
+ <title>Facility</title>
3
+ <desc>Original Tileflow small-craft facility pictogram.</desc>
4
+ <circle cx="16" cy="16" r="10.4" fill="none" stroke="#000000" stroke-width="2.4"/>
5
+ <circle cx="16" cy="16" r="4" fill="#000000"/>
6
+ </svg>
@@ -0,0 +1,7 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="-16 -16 64 64">
2
+ <title>Fuel station</title>
3
+ <desc>Original Tileflow fuel pump pictogram.</desc>
4
+ <path fill="#000000" fill-rule="evenodd" d="M8.2 4.4h10.4a1.2 1.2 0 0 1 1.2 1.2v20.8H7V5.6a1.2 1.2 0 0 1 1.2-1.2Zm1.8 3v6h6.8v-6H10Z"/>
5
+ <path fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19.8 11.2h2.4a1.4 1.4 0 0 1 1.4 1.4v9.2a1.9 1.9 0 0 0 3.8 0V10.4l-2.8-3.2"/>
6
+ <rect x="5" y="26" width="16.6" height="2.6" rx="1" fill="#000000"/>
7
+ </svg>
@@ -0,0 +1,9 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="-16 -16 64 64">
2
+ <title>Marina</title>
3
+ <desc>Original Tileflow marina pictogram: a sailing yacht.</desc>
4
+ <g fill="#000000">
5
+ <path d="M14.6 2.6v17.2H5.8L14.6 2.6Z"/>
6
+ <path d="M17 5.8 25.6 19.8H17V5.8Z"/>
7
+ <path d="M3.8 22h24.4l-3.6 5.8H7.4L3.8 22Z"/>
8
+ </g>
9
+ </svg>
@@ -0,0 +1,10 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="-16 -16 64 64">
2
+ <title>Information notice</title>
3
+ <desc>Original Tileflow information board pictogram with a letter i.</desc>
4
+ <rect x="5.2" y="3.2" width="21.6" height="19.6" rx="1.6" fill="none" stroke="#000000" stroke-linejoin="round" stroke-width="2.4"/>
5
+ <g fill="#000000">
6
+ <circle cx="16" cy="7.9" r="1.7"/>
7
+ <rect x="14.7" y="10.8" width="2.6" height="8.2" rx="1.1"/>
8
+ <rect x="14.8" y="22" width="2.4" height="8"/>
9
+ </g>
10
+ </svg>
@@ -0,0 +1,9 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="-16 -16 64 64">
2
+ <title>Prohibition notice</title>
3
+ <desc>Original Tileflow prohibition board pictogram with a diagonal bar.</desc>
4
+ <g fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.4">
5
+ <rect x="5.2" y="3.2" width="21.6" height="19.6" rx="1.6"/>
6
+ <path d="m9.4 7 13.2 12"/>
7
+ </g>
8
+ <rect x="14.8" y="22" width="2.4" height="8" fill="#000000"/>
9
+ </svg>
@@ -0,0 +1,9 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="-16 -16 64 64">
2
+ <title>Recommendation notice</title>
3
+ <desc>Original Tileflow recommendation pictogram: a diamond board on a post.</desc>
4
+ <path d="M16 2.4 26.4 12.8 16 23.2 5.6 12.8 16 2.4Z" fill="none" stroke="#000000" stroke-linejoin="round" stroke-width="2.4"/>
5
+ <g fill="#000000">
6
+ <path d="m16 8.6 4.2 4.2-4.2 4.2-4.2-4.2 4.2-4.2Z"/>
7
+ <rect x="14.8" y="22.4" width="2.4" height="7.6"/>
8
+ </g>
9
+ </svg>
@@ -0,0 +1,9 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="-16 -16 64 64">
2
+ <title>Regulation notice</title>
3
+ <desc>Original Tileflow mandatory board pictogram with a central disc.</desc>
4
+ <rect x="5.2" y="3.2" width="21.6" height="19.6" rx="1.6" fill="none" stroke="#000000" stroke-linejoin="round" stroke-width="2.4"/>
5
+ <g fill="#000000">
6
+ <circle cx="16" cy="13" r="4.4"/>
7
+ <rect x="14.8" y="22" width="2.4" height="8"/>
8
+ </g>
9
+ </svg>
@@ -0,0 +1,10 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="-16 -16 64 64">
2
+ <title>Restriction notice</title>
3
+ <desc>Original Tileflow restriction board pictogram with an exclamation mark.</desc>
4
+ <rect x="5.2" y="3.2" width="21.6" height="19.6" rx="1.6" fill="none" stroke="#000000" stroke-linejoin="round" stroke-width="2.4"/>
5
+ <g fill="#000000">
6
+ <rect x="14.7" y="6.8" width="2.6" height="8.4" rx="1.3"/>
7
+ <circle cx="16" cy="18.4" r="1.6"/>
8
+ <rect x="14.8" y="22" width="2.4" height="8"/>
9
+ </g>
10
+ </svg>
@@ -0,0 +1,11 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="-16 -16 64 64">
2
+ <title>Notice board</title>
3
+ <desc>Original Tileflow inland notice board pictogram.</desc>
4
+ <g fill="none" stroke="#000000" stroke-linejoin="round" stroke-width="2.4">
5
+ <rect x="5.2" y="3.2" width="21.6" height="19.6" rx="1.6"/>
6
+ </g>
7
+ <g fill="#000000">
8
+ <rect x="10" y="10.6" width="12" height="2.4" rx="1.2"/>
9
+ <rect x="14.8" y="22" width="2.4" height="8"/>
10
+ </g>
11
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="-16 -16 64 64">
2
+ <title>Pump-out</title>
3
+ <desc>Original Tileflow holding-tank pump-out pictogram.</desc>
4
+ <g fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.4">
5
+ <path d="M6.8 14.4v10.4a3 3 0 0 0 3 3h12.4a3 3 0 0 0 3-3V14.4"/>
6
+ <path d="M16 23V4.6M10.8 9.6 16 4.4l5.2 5.2"/>
7
+ </g>
8
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="-16 -16 64 64">
2
+ <title>Slipway</title>
3
+ <desc>Original Tileflow slipway pictogram: a ramp running into the water.</desc>
4
+ <path d="M3.6 21.6 26.4 7.2v14.4H3.6Z" fill="#000000"/>
5
+ <path fill="none" stroke="#000000" stroke-linecap="round" stroke-width="2" d="M3 26.6c2.2-1.2 4.4-1.2 6.6 0s4.4 1.2 6.6 0 4.4-1.2 6.6 0 4.4 1.2 6.2.1"/>
6
+ </svg>
@@ -0,0 +1,10 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="-16 -16 64 64">
2
+ <title>Visitor berth</title>
3
+ <desc>Original Tileflow mooring bollard pictogram for visitor berths and moorings.</desc>
4
+ <g fill="#000000">
5
+ <rect x="7.6" y="5" width="16.8" height="5" rx="2.5"/>
6
+ <rect x="12.4" y="9.4" width="7.2" height="6"/>
7
+ <path d="M10.2 15h11.6l2 11.4H8.2L10.2 15Z"/>
8
+ <rect x="5" y="25.6" width="22" height="2.6" rx="1.3"/>
9
+ </g>
10
+ </svg>
@@ -0,0 +1,10 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="-16 -16 64 64">
2
+ <title>Water tap</title>
3
+ <desc>Original Tileflow drinking water tap pictogram.</desc>
4
+ <g fill="#000000">
5
+ <rect x="10.4" y="3.6" width="11.2" height="2.6" rx="1.3"/>
6
+ <rect x="14.8" y="5.6" width="2.4" height="4.4"/>
7
+ <path d="M4.8 9.4h14.6a6.4 6.4 0 0 1 6.4 6.4v2.4h-5v-2.2a1.2 1.2 0 0 0-1.2-1.2H4.8V9.4Z"/>
8
+ <path d="M23.3 20.6c1.7 2.5 2.6 4.1 2.6 5.2a2.6 2.6 0 0 1-5.2 0c0-1.1.9-2.7 2.6-5.2Z"/>
9
+ </g>
10
+ </svg>
@@ -1,6 +1,14 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "icons": {
4
+ "soundings-boat-hoist": {
5
+ "representation": "sdf",
6
+ "defaults": {"color": "#263D3F", "haloColor": "#F7FBF8", "haloWidth": 1, "haloBlur": 0}
7
+ },
8
+ "soundings-boatyard": {
9
+ "representation": "sdf",
10
+ "defaults": {"color": "#263D3F", "haloColor": "#F7FBF8", "haloWidth": 1, "haloBlur": 0}
11
+ },
4
12
  "soundings-buoy-cardinal": {
5
13
  "representation": "sdf",
6
14
  "defaults": {"color": "#263D3F", "haloColor": "#F7FBF8", "haloWidth": 1, "haloBlur": 0}
@@ -17,6 +25,18 @@
17
25
  "representation": "sdf",
18
26
  "defaults": {"color": "#263D3F", "haloColor": "#F7FBF8", "haloWidth": 1, "haloBlur": 0}
19
27
  },
28
+ "soundings-distance-mark": {
29
+ "representation": "sdf",
30
+ "defaults": {"color": "#263D3F", "haloColor": "#F7FBF8", "haloWidth": 1, "haloBlur": 0}
31
+ },
32
+ "soundings-facility": {
33
+ "representation": "sdf",
34
+ "defaults": {"color": "#263D3F", "haloColor": "#F7FBF8", "haloWidth": 1, "haloBlur": 0}
35
+ },
36
+ "soundings-fuel-station": {
37
+ "representation": "sdf",
38
+ "defaults": {"color": "#263D3F", "haloColor": "#F7FBF8", "haloWidth": 1, "haloBlur": 0}
39
+ },
20
40
  "soundings-harbor": {
21
41
  "representation": "sdf",
22
42
  "defaults": {"color": "#263D3F", "haloColor": "#F7FBF8", "haloWidth": 1, "haloBlur": 0}
@@ -29,6 +49,50 @@
29
49
  "representation": "sdf",
30
50
  "defaults": {"color": "#263D3F", "haloColor": "#F7FBF8", "haloWidth": 1, "haloBlur": 0}
31
51
  },
52
+ "soundings-marina": {
53
+ "representation": "sdf",
54
+ "defaults": {"color": "#263D3F", "haloColor": "#F7FBF8", "haloWidth": 1, "haloBlur": 0}
55
+ },
56
+ "soundings-notice": {
57
+ "representation": "sdf",
58
+ "defaults": {"color": "#263D3F", "haloColor": "#F7FBF8", "haloWidth": 1, "haloBlur": 0}
59
+ },
60
+ "soundings-notice-information": {
61
+ "representation": "sdf",
62
+ "defaults": {"color": "#263D3F", "haloColor": "#F7FBF8", "haloWidth": 1, "haloBlur": 0}
63
+ },
64
+ "soundings-notice-prohibition": {
65
+ "representation": "sdf",
66
+ "defaults": {"color": "#263D3F", "haloColor": "#F7FBF8", "haloWidth": 1, "haloBlur": 0}
67
+ },
68
+ "soundings-notice-recommendation": {
69
+ "representation": "sdf",
70
+ "defaults": {"color": "#263D3F", "haloColor": "#F7FBF8", "haloWidth": 1, "haloBlur": 0}
71
+ },
72
+ "soundings-notice-regulation": {
73
+ "representation": "sdf",
74
+ "defaults": {"color": "#263D3F", "haloColor": "#F7FBF8", "haloWidth": 1, "haloBlur": 0}
75
+ },
76
+ "soundings-notice-restriction": {
77
+ "representation": "sdf",
78
+ "defaults": {"color": "#263D3F", "haloColor": "#F7FBF8", "haloWidth": 1, "haloBlur": 0}
79
+ },
80
+ "soundings-pump-out": {
81
+ "representation": "sdf",
82
+ "defaults": {"color": "#263D3F", "haloColor": "#F7FBF8", "haloWidth": 1, "haloBlur": 0}
83
+ },
84
+ "soundings-slipway": {
85
+ "representation": "sdf",
86
+ "defaults": {"color": "#263D3F", "haloColor": "#F7FBF8", "haloWidth": 1, "haloBlur": 0}
87
+ },
88
+ "soundings-visitor-berth": {
89
+ "representation": "sdf",
90
+ "defaults": {"color": "#263D3F", "haloColor": "#F7FBF8", "haloWidth": 1, "haloBlur": 0}
91
+ },
92
+ "soundings-water-tap": {
93
+ "representation": "sdf",
94
+ "defaults": {"color": "#263D3F", "haloColor": "#F7FBF8", "haloWidth": 1, "haloBlur": 0}
95
+ },
32
96
  "soundings-wreck": {
33
97
  "representation": "sdf",
34
98
  "defaults": {"color": "#263D3F", "haloColor": "#F7FBF8", "haloWidth": 1, "haloBlur": 0}