@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.
Files changed (36) hide show
  1. package/README.md +24 -23
  2. package/THIRD_PARTY_NOTICES.md +100 -6
  3. package/dist/browser.d.ts +758 -388
  4. package/dist/browser.js +4598 -1169
  5. package/dist/build.d.ts +9 -5
  6. package/dist/build.js +2892 -1410
  7. package/dist/capture.js +1 -0
  8. package/dist/config-reference.json +3780 -2153
  9. package/dist/{icon-composition-DqoZWQuz.d.ts → icon-composition-sN3JkXdb.d.ts} +380 -96
  10. package/dist/index.d.ts +426 -13
  11. package/dist/index.js +4999 -1841
  12. package/dist/{manifest-types-hmzy2bBX.d.ts → manifest-types-jrBdBrES.d.ts} +71 -9
  13. package/dist/manifest.d.ts +2 -2
  14. package/dist/manifest.js +80 -2
  15. package/dist/native-profile.js +1 -0
  16. package/dist/native.d.ts +13 -3
  17. package/dist/native.js +714 -318
  18. package/dist/runtime.d.ts +1 -1
  19. package/dist/runtime.js +124 -6
  20. package/dist/worker/buildings-3d-worker.global.js +1 -0
  21. package/docs/authoring-model.md +12 -3
  22. package/docs/boundary-areas-and-choropleths.md +217 -0
  23. package/docs/buildings-3d.md +264 -34
  24. package/docs/cartographic-defaults.md +142 -0
  25. package/docs/compiled-style-performance.md +14 -3
  26. package/docs/data-is-separate-from-design.md +191 -7
  27. package/docs/hosted-session-authorization.md +2 -4
  28. package/docs/map-and-terrain-examples.md +10 -3
  29. package/docs/native-artifact-profile.md +5 -0
  30. package/docs/native-resource-urls.md +5 -3
  31. package/docs/street-lights.md +22 -6
  32. package/docs/sun-and-light.md +42 -2
  33. package/docs/theme-transitions-and-blends.md +50 -0
  34. package/docs/themes-and-module-styles.md +66 -0
  35. package/docs/trees-3d.md +85 -13
  36. package/package.json +5 -4
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { d as TileflowMap, u as TileflowMapScene, w as TileflowMapShot, x as ResolveMapOptions, R as ResolvedTileflowMap, y as TileflowIconAppearance, O as OpenMapTilesFieldBindings, z as TileflowLayerDomain, A as TileflowBandPlacement, B as OpenMapTilesLayerBindings, C as tileflowCompilationPhases, D as tileflowCompilationPlannerStages, E as tileflowCompilationReportSchemaVersion, F as TileflowSemanticModuleName, G as tileflowHostedSourceLimit, H as tileflowOverlayPlacements, I as ResolvedTileflowTheme, J as TileflowThemeColorScheme, K as TileflowIconSource } from './icon-composition-DqoZWQuz.js';
2
- export { L as OpenMapTilesSchema, M as OpenMapTilesSchemaOptions, P as ParkLayerSemantics, N as ResolvedBathymetry, Q as ResolvedBathymetryRelief, S as ResolvedMarine, U as ResolvedMarineSource, V as ResolvedTileflowData, W as ResolvedTileflowThemeTokens, X as TileflowAddressesModuleConfig, Y as TileflowAddressesModuleOptions, Z as TileflowAerowaysModuleConfig, _ as TileflowAerowaysModuleOptions, $ as TileflowAtmosphere, a0 as TileflowAtmosphereOptions, a1 as TileflowAuthoringModules, a2 as TileflowBathymetryConfig, a3 as TileflowBathymetryDemSourceIdentity, a4 as TileflowBathymetryDisplay, a5 as TileflowBathymetryOptions, a6 as TileflowBathymetryReliefConfig, a7 as TileflowBoundariesModuleConfig, a8 as TileflowBoundariesModuleOptions, a9 as TileflowBuildingMode, aa as TileflowBuildingsModuleConfig, ab as TileflowBuildingsModuleOptions, ac as TileflowBuildingsThreeDimensionalStyle, ad as TileflowCompilationDiagnostic, ae as TileflowCompilationDomainReport, af as TileflowCompilationFailure, ag as TileflowCompilationOptions, ah as TileflowCompilationPhase, ai as TileflowCompilationPlannerDecision, aj as TileflowCompilationPlannerStage, ak as TileflowCompilationReport, al as TileflowCompilationResult, am as TileflowCompilationSuccess, h as TileflowDataCompatibilityIssue, an as TileflowDataConfig, i as TileflowDataFieldRequirement, j as TileflowDataFieldType, ao as TileflowDataIdentity, k as TileflowDataLayerRequirement, b as TileflowDataRequirementsV1, ap as TileflowDerivedMap, aq as TileflowDisableOperation, ar as TileflowFontDirectory, as as TileflowGlyphs, at as TileflowHostedSourceCollection, au as TileflowHostedTilesetSource, av as TileflowHostedTilesetType, a as TileflowIconCompositionV1, aw as TileflowIconContributorIdentity, ax as TileflowIconDirectory, ay as TileflowIconSetError, az as TileflowIconSetErrorCode, aA as TileflowIconSetReference, aB as TileflowIconSetSource, aC as TileflowLandModuleConfig, aD as TileflowLandModuleOptions, aE as TileflowLandcoverClass, aF as TileflowLandformClass, aG as TileflowLandformsModuleConfig, aH as TileflowLandformsModuleOptions, aI as TileflowLanduseClass, aJ as TileflowLayerBand, aK as TileflowLocalDirectory, aL as TileflowMapDesign, aM as TileflowMapIdentity, aN as TileflowMapLibreOverlay, aO as TileflowMapLibreOverlayLayer, aP as TileflowMapTooling, aQ as TileflowMarine, aR as TileflowMarineConfig, aS as TileflowMarineMode, aT as TileflowMarineSourceConfig, aU as TileflowMarineSourceIdentity, aV as TileflowModelDirectory, aW as TileflowModuleOperation, aX as TileflowModulePatch, aY as TileflowNauticalAreaLabelStyles, aZ as TileflowNauticalModuleConfig, a_ as TileflowNauticalModuleOptions, l as TileflowObservedDataContractV1, a$ as TileflowOverlayCollection, b0 as TileflowOverlayPlacement, b1 as TileflowPackageDirectory, b2 as TileflowPreparedIconCapabilities, b3 as TileflowRasterDemSourceRequirementV1, b4 as TileflowRefineOperation, b5 as TileflowRemoveOperation, T as TileflowRenderedIconIdentity, b6 as TileflowReset, b7 as TileflowResolvedThemeSelection, b8 as TileflowSemanticModules, c as TileflowSourceRequirementsV1, b9 as TileflowStandaloneMap, e as TileflowStyleOptions, ba as TileflowSun, bb as TileflowSunPreset, bc as TileflowTheme, bd as TileflowThemeAmbient, be as TileflowThemeAuditContext, bf as TileflowThemeAuditDiagnostic, bg as TileflowThemeAuditError, bh as TileflowThemeAuditScope, bi as TileflowThemeDefinition, bj as TileflowThemeLighting, bk as TileflowThemeName, bl as TileflowThemeSun, bm as TileflowThemeTokens, bn as TileflowThemeTypography, bo as TileflowThemeTypographyStyle, bp as TileflowTransitModuleConfig, bq as TileflowTransitModuleOptions, br as TileflowTransitRailStyle, bs as TileflowTreeForm, bt as TileflowTreeFormMix, bu as TileflowTreeModel, bv as TileflowTreeModelMesh, bw as TileflowTreeRegion, bx as TileflowVegetation3D, by as TileflowVegetationMode, bz as TileflowVegetationModuleConfig, bA as TileflowVegetationModuleOptions, bB as TileflowVegetationThreeDimensionalStyle, bC as TileflowVisualValueCategory, bD as TileflowWaterModuleConfig, bE as TileflowWaterModuleOptions, bF as TileflowWaterwayClass, bG as TileflowWorldData, bH as TileflowWorldReleaseReference, bI as TileflowWorldSelection, bJ as TileflowWorldV1Schema, bK as VectorTilesData, bL as addresses, bM as aeroways, bN as assertTileflowMapThemeValues, bO as assertTileflowSdfPixels, bP as auditTileflowMapThemeValues, bQ as auditTileflowThemeValues, bR as bathymetry, bS as boundaries, bT as buildings, bU as classifyTileflowVisualProperty, bV as collectTileflowIconSetReferences, bW as createStyle, bX as createStyleResult, bY as decodeTileflowTreeModel, bZ as defineTheme, b_ as disable, b$ as encodeTileflowTreeModel, c0 as hashTileflowIconComposition, c1 as hostedTileset, c2 as iconSet, r as inferTileflowDataRequirements, s as inferTileflowSourceRequirements, c3 as isCanonicalOpenMapTilesSchema, c4 as isSafeLocalPmtilesPath, c5 as isTileflowCompilationPhase, c6 as isTileflowIconSetSource, c7 as isTileflowLocalDirectory, c8 as land, c9 as landforms, ca as maplibreOverlay, cb as mixTileflowSunPresets, cc as nautical, cd as openMapTiles, ce as openMapTilesContractVersion, cf as parseTileflowIconComposition, cg as parseTileflowMap, ch as readTileflowSunPreset, ci as readTileflowVegetation3D, cj as refine, ck as remove, cl as reset, cm as resolveMarine, cn as resolveThemeSelection, co as resolveThemeValues, cp as resolveTileflowData, cq as resolveTileflowSun, cr as resolveTileflowTheme, cs as tileflowBandPlacements, ct as tileflowBathymetryDemSourceId, cu as tileflowBathymetrySourceId, cv as tileflowBathymetryV1Schema, cw as tileflowDefaultSunPreset, cx as tileflowIconAppearanceSchema, cy as tileflowIconAuthorMetadataSchema, cz as tileflowIconCompositionMaximumBytes, cA as tileflowIconCompositionSchema, cB as tileflowIconMetadataFileName, cC as tileflowIconSetIdSchema, cD as tileflowIconSetPackageIdSchema, cE as tileflowIconSetReferenceSchema, cF as tileflowIconSetSourceSchema, cG as tileflowIconSetTeamIdSchema, cH as tileflowIconSetVersionIdSchema, cI as tileflowIconSourceLimit, cJ as tileflowLandformClasses, cK as tileflowLayerBands, cL as tileflowLocalDirectoryMaximumLength, cM as tileflowLocalDirectoryMessage, cN as tileflowMapIdSchema, cO as tileflowNauticalSourceId, cP as tileflowNauticalV1Schema, cQ as tileflowPrimarySourceId, cR as tileflowRenderedIconIdentitySchema, cS as tileflowStyleSunPreset, cT as tileflowSunDirection, cU as tileflowSunMetadataKey, cV as tileflowSunPosition, cW as tileflowThemeLimits, cX as tileflowTreeForms, cY as tileflowTreeModelIdPattern, cZ as tileflowTreeModelLimits, c_ as tileflowVegetationMetadataKey, c$ as tileflowWorld, d0 as tileflowWorldGeneration, d1 as tileflowWorldTileJsonUrl, d2 as tileflowWorldV1Schema, d3 as transit, d4 as validateTileflowCompiledIconCapabilities, v as validateTileflowDataCompatibility, d5 as validateTileflowMap, d6 as validateTileflowWorldV1Tilejson, d7 as vectorTiles, d8 as vegetation, d9 as water } from './icon-composition-DqoZWQuz.js';
1
+ import { u as TileflowBoundaryClass, w as TileflowBoundaryClassTier, x as TileflowBoundaryFamily, y as TileflowOverlayPlacement, z as TileflowMapLibreOverlay, d as TileflowMap, A as TileflowMapScene, B as TileflowMapShot, C as ResolveMapOptions, R as ResolvedTileflowMap, D as TileflowIconAppearance, O as OpenMapTilesFieldBindings, E as TileflowLayerDomain, F as TileflowBandPlacement, G as OpenMapTilesLayerBindings, H as tileflowCompilationPhases, I as tileflowCompilationPlannerStages, J as tileflowCompilationReportSchemaVersion, K as TileflowSemanticModuleName, L as tileflowHostedSourceLimit, M as tileflowOverlayPlacements, N as ResolvedTileflowTheme, P as TileflowThemeColorScheme, Q as TileflowIconSource, S as TileflowVegetationMode } from './icon-composition-sN3JkXdb.js';
2
+ export { U as OpenMapTilesSchema, V as OpenMapTilesSchemaOptions, W as ParkLayerSemantics, X as ResolvedBathymetry, Y as ResolvedBathymetryRelief, Z as ResolvedBoundaryAreas, _ as ResolvedMarine, $ as ResolvedMarineSource, a0 as ResolvedTileflowData, a1 as ResolvedTileflowThemeTokens, a2 as TileflowAddressesModuleConfig, a3 as TileflowAddressesModuleOptions, a4 as TileflowAerowaysModuleConfig, a5 as TileflowAerowaysModuleOptions, a6 as TileflowAtmosphere, a7 as TileflowAtmosphereOptions, a8 as TileflowAuthoringModules, a9 as TileflowBarrierClass, aa as TileflowBarrierStyle, ab as TileflowBathymetryConfig, ac as TileflowBathymetryDemSourceIdentity, ad as TileflowBathymetryDisplay, ae as TileflowBathymetryNameLayer, af as TileflowBathymetryNamePlacement, ag as TileflowBathymetryNameStyle, ah as TileflowBathymetryNameZoomRange, ai as TileflowBathymetryOptions, aj as TileflowBathymetryReliefConfig, ak as TileflowBathymetryVectorLayers, al as TileflowBoundariesModuleConfig, am as TileflowBoundariesModuleOptions, an as TileflowBoundaryAreas, ao as TileflowBoundaryAreasConfig, ap as TileflowBoundaryAreasSourceIdentity, aq as TileflowBuildingMode, ar as TileflowBuildingModelPart, as as TileflowBuildingModelPlacementConfig, at as TileflowBuildingsModuleConfig, au as TileflowBuildingsModuleOptions, av as TileflowBuildingsThreeDimensionalStyle, aw as TileflowCompilationDesignDecision, ax as TileflowCompilationDiagnostic, ay as TileflowCompilationDomainReport, az as TileflowCompilationFailure, aA as TileflowCompilationOptions, aB as TileflowCompilationPhase, aC as TileflowCompilationPlannerDecision, aD as TileflowCompilationPlannerStage, aE as TileflowCompilationReport, aF as TileflowCompilationResult, aG as TileflowCompilationSuccess, h as TileflowDataCompatibilityIssue, aH as TileflowDataConfig, i as TileflowDataFieldRequirement, j as TileflowDataFieldType, aI as TileflowDataIdentity, k as TileflowDataLayerRequirement, b as TileflowDataRequirementsV1, aJ as TileflowDerivedMap, aK as TileflowDisableOperation, aL as TileflowFontDirectory, aM as TileflowGlyphs, aN as TileflowHostedSourceCollection, aO as TileflowHostedTilesetSource, aP as TileflowHostedTilesetType, a as TileflowIconCompositionV1, aQ as TileflowIconContributorIdentity, aR as TileflowIconDirectory, aS as TileflowIconSetError, aT as TileflowIconSetErrorCode, aU as TileflowIconSetReference, aV as TileflowIconSetSource, aW as TileflowLandModuleConfig, aX as TileflowLandModuleOptions, aY as TileflowLandcoverClass, aZ as TileflowLandformClass, a_ as TileflowLandformsModuleConfig, a$ as TileflowLandformsModuleOptions, b0 as TileflowLanduseClass, b1 as TileflowLayerBand, b2 as TileflowLocalDirectory, b3 as TileflowMapDesign, b4 as TileflowMapIdentity, b5 as TileflowMapLibreOverlayLayer, b6 as TileflowMapTooling, b7 as TileflowMarine, b8 as TileflowMarineConfig, b9 as TileflowMarineMode, ba as TileflowMarineSourceConfig, bb as TileflowMarineSourceIdentity, bc as TileflowModelDirectory, bd as TileflowModuleOperation, be as TileflowModulePatch, bf as TileflowNauticalAreaLabelStyles, bg as TileflowNauticalModuleConfig, bh as TileflowNauticalModuleOptions, l as TileflowObservedDataContractV1, bi as TileflowOverlayCollection, bj as TileflowPackageDirectory, bk as TileflowPreparedIconCapabilities, bl as TileflowRasterDemSourceRequirementV1, bm as TileflowRefineOperation, bn as TileflowRemoveOperation, T as TileflowRenderedIconIdentity, bo as TileflowReset, bp as TileflowResolvedThemeSelection, bq as TileflowSemanticModules, c as TileflowSourceRequirementsV1, br as TileflowStandaloneMap, e as TileflowStyleOptions, bs as TileflowSun, bt as TileflowSunPreset, bu as TileflowTheme, bv as TileflowThemeAmbient, bw as TileflowThemeAuditContext, bx as TileflowThemeAuditDiagnostic, by as TileflowThemeAuditError, bz as TileflowThemeAuditScope, bA as TileflowThemeDefinition, bB as TileflowThemeLighting, bC as TileflowThemeName, bD as TileflowThemeSun, bE as TileflowThemeTokens, bF as TileflowThemeTypography, bG as TileflowThemeTypographyStyle, bH as TileflowTransitModuleConfig, bI as TileflowTransitModuleOptions, bJ as TileflowTransitRailStyle, bK as TileflowTreeForm, bL as TileflowTreeFormMix, bM as TileflowTreeModel, bN as TileflowTreeModelMesh, bO as TileflowTreeRegion, bP as TileflowVegetation3D, bQ as TileflowVegetationModuleConfig, bR as TileflowVegetationModuleOptions, bS as TileflowVegetationThreeDimensionalStyle, bT as TileflowVisualValueCategory, bU as TileflowWaterModuleConfig, bV as TileflowWaterModuleOptions, bW as TileflowWaterwayClass, bX as TileflowWorldData, bY as TileflowWorldReleaseReference, bZ as TileflowWorldSelection, b_ as TileflowWorldV1Schema, b$ as VectorTilesData, c0 as addresses, c1 as aeroways, c2 as assertTileflowMapThemeValues, c3 as assertTileflowSdfPixels, c4 as auditTileflowMapThemeValues, c5 as auditTileflowThemeValues, c6 as bathymetry, c7 as boundaries, c8 as buildings, c9 as classifyTileflowVisualProperty, ca as collectTileflowIconSetReferences, cb as createStyle, cc as createStyleResult, cd as decodeTileflowTreeModel, ce as defineTheme, cf as disable, cg as encodeTileflowTreeModel, ch as hashTileflowIconComposition, ci as hostedTileset, cj as iconSet, r as inferTileflowDataRequirements, s as inferTileflowSourceRequirements, ck as isCanonicalOpenMapTilesSchema, cl as isSafeLocalPmtilesPath, cm as isTileflowBoundaryClass, cn as isTileflowBoundaryFamily, co as isTileflowCompilationPhase, cp as isTileflowIconSetSource, cq as isTileflowLocalDirectory, cr as land, cs as landforms, ct as maplibreOverlay, cu as mixTileflowSunPresets, cv as nautical, cw as openMapTiles, cx as openMapTilesContractVersion, cy as parseTileflowIconComposition, cz as parseTileflowMap, cA as readTileflowSunPreset, cB as readTileflowVegetation3D, cC as refine, cD as remove, cE as reset, cF as resolveBoundaryAreas, cG as resolveMarine, cH as resolveThemeSelection, cI as resolveThemeValues, cJ as resolveTileflowData, cK as resolveTileflowSun, cL as resolveTileflowTheme, cM as tileflowBandPlacements, cN as tileflowBathymetryDemSourceId, cO as tileflowBathymetryNameLayerLimits, cP as tileflowBathymetrySourceId, cQ as tileflowBathymetryV1Schema, cR as tileflowBoundaryAreasV1Schema, cS as tileflowBoundaryClassTiers, cT as tileflowBoundaryClasses, cU as tileflowBoundaryFamilies, cV as tileflowDefaultSunPreset, cW as tileflowIconAppearanceSchema, cX as tileflowIconAuthorMetadataSchema, cY as tileflowIconCompositionMaximumBytes, cZ as tileflowIconCompositionSchema, c_ as tileflowIconMetadataFileName, c$ as tileflowIconSetIdSchema, d0 as tileflowIconSetPackageIdSchema, d1 as tileflowIconSetReferenceSchema, d2 as tileflowIconSetSourceSchema, d3 as tileflowIconSetTeamIdSchema, d4 as tileflowIconSetVersionIdSchema, d5 as tileflowIconSourceLimit, d6 as tileflowLandformClasses, d7 as tileflowLayerBands, d8 as tileflowLocalDirectoryMaximumLength, d9 as tileflowLocalDirectoryMessage, da as tileflowMapIdSchema, db as tileflowNauticalSourceId, dc as tileflowNauticalV1Schema, dd as tileflowPrimarySourceId, de as tileflowRenderedIconIdentitySchema, df as tileflowStyleSunPreset, dg as tileflowSunDirection, dh as tileflowSunMetadataKey, di as tileflowSunPosition, dj as tileflowThemeLimits, dk as tileflowTreeForms, dl as tileflowTreeModelIdPattern, dm as tileflowTreeModelLimits, dn as tileflowVegetationMetadataKey, dp as tileflowWorld, dq as tileflowWorldGeneration, dr as tileflowWorldTileJsonUrl, ds as tileflowWorldV1Schema, dt as transit, du as validateTileflowCompiledIconCapabilities, v as validateTileflowDataCompatibility, dv as validateTileflowMap, dw as validateTileflowWorldV1Tilejson, dx as vectorTiles, dy as vegetation, dz as water } from './icon-composition-sN3JkXdb.js';
3
3
  import { z } from 'zod';
