@tileflow/core 0.1.0-alpha.41 → 0.1.0-alpha.43

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 (51) hide show
  1. package/README.md +51 -69
  2. package/THIRD_PARTY_NOTICES.md +1 -1
  3. package/dist/{3d-CzLTD0RK.d.ts → 3d-CW5Ls0An.d.ts} +32 -2
  4. package/dist/3d.d.ts +1 -1
  5. package/dist/3d.js +337 -34
  6. package/dist/browser.d.ts +119 -7
  7. package/dist/browser.js +754 -61
  8. package/dist/build.d.ts +8 -4
  9. package/dist/build.js +284 -4
  10. package/dist/config-reference.json +4005 -2284
  11. package/dist/{icon-composition-HUh_Lj8Z.d.ts → icon-composition-Bbw9umUA.d.ts} +46 -3
  12. package/dist/index.d.ts +22 -5
  13. package/dist/index.js +254 -6
  14. package/dist/{manifest-types-DnhSJjCM.d.ts → manifest-types-CwjHd4qc.d.ts} +10 -0
  15. package/dist/manifest.d.ts +2 -2
  16. package/dist/native-profile.d.ts +4 -0
  17. package/dist/native-profile.js +2 -0
  18. package/dist/native.d.ts +87 -1
  19. package/dist/native.js +980 -460
  20. package/dist/runtime.d.ts +1 -1
  21. package/dist/worker/camera-tile-worker.global.js +2 -2
  22. package/package.json +4 -5
  23. package/docs/application-tile-reading.md +0 -86
  24. package/docs/authoring-model.md +0 -269
  25. package/docs/boundary-areas-and-choropleths.md +0 -217
  26. package/docs/buildings-3d.md +0 -608
  27. package/docs/camera-moves-and-tile-cache.md +0 -112
  28. package/docs/capture-scenes.md +0 -40
  29. package/docs/capture-shots.md +0 -173
  30. package/docs/cartographic-defaults.md +0 -210
  31. package/docs/compiled-style-performance.md +0 -286
  32. package/docs/data-is-separate-from-design.md +0 -610
  33. package/docs/depth-markers.md +0 -65
  34. package/docs/dynamic-style-images.md +0 -100
  35. package/docs/globe-atmosphere.md +0 -113
  36. package/docs/hosted-session-authorization.md +0 -106
  37. package/docs/map-and-terrain-examples.md +0 -156
  38. package/docs/map-emphasis.md +0 -89
  39. package/docs/native-artifact-profile.md +0 -152
  40. package/docs/native-resource-urls.md +0 -369
  41. package/docs/nautical-marks.md +0 -308
  42. package/docs/public-api-and-browser-subpath.md +0 -101
  43. package/docs/route-drawing.md +0 -191
  44. package/docs/shared-visual-primitives.md +0 -101
  45. package/docs/street-lights.md +0 -127
  46. package/docs/street-sky.md +0 -156
  47. package/docs/style-states.md +0 -73
  48. package/docs/sun-and-light.md +0 -167
  49. package/docs/theme-transitions-and-blends.md +0 -317
  50. package/docs/themes-and-module-styles.md +0 -156
  51. package/docs/trees-3d.md +0 -295
