@tileflow/core 0.1.0-alpha.32 → 0.1.0-alpha.34
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 +36 -1
- package/THIRD_PARTY_NOTICES.md +25 -2
- package/dist/browser.d.ts +1217 -1
- package/dist/browser.js +10339 -2849
- package/dist/build.d.ts +15 -6
- package/dist/build.js +1234 -427
- package/dist/{capture-scene-BaAJjGq7.d.ts → capture-shot-ChPQvPyi.d.ts} +121 -1
- package/dist/capture.d.ts +1 -1
- package/dist/capture.js +218 -0
- package/dist/config-reference.json +2646 -766
- package/dist/{icon-composition-Befmn-zZ.d.ts → icon-composition-DqoZWQuz.d.ts} +318 -3
- package/dist/index.d.ts +122 -7
- package/dist/index.js +2533 -985
- package/dist/{manifest-types-E7m23eXL.d.ts → manifest-types-hmzy2bBX.d.ts} +20 -1
- package/dist/manifest.d.ts +2 -2
- package/dist/native.js +1893 -1884
- package/dist/runtime.d.ts +1 -1
- package/docs/application-tile-reading.md +83 -0
- package/docs/authoring-model.md +13 -3
- package/docs/buildings-3d.md +172 -0
- package/docs/camera-moves-and-tile-cache.md +112 -0
- package/docs/capture-scenes.md +4 -0
- package/docs/capture-shots.md +173 -0
- package/docs/depth-markers.md +65 -0
- package/docs/public-api-and-browser-subpath.md +3 -3
- package/docs/route-drawing.md +191 -0
- package/docs/street-lights.md +107 -0
- package/docs/sun-and-light.md +125 -0
- package/docs/themes-and-module-styles.md +7 -0
- package/docs/trees-3d.md +211 -0
- package/package.json +4 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { b9 as TileflowThemeColorValue, o as TileflowSymbolStyle, A as TileflowAreaStyle, _ as TileflowLineStackStyle, n as TileflowLineStyle, l as TileflowExtrusionStyle, bc as TileflowThemeNumberValue, j as TileflowBackgroundStyle, m as TileflowFillStyle, a3 as TileflowMarkerSymbolStyle, k as TileflowCircleStyle, aZ as TileflowTerrainHillshadeStyle, aY as TileflowTerrainEncoding, ba as TileflowThemeFontValue, bb as TileflowThemeImageValue, bW as TileflowTypographyStyle, S as TileflowLight, bX as ResolvedTileflowTypography, s as TileflowLabelsModuleConfig, v as TileflowPoiModuleConfig, q as TileflowRoadsModuleConfig, ad as TileflowProjection, aT as TileflowTerrain, bg as TileflowViewConfig, M as MapLibreStyle, bk as ValidationResult } from './manifest-types-hmzy2bBX.js';
|
|
2
2
|
import * as zod from 'zod';
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
-
import { T as TileflowCaptureScene } from './capture-
|
|
4
|
+
import { T as TileflowCaptureScene, a as TileflowCaptureShot } from './capture-shot-ChPQvPyi.js';
|
|
5
5
|
|
|
6
6
|
/** Optional globe atmosphere. Colors use theme tokens or explicit fixed values and must resolve to opaque colors. */
|
|
7
7
|
type TileflowAtmosphereOptions = {
|
|
@@ -48,11 +48,30 @@ type TileflowBoundariesModuleConfig = TileflowBoundariesModuleOptions & {
|
|
|
48
48
|
declare function boundaries(options?: TileflowBoundariesModuleOptions): TileflowBoundariesModuleConfig;
|
|
49
49
|
|
|
50
50
|
type TileflowBuildingMode = '3d' | 'flat';
|
|
51
|
+
/**
|
|
52
|
+
* How Core's 3D buildings renderer draws the map's buildings. Their colour is the map's own 3D
|
|
53
|
+
* building colour (its extrusion), else its roofs'.
|
|
54
|
+
*/
|
|
55
|
+
type TileflowBuildingsThreeDimensionalStyle = {
|
|
56
|
+
/** How strongly roof outlines and outer corners catch the light, from 0 (none) to 1, the default. */
|
|
57
|
+
edges?: TileflowThemeNumberValue;
|
|
58
|
+
/** Their own colour, drawn unlit; without it they take the building's colour, lightened. */
|
|
59
|
+
edgeColor?: TileflowThemeColorValue;
|
|
60
|
+
/** How bright the buildings light the street at night, from 0 (none) to 2; defaults to 1. */
|
|
61
|
+
nightLight?: TileflowThemeNumberValue;
|
|
62
|
+
/** Contact shadow at the foot of the walls and in tight corners; defaults to true. */
|
|
63
|
+
occlusion?: boolean;
|
|
64
|
+
/** Shadows from the sun, on the buildings and the flat map; defaults to true. */
|
|
65
|
+
shadows?: boolean;
|
|
66
|
+
/** Invented night windows, lit by rooms: decoration, not data. Defaults to false. */
|
|
67
|
+
windows?: boolean;
|
|
68
|
+
};
|
|
51
69
|
type TileflowBuildingsModuleOptions = {
|
|
52
70
|
businessCorridor?: TileflowAreaStyle;
|
|
53
71
|
extrusion?: TileflowExtrusionStyle;
|
|
54
72
|
flat?: TileflowAreaStyle;
|
|
55
73
|
mode?: TileflowBuildingMode;
|
|
74
|
+
threeDimensional?: TileflowBuildingsThreeDimensionalStyle;
|
|
56
75
|
};
|
|
57
76
|
type TileflowBuildingsModuleConfig = TileflowBuildingsModuleOptions & {
|
|
58
77
|
type: 'buildings';
|
|
@@ -136,13 +155,172 @@ type TileflowTransitModuleConfig = TileflowTransitModuleOptions & {
|
|
|
136
155
|
};
|
|
137
156
|
declare function transit(options?: TileflowTransitModuleOptions): TileflowTransitModuleConfig;
|
|
138
157
|
|
|
158
|
+
/** What a map's tree models may hold. */
|
|
159
|
+
declare const tileflowTreeModelLimits: Readonly<{
|
|
160
|
+
/** Triangles of a near model, the one drawn close to the camera. */
|
|
161
|
+
nearTriangles: 1000;
|
|
162
|
+
/** Triangles of a far model, drawn beyond the nearest tiles. */
|
|
163
|
+
farTriangles: 120;
|
|
164
|
+
/** Vertices of one model. */
|
|
165
|
+
vertices: 4096;
|
|
166
|
+
/** Models one map carries. */
|
|
167
|
+
models: 16;
|
|
168
|
+
/** Models one form draws from. */
|
|
169
|
+
perForm: 4;
|
|
170
|
+
}>;
|
|
171
|
+
/** A model as indexed triangles of a unit tree, before it is encoded. */
|
|
172
|
+
type TileflowTreeModelMesh = Readonly<{
|
|
173
|
+
/** The model's crown width over its height, as its author drew it, from 0.1 to 3. */
|
|
174
|
+
proportion: number;
|
|
175
|
+
/** x, y and z of each vertex: x and y from about -0.5 to 0.5, z from 0 to 1. */
|
|
176
|
+
positions: readonly number[];
|
|
177
|
+
/** The vertex normals, x, y and z. */
|
|
178
|
+
normals: readonly number[];
|
|
179
|
+
/** Each vertex's part, a value of `tileflowTreeParts`. */
|
|
180
|
+
parts: readonly number[];
|
|
181
|
+
/** Each vertex's shade among its part's colours, from -1 (darkest) to 1. */
|
|
182
|
+
shades: readonly number[];
|
|
183
|
+
/** Each vertex's light, from 0 (fully occluded) to 1. */
|
|
184
|
+
occlusion: readonly number[];
|
|
185
|
+
/** Three vertex indices per triangle. */
|
|
186
|
+
indices: readonly number[];
|
|
187
|
+
}>;
|
|
188
|
+
/** A prepared model, near and optionally far, as the style's tree description carries it. */
|
|
189
|
+
type TileflowTreeModel = Readonly<{
|
|
190
|
+
near: string;
|
|
191
|
+
far?: string;
|
|
192
|
+
}>;
|
|
193
|
+
/** Encodes a model as base64 text. Throws when it breaks `tileflowTreeModelLimits`. */
|
|
194
|
+
declare function encodeTileflowTreeModel(mesh: TileflowTreeModelMesh, level: 'near' | 'far'): string;
|
|
195
|
+
/**
|
|
196
|
+
* Decodes a model's base64 text, or undefined when it is not a tree model of this version or
|
|
197
|
+
* breaks `tileflowTreeModelLimits`.
|
|
198
|
+
*/
|
|
199
|
+
declare function decodeTileflowTreeModel(text: unknown, level: 'near' | 'far'): TileflowTreeModelMesh | undefined;
|
|
200
|
+
|
|
201
|
+
/** The forms a 3D tree takes. */
|
|
202
|
+
declare const tileflowTreeForms: readonly ["round", "open", "tall", "conifer", "columnar", "palm"];
|
|
203
|
+
type TileflowTreeForm = (typeof tileflowTreeForms)[number];
|
|
204
|
+
/** How a tree's surfaces take the light: facets, a smooth round shape, or bands as drawn. */
|
|
205
|
+
declare const tileflowTreeFinishes: readonly ["faceted", "smooth", "toon"];
|
|
206
|
+
type TileflowTreeFinish = (typeof tileflowTreeFinishes)[number];
|
|
207
|
+
/** A form's own scales, on top of the map's, and the map's own models it draws. */
|
|
208
|
+
type TileflowTreeFormStyle = Readonly<{
|
|
209
|
+
heightScale?: number;
|
|
210
|
+
crownScale?: number;
|
|
211
|
+
/** Ids of the map's own models, one to four; each tree draws one by its stable seed. */
|
|
212
|
+
models?: readonly string[];
|
|
213
|
+
}>;
|
|
214
|
+
/** Relative weights of the forms given to trees whose data gives none. */
|
|
215
|
+
type TileflowTreeFormMix = Readonly<Partial<Record<TileflowTreeForm, number>>>;
|
|
216
|
+
/** A region whose trees without a form in the data take their own mix. */
|
|
217
|
+
type TileflowTreeRegion = Readonly<{
|
|
218
|
+
/** `[west, south, east, north]` in degrees. */
|
|
219
|
+
bounds: readonly [number, number, number, number];
|
|
220
|
+
unknownForms: TileflowTreeFormMix;
|
|
221
|
+
}>;
|
|
222
|
+
/** The fields of the tree and canopy layers, as World names them. */
|
|
223
|
+
type TileflowTreeFields = Readonly<{
|
|
224
|
+
height: string;
|
|
225
|
+
diameterCrown: string;
|
|
226
|
+
circumference: string;
|
|
227
|
+
genus: string;
|
|
228
|
+
species: string;
|
|
229
|
+
leafType: string;
|
|
230
|
+
/** The tree's taxon at any rank, such as `Arecaceae` for palms or a genus or species. */
|
|
231
|
+
taxon: string;
|
|
232
|
+
canopyRank: string;
|
|
233
|
+
canopyClearance: string;
|
|
234
|
+
canopyCover: string;
|
|
235
|
+
/** A canopy point's measured canopy height, in metres. */
|
|
236
|
+
canopyHeight: string;
|
|
237
|
+
}>;
|
|
238
|
+
/** A model's id: its file's name, in lowercase letters, digits and hyphens. */
|
|
239
|
+
declare const tileflowTreeModelIdPattern: RegExp;
|
|
240
|
+
/** The style metadata key under which a compiled map describes its 3D trees. */
|
|
241
|
+
declare const tileflowVegetationMetadataKey = "tileflow:vegetation";
|
|
242
|
+
/** How a compiled map's 3D trees look and where their data is, resolved for one theme. */
|
|
243
|
+
type TileflowVegetation3D = Readonly<{
|
|
244
|
+
/** The vector source and its layers with the trees and the canopy points. */
|
|
245
|
+
source: string;
|
|
246
|
+
layers: Readonly<{
|
|
247
|
+
tree: string;
|
|
248
|
+
canopy?: string;
|
|
249
|
+
}>;
|
|
250
|
+
fields: TileflowTreeFields;
|
|
251
|
+
/** Sunlit colours: bark, and the leaves of each kind of tree from darkest to lightest. */
|
|
252
|
+
colors: Readonly<{
|
|
253
|
+
bark: string;
|
|
254
|
+
broadleaf: readonly string[];
|
|
255
|
+
conifer: readonly string[];
|
|
256
|
+
palm: readonly string[];
|
|
257
|
+
}>;
|
|
258
|
+
heightScale: number;
|
|
259
|
+
crownScale: number;
|
|
260
|
+
/** Each form's own scales and models. */
|
|
261
|
+
forms: Readonly<Partial<Record<TileflowTreeForm, TileflowTreeFormStyle>>>;
|
|
262
|
+
/** The map's own models its forms draw, by id, prepared from its `models` directories. */
|
|
263
|
+
models: Readonly<Record<string, TileflowTreeModel>>;
|
|
264
|
+
finish: TileflowTreeFinish;
|
|
265
|
+
/** How strongly an outline rings each tree, from 0 (none) to 1, and its colour. */
|
|
266
|
+
edges: number;
|
|
267
|
+
edgeColor?: string;
|
|
268
|
+
unknownForms: TileflowTreeFormMix;
|
|
269
|
+
regions: readonly TileflowTreeRegion[];
|
|
270
|
+
/** The style's layers that draw the trees flat, which the 3D trees stand in for while shown. */
|
|
271
|
+
flatLayers: readonly string[];
|
|
272
|
+
}>;
|
|
273
|
+
/**
|
|
274
|
+
* Reads the 3D trees a compiled style describes, or undefined when its metadata has none or holds
|
|
275
|
+
* a version or shape this Core does not know.
|
|
276
|
+
*/
|
|
277
|
+
declare function readTileflowVegetation3D(metadata: unknown): TileflowVegetation3D | undefined;
|
|
278
|
+
|
|
139
279
|
type TileflowVegetationMode = '3d' | 'flat';
|
|
140
280
|
type TileflowVegetationThreeDimensionalStyle = {
|
|
141
281
|
barkColor?: TileflowThemeColorValue;
|
|
282
|
+
/** Sunlit leaf colours of broadleaf trees, from darkest to lightest; up to four are used. */
|
|
142
283
|
broadleafColors?: readonly TileflowThemeColorValue[];
|
|
284
|
+
/** Sunlit needle colours of conifers and columns, from darkest to lightest. */
|
|
143
285
|
coniferColors?: readonly TileflowThemeColorValue[];
|
|
286
|
+
/** Sunlit frond colours of palms, from darkest to lightest; the broadleaf colours by default. */
|
|
287
|
+
palmColors?: readonly TileflowThemeColorValue[];
|
|
144
288
|
crownScale?: TileflowThemeNumberValue;
|
|
145
289
|
heightScale?: TileflowThemeNumberValue;
|
|
290
|
+
/**
|
|
291
|
+
* How trees take the light: `faceted` (the default), low-poly facets softened towards a round
|
|
292
|
+
* crown; `smooth`, round crowns; or `toon`, three bands of light and a crisp shadow, as a drawn
|
|
293
|
+
* tree has them.
|
|
294
|
+
*/
|
|
295
|
+
finish?: TileflowTreeFinish;
|
|
296
|
+
/** How strongly an outline rings each tree, from 0 (none, the default) to 1. */
|
|
297
|
+
edges?: TileflowThemeNumberValue;
|
|
298
|
+
/** The outline's colour; the crown's darkest colour, deepened, by default. */
|
|
299
|
+
edgeColor?: TileflowThemeColorValue;
|
|
300
|
+
/**
|
|
301
|
+
* Each form's own scales, on top of `heightScale` and `crownScale`, such as taller palms, and the
|
|
302
|
+
* map's own models it draws: ids of `.glb` files in the map's `models` directories, one to four,
|
|
303
|
+
* each tree drawing one. A model's materials named `bark`, `leaves`, `fronds` or `stem` take
|
|
304
|
+
* those parts' colours.
|
|
305
|
+
*/
|
|
306
|
+
forms?: Partial<Record<TileflowTreeForm, {
|
|
307
|
+
heightScale?: TileflowThemeNumberValue;
|
|
308
|
+
crownScale?: TileflowThemeNumberValue;
|
|
309
|
+
models?: readonly string[];
|
|
310
|
+
}>>;
|
|
311
|
+
/**
|
|
312
|
+
* The forms of trees whose data gives none, as relative weights: `round`, `open` and `tall`
|
|
313
|
+
* (broadleaf), `conifer`, `columnar` and `palm`. Each tree draws one from a stable hash, so it
|
|
314
|
+
* keeps its form everywhere. Defaults to the three broadleaf forms, evenly. A tree the data calls
|
|
315
|
+
* broadleaved keeps to the broadleaf forms of the mix.
|
|
316
|
+
*/
|
|
317
|
+
unknownForms?: TileflowTreeFormMix;
|
|
318
|
+
/**
|
|
319
|
+
* Regions whose trees without a form in the data take their own mix, such as palms along a
|
|
320
|
+
* subtropical coast. Bounds are `[west, south, east, north]` in degrees; the first region holding
|
|
321
|
+
* a tree applies. At most 16.
|
|
322
|
+
*/
|
|
323
|
+
regions?: readonly TileflowTreeRegion[];
|
|
146
324
|
};
|
|
147
325
|
type TileflowVegetationModuleOptions = {
|
|
148
326
|
flat?: TileflowCircleStyle;
|
|
@@ -644,6 +822,97 @@ type ResolvedMarine = Readonly<{
|
|
|
644
822
|
/** Resolve the optional marine sidecars without fetching their TileJSON documents. */
|
|
645
823
|
declare function resolveMarine(marine: TileflowMarine | undefined, apiBaseUrl?: string): ResolvedMarine | undefined;
|
|
646
824
|
|
|
825
|
+
declare const tileflowSunMetadataKey = "tileflow:sun";
|
|
826
|
+
/** A theme's sun and sky light with every value resolved; see `TileflowThemeSun`. */
|
|
827
|
+
type TileflowSunPreset = Readonly<{
|
|
828
|
+
/** Degrees clockwise from north, from 0 to 360. */
|
|
829
|
+
azimuth: number;
|
|
830
|
+
/** Degrees above the horizon, from -90 to 90. */
|
|
831
|
+
altitude: number;
|
|
832
|
+
/** The direct light's colour. */
|
|
833
|
+
color: string;
|
|
834
|
+
/** The direct light's strength, from 0 to 1. */
|
|
835
|
+
intensity: number;
|
|
836
|
+
/** How dark the shadows the sun casts fall, from 0 (none) to 1. */
|
|
837
|
+
shadowIntensity: number;
|
|
838
|
+
/** The light from the sky, which reaches every surface and fills the shadows. */
|
|
839
|
+
ambient: Readonly<{
|
|
840
|
+
color: string;
|
|
841
|
+
intensity: number;
|
|
842
|
+
}>;
|
|
843
|
+
}>;
|
|
844
|
+
/** The sun as the map shows it, ready for an application's own layers. */
|
|
845
|
+
type TileflowSun = Readonly<{
|
|
846
|
+
/** Degrees clockwise from north, from 0 to 360. */
|
|
847
|
+
azimuth: number;
|
|
848
|
+
/** Degrees above the horizon, from -90 to 90. */
|
|
849
|
+
altitude: number;
|
|
850
|
+
/** A unit vector towards the sun: x east, y north, z up. */
|
|
851
|
+
direction: readonly [number, number, number];
|
|
852
|
+
/** The direct light's colour, as a CSS colour. */
|
|
853
|
+
color: string;
|
|
854
|
+
/** The direct light's colour as sRGB channels from 0 to 1. */
|
|
855
|
+
rgb: readonly [number, number, number];
|
|
856
|
+
/**
|
|
857
|
+
* The direct light's strength, from 0 to 1. It fades to 0 as the sun sets: a sun below the
|
|
858
|
+
* horizon lights nothing and casts no shadow.
|
|
859
|
+
*/
|
|
860
|
+
intensity: number;
|
|
861
|
+
/** How dark the shadows the sun casts fall, from 0 (none) to 1. */
|
|
862
|
+
shadowIntensity: number;
|
|
863
|
+
/** The light from the sky, which reaches every surface and fills the shadows. */
|
|
864
|
+
ambient: Readonly<{
|
|
865
|
+
color: string;
|
|
866
|
+
rgb: readonly [number, number, number];
|
|
867
|
+
intensity: number;
|
|
868
|
+
}>;
|
|
869
|
+
/**
|
|
870
|
+
* How bright flat, open ground is under this light, from 0 (dark) to 1: the sky's light plus the
|
|
871
|
+
* sun's at its height, each weighted by its colour's luminance. Use it to switch lamps or windows
|
|
872
|
+
* on as a scene darkens, whatever theme or sun lights it.
|
|
873
|
+
*/
|
|
874
|
+
brightness: number;
|
|
875
|
+
/** Where the direction comes from: the themes, angles, or a date and place. */
|
|
876
|
+
source: 'theme' | 'direction' | 'date';
|
|
877
|
+
}>;
|
|
878
|
+
/** The sun of a theme that leaves a value unset: high in the south-south-west, in white light. */
|
|
879
|
+
declare const tileflowDefaultSunPreset: TileflowSunPreset;
|
|
880
|
+
/**
|
|
881
|
+
* Where the sun stands for an instant and a place ([longitude, latitude] in degrees): its azimuth
|
|
882
|
+
* in degrees clockwise from north and its apparent altitude above the horizon, with atmospheric
|
|
883
|
+
* refraction. It follows NOAA's solar equations, accurate to about a hundredth of a degree for
|
|
884
|
+
* years 1800 to 2200.
|
|
885
|
+
*/
|
|
886
|
+
declare function tileflowSunPosition(date: Date | number, location: readonly [number, number]): Readonly<{
|
|
887
|
+
azimuth: number;
|
|
888
|
+
altitude: number;
|
|
889
|
+
}>;
|
|
890
|
+
/** A unit vector towards a direction in the sky: x east, y north, z up. */
|
|
891
|
+
declare function tileflowSunDirection(azimuth: number, altitude: number): readonly [number, number, number];
|
|
892
|
+
/**
|
|
893
|
+
* The sun as the map shows it: a preset's light from a direction. Direct light fades out over the
|
|
894
|
+
* sun's last degrees above the horizon and is gone below it.
|
|
895
|
+
*/
|
|
896
|
+
declare function resolveTileflowSun(preset: TileflowSunPreset, direction?: Readonly<{
|
|
897
|
+
azimuth: number;
|
|
898
|
+
altitude: number;
|
|
899
|
+
}>, source?: TileflowSun['source']): TileflowSun;
|
|
900
|
+
/**
|
|
901
|
+
* A preset `t` of the way from `from` to `to`: the azimuth turns the short way round, colours mix
|
|
902
|
+
* in OKLab, as theme blends mix paint colours, and numbers linearly.
|
|
903
|
+
*/
|
|
904
|
+
declare function mixTileflowSunPresets(from: TileflowSunPreset, to: TileflowSunPreset, t: number): TileflowSunPreset;
|
|
905
|
+
/** Reads the sun a compiled style publishes, or undefined when its metadata has none. */
|
|
906
|
+
declare function readTileflowSunPreset(metadata: unknown): TileflowSunPreset | undefined;
|
|
907
|
+
/**
|
|
908
|
+
* The sun of a compiled style: the one it publishes, else one read from its light (a style whose
|
|
909
|
+
* theme describes no sun lights its extrusions from `light.position`), else the default.
|
|
910
|
+
*/
|
|
911
|
+
declare function tileflowStyleSunPreset(style: {
|
|
912
|
+
light?: unknown;
|
|
913
|
+
metadata?: unknown;
|
|
914
|
+
} | undefined): TileflowSunPreset;
|
|
915
|
+
|
|
647
916
|
type TileflowVisualValueCategory = 'color' | 'font' | 'image' | 'number';
|
|
648
917
|
/** Return the semantic theme category for one visual property, or undefined for structure/data. */
|
|
649
918
|
declare function classifyTileflowVisualProperty(property: string, _value?: unknown): TileflowVisualValueCategory | undefined;
|
|
@@ -671,8 +940,38 @@ type TileflowThemeTypography = TileflowThemeTypographyStyle & {
|
|
|
671
940
|
roads?: TileflowThemeTypographyStyle;
|
|
672
941
|
water?: TileflowThemeTypographyStyle;
|
|
673
942
|
};
|
|
943
|
+
/**
|
|
944
|
+
* The theme's sun: where it stands and the light it gives, as a light preset for the theme. A
|
|
945
|
+
* theme for the evening sets a low sun in the west in warm light; one for the night, a moon with
|
|
946
|
+
* faint shadows. Unset values take the defaults in `tileflowDefaultSunPreset`.
|
|
947
|
+
*/
|
|
948
|
+
type TileflowThemeSun = {
|
|
949
|
+
/** Degrees clockwise from north. */
|
|
950
|
+
azimuth?: TileflowThemeNumberValue;
|
|
951
|
+
/** Degrees above the horizon, from -90 to 90; a sun below the horizon lights nothing. */
|
|
952
|
+
altitude?: TileflowThemeNumberValue;
|
|
953
|
+
/** The direct light's colour. */
|
|
954
|
+
color?: TileflowThemeColorValue;
|
|
955
|
+
/** The direct light's strength, from 0 to 1. */
|
|
956
|
+
intensity?: TileflowThemeNumberValue;
|
|
957
|
+
/** How dark the shadows the sun casts fall, from 0 (none) to 1. */
|
|
958
|
+
shadowIntensity?: TileflowThemeNumberValue;
|
|
959
|
+
};
|
|
960
|
+
/** The light from the sky, which reaches every surface and fills the shadows. */
|
|
961
|
+
type TileflowThemeAmbient = {
|
|
962
|
+
color?: TileflowThemeColorValue;
|
|
963
|
+
/** From 0 to 1. */
|
|
964
|
+
intensity?: TileflowThemeNumberValue;
|
|
965
|
+
};
|
|
966
|
+
/**
|
|
967
|
+
* How the theme lights the map. `anchor`, `color`, `intensity`, and `position` are MapLibre's light,
|
|
968
|
+
* which shades 3D extrusions. `sun` and `ambient` describe the theme's sun and sky light for 3D
|
|
969
|
+
* scenes (`themeController.getSun()`); with a `sun`, the map's light is anchored to the map and
|
|
970
|
+
* points from the sun, and `anchor` and the direction in `position` no longer apply.
|
|
971
|
+
*/
|
|
674
972
|
type TileflowThemeLighting = {
|
|
675
973
|
anchor?: 'map' | 'viewport';
|
|
974
|
+
ambient?: TileflowThemeAmbient;
|
|
676
975
|
color?: TileflowThemeColorValue;
|
|
677
976
|
intensity?: TileflowThemeNumberValue;
|
|
678
977
|
position?: readonly [
|
|
@@ -680,6 +979,7 @@ type TileflowThemeLighting = {
|
|
|
680
979
|
TileflowThemeNumberValue,
|
|
681
980
|
TileflowThemeNumberValue
|
|
682
981
|
];
|
|
982
|
+
sun?: TileflowThemeSun;
|
|
683
983
|
};
|
|
684
984
|
/** A complete, inheritance-free appearance document. */
|
|
685
985
|
type TileflowTheme = {
|
|
@@ -706,7 +1006,10 @@ type ResolvedTileflowThemeTokens = {
|
|
|
706
1006
|
number: Readonly<Record<string, number>>;
|
|
707
1007
|
};
|
|
708
1008
|
type ResolvedTileflowTheme = Omit<TileflowTheme, 'lighting' | 'tokens' | 'typography'> & {
|
|
1009
|
+
/** MapLibre's light; with a sun, anchored to the map and pointing from it. */
|
|
709
1010
|
lighting: TileflowLight;
|
|
1011
|
+
/** The theme's sun and sky light, when the theme describes either. */
|
|
1012
|
+
sun?: TileflowSunPreset;
|
|
710
1013
|
tokens: ResolvedTileflowThemeTokens;
|
|
711
1014
|
typography: ResolvedTileflowTypography;
|
|
712
1015
|
};
|
|
@@ -814,6 +1117,8 @@ type TileflowPackageDirectory = Readonly<{
|
|
|
814
1117
|
type TileflowIconDirectory = TileflowLocalDirectory | TileflowPackageDirectory;
|
|
815
1118
|
/** One font directory in the ordered map font search path. */
|
|
816
1119
|
type TileflowFontDirectory = TileflowLocalDirectory | TileflowPackageDirectory;
|
|
1120
|
+
/** One directory of 3D models in the ordered map model search path. */
|
|
1121
|
+
type TileflowModelDirectory = TileflowLocalDirectory | TileflowPackageDirectory;
|
|
817
1122
|
/**
|
|
818
1123
|
* An explicit MapLibre glyph provider. `fontStacks` lists the exact comma-joined request keys
|
|
819
1124
|
* produced by each compiled `text-font` array. The map owns the URL; World never supplies fonts.
|
|
@@ -945,9 +1250,12 @@ type TileflowMapIdentity = {
|
|
|
945
1250
|
};
|
|
946
1251
|
/** A capture scene owned by one singular map; its map id is implicit. */
|
|
947
1252
|
type TileflowMapScene = Omit<TileflowCaptureScene, 'map'>;
|
|
1253
|
+
/** A timed capture shot owned by one singular map; its map id is implicit. */
|
|
1254
|
+
type TileflowMapShot = Omit<TileflowCaptureShot, 'map'>;
|
|
948
1255
|
/** Tooling metadata belongs to the leaf definition and is never inherited. */
|
|
949
1256
|
type TileflowMapTooling = {
|
|
950
1257
|
scenes?: Record<string, TileflowMapScene>;
|
|
1258
|
+
shots?: Record<string, TileflowMapShot>;
|
|
951
1259
|
};
|
|
952
1260
|
type TileflowMapTextAssets = {
|
|
953
1261
|
fonts?: never;
|
|
@@ -970,6 +1278,11 @@ type TileflowMapDesign = TileflowMapTextAssets & {
|
|
|
970
1278
|
icons?: readonly TileflowIconSource[];
|
|
971
1279
|
/** Independent Bathymetry and Nautical products composed by the compiler. */
|
|
972
1280
|
marine?: TileflowMarine;
|
|
1281
|
+
/**
|
|
1282
|
+
* Directories of the map's own 3D models, glTF binaries (`.glb`) named by id, such as the trees a
|
|
1283
|
+
* vegetation form draws. Omission inherits; declaration replaces; [] means no models.
|
|
1284
|
+
*/
|
|
1285
|
+
models?: readonly TileflowModelDirectory[];
|
|
973
1286
|
/** Semantic domains, expressed directly or with explicit refine/disable operations. */
|
|
974
1287
|
modules?: TileflowAuthoringModules;
|
|
975
1288
|
/** Keyed MapLibre overlay units. Omission inherits; entries replace atomically. */
|
|
@@ -1224,6 +1537,8 @@ type TileflowPreparedMapAssets = {
|
|
|
1224
1537
|
ids: readonly string[];
|
|
1225
1538
|
sprite: string;
|
|
1226
1539
|
};
|
|
1540
|
+
/** The map's own 3D models by id, prepared from its `models` directories. */
|
|
1541
|
+
models?: Readonly<Record<string, TileflowTreeModel>>;
|
|
1227
1542
|
};
|
|
1228
1543
|
type TileflowSemanticCompileOptions = {
|
|
1229
1544
|
apiBaseUrl?: string;
|
|
@@ -1336,4 +1651,4 @@ declare function parseTileflowIconComposition(input: unknown): TileflowIconCompo
|
|
|
1336
1651
|
/** Dependency identity is separate from the generated artifact's content hash. */
|
|
1337
1652
|
declare function hashTileflowIconComposition(input: TileflowIconCompositionV1): Promise<string>;
|
|
1338
1653
|
|
|
1339
|
-
export { type
|
|
1654
|
+
export { type TileflowAtmosphere as $, type TileflowBandPlacement as A, type OpenMapTilesLayerBindings as B, tileflowCompilationPhases as C, tileflowCompilationPlannerStages as D, tileflowCompilationReportSchemaVersion as E, type TileflowSemanticModuleName as F, tileflowHostedSourceLimit as G, tileflowOverlayPlacements as H, type ResolvedTileflowTheme as I, type TileflowThemeColorScheme as J, type TileflowIconSource as K, type OpenMapTilesSchema as L, type OpenMapTilesSchemaOptions as M, type ResolvedBathymetry as N, type OpenMapTilesFieldBindings as O, type ParkLayerSemantics as P, type ResolvedBathymetryRelief as Q, type ResolvedTileflowMap as R, type ResolvedMarine as S, type TileflowRenderedIconIdentity as T, type ResolvedMarineSource as U, type ResolvedTileflowData as V, type ResolvedTileflowThemeTokens as W, type TileflowAddressesModuleConfig as X, type TileflowAddressesModuleOptions as Y, type TileflowAerowaysModuleConfig as Z, type TileflowAerowaysModuleOptions as _, type TileflowIconCompositionV1 as a, type TileflowOverlayCollection as a$, type TileflowAtmosphereOptions as a0, type TileflowAuthoringModules as a1, type TileflowBathymetryConfig as a2, type TileflowBathymetryDemSourceIdentity as a3, type TileflowBathymetryDisplay as a4, type TileflowBathymetryOptions as a5, type TileflowBathymetryReliefConfig as a6, type TileflowBoundariesModuleConfig as a7, type TileflowBoundariesModuleOptions as a8, type TileflowBuildingMode as a9, type TileflowIconSetReference as aA, type TileflowIconSetSource as aB, type TileflowLandModuleConfig as aC, type TileflowLandModuleOptions as aD, type TileflowLandcoverClass as aE, type TileflowLandformClass as aF, type TileflowLandformsModuleConfig as aG, type TileflowLandformsModuleOptions as aH, type TileflowLanduseClass as aI, type TileflowLayerBand as aJ, type TileflowLocalDirectory as aK, type TileflowMapDesign as aL, type TileflowMapIdentity as aM, type TileflowMapLibreOverlay as aN, type TileflowMapLibreOverlayLayer as aO, type TileflowMapTooling as aP, type TileflowMarine as aQ, type TileflowMarineConfig as aR, type TileflowMarineMode as aS, type TileflowMarineSourceConfig as aT, type TileflowMarineSourceIdentity as aU, type TileflowModelDirectory as aV, type TileflowModuleOperation as aW, type TileflowModulePatch as aX, type TileflowNauticalAreaLabelStyles as aY, type TileflowNauticalModuleConfig as aZ, type TileflowNauticalModuleOptions as a_, type TileflowBuildingsModuleConfig as aa, type TileflowBuildingsModuleOptions as ab, type TileflowBuildingsThreeDimensionalStyle as ac, type TileflowCompilationDiagnostic as ad, type TileflowCompilationDomainReport as ae, type TileflowCompilationFailure as af, type TileflowCompilationOptions as ag, type TileflowCompilationPhase as ah, type TileflowCompilationPlannerDecision as ai, type TileflowCompilationPlannerStage as aj, type TileflowCompilationReport as ak, type TileflowCompilationResult as al, type TileflowCompilationSuccess as am, type TileflowDataConfig as an, type TileflowDataIdentity as ao, type TileflowDerivedMap as ap, type TileflowDisableOperation as aq, type TileflowFontDirectory as ar, type TileflowGlyphs as as, type TileflowHostedSourceCollection as at, type TileflowHostedTilesetSource as au, type TileflowHostedTilesetType as av, type TileflowIconContributorIdentity as aw, type TileflowIconDirectory as ax, TileflowIconSetError as ay, type TileflowIconSetErrorCode as az, type TileflowDataRequirementsV1 as b, encodeTileflowTreeModel as b$, type TileflowOverlayPlacement as b0, type TileflowPackageDirectory as b1, type TileflowPreparedIconCapabilities as b2, type TileflowRasterDemSourceRequirementV1 as b3, type TileflowRefineOperation as b4, type TileflowRemoveOperation as b5, type TileflowReset as b6, type TileflowResolvedThemeSelection as b7, type TileflowSemanticModules as b8, type TileflowStandaloneMap as b9, type TileflowVegetationModuleOptions as bA, type TileflowVegetationThreeDimensionalStyle as bB, type TileflowVisualValueCategory as bC, type TileflowWaterModuleConfig as bD, type TileflowWaterModuleOptions as bE, type TileflowWaterwayClass as bF, type TileflowWorldData as bG, type TileflowWorldReleaseReference as bH, type TileflowWorldSelection as bI, type TileflowWorldV1Schema as bJ, type VectorTilesData as bK, addresses as bL, aeroways as bM, assertTileflowMapThemeValues as bN, assertTileflowSdfPixels as bO, auditTileflowMapThemeValues as bP, auditTileflowThemeValues as bQ, bathymetry as bR, boundaries as bS, buildings as bT, classifyTileflowVisualProperty as bU, collectTileflowIconSetReferences as bV, createStyle as bW, createStyleResult as bX, decodeTileflowTreeModel as bY, defineTheme as bZ, disable as b_, type TileflowSun as ba, type TileflowSunPreset as bb, type TileflowTheme as bc, type TileflowThemeAmbient as bd, type TileflowThemeAuditContext as be, type TileflowThemeAuditDiagnostic as bf, TileflowThemeAuditError as bg, type TileflowThemeAuditScope as bh, type TileflowThemeDefinition as bi, type TileflowThemeLighting as bj, type TileflowThemeName as bk, type TileflowThemeSun as bl, type TileflowThemeTokens as bm, type TileflowThemeTypography as bn, type TileflowThemeTypographyStyle as bo, type TileflowTransitModuleConfig as bp, type TileflowTransitModuleOptions as bq, type TileflowTransitRailStyle as br, type TileflowTreeForm as bs, type TileflowTreeFormMix as bt, type TileflowTreeModel as bu, type TileflowTreeModelMesh as bv, type TileflowTreeRegion as bw, type TileflowVegetation3D as bx, type TileflowVegetationMode as by, type TileflowVegetationModuleConfig as bz, type TileflowSourceRequirementsV1 as c, tileflowWorld as c$, hashTileflowIconComposition as c0, hostedTileset as c1, iconSet as c2, isCanonicalOpenMapTilesSchema as c3, isSafeLocalPmtilesPath as c4, isTileflowCompilationPhase as c5, isTileflowIconSetSource as c6, isTileflowLocalDirectory as c7, land as c8, landforms as c9, tileflowIconCompositionSchema as cA, tileflowIconMetadataFileName as cB, tileflowIconSetIdSchema as cC, tileflowIconSetPackageIdSchema as cD, tileflowIconSetReferenceSchema as cE, tileflowIconSetSourceSchema as cF, tileflowIconSetTeamIdSchema as cG, tileflowIconSetVersionIdSchema as cH, tileflowIconSourceLimit as cI, tileflowLandformClasses as cJ, tileflowLayerBands as cK, tileflowLocalDirectoryMaximumLength as cL, tileflowLocalDirectoryMessage as cM, tileflowMapIdSchema as cN, tileflowNauticalSourceId as cO, tileflowNauticalV1Schema as cP, tileflowPrimarySourceId as cQ, tileflowRenderedIconIdentitySchema as cR, tileflowStyleSunPreset as cS, tileflowSunDirection as cT, tileflowSunMetadataKey as cU, tileflowSunPosition as cV, tileflowThemeLimits as cW, tileflowTreeForms as cX, tileflowTreeModelIdPattern as cY, tileflowTreeModelLimits as cZ, tileflowVegetationMetadataKey as c_, maplibreOverlay as ca, mixTileflowSunPresets as cb, nautical as cc, openMapTiles as cd, openMapTilesContractVersion as ce, parseTileflowIconComposition as cf, parseTileflowMap as cg, readTileflowSunPreset as ch, readTileflowVegetation3D as ci, refine as cj, remove as ck, reset as cl, resolveMarine as cm, resolveThemeSelection as cn, resolveThemeValues as co, resolveTileflowData as cp, resolveTileflowSun as cq, resolveTileflowTheme as cr, tileflowBandPlacements as cs, tileflowBathymetryDemSourceId as ct, tileflowBathymetrySourceId as cu, tileflowBathymetryV1Schema as cv, tileflowDefaultSunPreset as cw, tileflowIconAppearanceSchema as cx, tileflowIconAuthorMetadataSchema as cy, tileflowIconCompositionMaximumBytes as cz, type TileflowMap as d, tileflowWorldGeneration as d0, tileflowWorldTileJsonUrl as d1, tileflowWorldV1Schema as d2, transit as d3, validateTileflowCompiledIconCapabilities as d4, validateTileflowMap as d5, validateTileflowWorldV1Tilejson as d6, vectorTiles as d7, vegetation as d8, water as d9, 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 TileflowMapShot as w, type ResolveMapOptions as x, type TileflowIconAppearance as y, type TileflowLayerDomain as z };
|