@chrtco/sdk 0.10.5 → 0.10.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -492,8 +492,22 @@ interface CellDetail {
492
492
  * database does not enforce would be a promise the wire cannot keep.
493
493
  */
494
494
  scale_band: string | null;
495
+ /**
496
+ * The S-57 edition and update number of the release **CHRT holds and serves**
497
+ * for this cell — not necessarily the newest the issuing office has published.
498
+ * That is the number to quote when you need to say which chart a response came
499
+ * from. `status` is what tells you whether the office has moved on since.
500
+ */
495
501
  edition: number | null;
496
502
  update_number: number | null;
503
+ /**
504
+ * Publication date of the release named by `edition` / `update_number`.
505
+ *
506
+ * `null` means the date for *that* release is unknown — most often a cell
507
+ * ingested before CHRT started recording it, which resolves on the cell's next
508
+ * update. It never carries the date of an earlier edition: a plausible wrong
509
+ * date on a provenance field is worse than an honest absence.
510
+ */
497
511
  issue_date: string | null;
498
512
  /**
499
513
  * Bounds in decimal degrees (WGS 84), or `null` when the issuing office recorded
@@ -506,9 +520,14 @@ interface CellDetail {
506
520
  bbox_east: number | null;
507
521
  bbox_west: number | null;
508
522
  /**
509
- * ISO 8601 timestamp of when CHRT last checked the issuing office's catalogue
510
- * for this cell — freshness of the *check*, not of the chart. Compare
511
- * `edition` / `update_number` / `issue_date` for chart currency.
523
+ * ISO 8601 timestamp — a **lower bound** on when CHRT last checked the issuing
524
+ * office for this cell, not the exact time. It advances whenever a check
525
+ * results in a new release; a check that finds the cell unchanged leaves no
526
+ * per-cell record, so the real figure is at least this recent and usually more
527
+ * so. Treat it as "no older than", never as "not since".
528
+ *
529
+ * Freshness of the *check*, not of the chart — compare `edition` /
530
+ * `update_number` / `issue_date` for chart currency.
512
531
  */
513
532
  last_checked_at: string | null;
514
533
  }