package/dist/browser.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { T as TileflowSymbolStyle, a as TileflowThemeImageValue, b as TileflowThemeColorValue, c as TileflowMarkerSymbolStyle, d as TileflowAreaStyle, e as TileflowLineStackStyle, f as TileflowLineHatchStyle, g as TileflowIconStyle, h as TileflowLinePaint, i as TileflowThemeNumberValue, j as TileflowNumberStyleValue, k as TileflowCircleStyle, l as TileflowLineStyle, m as TileflowFillStyle, n as TileflowExtrusionStyle, o as TileflowThemeValue, p as TileflowBackgroundStyle, q as TileflowSymbolPlacement, r as TileflowVegetationModuleConfig, s as TileflowTileLayer, t as TileflowMap3DOptions, u as TileflowMap3D, v as TileflowViewMode, w as TileflowSun } from './3d-CzLTD0RK.js';
2
- export { x as TileflowBuildings3D, y as TileflowBuildings3DChange, z as TileflowBuildings3DMap, A as TileflowBuildings3DOptions, B as TileflowBuildings3DThemes, C as TileflowMap3DMap, D as TileflowStreetLights, E as TileflowStreetLightsMap, F as TileflowStreetLightsOptions, G as TileflowSunPreset, H as TileflowTile, I as TileflowTileAddress, J as TileflowTileAreaRequest, K as TileflowTileFeature, L as TileflowTileGeometryType, M as TileflowTileReader, N as TileflowTileReaderOptions, O as TileflowTileRequestTransform, P as TileflowTileSourceMap, Q as TileflowTreeFields, R as TileflowTreeForm, S as TileflowTreeFormMix, U as TileflowTreeFormRange, V as TileflowTreeLayers, W as TileflowTreePlacement, X as TileflowTreePlacementOptions, Y as TileflowTreeRange, Z as TileflowTreeRegion, _ as TileflowTrees3D, $ as TileflowTrees3DChange, a0 as TileflowTrees3DMap, a1 as TileflowTrees3DOptions, a2 as TileflowTrees3DThemes, a3 as TileflowVectorTileDecodeOptions, a4 as TileflowVegetation3D, a5 as TileflowVegetationController, a6 as TileflowVegetationDisplay, a7 as TileflowVegetationOptions, a8 as TileflowVegetationRepresentation, a9 as createTileflowBuildings3D, aa as createTileflowMap3D, ab as createTileflowStreetLights, ac as createTileflowTileReader, ad as createTileflowTrees3D, ae as createTileflowVegetation, af as decodeTileflowVectorTile, ag as mixTileflowSunPresets, ah as placeTileflowTrees, ai as readTileflowMapTileSource, aj as readTileflowSunPreset, ak as readTileflowVegetation3D, al as readTileflowVegetationDisplay, am as resolveTileflowSun, an as resolveTileflowVegetationRepresentation, ao as tileflowBuildings3DLayerId, ap as tileflowDefaultSunPreset, aq as tileflowStreetLightsLayerId, ar as tileflowStyleSunPreset, as as tileflowSunDirection, at as tileflowSunMetadataKey, au as tileflowSunPosition, av as tileflowTilePointToLngLat, aw as tileflowTilesForBounds, ax as tileflowTreeBytes, ay as tileflowTreeFormOf, az as tileflowTreeForms, aA as tileflowTrees3DLayerId, aB as tileflowVegetationDisplayMetadataKey, aC as tileflowVegetationMetadataKey } from './3d-CzLTD0RK.js';
1
+ import { T as TileflowSymbolStyle, a as TileflowThemeImageValue, b as TileflowThemeColorValue, c as TileflowMarkerSymbolStyle, d as TileflowAreaStyle, e as TileflowLineStackStyle, f as TileflowLineHatchStyle, g as TileflowIconStyle, h as TileflowLinePaint, i as TileflowThemeNumberValue, j as TileflowNumberStyleValue, k as TileflowCircleStyle, l as TileflowLineStyle, m as TileflowFillStyle, n as TileflowExtrusionStyle, o as TileflowThemeValue, p as TileflowBackgroundStyle, q as TileflowSymbolPlacement, r as TileflowVegetationModuleConfig, s as TileflowTileLayer, t as TileflowMap3DOptions, u as TileflowMap3D, v as TileflowViewMode, w as TileflowBuildings3DChange, x as TileflowSun } from './3d-CW5Ls0An.js';
2
+ export { y as TileflowBuildings3D, z as TileflowBuildings3DMap, A as TileflowBuildings3DOptions, B as TileflowBuildings3DThemes, C as TileflowCameraOptions, D as TileflowMap3DMap, E as TileflowStreetLights, F as TileflowStreetLightsMap, G as TileflowStreetLightsOptions, H as TileflowSunPreset, I as TileflowTile, J as TileflowTileAddress, K as TileflowTileAreaRequest, L as TileflowTileFeature, M as TileflowTileGeometryType, N as TileflowTileReader, O as TileflowTileReaderOptions, P as TileflowTileRequestTransform, Q as TileflowTileSourceMap, R as TileflowTreeFields, S as TileflowTreeForm, U as TileflowTreeFormMix, V as TileflowTreeFormRange, W as TileflowTreeLayers, X as TileflowTreePlacement, Y as TileflowTreePlacementOptions, Z as TileflowTreeRange, _ as TileflowTreeRegion, $ as TileflowTrees3D, a0 as TileflowTrees3DChange, a1 as TileflowTrees3DMap, a2 as TileflowTrees3DOptions, a3 as TileflowTrees3DThemes, a4 as TileflowVectorTileDecodeOptions, a5 as TileflowVegetation3D, a6 as TileflowVegetationController, a7 as TileflowVegetationDisplay, a8 as TileflowVegetationOptions, a9 as TileflowVegetationRepresentation, aa as createTileflowBuildings3D, ab as createTileflowMap3D, ac as createTileflowStreetLights, ad as createTileflowTileReader, ae as createTileflowTrees3D, af as createTileflowVegetation, ag as decodeTileflowVectorTile, ah as mixTileflowSunPresets, ai as placeTileflowTrees, aj as readTileflowMapTileSource, ak as readTileflowSunPreset, al as readTileflowVegetation3D, am as readTileflowVegetationDisplay, an as resolveTileflowSun, ao as resolveTileflowVegetationRepresentation, ap as tileflowBuildings3DLayerId, aq as tileflowDefaultSunPreset, ar as tileflowStreetLightsLayerId, as as tileflowStyleSunPreset, at as tileflowSunDirection, au as tileflowSunMetadataKey, av as tileflowSunPosition, aw as tileflowTilePointToLngLat, ax as tileflowTilesForBounds, ay as tileflowTreeBytes, az as tileflowTreeFormOf, aA as tileflowTreeForms, aB as tileflowTrees3DLayerId, aC as tileflowVegetationDisplayMetadataKey, aD as tileflowVegetationMetadataKey } from './3d-CW5Ls0An.js';
3
3
 
