@tileflow/core 0.1.0-alpha.21 → 0.1.0-alpha.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +197 -72
- package/THIRD_PARTY_NOTICES.md +60 -2
- package/dist/browser.d.ts +82 -16
- package/dist/browser.js +1234 -267
- package/dist/build.d.ts +19 -56
- package/dist/build.js +10915 -8333
- package/dist/config-reference.json +31882 -0
- package/dist/index.d.ts +476 -13
- package/dist/index.js +12409 -8832
- package/dist/{types-DlUGI6LC.d.ts → manifest-B5GKVMFE.d.ts} +252 -20
- package/dist/manifest.d.ts +1 -2
- package/dist/manifest.js +18 -2
- package/dist/map-BHL_0Mkx.d.ts +1145 -0
- package/dist/runtime.d.ts +1 -2
- package/dist/runtime.js +60 -5
- package/package.json +5 -8
- package/dist/domains-CPSrdTik.d.ts +0 -4
- package/dist/recipe.d.ts +0 -66
- package/dist/recipe.js +0 -577
- package/dist/requirements-BV77ZVhR.d.ts +0 -491
- package/dist/runtime-C4MtSzkB.d.ts +0 -223
- package/dist/visual-semantics-DTC-8Hsb.d.ts +0 -479
|
@@ -0,0 +1,1145 @@
|
|
|
1
|
+
import { j as TileflowSymbolStyle, u as TileflowAreaStyle, S as TileflowLineStackStyle, i as TileflowLineStyle, g as TileflowExtrusionStyle, e as TileflowBackgroundStyle, h as TileflowFillStyle, Z as TileflowMarkerSymbolStyle, f as TileflowCircleStyle, b3 as TileflowThemeColorValue, b6 as TileflowThemeNumberValue, aV as TileflowTerrainHillshadeStyle, aU as TileflowTerrainEncoding, b4 as TileflowThemeFontValue, b5 as TileflowThemeImageValue, bR as TileflowTypographyStyle, L as TileflowLight, bS as ResolvedTileflowTypography, n as TileflowLabelsModuleConfig, p as TileflowPoiModuleConfig, l as TileflowRoadsModuleConfig, a7 as TileflowProjection, aP as TileflowTerrain, ba as TileflowViewConfig, M as MapLibreStyle, be as ValidationResult } from './manifest-B5GKVMFE.js';
|
|
2
|
+
import * as zod from 'zod';
|
|
3
|
+
import { T as TileflowCaptureScene } from './capture-scene-BK_0J2oR.js';
|
|
4
|
+
|
|
5
|
+
type TileflowAddressesModuleOptions = {
|
|
6
|
+
/** Styling for OpenMapTiles point house-number labels. */
|
|
7
|
+
labels?: TileflowSymbolStyle;
|
|
8
|
+
};
|
|
9
|
+
type TileflowAddressesModuleConfig = TileflowAddressesModuleOptions & {
|
|
10
|
+
type: 'addresses';
|
|
11
|
+
};
|
|
12
|
+
declare function addresses(options?: TileflowAddressesModuleOptions): TileflowAddressesModuleConfig;
|
|
13
|
+
|
|
14
|
+
type TileflowAerowaysModuleOptions = {
|
|
15
|
+
area?: TileflowAreaStyle;
|
|
16
|
+
runway?: TileflowLineStackStyle;
|
|
17
|
+
runwayRef?: TileflowSymbolStyle;
|
|
18
|
+
taxiway?: TileflowLineStackStyle;
|
|
19
|
+
};
|
|
20
|
+
type TileflowAerowaysModuleConfig = TileflowAerowaysModuleOptions & {
|
|
21
|
+
type: 'aeroways';
|
|
22
|
+
};
|
|
23
|
+
declare function aeroways(options?: TileflowAerowaysModuleOptions): TileflowAerowaysModuleConfig;
|
|
24
|
+
|
|
25
|
+
type TileflowBoundariesModuleOptions = {
|
|
26
|
+
admin2?: TileflowLineStyle;
|
|
27
|
+
admin4?: TileflowLineStyle;
|
|
28
|
+
disputed?: TileflowLineStyle;
|
|
29
|
+
maritime?: TileflowLineStyle;
|
|
30
|
+
};
|
|
31
|
+
type TileflowBoundariesModuleConfig = TileflowBoundariesModuleOptions & {
|
|
32
|
+
type: 'boundaries';
|
|
33
|
+
};
|
|
34
|
+
declare function boundaries(options?: TileflowBoundariesModuleOptions): TileflowBoundariesModuleConfig;
|
|
35
|
+
|
|
36
|
+
type TileflowBuildingMode = '3d' | 'flat';
|
|
37
|
+
type TileflowBuildingsModuleOptions = {
|
|
38
|
+
businessCorridor?: TileflowAreaStyle;
|
|
39
|
+
extrusion?: TileflowExtrusionStyle;
|
|
40
|
+
flat?: TileflowAreaStyle;
|
|
41
|
+
mode?: TileflowBuildingMode;
|
|
42
|
+
};
|
|
43
|
+
type TileflowBuildingsModuleConfig = TileflowBuildingsModuleOptions & {
|
|
44
|
+
type: 'buildings';
|
|
45
|
+
};
|
|
46
|
+
declare function buildings(options?: TileflowBuildingsModuleOptions): TileflowBuildingsModuleConfig;
|
|
47
|
+
|
|
48
|
+
type TileflowLanduseClass = 'cemetery' | 'civic' | 'commercial' | 'education' | 'government' | 'industrial' | 'medical' | 'military' | 'parking' | 'railway' | 'recreation' | 'residential';
|
|
49
|
+
type TileflowLandcoverClass = 'farmland' | 'flowerbed' | 'grass' | 'ice' | 'meadow' | 'protected' | 'recreationGround' | 'rock' | 'sand' | 'scrub' | 'urbanPark' | 'villageGreen' | 'wetland' | 'wood';
|
|
50
|
+
type TileflowLandModuleOptions = {
|
|
51
|
+
background?: TileflowBackgroundStyle;
|
|
52
|
+
globalLandcover?: TileflowFillStyle;
|
|
53
|
+
landcover?: Partial<Record<TileflowLandcoverClass, TileflowAreaStyle>>;
|
|
54
|
+
landuse?: Partial<Record<TileflowLanduseClass, TileflowAreaStyle>>;
|
|
55
|
+
};
|
|
56
|
+
type TileflowLandModuleConfig = TileflowLandModuleOptions & {
|
|
57
|
+
type: 'land';
|
|
58
|
+
};
|
|
59
|
+
declare function land(options?: TileflowLandModuleOptions): TileflowLandModuleConfig;
|
|
60
|
+
|
|
61
|
+
declare const tileflowLandformClasses: readonly ["peak", "volcano", "saddle", "ridge", "cliff", "arete"];
|
|
62
|
+
type TileflowLandformClass = (typeof tileflowLandformClasses)[number];
|
|
63
|
+
type TileflowLandformsModuleOptions = {
|
|
64
|
+
classes?: Partial<Record<TileflowLandformClass, TileflowSymbolStyle>>;
|
|
65
|
+
/** Append source elevation in metres when the feature provides it. */
|
|
66
|
+
elevation?: boolean;
|
|
67
|
+
};
|
|
68
|
+
type TileflowLandformsModuleConfig = TileflowLandformsModuleOptions & {
|
|
69
|
+
type: 'landforms';
|
|
70
|
+
};
|
|
71
|
+
declare function landforms(options?: TileflowLandformsModuleOptions): TileflowLandformsModuleConfig;
|
|
72
|
+
|
|
73
|
+
/** Labels anchored inside polygon features; point-feature labels remain on their feature style. */
|
|
74
|
+
type TileflowNauticalAreaLabelStyles = {
|
|
75
|
+
coverage?: TileflowSymbolStyle;
|
|
76
|
+
hazards?: TileflowSymbolStyle;
|
|
77
|
+
navigationAreas?: TileflowSymbolStyle;
|
|
78
|
+
reefs?: TileflowSymbolStyle;
|
|
79
|
+
wrecks?: TileflowSymbolStyle;
|
|
80
|
+
};
|
|
81
|
+
type TileflowNauticalModuleOptions = {
|
|
82
|
+
aids?: TileflowMarkerSymbolStyle;
|
|
83
|
+
coverage?: TileflowAreaStyle;
|
|
84
|
+
hazardAreas?: TileflowAreaStyle;
|
|
85
|
+
hazards?: TileflowMarkerSymbolStyle;
|
|
86
|
+
labels?: TileflowNauticalAreaLabelStyles;
|
|
87
|
+
lighthouses?: TileflowMarkerSymbolStyle;
|
|
88
|
+
lights?: TileflowMarkerSymbolStyle;
|
|
89
|
+
navigationAreas?: TileflowAreaStyle;
|
|
90
|
+
reefs?: TileflowAreaStyle;
|
|
91
|
+
soundings?: TileflowMarkerSymbolStyle;
|
|
92
|
+
wreckAreas?: TileflowAreaStyle;
|
|
93
|
+
wrecks?: TileflowMarkerSymbolStyle;
|
|
94
|
+
};
|
|
95
|
+
type TileflowNauticalModuleConfig = TileflowNauticalModuleOptions & {
|
|
96
|
+
type: 'nautical';
|
|
97
|
+
};
|
|
98
|
+
/** Style the semantic objects published by the `nautical-v1` sidecar. */
|
|
99
|
+
declare function nautical(options?: TileflowNauticalModuleOptions): TileflowNauticalModuleConfig;
|
|
100
|
+
|
|
101
|
+
/** Compiler-only state produced by semantic module operations during map resolution. */
|
|
102
|
+
type TileflowResolvedModuleConfig<TModule extends {
|
|
103
|
+
type: string;
|
|
104
|
+
}> = TModule & {
|
|
105
|
+
readonly enabled?: boolean;
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
type TileflowTransitModuleOptions = {
|
|
109
|
+
cableway?: TileflowLineStyle;
|
|
110
|
+
ferry?: TileflowLineStyle;
|
|
111
|
+
rail?: TileflowTransitRailStyle;
|
|
112
|
+
railHatching?: TileflowTransitRailStyle;
|
|
113
|
+
serviceRail?: TileflowTransitRailStyle;
|
|
114
|
+
};
|
|
115
|
+
type TileflowTransitRailStyle = {
|
|
116
|
+
bridge?: TileflowLineStyle;
|
|
117
|
+
surface?: TileflowLineStyle;
|
|
118
|
+
tunnel?: TileflowLineStyle;
|
|
119
|
+
};
|
|
120
|
+
type TileflowTransitModuleConfig = TileflowTransitModuleOptions & {
|
|
121
|
+
type: 'transit';
|
|
122
|
+
};
|
|
123
|
+
declare function transit(options?: TileflowTransitModuleOptions): TileflowTransitModuleConfig;
|
|
124
|
+
|
|
125
|
+
type TileflowVegetationMode = '3d' | 'flat';
|
|
126
|
+
type TileflowVegetationThreeDimensionalStyle = {
|
|
127
|
+
barkColor?: TileflowThemeColorValue;
|
|
128
|
+
broadleafColors?: readonly TileflowThemeColorValue[];
|
|
129
|
+
coniferColors?: readonly TileflowThemeColorValue[];
|
|
130
|
+
crownScale?: TileflowThemeNumberValue;
|
|
131
|
+
heightScale?: TileflowThemeNumberValue;
|
|
132
|
+
};
|
|
133
|
+
type TileflowVegetationModuleOptions = {
|
|
134
|
+
flat?: TileflowCircleStyle;
|
|
135
|
+
minZoom?: number;
|
|
136
|
+
mode?: TileflowVegetationMode;
|
|
137
|
+
threeDimensional?: TileflowVegetationThreeDimensionalStyle;
|
|
138
|
+
};
|
|
139
|
+
type TileflowVegetationModuleConfig = TileflowVegetationModuleOptions & {
|
|
140
|
+
type: 'vegetation';
|
|
141
|
+
};
|
|
142
|
+
declare function vegetation(options?: TileflowVegetationModuleOptions): TileflowVegetationModuleConfig;
|
|
143
|
+
|
|
144
|
+
type TileflowWaterwayClass = 'canal' | 'other' | 'river' | 'stream';
|
|
145
|
+
type TileflowWaterModuleOptions = {
|
|
146
|
+
bathymetry?: TileflowFillStyle;
|
|
147
|
+
/** Opt-in approximate contours traced from discrete bathymetry polygon band edges. */
|
|
148
|
+
bathymetryContours?: TileflowLineStyle;
|
|
149
|
+
/** Opt-in labels for bathymetry polygon band floors, not measured survey soundings. */
|
|
150
|
+
bathymetryLabels?: TileflowSymbolStyle;
|
|
151
|
+
bodies?: TileflowAreaStyle;
|
|
152
|
+
intermittent?: {
|
|
153
|
+
bodies?: TileflowAreaStyle;
|
|
154
|
+
waterways?: TileflowLineStyle;
|
|
155
|
+
};
|
|
156
|
+
waterways?: Partial<Record<TileflowWaterwayClass, TileflowLineStyle>>;
|
|
157
|
+
};
|
|
158
|
+
type TileflowWaterModuleConfig = TileflowWaterModuleOptions & {
|
|
159
|
+
type: 'water';
|
|
160
|
+
};
|
|
161
|
+
declare function water(options?: TileflowWaterModuleOptions): TileflowWaterModuleConfig;
|
|
162
|
+
|
|
163
|
+
declare const tileflowWorldGeneration: "v1";
|
|
164
|
+
/** Mutable discovery selector. The server resolves it once to an immutable release in TileJSON. */
|
|
165
|
+
declare const tileflowWorldTileJsonUrl: "https://api.tileflow.dev/tiles/world/tiles.json";
|
|
166
|
+
|
|
167
|
+
declare const tileflowPrimarySourceId = "tileflow";
|
|
168
|
+
declare const openMapTilesContractVersion = 1;
|
|
169
|
+
type ParkLayerSemantics = 'mixed' | 'protected-only';
|
|
170
|
+
type OpenMapTilesLayerBindings = {
|
|
171
|
+
aerodromeLabel: string;
|
|
172
|
+
aeroway: string;
|
|
173
|
+
boundary: string;
|
|
174
|
+
building: string;
|
|
175
|
+
/** Required low-zoom GEBCO extension in the Tileflow World V1 schema. */
|
|
176
|
+
bathymetry?: string;
|
|
177
|
+
/** Optional derived commercial-activity polygons rendered below buildings. */
|
|
178
|
+
businessCorridor?: string;
|
|
179
|
+
/** Optional generated circle centers used for detailed roundabout rendering. */
|
|
180
|
+
circularFeature?: string;
|
|
181
|
+
/** Optional low-zoom global land-cover extension. Defaults to `globallandcover`. */
|
|
182
|
+
globalLandcover?: string;
|
|
183
|
+
houseNumber: string;
|
|
184
|
+
landcover: string;
|
|
185
|
+
landuse: string;
|
|
186
|
+
mountainPeak: string;
|
|
187
|
+
park: string;
|
|
188
|
+
place: string;
|
|
189
|
+
poi: string;
|
|
190
|
+
road: string;
|
|
191
|
+
roadName: string;
|
|
192
|
+
/** Optional generalized low-zoom route-shield points. Required by Tileflow World V1. */
|
|
193
|
+
roadShield?: string;
|
|
194
|
+
/** Optional detailed pedestrian-surface polygons. */
|
|
195
|
+
sidewalk?: string;
|
|
196
|
+
/** Optional point features such as pedestrian crossings. */
|
|
197
|
+
streetFurniture?: string;
|
|
198
|
+
/** Optional individual-tree point extension used by the vegetation module. */
|
|
199
|
+
tree?: string;
|
|
200
|
+
water: string;
|
|
201
|
+
waterName: string;
|
|
202
|
+
waterway: string;
|
|
203
|
+
};
|
|
204
|
+
type OpenMapTilesFieldBindings = {
|
|
205
|
+
access: string;
|
|
206
|
+
activityScore: string;
|
|
207
|
+
adminLevel: string;
|
|
208
|
+
bicycle: string;
|
|
209
|
+
/** GEBCO depth-band upper boundary in metres. */
|
|
210
|
+
bathymetryMinDepth?: string;
|
|
211
|
+
/** Stable shallow-to-deep ordering for GEBCO bands. */
|
|
212
|
+
bathymetrySortKey?: string;
|
|
213
|
+
brunnel: string;
|
|
214
|
+
buildingKind: string;
|
|
215
|
+
buildingTone: string;
|
|
216
|
+
capital: string;
|
|
217
|
+
/** Roundabout geometry kind in the optional circular-feature layer. */
|
|
218
|
+
circularKind?: string;
|
|
219
|
+
/** Precomputed roundabout radius in pixels at zoom 15. */
|
|
220
|
+
circularRadiusAtZoom15?: string;
|
|
221
|
+
/** Extra precomputed clearance on road approaches to a circular road at zoom 15. */
|
|
222
|
+
circularClearanceExtraAtZoom15?: string;
|
|
223
|
+
/** Roundabout radius in metres. */
|
|
224
|
+
circularRadiusMeters?: string;
|
|
225
|
+
/** Roundabout inner radius in metres. */
|
|
226
|
+
circularInnerRadiusMeters?: string;
|
|
227
|
+
/** Roundabout outer radius in metres. */
|
|
228
|
+
circularOuterRadiusMeters?: string;
|
|
229
|
+
class: string;
|
|
230
|
+
/** Crossing control classification on street-furniture points. */
|
|
231
|
+
crossing: string;
|
|
232
|
+
circumference: string;
|
|
233
|
+
classificationConfidence: string;
|
|
234
|
+
confidence: string;
|
|
235
|
+
diameterCrown: string;
|
|
236
|
+
disputed: string;
|
|
237
|
+
/** Direction in degrees for oriented street-furniture symbols. */
|
|
238
|
+
direction?: string;
|
|
239
|
+
elevation: string;
|
|
240
|
+
elevationFeet: string;
|
|
241
|
+
expressway: string;
|
|
242
|
+
foot: string;
|
|
243
|
+
height: string;
|
|
244
|
+
hide3d: string;
|
|
245
|
+
hasBusiness: string;
|
|
246
|
+
/** Whether a building footprint owns separately materialized building parts. */
|
|
247
|
+
hasParts?: string;
|
|
248
|
+
horse: string;
|
|
249
|
+
houseNumber: string;
|
|
250
|
+
/** Optional sparse 1–4 semantic and locally normalized urban-importance tier. */
|
|
251
|
+
importanceTier?: string;
|
|
252
|
+
iata: string;
|
|
253
|
+
icao: string;
|
|
254
|
+
indoor: string;
|
|
255
|
+
intermittent: string;
|
|
256
|
+
genus: string;
|
|
257
|
+
layer: string;
|
|
258
|
+
leafCycle: string;
|
|
259
|
+
leafType: string;
|
|
260
|
+
level: string;
|
|
261
|
+
maritime: string;
|
|
262
|
+
/** Physical crossing-marking classification on street-furniture points. */
|
|
263
|
+
markings: string;
|
|
264
|
+
minHeight: string;
|
|
265
|
+
minZoom: string;
|
|
266
|
+
mtbScale: string;
|
|
267
|
+
name: string;
|
|
268
|
+
nameEnglish: string;
|
|
269
|
+
nameLatin: string;
|
|
270
|
+
network: string;
|
|
271
|
+
official: string;
|
|
272
|
+
oneway: string;
|
|
273
|
+
/** Canonical editorial POI category. Never aliases OpenMapTiles `class`. */
|
|
274
|
+
poiCategory: string;
|
|
275
|
+
/** Per-zoom POI density tier from 0 (most selective) through 5. */
|
|
276
|
+
poiFilterRank: string;
|
|
277
|
+
/** Producer-selected POI icon key. */
|
|
278
|
+
poiIcon: string;
|
|
279
|
+
/** Physical-size tier from 0 (largest) through 16 (point-sized). */
|
|
280
|
+
poiSizeRank: string;
|
|
281
|
+
/** Canonical specific POI type. Never aliases OpenMapTiles `subclass`. */
|
|
282
|
+
poiType: string;
|
|
283
|
+
ramp: string;
|
|
284
|
+
rank: string;
|
|
285
|
+
ref: string;
|
|
286
|
+
refLength: string;
|
|
287
|
+
renderHeight: string;
|
|
288
|
+
renderMinZoom: string;
|
|
289
|
+
renderMinHeight: string;
|
|
290
|
+
/** Optional producer-normalized route-shield family. Required by Tileflow World V1. */
|
|
291
|
+
shieldKind?: string;
|
|
292
|
+
/** Optional merged line length used to bound detailed route-shield repetition. */
|
|
293
|
+
shieldLineLengthMeters?: string;
|
|
294
|
+
/** Optional producer-normalized route network identifier. */
|
|
295
|
+
shieldNetwork?: string;
|
|
296
|
+
/** Optional producer-normalized route-shield collision rank. */
|
|
297
|
+
shieldRank?: string;
|
|
298
|
+
/** Optional producer-normalized route-shield text. */
|
|
299
|
+
shieldText?: string;
|
|
300
|
+
/** Optional producer-normalized route-shield ink role. Required by Tileflow World V1. */
|
|
301
|
+
shieldTextColor?: string;
|
|
302
|
+
service: string;
|
|
303
|
+
species: string;
|
|
304
|
+
speciesWikidata: string;
|
|
305
|
+
subclass: string;
|
|
306
|
+
surface: string;
|
|
307
|
+
toll: string;
|
|
308
|
+
};
|
|
309
|
+
type OpenMapTilesSchemaOptions = {
|
|
310
|
+
capabilities?: {
|
|
311
|
+
businessCorridor?: boolean;
|
|
312
|
+
bathymetry?: boolean;
|
|
313
|
+
globalLandcover?: boolean;
|
|
314
|
+
tree?: boolean;
|
|
315
|
+
};
|
|
316
|
+
fields?: Partial<OpenMapTilesFieldBindings>;
|
|
317
|
+
layers?: Partial<OpenMapTilesLayerBindings>;
|
|
318
|
+
semantics?: {
|
|
319
|
+
/** Whether the bound park layer mixes ordinary parks with protected areas. */
|
|
320
|
+
parkLayer?: ParkLayerSemantics;
|
|
321
|
+
};
|
|
322
|
+
};
|
|
323
|
+
type OpenMapTilesSchema = {
|
|
324
|
+
type: 'openmaptiles';
|
|
325
|
+
contractVersion: typeof openMapTilesContractVersion;
|
|
326
|
+
fields: OpenMapTilesFieldBindings;
|
|
327
|
+
layers: OpenMapTilesLayerBindings;
|
|
328
|
+
semantics: {
|
|
329
|
+
parkLayer: ParkLayerSemantics;
|
|
330
|
+
};
|
|
331
|
+
};
|
|
332
|
+
type TileflowWorldV1Schema = Omit<OpenMapTilesSchema, 'fields' | 'layers'> & {
|
|
333
|
+
fields: OpenMapTilesFieldBindings & {
|
|
334
|
+
bathymetryMinDepth: string;
|
|
335
|
+
bathymetrySortKey: string;
|
|
336
|
+
circularClearanceExtraAtZoom15: string;
|
|
337
|
+
circularInnerRadiusMeters: string;
|
|
338
|
+
circularKind: string;
|
|
339
|
+
circularOuterRadiusMeters: string;
|
|
340
|
+
circularRadiusAtZoom15: string;
|
|
341
|
+
circularRadiusMeters: string;
|
|
342
|
+
direction: string;
|
|
343
|
+
hasParts: string;
|
|
344
|
+
shieldKind: string;
|
|
345
|
+
shieldLineLengthMeters: string;
|
|
346
|
+
shieldNetwork: string;
|
|
347
|
+
shieldRank: string;
|
|
348
|
+
shieldText: string;
|
|
349
|
+
shieldTextColor: string;
|
|
350
|
+
};
|
|
351
|
+
layers: OpenMapTilesLayerBindings & {
|
|
352
|
+
bathymetry: string;
|
|
353
|
+
circularFeature: string;
|
|
354
|
+
globalLandcover: string;
|
|
355
|
+
sidewalk: string;
|
|
356
|
+
streetFurniture: string;
|
|
357
|
+
roadShield: string;
|
|
358
|
+
};
|
|
359
|
+
};
|
|
360
|
+
type TileflowWorldReleaseReference = Readonly<{
|
|
361
|
+
descriptorSha256: string;
|
|
362
|
+
releaseId: string;
|
|
363
|
+
}>;
|
|
364
|
+
type TileflowWorldSelection = Readonly<{
|
|
365
|
+
kind: 'current';
|
|
366
|
+
product: 'world-v1';
|
|
367
|
+
}> | Readonly<{
|
|
368
|
+
kind: 'release';
|
|
369
|
+
product: 'world-v1';
|
|
370
|
+
release: TileflowWorldReleaseReference;
|
|
371
|
+
}>;
|
|
372
|
+
type TileflowWorldData = {
|
|
373
|
+
generation: typeof tileflowWorldGeneration;
|
|
374
|
+
selection: TileflowWorldSelection;
|
|
375
|
+
type: 'tileflow-world';
|
|
376
|
+
};
|
|
377
|
+
type VectorTilesDataCommon = {
|
|
378
|
+
type: 'vector-tiles';
|
|
379
|
+
attribution: string;
|
|
380
|
+
revision?: string;
|
|
381
|
+
schema: OpenMapTilesSchema;
|
|
382
|
+
};
|
|
383
|
+
type VectorTilesData = VectorTilesDataCommon & ({
|
|
384
|
+
bounds?: never;
|
|
385
|
+
maxzoom?: never;
|
|
386
|
+
minzoom?: never;
|
|
387
|
+
tiles?: never;
|
|
388
|
+
url: string;
|
|
389
|
+
} | {
|
|
390
|
+
bounds?: [number, number, number, number];
|
|
391
|
+
maxzoom?: number;
|
|
392
|
+
minzoom?: number;
|
|
393
|
+
tiles: [string, ...string[]];
|
|
394
|
+
url?: never;
|
|
395
|
+
});
|
|
396
|
+
type TileflowDataConfig = TileflowWorldData | VectorTilesData;
|
|
397
|
+
type TileflowDataIdentity = {
|
|
398
|
+
bindings?: {
|
|
399
|
+
fields: OpenMapTilesFieldBindings;
|
|
400
|
+
layers: OpenMapTilesLayerBindings;
|
|
401
|
+
};
|
|
402
|
+
capabilities?: {
|
|
403
|
+
businessCorridor: boolean;
|
|
404
|
+
bathymetry: boolean;
|
|
405
|
+
globalLandcover: boolean;
|
|
406
|
+
tree: boolean;
|
|
407
|
+
};
|
|
408
|
+
generation?: typeof tileflowWorldGeneration;
|
|
409
|
+
kind: TileflowDataConfig['type'];
|
|
410
|
+
/** External fixture identity. */
|
|
411
|
+
revision?: string;
|
|
412
|
+
schema: OpenMapTilesSchema['type'];
|
|
413
|
+
schemaVersion: number;
|
|
414
|
+
semantics: OpenMapTilesSchema['semantics'];
|
|
415
|
+
sourceId: typeof tileflowPrimarySourceId;
|
|
416
|
+
url?: string;
|
|
417
|
+
worldSelection?: TileflowWorldSelection;
|
|
418
|
+
};
|
|
419
|
+
type ResolvedTileflowData = {
|
|
420
|
+
attribution: string;
|
|
421
|
+
bounds?: [number, number, number, number];
|
|
422
|
+
generation?: typeof tileflowWorldGeneration;
|
|
423
|
+
identity: TileflowDataIdentity;
|
|
424
|
+
kind: TileflowDataConfig['type'];
|
|
425
|
+
maxzoom?: number;
|
|
426
|
+
minzoom?: number;
|
|
427
|
+
revision?: string;
|
|
428
|
+
schema: OpenMapTilesSchema;
|
|
429
|
+
sourceId: typeof tileflowPrimarySourceId;
|
|
430
|
+
tiles?: string[];
|
|
431
|
+
url?: string;
|
|
432
|
+
};
|
|
433
|
+
declare function openMapTiles(options?: OpenMapTilesSchemaOptions): OpenMapTilesSchema;
|
|
434
|
+
/** OpenMapTiles plus the required typed extensions emitted by Tileflow World V1. */
|
|
435
|
+
declare function tileflowWorldV1Schema(options?: OpenMapTilesSchemaOptions): TileflowWorldV1Schema;
|
|
436
|
+
declare function validateTileflowWorldV1Tilejson(tilejson: {
|
|
437
|
+
vector_layers?: readonly unknown[];
|
|
438
|
+
} | null | undefined, schema?: TileflowWorldV1Schema): string[];
|
|
439
|
+
declare function tileflowWorld(options?: {
|
|
440
|
+
release?: TileflowWorldReleaseReference;
|
|
441
|
+
}): TileflowWorldData;
|
|
442
|
+
declare function vectorTiles(options: {
|
|
443
|
+
attribution: string;
|
|
444
|
+
bounds?: [number, number, number, number];
|
|
445
|
+
maxzoom?: number;
|
|
446
|
+
minzoom?: number;
|
|
447
|
+
revision?: string;
|
|
448
|
+
schema: OpenMapTilesSchema;
|
|
449
|
+
tiles?: readonly [string, ...string[]];
|
|
450
|
+
url?: string;
|
|
451
|
+
}): VectorTilesData;
|
|
452
|
+
declare function resolveTileflowData(data: TileflowDataConfig | undefined, options?: {
|
|
453
|
+
apiBaseUrl?: string;
|
|
454
|
+
}): ResolvedTileflowData;
|
|
455
|
+
declare function isCanonicalOpenMapTilesSchema(schema: OpenMapTilesSchema): boolean;
|
|
456
|
+
|
|
457
|
+
declare const tileflowBathymetrySourceId: "tileflow-bathymetry";
|
|
458
|
+
declare const tileflowBathymetryDemSourceId: "tileflow-bathymetry-dem";
|
|
459
|
+
declare const tileflowNauticalSourceId: "tileflow-nautical";
|
|
460
|
+
declare const tileflowBathymetryV1Schema: Readonly<{
|
|
461
|
+
fields: Readonly<{
|
|
462
|
+
minDepth: "min_depth";
|
|
463
|
+
sortKey: "sort_key";
|
|
464
|
+
}>;
|
|
465
|
+
layer: "bathymetry";
|
|
466
|
+
layers: Readonly<{
|
|
467
|
+
bands: "bathymetry";
|
|
468
|
+
contours: "bathymetry_contour";
|
|
469
|
+
coverage: "bathymetry_coverage";
|
|
470
|
+
landforms: "seafloor_landform";
|
|
471
|
+
waterNames: "water_name";
|
|
472
|
+
}>;
|
|
473
|
+
optionalLayers: readonly ["contours", "coverage", "landforms", "waterNames"];
|
|
474
|
+
product: "bathymetry-v1";
|
|
475
|
+
requiredLayers: readonly ["bands"];
|
|
476
|
+
schemaVersion: 1;
|
|
477
|
+
sources: Readonly<{
|
|
478
|
+
dem: Readonly<{
|
|
479
|
+
encoding: "terrarium";
|
|
480
|
+
sourceId: "tileflow-bathymetry-dem";
|
|
481
|
+
tileSize: 512;
|
|
482
|
+
}>;
|
|
483
|
+
vector: Readonly<{
|
|
484
|
+
sourceId: "tileflow-bathymetry";
|
|
485
|
+
}>;
|
|
486
|
+
}>;
|
|
487
|
+
}>;
|
|
488
|
+
declare const tileflowNauticalV1Schema: Readonly<{
|
|
489
|
+
fields: Readonly<{
|
|
490
|
+
cell: "cell";
|
|
491
|
+
character: "character";
|
|
492
|
+
class: "class";
|
|
493
|
+
color: "color";
|
|
494
|
+
coverage: "coverage";
|
|
495
|
+
depth: "depth";
|
|
496
|
+
direction: "direction";
|
|
497
|
+
edition: "edition";
|
|
498
|
+
licence: "licence";
|
|
499
|
+
name: "name";
|
|
500
|
+
provider: "provider";
|
|
501
|
+
provenance: "provenance";
|
|
502
|
+
quality: "quality";
|
|
503
|
+
rangeNm: "range_nm";
|
|
504
|
+
scale: "scale";
|
|
505
|
+
subclass: "subclass";
|
|
506
|
+
update: "update";
|
|
507
|
+
}>;
|
|
508
|
+
geometryTypes: Readonly<{
|
|
509
|
+
aids: readonly ["Point"];
|
|
510
|
+
coverage: readonly ["Polygon"];
|
|
511
|
+
hazards: readonly ["Point", "Polygon"];
|
|
512
|
+
lights: readonly ["Point"];
|
|
513
|
+
navigationAreas: readonly ["Polygon"];
|
|
514
|
+
reefs: readonly ["Polygon"];
|
|
515
|
+
soundings: readonly ["Point"];
|
|
516
|
+
wrecks: readonly ["Point", "Polygon"];
|
|
517
|
+
}>;
|
|
518
|
+
layers: Readonly<{
|
|
519
|
+
aids: "aid";
|
|
520
|
+
coverage: "coverage";
|
|
521
|
+
hazards: "hazard";
|
|
522
|
+
lights: "light";
|
|
523
|
+
navigationAreas: "navigation_area";
|
|
524
|
+
reefs: "reef";
|
|
525
|
+
soundings: "sounding";
|
|
526
|
+
wrecks: "wreck";
|
|
527
|
+
}>;
|
|
528
|
+
product: "nautical-v1";
|
|
529
|
+
schemaVersion: 1;
|
|
530
|
+
}>;
|
|
531
|
+
type TileflowMarineMode = 'none' | 'bathymetry' | 'nautical' | 'chart';
|
|
532
|
+
/** One schema-compatible vector TileJSON source used by a marine sidecar. */
|
|
533
|
+
type TileflowMarineSourceConfig = {
|
|
534
|
+
attribution?: string;
|
|
535
|
+
sourceId?: string;
|
|
536
|
+
url?: string;
|
|
537
|
+
};
|
|
538
|
+
type TileflowBathymetryDisplay = 'bands' | 'relief' | 'hybrid';
|
|
539
|
+
/**
|
|
540
|
+
* Styling and physical-source overrides for the optional Bathymetry DEM.
|
|
541
|
+
* Terrarium and 512 px tiles are the hosted defaults; advanced compatible sources may override
|
|
542
|
+
* either. `opacity` applies to both the continuous color relief and the hillshade tint.
|
|
543
|
+
*/
|
|
544
|
+
type TileflowBathymetryReliefConfig = TileflowTerrainHillshadeStyle & {
|
|
545
|
+
attribution?: string;
|
|
546
|
+
encoding?: TileflowTerrainEncoding;
|
|
547
|
+
illuminationAltitude?: TileflowThemeNumberValue;
|
|
548
|
+
multidirectional?: boolean;
|
|
549
|
+
opacity?: TileflowThemeNumberValue;
|
|
550
|
+
sourceId?: string;
|
|
551
|
+
tileSize?: 256 | 512;
|
|
552
|
+
url?: string;
|
|
553
|
+
};
|
|
554
|
+
/** One logical Bathymetry product backed by vector bands and, when requested, a DEM. */
|
|
555
|
+
type TileflowBathymetryConfig = TileflowMarineSourceConfig & {
|
|
556
|
+
bands?: false | TileflowFillStyle;
|
|
557
|
+
contours?: false | TileflowLineStyle;
|
|
558
|
+
display?: TileflowBathymetryDisplay;
|
|
559
|
+
labels?: false | TileflowSymbolStyle;
|
|
560
|
+
relief?: false | TileflowBathymetryReliefConfig;
|
|
561
|
+
type: 'bathymetry';
|
|
562
|
+
};
|
|
563
|
+
type TileflowBathymetryOptions = Omit<TileflowBathymetryConfig, 'type'>;
|
|
564
|
+
/** Configure Bathymetry as one product while loading only the physical sources its display needs. */
|
|
565
|
+
declare function bathymetry(options?: TileflowBathymetryOptions): TileflowBathymetryConfig;
|
|
566
|
+
/**
|
|
567
|
+
* Advanced marine selection. An omitted member selects Tileflow's current product; `false`
|
|
568
|
+
* disables only that member. Therefore `{}` is equivalent to `"chart"`.
|
|
569
|
+
*/
|
|
570
|
+
type TileflowMarineConfig = {
|
|
571
|
+
bathymetry?: false | TileflowBathymetryConfig | TileflowMarineSourceConfig;
|
|
572
|
+
nautical?: false | TileflowMarineSourceConfig;
|
|
573
|
+
};
|
|
574
|
+
type TileflowMarine = TileflowMarineMode | TileflowMarineConfig;
|
|
575
|
+
type TileflowMarineSourceIdentity = Readonly<{
|
|
576
|
+
kind: 'tileflow-bathymetry' | 'tileflow-nautical';
|
|
577
|
+
product: 'bathymetry-v1' | 'nautical-v1';
|
|
578
|
+
schemaVersion: 1;
|
|
579
|
+
sourceId: string;
|
|
580
|
+
url: string;
|
|
581
|
+
}>;
|
|
582
|
+
type TileflowBathymetryDemSourceIdentity = Readonly<{
|
|
583
|
+
encoding: TileflowTerrainEncoding;
|
|
584
|
+
kind: 'tileflow-bathymetry-dem';
|
|
585
|
+
product: 'bathymetry-v1';
|
|
586
|
+
schemaVersion: 1;
|
|
587
|
+
sourceId: string;
|
|
588
|
+
tileSize: 256 | 512;
|
|
589
|
+
url: string;
|
|
590
|
+
}>;
|
|
591
|
+
type ResolvedMarineSource = Readonly<{
|
|
592
|
+
identity: TileflowMarineSourceIdentity;
|
|
593
|
+
source: Readonly<Record<string, unknown> & {
|
|
594
|
+
type: 'vector';
|
|
595
|
+
url: string;
|
|
596
|
+
}>;
|
|
597
|
+
sourceId: string;
|
|
598
|
+
}>;
|
|
599
|
+
type ResolvedBathymetryRelief = Readonly<{
|
|
600
|
+
identity: TileflowBathymetryDemSourceIdentity;
|
|
601
|
+
source: Readonly<Record<string, unknown> & {
|
|
602
|
+
encoding: TileflowTerrainEncoding;
|
|
603
|
+
tileSize: 256 | 512;
|
|
604
|
+
type: 'raster-dem';
|
|
605
|
+
url: string;
|
|
606
|
+
}>;
|
|
607
|
+
sourceId: string;
|
|
608
|
+
style: TileflowBathymetryReliefConfig;
|
|
609
|
+
}>;
|
|
610
|
+
type ResolvedBathymetry = Readonly<{
|
|
611
|
+
bands?: false | TileflowFillStyle;
|
|
612
|
+
contours?: false | TileflowLineStyle;
|
|
613
|
+
display: TileflowBathymetryDisplay;
|
|
614
|
+
labels?: false | TileflowSymbolStyle;
|
|
615
|
+
relief?: ResolvedBathymetryRelief;
|
|
616
|
+
vector?: ResolvedMarineSource;
|
|
617
|
+
}>;
|
|
618
|
+
type ResolvedMarine = Readonly<{
|
|
619
|
+
bathymetry?: ResolvedBathymetry;
|
|
620
|
+
nautical?: ResolvedMarineSource;
|
|
621
|
+
}>;
|
|
622
|
+
/** Resolve the optional marine sidecars without fetching their TileJSON documents. */
|
|
623
|
+
declare function resolveMarine(marine: TileflowMarine | undefined, apiBaseUrl?: string): ResolvedMarine | undefined;
|
|
624
|
+
|
|
625
|
+
type TileflowVisualValueCategory = 'color' | 'font' | 'image' | 'number';
|
|
626
|
+
/** Return the semantic theme category for one visual property, or undefined for structure/data. */
|
|
627
|
+
declare function classifyTileflowVisualProperty(property: string, value?: unknown): TileflowVisualValueCategory | undefined;
|
|
628
|
+
|
|
629
|
+
type TileflowThemeColorScheme = 'dark' | 'light';
|
|
630
|
+
type TileflowThemeName = string;
|
|
631
|
+
declare const tileflowThemeLimits: Readonly<{
|
|
632
|
+
readonly maxThemes: 64;
|
|
633
|
+
}>;
|
|
634
|
+
type TileflowThemeTokens = {
|
|
635
|
+
color: Readonly<Record<string, TileflowThemeColorValue>>;
|
|
636
|
+
font: Readonly<Record<string, TileflowThemeFontValue>>;
|
|
637
|
+
image: Readonly<Record<string, TileflowThemeImageValue>>;
|
|
638
|
+
number: Readonly<Record<string, TileflowThemeNumberValue>>;
|
|
639
|
+
};
|
|
640
|
+
type TileflowThemeTypographyStyle = {
|
|
641
|
+
fallbacks?: readonly TileflowThemeFontValue[];
|
|
642
|
+
font?: TileflowThemeFontValue;
|
|
643
|
+
letterSpacing?: TileflowThemeNumberValue;
|
|
644
|
+
transform?: TileflowTypographyStyle['transform'];
|
|
645
|
+
};
|
|
646
|
+
type TileflowThemeTypography = TileflowThemeTypographyStyle & {
|
|
647
|
+
places?: TileflowThemeTypographyStyle;
|
|
648
|
+
poi?: TileflowThemeTypographyStyle;
|
|
649
|
+
roads?: TileflowThemeTypographyStyle;
|
|
650
|
+
water?: TileflowThemeTypographyStyle;
|
|
651
|
+
};
|
|
652
|
+
type TileflowThemeLighting = {
|
|
653
|
+
anchor?: 'map' | 'viewport';
|
|
654
|
+
color?: TileflowThemeColorValue;
|
|
655
|
+
intensity?: TileflowThemeNumberValue;
|
|
656
|
+
position?: readonly [
|
|
657
|
+
TileflowThemeNumberValue,
|
|
658
|
+
TileflowThemeNumberValue,
|
|
659
|
+
TileflowThemeNumberValue
|
|
660
|
+
];
|
|
661
|
+
};
|
|
662
|
+
/** A complete, inheritance-free appearance document. */
|
|
663
|
+
type TileflowTheme = {
|
|
664
|
+
colorScheme: TileflowThemeColorScheme;
|
|
665
|
+
id: string;
|
|
666
|
+
lighting: TileflowThemeLighting;
|
|
667
|
+
tokens: TileflowThemeTokens;
|
|
668
|
+
typography: TileflowThemeTypography;
|
|
669
|
+
version: number;
|
|
670
|
+
};
|
|
671
|
+
type TileflowThemeTokenOverrides = {
|
|
672
|
+
[TCategory in keyof TileflowThemeTokens]?: Readonly<Partial<TileflowThemeTokens[TCategory]>>;
|
|
673
|
+
};
|
|
674
|
+
/** Input accepted by defineTheme. The returned theme is always fully materialized. */
|
|
675
|
+
type TileflowThemeDefinition = Pick<TileflowTheme, 'colorScheme' | 'id' | 'version'> & {
|
|
676
|
+
lighting?: TileflowThemeLighting;
|
|
677
|
+
tokens?: TileflowThemeTokenOverrides;
|
|
678
|
+
typography?: TileflowThemeTypography;
|
|
679
|
+
};
|
|
680
|
+
type ResolvedTileflowThemeTokens = {
|
|
681
|
+
color: Readonly<Record<string, string>>;
|
|
682
|
+
font: Readonly<Record<string, string>>;
|
|
683
|
+
image: Readonly<Record<string, string>>;
|
|
684
|
+
number: Readonly<Record<string, number>>;
|
|
685
|
+
};
|
|
686
|
+
type ResolvedTileflowTheme = Omit<TileflowTheme, 'lighting' | 'tokens' | 'typography'> & {
|
|
687
|
+
lighting: TileflowLight;
|
|
688
|
+
tokens: ResolvedTileflowThemeTokens;
|
|
689
|
+
typography: ResolvedTileflowTypography;
|
|
690
|
+
};
|
|
691
|
+
type TileflowResolvedThemeSelection = {
|
|
692
|
+
name: TileflowThemeName;
|
|
693
|
+
theme: TileflowTheme;
|
|
694
|
+
};
|
|
695
|
+
type TileflowThemeAuditScope = 'module' | 'terrain' | 'value';
|
|
696
|
+
type TileflowThemeAuditContext = {
|
|
697
|
+
owner?: string;
|
|
698
|
+
scope: TileflowThemeAuditScope;
|
|
699
|
+
target?: string;
|
|
700
|
+
};
|
|
701
|
+
type TileflowThemeAuditDiagnostic = {
|
|
702
|
+
category: TileflowVisualValueCategory;
|
|
703
|
+
code: 'THEME_IMPLICIT_FIXED';
|
|
704
|
+
message: string;
|
|
705
|
+
owner?: string;
|
|
706
|
+
path: string;
|
|
707
|
+
phase: 'theme-audit';
|
|
708
|
+
scope: TileflowThemeAuditScope;
|
|
709
|
+
severity: 'error' | 'warning';
|
|
710
|
+
suggestion: string;
|
|
711
|
+
target?: string;
|
|
712
|
+
value: number | string;
|
|
713
|
+
};
|
|
714
|
+
/** A deterministic, machine-readable failure for blocking theme-audit diagnostics. */
|
|
715
|
+
declare class TileflowThemeAuditError extends Error {
|
|
716
|
+
readonly diagnostics: readonly TileflowThemeAuditDiagnostic[];
|
|
717
|
+
constructor(diagnostics: readonly TileflowThemeAuditDiagnostic[]);
|
|
718
|
+
}
|
|
719
|
+
declare function defineTheme(definition: TileflowThemeDefinition): TileflowTheme;
|
|
720
|
+
declare function defineTheme(base: TileflowTheme, definition: TileflowThemeDefinition): TileflowTheme;
|
|
721
|
+
declare function resolveTileflowTheme(theme: TileflowTheme): ResolvedTileflowTheme;
|
|
722
|
+
/** Resolve every theme node in modules, terrain, zoom values and expression arrays. */
|
|
723
|
+
declare function resolveThemeValues<T>(value: T, theme: TileflowTheme, path?: string): T;
|
|
724
|
+
/** Select an explicit theme or the map's deterministic default. Browser "system" is external. */
|
|
725
|
+
declare function resolveThemeSelection(map: {
|
|
726
|
+
defaultTheme: string;
|
|
727
|
+
themes: Readonly<Record<string, TileflowTheme>>;
|
|
728
|
+
}, requested?: string): TileflowResolvedThemeSelection;
|
|
729
|
+
/** Find visual literals whose permanence is otherwise invisible to an agent. */
|
|
730
|
+
declare function auditTileflowThemeValues(value: unknown, path?: string, context?: TileflowThemeAuditContext): TileflowThemeAuditDiagnostic[];
|
|
731
|
+
/** Audit every appearance-bearing branch of a resolved map. */
|
|
732
|
+
declare function auditTileflowMapThemeValues(map: {
|
|
733
|
+
modules?: unknown;
|
|
734
|
+
terrain?: unknown;
|
|
735
|
+
}): TileflowThemeAuditDiagnostic[];
|
|
736
|
+
/** Fail closed when a map contains implicit chromatic, font, or image literals. */
|
|
737
|
+
declare function assertTileflowMapThemeValues(map: {
|
|
738
|
+
modules?: unknown;
|
|
739
|
+
terrain?: unknown;
|
|
740
|
+
}): void;
|
|
741
|
+
|
|
742
|
+
type TileflowLayerDomain = TileflowSemanticModuleName | 'terrain';
|
|
743
|
+
|
|
744
|
+
declare const tileflowLayerSlots: readonly ["background", "land", "terrain", "hydro", "building-areas", "transport-areas", "transport-tunnel-shadow", "transport-tunnel-casing", "transport-tunnel-fill", "transport-pedestrian-areas", "aeroways", "transport-surface-shadow", "transport-surface-casing", "transport-surface-fill", "transport-bridge-shadow", "transport-bridge-casing", "transport-bridge-fill", "transport-symbols", "boundaries", "buildings", "vegetation", "symbols"];
|
|
745
|
+
type TileflowLayerSlot = (typeof tileflowLayerSlots)[number];
|
|
746
|
+
|
|
747
|
+
type TileflowSemanticModules = {
|
|
748
|
+
addresses?: TileflowAddressesModuleConfig;
|
|
749
|
+
aeroways?: TileflowAerowaysModuleConfig;
|
|
750
|
+
boundaries?: TileflowBoundariesModuleConfig;
|
|
751
|
+
buildings?: TileflowBuildingsModuleConfig;
|
|
752
|
+
labels?: TileflowLabelsModuleConfig;
|
|
753
|
+
land?: TileflowLandModuleConfig;
|
|
754
|
+
landforms?: TileflowLandformsModuleConfig;
|
|
755
|
+
nautical?: TileflowNauticalModuleConfig;
|
|
756
|
+
poi?: TileflowPoiModuleConfig;
|
|
757
|
+
roads?: TileflowRoadsModuleConfig;
|
|
758
|
+
transit?: TileflowTransitModuleConfig;
|
|
759
|
+
vegetation?: TileflowVegetationModuleConfig;
|
|
760
|
+
water?: TileflowWaterModuleConfig;
|
|
761
|
+
};
|
|
762
|
+
type TileflowSemanticModuleName = keyof TileflowSemanticModules;
|
|
763
|
+
type TileflowResolvedSemanticModuleOverrides = {
|
|
764
|
+
readonly [TName in TileflowSemanticModuleName]?: TileflowResolvedModuleConfig<NonNullable<TileflowSemanticModules[TName]>>;
|
|
765
|
+
};
|
|
766
|
+
|
|
767
|
+
declare const tileflowOverlayPlacements: readonly ["above-water", "below-roads", "above-roads", "above-buildings", "below-labels", "above-labels"];
|
|
768
|
+
declare const tileflowHostedSourceLimit: 16;
|
|
769
|
+
type TileflowOverlayPlacement = (typeof tileflowOverlayPlacements)[number];
|
|
770
|
+
type TileflowHostedTilesetType = 'raster' | 'vector';
|
|
771
|
+
type TileflowHostedTilesetSource = Readonly<{
|
|
772
|
+
attribution: string;
|
|
773
|
+
kind: 'hosted-tileset';
|
|
774
|
+
local: string;
|
|
775
|
+
tileset: string;
|
|
776
|
+
tileSize?: 256 | 512;
|
|
777
|
+
type: TileflowHostedTilesetType;
|
|
778
|
+
}>;
|
|
779
|
+
type TileflowMapLibreOverlayLayer = Readonly<Record<string, unknown> & {
|
|
780
|
+
id: string;
|
|
781
|
+
source?: never;
|
|
782
|
+
type: string;
|
|
783
|
+
}>;
|
|
784
|
+
type TileflowMapLibreOverlay = Readonly<{
|
|
785
|
+
kind: 'maplibre-overlay';
|
|
786
|
+
layers: readonly TileflowMapLibreOverlayLayer[];
|
|
787
|
+
placement: TileflowOverlayPlacement;
|
|
788
|
+
source: string;
|
|
789
|
+
}>;
|
|
790
|
+
type TileflowRemoveOperation = Readonly<{
|
|
791
|
+
op: 'remove';
|
|
792
|
+
}>;
|
|
793
|
+
type TileflowHostedSourceCollection = Readonly<Record<string, TileflowHostedTilesetSource | TileflowRemoveOperation>>;
|
|
794
|
+
type TileflowOverlayCollection = Readonly<Record<string, TileflowMapLibreOverlay | TileflowRemoveOperation>>;
|
|
795
|
+
/** Bind one logical Team tileset to an explicit account-free local PMTiles archive. */
|
|
796
|
+
declare function hostedTileset(options: {
|
|
797
|
+
attribution: string;
|
|
798
|
+
local: string;
|
|
799
|
+
tileset: string;
|
|
800
|
+
tileSize?: 256 | 512;
|
|
801
|
+
type?: TileflowHostedTilesetType;
|
|
802
|
+
}): TileflowHostedTilesetSource;
|
|
803
|
+
/** Group one or more ordinary MapLibre layers around one named Tileflow source. */
|
|
804
|
+
declare function maplibreOverlay(options: {
|
|
805
|
+
layers: readonly TileflowMapLibreOverlayLayer[];
|
|
806
|
+
placement: TileflowOverlayPlacement;
|
|
807
|
+
source: string;
|
|
808
|
+
}): TileflowMapLibreOverlay;
|
|
809
|
+
/** Remove one inherited keyed source or overlay. */
|
|
810
|
+
declare function remove(): TileflowRemoveOperation;
|
|
811
|
+
declare function isSafeLocalPmtilesPath(value: unknown): value is string;
|
|
812
|
+
|
|
813
|
+
/** A directory resolved relative to the selected executable tileflow.config.ts. */
|
|
814
|
+
type TileflowLocalDirectory = `./${string}` | `../${string}`;
|
|
815
|
+
declare const tileflowLocalDirectoryMaximumLength = 512;
|
|
816
|
+
declare const tileflowLocalDirectoryMessage = "Expected a canonical relative directory beginning with ./ or ../; only leading .. segments are allowed and segments must be non-empty, without backslashes or controls";
|
|
817
|
+
/** Exact portable syntax shared by config validation and Node filesystem resolution. */
|
|
818
|
+
declare function isTileflowLocalDirectory(value: unknown): value is TileflowLocalDirectory;
|
|
819
|
+
/**
|
|
820
|
+
* A package-owned asset directory. Applications normally import one of these
|
|
821
|
+
* descriptors from the package that owns the assets instead of constructing it.
|
|
822
|
+
*/
|
|
823
|
+
type TileflowPackageDirectory = Readonly<{
|
|
824
|
+
kind: 'package-directory';
|
|
825
|
+
package: string;
|
|
826
|
+
path: string;
|
|
827
|
+
}>;
|
|
828
|
+
/** One icon directory in the ordered map icon search path. */
|
|
829
|
+
type TileflowIconDirectory = TileflowLocalDirectory | TileflowPackageDirectory;
|
|
830
|
+
/** One font directory in the ordered map font search path. */
|
|
831
|
+
type TileflowFontDirectory = TileflowLocalDirectory | TileflowPackageDirectory;
|
|
832
|
+
/**
|
|
833
|
+
* An explicit MapLibre glyph provider. `fontStacks` lists the exact comma-joined request keys
|
|
834
|
+
* produced by each compiled `text-font` array. The map owns the URL; World never supplies fonts.
|
|
835
|
+
*/
|
|
836
|
+
type TileflowGlyphs = Readonly<{
|
|
837
|
+
fontStacks: readonly string[];
|
|
838
|
+
kind: 'url';
|
|
839
|
+
url: string;
|
|
840
|
+
}>;
|
|
841
|
+
|
|
842
|
+
declare const tileflowResetBrand: unique symbol;
|
|
843
|
+
/** Serializable sentinel that removes one inherited override during `refine()`. */
|
|
844
|
+
type TileflowReset = Readonly<{
|
|
845
|
+
readonly $tileflow: 'reset';
|
|
846
|
+
readonly [tileflowResetBrand]: true;
|
|
847
|
+
}>;
|
|
848
|
+
type TileflowPatchValue<TValue> = TileflowReset | (TValue extends readonly unknown[] ? TValue : TValue extends object ? TileflowNestedPatch<TValue> : TValue);
|
|
849
|
+
type TileflowNestedPatch<TValue extends object> = {
|
|
850
|
+
readonly [TKey in keyof TValue]?: TileflowPatchValue<TValue[TKey]>;
|
|
851
|
+
};
|
|
852
|
+
/**
|
|
853
|
+
* A recursive semantic patch. Records merge; arrays and scalar values replace.
|
|
854
|
+
* Module ownership and compiler visibility are immutable only at the patch root;
|
|
855
|
+
* nested domain options named `type` or `enabled` retain their ordinary meaning.
|
|
856
|
+
*/
|
|
857
|
+
type TileflowModulePatch<TModule extends object> = {
|
|
858
|
+
readonly [TKey in Exclude<keyof TModule, 'enabled' | 'type'>]?: TileflowPatchValue<TModule[TKey]>;
|
|
859
|
+
};
|
|
860
|
+
type TileflowRefineOperation<TPatch extends object = object> = Readonly<{
|
|
861
|
+
readonly op: 'refine';
|
|
862
|
+
readonly patches: readonly TPatch[];
|
|
863
|
+
}>;
|
|
864
|
+
type TileflowDisableOperation = Readonly<{
|
|
865
|
+
readonly op: 'disable';
|
|
866
|
+
}>;
|
|
867
|
+
type TileflowModuleOperation<TModule extends object> = TileflowDisableOperation | TileflowRefineOperation<TileflowModulePatch<TModule>>;
|
|
868
|
+
type TileflowAuthoringModules = {
|
|
869
|
+
readonly [TName in keyof TileflowSemanticModules]?: NonNullable<TileflowSemanticModules[TName]> | TileflowModuleOperation<NonNullable<TileflowSemanticModules[TName]>>;
|
|
870
|
+
};
|
|
871
|
+
/** Deeply refine an inherited module; arrays and scalar values replace atomically. */
|
|
872
|
+
declare function refine<const TPatch extends object>(...patches: readonly [TPatch, ...TPatch[]]): TileflowRefineOperation<TPatch>;
|
|
873
|
+
/** Disable a complete semantic module while retaining an explicit compiler decision. */
|
|
874
|
+
declare function disable(): TileflowDisableOperation;
|
|
875
|
+
/** Remove an inherited override so the domain registry can supply its semantic default. */
|
|
876
|
+
declare function reset(): TileflowReset;
|
|
877
|
+
|
|
878
|
+
/** Portable, filesystem-safe identity shared by maps and their leaf-owned scenes. */
|
|
879
|
+
declare const tileflowMapIdSchema: zod.ZodString;
|
|
880
|
+
/** Identity is always owned by the map being resolved and never inherited. */
|
|
881
|
+
type TileflowMapIdentity = {
|
|
882
|
+
id: string;
|
|
883
|
+
name?: string;
|
|
884
|
+
/** Editorial version of this map. */
|
|
885
|
+
version: number;
|
|
886
|
+
};
|
|
887
|
+
/** A capture scene owned by one singular map; its map id is implicit. */
|
|
888
|
+
type TileflowMapScene = Omit<TileflowCaptureScene, 'map'>;
|
|
889
|
+
/** Tooling metadata belongs to the leaf definition and is never inherited. */
|
|
890
|
+
type TileflowMapTooling = {
|
|
891
|
+
scenes?: Record<string, TileflowMapScene>;
|
|
892
|
+
};
|
|
893
|
+
type TileflowMapTextAssets = {
|
|
894
|
+
fonts?: never;
|
|
895
|
+
glyphs?: never;
|
|
896
|
+
} | {
|
|
897
|
+
fonts: readonly TileflowFontDirectory[];
|
|
898
|
+
glyphs?: never;
|
|
899
|
+
} | {
|
|
900
|
+
fonts?: never;
|
|
901
|
+
glyphs: TileflowGlyphs;
|
|
902
|
+
};
|
|
903
|
+
/** Cartographic fields supported by the V1 semantic compiler. */
|
|
904
|
+
type TileflowMapDesign = TileflowMapTextAssets & {
|
|
905
|
+
data?: TileflowDataConfig;
|
|
906
|
+
/** Name used whenever a concrete theme is not explicitly requested. */
|
|
907
|
+
defaultTheme?: TileflowThemeName;
|
|
908
|
+
/** Ordered icon directories. Omission inherits; declaration replaces; [] means no icons. */
|
|
909
|
+
icons?: readonly TileflowIconDirectory[];
|
|
910
|
+
/** Independent Bathymetry and Nautical products composed by the compiler. */
|
|
911
|
+
marine?: TileflowMarine;
|
|
912
|
+
/** Semantic domains, expressed directly or with explicit refine/disable operations. */
|
|
913
|
+
modules?: TileflowAuthoringModules;
|
|
914
|
+
/** Keyed MapLibre overlay units. Omission inherits; entries replace atomically. */
|
|
915
|
+
overlays?: TileflowOverlayCollection;
|
|
916
|
+
projection?: TileflowProjection;
|
|
917
|
+
/** Keyed logical hosted sources. Omission inherits; entries replace atomically. */
|
|
918
|
+
sources?: TileflowHostedSourceCollection;
|
|
919
|
+
/** Browser color-scheme mapping. Runtime resolves "system" to one of these concrete names. */
|
|
920
|
+
systemThemes?: {
|
|
921
|
+
dark: TileflowThemeName;
|
|
922
|
+
light: TileflowThemeName;
|
|
923
|
+
};
|
|
924
|
+
terrain?: TileflowTerrain;
|
|
925
|
+
/** Complete named appearances. Omission inherits; declaration replaces the collection. */
|
|
926
|
+
themes?: Readonly<Record<TileflowThemeName, TileflowTheme>>;
|
|
927
|
+
view?: TileflowViewConfig;
|
|
928
|
+
};
|
|
929
|
+
/** Complete semantic map at the base of a lineage. The compiler is implicit. */
|
|
930
|
+
type TileflowStandaloneMap = TileflowMapIdentity & TileflowMapTooling & TileflowMapDesign & {
|
|
931
|
+
defaultTheme: TileflowThemeName;
|
|
932
|
+
extends?: never;
|
|
933
|
+
themes: Readonly<Record<TileflowThemeName, TileflowTheme>>;
|
|
934
|
+
};
|
|
935
|
+
type TileflowDerivedMap = TileflowMapIdentity & TileflowMapTooling & TileflowMapDesign & {
|
|
936
|
+
extends: TileflowMap;
|
|
937
|
+
};
|
|
938
|
+
/** Executable authoring definition using the one implicit semantic compiler. */
|
|
939
|
+
type TileflowMap = TileflowDerivedMap | TileflowStandaloneMap;
|
|
940
|
+
type ResolvedTileflowMapDesign<TDesign extends TileflowMapDesign = TileflowMapDesign> = TDesign extends TileflowMapDesign ? Omit<TDesign, 'defaultTheme' | 'modules' | 'overlays' | 'sources' | 'themes'> : never;
|
|
941
|
+
/** A standalone map definition with inheritance removed. */
|
|
942
|
+
type ResolvedTileflowMap = Omit<TileflowMapIdentity, 'name'> & ResolvedTileflowMapDesign & {
|
|
943
|
+
defaultTheme: TileflowThemeName;
|
|
944
|
+
extends?: never;
|
|
945
|
+
modules?: TileflowResolvedSemanticModuleOverrides;
|
|
946
|
+
name: string;
|
|
947
|
+
overlays?: Readonly<Record<string, TileflowMapLibreOverlay>>;
|
|
948
|
+
sources?: Readonly<Record<string, TileflowHostedTilesetSource>>;
|
|
949
|
+
themes: Readonly<Record<TileflowThemeName, TileflowTheme>>;
|
|
950
|
+
};
|
|
951
|
+
type ResolveMapOptions = {
|
|
952
|
+
/** Maximum number of map definitions in a lineage, including its standalone base. */
|
|
953
|
+
maxDepth?: number;
|
|
954
|
+
};
|
|
955
|
+
|
|
956
|
+
type TileflowDataFieldType = 'Boolean' | 'Number' | 'String';
|
|
957
|
+
type TileflowDataFieldRequirement = Readonly<{
|
|
958
|
+
name: string;
|
|
959
|
+
type?: TileflowDataFieldType;
|
|
960
|
+
}>;
|
|
961
|
+
type TileflowDataLayerRequirement = Readonly<{
|
|
962
|
+
fields: readonly TileflowDataFieldRequirement[];
|
|
963
|
+
id: string;
|
|
964
|
+
}>;
|
|
965
|
+
type TileflowDataRequirementsV1 = Readonly<{
|
|
966
|
+
complete: boolean;
|
|
967
|
+
dynamicAccesses: readonly string[];
|
|
968
|
+
schemaVersion: 1;
|
|
969
|
+
sourceId: string;
|
|
970
|
+
sourceLayers: readonly TileflowDataLayerRequirement[];
|
|
971
|
+
}>;
|
|
972
|
+
/** Per-source requirements for styles that compose independent vector and DEM products. */
|
|
973
|
+
type TileflowSourceRequirementsV1 = Readonly<{
|
|
974
|
+
rasterDemSources?: Readonly<Record<string, TileflowRasterDemSourceRequirementV1>>;
|
|
975
|
+
schemaVersion: 1;
|
|
976
|
+
sources: Readonly<Record<string, TileflowDataRequirementsV1>>;
|
|
977
|
+
}>;
|
|
978
|
+
type TileflowRasterDemSourceRequirementV1 = Readonly<{
|
|
979
|
+
encoding: 'mapbox' | 'terrarium';
|
|
980
|
+
sourceId: string;
|
|
981
|
+
tileSize: 256 | 512;
|
|
982
|
+
type: 'raster-dem';
|
|
983
|
+
}>;
|
|
984
|
+
type TileflowObservedDataContractV1 = Readonly<{
|
|
985
|
+
sourceLayers: readonly Readonly<{
|
|
986
|
+
fields: readonly Readonly<{
|
|
987
|
+
name: string;
|
|
988
|
+
type: TileflowDataFieldType;
|
|
989
|
+
}>[];
|
|
990
|
+
id: string;
|
|
991
|
+
}>[];
|
|
992
|
+
}>;
|
|
993
|
+
type TileflowDataCompatibilityIssue = Readonly<{
|
|
994
|
+
code: 'dynamic-field-access' | 'field-missing' | 'field-type-mismatch' | 'source-layer-missing';
|
|
995
|
+
field?: string;
|
|
996
|
+
message: string;
|
|
997
|
+
sourceLayer?: string;
|
|
998
|
+
}>;
|
|
999
|
+
/**
|
|
1000
|
+
* Infer the effective data surface from finalized MapLibre layers. Disabled modules contribute no
|
|
1001
|
+
* requirements, and fields hidden by map inheritance never reach this compiler output.
|
|
1002
|
+
*/
|
|
1003
|
+
declare function inferTileflowDataRequirements(style: MapLibreStyle, options?: {
|
|
1004
|
+
additional?: readonly TileflowDataLayerRequirement[];
|
|
1005
|
+
sourceId?: string;
|
|
1006
|
+
}): TileflowDataRequirementsV1;
|
|
1007
|
+
/**
|
|
1008
|
+
* Infer the V1 layer/field contract for every referenced vector source and the physical contract
|
|
1009
|
+
* for each included raster DEM. The singular helper remains unchanged for World-only consumers.
|
|
1010
|
+
*/
|
|
1011
|
+
declare function inferTileflowSourceRequirements(style: MapLibreStyle): TileflowSourceRequirementsV1;
|
|
1012
|
+
/** Compare inferred use with producer-observed layers and fields; no editorial allowlist exists. */
|
|
1013
|
+
declare function validateTileflowDataCompatibility(requirements: TileflowDataRequirementsV1, contract: TileflowObservedDataContractV1): readonly TileflowDataCompatibilityIssue[];
|
|
1014
|
+
|
|
1015
|
+
/** Version of the opt-in, read-only physical-output inspection sidecar. */
|
|
1016
|
+
declare const tileflowStyleInspectionSchemaVersion: 1;
|
|
1017
|
+
type TileflowStyleInspectionRenderOperation = {
|
|
1018
|
+
readonly kind: 'pass' | 'refinement';
|
|
1019
|
+
readonly owner: TileflowLayerDomain;
|
|
1020
|
+
readonly target: string;
|
|
1021
|
+
};
|
|
1022
|
+
/** One semantic contribution represented by a compiled physical style layer. */
|
|
1023
|
+
type TileflowStyleInspectionContribution = {
|
|
1024
|
+
readonly owner: TileflowLayerDomain;
|
|
1025
|
+
readonly slot: TileflowLayerSlot;
|
|
1026
|
+
readonly target: string;
|
|
1027
|
+
/** Ordered semantic render operations represented by this contribution. */
|
|
1028
|
+
readonly operations: readonly TileflowStyleInspectionRenderOperation[];
|
|
1029
|
+
};
|
|
1030
|
+
type TileflowStyleInspectionLayer = {
|
|
1031
|
+
/** Opaque physical output identity for diagnostics; never a public authoring target. */
|
|
1032
|
+
readonly id: string;
|
|
1033
|
+
readonly index: number;
|
|
1034
|
+
readonly type: string;
|
|
1035
|
+
/** Multiple entries are expected when the physical planner combines semantic layers. */
|
|
1036
|
+
readonly contributions: readonly TileflowStyleInspectionContribution[];
|
|
1037
|
+
};
|
|
1038
|
+
/**
|
|
1039
|
+
* Opt-in, read-only cartographic provenance for diagnostics and build tooling.
|
|
1040
|
+
* Physical IDs are output observations, not stable or addressable authoring APIs.
|
|
1041
|
+
* This object is never embedded in Style JSON.
|
|
1042
|
+
*/
|
|
1043
|
+
type TileflowStyleInspection = {
|
|
1044
|
+
readonly schemaVersion: typeof tileflowStyleInspectionSchemaVersion;
|
|
1045
|
+
readonly map: string;
|
|
1046
|
+
readonly theme: string;
|
|
1047
|
+
readonly layers: readonly TileflowStyleInspectionLayer[];
|
|
1048
|
+
};
|
|
1049
|
+
type TileflowInspectedStyle = {
|
|
1050
|
+
readonly style: MapLibreStyle;
|
|
1051
|
+
readonly inspection: TileflowStyleInspection;
|
|
1052
|
+
};
|
|
1053
|
+
|
|
1054
|
+
declare const tileflowCompilationReportSchemaVersion: 1;
|
|
1055
|
+
declare const tileflowCompilationPhases: readonly ["assembly", "assets", "config-validation", "data", "domain-ir", "domains", "finalization", "input", "lowering", "physical-planner", "render-stack", "theme", "theme-audit", "validation"];
|
|
1056
|
+
declare const tileflowCompilationPlannerStages: readonly ["domain-ir", "assembly", "render-stack", "physical-planner", "lowering"];
|
|
1057
|
+
type TileflowCompilationPhase = (typeof tileflowCompilationPhases)[number];
|
|
1058
|
+
type TileflowCompilationPlannerStage = (typeof tileflowCompilationPlannerStages)[number];
|
|
1059
|
+
type TileflowCompilationDiagnostic = Readonly<{
|
|
1060
|
+
code: string;
|
|
1061
|
+
domain?: TileflowSemanticModuleName;
|
|
1062
|
+
message: string;
|
|
1063
|
+
path?: string;
|
|
1064
|
+
phase: TileflowCompilationPhase;
|
|
1065
|
+
severity: 'error' | 'warning';
|
|
1066
|
+
suggestion?: string;
|
|
1067
|
+
target?: string;
|
|
1068
|
+
}>;
|
|
1069
|
+
type TileflowCompilationDomainReport = Readonly<{
|
|
1070
|
+
contributionCount: number;
|
|
1071
|
+
name: TileflowSemanticModuleName;
|
|
1072
|
+
renderOperationCount: number;
|
|
1073
|
+
status: 'emitted' | 'suppressed';
|
|
1074
|
+
suppressionReason?: 'disabled' | 'no-contributions';
|
|
1075
|
+
targets: readonly string[];
|
|
1076
|
+
}>;
|
|
1077
|
+
type TileflowCompilationPlannerDecision = Readonly<{
|
|
1078
|
+
candidateCount?: number;
|
|
1079
|
+
inputCount: number;
|
|
1080
|
+
outputCount: number;
|
|
1081
|
+
selectedCount?: number;
|
|
1082
|
+
stage: TileflowCompilationPlannerStage;
|
|
1083
|
+
}>;
|
|
1084
|
+
type TileflowCompilationReport = Readonly<{
|
|
1085
|
+
domains: readonly TileflowCompilationDomainReport[];
|
|
1086
|
+
map: string;
|
|
1087
|
+
planner: readonly TileflowCompilationPlannerDecision[];
|
|
1088
|
+
/** Opt-in read-only physical diagnostics; its IDs are not addressable authoring targets. */
|
|
1089
|
+
provenance?: TileflowStyleInspection;
|
|
1090
|
+
requirements?: TileflowSourceRequirementsV1;
|
|
1091
|
+
schemaVersion: typeof tileflowCompilationReportSchemaVersion;
|
|
1092
|
+
targets: readonly string[];
|
|
1093
|
+
theme?: string;
|
|
1094
|
+
}>;
|
|
1095
|
+
type TileflowCompilationSuccess = Readonly<{
|
|
1096
|
+
diagnostics: readonly TileflowCompilationDiagnostic[];
|
|
1097
|
+
ok: true;
|
|
1098
|
+
report: TileflowCompilationReport;
|
|
1099
|
+
style: MapLibreStyle;
|
|
1100
|
+
}>;
|
|
1101
|
+
type TileflowCompilationFailure = Readonly<{
|
|
1102
|
+
diagnostics: readonly TileflowCompilationDiagnostic[];
|
|
1103
|
+
ok: false;
|
|
1104
|
+
report: TileflowCompilationReport;
|
|
1105
|
+
style?: never;
|
|
1106
|
+
}>;
|
|
1107
|
+
type TileflowCompilationResult = TileflowCompilationFailure | TileflowCompilationSuccess;
|
|
1108
|
+
declare function isTileflowCompilationPhase(value: unknown): value is TileflowCompilationPhase;
|
|
1109
|
+
|
|
1110
|
+
type TileflowPreparedMapAssets = {
|
|
1111
|
+
icons?: {
|
|
1112
|
+
ids: readonly string[];
|
|
1113
|
+
sprite: string;
|
|
1114
|
+
};
|
|
1115
|
+
};
|
|
1116
|
+
type TileflowSemanticCompileOptions = {
|
|
1117
|
+
apiBaseUrl?: string;
|
|
1118
|
+
/** Resolved authoring identity. Internal build orchestration supplies this. */
|
|
1119
|
+
map?: {
|
|
1120
|
+
id: string;
|
|
1121
|
+
lineage?: readonly string[];
|
|
1122
|
+
version: number;
|
|
1123
|
+
};
|
|
1124
|
+
/** Build-owned assets prepared from the authoring directories. */
|
|
1125
|
+
preparedAssets?: TileflowPreparedMapAssets;
|
|
1126
|
+
/** Concrete named theme. Omission deterministically selects map.defaultTheme. */
|
|
1127
|
+
theme?: string;
|
|
1128
|
+
};
|
|
1129
|
+
type TileflowSemanticCompilationOptions = TileflowSemanticCompileOptions & {
|
|
1130
|
+
/** Include opt-in read-only physical diagnostics; emitted IDs are not authoring targets. */
|
|
1131
|
+
inspection?: boolean;
|
|
1132
|
+
};
|
|
1133
|
+
|
|
1134
|
+
type TileflowStyleOptions = TileflowSemanticCompileOptions;
|
|
1135
|
+
type TileflowCompilationOptions = TileflowSemanticCompilationOptions;
|
|
1136
|
+
declare function createStyle(config: TileflowMap, options?: TileflowStyleOptions): MapLibreStyle;
|
|
1137
|
+
/** Resolve and compile one map without throwing, returning deterministic compiler diagnostics. */
|
|
1138
|
+
declare function createStyleResult(config: TileflowMap, options?: TileflowCompilationOptions): TileflowCompilationResult;
|
|
1139
|
+
declare function collectMapLineage(map: TileflowMap): string[];
|
|
1140
|
+
/** Resolve and validate one public authoring map before asset preparation or compilation. */
|
|
1141
|
+
declare function parseTileflowMap(map: TileflowMap): ResolvedTileflowMap;
|
|
1142
|
+
/** Validate one singular authoring map, including its complete extends lineage. */
|
|
1143
|
+
declare function validateTileflowMap(input: unknown): ValidationResult;
|
|
1144
|
+
|
|
1145
|
+
export { type TileflowBoundariesModuleOptions as $, type TileflowSemanticModuleName as A, tileflowHostedSourceLimit as B, tileflowOverlayPlacements as C, type OpenMapTilesSchema as D, type OpenMapTilesSchemaOptions as E, type ResolvedBathymetry as F, type ResolvedBathymetryRelief as G, type ResolvedMarine as H, type ResolvedMarineSource as I, type ResolvedTileflowData as J, type ResolvedTileflowTheme as K, type ResolvedTileflowThemeTokens as L, type TileflowAddressesModuleConfig as M, type TileflowAddressesModuleOptions as N, type OpenMapTilesFieldBindings as O, type ParkLayerSemantics as P, type TileflowAerowaysModuleConfig as Q, type ResolvedTileflowMap as R, type TileflowAerowaysModuleOptions as S, type TileflowDataRequirementsV1 as T, type TileflowAuthoringModules as U, type TileflowBathymetryConfig as V, type TileflowBathymetryDemSourceIdentity as W, type TileflowBathymetryDisplay as X, type TileflowBathymetryOptions as Y, type TileflowBathymetryReliefConfig as Z, type TileflowBoundariesModuleConfig as _, type TileflowSourceRequirementsV1 as a, type TileflowThemeLighting as a$, type TileflowBuildingMode as a0, type TileflowBuildingsModuleConfig as a1, type TileflowBuildingsModuleOptions as a2, type TileflowCompilationDiagnostic as a3, type TileflowCompilationDomainReport as a4, type TileflowCompilationFailure as a5, type TileflowCompilationOptions as a6, type TileflowCompilationPhase as a7, type TileflowCompilationPlannerDecision as a8, type TileflowCompilationPlannerStage as a9, type TileflowMarine as aA, type TileflowMarineConfig as aB, type TileflowMarineMode as aC, type TileflowMarineSourceConfig as aD, type TileflowMarineSourceIdentity as aE, type TileflowModuleOperation as aF, type TileflowModulePatch as aG, type TileflowNauticalAreaLabelStyles as aH, type TileflowNauticalModuleConfig as aI, type TileflowNauticalModuleOptions as aJ, type TileflowOverlayCollection as aK, type TileflowOverlayPlacement as aL, type TileflowPackageDirectory as aM, type TileflowRasterDemSourceRequirementV1 as aN, type TileflowRefineOperation as aO, type TileflowRemoveOperation as aP, type TileflowReset as aQ, type TileflowResolvedThemeSelection as aR, type TileflowSemanticModules as aS, type TileflowStandaloneMap as aT, type TileflowTheme as aU, type TileflowThemeAuditContext as aV, type TileflowThemeAuditDiagnostic as aW, TileflowThemeAuditError as aX, type TileflowThemeAuditScope as aY, type TileflowThemeColorScheme as aZ, type TileflowThemeDefinition as a_, type TileflowCompilationReport as aa, type TileflowCompilationResult as ab, type TileflowCompilationSuccess as ac, type TileflowDataConfig as ad, type TileflowDataIdentity as ae, type TileflowDerivedMap as af, type TileflowDisableOperation as ag, type TileflowFontDirectory as ah, type TileflowGlyphs as ai, type TileflowHostedSourceCollection as aj, type TileflowHostedTilesetSource as ak, type TileflowHostedTilesetType as al, type TileflowIconDirectory as am, type TileflowLandModuleConfig as an, type TileflowLandModuleOptions as ao, type TileflowLandcoverClass as ap, type TileflowLandformClass as aq, type TileflowLandformsModuleConfig as ar, type TileflowLandformsModuleOptions as as, type TileflowLanduseClass as at, type TileflowLocalDirectory as au, type TileflowMapDesign as av, type TileflowMapIdentity as aw, type TileflowMapLibreOverlay as ax, type TileflowMapLibreOverlayLayer as ay, type TileflowMapTooling as az, type TileflowMap as b, tileflowThemeLimits as b$, type TileflowThemeName as b0, type TileflowThemeTokens as b1, type TileflowThemeTypography as b2, type TileflowThemeTypographyStyle as b3, type TileflowTransitModuleConfig as b4, type TileflowTransitModuleOptions as b5, type TileflowTransitRailStyle as b6, type TileflowVegetationMode as b7, type TileflowVegetationModuleConfig as b8, type TileflowVegetationModuleOptions as b9, isTileflowCompilationPhase as bA, isTileflowLocalDirectory as bB, land as bC, landforms as bD, maplibreOverlay as bE, nautical as bF, openMapTiles as bG, openMapTilesContractVersion as bH, parseTileflowMap as bI, refine as bJ, remove as bK, reset as bL, resolveMarine as bM, resolveThemeSelection as bN, resolveThemeValues as bO, resolveTileflowData as bP, resolveTileflowTheme as bQ, tileflowBathymetryDemSourceId as bR, tileflowBathymetrySourceId as bS, tileflowBathymetryV1Schema as bT, tileflowLandformClasses as bU, tileflowLocalDirectoryMaximumLength as bV, tileflowLocalDirectoryMessage as bW, tileflowMapIdSchema as bX, tileflowNauticalSourceId as bY, tileflowNauticalV1Schema as bZ, tileflowPrimarySourceId as b_, type TileflowVegetationThreeDimensionalStyle as ba, type TileflowVisualValueCategory as bb, type TileflowWaterModuleConfig as bc, type TileflowWaterModuleOptions as bd, type TileflowWaterwayClass as be, type TileflowWorldData as bf, type TileflowWorldReleaseReference as bg, type TileflowWorldSelection as bh, type TileflowWorldV1Schema as bi, type VectorTilesData as bj, addresses as bk, aeroways as bl, assertTileflowMapThemeValues as bm, auditTileflowMapThemeValues as bn, auditTileflowThemeValues as bo, bathymetry as bp, boundaries as bq, buildings as br, classifyTileflowVisualProperty as bs, createStyle as bt, createStyleResult as bu, defineTheme as bv, disable as bw, hostedTileset as bx, isCanonicalOpenMapTilesSchema as by, isSafeLocalPmtilesPath as bz, type TileflowStyleOptions as c, tileflowWorld as c0, tileflowWorldGeneration as c1, tileflowWorldTileJsonUrl as c2, tileflowWorldV1Schema as c3, transit as c4, validateTileflowMap as c5, validateTileflowWorldV1Tilejson as c6, vectorTiles as c7, vegetation as c8, water as c9, type TileflowInspectedStyle as d, type TileflowPreparedMapAssets as e, type TileflowDataCompatibilityIssue as f, type TileflowDataFieldRequirement as g, type TileflowDataFieldType as h, type TileflowDataLayerRequirement as i, type TileflowObservedDataContractV1 as j, type TileflowStyleInspection as k, type TileflowStyleInspectionContribution as l, type TileflowStyleInspectionLayer as m, type TileflowStyleInspectionRenderOperation as n, collectMapLineage as o, inferTileflowDataRequirements as p, inferTileflowSourceRequirements as q, type TileflowMapScene as r, type ResolveMapOptions as s, tileflowStyleInspectionSchemaVersion as t, type TileflowLayerDomain as u, validateTileflowDataCompatibility as v, type OpenMapTilesLayerBindings as w, tileflowCompilationPhases as x, tileflowCompilationPlannerStages as y, tileflowCompilationReportSchemaVersion as z };
|