4
- import { V as ValidationMessage, f as TileflowExpression, g as TileflowFixedValue, h as TileflowThemeTokenReference, i as TileflowThemeColorOperation, j as TileflowBackgroundStyle, k as TileflowCircleStyle, l as TileflowExtrusionStyle, m as TileflowFillStyle, n as TileflowLineStyle, o as TileflowSymbolStyle, M as MapLibreStyle, p as TileflowRoadsModuleOptions, q as TileflowRoadsModuleConfig, r as TileflowLabelsModuleOptions, s as TileflowLabelsModuleConfig, u as TileflowPoiModuleOptions, v as TileflowPoiModuleConfig } from './manifest-types-hmzy2bBX.js';
5
- export { w as MapLibreSprite, x as TileflowAerodromeCodeDetail, y as TileflowAlignment, z as TileflowAnalytics, A as TileflowAreaStyle, B as TileflowBackgroundPaint, C as TileflowCirclePaint, D as TileflowColor, E as TileflowColorStyleValue, F as TileflowExtrusionPaint, G as TileflowFillPaint, H as TileflowIconAnchor, I as TileflowIconLayout, J as TileflowIconPaint, K as TileflowIconStyle, L as TileflowIconTextFit, N as TileflowImageStyleValue, O as TileflowLabelDetail, P as TileflowLabelLanguage, Q as TileflowLabelStyles, R as TileflowLayerRange, S as TileflowLight, U as TileflowLineCap, W as TileflowLineHatchStyle, X as TileflowLineJoin, Y as TileflowLineLayout, Z as TileflowLinePaint, _ as TileflowLineStackStyle, $ as TileflowManifestFetchOptions, a0 as TileflowManifestLoadOptions, a1 as TileflowMapMode, a2 as TileflowMapModeOptions, a3 as TileflowMarkerSymbolStyle, a4 as TileflowMountainBikeScale, a5 as TileflowNumberInsetsStyleValue, a6 as TileflowNumberStyleValue, a7 as TileflowPlaceLabelClass, a8 as TileflowPoiCategory, a9 as TileflowPoiCategoryStyle, aa as TileflowPoiColorMode, ab as TileflowPoiDensity, ac as TileflowPriorityOrder, ad as TileflowProjection, ae as TileflowResolvedRuntimeTheme, af as TileflowRoadAreaStyle, ag as TileflowRoadClass, ah as TileflowRoadClassStyle, ai as TileflowRoadCrossingStyle, aj as TileflowRoadDetail, ak as TileflowRoadExtras, al as TileflowRoadHierarchy, am as TileflowRoadLabelDetail, an as TileflowRoadLayerStyle, ao as TileflowRoadModifier, ap as TileflowRoadOutline, aq as TileflowRoadRestriction, ar as TileflowRoadRoundaboutStyle, as as TileflowRoadServiceType, at as TileflowRoadShieldDetail, au as TileflowRoadShieldStyles, av as TileflowRoadSidewalkStyle, aw as TileflowRoadStreetLightStyle, ax as TileflowRoadStructure, ay as TileflowRoadTreatmentLayerStyle, az as TileflowRoadTreatmentLineStyle, aA as TileflowRoadTreatmentStyle, aB as TileflowRoadWeight, aC as TileflowRuntimeCenterLike, a as TileflowRuntimeColorScheme, T as TileflowRuntimeManifest, aD as TileflowRuntimeManifestMap, b as TileflowRuntimeManifestMapEntry, c as TileflowRuntimeManifestTheme, aE as TileflowRuntimeSource, aF as TileflowRuntimeSourceValidation, aG as TileflowRuntimeStyle, aH as TileflowRuntimeStyleOptions, d as TileflowRuntimeSystemThemes, aI as TileflowRuntimeViewOptions, aJ as TileflowSessionController, aK as TileflowSessionGrantResponse, aL as TileflowStringStyleValue, aM as TileflowStructuralStyleValue, aN as TileflowStyleFontFace, aO as TileflowStyleValue, aP as TileflowSymbolOverlap, aQ as TileflowSymbolPlacement, aR as TileflowSymbolPlacementStyle, aS as TileflowSymbolZOrder, aT as TileflowTerrain, aU as TileflowTerrainConfig, aV as TileflowTerrainContourLabelStyle, aW as TileflowTerrainContourLineStyle, aX as TileflowTerrainContoursConfig, aY as TileflowTerrainEncoding, aZ as TileflowTerrainHillshadeStyle, a_ as TileflowTerrainLayerRange, a$ as TileflowTerrainMode, b0 as TileflowTextAnchor, b1 as TileflowTextBackground, b2 as TileflowTextJustify, b3 as TileflowTextLayout, b4 as TileflowTextPaint, b5 as TileflowTextStyle, b6 as TileflowThemeBlendSelection, b7 as TileflowThemeColorAlpha, b8 as TileflowThemeColorMix, b9 as TileflowThemeColorValue, ba as TileflowThemeFontValue, bb as TileflowThemeImageValue, bc as TileflowThemeNumberValue, bd as TileflowThemeSelection, be as TileflowThemeTokenCategory, bf as TileflowThemeValue, bg as TileflowViewConfig, bh as TileflowWaterLabelClass, bi as TileflowZoomInterpolation, bj as TileflowZoomValue, bk as ValidationResult, bl as assertValidTileflowRuntimeSource, bm as clearTileflowManifestCache, bn as color, bo as createTileflowSessionController, bp as createTileflowSessionId, bq as defaultTileflowManifestUrl, br as defaultTileflowRuntimeView, bs as fixed, bt as getTileflowAnalyticsApiUrl, bu as getTileflowStyleFontFaces, bv as inferTileflowAnalyticsFromStyleUrl, bw as loadTileflowManifest, bx as mergeTileflowAnalytics, by as nearestTileflowBlendTheme, bz as normalizeTileflowRuntimeCenter, bA as normalizeTileflowStaticImageSize, bB as normalizeTileflowUrl, bC as resolveTileflowAnalyticsRequestUrl, bD as resolveTileflowManifestMap, bE as resolveTileflowMapMode, bF as resolveTileflowRuntimeStyle, bG as resolveTileflowRuntimeTheme, bH as resolveTileflowRuntimeThemeBlend, bI as resolveTileflowRuntimeView, bJ as resolveTileflowStaticImageUrl, bK as shouldLoadTileflowManifest, bL as startTileflowSession, bM as tileflowPoiCategories, t as tileflowRuntimeManifestLimits, e as tileflowRuntimeManifestVersion, bN as tileflowStyleFontFaceLimits, bO as tileflowStyleFontFacesMetadataKey, bP as tileflowThemeBlendLimits, bQ as tileflowThemeTokenCategories, bR as token, bS as validateTileflowRuntimeSource, bT as validateTileflowThemeBlendSelection, bU as validateTileflowThemeSelection, bV as zoom } from './manifest-types-hmzy2bBX.js';
4
+ import { V as ValidationMessage, i as TileflowExpression, j as TileflowFixedValue, k as TileflowThemeTokenReference, l as TileflowThemeColorOperation, m as TileflowBackgroundStyle, n as TileflowCircleStyle, o as TileflowExtrusionStyle, p as TileflowFillStyle, q as TileflowLineStyle, r as TileflowSymbolStyle, M as MapLibreStyle, s as TileflowRoadsModuleOptions, u as TileflowRoadsModuleConfig, v as TileflowLabelsModuleOptions, w as TileflowLabelsModuleConfig, x as TileflowPoiModuleOptions, y as TileflowPoiModuleConfig } from './manifest-types-jrBdBrES.js';
5
+ export { z as MapLibreSprite, A as TileflowAerodromeCodeDetail, B as TileflowAlignment, C as TileflowAnalytics, D as TileflowAreaStyle, E as TileflowBackgroundPaint, F as TileflowCirclePaint, G as TileflowColor, H as TileflowColorStyleValue, I as TileflowExtrusionPaint, J as TileflowFillPaint, K as TileflowIconAnchor, L as TileflowIconLayout, N as TileflowIconPaint, O as TileflowIconStyle, P as TileflowIconTextFit, Q as TileflowImageStyleValue, R as TileflowLabelDetail, S as TileflowLabelLanguage, U as TileflowLabelStyles, W as TileflowLayerRange, X as TileflowLight, Y as TileflowLineCap, Z as TileflowLineHatchStyle, _ as TileflowLineJoin, $ as TileflowLineLayout, a0 as TileflowLinePaint, a1 as TileflowLineStackStyle, a2 as TileflowManifestFetchOptions, a3 as TileflowManifestLoadOptions, a4 as TileflowMapMode, a5 as TileflowMapModeOptions, a6 as TileflowMarkerSymbolStyle, a7 as TileflowMountainBikeScale, a8 as TileflowNumberInsetsStyleValue, a9 as TileflowNumberStyleValue, aa as TileflowPlaceLabelClass, ab as TileflowPoiCategory, ac as TileflowPoiCategoryStyle, ad as TileflowPoiColorMode, ae as TileflowPoiDensity, af as TileflowPoiPlacementOrder, ag as TileflowPriorityOrder, ah as TileflowProjection, ai as TileflowResolvedRuntimeTheme, aj as TileflowRoadAreaStyle, ak as TileflowRoadClass, al as TileflowRoadClassStyle, am as TileflowRoadCrossingStyle, an as TileflowRoadDetail, ao as TileflowRoadExtras, ap as TileflowRoadHierarchy, aq as TileflowRoadLabelDetail, ar as TileflowRoadLayerStyle, as as TileflowRoadModifier, at as TileflowRoadOutline, au as TileflowRoadRestriction, av as TileflowRoadRoundaboutStyle, aw as TileflowRoadServiceType, ax as TileflowRoadShieldDetail, ay as TileflowRoadShieldStyles, az as TileflowRoadSidewalkStyle, aA as TileflowRoadStreetLightStyle, aB as TileflowRoadStructure, aC as TileflowRoadTreatmentLayerStyle, aD as TileflowRoadTreatmentLineStyle, aE as TileflowRoadTreatmentStyle, aF as TileflowRoadWeight, aG as TileflowRuntimeCenterLike, a as TileflowRuntimeColorScheme, T as TileflowRuntimeManifest, aH as TileflowRuntimeManifestMap, b as TileflowRuntimeManifestMapEntry, c as TileflowRuntimeManifestTheme, aI as TileflowRuntimeSource, aJ as TileflowRuntimeSourceValidation, aK as TileflowRuntimeStyle, aL as TileflowRuntimeStyleOptions, d as TileflowRuntimeSystemThemes, aM as TileflowRuntimeViewOptions, aN as TileflowSessionController, aO as TileflowSessionGrantResponse, aP as TileflowStringStyleValue, aQ as TileflowStructuralStyleValue, aR as TileflowStyleFontFace, aS as TileflowStyleValue, aT as TileflowSymbolOverlap, aU as TileflowSymbolPlacement, aV as TileflowSymbolPlacementStyle, aW as TileflowSymbolZOrder, aX as TileflowTerrain, aY as TileflowTerrainConfig, aZ as TileflowTerrainContourLabelStyle, a_ as TileflowTerrainContourLineStyle, a$ as TileflowTerrainContoursConfig, b0 as TileflowTerrainEncoding, b1 as TileflowTerrainHillshadeStyle, b2 as TileflowTerrainLayerRange, b3 as TileflowTerrainMode, b4 as TileflowTextAnchor, b5 as TileflowTextBackground, b6 as TileflowTextJustify, b7 as TileflowTextLayout, b8 as TileflowTextPaint, b9 as TileflowTextStyle, ba as TileflowThemeBlendSelection, bb as TileflowThemeColorAlpha, bc as TileflowThemeColorMix, bd as TileflowThemeColorValue, be as TileflowThemeFontValue, bf as TileflowThemeImageValue, bg as TileflowThemeNumberValue, bh as TileflowThemeSelection, bi as TileflowThemeTokenCategory, bj as TileflowThemeValue, e as TileflowTimeOfDay, f as TileflowTimeOfDayVariants, bk as TileflowViewConfig, bl as TileflowWaterLabelClass, bm as TileflowZoomInterpolation, bn as TileflowZoomValue, bo as ValidationResult, bp as assertValidTileflowRuntimeSource, bq as clearTileflowManifestCache, br as color, bs as createTileflowSessionController, bt as createTileflowSessionId, bu as defaultTileflowManifestUrl, bv as defaultTileflowRuntimeView, bw as fixed, bx as getTileflowAnalyticsApiUrl, by as getTileflowStyleFontFaces, bz as inferTileflowAnalyticsFromStyleUrl, bA as isTileflowTimeOfDay, bB as loadTileflowManifest, bC as mergeTileflowAnalytics, bD as nearestTileflowBlendTheme, bE as normalizeTileflowRuntimeCenter, bF as normalizeTileflowStaticImageSize, bG as normalizeTileflowUrl, bH as resolveTileflowAnalyticsRequestUrl, bI as resolveTileflowManifestMap, bJ as resolveTileflowMapMode, bK as resolveTileflowRuntimeStyle, bL as resolveTileflowRuntimeTheme, bM as resolveTileflowRuntimeThemeBlend, bN as resolveTileflowRuntimeView, bO as resolveTileflowStaticImageUrl, bP as shouldLoadTileflowManifest, bQ as startTileflowSession, bR as tileflowPoiCategories, t as tileflowRuntimeManifestLimits, g as tileflowRuntimeManifestVersion, bS as tileflowStyleFontFaceLimits, bT as tileflowStyleFontFacesMetadataKey, bU as tileflowThemeBlendLimits, bV as tileflowThemeTokenCategories, bW as tileflowTimesOfDay, bX as token, bY as validateTileflowRuntimeSource, bZ as validateTileflowThemeBlendSelection, b_ as validateTileflowThemeSelection, b$ as zoom } from './manifest-types-jrBdBrES.js';
6
6
  export { N as NormalizedTileflowCaptureScene, b as NormalizedTileflowCaptureShot, c as NormalizedTileflowCaptureShotCamera, d as TileflowCaptureApplicationTarget, e as TileflowCaptureBoundsCamera, f as TileflowCaptureCamera, g as TileflowCaptureCenterCamera, h as TileflowCaptureMapTarget, T as TileflowCaptureScene, a as TileflowCaptureShot, i as TileflowCaptureShotBlend, j as TileflowCaptureShotEasing, k as TileflowCaptureShotFrame, l as TileflowCaptureShotKeyframe, m as TileflowCaptureTarget, n as TileflowCaptureViewport, o as normalizeTileflowCaptureId, p as normalizeTileflowCaptureScene, q as normalizeTileflowCaptureShot, t as tileflowCaptureApplicationTargetSchema, r as tileflowCaptureBoundsCameraSchema, s as tileflowCaptureCameraSchema, u as tileflowCaptureCenterCameraSchema, v as tileflowCaptureIdSchema, w as tileflowCaptureMapTargetSchema, x as tileflowCaptureSceneLimits, y as tileflowCaptureSceneNameSchema, z as tileflowCaptureSceneSchema, A as tileflowCaptureSceneSchemaVersion, B as tileflowCaptureShotBlendSchema, C as tileflowCaptureShotFrameCount, D as tileflowCaptureShotFrames, E as tileflowCaptureShotKeyframeSchema, F as tileflowCaptureShotLimits, G as tileflowCaptureShotNameSchema, H as tileflowCaptureShotSchema, I as tileflowCaptureShotSchemaVersion, J as tileflowCaptureTargetSchema, K as tileflowCaptureViewportSchema } from './capture-shot-ChPQvPyi.js';