4
4
  type TileflowColor = `#${string}`;
5
5
  type TileflowRoadDetail = 'none' | 'highways' | 'major' | 'streets' | 'all';
@@ -79,6 +79,14 @@ type TileflowRoadsModuleConfig = {
79
79
  modifiers?: Partial<Record<TileflowRoadModifier, TileflowRoadTreatmentStyle>>;
80
80
  mountainBike?: Partial<Record<TileflowMountainBikeScale, TileflowRoadTreatmentStyle>>;
81
81
  oneWayMarkers?: boolean;
82
+ /** Surface paths keep a ground-coloured fallback and white/green-ground clipped strokes. */
83
+ pathGround?: {
84
+ greenColor: TileflowThemeColorValue;
85
+ groundColor: TileflowThemeColorValue;
86
+ /** Zero disables derivation in this theme. */
87
+ opacity?: TileflowThemeNumberValue;
88
+ widthScale?: TileflowThemeNumberValue;
89
+ };
82
90
  outline?: TileflowRoadOutline;
83
91
  /** Draw ramp fills below receiving roads by default; `by-class` keeps their class's order. */
84
92
  rampOrder?: 'below-roads' | 'by-class';
@@ -171,6 +179,8 @@ type TileflowPoiModuleConfig = {
171
179
  density?: TileflowPoiDensity;
172
180
  /** Category overrides of density, with the same zoom-dependent detail allowance. */
173
181
  densityByCategory?: Partial<Record<TileflowPoiCategory, TileflowPoiDensity>>;
182
+ /** Fixed maximum World filter rank per POI type (0–5), independent of zoom detail. */
183
+ maxRankByType?: Readonly<Record<string, 0 | 1 | 2 | 3 | 4 | 5>>;
174
184
  /** Zoom for the second extra rank of POI detail. Must exceed 16; defaults to 17. */
175
185
  detailZoom?: number;
176
186
  icons?: boolean;
@@ -289,6 +299,11 @@ type TileflowDynamicImage = Readonly<{
289
299
  height: number;
290
300
  /** Physical pixels per logical pixel. Defaults to 1; fixed until disposal. */
291
301
  pixelRatio?: number;
302
+ /**
303
+ * Whether the pixels are a signed distance field, which symbol layers recolour with `icon-color`
304
+ * and `icon-halo-color`. Defaults to false; fixed until disposal.
305
+ */
306
+ sdf?: boolean;
292
307
  /** Controller states that invalidate this image, including interpolated values. */
293
308
  states?: readonly string[];
294
309
  /** Synchronous RGBA pixels; undefined keeps the previous pixels (initially transparent). */
@@ -432,11 +447,13 @@ type TileflowBuildingMode = '3d' | 'flat';
432
447
  type TileflowBuildingsThreeDimensionalStyle = {
433
448
  /** Use the scene sun (default), or the style's native extrusion light. */
434
449
  lighting?: 'style' | 'sun';
450
+ /** Keep flat footprints beneath 3D buildings (default true); false restores them in 2D. */
451
+ flatFootprints?: boolean;
435
452
  /** Per-building brightness variation, from 0 to 1; defaults to 0 (authored colour). */
436
453
  colorVariation?: TileflowThemeNumberValue;
437
454
  /** How strongly roof outlines and outer corners catch the light, from 0 (default) to 1. */
438
455
  edges?: TileflowThemeNumberValue;
439
- /** Radius in metres for softened exterior corners and roof lighting, from 0 to 1; defaults to 0.8. */
456
+ /** Radius in metres for softened exterior corners and roof lighting, from 0 to 1.5; defaults to 0.8. */
440
457
  edgeRadius?: number;
441
458
  /** Their own colour, drawn unlit; without it they take the building's colour, lightened. */
442
459
  edgeColor?: TileflowThemeColorValue;
@@ -474,8 +491,16 @@ type TileflowBuildingsThreeDimensionalStyle = {
474
491
  /** Physical-material tint. Explicit modelColors take precedence. */
475
492
  color?: TileflowThemeColorValue;
476
493
  colorMix?: TileflowThemeNumberValue;
494
+ /** Relative brightness after role/part colours, from zero to one; defaults to one. */
495
+ colorScale?: TileflowThemeNumberValue;
477
496
  metallic?: TileflowThemeNumberValue;
478
497
  roughness?: TileflowThemeNumberValue;
498
+ /** Normalize matte light to ordinary buildings, or retain physical glTF lighting (default). */
499
+ shading?: 'physical' | 'map';
500
+ /** Role multiplier for model ambient occlusion, from zero to one; defaults to one. */
501
+ ambientOcclusion?: TileflowThemeNumberValue;
502
+ /** Named-part colour contribution after the role tint, from zero to one; defaults to one. */
503
+ partColorMix?: TileflowThemeNumberValue;
479
504
  /** Independent HSL ranges, seeded by model identity; no window geometry is invented. */
480
505
  colorVariation?: {
481
506
  hue: readonly [TileflowThemeNumberValue, TileflowThemeNumberValue];
@@ -496,6 +521,10 @@ type TileflowBuildingsThreeDimensionalStyle = {
496
521
  };
497
522
  /** Contact shadow at the foot of the walls and in tight corners; defaults to true. */
498
523
  occlusion?: boolean;
524
+ /** Ground contact shadow strength, from 0 to 1; defaults to 0.16. Facade shading is independent. */
525
+ groundOcclusion?: TileflowThemeNumberValue;
526
+ /** Ground contact shadow reach in metres, from 0 to 20; defaults to 3. Zero hides it. */
527
+ groundOcclusionRadius?: TileflowThemeNumberValue;
499
528
  /** Prepared model ambient occlusion strength, from 0 to 1; defaults to 0.75. */
500
529
  modelOcclusion?: TileflowThemeNumberValue;
501
530
  /** Shadows from the sun, on the buildings and the flat map; defaults to true. */
@@ -578,6 +607,20 @@ type TileflowLandModuleOptions = {
578
607
  */
579
608
  barriers?: Partial<Record<TileflowBarrierClass, TileflowBarrierStyle>>;
580
609
  globalLandcover?: TileflowFillStyle;
610
+ /** Georeferenced image below global cover; useful for continuous physical context. */
611
+ globalLandcoverUnderlay?: {
612
+ url: string;
613
+ coordinates: readonly [
614
+ readonly [number, number],
615
+ readonly [number, number],
616
+ readonly [number, number],
617
+ readonly [number, number]
618
+ ];
619
+ attribution: string;
620
+ opacity?: TileflowNumberStyleValue;
621
+ minZoom?: number;
622
+ maxZoom?: number;
623
+ };
581
624
  landcover?: Partial<Record<TileflowLandcoverClass, TileflowAreaStyle>>;
582
625
  landuse?: Partial<Record<TileflowLanduseClass, TileflowAreaStyle>>;
583
626
  };
@@ -998,6 +1041,35 @@ declare function attachTileflowAtmosphere(map: TileflowAtmosphereMap, runtimeOpt
998
1041
  */
999
1042
  declare const tileflowMaxPitch = 85;
1000
1043
 
1044
+ /** A MapLibre GL JS map whose feature queries keep working once the horizon is in view. */
1045
+ type TileflowHorizonQueryMap = {
1046
+ queryRenderedFeatures(...args: never[]): unknown;
1047
+ };
1048
+ /**
1049
+ * How many times farther from the camera the ground at the top of the view lies than the ground at
1050
+ * its centre, sampled no higher than the horizon. `centerY` is the centre's distance from the top
1051
+ * of the view, which padding moves, and `cameraToCenterDistance` the camera's focal length, both
1052
+ * in CSS pixels.
1053
+ */
1054
+ declare function tileflowHorizonScaleFactor(view: {
1055
+ pitch: number;
1056
+ centerY: number;
1057
+ cameraToCenterDistance: number;
1058
+ }): number;
1059
+ /**
1060
+ * Keep point and box feature queries working at steep pitches.
1061
+ *
1062
+ * MapLibre GL JS widens each query by how much more ground a pixel covers at the top of the view
1063
+ * than at its centre. Once the pitch shows sky at the top of the view, that sample lies behind the
1064
+ * camera, the factor turns negative and queries for circles, lines and fills find nothing
1065
+ * ([maplibre/maplibre-gl-js#2994](https://github.com/maplibre/maplibre-gl-js/issues/2994)). Where
1066
+ * the renderer's factor is not positive, this samples the ground at the horizon instead, as the
1067
+ * proposed upstream fix does
1068
+ * ([maplibre/maplibre-gl-js#8770](https://github.com/maplibre/maplibre-gl-js/pull/8770)). Correct
1069
+ * factors are left unchanged. Returns a function that restores the map.
1070
+ */
1071
+ declare function attachTileflowHorizonQueries(map: TileflowHorizonQueryMap): () => void;
1072
+
1001
1073
  declare const tileflowSkyMetadataKey = "tileflow:sky";
1002
1074
  /** One theme's sky colours, as a time of day lends them to a sky that follows the sun. */
1003
1075
  type TileflowSkyColours = Readonly<{
@@ -1250,7 +1322,7 @@ type TileflowBuildingMeshOptions = Readonly<{
1250
1322
  tileMetres: number;
1251
1323
  /** Height used where a building has none, in metres; defaults to 5, World's own fallback. */
1252
1324
  defaultHeight?: number;
1253
- /** Exterior corner radius in metres, up to 1; 0 leaves the footprint unchanged. */
1325
+ /** Exterior corner radius in metres, up to 1.5; 0 leaves the footprint unchanged. */
1254
1326
  edgeRadius?: number;
1255
1327
  /** Maximum turn per rounded segment; defaults to 30 degrees for close views. */
1256
1328
  cornerAngle?: number;
@@ -1317,8 +1389,16 @@ type TileflowModelRoleLighting = Readonly<{
1317
1389
  emissiveHeight: TileflowModelEmissionGradient;
1318
1390
  color?: string;
1319
1391
  colorMix?: number;
1392
+ /** Relative surface brightness after role and part colours, from zero to one. */
1393
+ colorScale?: number;
1320
1394
  metallic?: number;
1321
1395
  roughness?: number;
1396
+ /** Map shading normalizes sunlight to the surrounding extruded buildings. */
1397
+ shading?: 'physical' | 'map';
1398
+ /** Multiplier for the scene's model ambient occlusion. Defaults to one. */
1399
+ ambientOcclusion?: number;
1400
+ /** Contribution of named part colours after the role tint. Defaults to one. */
1401
+ partColorMix?: number;
1322
1402
  colorVariation?: Readonly<{
1323
1403
  hue: readonly [number, number];
1324
1404
  saturation: readonly [number, number];
@@ -1343,6 +1423,11 @@ declare const tileflowBuildingsMetadataKey = "tileflow:buildings";
1343
1423
  type TileflowBuildings3DDesign = Readonly<{
1344
1424
  /** The vector source and its layers with the buildings and the places they hold. */
1345
1425
  source: string;
1426
+ /** Flat layers suspended while the 3D scene owns the buildings. */
1427
+ flatLayers?: readonly Readonly<{
1428
+ id: string;
1429
+ visible: boolean;
1430
+ }>[];
1346
1431
  layers: Readonly<{
1347
1432
  building: string;
1348
1433
  places?: string;
@@ -1386,6 +1471,10 @@ type TileflowBuildings3DDesign = Readonly<{
1386
1471
  /** Shadows from the sun, and contact shadow at the foot of the walls. */
1387
1472
  shadows: boolean;
1388
1473
  occlusion: boolean;
1474
+ /** Ground contact shadow strength; facade shading is independent. */
1475
+ groundOcclusion?: number;
1476
+ /** Ground contact shadow reach in metres; zero hides it. */
1477
+ groundOcclusionRadius?: number;
1389
1478
  /** Strength of prepared model ambient visibility; zero leaves the sky contribution unchanged. */
1390
1479
  modelOcclusion?: number;
1391
1480
  /** Building models the map places in its city, each replacing the buildings under it. */
@@ -1950,6 +2039,20 @@ declare function tileflowLightRhythm(light: TileflowLightCharacteristic): Tilefl
1950
2039
  /** What `rhythm` shows `seconds` after the shared epoch of every rhythm. */
1951
2040
  declare function tileflowLightStateAt(rhythm: TileflowLightRhythm, seconds: number): TileflowLightState;
1952
2041
 
2042
+ type Handler = (request: {
2043
+ url: string;
2044
+ }, abort: AbortController) => Promise<{
2045
+ data: ArrayBuffer | Record<string, unknown>;
2046
+ }>;
2047
+ type TileflowPathGroundRegistry = {
2048
+ addProtocol(name: string, handler: Handler): void;
2049
+ };
2050
+ /** Register the SDK-owned derived-path protocol before creating a MapLibre map. */
2051
+ declare function registerTileflowPathGroundProtocol(registry: TileflowPathGroundRegistry, options?: {
2052
+ transformUrl?: (url: string) => string;
2053
+ fetch?: typeof fetch;
2054
+ }): void;
2055
+
1953
2056
  declare const tileflowMaplibreContourVersion: "0.1.0";
1954
2057
  type TileflowContourProtocolRequest = Readonly<{
1955
2058
  url: string;
@@ -1966,6 +2069,8 @@ type TileflowContourProtocolRegistry = {
1966
2069
  type TileflowContourProtocolRegistrationOptions = {
1967
2070
  /** Test/integration override; the default lazily initializes the pinned, bundled module. */
1968
2071
  loadMaplibreContour?: () => Promise<unknown>;
2072
+ /** Route the nested DEM template through an application-owned transport, preserving XYZ slots. */
2073
+ transformDemUrl?: (url: string) => string;
1969
2074
  };
1970
2075
  /** Registers the one self-contained protocol emitted by every compiled contour source. */
1971
2076
  declare function registerTileflowContourProtocol(registry: TileflowContourProtocolRegistry, options?: TileflowContourProtocolRegistrationOptions): void;
@@ -1983,6 +2088,8 @@ type TileflowPmtilesProtocolRegistry = Readonly<{
1983
2088
  }>;
1984
2089
  type TileflowPmtilesProtocolRegistrationOptions = Readonly<{
1985
2090
  maximumDirectoryDepth?: number;
2091
+ /** Route archive byte requests through an application-owned resource transport. */
2092
+ transformArchiveUrl?: (url: string) => string;
1986
2093
  }>;
1987
2094
  declare const tileflowPmtilesMaximumDirectoryDepth: 32;
1988
2095
  declare const tileflowPmtilesProtocol: "tileflow-pmtiles";
@@ -2026,10 +2133,15 @@ type AttachTileflowMap3DOptions = TileflowMap3DOptions & {
2026
2133
  type TileflowMap3DAttachment = {
2027
2134
  /** The mounted scene, once a style that declares 3D has loaded the renderers. */
2028
2135
  readonly scene: TileflowMap3D | undefined;
2029
- /** `3d` shows the scene; `2d` hides it and draws `auto` vegetation flat. */
2030
- setViewMode(mode: TileflowViewMode): void;
2136
+ /**
2137
+ * `3d` shows the scene; `2d` hides it and draws `auto` vegetation flat. A transition animates the
2138
+ * buildings' rise or descent; without one the change is immediate.
2139
+ */
2140
+ setViewMode(mode: TileflowViewMode, change?: TileflowBuildings3DChange): void;
2031
2141
  /** Overrides the map's vegetation visibility; undefined restores the authored default. */
2032
2142
  setVegetation(visible: boolean | undefined): void;
2143
+ /** Overrides the camera policy; undefined restores the map's authored default. */
2144
+ setAdaptivePerspective(enabled: boolean | undefined): void;
2033
2145
  dispose(): void;
2034
2146
  };
2035
2147
  /**
@@ -2275,4 +2387,4 @@ declare function createTileflowTransformRequest<TRequest extends TileflowTransfo
2275
2387
  worldRequestBridge?: TileflowWorldRequestBridge;
2276
2388
  }): TileflowTransformRequest<TRequest, TResourceType>;
2277
2389
 
2278
- export { type AttachTileflowMap3DOptions, type CreateBoundaryFeatureStateOptions, type TileflowAtmosphereMap, type TileflowAtmosphereRuntimeOptions, type TileflowBoundaryFeatureState, type TileflowBrowserThemeBlendSelection, type TileflowBuildingMesh, type TileflowBuildingMeshOptions, type TileflowBuildingModelPlacement, type TileflowBuildings3DDesign, type TileflowComposedRequest, type TileflowContourProtocolHandler, type TileflowContourProtocolRegistrationOptions, type TileflowContourProtocolRegistry, type TileflowContourProtocolRequest, type TileflowContourProtocolResponse, type TileflowDepthMarker, type TileflowDepthMarkerHandle, type TileflowDepthMarkerMap, type TileflowDepthMarkers, type TileflowDepthMarkersOptions, type TileflowDynamicImage, type TileflowDynamicImageContext, type TileflowDynamicImageHandle, type TileflowEmphasis, type TileflowEmphasisArea, type TileflowEmphasisModule, type TileflowFairUseNotice, type TileflowFairUseNoticeController, type TileflowFairUseNoticeState, type TileflowFeatureStateMap, type TileflowFrameScheduler, type TileflowGroundLayer, type TileflowGroundLayers, type TileflowGroundLayersMap, type TileflowGroundLayersOptions, type TileflowGroundOrderMap, type TileflowLabelPlacementMap, type TileflowLightCharacteristic, type TileflowLightPhase, type TileflowLightRhythm, type TileflowLightState, type TileflowLineProgressAnimation, type TileflowLineProgressController, type TileflowLineProgressGradientOptions, type TileflowLineProgressLayer, type TileflowLineProgressMap, type TileflowLineProgressOptions, type TileflowLineProgressShown, type TileflowLineProgressState, TileflowMap3D, type TileflowMap3DAttachment, type TileflowMap3DLoader, TileflowMap3DOptions, type TileflowMap3DSource, type TileflowMapLifecycleAttachment, type TileflowMapLifecycleEvent, type TileflowMapLifecycleSubscriber, type TileflowMapNotice, type TileflowMapReadinessState, type TileflowNauticalLights, type TileflowNauticalLightsMap, type TileflowNoticeControl, type TileflowNoticeControlPosition, type TileflowNoticesMap, type TileflowNoticesOptions, type TileflowPmtilesProtocolHandler, type TileflowPmtilesProtocolRegistrationOptions, type TileflowPmtilesProtocolRegistry, type TileflowRouteInks, type TileflowSessionSender, type TileflowSessionStarter, type TileflowShotCamera, type TileflowShotCue, type TileflowShotKeyframe, type TileflowShotMotion, type TileflowShotPlayback, type TileflowShotPlaybackOptions, type TileflowShotPlayerMap, type TileflowShotState, type TileflowSkyColours, type TileflowSkyHazeMap, type TileflowSkyMap, type TileflowSkyMetadata, type TileflowSkyTimesOfDay, type TileflowStreetLightEstimate, type TileflowStreetLightLayers, type TileflowStreetLightPlacement, type TileflowStreetLightPlacementOptions, type TileflowStreetLightsDesign, type TileflowStyleFontLoadOptions, type TileflowStyleStateValue, type TileflowStyleSwitchMap, TileflowSun, type TileflowSunRequest, type TileflowThemeBlendRequest, type TileflowThemeBlendState, type TileflowThemeChangeOptions, type TileflowThemeController, type TileflowThemeTransition, type TileflowThemeTransitionOptions, type TileflowThemeTransitionPhase, type TileflowThemeTransitionResult, TileflowTileLayer, type TileflowTransformRequest, type TileflowTransformRequestParameters, type TileflowUserTransformRequest, TileflowViewMode, type TileflowWorldProtocolHandler, type TileflowWorldProtocolRequest, type TileflowWorldProtocolResponse, type TileflowWorldRequestBridge, attachTileflowAtmosphere, attachTileflowFairUseNotice, attachTileflowLabelPlacement, attachTileflowMap3D, attachTileflowMapLifecycle, attachTileflowNauticalLights, attachTileflowNotices, attachTileflowSky, attachTileflowSkyHaze, createBoundaryFeatureState, createTileflowDepthMarkers, createTileflowGroundLayers, createTileflowLineProgress, createTileflowSessionStarter, createTileflowThemeController, createTileflowTransformRequest, getTileflowSystemColorScheme, loadTileflowStyleFonts, meshTileflowBuildings, mixTileflowRouteInks, placeTileflowStreetLights, playTileflowShot, readTileflowBuildings3D, readTileflowNauticalLights, readTileflowNotices, readTileflowRouteInks, readTileflowSky, readTileflowStreetLights, readTileflowTeamModelName, registerTileflowContourProtocol, registerTileflowPmtilesProtocol, registerTileflowWorldRequestBridge, subscribeTileflowSystemColorScheme, tileflowBuildingExtent, tileflowBuildingModelPlacementLimit, tileflowBuildingVertexBytes, tileflowBuildingsMetadataKey, tileflowCanvasContextAttributes, tileflowDefaultRouteInks, tileflowDepthMarkerPlacement, tileflowFairUseNoticeMessage, tileflowGroundBeforeId, tileflowLayerDomainMetadataKey, tileflowLightRhythm, tileflowLightRhythmConventions, tileflowLightStateAt, tileflowLineProgressGradient, tileflowMap3DDeclarations, tileflowMap3DMetadataKeys, tileflowMapDeclares3D, tileflowMaplibreContourVersion, tileflowMaxPitch, tileflowNauticalLightStates, tileflowNauticalLightsMetadataKey, tileflowNoticeLimits, tileflowNoticesMetadataKey, tileflowPmtilesMaximumDirectoryDepth, tileflowPmtilesProtocol, tileflowRouteMetadataKey, tileflowShotStateAt, tileflowSkyAtSun, tileflowSkyHazeLayerId, tileflowSkyLayerId, tileflowSkyMetadataKey, tileflowStreetLightBytes, tileflowStreetLightsMetadataKey, tileflowStyleRouteInks, tileflowSunLightMatrix, tileflowTeamModelUrl, validateTileflowBrowserThemeBlendSelection, validateTileflowEmphasis };
2390
+ export { type AttachTileflowMap3DOptions, type CreateBoundaryFeatureStateOptions, type TileflowAtmosphereMap, type TileflowAtmosphereRuntimeOptions, type TileflowBoundaryFeatureState, type TileflowBrowserThemeBlendSelection, type TileflowBuildingMesh, type TileflowBuildingMeshOptions, type TileflowBuildingModelPlacement, TileflowBuildings3DChange, type TileflowBuildings3DDesign, type TileflowComposedRequest, type TileflowContourProtocolHandler, type TileflowContourProtocolRegistrationOptions, type TileflowContourProtocolRegistry, type TileflowContourProtocolRequest, type TileflowContourProtocolResponse, type TileflowDepthMarker, type TileflowDepthMarkerHandle, type TileflowDepthMarkerMap, type TileflowDepthMarkers, type TileflowDepthMarkersOptions, type TileflowDynamicImage, type TileflowDynamicImageContext, type TileflowDynamicImageHandle, type TileflowEmphasis, type TileflowEmphasisArea, type TileflowEmphasisModule, type TileflowFairUseNotice, type TileflowFairUseNoticeController, type TileflowFairUseNoticeState, type TileflowFeatureStateMap, type TileflowFrameScheduler, type TileflowGroundLayer, type TileflowGroundLayers, type TileflowGroundLayersMap, type TileflowGroundLayersOptions, type TileflowGroundOrderMap, type TileflowHorizonQueryMap, type TileflowLabelPlacementMap, type TileflowLightCharacteristic, type TileflowLightPhase, type TileflowLightRhythm, type TileflowLightState, type TileflowLineProgressAnimation, type TileflowLineProgressController, type TileflowLineProgressGradientOptions, type TileflowLineProgressLayer, type TileflowLineProgressMap, type TileflowLineProgressOptions, type TileflowLineProgressShown, type TileflowLineProgressState, TileflowMap3D, type TileflowMap3DAttachment, type TileflowMap3DLoader, TileflowMap3DOptions, type TileflowMap3DSource, type TileflowMapLifecycleAttachment, type TileflowMapLifecycleEvent, type TileflowMapLifecycleSubscriber, type TileflowMapNotice, type TileflowMapReadinessState, type TileflowNauticalLights, type TileflowNauticalLightsMap, type TileflowNoticeControl, type TileflowNoticeControlPosition, type TileflowNoticesMap, type TileflowNoticesOptions, type TileflowPathGroundRegistry, type TileflowPmtilesProtocolHandler, type TileflowPmtilesProtocolRegistrationOptions, type TileflowPmtilesProtocolRegistry, type TileflowRouteInks, type TileflowSessionSender, type TileflowSessionStarter, type TileflowShotCamera, type TileflowShotCue, type TileflowShotKeyframe, type TileflowShotMotion, type TileflowShotPlayback, type TileflowShotPlaybackOptions, type TileflowShotPlayerMap, type TileflowShotState, type TileflowSkyColours, type TileflowSkyHazeMap, type TileflowSkyMap, type TileflowSkyMetadata, type TileflowSkyTimesOfDay, type TileflowStreetLightEstimate, type TileflowStreetLightLayers, type TileflowStreetLightPlacement, type TileflowStreetLightPlacementOptions, type TileflowStreetLightsDesign, type TileflowStyleFontLoadOptions, type TileflowStyleStateValue, type TileflowStyleSwitchMap, TileflowSun, type TileflowSunRequest, type TileflowThemeBlendRequest, type TileflowThemeBlendState, type TileflowThemeChangeOptions, type TileflowThemeController, type TileflowThemeTransition, type TileflowThemeTransitionOptions, type TileflowThemeTransitionPhase, type TileflowThemeTransitionResult, TileflowTileLayer, type TileflowTransformRequest, type TileflowTransformRequestParameters, type TileflowUserTransformRequest, TileflowViewMode, type TileflowWorldProtocolHandler, type TileflowWorldProtocolRequest, type TileflowWorldProtocolResponse, type TileflowWorldRequestBridge, attachTileflowAtmosphere, attachTileflowFairUseNotice, attachTileflowHorizonQueries, attachTileflowLabelPlacement, attachTileflowMap3D, attachTileflowMapLifecycle, attachTileflowNauticalLights, attachTileflowNotices, attachTileflowSky, attachTileflowSkyHaze, createBoundaryFeatureState, createTileflowDepthMarkers, createTileflowGroundLayers, createTileflowLineProgress, createTileflowSessionStarter, createTileflowThemeController, createTileflowTransformRequest, getTileflowSystemColorScheme, loadTileflowStyleFonts, meshTileflowBuildings, mixTileflowRouteInks, placeTileflowStreetLights, playTileflowShot, readTileflowBuildings3D, readTileflowNauticalLights, readTileflowNotices, readTileflowRouteInks, readTileflowSky, readTileflowStreetLights, readTileflowTeamModelName, registerTileflowContourProtocol, registerTileflowPathGroundProtocol, registerTileflowPmtilesProtocol, registerTileflowWorldRequestBridge, subscribeTileflowSystemColorScheme, tileflowBuildingExtent, tileflowBuildingModelPlacementLimit, tileflowBuildingVertexBytes, tileflowBuildingsMetadataKey, tileflowCanvasContextAttributes, tileflowDefaultRouteInks, tileflowDepthMarkerPlacement, tileflowFairUseNoticeMessage, tileflowGroundBeforeId, tileflowHorizonScaleFactor, tileflowLayerDomainMetadataKey, tileflowLightRhythm, tileflowLightRhythmConventions, tileflowLightStateAt, tileflowLineProgressGradient, tileflowMap3DDeclarations, tileflowMap3DMetadataKeys, tileflowMapDeclares3D, tileflowMaplibreContourVersion, tileflowMaxPitch, tileflowNauticalLightStates, tileflowNauticalLightsMetadataKey, tileflowNoticeLimits, tileflowNoticesMetadataKey, tileflowPmtilesMaximumDirectoryDepth, tileflowPmtilesProtocol, tileflowRouteMetadataKey, tileflowShotStateAt, tileflowSkyAtSun, tileflowSkyHazeLayerId, tileflowSkyLayerId, tileflowSkyMetadataKey, tileflowStreetLightBytes, tileflowStreetLightsMetadataKey, tileflowStyleRouteInks, tileflowSunLightMatrix, tileflowTeamModelUrl, validateTileflowBrowserThemeBlendSelection, validateTileflowEmphasis };