@tileflow/core 0.1.0-alpha.3 → 0.1.0-alpha.31

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