7
7
  export { tileflowPortableIdSchema, tileflowThemeNameSchema } from './capture.js';
8
8
  export { parseTileflowRuntimeManifest, safeParseTileflowRuntimeManifest, tileflowRuntimeManifestSchema } from './manifest.js';
@@ -11,6 +11,149 @@ declare const tileflowPortableIdMaximumLength: 64;
11
11
  declare function isTileflowPortableId(value: unknown): value is string;
12
12
  declare function isTileflowThemeName(value: unknown): value is string;
13
13
 
14
+ /** A value a choropleth can colour: a number for scales, a string for categories. */
15
+ type TileflowBoundaryValue = number | string;
16
+ /** One row of an application's data, keyed by a registry ID or an official code. */
17
+ type TileflowBoundaryRow = Readonly<{
18
+ key: number | string;
19
+ /** `null` leaves the area without a value. */
20
+ value: TileflowBoundaryValue | null;
21
+ }>;
22
+ /** Keys present on every `boundary_area` polygon, usable without the lookup table. */
23
+ type TileflowBoundaryFeatureKey = 'id' | 'iso_3166_1' | 'ref';
24
+ /** Keys a row can carry. Those absent from the polygons need the lookup table. */
25
+ type TileflowBoundaryCode = TileflowBoundaryFeatureKey | 'iso_3166_2' | 'nuts' | 'wikidata';
26
+ /** Rows joined to areas by one polygon key. */
27
+ type TileflowBoundaryValues = Readonly<{
28
+ joinBy: TileflowBoundaryFeatureKey;
29
+ rows: readonly TileflowBoundaryRow[];
30
+ }>;
31
+ /** One unit drawn as one class, as the release's lookup table lists it. */
32
+ type TileflowBoundaryLookupRow = Readonly<{
33
+ admin_level?: number;
34
+ class: TileflowBoundaryClass;
35
+ class_tier?: TileflowBoundaryClassTier;
36
+ id: number;
37
+ iso_3166_1?: string;
38
+ iso_3166_2?: string;
39
+ name?: string;
40
+ name_en?: string;
41
+ nuts?: string;
42
+ ref?: string;
43
+ wikidata?: string;
44
+ }>;
45
+ type TileflowBoundaryLookup = Readonly<{
46
+ /** Lookup rows whose code equals `key`, optionally limited to some classes. */
47
+ find: (joinBy: TileflowBoundaryCode, key: number | string, classes?: readonly TileflowBoundaryClass[]) => readonly TileflowBoundaryLookupRow[];
48
+ rows: readonly TileflowBoundaryLookupRow[];
49
+ }>;
50
+ type TileflowBoundaryJoinResult = TileflowBoundaryValues & Readonly<{
51
+ /** Keys that resolved to more than one unit; their rows are left out. */
52
+ ambiguous: readonly (number | string)[];
53
+ /** Keys that appeared more than once; the last row wins. */
54
+ duplicates: readonly (number | string)[];
55
+ /** Keys that matched no unit. */
56
+ unmatched: readonly (number | string)[];
57
+ }>;
58
+ type JoinBoundaryRowsOptions = Readonly<{
59
+ /** Limit lookup matches to these classes, for codes shared across a unit's classes. */
60
+ classes?: readonly TileflowBoundaryClass[];
61
+ /** The key the rows carry. */
62
+ joinBy: TileflowBoundaryCode;
63
+ /** Required unless the rows already carry the target key. */
64
+ lookup?: TileflowBoundaryLookup;
65
+ /** The feature key to produce: the registry ID (default) or `ref`. */
66
+ to?: 'id' | 'ref';
67
+ }>;
68
+ /**
69
+ * Re-key rows to the feature key a choropleth or feature-state uses. Keys are normalized:
70
+ * ISO 3166, NUTS and Wikidata codes are trimmed and upper-cased; `ref` is trimmed.
71
+ */
72
+ declare function joinBoundaryRows(rows: readonly TileflowBoundaryRow[], options: JoinBoundaryRowsOptions): TileflowBoundaryJoinResult;
73
+ /** Index lookup rows by every code they carry. */
74
+ declare function createBoundaryLookup(rows: readonly TileflowBoundaryLookupRow[]): TileflowBoundaryLookup;
75
+ /**
76
+ * Parse the text of a Boundaries release's `boundaries-lookup.csv` (after decompressing the
77
+ * `.csv.gz`). Columns the join does not use are ignored; empty cells are omitted.
78
+ */
79
+ declare function parseBoundaryLookupCsv(text: string): TileflowBoundaryLookupRow[];
80
+
81
+ /** A MapLibre expression that evaluates to a color. */
82
+ type TileflowColorExpression = readonly [string, ...unknown[]];
83
+ type TileflowChoroplethStop = readonly [value: number, color: string];
84
+ /** Colors below the first threshold are `base`; each stop starts a new color class. */
85
+ type TileflowChoroplethStepScale = Readonly<{
86
+ base: string;
87
+ kind: 'step';
88
+ stops: readonly TileflowChoroplethStop[];
89
+ }>;
90
+ /** Colors interpolated linearly between stops and clamped outside them. */
91
+ type TileflowChoroplethLinearScale = Readonly<{
92
+ kind: 'linear';
93
+ stops: readonly TileflowChoroplethStop[];
94
+ }>;
95
+ /** One color per category value. */
96
+ type TileflowChoroplethCategoryScale = Readonly<{
97
+ categories: Readonly<Record<string, string>>;
98
+ kind: 'categories';
99
+ }>;
100
+ type TileflowChoroplethScale = TileflowChoroplethCategoryScale | TileflowChoroplethLinearScale | TileflowChoroplethStepScale;
101
+ /** Validated color scales for choropleths. */
102
+ declare const choroplethScale: Readonly<{
103
+ categories(categories: Readonly<Record<string, string>>): TileflowChoroplethCategoryScale;
104
+ linear(stops: readonly TileflowChoroplethStop[]): TileflowChoroplethLinearScale;
105
+ step(base: string, stops: readonly TileflowChoroplethStop[]): TileflowChoroplethStepScale;
106
+ }>;
107
+ /**
108
+ * The color a scale gives `input`. Areas whose value does not fit the scale (no value, a string on
109
+ * a numeric scale, or an unknown category) get `missingColor`.
110
+ */
111
+ declare function choroplethColorExpression(scale: TileflowChoroplethScale, input: unknown, missingColor: string): TileflowColorExpression;
112
+ type TileflowBoundaryChoroplethOutline = Readonly<{
113
+ color: string;
114
+ /** Line width in pixels. Defaults to 0.5. */
115
+ width?: number;
116
+ }>;
117
+ type TileflowBoundaryChoroplethOptions = Readonly<{
118
+ /** Classes to color, such as `['municipality']`. */
119
+ classes: readonly TileflowBoundaryClass[];
120
+ /** Limit areas to these ISO 3166-1 alpha-2 countries. */
121
+ countries?: readonly string[];
122
+ /** Defaults to `boundaries`. The map must declare the same family in `boundaryAreas`. */
123
+ family?: TileflowBoundaryFamily;
124
+ /** Portable ID; the overlay's layers are `<id>-fill` and, with an outline, `<id>-outline`. */
125
+ id: string;
126
+ maxzoom?: number;
127
+ /** Defaults to the first zoom at which the selected classes appear. */
128
+ minzoom?: number;
129
+ /** Defaults to transparent, which leaves areas without a value uncolored. */
130
+ missingColor?: string;
131
+ /** Fill opacity from 0 to 1. Defaults to 0.8. */
132
+ opacity?: number;
133
+ outline?: false | TileflowBoundaryChoroplethOutline;
134
+ /** Defaults to `below-labels`. */
135
+ placement?: TileflowOverlayPlacement;
136
+ scale: TileflowChoroplethScale;
137
+ /** Feature-state key read when `values` is omitted. Defaults to `value`. */
138
+ state?: string;
139
+ /** Limit areas to one class tier. */
140
+ tiers?: readonly TileflowBoundaryClassTier[];
141
+ /**
142
+ * Values compiled into the style. Omit them to color areas from feature-state set at run time
143
+ * with `createBoundaryFeatureState` from `@tileflow/core/browser`.
144
+ */
145
+ values?: TileflowBoundaryValues;
146
+ }>;
147
+ /** Layer metadata key that records how a choropleth reads its values. */
148
+ declare const tileflowBoundaryChoroplethMetadataKey: "tileflow:boundaryChoropleth";
149
+ type TileflowBoundaryChoroplethMetadata = Readonly<{
150
+ family: TileflowBoundaryFamily;
151
+ joinBy?: TileflowBoundaryFeatureKey;
152
+ state?: string;
153
+ }>;
154
+ /** An overlay that colors Boundaries areas from values or feature-state. */
155
+ declare function boundaryChoropleth(options: TileflowBoundaryChoroplethOptions): TileflowMapLibreOverlay;
156
+
14
157
  /** Exact immutable release identity contract for the current World V1 product. */