@@ -2689,7 +2708,12 @@ declare function buildLabelLayer(layerId: string, sourceId: string, config: Labe
2689
2708
  declare function preprocessSoundings(fc: GeoJSON.FeatureCollection): GeoJSON.FeatureCollection;
2690
2709
  /**
2691
2710
  * Pre-process LIGHTS GeoJSON to derive compact light characteristic labels.
2692
- * Adds `_lightLabel` property (e.g., "Fl R 4s").
2711
+ * Adds `_lightLabel` property (e.g., "Fl(2) WR 4s 5M").
2712
+ *
2713
+ * KEEP IN STEP WITH `buildLightLabelExpression()` in layer-builder.ts — that
2714
+ * is the same label built as a GL expression for the tile path, which has no
2715
+ * JS preprocessing step. `light-label-parity.test.ts` asserts the two agree
2716
+ * on real tile features; if you change one, change both.
2693
2717
  */
2694
2718
  declare function preprocessLights(fc: GeoJSON.FeatureCollection): GeoJSON.FeatureCollection;
2695
2719
  /** List of layers that have labels */
@@ -3229,7 +3253,32 @@ declare const S101_SOURCE_COMMIT = "05063500e898544c90078ab78a61efc72b7e62f3";
3229
3253
  declare const S101_ICON_PREFIX = "s101:";
3230
3254
  /** All vendored S-101 symbol names (unprefixed). */
3231
3255
  declare const S101_SYMBOL_NAMES: ReadonlySet<string>;
3232
- /** Resolve an S-101 colour token via the official profile for `table`. */
3256
+ /**
3257
+ * Symbols the generated style references that have **no official S-101
3258
+ * counterpart** in the Portrayal Catalogue, and therefore keep their S-52
3259
+ * artwork under `?symbols=s101`.
3260
+ *
3261
+ * These are deliberate, not gaps in the vendoring: the catalogue at the
3262
+ * pinned commit defines no symbol of the same name, and inventing an
3263
+ * equivalence (e.g. SISTAT02 → SISTAT03, WATTUR01 → WATTUR02) would be a
3264
+ * portrayal judgement, not a direct replica of the standard. The S-101
3265
+ * rule engine (the later 7c phase) is what will resolve these properly —
3266
+ * it selects symbols by rule rather than by S-52 name identity.
3267
+ *
3268
+ * DNGCIR01 / LNDMRK18 / LNDMRK19 / RADRFL03 — the catalogue defines no
3269
+ * DNGCIR, LNDMRK or RADRFL symbols at all. (RETRFL01/02 *are* defined,
3270
+ * so the retroreflector class needs no exemption.)
3271
+ * UWTROC01 / SISTAT02 / WATTUR01 — only differently-numbered siblings
3272
+ * exist (UWTROC03/04, SISTAT03, WATTUR02); the number encodes a
3273
+ * different portrayal case.
3274
+ * LIGHTHOUSE01 — a CHRT-local symbol name with no PresLib/S-101 analogue.
3275
+ *
3276
+ * Pinned by `s101-style.test.ts` so the set can only shrink deliberately
3277
+ * (e.g. when re-pinned to an in-force catalogue edition that adds them).
3278
+ */
3279
+ declare const S101_NO_OFFICIAL_COUNTERPART: ReadonlySet<string>;
3280
+ /** Resolve an S-101 colour token via the official profile for `table`.
3281
+ * An unknown token warns (see `reportUnresolvedToken`) before falling back. */
3233
3282
  declare function resolveS101Color(token: string, table?: ColorTableName): string;
3234
3283
  /**
3235
3284
  * Get an S-101 symbol SVG with its colour tokens resolved through the
@@ -3237,10 +3286,64 @@ declare function resolveS101Color(token: string, table?: ColorTableName): string
3237
3286
  */
3238
3287
  declare function getThemedS101Svg(symbolName: string, table?: ColorTableName): string | null;
3239
3288
  /**
3240
- * Switch a generated style document to the S-101 symbol set. Symbol names
3241
- * without an official S-101 counterpart keep their S-52 image (both sets
3242
- * are loaded by `loadChartSymbolImages`), so coverage can only grow as the
3243
- * PC adds symbols. Returns the same style object (mutated), for chaining.
3289
+ * Where a symbol's artwork actually comes from under `?symbols=s101`.
3290
+ *
3291
+ * - `official` — the vendored IHO S-101 Portrayal Catalogue file.
3292
+ * - `s52-substitute`— the catalogue defines no symbol of this name, so S-52
3293
+ * artwork is drawn instead (the pinned exemption set).
3294
+ * - `chrt-drawn` — neither; a CHRT-authored approximation. `S101_NEW_SYMBOLS`
3295
+ * in `s101-symbols.ts` is this, and it is NOT official
3296
+ * artwork despite living under an S-101 name.
3297
+ *
3298
+ * Exported because any surface that *displays* S-101 symbology has to be able
3299
+ * to say which of the three it is showing. Presenting a substitute or an
3300
+ * approximation as catalogue artwork is the same silent-fallback defect as a
3301
+ * chart quietly dropping a symbol — see the parity audit.
3302
+ */
3303
+ type S101ArtworkProvenance = "official" | "s52-substitute" | "chrt-drawn";
3304
+ /** Classify a symbol name's artwork provenance. `symbolName` is the S-52
3305
+ * PresLib name (e.g. `BOYCAN01`), which is how every set here is keyed.
3306
+ *
3307
+ * The `s52-substitute` test is "does real S-52 artwork exist for this name",
3308
+ * NOT "is it in the pinned exemption set" — that set only covers names the
3309
+ * generated style references, and a display surface (the Atlas) shows many
3310
+ * that it does not. Keying off the exemption set alone would misreport every
3311
+ * one of those as a CHRT drawing. */
3312
+ declare function s101ArtworkProvenance(symbolName: string | undefined): S101ArtworkProvenance;
3313
+ /**
3314
+ * Official S-101 **area fill** names available to the rewrite below.
3315
+ *
3316
+ * **Empty, and that is the finding — not an oversight in this file.** The
3317
+ * upstream `PortrayalCatalog/` ships `AreaFills/` and `LineStyles/` alongside
3318
+ * `Symbols/`, but `PROVENANCE.md` records that only `Symbols/` was ever
3319
+ * vendored, and `gen-s101-svgs.ts` reads that one directory. So every area
3320
+ * fill and complex line under `?symbols=s101` is still S-52 artwork:
3321
+ * `AP:CBLARE01`, `AP:MARSHES1`, `AP:PIPARE01`, `AP:VEGATN03`, `AP:VEGATN04`,
3322
+ * `LC:CBLARE51`, `LC:CBLSUB06`, `LC:PIPSOL05`, `LC:PIPSOL06`.
3323
+ *
3324
+ * These sets are declared rather than assumed so the omission is *typed and
3325
+ * measurable* instead of invisible: `applyS101SymbolSet` now walks pattern
3326
+ * references too, the coverage metadata below reports the real ratio, and
3327
+ * `s101-parity.test.ts` pins it at 0. Vendor the two directories, populate
3328
+ * these sets, and every count moves on its own — no other change required.
3329
+ */
3330
+ declare const S101_AREA_FILL_NAMES: ReadonlySet<string>;
3331
+ /** Official S-101 **line style** names available to the rewrite. Empty for the
3332
+ * same reason as `S101_AREA_FILL_NAMES` — see that doc comment. */
3333
+ declare const S101_LINE_STYLE_NAMES: ReadonlySet<string>;
3334
+ /**
3335
+ * Switch a generated style document to the S-101 symbol set.
3336
+ *
3337
+ * Covers all three ways a GL style names an image — `icon-image`,
3338
+ * `fill-pattern` and `line-pattern`. Names without official S-101 artwork keep
3339
+ * their S-52 image (both sets are loaded by `loadChartSymbolImages`), so
3340
+ * coverage can only grow as the catalogue is vendored further.
3341
+ *
3342
+ * Emits `chrt:s101-coverage` so a consumer can tell *how* S-101 the document
3343
+ * it just fetched actually is. Before this existed the answer was
3344
+ * unobtainable without decoding the style yourself, which is how "s101" read
3345
+ * as complete when its areas and lines were entirely S-52.
3346
+ * Returns the same style object (mutated), for chaining.
3244
3347
  */
3245
3348
  declare function applyS101SymbolSet(style: MapboxStyle): MapboxStyle;
3246
3349
 
@@ -4153,4 +4256,4 @@ declare class Chrt {
4153
4256
  warmTiles(region?: string): Promise<void>;
4154
4257
  }
4155
4258
 
4156
- export { ALL_NAV_AID_LAYERS, ALL_WATER_BODY_LAYERS, AREA_QUERY_LAYERS, ATON_EXPRESSION_CLASSES, type AheadCoverageCell, type AheadFeatureProperties, type AheadOptions, type AheadResponse, type AlongRouteFeatureProperties, type AlongRouteOptions, type AlongRouteResponse, type AreaInspectResult, type AtlasStyle, type AttachOptions, BAND_DRAW_ORDER, BAND_PRIORITY_RANGES, type BBox, BRIDGE_QUERY_LAYERS, BUILD_MAXZOOM, BUILD_MINZOOM, type BandCode, type BandPriorityRange, type BridgeInspectResult, type BuildOfflineStyleOptions, type BuildSourcesOptions, CHART_BAND_CODES, CHART_CASCADE_CODES, CHART_SECTIONS, CHRTRASTER_REF_CROPS, CHRTRASTER_SVGS, CHRT_ATON_COLORS, CHRT_GLYPH_NAMES, CHRT_GLYPH_SVGS, CHRT_ICON_EXPRESSIONS, CHRT_ICON_PREFIX, CHRT_SDF_GLYPHS, CHRT_STYLE_MODES, type CandidateQueryOptions, type CandidatesEventContext, type CellDeletedEvent, type CellDetail, type CellEventData, type CellNewEvent, type CellUpdatedData, type CellUpdatedEvent, type CellsOptions, type CellsResponse, type ChartSection, Chrt, type ChrtConfig, ChrtError, type ChrtStyleMode, type ChrtStyleOptions, type ChrtStyleTheme, type ChrtSymbolSet, type ClickAnchor, ColorTableName, type CoverageOptions, type CoverageResponse, type CoverageRouteCell, type CoverageRouteOptions, type CoverageRouteResponse, type CoverageSource, type CustomStyleConfig, DEFAULT_CLICK_TOLERANCE, DEFAULT_CUSTOM_STYLE_CONFIG, DEFAULT_INSPECT_CLASS_RANK, DEFAULT_LABEL_SETTINGS, DEFAULT_NAV_AID_SETTINGS, DEFAULT_REGION, DEFAULT_SAFETY_CONTOUR_M, DEFAULT_SOUNDING_SETTINGS, DEFAULT_TILE_BASE_URL, DEFAULT_TILE_REGION, DEFAULT_WATER_BODY_SETTINGS, type DecodedAreaFeature, type DecodedBridge, type DecodedNavAid, type DecodedProperty, type DisplayCategory, type DisplayMode, type FeatureCollection, type FeaturesOptions, type FetchStyleOptions, FileSystemAdapter, type FlashPattern, type FlashPhase, type GenerateCustomStyleOptions, type GeneratedCustomStyle, type GeoJsonFeature, type GeoJsonGeometry, type GeomType, INSPECT_CLASS_RANK, INSPECT_RANK_DEVIATIONS, type InspectCandidate, type InspectCandidateSet, type InspectEnrichment, type InspectEventContext, type InspectNotice, type InspectOptions, type InspectResult, type InspectTargetClass, type InspectableFeature, InteractClient, type InteractEntitlement, InteractError, type InteractErrorCode, type InteractHandle, type InteractMapLike, type InteractMapMouseEvent, LABELED_LAYERS, LABEL_BEHAVIOR, LABEL_LAYER_GROUPS, LABEL_PRIORITY, type LabelBehavior, type LabelConfigOptions, type LabelLayerConfig, type LabelSettings, type LookupEntry, type MapLibreStyle, type MapboxStyle, type MapboxVectorSource, type MarineAlert, type MarineAlertsOptions, type MarineAlertsResponse, type MarineConditionsOptions, type MarineConditionsResponse, type MarineForecastOptions, type MarineForecastPeriod, type MarineForecastResponse, type MarineSeas, type MarineStation, type MarineSwellTrain, type MarineWind, type MarineZoneRef, NAUTICAL_SYMBOLS, NAV_AID_LAYER_GROUPS, NAV_AID_QUERY_LAYERS, NON_SOLAS_DISCLAIMER, NON_SOLAS_DISCLAIMER_SHORT, type NauticalCategory, type NauticalSymbol, type NavAidInspectResult, type NavAidSettings, type NearbyMarineStation, type OfflineBundleResponse, type OfflineDownloadOptions, type OfflineDownloadProgress, type OfflineDownloadResult, OfflineError, type OfflineErrorCode, type OfflineFetchStyleOptions, type OfflineHeartbeatOptions, type OfflineRegionSummary, type OfflineRemoveOptions, OfflineStyleError, type OfflineStylePlatform, type OfflineStyleResponse, type PmtilesVectorSource, type QueryFeatureProperties, type QueryOptions, type QueryResponse, RASTER_ATON_CLASSES, RASTER_GLYPH_NAMES, RASTER_ICON_PREFIX, type ResolvedStyle, type ResolvedTheme, type S101Feature, S101_CHART_SECTIONS, S101_FEATURES, S101_ICON_PREFIX, S101_NEW_SYMBOLS, S101_SOURCE_COMMIT, S101_SYMBOL_GROUPS, S101_SYMBOL_NAMES, S52_ATON_LOOKUPS, S52_ATON_LOOKUPS_PAPER, S52_DRAW_ORDER, S52_LOOKUP, S52_PATTERN_SPRITE_PREFIX, SOUNDING_LAYERS, SYMBOL_FAMILIES, SYMBOL_FAMILY_META, SYMBOL_GROUPS, SYMBOL_MAP, type ScaleBand, type SearchCoverageNotice, type SearchHit, type SearchOptions, type SearchResponse, type SectorArcFeature, type SectorArcFeatureCollection, type SectorInfo, type SoundingSettings, type SourceMode, type StyleGeneratorOptions, type StyleLayer, type StyleUrlOptions, type SymbolFamily, type SymbolFamilyMeta, type SymbolGroup, TileAuth, type TileGroup, type TileGroupsResponse, TileTokenError, type TileTokenErrorCode, type TileTokenResponse, type TransformRequest, type TransformedRequest, type VectorSourceSpec, type VesselProfile, WATER_BODY_LAYER_GROUPS, type WaterBodySettings, WeatherEndpoint, type WeatherReading, type WebhookEvent, type WebhookEventType, type WebhookPayload, applyChrtSymbolSet, applyColorTheme, applyCustomStyleSettings, applyRasterSymbolSet, applyS101SymbolSet, atonIconExpression, bandFilterExpression, buildFlashPattern, buildLabelLayer, buildLayersForClass, buildOfflineStyle, buildSectorArcGeoJSON, buildSectorArcsFC, buildSectorsFromFeatures, buildSources, candidateRank, chrtAtonTintExpression, chrtLightTintExpression, collectCandidates, collectClickCandidates, combineWithBandFilter, daymarkColor, decimateFeatures, decodeAreaFeatureProps, decodeBridgeProps, decodeCandidate, decodeNavAidProps, depareColor, depareFillExpression, deriveMarinerName, extractNavAidDesignation, featureIdentity, generateCustomStyle, generateSpriteManifest, generateSpriteSheet, generateStyle, generateStyleJSON, getAvailableLineSymbols, getAvailablePatterns, getAvailablePointSymbols, getCollisionSettings, getDrawPriority, getGridSizeForZoom, getIconExpression, getLabelBehavior, getLabelConfig, getLabelPriority, getLookupEntry, getMaxCellsForZoom, getOrderedClasses, getRasterSvg, getS52SvgString, getS52SymbolStats, getStyleStats, getSymbolSvgString, getThemedS101Svg, getThemedS52Svg, getTopmarkMeaning, hazardColor, hazardFillExpression, iconExpressionForFamily, isLabelLayerVisible, isNavAidLayer, isNavAidLayerVisible, isSoundingLayerVisible, isVisibleInMode, isWaterBodyLayerVisible, labelSortKey, lateralColor, lateralFillExpression, lightColor, lightFillExpression, lightsIconExpression, normalizeStyleMode, normalizeTheme, paginate, parseListCodes, parseSymbolFamily, parseWebhook, patternSpriteId, preprocessLights, preprocessNavAids, preprocessSoundings, preprocessWaterBodies, rasterAtonIconExpression, resolveCustomTheme, resolveRasterImage, resolveS101Color, resolveStyle, resolveTargetClass, sanitizeCustomStyleConfig, scaleSizeValue, scaminToMinZoom, styleModeBand, withinBboxFilter, worldMinusBboxPolygon };
4259
+ export { ALL_NAV_AID_LAYERS, ALL_WATER_BODY_LAYERS, AREA_QUERY_LAYERS, ATON_EXPRESSION_CLASSES, type AheadCoverageCell, type AheadFeatureProperties, type AheadOptions, type AheadResponse, type AlongRouteFeatureProperties, type AlongRouteOptions, type AlongRouteResponse, type AreaInspectResult, type AtlasStyle, type AttachOptions, BAND_DRAW_ORDER, BAND_PRIORITY_RANGES, type BBox, BRIDGE_QUERY_LAYERS, BUILD_MAXZOOM, BUILD_MINZOOM, type BandCode, type BandPriorityRange, type BridgeInspectResult, type BuildOfflineStyleOptions, type BuildSourcesOptions, CHART_BAND_CODES, CHART_CASCADE_CODES, CHART_SECTIONS, CHRTRASTER_REF_CROPS, CHRTRASTER_SVGS, CHRT_ATON_COLORS, CHRT_GLYPH_NAMES, CHRT_GLYPH_SVGS, CHRT_ICON_EXPRESSIONS, CHRT_ICON_PREFIX, CHRT_SDF_GLYPHS, CHRT_STYLE_MODES, type CandidateQueryOptions, type CandidatesEventContext, type CellDeletedEvent, type CellDetail, type CellEventData, type CellNewEvent, type CellUpdatedData, type CellUpdatedEvent, type CellsOptions, type CellsResponse, type ChartSection, Chrt, type ChrtConfig, ChrtError, type ChrtStyleMode, type ChrtStyleOptions, type ChrtStyleTheme, type ChrtSymbolSet, type ClickAnchor, ColorTableName, type CoverageOptions, type CoverageResponse, type CoverageRouteCell, type CoverageRouteOptions, type CoverageRouteResponse, type CoverageSource, type CustomStyleConfig, DEFAULT_CLICK_TOLERANCE, DEFAULT_CUSTOM_STYLE_CONFIG, DEFAULT_INSPECT_CLASS_RANK, DEFAULT_LABEL_SETTINGS, DEFAULT_NAV_AID_SETTINGS, DEFAULT_REGION, DEFAULT_SAFETY_CONTOUR_M, DEFAULT_SOUNDING_SETTINGS, DEFAULT_TILE_BASE_URL, DEFAULT_TILE_REGION, DEFAULT_WATER_BODY_SETTINGS, type DecodedAreaFeature, type DecodedBridge, type DecodedNavAid, type DecodedProperty, type DisplayCategory, type DisplayMode, type FeatureCollection, type FeaturesOptions, type FetchStyleOptions, FileSystemAdapter, type FlashPattern, type FlashPhase, type GenerateCustomStyleOptions, type GeneratedCustomStyle, type GeoJsonFeature, type GeoJsonGeometry, type GeomType, INSPECT_CLASS_RANK, INSPECT_RANK_DEVIATIONS, type InspectCandidate, type InspectCandidateSet, type InspectEnrichment, type InspectEventContext, type InspectNotice, type InspectOptions, type InspectResult, type InspectTargetClass, type InspectableFeature, InteractClient, type InteractEntitlement, InteractError, type InteractErrorCode, type InteractHandle, type InteractMapLike, type InteractMapMouseEvent, LABELED_LAYERS, LABEL_BEHAVIOR, LABEL_LAYER_GROUPS, LABEL_PRIORITY, type LabelBehavior, type LabelConfigOptions, type LabelLayerConfig, type LabelSettings, type LookupEntry, type MapLibreStyle, type MapboxStyle, type MapboxVectorSource, type MarineAlert, type MarineAlertsOptions, type MarineAlertsResponse, type MarineConditionsOptions, type MarineConditionsResponse, type MarineForecastOptions, type MarineForecastPeriod, type MarineForecastResponse, type MarineSeas, type MarineStation, type MarineSwellTrain, type MarineWind, type MarineZoneRef, NAUTICAL_SYMBOLS, NAV_AID_LAYER_GROUPS, NAV_AID_QUERY_LAYERS, NON_SOLAS_DISCLAIMER, NON_SOLAS_DISCLAIMER_SHORT, type NauticalCategory, type NauticalSymbol, type NavAidInspectResult, type NavAidSettings, type NearbyMarineStation, type OfflineBundleResponse, type OfflineDownloadOptions, type OfflineDownloadProgress, type OfflineDownloadResult, OfflineError, type OfflineErrorCode, type OfflineFetchStyleOptions, type OfflineHeartbeatOptions, type OfflineRegionSummary, type OfflineRemoveOptions, OfflineStyleError, type OfflineStylePlatform, type OfflineStyleResponse, type PmtilesVectorSource, type QueryFeatureProperties, type QueryOptions, type QueryResponse, RASTER_ATON_CLASSES, RASTER_GLYPH_NAMES, RASTER_ICON_PREFIX, type ResolvedStyle, type ResolvedTheme, type S101ArtworkProvenance, type S101Feature, S101_AREA_FILL_NAMES, S101_CHART_SECTIONS, S101_FEATURES, S101_ICON_PREFIX, S101_LINE_STYLE_NAMES, S101_NEW_SYMBOLS, S101_NO_OFFICIAL_COUNTERPART, S101_SOURCE_COMMIT, S101_SYMBOL_GROUPS, S101_SYMBOL_NAMES, S52_ATON_LOOKUPS, S52_ATON_LOOKUPS_PAPER, S52_DRAW_ORDER, S52_LOOKUP, S52_PATTERN_SPRITE_PREFIX, SOUNDING_LAYERS, SYMBOL_FAMILIES, SYMBOL_FAMILY_META, SYMBOL_GROUPS, SYMBOL_MAP, type ScaleBand, type SearchCoverageNotice, type SearchHit, type SearchOptions, type SearchResponse, type SectorArcFeature, type SectorArcFeatureCollection, type SectorInfo, type SoundingSettings, type SourceMode, type StyleGeneratorOptions, type StyleLayer, type StyleUrlOptions, type SymbolFamily, type SymbolFamilyMeta, type SymbolGroup, TileAuth, type TileGroup, type TileGroupsResponse, TileTokenError, type TileTokenErrorCode, type TileTokenResponse, type TransformRequest, type TransformedRequest, type VectorSourceSpec, type VesselProfile, WATER_BODY_LAYER_GROUPS, type WaterBodySettings, WeatherEndpoint, type WeatherReading, type WebhookEvent, type WebhookEventType, type WebhookPayload, applyChrtSymbolSet, applyColorTheme, applyCustomStyleSettings, applyRasterSymbolSet, applyS101SymbolSet, atonIconExpression, bandFilterExpression, buildFlashPattern, buildLabelLayer, buildLayersForClass, buildOfflineStyle, buildSectorArcGeoJSON, buildSectorArcsFC, buildSectorsFromFeatures, buildSources, candidateRank, chrtAtonTintExpression, chrtLightTintExpression, collectCandidates, collectClickCandidates, combineWithBandFilter, daymarkColor, decimateFeatures, decodeAreaFeatureProps, decodeBridgeProps, decodeCandidate, decodeNavAidProps, depareColor, depareFillExpression, deriveMarinerName, extractNavAidDesignation, featureIdentity, generateCustomStyle, generateSpriteManifest, generateSpriteSheet, generateStyle, generateStyleJSON, getAvailableLineSymbols, getAvailablePatterns, getAvailablePointSymbols, getCollisionSettings, getDrawPriority, getGridSizeForZoom, getIconExpression, getLabelBehavior, getLabelConfig, getLabelPriority, getLookupEntry, getMaxCellsForZoom, getOrderedClasses, getRasterSvg, getS52SvgString, getS52SymbolStats, getStyleStats, getSymbolSvgString, getThemedS101Svg, getThemedS52Svg, getTopmarkMeaning, hazardColor, hazardFillExpression, iconExpressionForFamily, isLabelLayerVisible, isNavAidLayer, isNavAidLayerVisible, isSoundingLayerVisible, isVisibleInMode, isWaterBodyLayerVisible, labelSortKey, lateralColor, lateralFillExpression, lightColor, lightFillExpression, lightsIconExpression, normalizeStyleMode, normalizeTheme, paginate, parseListCodes, parseSymbolFamily, parseWebhook, patternSpriteId, preprocessLights, preprocessNavAids, preprocessSoundings, preprocessWaterBodies, rasterAtonIconExpression, resolveCustomTheme, resolveRasterImage, resolveS101Color, resolveStyle, resolveTargetClass, s101ArtworkProvenance, sanitizeCustomStyleConfig, scaleSizeValue, scaminToMinZoom, styleModeBand, withinBboxFilter, worldMinusBboxPolygon };
package/dist/index.d.ts CHANGED
@@ -492,8 +492,22 @@ interface CellDetail {
492
492
  * database does not enforce would be a promise the wire cannot keep.
493
493
  */
494
494
  scale_band: string | null;
495
+ /**
496
+ * The S-57 edition and update number of the release **CHRT holds and serves**
497
+ * for this cell — not necessarily the newest the issuing office has published.
498
+ * That is the number to quote when you need to say which chart a response came
499
+ * from. `status` is what tells you whether the office has moved on since.
500
+ */
495
501
  edition: number | null;
496
502
  update_number: number | null;
503
+ /**
504
+ * Publication date of the release named by `edition` / `update_number`.
505
+ *
506
+ * `null` means the date for *that* release is unknown — most often a cell
507
+ * ingested before CHRT started recording it, which resolves on the cell's next
508
+ * update. It never carries the date of an earlier edition: a plausible wrong
509
+ * date on a provenance field is worse than an honest absence.
510
+ */
497
511
  issue_date: string | null;
498
512
  /**
499
513
  * Bounds in decimal degrees (WGS 84), or `null` when the issuing office recorded
@@ -506,9 +520,14 @@ interface CellDetail {
506
520
  bbox_east: number | null;
507
521
  bbox_west: number | null;
508
522
  /**
509
- * ISO 8601 timestamp of when CHRT last checked the issuing office's catalogue
510
- * for this cell — freshness of the *check*, not of the chart. Compare
511
- * `edition` / `update_number` / `issue_date` for chart currency.
523
+ * ISO 8601 timestamp — a **lower bound** on when CHRT last checked the issuing
524
+ * office for this cell, not the exact time. It advances whenever a check
525
+ * results in a new release; a check that finds the cell unchanged leaves no
526
+ * per-cell record, so the real figure is at least this recent and usually more
527
+ * so. Treat it as "no older than", never as "not since".
528
+ *
529
+ * Freshness of the *check*, not of the chart — compare `edition` /
530
+ * `update_number` / `issue_date` for chart currency.
512
531
  */
513
532
  last_checked_at: string | null;
514
533
  }
@@ -2689,7 +2708,12 @@ declare function buildLabelLayer(layerId: string, sourceId: string, config: Labe
2689
2708
  declare function preprocessSoundings(fc: GeoJSON.FeatureCollection): GeoJSON.FeatureCollection;
2690
2709
  /**
2691
2710
  * Pre-process LIGHTS GeoJSON to derive compact light characteristic labels.
2692
- * Adds `_lightLabel` property (e.g., "Fl R 4s").
2711
+ * Adds `_lightLabel` property (e.g., "Fl(2) WR 4s 5M").
2712
+ *
2713
+ * KEEP IN STEP WITH `buildLightLabelExpression()` in layer-builder.ts — that
2714
+ * is the same label built as a GL expression for the tile path, which has no
2715
+ * JS preprocessing step. `light-label-parity.test.ts` asserts the two agree
2716
+ * on real tile features; if you change one, change both.
2693
2717
  */
2694
2718
  declare function preprocessLights(fc: GeoJSON.FeatureCollection): GeoJSON.FeatureCollection;
2695
2719
  /** List of layers that have labels */
@@ -3229,7 +3253,32 @@ declare const S101_SOURCE_COMMIT = "05063500e898544c90078ab78a61efc72b7e62f3";
3229
3253
  declare const S101_ICON_PREFIX = "s101:";
3230
3254
  /** All vendored S-101 symbol names (unprefixed). */
3231
3255
  declare const S101_SYMBOL_NAMES: ReadonlySet<string>;
3232
- /** Resolve an S-101 colour token via the official profile for `table`. */
3256
+ /**
3257
+ * Symbols the generated style references that have **no official S-101
3258
+ * counterpart** in the Portrayal Catalogue, and therefore keep their S-52
3259
+ * artwork under `?symbols=s101`.
3260
+ *
3261
+ * These are deliberate, not gaps in the vendoring: the catalogue at the
3262
+ * pinned commit defines no symbol of the same name, and inventing an
3263
+ * equivalence (e.g. SISTAT02 → SISTAT03, WATTUR01 → WATTUR02) would be a
3264
+ * portrayal judgement, not a direct replica of the standard. The S-101
3265
+ * rule engine (the later 7c phase) is what will resolve these properly —
3266
+ * it selects symbols by rule rather than by S-52 name identity.
3267
+ *
3268
+ * DNGCIR01 / LNDMRK18 / LNDMRK19 / RADRFL03 — the catalogue defines no
3269
+ * DNGCIR, LNDMRK or RADRFL symbols at all. (RETRFL01/02 *are* defined,
3270
+ * so the retroreflector class needs no exemption.)
3271
+ * UWTROC01 / SISTAT02 / WATTUR01 — only differently-numbered siblings
3272
+ * exist (UWTROC03/04, SISTAT03, WATTUR02); the number encodes a
3273
+ * different portrayal case.
3274
+ * LIGHTHOUSE01 — a CHRT-local symbol name with no PresLib/S-101 analogue.
3275
+ *
3276
+ * Pinned by `s101-style.test.ts` so the set can only shrink deliberately
3277
+ * (e.g. when re-pinned to an in-force catalogue edition that adds them).
3278
+ */
3279
+ declare const S101_NO_OFFICIAL_COUNTERPART: ReadonlySet<string>;
3280
+ /** Resolve an S-101 colour token via the official profile for `table`.
3281
+ * An unknown token warns (see `reportUnresolvedToken`) before falling back. */
3233
3282
  declare function resolveS101Color(token: string, table?: ColorTableName): string;
3234
3283
  /**
3235
3284
  * Get an S-101 symbol SVG with its colour tokens resolved through the
@@ -3237,10 +3286,64 @@ declare function resolveS101Color(token: string, table?: ColorTableName): string
3237
3286
  */
3238
3287
  declare function getThemedS101Svg(symbolName: string, table?: ColorTableName): string | null;
3239
3288
  /**
3240
- * Switch a generated style document to the S-101 symbol set. Symbol names
3241
- * without an official S-101 counterpart keep their S-52 image (both sets
3242
- * are loaded by `loadChartSymbolImages`), so coverage can only grow as the
3243
- * PC adds symbols. Returns the same style object (mutated), for chaining.
3289
+ * Where a symbol's artwork actually comes from under `?symbols=s101`.
3290
+ *
3291
+ * - `official` — the vendored IHO S-101 Portrayal Catalogue file.
3292
+ * - `s52-substitute`— the catalogue defines no symbol of this name, so S-52
3293
+ * artwork is drawn instead (the pinned exemption set).
3294
+ * - `chrt-drawn` — neither; a CHRT-authored approximation. `S101_NEW_SYMBOLS`
3295
+ * in `s101-symbols.ts` is this, and it is NOT official
3296
+ * artwork despite living under an S-101 name.
3297
+ *
3298
+ * Exported because any surface that *displays* S-101 symbology has to be able
3299
+ * to say which of the three it is showing. Presenting a substitute or an
3300
+ * approximation as catalogue artwork is the same silent-fallback defect as a
3301
+ * chart quietly dropping a symbol — see the parity audit.
3302
+ */
3303
+ type S101ArtworkProvenance = "official" | "s52-substitute" | "chrt-drawn";
3304
+ /** Classify a symbol name's artwork provenance. `symbolName` is the S-52
3305
+ * PresLib name (e.g. `BOYCAN01`), which is how every set here is keyed.
3306
+ *
3307
+ * The `s52-substitute` test is "does real S-52 artwork exist for this name",
3308
+ * NOT "is it in the pinned exemption set" — that set only covers names the
3309
+ * generated style references, and a display surface (the Atlas) shows many
3310
+ * that it does not. Keying off the exemption set alone would misreport every
3311
+ * one of those as a CHRT drawing. */
3312
+ declare function s101ArtworkProvenance(symbolName: string | undefined): S101ArtworkProvenance;
3313
+ /**
3314
+ * Official S-101 **area fill** names available to the rewrite below.
3315
+ *
3316
+ * **Empty, and that is the finding — not an oversight in this file.** The
3317
+ * upstream `PortrayalCatalog/` ships `AreaFills/` and `LineStyles/` alongside
3318
+ * `Symbols/`, but `PROVENANCE.md` records that only `Symbols/` was ever
3319
+ * vendored, and `gen-s101-svgs.ts` reads that one directory. So every area
3320
+ * fill and complex line under `?symbols=s101` is still S-52 artwork:
3321
+ * `AP:CBLARE01`, `AP:MARSHES1`, `AP:PIPARE01`, `AP:VEGATN03`, `AP:VEGATN04`,
3322
+ * `LC:CBLARE51`, `LC:CBLSUB06`, `LC:PIPSOL05`, `LC:PIPSOL06`.
3323
+ *
3324
+ * These sets are declared rather than assumed so the omission is *typed and
3325
+ * measurable* instead of invisible: `applyS101SymbolSet` now walks pattern
3326
+ * references too, the coverage metadata below reports the real ratio, and
3327
+ * `s101-parity.test.ts` pins it at 0. Vendor the two directories, populate
3328
+ * these sets, and every count moves on its own — no other change required.
3329
+ */
3330
+ declare const S101_AREA_FILL_NAMES: ReadonlySet<string>;
3331
+ /** Official S-101 **line style** names available to the rewrite. Empty for the
3332
+ * same reason as `S101_AREA_FILL_NAMES` — see that doc comment. */
3333
+ declare const S101_LINE_STYLE_NAMES: ReadonlySet<string>;
3334
+ /**
3335
+ * Switch a generated style document to the S-101 symbol set.
3336
+ *
3337
+ * Covers all three ways a GL style names an image — `icon-image`,
3338
+ * `fill-pattern` and `line-pattern`. Names without official S-101 artwork keep
3339
+ * their S-52 image (both sets are loaded by `loadChartSymbolImages`), so
3340
+ * coverage can only grow as the catalogue is vendored further.
3341
+ *
3342
+ * Emits `chrt:s101-coverage` so a consumer can tell *how* S-101 the document
3343
+ * it just fetched actually is. Before this existed the answer was
3344
+ * unobtainable without decoding the style yourself, which is how "s101" read
3345
+ * as complete when its areas and lines were entirely S-52.
3346
+ * Returns the same style object (mutated), for chaining.
3244
3347
  */
3245
3348
  declare function applyS101SymbolSet(style: MapboxStyle): MapboxStyle;
3246
3349
 
@@ -4153,4 +4256,4 @@ declare class Chrt {
4153
4256
  warmTiles(region?: string): Promise<void>;
4154
4257
  }
4155
4258
 
4156
- export { ALL_NAV_AID_LAYERS, ALL_WATER_BODY_LAYERS, AREA_QUERY_LAYERS, ATON_EXPRESSION_CLASSES, type AheadCoverageCell, type AheadFeatureProperties, type AheadOptions, type AheadResponse, type AlongRouteFeatureProperties, type AlongRouteOptions, type AlongRouteResponse, type AreaInspectResult, type AtlasStyle, type AttachOptions, BAND_DRAW_ORDER, BAND_PRIORITY_RANGES, type BBox, BRIDGE_QUERY_LAYERS, BUILD_MAXZOOM, BUILD_MINZOOM, type BandCode, type BandPriorityRange, type BridgeInspectResult, type BuildOfflineStyleOptions, type BuildSourcesOptions, CHART_BAND_CODES, CHART_CASCADE_CODES, CHART_SECTIONS, CHRTRASTER_REF_CROPS, CHRTRASTER_SVGS, CHRT_ATON_COLORS, CHRT_GLYPH_NAMES, CHRT_GLYPH_SVGS, CHRT_ICON_EXPRESSIONS, CHRT_ICON_PREFIX, CHRT_SDF_GLYPHS, CHRT_STYLE_MODES, type CandidateQueryOptions, type CandidatesEventContext, type CellDeletedEvent, type CellDetail, type CellEventData, type CellNewEvent, type CellUpdatedData, type CellUpdatedEvent, type CellsOptions, type CellsResponse, type ChartSection, Chrt, type ChrtConfig, ChrtError, type ChrtStyleMode, type ChrtStyleOptions, type ChrtStyleTheme, type ChrtSymbolSet, type ClickAnchor, ColorTableName, type CoverageOptions, type CoverageResponse, type CoverageRouteCell, type CoverageRouteOptions, type CoverageRouteResponse, type CoverageSource, type CustomStyleConfig, DEFAULT_CLICK_TOLERANCE, DEFAULT_CUSTOM_STYLE_CONFIG, DEFAULT_INSPECT_CLASS_RANK, DEFAULT_LABEL_SETTINGS, DEFAULT_NAV_AID_SETTINGS, DEFAULT_REGION, DEFAULT_SAFETY_CONTOUR_M, DEFAULT_SOUNDING_SETTINGS, DEFAULT_TILE_BASE_URL, DEFAULT_TILE_REGION, DEFAULT_WATER_BODY_SETTINGS, type DecodedAreaFeature, type DecodedBridge, type DecodedNavAid, type DecodedProperty, type DisplayCategory, type DisplayMode, type FeatureCollection, type FeaturesOptions, type FetchStyleOptions, FileSystemAdapter, type FlashPattern, type FlashPhase, type GenerateCustomStyleOptions, type GeneratedCustomStyle, type GeoJsonFeature, type GeoJsonGeometry, type GeomType, INSPECT_CLASS_RANK, INSPECT_RANK_DEVIATIONS, type InspectCandidate, type InspectCandidateSet, type InspectEnrichment, type InspectEventContext, type InspectNotice, type InspectOptions, type InspectResult, type InspectTargetClass, type InspectableFeature, InteractClient, type InteractEntitlement, InteractError, type InteractErrorCode, type InteractHandle, type InteractMapLike, type InteractMapMouseEvent, LABELED_LAYERS, LABEL_BEHAVIOR, LABEL_LAYER_GROUPS, LABEL_PRIORITY, type LabelBehavior, type LabelConfigOptions, type LabelLayerConfig, type LabelSettings, type LookupEntry, type MapLibreStyle, type MapboxStyle, type MapboxVectorSource, type MarineAlert, type MarineAlertsOptions, type MarineAlertsResponse, type MarineConditionsOptions, type MarineConditionsResponse, type MarineForecastOptions, type MarineForecastPeriod, type MarineForecastResponse, type MarineSeas, type MarineStation, type MarineSwellTrain, type MarineWind, type MarineZoneRef, NAUTICAL_SYMBOLS, NAV_AID_LAYER_GROUPS, NAV_AID_QUERY_LAYERS, NON_SOLAS_DISCLAIMER, NON_SOLAS_DISCLAIMER_SHORT, type NauticalCategory, type NauticalSymbol, type NavAidInspectResult, type NavAidSettings, type NearbyMarineStation, type OfflineBundleResponse, type OfflineDownloadOptions, type OfflineDownloadProgress, type OfflineDownloadResult, OfflineError, type OfflineErrorCode, type OfflineFetchStyleOptions, type OfflineHeartbeatOptions, type OfflineRegionSummary, type OfflineRemoveOptions, OfflineStyleError, type OfflineStylePlatform, type OfflineStyleResponse, type PmtilesVectorSource, type QueryFeatureProperties, type QueryOptions, type QueryResponse, RASTER_ATON_CLASSES, RASTER_GLYPH_NAMES, RASTER_ICON_PREFIX, type ResolvedStyle, type ResolvedTheme, type S101Feature, S101_CHART_SECTIONS, S101_FEATURES, S101_ICON_PREFIX, S101_NEW_SYMBOLS, S101_SOURCE_COMMIT, S101_SYMBOL_GROUPS, S101_SYMBOL_NAMES, S52_ATON_LOOKUPS, S52_ATON_LOOKUPS_PAPER, S52_DRAW_ORDER, S52_LOOKUP, S52_PATTERN_SPRITE_PREFIX, SOUNDING_LAYERS, SYMBOL_FAMILIES, SYMBOL_FAMILY_META, SYMBOL_GROUPS, SYMBOL_MAP, type ScaleBand, type SearchCoverageNotice, type SearchHit, type SearchOptions, type SearchResponse, type SectorArcFeature, type SectorArcFeatureCollection, type SectorInfo, type SoundingSettings, type SourceMode, type StyleGeneratorOptions, type StyleLayer, type StyleUrlOptions, type SymbolFamily, type SymbolFamilyMeta, type SymbolGroup, TileAuth, type TileGroup, type TileGroupsResponse, TileTokenError, type TileTokenErrorCode, type TileTokenResponse, type TransformRequest, type TransformedRequest, type VectorSourceSpec, type VesselProfile, WATER_BODY_LAYER_GROUPS, type WaterBodySettings, WeatherEndpoint, type WeatherReading, type WebhookEvent, type WebhookEventType, type WebhookPayload, applyChrtSymbolSet, applyColorTheme, applyCustomStyleSettings, applyRasterSymbolSet, applyS101SymbolSet, atonIconExpression, bandFilterExpression, buildFlashPattern, buildLabelLayer, buildLayersForClass, buildOfflineStyle, buildSectorArcGeoJSON, buildSectorArcsFC, buildSectorsFromFeatures, buildSources, candidateRank, chrtAtonTintExpression, chrtLightTintExpression, collectCandidates, collectClickCandidates, combineWithBandFilter, daymarkColor, decimateFeatures, decodeAreaFeatureProps, decodeBridgeProps, decodeCandidate, decodeNavAidProps, depareColor, depareFillExpression, deriveMarinerName, extractNavAidDesignation, featureIdentity, generateCustomStyle, generateSpriteManifest, generateSpriteSheet, generateStyle, generateStyleJSON, getAvailableLineSymbols, getAvailablePatterns, getAvailablePointSymbols, getCollisionSettings, getDrawPriority, getGridSizeForZoom, getIconExpression, getLabelBehavior, getLabelConfig, getLabelPriority, getLookupEntry, getMaxCellsForZoom, getOrderedClasses, getRasterSvg, getS52SvgString, getS52SymbolStats, getStyleStats, getSymbolSvgString, getThemedS101Svg, getThemedS52Svg, getTopmarkMeaning, hazardColor, hazardFillExpression, iconExpressionForFamily, isLabelLayerVisible, isNavAidLayer, isNavAidLayerVisible, isSoundingLayerVisible, isVisibleInMode, isWaterBodyLayerVisible, labelSortKey, lateralColor, lateralFillExpression, lightColor, lightFillExpression, lightsIconExpression, normalizeStyleMode, normalizeTheme, paginate, parseListCodes, parseSymbolFamily, parseWebhook, patternSpriteId, preprocessLights, preprocessNavAids, preprocessSoundings, preprocessWaterBodies, rasterAtonIconExpression, resolveCustomTheme, resolveRasterImage, resolveS101Color, resolveStyle, resolveTargetClass, sanitizeCustomStyleConfig, scaleSizeValue, scaminToMinZoom, styleModeBand, withinBboxFilter, worldMinusBboxPolygon };
4259
+ export { ALL_NAV_AID_LAYERS, ALL_WATER_BODY_LAYERS, AREA_QUERY_LAYERS, ATON_EXPRESSION_CLASSES, type AheadCoverageCell, type AheadFeatureProperties, type AheadOptions, type AheadResponse, type AlongRouteFeatureProperties, type AlongRouteOptions, type AlongRouteResponse, type AreaInspectResult, type AtlasStyle, type AttachOptions, BAND_DRAW_ORDER, BAND_PRIORITY_RANGES, type BBox, BRIDGE_QUERY_LAYERS, BUILD_MAXZOOM, BUILD_MINZOOM, type BandCode, type BandPriorityRange, type BridgeInspectResult, type BuildOfflineStyleOptions, type BuildSourcesOptions, CHART_BAND_CODES, CHART_CASCADE_CODES, CHART_SECTIONS, CHRTRASTER_REF_CROPS, CHRTRASTER_SVGS, CHRT_ATON_COLORS, CHRT_GLYPH_NAMES, CHRT_GLYPH_SVGS, CHRT_ICON_EXPRESSIONS, CHRT_ICON_PREFIX, CHRT_SDF_GLYPHS, CHRT_STYLE_MODES, type CandidateQueryOptions, type CandidatesEventContext, type CellDeletedEvent, type CellDetail, type CellEventData, type CellNewEvent, type CellUpdatedData, type CellUpdatedEvent, type CellsOptions, type CellsResponse, type ChartSection, Chrt, type ChrtConfig, ChrtError, type ChrtStyleMode, type ChrtStyleOptions, type ChrtStyleTheme, type ChrtSymbolSet, type ClickAnchor, ColorTableName, type CoverageOptions, type CoverageResponse, type CoverageRouteCell, type CoverageRouteOptions, type CoverageRouteResponse, type CoverageSource, type CustomStyleConfig, DEFAULT_CLICK_TOLERANCE, DEFAULT_CUSTOM_STYLE_CONFIG, DEFAULT_INSPECT_CLASS_RANK, DEFAULT_LABEL_SETTINGS, DEFAULT_NAV_AID_SETTINGS, DEFAULT_REGION, DEFAULT_SAFETY_CONTOUR_M, DEFAULT_SOUNDING_SETTINGS, DEFAULT_TILE_BASE_URL, DEFAULT_TILE_REGION, DEFAULT_WATER_BODY_SETTINGS, type DecodedAreaFeature, type DecodedBridge, type DecodedNavAid, type DecodedProperty, type DisplayCategory, type DisplayMode, type FeatureCollection, type FeaturesOptions, type FetchStyleOptions, FileSystemAdapter, type FlashPattern, type FlashPhase, type GenerateCustomStyleOptions, type GeneratedCustomStyle, type GeoJsonFeature, type GeoJsonGeometry, type GeomType, INSPECT_CLASS_RANK, INSPECT_RANK_DEVIATIONS, type InspectCandidate, type InspectCandidateSet, type InspectEnrichment, type InspectEventContext, type InspectNotice, type InspectOptions, type InspectResult, type InspectTargetClass, type InspectableFeature, InteractClient, type InteractEntitlement, InteractError, type InteractErrorCode, type InteractHandle, type InteractMapLike, type InteractMapMouseEvent, LABELED_LAYERS, LABEL_BEHAVIOR, LABEL_LAYER_GROUPS, LABEL_PRIORITY, type LabelBehavior, type LabelConfigOptions, type LabelLayerConfig, type LabelSettings, type LookupEntry, type MapLibreStyle, type MapboxStyle, type MapboxVectorSource, type MarineAlert, type MarineAlertsOptions, type MarineAlertsResponse, type MarineConditionsOptions, type MarineConditionsResponse, type MarineForecastOptions, type MarineForecastPeriod, type MarineForecastResponse, type MarineSeas, type MarineStation, type MarineSwellTrain, type MarineWind, type MarineZoneRef, NAUTICAL_SYMBOLS, NAV_AID_LAYER_GROUPS, NAV_AID_QUERY_LAYERS, NON_SOLAS_DISCLAIMER, NON_SOLAS_DISCLAIMER_SHORT, type NauticalCategory, type NauticalSymbol, type NavAidInspectResult, type NavAidSettings, type NearbyMarineStation, type OfflineBundleResponse, type OfflineDownloadOptions, type OfflineDownloadProgress, type OfflineDownloadResult, OfflineError, type OfflineErrorCode, type OfflineFetchStyleOptions, type OfflineHeartbeatOptions, type OfflineRegionSummary, type OfflineRemoveOptions, OfflineStyleError, type OfflineStylePlatform, type OfflineStyleResponse, type PmtilesVectorSource, type QueryFeatureProperties, type QueryOptions, type QueryResponse, RASTER_ATON_CLASSES, RASTER_GLYPH_NAMES, RASTER_ICON_PREFIX, type ResolvedStyle, type ResolvedTheme, type S101ArtworkProvenance, type S101Feature, S101_AREA_FILL_NAMES, S101_CHART_SECTIONS, S101_FEATURES, S101_ICON_PREFIX, S101_LINE_STYLE_NAMES, S101_NEW_SYMBOLS, S101_NO_OFFICIAL_COUNTERPART, S101_SOURCE_COMMIT, S101_SYMBOL_GROUPS, S101_SYMBOL_NAMES, S52_ATON_LOOKUPS, S52_ATON_LOOKUPS_PAPER, S52_DRAW_ORDER, S52_LOOKUP, S52_PATTERN_SPRITE_PREFIX, SOUNDING_LAYERS, SYMBOL_FAMILIES, SYMBOL_FAMILY_META, SYMBOL_GROUPS, SYMBOL_MAP, type ScaleBand, type SearchCoverageNotice, type SearchHit, type SearchOptions, type SearchResponse, type SectorArcFeature, type SectorArcFeatureCollection, type SectorInfo, type SoundingSettings, type SourceMode, type StyleGeneratorOptions, type StyleLayer, type StyleUrlOptions, type SymbolFamily, type SymbolFamilyMeta, type SymbolGroup, TileAuth, type TileGroup, type TileGroupsResponse, TileTokenError, type TileTokenErrorCode, type TileTokenResponse, type TransformRequest, type TransformedRequest, type VectorSourceSpec, type VesselProfile, WATER_BODY_LAYER_GROUPS, type WaterBodySettings, WeatherEndpoint, type WeatherReading, type WebhookEvent, type WebhookEventType, type WebhookPayload, applyChrtSymbolSet, applyColorTheme, applyCustomStyleSettings, applyRasterSymbolSet, applyS101SymbolSet, atonIconExpression, bandFilterExpression, buildFlashPattern, buildLabelLayer, buildLayersForClass, buildOfflineStyle, buildSectorArcGeoJSON, buildSectorArcsFC, buildSectorsFromFeatures, buildSources, candidateRank, chrtAtonTintExpression, chrtLightTintExpression, collectCandidates, collectClickCandidates, combineWithBandFilter, daymarkColor, decimateFeatures, decodeAreaFeatureProps, decodeBridgeProps, decodeCandidate, decodeNavAidProps, depareColor, depareFillExpression, deriveMarinerName, extractNavAidDesignation, featureIdentity, generateCustomStyle, generateSpriteManifest, generateSpriteSheet, generateStyle, generateStyleJSON, getAvailableLineSymbols, getAvailablePatterns, getAvailablePointSymbols, getCollisionSettings, getDrawPriority, getGridSizeForZoom, getIconExpression, getLabelBehavior, getLabelConfig, getLabelPriority, getLookupEntry, getMaxCellsForZoom, getOrderedClasses, getRasterSvg, getS52SvgString, getS52SymbolStats, getStyleStats, getSymbolSvgString, getThemedS101Svg, getThemedS52Svg, getTopmarkMeaning, hazardColor, hazardFillExpression, iconExpressionForFamily, isLabelLayerVisible, isNavAidLayer, isNavAidLayerVisible, isSoundingLayerVisible, isVisibleInMode, isWaterBodyLayerVisible, labelSortKey, lateralColor, lateralFillExpression, lightColor, lightFillExpression, lightsIconExpression, normalizeStyleMode, normalizeTheme, paginate, parseListCodes, parseSymbolFamily, parseWebhook, patternSpriteId, preprocessLights, preprocessNavAids, preprocessSoundings, preprocessWaterBodies, rasterAtonIconExpression, resolveCustomTheme, resolveRasterImage, resolveS101Color, resolveStyle, resolveTargetClass, s101ArtworkProvenance, sanitizeCustomStyleConfig, scaleSizeValue, scaminToMinZoom, styleModeBand, withinBboxFilter, worldMinusBboxPolygon };