@tileflow/core 0.1.0-alpha.34 → 0.1.0-alpha.36
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 +24 -23
- package/THIRD_PARTY_NOTICES.md +100 -6
- package/dist/browser.d.ts +758 -388
- package/dist/browser.js +4598 -1169
- package/dist/build.d.ts +9 -5
- package/dist/build.js +2892 -1410
- package/dist/capture.js +1 -0
- package/dist/config-reference.json +3780 -2153
- package/dist/{icon-composition-DqoZWQuz.d.ts → icon-composition-sN3JkXdb.d.ts} +380 -96
- package/dist/index.d.ts +426 -13
- package/dist/index.js +4999 -1841
- package/dist/{manifest-types-hmzy2bBX.d.ts → manifest-types-jrBdBrES.d.ts} +71 -9
- package/dist/manifest.d.ts +2 -2
- package/dist/manifest.js +80 -2
- package/dist/native-profile.js +1 -0
- package/dist/native.d.ts +13 -3
- package/dist/native.js +714 -318
- package/dist/runtime.d.ts +1 -1
- package/dist/runtime.js +124 -6
- package/dist/worker/buildings-3d-worker.global.js +1 -0
- package/docs/authoring-model.md +12 -3
- package/docs/boundary-areas-and-choropleths.md +217 -0
- package/docs/buildings-3d.md +264 -34
- package/docs/cartographic-defaults.md +142 -0
- package/docs/compiled-style-performance.md +14 -3
- package/docs/data-is-separate-from-design.md +191 -7
- package/docs/hosted-session-authorization.md +2 -4
- package/docs/map-and-terrain-examples.md +10 -3
- package/docs/native-artifact-profile.md +5 -0
- package/docs/native-resource-urls.md +5 -3
- package/docs/street-lights.md +22 -6
- package/docs/sun-and-light.md +42 -2
- package/docs/theme-transitions-and-blends.md +50 -0
- package/docs/themes-and-module-styles.md +66 -0
- package/docs/trees-3d.md +85 -13
- package/package.json +5 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { bd as TileflowThemeColorValue, r as TileflowSymbolStyle, D as TileflowAreaStyle, a1 as TileflowLineStackStyle, q as TileflowLineStyle, o as TileflowExtrusionStyle, bg as TileflowThemeNumberValue, m as TileflowBackgroundStyle, p as TileflowFillStyle, a6 as TileflowMarkerSymbolStyle, n as TileflowCircleStyle, aU as TileflowSymbolPlacement, b1 as TileflowTerrainHillshadeStyle, b0 as TileflowTerrainEncoding, be as TileflowThemeFontValue, bf as TileflowThemeImageValue, c0 as TileflowTypographyStyle, X as TileflowLight, c1 as ResolvedTileflowTypography, f as TileflowTimeOfDayVariants, e as TileflowTimeOfDay, w as TileflowLabelsModuleConfig, y as TileflowPoiModuleConfig, u as TileflowRoadsModuleConfig, ah as TileflowProjection, aX as TileflowTerrain, bk as TileflowViewConfig, M as MapLibreStyle, bo as ValidationResult } from './manifest-types-jrBdBrES.js';
|
|
2
2
|
import * as zod from 'zod';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
import { T as TileflowCaptureScene, a as TileflowCaptureShot } from './capture-shot-ChPQvPyi.js';
|
|
@@ -16,6 +16,177 @@ type TileflowAtmosphereOptions = {
|
|
|
16
16
|
};
|
|
17
17
|
type TileflowAtmosphere = boolean | TileflowAtmosphereOptions;
|
|
18
18
|
|
|
19
|
+
declare const tileflowOverlayPlacements: readonly ["above-water", "below-roads", "above-roads", "above-buildings", "below-labels", "above-labels"];
|
|
20
|
+
declare const tileflowHostedSourceLimit: 16;
|
|
21
|
+
type TileflowOverlayPlacement = (typeof tileflowOverlayPlacements)[number];
|
|
22
|
+
type TileflowHostedTilesetType = 'raster' | 'vector';
|
|
23
|
+
type TileflowHostedTilesetSource = Readonly<{
|
|
24
|
+
attribution: string;
|
|
25
|
+
kind: 'hosted-tileset';
|
|
26
|
+
local: string;
|
|
27
|
+
tileset: string;
|
|
28
|
+
tileSize?: 256 | 512;
|
|
29
|
+
type: TileflowHostedTilesetType;
|
|
30
|
+
}>;
|
|
31
|
+
type TileflowMapLibreOverlayLayer = Readonly<Record<string, unknown> & {
|
|
32
|
+
id: string;
|
|
33
|
+
source?: never;
|
|
34
|
+
type: string;
|
|
35
|
+
}>;
|
|
36
|
+
type TileflowMapLibreOverlay = Readonly<{
|
|
37
|
+
kind: 'maplibre-overlay';
|
|
38
|
+
layers: readonly TileflowMapLibreOverlayLayer[];
|
|
39
|
+
placement: TileflowOverlayPlacement;
|
|
40
|
+
source: string;
|
|
41
|
+
}>;
|
|
42
|
+
type TileflowRemoveOperation = Readonly<{
|
|
43
|
+
op: 'remove';
|
|
44
|
+
}>;
|
|
45
|
+
type TileflowHostedSourceCollection = Readonly<Record<string, TileflowHostedTilesetSource | TileflowRemoveOperation>>;
|
|
46
|
+
type TileflowOverlayCollection = Readonly<Record<string, TileflowMapLibreOverlay | TileflowRemoveOperation>>;
|
|
47
|
+
/** Bind one logical Team tileset to an explicit account-free local PMTiles archive. */
|
|
48
|
+
declare function hostedTileset(options: {
|
|
49
|
+
attribution: string;
|
|
50
|
+
local: string;
|
|
51
|
+
tileset: string;
|
|
52
|
+
tileSize?: 256 | 512;
|
|
53
|
+
type?: TileflowHostedTilesetType;
|
|
54
|
+
}): TileflowHostedTilesetSource;
|
|
55
|
+
/** Group one or more ordinary MapLibre layers around one named Tileflow source. */
|
|
56
|
+
declare function maplibreOverlay(options: {
|
|
57
|
+
layers: readonly TileflowMapLibreOverlayLayer[];
|
|
58
|
+
placement: TileflowOverlayPlacement;
|
|
59
|
+
source: string;
|
|
60
|
+
}): TileflowMapLibreOverlay;
|
|
61
|
+
/** Remove one inherited keyed source or overlay. */
|
|
62
|
+
declare function remove(): TileflowRemoveOperation;
|
|
63
|
+
declare function isSafeLocalPmtilesPath(value: unknown): value is string;
|
|
64
|
+
|
|
65
|
+
/** Administrative and neighbourhood classes of the Boundaries tileset, from the largest. */
|
|
66
|
+
declare const tileflowBoundaryClasses: readonly ["country", "dependency", "region", "province_or_county", "municipality", "district", "neighbourhood"];
|
|
67
|
+
type TileflowBoundaryClass = (typeof tileflowBoundaryClasses)[number];
|
|
68
|
+
/** `primary` is the level that covers a country with its class; `secondary` is any other. */
|
|
69
|
+
declare const tileflowBoundaryClassTiers: readonly ["primary", "secondary"];
|
|
70
|
+
type TileflowBoundaryClassTier = (typeof tileflowBoundaryClassTiers)[number];
|
|
71
|
+
/**
|
|
72
|
+
* Version 1 of the Boundaries tile schema. Polygons carry only the properties needed to filter and
|
|
73
|
+
* join them; labels and the lookup table carry the rest.
|
|
74
|
+
*/
|
|
75
|
+
declare const tileflowBoundaryAreasV1Schema: Readonly<{
|
|
76
|
+
classes: readonly ["country", "dependency", "region", "province_or_county", "municipality", "district", "neighbourhood"];
|
|
77
|
+
/** First zoom at which each class appears, by tier. */
|
|
78
|
+
classMinzoom: Readonly<{
|
|
79
|
+
country: Readonly<{
|
|
80
|
+
primary: 0;
|
|
81
|
+
secondary: 0;
|
|
82
|
+
}>;
|
|
83
|
+
dependency: Readonly<{
|
|
84
|
+
primary: 0;
|
|
85
|
+
secondary: 0;
|
|
86
|
+
}>;
|
|
87
|
+
region: Readonly<{
|
|
88
|
+
primary: 3;
|
|
89
|
+
secondary: 3;
|
|
90
|
+
}>;
|
|
91
|
+
province_or_county: Readonly<{
|
|
92
|
+
primary: 6;
|
|
93
|
+
secondary: 7;
|
|
94
|
+
}>;
|
|
95
|
+
municipality: Readonly<{
|
|
96
|
+
primary: 8;
|
|
97
|
+
secondary: 8;
|
|
98
|
+
}>;
|
|
99
|
+
district: Readonly<{
|
|
100
|
+
primary: 10;
|
|
101
|
+
secondary: 10;
|
|
102
|
+
}>;
|
|
103
|
+
neighbourhood: Readonly<{
|
|
104
|
+
primary: 11;
|
|
105
|
+
secondary: 11;
|
|
106
|
+
}>;
|
|
107
|
+
}>;
|
|
108
|
+
fields: Readonly<{
|
|
109
|
+
adminDepth: "admin_depth";
|
|
110
|
+
adminLevel: "admin_level";
|
|
111
|
+
class: "class";
|
|
112
|
+
classTier: "class_tier";
|
|
113
|
+
iso31661: "iso_3166_1";
|
|
114
|
+
iso31662: "iso_3166_2";
|
|
115
|
+
name: "name";
|
|
116
|
+
nuts: "nuts";
|
|
117
|
+
ref: "ref";
|
|
118
|
+
wikidata: "wikidata";
|
|
119
|
+
}>;
|
|
120
|
+
layers: Readonly<{
|
|
121
|
+
areas: "boundary_area";
|
|
122
|
+
labels: "boundary_label";
|
|
123
|
+
}>;
|
|
124
|
+
/** Properties present on `boundary_area` polygons. */
|
|
125
|
+
areaProperties: readonly ["class", "class_tier", "admin_level", "admin_depth", "ref", "iso_3166_1"];
|
|
126
|
+
maxzoom: 12;
|
|
127
|
+
minzoom: 0;
|
|
128
|
+
product: "boundaries-v1";
|
|
129
|
+
schemaVersion: 1;
|
|
130
|
+
tiers: readonly ["primary", "secondary"];
|
|
131
|
+
}>;
|
|
132
|
+
/**
|
|
133
|
+
* Boundaries families. Each one has its own license, attribution, TileJSON path and style source
|
|
134
|
+
* ID; families are never merged.
|
|
135
|
+
*/
|
|
136
|
+
declare const tileflowBoundaryFamilies: Readonly<{
|
|
137
|
+
boundaries: Readonly<{
|
|
138
|
+
attribution: "© OpenStreetMap contributors";
|
|
139
|
+
license: "ODbL-1.0";
|
|
140
|
+
path: "/tiles/boundaries/tiles.json";
|
|
141
|
+
sourceId: "tileflow-boundaries";
|
|
142
|
+
}>;
|
|
143
|
+
}>;
|
|
144
|
+
type TileflowBoundaryFamily = keyof typeof tileflowBoundaryFamilies;
|
|
145
|
+
declare function isTileflowBoundaryFamily(value: unknown): value is TileflowBoundaryFamily;
|
|
146
|
+
declare function isTileflowBoundaryClass(value: unknown): value is TileflowBoundaryClass;
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Tileflow's Boundaries tileset as a map source. It is a separate product from World: World's
|
|
150
|
+
* border lines belong to the `boundaries` module, while this source holds the areas themselves.
|
|
151
|
+
*/
|
|
152
|
+
type TileflowBoundaryAreasConfig = Readonly<{
|
|
153
|
+
/** The licensed family to draw. Its attribution is always shown with its layers. */
|
|
154
|
+
family: TileflowBoundaryFamily;
|
|
155
|
+
/**
|
|
156
|
+
* The property MapLibre uses as feature ID for feature-state. By default it is the registry ID,
|
|
157
|
+
* which survives releases; `ref` keys feature-state by official code instead.
|
|
158
|
+
*/
|
|
159
|
+
promoteId?: 'ref';
|
|
160
|
+
/**
|
|
161
|
+
* A schema-compatible vector TileJSON or `pmtiles://` archive, such as a local copy for offline
|
|
162
|
+
* development. Defaults to the family's TileJSON under the Tileflow API.
|
|
163
|
+
*/
|
|
164
|
+
url?: string;
|
|
165
|
+
}>;
|
|
166
|
+
/** `false` removes Boundaries inherited from a parent map. */
|
|
167
|
+
type TileflowBoundaryAreas = false | TileflowBoundaryAreasConfig;
|
|
168
|
+
type TileflowBoundaryAreasSourceIdentity = Readonly<{
|
|
169
|
+
family: TileflowBoundaryFamily;
|
|
170
|
+
kind: 'tileflow-boundaries';
|
|
171
|
+
product: typeof tileflowBoundaryAreasV1Schema.product;
|
|
172
|
+
promoteId?: 'ref';
|
|
173
|
+
schemaVersion: typeof tileflowBoundaryAreasV1Schema.schemaVersion;
|
|
174
|
+
sourceId: string;
|
|
175
|
+
url: string;
|
|
176
|
+
}>;
|
|
177
|
+
type ResolvedBoundaryAreas = Readonly<{
|
|
178
|
+
identity: TileflowBoundaryAreasSourceIdentity;
|
|
179
|
+
source: Readonly<{
|
|
180
|
+
attribution: string;
|
|
181
|
+
promoteId?: Readonly<Record<string, string>>;
|
|
182
|
+
type: 'vector';
|
|
183
|
+
url: string;
|
|
184
|
+
}>;
|
|
185
|
+
sourceId: string;
|
|
186
|
+
}>;
|
|
187
|
+
/** Resolve a map's Boundaries declaration into its style source without fetching its TileJSON. */
|
|
188
|
+
declare function resolveBoundaryAreas(config: TileflowBoundaryAreas | undefined, apiBaseUrl?: string): ResolvedBoundaryAreas | undefined;
|
|
189
|
+
|
|
19
190
|
type TileflowAddressesModuleOptions = {
|
|
20
191
|
/** Styling for OpenMapTiles point house-number labels. */
|
|
21
192
|
labels?: TileflowSymbolStyle;
|
|
@@ -53,18 +224,59 @@ type TileflowBuildingMode = '3d' | 'flat';
|
|
|
53
224
|
* building colour (its extrusion), else its roofs'.
|
|
54
225
|
*/
|
|
55
226
|
type TileflowBuildingsThreeDimensionalStyle = {
|
|
56
|
-
/**
|
|
227
|
+
/** Use the scene sun (default), or the style's native extrusion light. */
|
|
228
|
+
lighting?: 'style' | 'sun';
|
|
229
|
+
/** Per-building brightness variation, from 0 to 1; defaults to 0 (authored colour). */
|
|
230
|
+
colorVariation?: TileflowThemeNumberValue;
|
|
231
|
+
/** How strongly roof outlines and outer corners catch the light, from 0 (default) to 1. */
|
|
57
232
|
edges?: TileflowThemeNumberValue;
|
|
233
|
+
/** Radius in metres for softened exterior corners and roof lighting, from 0 to 1; defaults to 0.8. */
|
|
234
|
+
edgeRadius?: number;
|
|
58
235
|
/** Their own colour, drawn unlit; without it they take the building's colour, lightened. */
|
|
59
236
|
edgeColor?: TileflowThemeColorValue;
|
|
60
|
-
/** How bright the buildings light the street at night, from 0 (none) to 2; defaults to
|
|
237
|
+
/** How bright the buildings light the street at night, from 0 (none) to 2; defaults to 0. */
|
|
61
238
|
nightLight?: TileflowThemeNumberValue;
|
|
62
239
|
/** Contact shadow at the foot of the walls and in tight corners; defaults to true. */
|
|
63
240
|
occlusion?: boolean;
|
|
64
241
|
/** Shadows from the sun, on the buildings and the flat map; defaults to true. */
|
|
65
242
|
shadows?: boolean;
|
|
66
|
-
/**
|
|
243
|
+
/**
|
|
244
|
+
* Invented night windows, lit by rooms: decoration, not data. With World's `class`, none on sheds,
|
|
245
|
+
* barns, factories and churches, and homes lit apart from offices. Defaults to false.
|
|
246
|
+
*/
|
|
67
247
|
windows?: boolean;
|
|
248
|
+
/**
|
|
249
|
+
* Building models the map places in its city, from the glTF binaries in its `models`
|
|
250
|
+
* directories. Each stands in for the buildings under its footprint.
|
|
251
|
+
*/
|
|
252
|
+
models?: readonly TileflowBuildingModelPlacementConfig[];
|
|
253
|
+
/** The colours of the models' parts; a part without one takes it from the building colour. */
|
|
254
|
+
modelColors?: Partial<Record<TileflowBuildingModelPart, TileflowThemeColorValue>>;
|
|
255
|
+
/**
|
|
256
|
+
* Tileflow's landmarks, such as the Eiffel Tower, drawn as models in place of the buildings
|
|
257
|
+
* under them. On by default with Tileflow World data; `false` switches them off, and `url` names
|
|
258
|
+
* the TileJSON of another landmarks tileset. The map's own `models` come first: a landmark with
|
|
259
|
+
* the same id as one, or whose footprint meets one's, is not drawn.
|
|
260
|
+
*/
|
|
261
|
+
landmarks?: boolean | {
|
|
262
|
+
url: string;
|
|
263
|
+
};
|
|
264
|
+
};
|
|
265
|
+
/** The parts of a building model, as its materials name them. */
|
|
266
|
+
type TileflowBuildingModelPart = 'surface' | 'secondary' | 'glass' | 'accent' | 'roof';
|
|
267
|
+
/** Where a building model stands. */
|
|
268
|
+
type TileflowBuildingModelPlacementConfig = {
|
|
269
|
+
/** The model's id: the name of its `.glb` file in the map's `models` directories. */
|
|
270
|
+
model: string;
|
|
271
|
+
/**
|
|
272
|
+
* The HTTPS address of the model's prepared file when it is served elsewhere, such as a model
|
|
273
|
+
* Tileflow hosts for its own maps; the map then needs no `.glb` of its own for it.
|
|
274
|
+
*/
|
|
275
|
+
url?: string;
|
|
276
|
+
/** Longitude and latitude of the model's origin, where it stands on the ground. */
|
|
277
|
+
at: readonly [number, number];
|
|
278
|
+
/** Degrees clockwise from north that the model's own north (its +y) is turned to; defaults to 0. */
|
|
279
|
+
heading?: number;
|
|
68
280
|
};
|
|
69
281
|
type TileflowBuildingsModuleOptions = {
|
|
70
282
|
businessCorridor?: TileflowAreaStyle;
|
|
@@ -80,8 +292,24 @@ declare function buildings(options?: TileflowBuildingsModuleOptions): TileflowBu
|
|
|
80
292
|
|
|
81
293
|
type TileflowLanduseClass = 'cemetery' | 'civic' | 'commercial' | 'education' | 'government' | 'industrial' | 'medical' | 'military' | 'parking' | 'railway' | 'recreation' | 'residential';
|
|
82
294
|
type TileflowLandcoverClass = 'farmland' | 'flowerbed' | 'grass' | 'ice' | 'meadow' | 'protected' | 'recreationGround' | 'rock' | 'sand' | 'scrub' | 'urbanPark' | 'villageGreen' | 'wetland' | 'wood';
|
|
295
|
+
/** The barriers of the data's barrier layer (World's `traffic_control`) the land module draws. */
|
|
296
|
+
type TileflowBarrierClass = 'fence' | 'hedge' | 'wall';
|
|
297
|
+
/**
|
|
298
|
+
* A barrier's line, a shadow line drawn under it (usually offset with `translate`), and the fill of
|
|
299
|
+
* those mapped as areas, such as broad hedges.
|
|
300
|
+
*/
|
|
301
|
+
type TileflowBarrierStyle = {
|
|
302
|
+
area?: TileflowFillStyle;
|
|
303
|
+
shadow?: TileflowLineStyle;
|
|
304
|
+
line?: TileflowLineStyle;
|
|
305
|
+
};
|
|
83
306
|
type TileflowLandModuleOptions = {
|
|
84
307
|
background?: TileflowBackgroundStyle;
|
|
308
|
+
/**
|
|
309
|
+
* Hedges, fences and walls, drawn at the top of the land band with hedges uppermost. A barrier
|
|
310
|
+
* without a style is not drawn, and neither is any when the data has no barrier layer.
|
|
311
|
+
*/
|
|
312
|
+
barriers?: Partial<Record<TileflowBarrierClass, TileflowBarrierStyle>>;
|
|
85
313
|
globalLandcover?: TileflowFillStyle;
|
|
86
314
|
landcover?: Partial<Record<TileflowLandcoverClass, TileflowAreaStyle>>;
|
|
87
315
|
landuse?: Partial<Record<TileflowLanduseClass, TileflowAreaStyle>>;
|
|
@@ -234,6 +462,10 @@ type TileflowTreeFields = Readonly<{
|
|
|
234
462
|
canopyCover: string;
|
|
235
463
|
/** A canopy point's measured canopy height, in metres. */
|
|
236
464
|
canopyHeight: string;
|
|
465
|
+
/** The kind of barrier in the hedge layer: hedges are `hedge`. */
|
|
466
|
+
subclass: string;
|
|
467
|
+
/** A hedge's kind: `hedge_bank` when it stands on an earth bank. */
|
|
468
|
+
hedge: string;
|
|
237
469
|
}>;
|
|
238
470
|
/** A model's id: its file's name, in lowercase letters, digits and hyphens. */
|
|
239
471
|
declare const tileflowTreeModelIdPattern: RegExp;
|
|
@@ -241,19 +473,24 @@ declare const tileflowTreeModelIdPattern: RegExp;
|
|
|
241
473
|
declare const tileflowVegetationMetadataKey = "tileflow:vegetation";
|
|
242
474
|
/** How a compiled map's 3D trees look and where their data is, resolved for one theme. */
|
|
243
475
|
type TileflowVegetation3D = Readonly<{
|
|
244
|
-
/** The vector source and its layers with the trees
|
|
476
|
+
/** The vector source and its layers with the trees, the canopy points and the hedges. */
|
|
245
477
|
source: string;
|
|
246
478
|
layers: Readonly<{
|
|
247
479
|
tree: string;
|
|
248
480
|
canopy?: string;
|
|
481
|
+
hedge?: string;
|
|
249
482
|
}>;
|
|
250
483
|
fields: TileflowTreeFields;
|
|
251
|
-
/**
|
|
484
|
+
/**
|
|
485
|
+
* Sunlit colours: bark, the leaves of each kind of tree from darkest to lightest, and those of
|
|
486
|
+
* hedges.
|
|
487
|
+
*/
|
|
252
488
|
colors: Readonly<{
|
|
253
489
|
bark: string;
|
|
254
490
|
broadleaf: readonly string[];
|
|
255
491
|
conifer: readonly string[];
|
|
256
492
|
palm: readonly string[];
|
|
493
|
+
hedge: readonly string[];
|
|
257
494
|
}>;
|
|
258
495
|
heightScale: number;
|
|
259
496
|
crownScale: number;
|
|
@@ -276,7 +513,7 @@ type TileflowVegetation3D = Readonly<{
|
|
|
276
513
|
*/
|
|
277
514
|
declare function readTileflowVegetation3D(metadata: unknown): TileflowVegetation3D | undefined;
|
|
278
515
|
|
|
279
|
-
type TileflowVegetationMode = '3d' | 'flat';
|
|
516
|
+
type TileflowVegetationMode = '3d' | 'flat' | 'auto';
|
|
280
517
|
type TileflowVegetationThreeDimensionalStyle = {
|
|
281
518
|
barkColor?: TileflowThemeColorValue;
|
|
282
519
|
/** Sunlit leaf colours of broadleaf trees, from darkest to lightest; up to four are used. */
|
|
@@ -285,6 +522,13 @@ type TileflowVegetationThreeDimensionalStyle = {
|
|
|
285
522
|
coniferColors?: readonly TileflowThemeColorValue[];
|
|
286
523
|
/** Sunlit frond colours of palms, from darkest to lightest; the broadleaf colours by default. */
|
|
287
524
|
palmColors?: readonly TileflowThemeColorValue[];
|
|
525
|
+
/**
|
|
526
|
+
* Whether the data's hedges stand as clipped green walls beside the trees, at their height or
|
|
527
|
+
* 1.3 m, a metre higher on an earth bank. Defaults to true where the data has hedges.
|
|
528
|
+
*/
|
|
529
|
+
hedges?: boolean;
|
|
530
|
+
/** Sunlit colours of hedges, from darkest to lightest; the two darkest broadleaf colours by default. */
|
|
531
|
+
hedgeColors?: readonly TileflowThemeColorValue[];
|
|
288
532
|
crownScale?: TileflowThemeNumberValue;
|
|
289
533
|
heightScale?: TileflowThemeNumberValue;
|
|
290
534
|
/**
|
|
@@ -324,7 +568,12 @@ type TileflowVegetationThreeDimensionalStyle = {
|
|
|
324
568
|
};
|
|
325
569
|
type TileflowVegetationModuleOptions = {
|
|
326
570
|
flat?: TileflowCircleStyle;
|
|
571
|
+
/** `3d` uses models at every pitch; `auto` follows the runtime's explicit 2D/3D view mode. */
|
|
327
572
|
mode?: TileflowVegetationMode;
|
|
573
|
+
/** Representation when a renderer cannot draw models. Defaults to `flat`. */
|
|
574
|
+
fallback?: 'flat' | 'none';
|
|
575
|
+
/** Initial visibility; a runtime control may override it. Defaults to true. */
|
|
576
|
+
visible?: boolean;
|
|
328
577
|
threeDimensional?: TileflowVegetationThreeDimensionalStyle;
|
|
329
578
|
};
|
|
330
579
|
type TileflowVegetationModuleConfig = TileflowVegetationModuleOptions & {
|
|
@@ -333,12 +582,26 @@ type TileflowVegetationModuleConfig = TileflowVegetationModuleOptions & {
|
|
|
333
582
|
declare function vegetation(options?: TileflowVegetationModuleOptions): TileflowVegetationModuleConfig;
|
|
334
583
|
|
|
335
584
|
type TileflowWaterwayClass = 'canal' | 'other' | 'river' | 'stream';
|
|
585
|
+
/** Explicit placement for every geometry family in a declared Bathymetry name layer. */
|
|
586
|
+
type TileflowBathymetryNamePlacement = {
|
|
587
|
+
point: 'point';
|
|
588
|
+
line: TileflowSymbolPlacement;
|
|
589
|
+
polygon: TileflowSymbolPlacement;
|
|
590
|
+
};
|
|
591
|
+
type TileflowBathymetryNameStyle = TileflowSymbolStyle & {
|
|
592
|
+
/** Overrides scalar placement for these names; omission preserves scalar placement. */
|
|
593
|
+
placementByGeometry?: TileflowBathymetryNamePlacement;
|
|
594
|
+
};
|
|
336
595
|
type TileflowWaterModuleOptions = {
|
|
337
596
|
bathymetry?: TileflowFillStyle;
|
|
338
|
-
/**
|
|
597
|
+
/** Contour lines when declared by Bathymetry; otherwise approximate polygon band edges. */
|
|
339
598
|
bathymetryContours?: TileflowLineStyle;
|
|
340
|
-
/**
|
|
599
|
+
/** Contour-depth or legacy band-floor labels, not measured survey soundings. */
|
|
341
600
|
bathymetryLabels?: TileflowSymbolStyle;
|
|
601
|
+
/** Names from an explicitly declared seafloor_landform layer. */
|
|
602
|
+
bathymetryLandforms?: TileflowBathymetryNameStyle;
|
|
603
|
+
/** Names from an explicitly declared water_name layer. */
|
|
604
|
+
bathymetryWaterNames?: TileflowBathymetryNameStyle;
|
|
342
605
|
bodies?: TileflowAreaStyle;
|
|
343
606
|
intermittent?: {
|
|
344
607
|
bodies?: TileflowAreaStyle;
|
|
@@ -392,6 +655,11 @@ type OpenMapTilesLayerBindings = {
|
|
|
392
655
|
sidewalk?: string;
|
|
393
656
|
/** Optional point features such as pedestrian crossings. */
|
|
394
657
|
streetFurniture?: string;
|
|
658
|
+
/**
|
|
659
|
+
* Optional barriers and traffic calming at native zoom 15: hedges, fences, walls, kerbs and
|
|
660
|
+
* guard rails as lines, and hedges mapped as areas of their own as polygons.
|
|
661
|
+
*/
|
|
662
|
+
trafficControl?: string;
|
|
395
663
|
/** Optional individual-tree point extension used by the vegetation module. */
|
|
396
664
|
tree?: string;
|
|
397
665
|
water: string;
|
|
@@ -448,6 +716,8 @@ type OpenMapTilesFieldBindings = {
|
|
|
448
716
|
elevationFeet: string;
|
|
449
717
|
expressway: string;
|
|
450
718
|
foot: string;
|
|
719
|
+
/** Optional kind of a barrier hedge: `hedge_bank` when it stands on an earth bank. */
|
|
720
|
+
hedge?: string;
|
|
451
721
|
height: string;
|
|
452
722
|
hide3d: string;
|
|
453
723
|
/** Whether a building footprint owns separately materialized building parts. */
|
|
@@ -470,6 +740,11 @@ type OpenMapTilesFieldBindings = {
|
|
|
470
740
|
markings: string;
|
|
471
741
|
minHeight: string;
|
|
472
742
|
minZoom: string;
|
|
743
|
+
/**
|
|
744
|
+
* Transport mode of World transit POIs and lines: `subway`, `train`, `light_rail`, `tram`,
|
|
745
|
+
* `monorail`, `funicular`, `bus`, `ferry` or `aerialway`.
|
|
746
|
+
*/
|
|
747
|
+
mode: string;
|
|
473
748
|
mtbScale: string;
|
|
474
749
|
name: string;
|
|
475
750
|
nameEnglish: string;
|
|
@@ -540,6 +815,7 @@ type TileflowWorldV1Schema = Omit<OpenMapTilesSchema, 'fields' | 'layers'> & {
|
|
|
540
815
|
fields: OpenMapTilesFieldBindings & {
|
|
541
816
|
bathymetryMinDepth: string;
|
|
542
817
|
bathymetrySortKey: string;
|
|
818
|
+
hedge: string;
|
|
543
819
|
shieldKind: string;
|
|
544
820
|
shieldLineLengthMeters: string;
|
|
545
821
|
shieldNetwork: string;
|
|
@@ -554,6 +830,7 @@ type TileflowWorldV1Schema = Omit<OpenMapTilesSchema, 'fields' | 'layers'> & {
|
|
|
554
830
|
sidewalk: string;
|
|
555
831
|
streetFurniture: string;
|
|
556
832
|
roadShield: string;
|
|
833
|
+
trafficControl: string;
|
|
557
834
|
};
|
|
558
835
|
};
|
|
559
836
|
type TileflowWorldReleaseReference = Readonly<{
|
|
@@ -659,7 +936,13 @@ declare const tileflowBathymetryDemSourceId: "tileflow-bathymetry-dem";
|
|
|
659
936
|
declare const tileflowNauticalSourceId: "tileflow-nautical";
|
|
660
937
|
declare const tileflowBathymetryV1Schema: Readonly<{
|
|
661
938
|
fields: Readonly<{
|
|
939
|
+
class: "class";
|
|
940
|
+
depth: "depth";
|
|
941
|
+
id: "id";
|
|
942
|
+
maxZoom: "max_zoom";
|
|
662
943
|
minDepth: "min_depth";
|
|
944
|
+
minZoom: "min_zoom";
|
|
945
|
+
name: "name";
|
|
663
946
|
sortKey: "sort_key";
|
|
664
947
|
}>;
|
|
665
948
|
layer: "bathymetry";
|
|
@@ -736,6 +1019,24 @@ type TileflowMarineSourceConfig = {
|
|
|
736
1019
|
url?: string;
|
|
737
1020
|
};
|
|
738
1021
|
type TileflowBathymetryDisplay = 'bands' | 'relief' | 'hybrid';
|
|
1022
|
+
declare const tileflowBathymetryNameLayerLimits: Readonly<{
|
|
1023
|
+
maxZoomRanges: 128;
|
|
1024
|
+
}>;
|
|
1025
|
+
/** One exact, inclusive minimum and exclusive maximum nominal source range. */
|
|
1026
|
+
type TileflowBathymetryNameZoomRange = Readonly<{
|
|
1027
|
+
minZoom: number;
|
|
1028
|
+
maxZoom: number;
|
|
1029
|
+
}>;
|
|
1030
|
+
/** Exhaustive source range inventory; unmatched pairs are omitted from rendering. */
|
|
1031
|
+
type TileflowBathymetryNameLayer = boolean | {
|
|
1032
|
+
zoomRanges: readonly TileflowBathymetryNameZoomRange[];
|
|
1033
|
+
};
|
|
1034
|
+
/** Explicit availability of compatible optional vector layers; compilation never probes TileJSON. */
|
|
1035
|
+
type TileflowBathymetryVectorLayers = {
|
|
1036
|
+
contours?: boolean;
|
|
1037
|
+
landforms?: TileflowBathymetryNameLayer;
|
|
1038
|
+
waterNames?: TileflowBathymetryNameLayer;
|
|
1039
|
+
};
|
|
739
1040
|
/**
|
|
740
1041
|
* Styling and physical-source overrides for the optional Bathymetry DEM.
|
|
741
1042
|
* Terrarium and 512 px tiles are the hosted defaults; advanced compatible sources may override
|
|
@@ -759,6 +1060,7 @@ type TileflowBathymetryConfig = TileflowMarineSourceConfig & {
|
|
|
759
1060
|
labels?: false | TileflowSymbolStyle;
|
|
760
1061
|
relief?: false | TileflowBathymetryReliefConfig;
|
|
761
1062
|
type: 'bathymetry';
|
|
1063
|
+
vectorLayers?: TileflowBathymetryVectorLayers;
|
|
762
1064
|
};
|
|
763
1065
|
type TileflowBathymetryOptions = Omit<TileflowBathymetryConfig, 'type'>;
|
|
764
1066
|
/** Configure Bathymetry as one product while loading only the physical sources its display needs. */
|
|
@@ -814,6 +1116,7 @@ type ResolvedBathymetry = Readonly<{
|
|
|
814
1116
|
labels?: false | TileflowSymbolStyle;
|
|
815
1117
|
relief?: ResolvedBathymetryRelief;
|
|
816
1118
|
vector?: ResolvedMarineSource;
|
|
1119
|
+
vectorLayers?: TileflowBathymetryVectorLayers;
|
|
817
1120
|
}>;
|
|
818
1121
|
type ResolvedMarine = Readonly<{
|
|
819
1122
|
bathymetry?: ResolvedBathymetry;
|
|
@@ -822,6 +1125,42 @@ type ResolvedMarine = Readonly<{
|
|
|
822
1125
|
/** Resolve the optional marine sidecars without fetching their TileJSON documents. */
|
|
823
1126
|
declare function resolveMarine(marine: TileflowMarine | undefined, apiBaseUrl?: string): ResolvedMarine | undefined;
|
|
824
1127
|
|
|
1128
|
+
declare const tileflowResetBrand: unique symbol;
|
|
1129
|
+
/** Removes an inherited override in `refine()` or lighting in `defineTheme()`. */
|
|
1130
|
+
type TileflowReset = Readonly<{
|
|
1131
|
+
readonly $tileflow: 'reset';
|
|
1132
|
+
readonly [tileflowResetBrand]: true;
|
|
1133
|
+
}>;
|
|
1134
|
+
type TileflowPatchValue<TValue> = TileflowReset | (TValue extends readonly unknown[] ? TValue : TValue extends object ? TileflowNestedPatch<TValue> : TValue);
|
|
1135
|
+
type TileflowNestedPatch<TValue extends object> = {
|
|
1136
|
+
readonly [TKey in keyof TValue]?: TileflowPatchValue<TValue[TKey]>;
|
|
1137
|
+
};
|
|
1138
|
+
/**
|
|
1139
|
+
* A recursive semantic patch. Records merge; arrays and scalar values replace.
|
|
1140
|
+
* Module ownership and compiler visibility are immutable only at the patch root;
|
|
1141
|
+
* nested domain options named `type` or `enabled` retain their ordinary meaning.
|
|
1142
|
+
*/
|
|
1143
|
+
type TileflowModulePatch<TModule extends object> = {
|
|
1144
|
+
readonly [TKey in Exclude<keyof TModule, 'enabled' | 'type'>]?: TileflowPatchValue<TModule[TKey]>;
|
|
1145
|
+
};
|
|
1146
|
+
type TileflowRefineOperation<TPatch extends object = object> = Readonly<{
|
|
1147
|
+
readonly op: 'refine';
|
|
1148
|
+
readonly patches: readonly TPatch[];
|
|
1149
|
+
}>;
|
|
1150
|
+
type TileflowDisableOperation = Readonly<{
|
|
1151
|
+
readonly op: 'disable';
|
|
1152
|
+
}>;
|
|
1153
|
+
type TileflowModuleOperation<TModule extends object> = TileflowDisableOperation | TileflowRefineOperation<TileflowModulePatch<TModule>>;
|
|
1154
|
+
type TileflowAuthoringModules = {
|
|
1155
|
+
readonly [TName in keyof TileflowSemanticModules]?: NonNullable<TileflowSemanticModules[TName]> | TileflowModuleOperation<NonNullable<TileflowSemanticModules[TName]>>;
|
|
1156
|
+
};
|
|
1157
|
+
/** Deeply refine an inherited module; arrays and scalar values replace atomically. */
|
|
1158
|
+
declare function refine<const TPatch extends object>(...patches: readonly [TPatch, ...TPatch[]]): TileflowRefineOperation<TPatch>;
|
|
1159
|
+
/** Disable a complete semantic module while retaining an explicit compiler decision. */
|
|
1160
|
+
declare function disable(): TileflowDisableOperation;
|
|
1161
|
+
/** Remove an inherited module override or theme lighting value, restoring the SDK fallback. */
|
|
1162
|
+
declare function reset(): TileflowReset;
|
|
1163
|
+
|
|
825
1164
|
declare const tileflowSunMetadataKey = "tileflow:sun";
|
|
826
1165
|
/** A theme's sun and sky light with every value resolved; see `TileflowThemeSun`. */
|
|
827
1166
|
type TileflowSunPreset = Readonly<{
|
|
@@ -875,7 +1214,7 @@ type TileflowSun = Readonly<{
|
|
|
875
1214
|
/** Where the direction comes from: the themes, angles, or a date and place. */
|
|
876
1215
|
source: 'theme' | 'direction' | 'date';
|
|
877
1216
|
}>;
|
|
878
|
-
/**
|
|
1217
|
+
/** Unset sun values: high in the south-south-west, with soft white daylight and ambient fill. */
|
|
879
1218
|
declare const tileflowDefaultSunPreset: TileflowSunPreset;
|
|
880
1219
|
/**
|
|
881
1220
|
* Where the sun stands for an instant and a place ([longitude, latitude] in degrees): its azimuth
|
|
@@ -993,9 +1332,13 @@ type TileflowTheme = {
|
|
|
993
1332
|
type TileflowThemeTokenOverrides = {
|
|
994
1333
|
[TCategory in keyof TileflowThemeTokens]?: Readonly<Partial<TileflowThemeTokens[TCategory]>>;
|
|
995
1334
|
};
|
|
1335
|
+
type TileflowThemeLightingOverrides = {
|
|
1336
|
+
[TKey in keyof TileflowThemeLighting]?: TileflowThemeLighting[TKey] | TileflowReset;
|
|
1337
|
+
};
|
|
996
1338
|
/** Input accepted by defineTheme. The returned theme is always fully materialized. */
|
|
997
1339
|
type TileflowThemeDefinition = Pick<TileflowTheme, 'colorScheme' | 'id' | 'version'> & {
|
|
998
|
-
lighting
|
|
1340
|
+
/** Refine inherited light, or use reset() to remove all or one direct lighting property. */
|
|
1341
|
+
lighting?: TileflowThemeLightingOverrides | TileflowReset;
|
|
999
1342
|
tokens?: TileflowThemeTokenOverrides;
|
|
1000
1343
|
typography?: TileflowThemeTypography;
|
|
1001
1344
|
};
|
|
@@ -1050,7 +1393,8 @@ declare function resolveThemeValues<T>(value: T, theme: TileflowTheme, path?: st
|
|
|
1050
1393
|
declare function resolveThemeSelection(map: {
|
|
1051
1394
|
defaultTheme: string;
|
|
1052
1395
|
themes: Readonly<Record<string, TileflowTheme>>;
|
|
1053
|
-
|
|
1396
|
+
timeOfDay?: TileflowTimeOfDayVariants;
|
|
1397
|
+
}, requested?: string, timeOfDay?: TileflowTimeOfDay): TileflowResolvedThemeSelection;
|
|
1054
1398
|
/** Find visual literals whose permanence is otherwise invisible to an agent. */
|
|
1055
1399
|
declare function auditTileflowThemeValues(value: unknown, path?: string, context?: TileflowThemeAuditContext): TileflowThemeAuditDiagnostic[];
|
|
1056
1400
|
/** Audit every appearance-bearing branch of a resolved map. */
|
|
@@ -1157,88 +1501,6 @@ declare class TileflowIconSetError extends Error {
|
|
|
1157
1501
|
/** Validate the dependency sequence without consulting a lock or registry. */
|
|
1158
1502
|
declare function collectTileflowIconSetReferences(sources: readonly TileflowIconSource[]): TileflowIconSetReference[];
|
|
1159
1503
|
|
|
1160
|
-
declare const tileflowOverlayPlacements: readonly ["above-water", "below-roads", "above-roads", "above-buildings", "below-labels", "above-labels"];
|
|
1161
|
-
declare const tileflowHostedSourceLimit: 16;
|
|
1162
|
-
type TileflowOverlayPlacement = (typeof tileflowOverlayPlacements)[number];
|
|
1163
|
-
type TileflowHostedTilesetType = 'raster' | 'vector';
|
|
1164
|
-
type TileflowHostedTilesetSource = Readonly<{
|
|
1165
|
-
attribution: string;
|
|
1166
|
-
kind: 'hosted-tileset';
|
|
1167
|
-
local: string;
|
|
1168
|
-
tileset: string;
|
|
1169
|
-
tileSize?: 256 | 512;
|
|
1170
|
-
type: TileflowHostedTilesetType;
|
|
1171
|
-
}>;
|
|
1172
|
-
type TileflowMapLibreOverlayLayer = Readonly<Record<string, unknown> & {
|
|
1173
|
-
id: string;
|
|
1174
|
-
source?: never;
|
|
1175
|
-
type: string;
|
|
1176
|
-
}>;
|
|
1177
|
-
type TileflowMapLibreOverlay = Readonly<{
|
|
1178
|
-
kind: 'maplibre-overlay';
|
|
1179
|
-
layers: readonly TileflowMapLibreOverlayLayer[];
|
|
1180
|
-
placement: TileflowOverlayPlacement;
|
|
1181
|
-
source: string;
|
|
1182
|
-
}>;
|
|
1183
|
-
type TileflowRemoveOperation = Readonly<{
|
|
1184
|
-
op: 'remove';
|
|
1185
|
-
}>;
|
|
1186
|
-
type TileflowHostedSourceCollection = Readonly<Record<string, TileflowHostedTilesetSource | TileflowRemoveOperation>>;
|
|
1187
|
-
type TileflowOverlayCollection = Readonly<Record<string, TileflowMapLibreOverlay | TileflowRemoveOperation>>;
|
|
1188
|
-
/** Bind one logical Team tileset to an explicit account-free local PMTiles archive. */
|
|
1189
|
-
declare function hostedTileset(options: {
|
|
1190
|
-
attribution: string;
|
|
1191
|
-
local: string;
|
|
1192
|
-
tileset: string;
|
|
1193
|
-
tileSize?: 256 | 512;
|
|
1194
|
-
type?: TileflowHostedTilesetType;
|
|
1195
|
-
}): TileflowHostedTilesetSource;
|
|
1196
|
-
/** Group one or more ordinary MapLibre layers around one named Tileflow source. */
|
|
1197
|
-
declare function maplibreOverlay(options: {
|
|
1198
|
-
layers: readonly TileflowMapLibreOverlayLayer[];
|
|
1199
|
-
placement: TileflowOverlayPlacement;
|
|
1200
|
-
source: string;
|
|
1201
|
-
}): TileflowMapLibreOverlay;
|
|
1202
|
-
/** Remove one inherited keyed source or overlay. */
|
|
1203
|
-
declare function remove(): TileflowRemoveOperation;
|
|
1204
|
-
declare function isSafeLocalPmtilesPath(value: unknown): value is string;
|
|
1205
|
-
|
|
1206
|
-
declare const tileflowResetBrand: unique symbol;
|
|
1207
|
-
/** Serializable sentinel that removes one inherited override during `refine()`. */
|
|
1208
|
-
type TileflowReset = Readonly<{
|
|
1209
|
-
readonly $tileflow: 'reset';
|
|
1210
|
-
readonly [tileflowResetBrand]: true;
|
|
1211
|
-
}>;
|
|
1212
|
-
type TileflowPatchValue<TValue> = TileflowReset | (TValue extends readonly unknown[] ? TValue : TValue extends object ? TileflowNestedPatch<TValue> : TValue);
|
|
1213
|
-
type TileflowNestedPatch<TValue extends object> = {
|
|
1214
|
-
readonly [TKey in keyof TValue]?: TileflowPatchValue<TValue[TKey]>;
|
|
1215
|
-
};
|
|
1216
|
-
/**
|
|
1217
|
-
* A recursive semantic patch. Records merge; arrays and scalar values replace.
|
|
1218
|
-
* Module ownership and compiler visibility are immutable only at the patch root;
|
|
1219
|
-
* nested domain options named `type` or `enabled` retain their ordinary meaning.
|
|
1220
|
-
*/
|
|
1221
|
-
type TileflowModulePatch<TModule extends object> = {
|
|
1222
|
-
readonly [TKey in Exclude<keyof TModule, 'enabled' | 'type'>]?: TileflowPatchValue<TModule[TKey]>;
|
|
1223
|
-
};
|
|
1224
|
-
type TileflowRefineOperation<TPatch extends object = object> = Readonly<{
|
|
1225
|
-
readonly op: 'refine';
|
|
1226
|
-
readonly patches: readonly TPatch[];
|
|
1227
|
-
}>;
|
|
1228
|
-
type TileflowDisableOperation = Readonly<{
|
|
1229
|
-
readonly op: 'disable';
|
|
1230
|
-
}>;
|
|
1231
|
-
type TileflowModuleOperation<TModule extends object> = TileflowDisableOperation | TileflowRefineOperation<TileflowModulePatch<TModule>>;
|
|
1232
|
-
type TileflowAuthoringModules = {
|
|
1233
|
-
readonly [TName in keyof TileflowSemanticModules]?: NonNullable<TileflowSemanticModules[TName]> | TileflowModuleOperation<NonNullable<TileflowSemanticModules[TName]>>;
|
|
1234
|
-
};
|
|
1235
|
-
/** Deeply refine an inherited module; arrays and scalar values replace atomically. */
|
|
1236
|
-
declare function refine<const TPatch extends object>(...patches: readonly [TPatch, ...TPatch[]]): TileflowRefineOperation<TPatch>;
|
|
1237
|
-
/** Disable a complete semantic module while retaining an explicit compiler decision. */
|
|
1238
|
-
declare function disable(): TileflowDisableOperation;
|
|
1239
|
-
/** Remove an inherited override so the domain registry can supply its semantic default. */
|
|
1240
|
-
declare function reset(): TileflowReset;
|
|
1241
|
-
|
|
1242
1504
|
/** Portable, filesystem-safe identity shared by maps and their leaf-owned scenes. */
|
|
1243
1505
|
declare const tileflowMapIdSchema: zod.ZodString;
|
|
1244
1506
|
/** Identity is always owned by the map being resolved and never inherited. */
|
|
@@ -1271,6 +1533,11 @@ type TileflowMapTextAssets = {
|
|
|
1271
1533
|
type TileflowMapDesign = TileflowMapTextAssets & {
|
|
1272
1534
|
/** Optional atmosphere for globe projection. False disables an inherited atmosphere. */
|
|
1273
1535
|
atmosphere?: TileflowAtmosphere;
|
|
1536
|
+
/**
|
|
1537
|
+
* Tileflow's Boundaries tileset: administrative and neighbourhood areas for choropleths and
|
|
1538
|
+
* selections. World's border lines remain the `boundaries` module. False removes inherited areas.
|
|
1539
|
+
*/
|
|
1540
|
+
boundaryAreas?: TileflowBoundaryAreas;
|
|
1274
1541
|
data?: TileflowDataConfig;
|
|
1275
1542
|
/** Name used whenever a concrete theme is not explicitly requested. */
|
|
1276
1543
|
defaultTheme?: TileflowThemeName;
|
|
@@ -1298,6 +1565,8 @@ type TileflowMapDesign = TileflowMapTextAssets & {
|
|
|
1298
1565
|
terrain?: TileflowTerrain;
|
|
1299
1566
|
/** Complete named appearances. Omission inherits; declaration replaces the collection. */
|
|
1300
1567
|
themes?: Readonly<Record<TileflowThemeName, TileflowTheme>>;
|
|
1568
|
+
/** Optional artistic moments per theme family. Omission inherits; {} disables inheritance. */
|
|
1569
|
+
timeOfDay?: TileflowTimeOfDayVariants;
|
|
1301
1570
|
view?: TileflowViewConfig;
|
|
1302
1571
|
};
|
|
1303
1572
|
/** Complete semantic map at the base of a lineage. The compiler is implicit. */
|
|
@@ -1455,7 +1724,18 @@ type TileflowCompilationPlannerDecision = Readonly<{
|
|
|
1455
1724
|
selectedCount?: number;
|
|
1456
1725
|
stage: TileflowCompilationPlannerStage;
|
|
1457
1726
|
}>;
|
|
1727
|
+
/** A resolved semantic choice, with an authoring path rather than a physical layer ID. */
|
|
1728
|
+
type TileflowCompilationDesignDecision = Readonly<{
|
|
1729
|
+
/** Dot path in the resolved map; a theme token's complete role is its final key. */
|
|
1730
|
+
path: string;
|
|
1731
|
+
source: 'default' | 'map' | 'theme' | 'derived';
|
|
1732
|
+
value: unknown;
|
|
1733
|
+
reason: string;
|
|
1734
|
+
override: string;
|
|
1735
|
+
}>;
|
|
1458
1736
|
type TileflowCompilationReport = Readonly<{
|
|
1737
|
+
/** Color roles and selected module policies, not a trace of every paint/layout property. */
|
|
1738
|
+
decisions?: readonly TileflowCompilationDesignDecision[];
|
|
1459
1739
|
domains: readonly TileflowCompilationDomainReport[];
|
|
1460
1740
|
map: string;
|
|
1461
1741
|
planner: readonly TileflowCompilationPlannerDecision[];
|
|
@@ -1537,8 +1817,10 @@ type TileflowPreparedMapAssets = {
|
|
|
1537
1817
|
ids: readonly string[];
|
|
1538
1818
|
sprite: string;
|
|
1539
1819
|
};
|
|
1540
|
-
/** The map's own 3D models by id, prepared from its `models` directories. */
|
|
1820
|
+
/** The map's own 3D tree models by id, prepared from its `models` directories. */
|
|
1541
1821
|
models?: Readonly<Record<string, TileflowTreeModel>>;
|
|
1822
|
+
/** Where each of the map's own building models is served, by id. */
|
|
1823
|
+
buildingModels?: Readonly<Record<string, string>>;
|
|
1542
1824
|
};
|
|
1543
1825
|
type TileflowSemanticCompileOptions = {
|
|
1544
1826
|
apiBaseUrl?: string;
|
|
@@ -1552,6 +1834,8 @@ type TileflowSemanticCompileOptions = {
|
|
|
1552
1834
|
preparedAssets?: TileflowPreparedMapAssets;
|
|
1553
1835
|
/** Concrete named theme. Omission deterministically selects map.defaultTheme. */
|
|
1554
1836
|
theme?: string;
|
|
1837
|
+
/** Optional artistic preset declared by the map. */
|
|
1838
|
+
timeOfDay?: TileflowTimeOfDay;
|
|
1555
1839
|
};
|
|
1556
1840
|
type TileflowSemanticCompilationOptions = TileflowSemanticCompileOptions & {
|
|
1557
1841
|
/** Include opt-in read-only physical diagnostics; emitted IDs are not authoring targets. */
|
|
@@ -1651,4 +1935,4 @@ declare function parseTileflowIconComposition(input: unknown): TileflowIconCompo
|
|
|
1651
1935
|
/** Dependency identity is separate from the generated artifact's content hash. */
|
|
1652
1936
|
declare function hashTileflowIconComposition(input: TileflowIconCompositionV1): Promise<string>;
|
|
1653
1937
|
|
|
1654
|
-
export { type
|
|
1938
|
+
export { type ResolvedMarineSource as $, type TileflowMapScene as A, type TileflowMapShot as B, type ResolveMapOptions as C, type TileflowIconAppearance as D, type TileflowLayerDomain as E, type TileflowBandPlacement as F, type OpenMapTilesLayerBindings as G, tileflowCompilationPhases as H, tileflowCompilationPlannerStages as I, tileflowCompilationReportSchemaVersion as J, type TileflowSemanticModuleName as K, tileflowHostedSourceLimit as L, tileflowOverlayPlacements as M, type ResolvedTileflowTheme as N, type OpenMapTilesFieldBindings as O, type TileflowThemeColorScheme as P, type TileflowIconSource as Q, type ResolvedTileflowMap as R, type TileflowVegetationMode as S, type TileflowRenderedIconIdentity as T, type OpenMapTilesSchema as U, type OpenMapTilesSchemaOptions as V, type ParkLayerSemantics as W, type ResolvedBathymetry as X, type ResolvedBathymetryRelief as Y, type ResolvedBoundaryAreas as Z, type ResolvedMarine as _, type TileflowIconCompositionV1 as a, type TileflowLandformsModuleOptions as a$, type ResolvedTileflowData as a0, type ResolvedTileflowThemeTokens as a1, type TileflowAddressesModuleConfig as a2, type TileflowAddressesModuleOptions as a3, type TileflowAerowaysModuleConfig as a4, type TileflowAerowaysModuleOptions as a5, type TileflowAtmosphere as a6, type TileflowAtmosphereOptions as a7, type TileflowAuthoringModules as a8, type TileflowBarrierClass as a9, type TileflowCompilationOptions as aA, type TileflowCompilationPhase as aB, type TileflowCompilationPlannerDecision as aC, type TileflowCompilationPlannerStage as aD, type TileflowCompilationReport as aE, type TileflowCompilationResult as aF, type TileflowCompilationSuccess as aG, type TileflowDataConfig as aH, type TileflowDataIdentity as aI, type TileflowDerivedMap as aJ, type TileflowDisableOperation as aK, type TileflowFontDirectory as aL, type TileflowGlyphs as aM, type TileflowHostedSourceCollection as aN, type TileflowHostedTilesetSource as aO, type TileflowHostedTilesetType as aP, type TileflowIconContributorIdentity as aQ, type TileflowIconDirectory as aR, TileflowIconSetError as aS, type TileflowIconSetErrorCode as aT, type TileflowIconSetReference as aU, type TileflowIconSetSource as aV, type TileflowLandModuleConfig as aW, type TileflowLandModuleOptions as aX, type TileflowLandcoverClass as aY, type TileflowLandformClass as aZ, type TileflowLandformsModuleConfig as a_, type TileflowBarrierStyle as aa, type TileflowBathymetryConfig as ab, type TileflowBathymetryDemSourceIdentity as ac, type TileflowBathymetryDisplay as ad, type TileflowBathymetryNameLayer as ae, type TileflowBathymetryNamePlacement as af, type TileflowBathymetryNameStyle as ag, type TileflowBathymetryNameZoomRange as ah, type TileflowBathymetryOptions as ai, type TileflowBathymetryReliefConfig as aj, type TileflowBathymetryVectorLayers as ak, type TileflowBoundariesModuleConfig as al, type TileflowBoundariesModuleOptions as am, type TileflowBoundaryAreas as an, type TileflowBoundaryAreasConfig as ao, type TileflowBoundaryAreasSourceIdentity as ap, type TileflowBuildingMode as aq, type TileflowBuildingModelPart as ar, type TileflowBuildingModelPlacementConfig as as, type TileflowBuildingsModuleConfig as at, type TileflowBuildingsModuleOptions as au, type TileflowBuildingsThreeDimensionalStyle as av, type TileflowCompilationDesignDecision as aw, type TileflowCompilationDiagnostic as ax, type TileflowCompilationDomainReport as ay, type TileflowCompilationFailure as az, type TileflowDataRequirementsV1 as b, type VectorTilesData as b$, type TileflowLanduseClass as b0, type TileflowLayerBand as b1, type TileflowLocalDirectory as b2, type TileflowMapDesign as b3, type TileflowMapIdentity as b4, type TileflowMapLibreOverlayLayer as b5, type TileflowMapTooling as b6, type TileflowMarine as b7, type TileflowMarineConfig as b8, type TileflowMarineMode as b9, type TileflowThemeDefinition as bA, type TileflowThemeLighting as bB, type TileflowThemeName as bC, type TileflowThemeSun as bD, type TileflowThemeTokens as bE, type TileflowThemeTypography as bF, type TileflowThemeTypographyStyle as bG, type TileflowTransitModuleConfig as bH, type TileflowTransitModuleOptions as bI, type TileflowTransitRailStyle as bJ, type TileflowTreeForm as bK, type TileflowTreeFormMix as bL, type TileflowTreeModel as bM, type TileflowTreeModelMesh as bN, type TileflowTreeRegion as bO, type TileflowVegetation3D as bP, type TileflowVegetationModuleConfig as bQ, type TileflowVegetationModuleOptions as bR, type TileflowVegetationThreeDimensionalStyle as bS, type TileflowVisualValueCategory as bT, type TileflowWaterModuleConfig as bU, type TileflowWaterModuleOptions as bV, type TileflowWaterwayClass as bW, type TileflowWorldData as bX, type TileflowWorldReleaseReference as bY, type TileflowWorldSelection as bZ, type TileflowWorldV1Schema as b_, type TileflowMarineSourceConfig as ba, type TileflowMarineSourceIdentity as bb, type TileflowModelDirectory as bc, type TileflowModuleOperation as bd, type TileflowModulePatch as be, type TileflowNauticalAreaLabelStyles as bf, type TileflowNauticalModuleConfig as bg, type TileflowNauticalModuleOptions as bh, type TileflowOverlayCollection as bi, type TileflowPackageDirectory as bj, type TileflowPreparedIconCapabilities as bk, type TileflowRasterDemSourceRequirementV1 as bl, type TileflowRefineOperation as bm, type TileflowRemoveOperation as bn, type TileflowReset as bo, type TileflowResolvedThemeSelection as bp, type TileflowSemanticModules as bq, type TileflowStandaloneMap as br, type TileflowSun as bs, type TileflowSunPreset as bt, type TileflowTheme as bu, type TileflowThemeAmbient as bv, type TileflowThemeAuditContext as bw, type TileflowThemeAuditDiagnostic as bx, TileflowThemeAuditError as by, type TileflowThemeAuditScope as bz, type TileflowSourceRequirementsV1 as c, tileflowIconSetIdSchema as c$, addresses as c0, aeroways as c1, assertTileflowMapThemeValues as c2, assertTileflowSdfPixels as c3, auditTileflowMapThemeValues as c4, auditTileflowThemeValues as c5, bathymetry as c6, boundaries as c7, buildings as c8, classifyTileflowVisualProperty as c9, readTileflowSunPreset as cA, readTileflowVegetation3D as cB, refine as cC, remove as cD, reset as cE, resolveBoundaryAreas as cF, resolveMarine as cG, resolveThemeSelection as cH, resolveThemeValues as cI, resolveTileflowData as cJ, resolveTileflowSun as cK, resolveTileflowTheme as cL, tileflowBandPlacements as cM, tileflowBathymetryDemSourceId as cN, tileflowBathymetryNameLayerLimits as cO, tileflowBathymetrySourceId as cP, tileflowBathymetryV1Schema as cQ, tileflowBoundaryAreasV1Schema as cR, tileflowBoundaryClassTiers as cS, tileflowBoundaryClasses as cT, tileflowBoundaryFamilies as cU, tileflowDefaultSunPreset as cV, tileflowIconAppearanceSchema as cW, tileflowIconAuthorMetadataSchema as cX, tileflowIconCompositionMaximumBytes as cY, tileflowIconCompositionSchema as cZ, tileflowIconMetadataFileName as c_, collectTileflowIconSetReferences as ca, createStyle as cb, createStyleResult as cc, decodeTileflowTreeModel as cd, defineTheme as ce, disable as cf, encodeTileflowTreeModel as cg, hashTileflowIconComposition as ch, hostedTileset as ci, iconSet as cj, isCanonicalOpenMapTilesSchema as ck, isSafeLocalPmtilesPath as cl, isTileflowBoundaryClass as cm, isTileflowBoundaryFamily as cn, isTileflowCompilationPhase as co, isTileflowIconSetSource as cp, isTileflowLocalDirectory as cq, land as cr, landforms as cs, maplibreOverlay as ct, mixTileflowSunPresets as cu, nautical as cv, openMapTiles as cw, openMapTilesContractVersion as cx, parseTileflowIconComposition as cy, parseTileflowMap as cz, type TileflowMap as d, tileflowIconSetPackageIdSchema as d0, tileflowIconSetReferenceSchema as d1, tileflowIconSetSourceSchema as d2, tileflowIconSetTeamIdSchema as d3, tileflowIconSetVersionIdSchema as d4, tileflowIconSourceLimit as d5, tileflowLandformClasses as d6, tileflowLayerBands as d7, tileflowLocalDirectoryMaximumLength as d8, tileflowLocalDirectoryMessage as d9, tileflowMapIdSchema as da, tileflowNauticalSourceId as db, tileflowNauticalV1Schema as dc, tileflowPrimarySourceId as dd, tileflowRenderedIconIdentitySchema as de, tileflowStyleSunPreset as df, tileflowSunDirection as dg, tileflowSunMetadataKey as dh, tileflowSunPosition as di, tileflowThemeLimits as dj, tileflowTreeForms as dk, tileflowTreeModelIdPattern as dl, tileflowTreeModelLimits as dm, tileflowVegetationMetadataKey as dn, tileflowWorld as dp, tileflowWorldGeneration as dq, tileflowWorldTileJsonUrl as dr, tileflowWorldV1Schema as ds, transit as dt, validateTileflowCompiledIconCapabilities as du, validateTileflowMap as dv, validateTileflowWorldV1Tilejson as dw, vectorTiles as dx, vegetation as dy, water as dz, 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 TileflowBoundaryClass as u, validateTileflowDataCompatibility as v, type TileflowBoundaryClassTier as w, type TileflowBoundaryFamily as x, type TileflowOverlayPlacement as y, type TileflowMapLibreOverlay as z };
|