15
158
  declare const tileflowWorldReleaseIdMinimumLength: 12;
16
159
  declare const tileflowWorldReleaseIdMaximumLength: 128;
@@ -21,6 +164,9 @@ declare function isTileflowWorldReleaseId(value: unknown): value is string;
21
164
 
22
165
  declare const tileflowWorldReleaseIdSchema: z.ZodString;
23
166
 
167
+ /** Base color roles required by the semantic compiler; other roles derive from these. */
168
+ declare const tileflowRequiredThemeColorRoles: readonly ("boundaries.default" | "labels.halo" | "labels.muted" | "labels.primary" | "roads.casing" | "roads.default" | "roads.major" | "surface.background" | "surface.building" | "surface.land" | "surface.park" | "surface.water")[];
169
+
24
170
  type ExactTileflowMap<TContract, TMap extends TContract> = TMap & Record<Exclude<keyof TMap, keyof TContract>, never>;
25
171
  type ExactTileflowMapScenes<TMap> = TMap extends {
26
172
  scenes: infer TScenes extends Record<string, TileflowMapScene>;
@@ -123,20 +269,23 @@ declare class TileflowResolvedMapValidationError extends Error {
123
269
  }
124
270
  declare function parseResolvedTileflowMap(input: unknown): ResolvedTileflowMap;
125
271
 
272
+ declare const auxiliaryFieldBindings: Readonly<{
273
+ bathymetryContourDepth: "depth";
274
+ }>;
275
+ type TileflowDataFieldName = keyof OpenMapTilesFieldBindings | keyof typeof auxiliaryFieldBindings;
126
276
  /** A schema-bound data field whose physical name is assigned only during compilation. */
127
- type TileflowDataFieldReference<TName extends keyof OpenMapTilesFieldBindings = keyof OpenMapTilesFieldBindings> = Readonly<{
277
+ type TileflowDataFieldReference<TName extends TileflowDataFieldName = TileflowDataFieldName> = Readonly<{
128
278
  kind: 'tileflow-data-field';
129
279
  name: TName;
130
280
  }>;
131
- type TileflowNumericDataFieldName = 'activityScore' | 'adminLevel' | 'bathymetryMinDepth' | 'bathymetrySortKey' | 'canopyClearanceAtZoom15' | 'canopyCoverPercent' | 'canopyRank' | 'circularClearanceExtraAtZoom15' | 'circularInnerRadiusMeters' | 'circularOuterRadiusMeters' | 'circularRadiusAtZoom15' | 'circularRadiusMeters' | 'confidence' | 'circumference' | 'diameterCrown' | 'elevation' | 'elevationFeet' | 'hasParts' | 'height' | 'hide3d' | 'importanceTier' | 'minHeight' | 'minZoom' | 'oneway' | 'poiFilterRank' | 'poiSizeRank' | 'ramp' | 'rank' | 'refLength' | 'renderHeight' | 'renderMinHeight' | 'shieldLineLengthMeters' | 'shieldRank';
281
+ type TileflowNumericDataFieldName = 'activityScore' | 'adminLevel' | 'bathymetryContourDepth' | 'bathymetryMinDepth' | 'bathymetrySortKey' | 'canopyClearanceAtZoom15' | 'canopyCoverPercent' | 'canopyRank' | 'circularClearanceExtraAtZoom15' | 'circularInnerRadiusMeters' | 'circularOuterRadiusMeters' | 'circularRadiusAtZoom15' | 'circularRadiusMeters' | 'confidence' | 'circumference' | 'diameterCrown' | 'elevation' | 'elevationFeet' | 'hasParts' | 'height' | 'hide3d' | 'importanceTier' | 'minHeight' | 'minZoom' | 'oneway' | 'poiFilterRank' | 'poiSizeRank' | 'ramp' | 'rank' | 'refLength' | 'renderHeight' | 'renderMinHeight' | 'shieldLineLengthMeters' | 'shieldRank';
132
282
  /** Runtime value implied by one registered semantic field, independent of its physical name. */
133
- type TileflowDataFieldValue<TName extends keyof OpenMapTilesFieldBindings> = TName extends TileflowNumericDataFieldName ? number : string;
283
+ type TileflowDataFieldValue<TName extends TileflowDataFieldName> = TName extends TileflowNumericDataFieldName ? number : string;
134
284
  /**
135
- * Reference a semantic field in a typed expression without capturing an
136
- * OpenMapTiles property name. The active data schema supplies the physical
137
- * binding at the final lowering boundary.
285
+ * Reference a semantic field in a typed expression. Primary fields follow the active data schema;
286
+ * auxiliary fields use their fixed product contract at the final lowering boundary.
138
287
  */
139
- declare function field<const TName extends keyof OpenMapTilesFieldBindings>(name: TName): TileflowDataFieldReference<TName>;
288
+ declare function field<const TName extends TileflowDataFieldName>(name: TName): TileflowDataFieldReference<TName>;
140
289
 
141
290
  /** The value a themed authoring node produces after theme resolution. */
142
291
  type TileflowDataExpressionResult<T> = T extends TileflowFixedValue<infer TValue> ? TValue : T extends TileflowThemeTokenReference<infer TCategory> ? TCategory extends 'number' ? number : string : T extends TileflowThemeColorOperation ? string : T;
@@ -460,7 +609,12 @@ type TileflowAuthoringManifest = Readonly<{
460
609
  statuses: readonly ['emitted', 'suppressed'];
461
610
  suppressionReasons: readonly ['disabled', 'no-contributions'];
462
611
  }>;
463
- optional: readonly ['provenance', 'requirements', 'theme'];
612
+ optional: readonly ['decisions', 'provenance', 'requirements', 'theme'];
613
+ decisions: Readonly<{
614
+ required: readonly ['path', 'source', 'value', 'reason', 'override'];
615
+ sources: readonly ['default', 'map', 'theme', 'derived'];
616
+ scope: 'color-roles-and-selected-module-policies';
617
+ }>;
464
618
  planner: Readonly<{
465
619
  optional: readonly ['candidateCount', 'selectedCount'];
466
620
  required: readonly ['inputCount', 'outputCount', 'stage'];
@@ -507,6 +661,13 @@ type TileflowAuthoringManifest = Readonly<{
507
661
  fieldReference: 'field(name)';
508
662
  }>;
509
663
  language: 'tileflow-semantic-v1';
664
+ themes: Readonly<{
665
+ api: 'defineTheme(definition) or defineTheme(base, definition)';
666
+ requiredColorRoles: typeof tileflowRequiredThemeColorRoles;
667
+ lightingReset: 'reset() removes inherited lighting, sun, ambient, or individual light properties during defineTheme composition';
668
+ timeOfDay: 'optional; an omitted catalog adds no variants or clock';
669
+ decisionReport: 'compilation.report.decisions';
670
+ }>;
510
671
  operations: readonly TileflowAuthoringOperation[];
511
672
  renderStack: Readonly<{
512
673
  comparisons: readonly string[];
@@ -731,6 +892,11 @@ declare const tileflowPoiImageRoles: Readonly<{
731
892
  readonly token: "poi.visitor-amenity";
732
893
  };
733
894
  }>;
895
+ /**
896
+ * World POI types whose pictogram explains them without a name: parking and public toilets.
897
+ * Applies when a map draws both pictograms and names.
898
+ */
899
+ declare const tileflowPoiIconOnlyTypes: readonly ["parking", "parking_garage", "parking_lot", "public_restroom"];
734
900
  declare function poi(options?: TileflowPoiModuleOptions): TileflowPoiModuleConfig;
735
901
 
736
902
  /**
@@ -984,6 +1150,34 @@ type TileflowFontBundleFontFace = TileflowFontBundleManifest['fontFaces'][number
984
1150
  declare function serializeTileflowFontBundleManifest(input: TileflowFontBundleManifest): string;
985
1151
  declare function hashTileflowFontBundleManifest(input: TileflowFontBundleManifest): Promise<string>;
986
1152
 
1153
+ declare const tileflowModelBundleLimits: {
1154
+ /** Models in one bundle, as a map prepares them. */
1155
+ readonly maxModelCount: 64;
1156
+ /** Bytes of one prepared model file. */
1157
+ readonly maxModelFileBytes: number;
1158
+ /** Bytes of the canonical manifest. */
1159
+ readonly maxManifestBytes: number;
1160
+ /** Bytes of every file of the bundle together. */
1161
+ readonly maxPackageBytes: number;
1162
+ };
1163
+ declare const tileflowModelBundleContentHashSchema: z.ZodString;
1164
+ declare const tileflowModelBundleManifestSchema: z.ZodObject<{
1165
+ format: z.ZodLiteral<"tileflow-model-bundle-v1">;
1166
+ models: z.ZodArray<z.ZodObject<{
1167
+ byteLength: z.ZodNumber;
1168
+ contentType: z.ZodLiteral<"model/gltf-binary">;
1169
+ file: z.ZodString;
1170
+ id: z.ZodString;
1171
+ sha256: z.ZodString;
1172
+ }, z.core.$strict>>;
1173
+ }, z.core.$strict>;
1174
+ type TileflowModelBundleManifest = z.infer<typeof tileflowModelBundleManifestSchema>;
1175
+ type TileflowModelBundleModel = TileflowModelBundleManifest['models'][number];
1176
+ /** The name of a prepared model file: `<id>-<first 16 hex digits of its SHA-256>.glb`. */
1177
+ declare function tileflowModelBundleFileName(id: string, sha256: string): string;
1178
+ declare function serializeTileflowModelBundleManifest(input: TileflowModelBundleManifest): string;
1179
+ declare function hashTileflowModelBundleManifest(input: TileflowModelBundleManifest): Promise<string>;
1180
+
987
1181
  type TileflowIconManifestDiff = {
988
1182
  added: string[];
989
1183
  afterBytes: number;
@@ -1173,6 +1367,98 @@ declare const tileflowTreeParts: {
1173
1367
  readonly stem: 3;
1174
1368
  };
1175
1369
 
1370
+ /** The parts of a model, each coloured by the theme: the model's materials name them. */
1371
+ declare const tileflowModelParts: Readonly<{
1372
+ surface: 0;
1373
+ secondary: 1;
1374
+ glass: 2;
1375
+ accent: 3;
1376
+ roof: 4;
1377
+ }>;
1378
+ type TileflowModelPart = keyof typeof tileflowModelParts;
1379
+ /** What a model may hold. */
1380
+ declare const tileflowModelLimits: Readonly<{
1381
+ /** Levels of detail, nearest first. */
1382
+ levels: 3;
1383
+ /** Vertices of one level. */
1384
+ vertices: 200000;
1385
+ /** Triangles of one level. */
1386
+ triangles: 200000;
1387
+ /** Points of the footprint's rings, together. */
1388
+ footprintPoints: 4096;
1389
+ /** Half the model's widest extent, in metres. */
1390
+ radius: 2000;
1391
+ /** The model's height, in metres. */
1392
+ height: 1000;
1393
+ /** Models in one prepared file, as a landmark tile holds them. */
1394
+ models: 512;
1395
+ /** Bytes of one prepared file. */
1396
+ bytes: number;
1397
+ }>;
1398
+ /** One level of detail, as indexed triangles. */
1399
+ type TileflowModelMesh = Readonly<{
1400
+ /** x, y and z of each vertex in metres: x east and y north of the origin, z up from the ground. */
1401
+ positions: readonly number[];
1402
+ /** The vertex normals, x, y and z. */
1403
+ normals: readonly number[];
1404
+ /** Each vertex's part, a value of `tileflowModelParts`. */
1405
+ parts: readonly number[];
1406
+ /** Each vertex's shade within its part's colour, from -1 (darkest) to 1 (lightest). */
1407
+ shades: readonly number[];
1408
+ /** Each vertex's light, from 0 (fully occluded) to 1. */
1409
+ occlusion: readonly number[];
1410
+ /** Three vertex indices per triangle. */
1411
+ indices: readonly number[];
1412
+ }>;
1413
+ /** A prepared model: its levels, nearest first, and the footprint it replaces on the ground. */
1414
+ type TileflowModel = Readonly<{
1415
+ levels: readonly TileflowModelMesh[];
1416
+ /**
1417
+ * Closed rings on the ground, in metres round the origin as `[x, y, x, y, …]`: the outline of
1418
+ * what the model stands in for. The map's own buildings that reach into it are not raised while
1419
+ * the model stands.
1420
+ */
1421
+ footprint: readonly (readonly number[])[];
1422
+ }>;
1423
+ /** A decoded level, ready for the GPU: its vertex bytes as the file holds them. */
1424
+ type TileflowModelLevelBytes = Readonly<{
1425
+ /**
1426
+ * 16 bytes a vertex, in glTF's axes (x east, y up, z south): its position as whole steps from
1427
+ * `centre` (int16 ×3, then two bytes of padding), its normal (int8 ×3, then one), and its part,
1428
+ * shade and light (uint8 ×3, then one).
1429
+ */
1430
+ vertices: Uint8Array;
1431
+ indices: Uint16Array | Uint32Array;
1432
+ /** The point the positions count from, in glTF's axes, in metres. */
1433
+ centre: readonly [number, number, number];
1434
+ /** Metres in one step of a position. */
1435
+ step: number;
1436
+ }>;
1437
+ /** A decoded model, as the renderer draws it. */
1438
+ type TileflowModelBytes = Readonly<{
1439
+ /** The model's id. */
1440
+ id: string;
1441
+ /** Its bounds in metres round its origin, `[minX, minY, minZ, maxX, maxY, maxZ]` (x east, y north, z up). */
1442
+ bounds: readonly [number, number, number, number, number, number];
1443
+ levels: readonly TileflowModelLevelBytes[];
1444
+ footprint: readonly (readonly number[])[];
1445
+ /** Where it stands, longitude and latitude, when the file says so, as a landmark tile does. */
1446
+ at?: readonly [number, number];
1447
+ /** Degrees clockwise from north its own north is turned to, when the file says so. */
1448
+ heading?: number;
1449
+ }>;
1450
+ /** Bytes per vertex in a model file and on the GPU. */
1451
+ declare const tileflowModelVertexBytes = 16;
1452
+ /** Whether a point lies inside any of the rings (even-odd), as `[x, y, x, y, …]`. */
1453
+ declare function tileflowInsideRings(rings: readonly (readonly number[])[], px: number, py: number): boolean;
1454
+ /**
1455
+ * Whether the rings `outline` (a building's) reach more than `margin` into any of the rings
1456
+ * `footprints` (the models'), all as `[x, y, x, y, …]` in the same units: a corner of one deep
1457
+ * inside the other, or an edge passing through it. A building that only touches a footprint, as a
1458
+ * neighbour sharing a wall does, does not.
1459
+ */
1460
+ declare function tileflowRingsOverlap(outline: readonly (readonly number[])[], footprints: readonly (readonly number[])[], margin: number): boolean;
1461
+
1176
1462
  /** The style metadata key under which a compiled map describes its 3D buildings. */
1177
1463
  declare const tileflowBuildingsMetadataKey = "tileflow:buildings";
1178
1464
  /** A compiled map's 3D buildings, resolved for one theme. */
@@ -1190,6 +1476,14 @@ type TileflowBuildings3DDesign = Readonly<{
1190
1476
  color: string | readonly unknown[];
1191
1477
  /** How strongly roof outlines and outer corners catch the light, from 0 to 1. */
1192
1478
  edges: number;
1479
+ /** Exterior corner radius and roof lighting transition, in metres; 0 keeps sharp edges. */
1480
+ edgeRadius?: number;
1481
+ /** Scene sun lighting by default; `style` uses the native extrusion light. */
1482
+ lighting: 'style' | 'sun';
1483
+ /** Per-building brightness variation, from 0 to 1; 0 preserves the authored colour. */
1484
+ colorVariation: number;
1485
+ /** The authored extrusion's vertical wall gradient. */
1486
+ verticalGradient: boolean;
1193
1487
  /** Their own colour, drawn unlit; without it they take the building's colour, lightened. */
1194
1488
  edgeColor?: string;
1195
1489
  /** How bright the buildings light the street at night, from 0 to 2. */
@@ -1199,12 +1493,109 @@ type TileflowBuildings3DDesign = Readonly<{
1199
1493
  /** Shadows from the sun, and contact shadow at the foot of the walls. */
1200
1494
  shadows: boolean;
1201
1495
  occlusion: boolean;
1496
+ /** Building models the map places in its city, each replacing the buildings under it. */
1497
+ models?: readonly TileflowBuildingModelPlacement[];
1498
+ /** The colours of the models' parts; a part without one takes it from the building colour. */
1499
+ modelColors?: Readonly<Partial<Record<TileflowModelPart, string>>>;
1500
+ /**
1501
+ * Tileflow's landmarks, drawn as models in place of the buildings under them: the TileJSON of
1502
+ * their tileset. Without it, the map shows none.
1503
+ */
1504
+ landmarks?: Readonly<{
1505
+ url: string;
1506
+ }>;
1507
+ }>;
1508
+ /** A building model standing in the map's city. */
1509
+ type TileflowBuildingModelPlacement = Readonly<{
1510
+ /** The model's id, its file's name in the map's `models` directories. */
1511
+ model: string;
1512
+ /** Where the prepared model file is served, absolute or relative to the page. */
1513
+ url: string;
1514
+ /** Longitude and latitude of the model's origin, where it stands on the ground. */
1515
+ at: readonly [number, number];
1516
+ /** Degrees clockwise from north that the model's own north is turned to. */
1517
+ heading: number;
1202
1518
  }>;
1203
1519
  /**
1204
1520
  * Reads the 3D buildings a compiled style describes, or undefined when its metadata has none or a
1205
1521
  * version or shape this Core does not know.
1206
1522
  */
1207
1523
  declare function readTileflowBuildings3D(metadata: unknown): TileflowBuildings3DDesign | undefined;
1524
+ /** The most models one map places. */
1525
+ declare const tileflowBuildingModelPlacementLimit = 256;
1526
+
1527
+ /** A model as a file holds it: its id and, in a landmark tile, where it stands. */
1528
+ type TileflowModelEntry = TileflowModel & Readonly<{
1529
+ id: string;
1530
+ /** Longitude and latitude of its origin. */
1531
+ at?: readonly [number, number];
1532
+ /** Degrees clockwise from north its own north is turned to. */
1533
+ heading?: number;
1534
+ }>;
1535
+ /** What compresses a file's buffers: meshoptimizer's encoder, once ready. */
1536
+ type TileflowModelCompressor = Readonly<{
1537
+ reorderMesh(indices: Uint32Array, triangles: boolean, optsize: boolean): [Uint32Array, number];
1538
+ encodeGltfBuffer(source: Uint8Array, count: number, size: number, mode: string): Uint8Array;
1539
+ }>;
1540
+ /** What decompresses them: meshoptimizer's decoder, once ready. */
1541
+ type TileflowModelDecompressor = Readonly<{
1542
+ decodeGltfBuffer(target: Uint8Array, count: number, size: number, source: Uint8Array, mode: string, filter?: string): void;
1543
+ }>;
1544
+ /** The media type of a prepared model file. */
1545
+ declare const tileflowModelContentType = "model/gltf-binary";
1546
+ /**
1547
+ * Encodes models as a prepared model file: compressed when given meshoptimizer's encoder, else with
1548
+ * plain buffers of the same layout. Throws a `RangeError` when a model breaks `tileflowModelLimits`.
1549
+ */
1550
+ declare function encodeTileflowModels(models: readonly TileflowModelEntry[], compressor?: TileflowModelCompressor): Uint8Array;
1551
+ /**
1552
+ * Decodes a prepared model file for drawing, or undefined when it is not one or breaks
1553
+ * `tileflowModelLimits`. A compressed file loads meshoptimizer's decoder unless one is given.
1554
+ */
1555
+ declare function decodeTileflowModels(buffer: ArrayBuffer | Uint8Array, decompressor?: TileflowModelDecompressor): Promise<readonly TileflowModelBytes[] | undefined>;
1556
+ /**
1557
+ * The ids of the models a prepared model file holds, in the order of its scene, read from its glTF
1558
+ * header and JSON chunk without decoding a mesh; undefined when it is not a prepared model file. A
1559
+ * server checks an uploaded file with it without running meshoptimizer's decoder.
1560
+ */
1561
+ declare function readTileflowModelFileIds(buffer: ArrayBuffer | Uint8Array): readonly string[] | undefined;
1562
+
1563
+ /** The zoom of a landmarks tileset's tiles. */
1564
+ declare const tileflowLandmarkTileZoom = 14;
1565
+ /** The zoom of the regions whose indexes name those tiles. */
1566
+ declare const tileflowLandmarkRegionZoom = 6;
1567
+ /** A landmarks tileset as its TileJSON describes it. */
1568
+ type TileflowLandmarksTileJson = Readonly<{
1569
+ /** Where the TileJSON was read, which relative addresses resolve against. */
1570
+ url: string;
1571
+ /** A tile's address, with `{sha256}` in place of its hash. */
1572
+ tile: string;
1573
+ /** A region index's address, with `{z}`, `{x}` and `{y}`. */
1574
+ region: string;
1575
+ tileZoom: number;
1576
+ regionZoom: number;
1577
+ /** The regions that hold landmarks, as `x/y`. */
1578
+ regions: ReadonlySet<string>;
1579
+ }>;
1580
+ /** A region's index: the tiles inside it that hold landmarks, by their hash. */
1581
+ type TileflowLandmarkRegion = Readonly<{
1582
+ region: readonly [number, number];
1583
+ /** `[x, y, sha256]` of each tile, sorted by x, then y. */
1584
+ tiles: readonly (readonly [number, number, string])[];
1585
+ }>;
1586
+ /** The zoom-14 tile a landmark's origin, longitude and latitude, stands in. */
1587
+ declare function tileflowLandmarkTileOf(at: readonly [number, number]): [number, number];
1588
+ /** The region a zoom-14 tile lies in. */
1589
+ declare function tileflowLandmarkRegionOf(tile: readonly [number, number]): [number, number];
1590
+ /**
1591
+ * Writes a region's index as the bytes a tileset serves: canonical JSON, its tiles sorted. Throws a
1592
+ * `RangeError` when a tile lies outside the region, appears twice or has no hash.
1593
+ */
1594
+ declare function serializeTileflowLandmarkRegion(region: TileflowLandmarkRegion): Uint8Array;
1595
+ /** Reads a region's index, or undefined when it is not one. */
1596
+ declare function readTileflowLandmarkRegion(json: unknown): TileflowLandmarkRegion | undefined;
1597
+ /** Reads a landmarks tileset's TileJSON, or undefined when it is not one. */
1598
+ declare function readTileflowLandmarksTileJson(json: unknown, url: string): TileflowLandmarksTileJson | undefined;
1208
1599
 
1209
1600
  /**
1210
1601
  * Where light is estimated where the data maps no lamps: `lit` (the default) along the streets and
@@ -1236,4 +1627,26 @@ type TileflowStreetLightsDesign = Readonly<{
1236
1627
  */
1237
1628
  declare function readTileflowStreetLights(metadata: unknown): TileflowStreetLightsDesign | undefined;
1238
1629
 
1239
- export { MapLibreStyle, OpenMapTilesFieldBindings, OpenMapTilesLayerBindings, ResolveMapOptions, ResolvedTileflowMap, ResolvedTileflowTheme, type TileflowAuthoringCommand, type TileflowAuthoringCommandName, type TileflowAuthoringCommandOutputKind, type TileflowAuthoringExpressionBuilder, type TileflowAuthoringManifest, type TileflowAuthoringManifestDomain, type TileflowAuthoringOperation, TileflowBackgroundStyle, TileflowBandPlacement, type TileflowBuildings3DDesign, TileflowCircleStyle, type TileflowDataCaseBranch, type TileflowDataExpressionInput, type TileflowDataExpressionResult, type TileflowDataFieldReference, type TileflowDataFieldValue, type TileflowDataInterpolation, type TileflowDataMatchBranch, type TileflowDataStop, TileflowExtrusionStyle, TileflowFillStyle, TileflowFixedValue, type TileflowFontBundleFile, type TileflowFontBundleFontFace, type TileflowFontBundleManifest, TileflowIconAppearance, type TileflowIconLayoutMetadata, type TileflowIconManifestDiff, type TileflowIconPackageFileName, type TileflowIconPackageManifest, type TileflowIconPreviewPaint, type TileflowIconSetPin, TileflowIconSource, type TileflowIconSpriteIndex, type TileflowIconSpriteIndexEntry, type TileflowIconsLockfileV1, TileflowLabelsModuleConfig, TileflowLabelsModuleOptions, type TileflowLineBackgroundFontStack, type TileflowLineBackgroundMetrics, TileflowLineStyle, TileflowMap, TileflowMapResolutionError, TileflowMapScene, TileflowMapShot, type TileflowModuleWithRenderStack, type TileflowNamedRenderStack, type TileflowNumericDataFieldName, TileflowPoiModuleConfig, TileflowPoiModuleOptions, type TileflowRenderComparison, type TileflowRenderFeature, type TileflowRenderField, type TileflowRenderGeometry, type TileflowRenderPass, type TileflowRenderPassInput, type TileflowRenderPlacement, type TileflowRenderScalar, type TileflowRenderSelector, type TileflowRenderStackOperation, type TileflowRenderTargetRefinement, type TileflowRenderTargetRefinementInput, type TileflowRenderVisibilityGroup, type TileflowRenderedIconManifestEntry, TileflowResolvedMapValidationError, TileflowRoadsModuleConfig, TileflowRoadsModuleOptions, type TileflowRouteInks, type TileflowSemanticAdd, type TileflowSemanticChange, type TileflowSemanticDiff, type TileflowSemanticDifference, type TileflowSemanticJsonValue, type TileflowSemanticMapIdentity, type TileflowSemanticRemove, type TileflowStreetLightsDesign, type TileflowStylePerformance, TileflowSymbolStyle, TileflowThemeColorOperation, TileflowThemeColorScheme, TileflowThemeTokenReference, type TileflowZoomPerformance, ValidationMessage, analyzeTileflowStylePerformance, assertTileflowIconLayoutBounds, compareCodeUnits, createTileflowIconPreviewRuntime, createTileflowLineBackgroundFontStack, defineMap, deriveTileflowLineBackgroundGlyphs, diffTileflowIconPackageManifests, diffTileflowMaps, expr, field, hashTileflowFontBundleManifest, hashTileflowIconPackageManifest, hashTileflowRenderedIconPixels, isTileflowPortableId, isTileflowThemeName, isTileflowWorldReleaseId, labels, normalizeTileflowLineBackgroundMetrics, parseResolvedTileflowMap, parseTileflowIconJson, parseTileflowIconsLockfile, parseTileflowLineBackgroundFontStack, poi, readTileflowBuildings3D, readTileflowIconLayout, readTileflowStreetLights, refineRenderTarget, renderPass, renderTileflowIconAtlasPixels, resolveMap, resolveTileflowIconPreviewPaint, resolveTileflowRouteInks, roads, scaleTileflowIconLayout, scaleTileflowTextSizeForLineBackground, serializeCanonicalJson, serializeTileflowFontBundleManifest, serializeTileflowIconPackageManifest, serializeTileflowIconsLockfile, sha256Hex, tileflowAuthoringManifest, tileflowAuthoringManifestSchemaVersion, tileflowBuildingsMetadataKey, tileflowCompilationPhases, tileflowCompilationPlannerStages, tileflowCompilationReportSchemaVersion, tileflowDefaultRouteInks, tileflowFontBundleContentHashSchema, tileflowFontBundleLimits, tileflowFontBundleManifestSchema, tileflowHostedAlphaCompatibility, tileflowHostedSourceLimit, tileflowIconIdPattern, tileflowIconIdSchema, tileflowIconLayoutFields, tileflowIconLayoutSchema, tileflowIconPackageContentHashSchema, tileflowIconPackageFileNames, tileflowIconPackageLabelSchema, tileflowIconPackageLimits, tileflowIconPackageManifestSchema, tileflowIconSetPinSchema, tileflowIconSpriteIndexEntrySchema, tileflowIconSpriteIndexSchema, tileflowIconsLockfileMaximumBytes, tileflowIconsLockfileName, tileflowIconsLockfileSchema, tileflowLineBackgroundDefaults, tileflowLineBackgroundHaloRatio, tileflowLineBackgroundLimits, tileflowMapDefaultMaxDepth, tileflowOverlayPlacements, tileflowPoiImageRoles, tileflowPortableIdMaximumLength, tileflowRenderSelectorComparisons, tileflowRenderSelectorGeometries, tileflowRenderSelectorKinds, tileflowRenderStackLimits, tileflowRenderStackRenderers, tileflowRenderedIconManifestEntrySchema, tileflowRoadClasses, tileflowRouteMetadataKey, tileflowRouteTokens, tileflowSemanticDiffSchemaVersion, tileflowStreetLightsMetadataKey, tileflowTreeParts, tileflowWorldReleaseIdMaximumLength, tileflowWorldReleaseIdMinimumLength, tileflowWorldReleaseIdPattern, tileflowWorldReleaseIdPatternSource, tileflowWorldReleaseIdSchema, withRenderStack };
1630
+ type TileflowViewMode = '2d' | '3d';
1631
+ type TileflowVegetationRepresentation = 'none' | 'flat' | '3d';
1632
+ declare const tileflowVegetationDisplayMetadataKey = "tileflow:vegetation-display";
1633
+ /** Display policy, separate from the models' design and the camera's pitch. */
1634
+ type TileflowVegetationDisplay = Readonly<{
1635
+ version: 1;
1636
+ mode: TileflowVegetationMode;
1637
+ fallback: 'flat' | 'none';
1638
+ visible: boolean;
1639
+ /** Authored visibility before the compiler applies the static fallback. */
1640
+ flatLayers: readonly Readonly<{
1641
+ id: string;
1642
+ visible: boolean;
1643
+ }>[];
1644
+ }>;
1645
+ declare function readTileflowVegetationDisplay(metadata: unknown): TileflowVegetationDisplay | undefined;
1646
+ declare function resolveTileflowVegetationRepresentation(policy: TileflowVegetationDisplay | undefined, options: {
1647
+ visible?: boolean | undefined;
1648
+ viewMode?: TileflowViewMode;
1649
+ supports3D: boolean;
1650
+ }): TileflowVegetationRepresentation;
1651
+
1652
+ export { type JoinBoundaryRowsOptions, MapLibreStyle, OpenMapTilesFieldBindings, OpenMapTilesLayerBindings, ResolveMapOptions, ResolvedTileflowMap, ResolvedTileflowTheme, type TileflowAuthoringCommand, type TileflowAuthoringCommandName, type TileflowAuthoringCommandOutputKind, type TileflowAuthoringExpressionBuilder, type TileflowAuthoringManifest, type TileflowAuthoringManifestDomain, type TileflowAuthoringOperation, TileflowBackgroundStyle, TileflowBandPlacement, type TileflowBoundaryChoroplethMetadata, type TileflowBoundaryChoroplethOptions, type TileflowBoundaryChoroplethOutline, TileflowBoundaryClass, TileflowBoundaryClassTier, type TileflowBoundaryCode, TileflowBoundaryFamily, type TileflowBoundaryFeatureKey, type TileflowBoundaryJoinResult, type TileflowBoundaryLookup, type TileflowBoundaryLookupRow, type TileflowBoundaryRow, type TileflowBoundaryValue, type TileflowBoundaryValues, type TileflowBuildingModelPlacement, type TileflowBuildings3DDesign, type TileflowChoroplethCategoryScale, type TileflowChoroplethLinearScale, type TileflowChoroplethScale, type TileflowChoroplethStepScale, type TileflowChoroplethStop, TileflowCircleStyle, type TileflowColorExpression, type TileflowDataCaseBranch, type TileflowDataExpressionInput, type TileflowDataExpressionResult, type TileflowDataFieldName, type TileflowDataFieldReference, type TileflowDataFieldValue, type TileflowDataInterpolation, type TileflowDataMatchBranch, type TileflowDataStop, TileflowExtrusionStyle, TileflowFillStyle, TileflowFixedValue, type TileflowFontBundleFile, type TileflowFontBundleFontFace, type TileflowFontBundleManifest, TileflowIconAppearance, type TileflowIconLayoutMetadata, type TileflowIconManifestDiff, type TileflowIconPackageFileName, type TileflowIconPackageManifest, type TileflowIconPreviewPaint, type TileflowIconSetPin, TileflowIconSource, type TileflowIconSpriteIndex, type TileflowIconSpriteIndexEntry, type TileflowIconsLockfileV1, TileflowLabelsModuleConfig, TileflowLabelsModuleOptions, type TileflowLandmarkRegion, type TileflowLandmarksTileJson, type TileflowLineBackgroundFontStack, type TileflowLineBackgroundMetrics, TileflowLineStyle, TileflowMap, TileflowMapLibreOverlay, TileflowMapResolutionError, TileflowMapScene, TileflowMapShot, type TileflowModel, type TileflowModelBundleManifest, type TileflowModelBundleModel, type TileflowModelBytes, type TileflowModelCompressor, type TileflowModelDecompressor, type TileflowModelEntry, type TileflowModelLevelBytes, type TileflowModelMesh, type TileflowModelPart, type TileflowModuleWithRenderStack, type TileflowNamedRenderStack, type TileflowNumericDataFieldName, TileflowOverlayPlacement, TileflowPoiModuleConfig, TileflowPoiModuleOptions, type TileflowRenderComparison, type TileflowRenderFeature, type TileflowRenderField, type TileflowRenderGeometry, type TileflowRenderPass, type TileflowRenderPassInput, type TileflowRenderPlacement, type TileflowRenderScalar, type TileflowRenderSelector, type TileflowRenderStackOperation, type TileflowRenderTargetRefinement, type TileflowRenderTargetRefinementInput, type TileflowRenderVisibilityGroup, type TileflowRenderedIconManifestEntry, TileflowResolvedMapValidationError, TileflowRoadsModuleConfig, TileflowRoadsModuleOptions, type TileflowRouteInks, type TileflowSemanticAdd, type TileflowSemanticChange, type TileflowSemanticDiff, type TileflowSemanticDifference, type TileflowSemanticJsonValue, type TileflowSemanticMapIdentity, type TileflowSemanticRemove, type TileflowStreetLightsDesign, type TileflowStylePerformance, TileflowSymbolStyle, TileflowThemeColorOperation, TileflowThemeColorScheme, TileflowThemeTokenReference, type TileflowVegetationDisplay, TileflowVegetationMode, type TileflowVegetationRepresentation, type TileflowViewMode, type TileflowZoomPerformance, ValidationMessage, analyzeTileflowStylePerformance, assertTileflowIconLayoutBounds, boundaryChoropleth, choroplethColorExpression, choroplethScale, compareCodeUnits, createBoundaryLookup, createTileflowIconPreviewRuntime, createTileflowLineBackgroundFontStack, decodeTileflowModels, defineMap, deriveTileflowLineBackgroundGlyphs, diffTileflowIconPackageManifests, diffTileflowMaps, encodeTileflowModels, expr, field, hashTileflowFontBundleManifest, hashTileflowIconPackageManifest, hashTileflowModelBundleManifest, hashTileflowRenderedIconPixels, isTileflowPortableId, isTileflowThemeName, isTileflowWorldReleaseId, joinBoundaryRows, labels, normalizeTileflowLineBackgroundMetrics, parseBoundaryLookupCsv, parseResolvedTileflowMap, parseTileflowIconJson, parseTileflowIconsLockfile, parseTileflowLineBackgroundFontStack, poi, readTileflowBuildings3D, readTileflowIconLayout, readTileflowLandmarkRegion, readTileflowLandmarksTileJson, readTileflowModelFileIds, readTileflowStreetLights, readTileflowVegetationDisplay, refineRenderTarget, renderPass, renderTileflowIconAtlasPixels, resolveMap, resolveTileflowIconPreviewPaint, resolveTileflowRouteInks, resolveTileflowVegetationRepresentation, roads, scaleTileflowIconLayout, scaleTileflowTextSizeForLineBackground, serializeCanonicalJson, serializeTileflowFontBundleManifest, serializeTileflowIconPackageManifest, serializeTileflowIconsLockfile, serializeTileflowLandmarkRegion, serializeTileflowModelBundleManifest, sha256Hex, tileflowAuthoringManifest, tileflowAuthoringManifestSchemaVersion, tileflowBoundaryChoroplethMetadataKey, tileflowBuildingModelPlacementLimit, tileflowBuildingsMetadataKey, tileflowCompilationPhases, tileflowCompilationPlannerStages, tileflowCompilationReportSchemaVersion, tileflowDefaultRouteInks, tileflowFontBundleContentHashSchema, tileflowFontBundleLimits, tileflowFontBundleManifestSchema, tileflowHostedAlphaCompatibility, tileflowHostedSourceLimit, tileflowIconIdPattern, tileflowIconIdSchema, tileflowIconLayoutFields, tileflowIconLayoutSchema, tileflowIconPackageContentHashSchema, tileflowIconPackageFileNames, tileflowIconPackageLabelSchema, tileflowIconPackageLimits, tileflowIconPackageManifestSchema, tileflowIconSetPinSchema, tileflowIconSpriteIndexEntrySchema, tileflowIconSpriteIndexSchema, tileflowIconsLockfileMaximumBytes, tileflowIconsLockfileName, tileflowIconsLockfileSchema, tileflowInsideRings, tileflowLandmarkRegionOf, tileflowLandmarkRegionZoom, tileflowLandmarkTileOf, tileflowLandmarkTileZoom, tileflowLineBackgroundDefaults, tileflowLineBackgroundHaloRatio, tileflowLineBackgroundLimits, tileflowMapDefaultMaxDepth, tileflowModelBundleContentHashSchema, tileflowModelBundleFileName, tileflowModelBundleLimits, tileflowModelBundleManifestSchema, tileflowModelContentType, tileflowModelLimits, tileflowModelParts, tileflowModelVertexBytes, tileflowOverlayPlacements, tileflowPoiIconOnlyTypes, tileflowPoiImageRoles, tileflowPortableIdMaximumLength, tileflowRenderSelectorComparisons, tileflowRenderSelectorGeometries, tileflowRenderSelectorKinds, tileflowRenderStackLimits, tileflowRenderStackRenderers, tileflowRenderedIconManifestEntrySchema, tileflowRequiredThemeColorRoles, tileflowRingsOverlap, tileflowRoadClasses, tileflowRouteMetadataKey, tileflowRouteTokens, tileflowSemanticDiffSchemaVersion, tileflowStreetLightsMetadataKey, tileflowTreeParts, tileflowVegetationDisplayMetadataKey, tileflowWorldReleaseIdMaximumLength, tileflowWorldReleaseIdMinimumLength, tileflowWorldReleaseIdPattern, tileflowWorldReleaseIdPatternSource, tileflowWorldReleaseIdSchema, withRenderStack };