@chrtco/sdk 0.10.42 → 0.10.44

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
@@ -1,6 +1,6 @@
1
1
  import { F as FileSystemAdapter } from './fs-adapter-D5iwdb1Q.cjs';
2
- import { C as ColorTableName } from './s52-colors-CdVzqt2K.cjs';
3
- export { S as S52_COLORS, a as S52_DAY, b as S52_DUSK, c as S52_NIGHT, g as getColorTable, r as resolveColor } from './s52-colors-CdVzqt2K.cjs';
2
+ import { C as ColorTableName } from './symbol-families-D2Kx20HJ.cjs';
3
+ export { S as S52_COLORS, a as S52_DAY, b as S52_DUSK, c as S52_NIGHT, d as SYMBOL_FAMILIES, e as SYMBOL_FAMILY_META, f as SymbolFamily, g as SymbolFamilyMeta, h as getColorTable, i as iconExpressionForFamily, p as parseSymbolFamily, r as resolveColor } from './symbol-families-D2Kx20HJ.cjs';
4
4
  import maplibregl from 'maplibre-gl';
5
5
  import { ExpressionSpecification } from '@maplibre/maplibre-gl-style-spec';
6
6
 
@@ -2821,6 +2821,52 @@ declare class InteractClient {
2821
2821
  attach(map: InteractMapLike, opts?: AttachOptions): Promise<InteractHandle>;
2822
2822
  }
2823
2823
 
2824
+ /**
2825
+ * Light arithmetic for the chart palettes: how much light a colour emits, and
2826
+ * how to dim a colour without changing its hue.
2827
+ *
2828
+ * Everything here works in LINEAR light (WCAG 2.x relative luminance, sRGB
2829
+ * primaries). That is the quantity a dark-adapted eye responds to, and it is
2830
+ * the one `sounding-legibility.test.ts` already measures soundings in. Scaling
2831
+ * the sRGB-ENCODED channels instead would dim dark colours far more than
2832
+ * bright ones and shift every hue it touched.
2833
+ *
2834
+ * The one derivation the palettes rely on, and the reason this file exists:
2835
+ * NIGHT's deeper sounding SNDG1 (#897350) is SNDG2 (#c8aa78) at 43% of its
2836
+ * linear light. `labels.ts` builds its NIGHT secondary text the same way, so
2837
+ * the two stay one family by construction rather than by two hand-typed hexes
2838
+ * that happen to agree.
2839
+ */
2840
+ /** WCAG 2.x relative luminance of a `#rrggbb` colour, 0 (black) to 1 (white). */
2841
+ declare function relativeLuminance(hex: string): number;
2842
+ /** WCAG 2.x contrast ratio between two `#rrggbb` colours, 1 to 21. */
2843
+ declare function contrastRatio(a: string, b: string): number;
2844
+ /**
2845
+ * The same hue at `factor` times its linear light. `factor` above 1 can clip a
2846
+ * channel, which shifts the hue; nothing in the palettes brightens, so callers
2847
+ * pass 0–1.
2848
+ */
2849
+ declare function scaleLinearLight(hex: string, factor: number): string;
2850
+ /**
2851
+ * `hex` dimmed, hue kept, until its luminance is at most `ceiling`. A colour
2852
+ * already at or under the ceiling comes back unchanged (lower-cased).
2853
+ */
2854
+ declare function capLuminance(hex: string, ceiling: number): string;
2855
+ /**
2856
+ * NIGHT's two ink levels, shared by every family's text and marks.
2857
+ *
2858
+ * `NIGHT_INK` S52_NIGHT.CHBLK — the palette's linework and navigation
2859
+ * text. The brightest thing NIGHT draws on purpose.
2860
+ * `NIGHT_MUTED_INK` that ink at 43% of its linear light, which is how
2861
+ * S52_NIGHT.SNDG1 (the deeper soundings) was derived.
2862
+ * Everything that orients rather than navigates is drawn
2863
+ * at or under this, and `night-luminance.test.ts` holds
2864
+ * every visible NIGHT colour to it unless an exemption
2865
+ * names a reason.
2866
+ */
2867
+ declare const NIGHT_INK: string;
2868
+ declare const NIGHT_MUTED_INK: string;
2869
+
2824
2870
  /** S-52 display categories – controls default visibility */
2825
2871
  type DisplayCategory = "BASE" | "STANDARD" | "OTHER" | "MARINERS" | "META";
2826
2872
  /** Mapbox GL layer type we'll use for this entry */
@@ -2945,6 +2991,13 @@ declare function getLookupEntry(layerName: string): LookupEntry;
2945
2991
  */
2946
2992
  declare const DEFAULT_SAFETY_CONTOUR_M = 10;
2947
2993
  declare function depareColor(props: Record<string, unknown>, ct?: ColorTableName, safetyContourM?: number): string;
2994
+ /**
2995
+ * The colour token of each `case` branch of `depareFillExpression`, in branch
2996
+ * order, then the fallback. `depth-area-opaque.ts` names the layers it splits
2997
+ * the expression into from this list, so the two read from one place.
2998
+ */
2999
+ declare const DEPARE_FILL_BRANCH_TOKENS: readonly ["DEPIT", "DEPVS", "DEPMS", "DEPMD"];
3000
+ declare const DEPARE_FILL_FALLBACK_TOKEN = "DEPDW";
2948
3001
  declare function depareFillExpression(ct?: ColorTableName, safetyContourM?: number): unknown[];
2949
3002
  declare function lightColor(props: Record<string, unknown>, ct?: ColorTableName): string;
2950
3003
  declare function lightFillExpression(ct?: ColorTableName): unknown[];
@@ -3225,7 +3278,7 @@ declare const PLACENAME_LAND_CLASSES: readonly string[];
3225
3278
  * (tier major, bbox area minor), so when space runs out the biggest names
3226
3279
  * survive. That ranking is the per-zoom density governor P4 asked for.
3227
3280
  */
3228
- declare function buildPlaceNameLayers(sourceId: string): maplibregl.LayerSpecification[];
3281
+ declare function buildPlaceNameLayers(sourceId: string, ct?: ColorTableName): maplibregl.LayerSpecification[];
3229
3282
 
3230
3283
  /**
3231
3284
  * Spatial grid-based feature decimation for performance at low zoom levels.
@@ -4088,12 +4141,40 @@ declare const CHRT_GLYPH_NAMES: ReadonlySet<string>;
4088
4141
  * (see module header); chosen for contrast on the CHRT day water ramp.
4089
4142
  */
4090
4143
  declare const CHRT_ATON_COLORS: Record<string, string>;
4144
+ /**
4145
+ * A house colour in `palette`. The table above is the DAY look; DUSK and NIGHT
4146
+ * are derived from it so the house family follows the palette the S-52 tables
4147
+ * set, the way every other family does through its colour tokens.
4148
+ *
4149
+ * ⚠ BEFORE THIS, THE HOUSE FAMILY HAD NO NIGHT AT ALL. Its tints were literal
4150
+ * hexes in the style and its fixed-palette glyphs were loaded once, with no
4151
+ * palette, so a NIGHT chart drew a #F8FAFC white mark (L 0.95) and a #FFC805
4152
+ * yellow one (L 0.63) beside S-52 fills at L 0.01–0.06.
4153
+ *
4154
+ * DUSK every colour no brighter than DUSK's own ink (S52_DUSK.CHBLK).
4155
+ * NIGHT every colour no brighter than the NIGHT muted ink (palette-light.ts),
4156
+ * hue kept — a red mark is still red, a green one green.
4157
+ * EXCEPT BLACK, which becomes the NIGHT ink, exactly as S-52's NIGHT
4158
+ * table turns CHBLK into its light linework colour. A black topmark
4159
+ * on black water is not a dim mark, it is no mark, and a cardinal
4160
+ * without its topmark has lost the one thing that says which side to
4161
+ * pass. The ink is also brighter than the capped yellow, which is
4162
+ * what keeps a cardinal's black and yellow bands apart at night.
4163
+ */
4164
+ declare function chrtHouseColor(dayHex: string, palette?: ColorTableName): string;
4165
+ /**
4166
+ * A house glyph's SVG with every literal colour moved to `palette`. Only the
4167
+ * fixed-palette glyphs need it (cardinals, isolated danger, safe water, the
4168
+ * capability badges, the world hatches); an SDF glyph's colour is a mask and
4169
+ * its paint is the style's `icon-color`.
4170
+ */
4171
+ declare function themeChrtGlyph(svg: string, palette?: ColorTableName): string;
4091
4172
  /** First-listed-colour-wins tint expression for SDF bodies. */
4092
- declare function chrtAtonTintExpression(): unknown[];
4173
+ declare function chrtAtonTintExpression(palette?: ColorTableName): unknown[];
4093
4174
  /** Lights tint: exact colour (incl. blue/orange — the house style renders
4094
4175
  * the encoded colour, unlike the S-52 three-bucket flares); colourless
4095
4176
  * lights read as white with the dark halo carrying contrast. */
4096
- declare function chrtLightTintExpression(): unknown[];
4177
+ declare function chrtLightTintExpression(palette?: ColorTableName): unknown[];
4097
4178
  /** Per-class house icon expressions. Classes not listed keep their S-52
4098
4179
  * icons (e.g. TOPMAR's minimal black shapes already fit the house look). */
4099
4180
  declare const CHRT_ICON_EXPRESSIONS: Record<string, () => string | unknown[]>;
@@ -4103,7 +4184,8 @@ declare const CHRT_ICON_EXPRESSIONS: Record<string, () => string | unknown[]>;
4103
4184
  * layers, and restore the house dash on the cable/pipeline family. Returns
4104
4185
  * the same style object (mutated).
4105
4186
  *
4106
- * @param palette Active colour table, used to resolve the house dash tokens.
4187
+ * @param palette Active colour table: resolves the house dash tokens and
4188
+ * moves the ATON/LIGHTS tints to that palette (`chrtHouseColor`).
4107
4189
  * Defaults to DAY so existing single-arg callers keep working.
4108
4190
  */
4109
4191
  declare function applyChrtSymbolSet(style: MapboxStyle, palette?: ColorTableName): MapboxStyle;
@@ -4204,36 +4286,6 @@ declare const S52_ATON_LOOKUPS: Record<string, AtonClassLookup>;
4204
4286
  */
4205
4287
  declare const S52_ATON_LOOKUPS_PAPER: Record<string, AtonClassLookup>;
4206
4288
 
4207
- /**
4208
- * The symbol-artwork families, as one shared vocabulary.
4209
- *
4210
- * `applyS101SymbolSet` / `applyChrtSymbolSet` / `applyRasterSymbolSet`
4211
- * switch a whole generated style document. Consumers that build layers
4212
- * class-by-class (the /map viewer's renderer) need the same decision at
4213
- * the level of a single class — that's `iconExpressionForFamily`, so the
4214
- * viewer and the Style API can never disagree about what a family means.
4215
- */
4216
- type SymbolFamily = "s52" | "s101" | "chrt" | "raster";
4217
- /** Every family, in presentation order. Mirrors the Style API's
4218
- * `?symbols=` values (SYMBOL_SET_PARAMS in the tile worker). */
4219
- declare const SYMBOL_FAMILIES: readonly SymbolFamily[];
4220
- interface SymbolFamilyMeta {
4221
- /** Short UI label. */
4222
- label: string;
4223
- /** One-line description of what the family is. */
4224
- description: string;
4225
- }
4226
- declare const SYMBOL_FAMILY_META: Record<SymbolFamily, SymbolFamilyMeta>;
4227
- /** Narrow an arbitrary string to a family, or null. Case-insensitive. */
4228
- declare function parseSymbolFamily(raw: string | null | undefined): SymbolFamily | null;
4229
- /**
4230
- * The icon-image expression for one S-57 class under a given family —
4231
- * the per-class equivalent of the `apply*SymbolSet` style rewrites.
4232
- * Classes a family doesn't restyle fall back to the S-52 expression,
4233
- * exactly as they do on a served style.
4234
- */
4235
- declare function iconExpressionForFamily(objectClass: string, family: SymbolFamily): string | unknown[];
4236
-
4237
4289
  /**
4238
4290
  * Spec-exact ATON + LIGHTS icon selection, compiled from the S-52 PresLib
4239
4291
  * lookup tables in `s52-aton-lookups-generated.ts` (P7b wave A1).
@@ -4809,6 +4861,25 @@ declare function drapeHalves<T extends {
4809
4861
  direct: T[];
4810
4862
  };
4811
4863
 
4864
+ /** Metadata key every class layer carries: the id of the fill it was split from. */
4865
+ declare const OPAQUE_SPLIT_OF = "chrt:opaqueSplitOf";
4866
+ /** The id of the class layer for one `case` branch token, split from `baseId`. */
4867
+ declare function depthAreaClassLayerId(baseId: string, token: string): string;
4868
+ /** The class layer ids a split adds above `baseId`, bottom to top. */
4869
+ declare function depthAreaSplitIds(baseId: string): string[];
4870
+ /** True for an id this module minted. */
4871
+ declare function isDepthAreaClassLayerId(id: string): boolean;
4872
+ /** The id of the fill `layer` was split from, or null for any other layer. */
4873
+ declare function opaqueSplitBaseOf(layer: {
4874
+ metadata?: unknown;
4875
+ }): string | null;
4876
+ /**
4877
+ * Split every DEPARE fill whose only reason for the translucent pass is its
4878
+ * data-driven colour. A layer of any other shape — a pattern, a non-unit
4879
+ * opacity, a colour that is not the four-branch `case` — is left as it is.
4880
+ */
4881
+ declare function splitOpaqueDepthAreas<T>(layers: readonly T[]): T[];
4882
+
4812
4883
  /**
4813
4884
  * LAMPS — lighted aids to navigation drawn as the lights they are at night.
4814
4885
  *
@@ -5279,4 +5350,4 @@ declare class Chrt {
5279
5350
  warmTiles(region?: string): Promise<TileTokenResponse>;
5280
5351
  }
5281
5352
 
5282
- 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_CODE_ALIASES, BAND_DRAW_ORDER, BAND_PRIORITY_RANGES, BASE_ATTRIBUTION, BASE_BUNDLE_ATTRIBUTION, BASE_BUNDLE_ID, BASE_BUNDLE_MAXZOOM, BASE_BUNDLE_SCHEMA, BASE_BUNDLE_SOURCE_LAYERS, BASE_CLIENT_RASTER_BEFORE_ID, BASE_MAXZOOM, BASE_MINZOOM, BASE_REGION, type BBox, BRIDGE_QUERY_LAYERS, BUILD_MAXZOOM, BUILD_MINZOOM, BUILD_PARAM, 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, DRAPEABLE_LAYER_TYPES, 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, LAMP_CORE_LAYER_ID, LAMP_GLOW_LAYER_ID, LAMP_LAYER_IDS, LAMP_TICK_MS, LAND_ATTRIBUTION, LAND_BUILD_MAXZOOM, LAND_REGION, type LabelBehavior, type LabelConfigOptions, type LabelLayerConfig, type LabelSettings, type LampLayer, type LookupEntry, type MapLibreStyle, type MapboxStyle, type MapboxVectorSource, type MarineAlert, type MarineAlertsOptions, type MarineAlertsResponse, type MarineConditionsObservation, type MarineConditionsOptions, type MarineConditionsResponse, type MarineConditionsSeries, 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, PLACENAME_LAND_CLASSES, PLACENAME_SOURCE_LAYER, PLACENAME_WATER_CLASSES, type ParsedSigseqTerms, type PmtilesVectorSource, type Poi, type PoiCoverage, type PoiDataset, type PoiOptions, type PoiResponse, type QueryFeatureProperties, type QueryOptions, type QueryResponse, RASTER_ATON_CLASSES, RASTER_GLYPH_NAMES, RASTER_ICON_PREFIX, RELIEF_ATTRIBUTION, RELIEF_ENCODING, RELIEF_REGION, RELIEF_TILE_SIZE, 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, SIGPER_TOLERANCE_SECONDS, SIGSEQ_MAX_TERMS, 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 SigseqRefusal, type SigseqTerm, 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, applyBaseBundle, applyChrtSymbolSet, applyColorTheme, applyCustomStyleSettings, applyRasterSymbolSet, applyS101SymbolSet, atonIconExpression, bandFilterExpression, buildAirportTierExpression, buildBuiltUpAreaTierExpression, buildFlashPattern, buildLabelLayer, buildLakeTierExpression, buildLampLayers, buildLandAreaTierExpression, buildLandRegionTierExpression, buildLayersForClass, buildOfflineStyle, buildPlaceNameLayers, buildRiverTierExpression, buildSeaAreaTierExpression, buildSectorArcGeoJSON, buildSectorArcsFC, buildSectorsFromFeatures, buildSources, candidateRank, cellBandCharacters, cellBandMatch, chrtAtonTintExpression, chrtLightTintExpression, collectCandidates, collectClickCandidates, combineWithBandFilter, daymarkColor, decimateFeatures, decodeAreaFeatureProps, decodeBridgeProps, decodeCandidate, decodeNavAidProps, depareColor, depareFillExpression, deriveMarinerName, drapeHalves, drapedFirst, 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, isDrapeable, isLabelLayerVisible, isNavAidLayer, isNavAidLayerVisible, isSoundingLayerVisible, isVisibleInMode, isWaterBodyLayerVisible, labelSortKey, lampRhythmColour, lampRhythmOpacity, lateralColor, lateralFillExpression, lightColor, lightFillExpression, lightsIconExpression, normalizeStyleMode, normalizeTheme, paginate, parseListCodes, parseSigseqTerms, parseSymbolFamily, parseWebhook, patternSpriteId, preprocessLights, preprocessNavAids, preprocessSoundings, preprocessWaterBodies, rasterAtonIconExpression, resolveCustomTheme, resolveRasterImage, resolveS101Color, resolveStyle, resolveTargetClass, rhythmProperties, s101ArtworkProvenance, sanitizeCustomStyleConfig, scaleSizeValue, scaminToMinZoom, sectorLimitToArcBearing, styleModeBand, terrainStackCount, tileTemplate, uncoveredSectorArcs, withinBboxFilter, worldMinusBboxPolygon };
5353
+ 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_CODE_ALIASES, BAND_DRAW_ORDER, BAND_PRIORITY_RANGES, BASE_ATTRIBUTION, BASE_BUNDLE_ATTRIBUTION, BASE_BUNDLE_ID, BASE_BUNDLE_MAXZOOM, BASE_BUNDLE_SCHEMA, BASE_BUNDLE_SOURCE_LAYERS, BASE_CLIENT_RASTER_BEFORE_ID, BASE_MAXZOOM, BASE_MINZOOM, BASE_REGION, type BBox, BRIDGE_QUERY_LAYERS, BUILD_MAXZOOM, BUILD_MINZOOM, BUILD_PARAM, 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, DEPARE_FILL_BRANCH_TOKENS, DEPARE_FILL_FALLBACK_TOKEN, DRAPEABLE_LAYER_TYPES, 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, LAMP_CORE_LAYER_ID, LAMP_GLOW_LAYER_ID, LAMP_LAYER_IDS, LAMP_TICK_MS, LAND_ATTRIBUTION, LAND_BUILD_MAXZOOM, LAND_REGION, type LabelBehavior, type LabelConfigOptions, type LabelLayerConfig, type LabelSettings, type LampLayer, type LookupEntry, type MapLibreStyle, type MapboxStyle, type MapboxVectorSource, type MarineAlert, type MarineAlertsOptions, type MarineAlertsResponse, type MarineConditionsObservation, type MarineConditionsOptions, type MarineConditionsResponse, type MarineConditionsSeries, 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, NIGHT_INK, NIGHT_MUTED_INK, NON_SOLAS_DISCLAIMER, NON_SOLAS_DISCLAIMER_SHORT, type NauticalCategory, type NauticalSymbol, type NavAidInspectResult, type NavAidSettings, type NearbyMarineStation, OPAQUE_SPLIT_OF, type OfflineBundleResponse, type OfflineDownloadOptions, type OfflineDownloadProgress, type OfflineDownloadResult, OfflineError, type OfflineErrorCode, type OfflineFetchStyleOptions, type OfflineHeartbeatOptions, type OfflineRegionSummary, type OfflineRemoveOptions, OfflineStyleError, type OfflineStylePlatform, type OfflineStyleResponse, PLACENAME_LAND_CLASSES, PLACENAME_SOURCE_LAYER, PLACENAME_WATER_CLASSES, type ParsedSigseqTerms, type PmtilesVectorSource, type Poi, type PoiCoverage, type PoiDataset, type PoiOptions, type PoiResponse, type QueryFeatureProperties, type QueryOptions, type QueryResponse, RASTER_ATON_CLASSES, RASTER_GLYPH_NAMES, RASTER_ICON_PREFIX, RELIEF_ATTRIBUTION, RELIEF_ENCODING, RELIEF_REGION, RELIEF_TILE_SIZE, 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, SIGPER_TOLERANCE_SECONDS, SIGSEQ_MAX_TERMS, SOUNDING_LAYERS, SYMBOL_GROUPS, SYMBOL_MAP, type ScaleBand, type SearchCoverageNotice, type SearchHit, type SearchOptions, type SearchResponse, type SectorArcFeature, type SectorArcFeatureCollection, type SectorInfo, type SigseqRefusal, type SigseqTerm, type SoundingSettings, type SourceMode, type StyleGeneratorOptions, type StyleLayer, type StyleUrlOptions, 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, applyBaseBundle, applyChrtSymbolSet, applyColorTheme, applyCustomStyleSettings, applyRasterSymbolSet, applyS101SymbolSet, atonIconExpression, bandFilterExpression, buildAirportTierExpression, buildBuiltUpAreaTierExpression, buildFlashPattern, buildLabelLayer, buildLakeTierExpression, buildLampLayers, buildLandAreaTierExpression, buildLandRegionTierExpression, buildLayersForClass, buildOfflineStyle, buildPlaceNameLayers, buildRiverTierExpression, buildSeaAreaTierExpression, buildSectorArcGeoJSON, buildSectorArcsFC, buildSectorsFromFeatures, buildSources, candidateRank, capLuminance, cellBandCharacters, cellBandMatch, chrtAtonTintExpression, chrtHouseColor, chrtLightTintExpression, collectCandidates, collectClickCandidates, combineWithBandFilter, contrastRatio, daymarkColor, decimateFeatures, decodeAreaFeatureProps, decodeBridgeProps, decodeCandidate, decodeNavAidProps, depareColor, depareFillExpression, depthAreaClassLayerId, depthAreaSplitIds, deriveMarinerName, drapeHalves, drapedFirst, 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, isDepthAreaClassLayerId, isDrapeable, isLabelLayerVisible, isNavAidLayer, isNavAidLayerVisible, isSoundingLayerVisible, isVisibleInMode, isWaterBodyLayerVisible, labelSortKey, lampRhythmColour, lampRhythmOpacity, lateralColor, lateralFillExpression, lightColor, lightFillExpression, lightsIconExpression, normalizeStyleMode, normalizeTheme, opaqueSplitBaseOf, paginate, parseListCodes, parseSigseqTerms, parseWebhook, patternSpriteId, preprocessLights, preprocessNavAids, preprocessSoundings, preprocessWaterBodies, rasterAtonIconExpression, relativeLuminance, resolveCustomTheme, resolveRasterImage, resolveS101Color, resolveStyle, resolveTargetClass, rhythmProperties, s101ArtworkProvenance, sanitizeCustomStyleConfig, scaleLinearLight, scaleSizeValue, scaminToMinZoom, sectorLimitToArcBearing, splitOpaqueDepthAreas, styleModeBand, terrainStackCount, themeChrtGlyph, tileTemplate, uncoveredSectorArcs, withinBboxFilter, worldMinusBboxPolygon };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { F as FileSystemAdapter } from './fs-adapter-D5iwdb1Q.js';
2
- import { C as ColorTableName } from './s52-colors-CdVzqt2K.js';
3
- export { S as S52_COLORS, a as S52_DAY, b as S52_DUSK, c as S52_NIGHT, g as getColorTable, r as resolveColor } from './s52-colors-CdVzqt2K.js';
2
+ import { C as ColorTableName } from './symbol-families-D2Kx20HJ.js';
3
+ export { S as S52_COLORS, a as S52_DAY, b as S52_DUSK, c as S52_NIGHT, d as SYMBOL_FAMILIES, e as SYMBOL_FAMILY_META, f as SymbolFamily, g as SymbolFamilyMeta, h as getColorTable, i as iconExpressionForFamily, p as parseSymbolFamily, r as resolveColor } from './symbol-families-D2Kx20HJ.js';
4
4
  import maplibregl from 'maplibre-gl';
5
5
  import { ExpressionSpecification } from '@maplibre/maplibre-gl-style-spec';
6
6
 
@@ -2821,6 +2821,52 @@ declare class InteractClient {
2821
2821
  attach(map: InteractMapLike, opts?: AttachOptions): Promise<InteractHandle>;
2822
2822
  }
2823
2823
 
2824
+ /**
2825
+ * Light arithmetic for the chart palettes: how much light a colour emits, and
2826
+ * how to dim a colour without changing its hue.
2827
+ *
2828
+ * Everything here works in LINEAR light (WCAG 2.x relative luminance, sRGB
2829
+ * primaries). That is the quantity a dark-adapted eye responds to, and it is
2830
+ * the one `sounding-legibility.test.ts` already measures soundings in. Scaling
2831
+ * the sRGB-ENCODED channels instead would dim dark colours far more than
2832
+ * bright ones and shift every hue it touched.
2833
+ *
2834
+ * The one derivation the palettes rely on, and the reason this file exists:
2835
+ * NIGHT's deeper sounding SNDG1 (#897350) is SNDG2 (#c8aa78) at 43% of its
2836
+ * linear light. `labels.ts` builds its NIGHT secondary text the same way, so
2837
+ * the two stay one family by construction rather than by two hand-typed hexes
2838
+ * that happen to agree.
2839
+ */
2840
+ /** WCAG 2.x relative luminance of a `#rrggbb` colour, 0 (black) to 1 (white). */
2841
+ declare function relativeLuminance(hex: string): number;
2842
+ /** WCAG 2.x contrast ratio between two `#rrggbb` colours, 1 to 21. */
2843
+ declare function contrastRatio(a: string, b: string): number;
2844
+ /**
2845
+ * The same hue at `factor` times its linear light. `factor` above 1 can clip a
2846
+ * channel, which shifts the hue; nothing in the palettes brightens, so callers
2847
+ * pass 0–1.
2848
+ */
2849
+ declare function scaleLinearLight(hex: string, factor: number): string;
2850
+ /**
2851
+ * `hex` dimmed, hue kept, until its luminance is at most `ceiling`. A colour
2852
+ * already at or under the ceiling comes back unchanged (lower-cased).
2853
+ */
2854
+ declare function capLuminance(hex: string, ceiling: number): string;
2855
+ /**
2856
+ * NIGHT's two ink levels, shared by every family's text and marks.
2857
+ *
2858
+ * `NIGHT_INK` S52_NIGHT.CHBLK — the palette's linework and navigation
2859
+ * text. The brightest thing NIGHT draws on purpose.
2860
+ * `NIGHT_MUTED_INK` that ink at 43% of its linear light, which is how
2861
+ * S52_NIGHT.SNDG1 (the deeper soundings) was derived.
2862
+ * Everything that orients rather than navigates is drawn
2863
+ * at or under this, and `night-luminance.test.ts` holds
2864
+ * every visible NIGHT colour to it unless an exemption
2865
+ * names a reason.
2866
+ */
2867
+ declare const NIGHT_INK: string;
2868
+ declare const NIGHT_MUTED_INK: string;
2869
+
2824
2870
  /** S-52 display categories – controls default visibility */
2825
2871
  type DisplayCategory = "BASE" | "STANDARD" | "OTHER" | "MARINERS" | "META";
2826
2872
  /** Mapbox GL layer type we'll use for this entry */
@@ -2945,6 +2991,13 @@ declare function getLookupEntry(layerName: string): LookupEntry;
2945
2991
  */
2946
2992
  declare const DEFAULT_SAFETY_CONTOUR_M = 10;
2947
2993
  declare function depareColor(props: Record<string, unknown>, ct?: ColorTableName, safetyContourM?: number): string;
2994
+ /**
2995
+ * The colour token of each `case` branch of `depareFillExpression`, in branch
2996
+ * order, then the fallback. `depth-area-opaque.ts` names the layers it splits
2997
+ * the expression into from this list, so the two read from one place.
2998
+ */
2999
+ declare const DEPARE_FILL_BRANCH_TOKENS: readonly ["DEPIT", "DEPVS", "DEPMS", "DEPMD"];
3000
+ declare const DEPARE_FILL_FALLBACK_TOKEN = "DEPDW";
2948
3001
  declare function depareFillExpression(ct?: ColorTableName, safetyContourM?: number): unknown[];
2949
3002
  declare function lightColor(props: Record<string, unknown>, ct?: ColorTableName): string;
2950
3003
  declare function lightFillExpression(ct?: ColorTableName): unknown[];
@@ -3225,7 +3278,7 @@ declare const PLACENAME_LAND_CLASSES: readonly string[];
3225
3278
  * (tier major, bbox area minor), so when space runs out the biggest names
3226
3279
  * survive. That ranking is the per-zoom density governor P4 asked for.
3227
3280
  */
3228
- declare function buildPlaceNameLayers(sourceId: string): maplibregl.LayerSpecification[];
3281
+ declare function buildPlaceNameLayers(sourceId: string, ct?: ColorTableName): maplibregl.LayerSpecification[];
3229
3282
 
3230
3283
  /**
3231
3284
  * Spatial grid-based feature decimation for performance at low zoom levels.
@@ -4088,12 +4141,40 @@ declare const CHRT_GLYPH_NAMES: ReadonlySet<string>;
4088
4141
  * (see module header); chosen for contrast on the CHRT day water ramp.
4089
4142
  */
4090
4143
  declare const CHRT_ATON_COLORS: Record<string, string>;
4144
+ /**
4145
+ * A house colour in `palette`. The table above is the DAY look; DUSK and NIGHT
4146
+ * are derived from it so the house family follows the palette the S-52 tables
4147
+ * set, the way every other family does through its colour tokens.
4148
+ *
4149
+ * ⚠ BEFORE THIS, THE HOUSE FAMILY HAD NO NIGHT AT ALL. Its tints were literal
4150
+ * hexes in the style and its fixed-palette glyphs were loaded once, with no
4151
+ * palette, so a NIGHT chart drew a #F8FAFC white mark (L 0.95) and a #FFC805
4152
+ * yellow one (L 0.63) beside S-52 fills at L 0.01–0.06.
4153
+ *
4154
+ * DUSK every colour no brighter than DUSK's own ink (S52_DUSK.CHBLK).
4155
+ * NIGHT every colour no brighter than the NIGHT muted ink (palette-light.ts),
4156
+ * hue kept — a red mark is still red, a green one green.
4157
+ * EXCEPT BLACK, which becomes the NIGHT ink, exactly as S-52's NIGHT
4158
+ * table turns CHBLK into its light linework colour. A black topmark
4159
+ * on black water is not a dim mark, it is no mark, and a cardinal
4160
+ * without its topmark has lost the one thing that says which side to
4161
+ * pass. The ink is also brighter than the capped yellow, which is
4162
+ * what keeps a cardinal's black and yellow bands apart at night.
4163
+ */
4164
+ declare function chrtHouseColor(dayHex: string, palette?: ColorTableName): string;
4165
+ /**
4166
+ * A house glyph's SVG with every literal colour moved to `palette`. Only the
4167
+ * fixed-palette glyphs need it (cardinals, isolated danger, safe water, the
4168
+ * capability badges, the world hatches); an SDF glyph's colour is a mask and
4169
+ * its paint is the style's `icon-color`.
4170
+ */
4171
+ declare function themeChrtGlyph(svg: string, palette?: ColorTableName): string;
4091
4172
  /** First-listed-colour-wins tint expression for SDF bodies. */
4092
- declare function chrtAtonTintExpression(): unknown[];
4173
+ declare function chrtAtonTintExpression(palette?: ColorTableName): unknown[];
4093
4174
  /** Lights tint: exact colour (incl. blue/orange — the house style renders
4094
4175
  * the encoded colour, unlike the S-52 three-bucket flares); colourless
4095
4176
  * lights read as white with the dark halo carrying contrast. */
4096
- declare function chrtLightTintExpression(): unknown[];
4177
+ declare function chrtLightTintExpression(palette?: ColorTableName): unknown[];
4097
4178
  /** Per-class house icon expressions. Classes not listed keep their S-52
4098
4179
  * icons (e.g. TOPMAR's minimal black shapes already fit the house look). */
4099
4180
  declare const CHRT_ICON_EXPRESSIONS: Record<string, () => string | unknown[]>;
@@ -4103,7 +4184,8 @@ declare const CHRT_ICON_EXPRESSIONS: Record<string, () => string | unknown[]>;
4103
4184
  * layers, and restore the house dash on the cable/pipeline family. Returns
4104
4185
  * the same style object (mutated).
4105
4186
  *
4106
- * @param palette Active colour table, used to resolve the house dash tokens.
4187
+ * @param palette Active colour table: resolves the house dash tokens and
4188
+ * moves the ATON/LIGHTS tints to that palette (`chrtHouseColor`).
4107
4189
  * Defaults to DAY so existing single-arg callers keep working.
4108
4190
  */
4109
4191
  declare function applyChrtSymbolSet(style: MapboxStyle, palette?: ColorTableName): MapboxStyle;
@@ -4204,36 +4286,6 @@ declare const S52_ATON_LOOKUPS: Record<string, AtonClassLookup>;
4204
4286
  */
4205
4287
  declare const S52_ATON_LOOKUPS_PAPER: Record<string, AtonClassLookup>;
4206
4288
 
4207
- /**
4208
- * The symbol-artwork families, as one shared vocabulary.
4209
- *
4210
- * `applyS101SymbolSet` / `applyChrtSymbolSet` / `applyRasterSymbolSet`
4211
- * switch a whole generated style document. Consumers that build layers
4212
- * class-by-class (the /map viewer's renderer) need the same decision at
4213
- * the level of a single class — that's `iconExpressionForFamily`, so the
4214
- * viewer and the Style API can never disagree about what a family means.
4215
- */
4216
- type SymbolFamily = "s52" | "s101" | "chrt" | "raster";
4217
- /** Every family, in presentation order. Mirrors the Style API's
4218
- * `?symbols=` values (SYMBOL_SET_PARAMS in the tile worker). */
4219
- declare const SYMBOL_FAMILIES: readonly SymbolFamily[];
4220
- interface SymbolFamilyMeta {
4221
- /** Short UI label. */
4222
- label: string;
4223
- /** One-line description of what the family is. */
4224
- description: string;
4225
- }
4226
- declare const SYMBOL_FAMILY_META: Record<SymbolFamily, SymbolFamilyMeta>;
4227
- /** Narrow an arbitrary string to a family, or null. Case-insensitive. */
4228
- declare function parseSymbolFamily(raw: string | null | undefined): SymbolFamily | null;
4229
- /**
4230
- * The icon-image expression for one S-57 class under a given family —
4231
- * the per-class equivalent of the `apply*SymbolSet` style rewrites.
4232
- * Classes a family doesn't restyle fall back to the S-52 expression,
4233
- * exactly as they do on a served style.
4234
- */
4235
- declare function iconExpressionForFamily(objectClass: string, family: SymbolFamily): string | unknown[];
4236
-
4237
4289
  /**
4238
4290
  * Spec-exact ATON + LIGHTS icon selection, compiled from the S-52 PresLib
4239
4291
  * lookup tables in `s52-aton-lookups-generated.ts` (P7b wave A1).
@@ -4809,6 +4861,25 @@ declare function drapeHalves<T extends {
4809
4861
  direct: T[];
4810
4862
  };
4811
4863
 
4864
+ /** Metadata key every class layer carries: the id of the fill it was split from. */
4865
+ declare const OPAQUE_SPLIT_OF = "chrt:opaqueSplitOf";
4866
+ /** The id of the class layer for one `case` branch token, split from `baseId`. */
4867
+ declare function depthAreaClassLayerId(baseId: string, token: string): string;
4868
+ /** The class layer ids a split adds above `baseId`, bottom to top. */
4869
+ declare function depthAreaSplitIds(baseId: string): string[];
4870
+ /** True for an id this module minted. */
4871
+ declare function isDepthAreaClassLayerId(id: string): boolean;
4872
+ /** The id of the fill `layer` was split from, or null for any other layer. */
4873
+ declare function opaqueSplitBaseOf(layer: {
4874
+ metadata?: unknown;
4875
+ }): string | null;
4876
+ /**
4877
+ * Split every DEPARE fill whose only reason for the translucent pass is its
4878
+ * data-driven colour. A layer of any other shape — a pattern, a non-unit
4879
+ * opacity, a colour that is not the four-branch `case` — is left as it is.
4880
+ */
4881
+ declare function splitOpaqueDepthAreas<T>(layers: readonly T[]): T[];
4882
+
4812
4883
  /**
4813
4884
  * LAMPS — lighted aids to navigation drawn as the lights they are at night.
4814
4885
  *
@@ -5279,4 +5350,4 @@ declare class Chrt {
5279
5350
  warmTiles(region?: string): Promise<TileTokenResponse>;
5280
5351
  }
5281
5352
 
5282
- 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_CODE_ALIASES, BAND_DRAW_ORDER, BAND_PRIORITY_RANGES, BASE_ATTRIBUTION, BASE_BUNDLE_ATTRIBUTION, BASE_BUNDLE_ID, BASE_BUNDLE_MAXZOOM, BASE_BUNDLE_SCHEMA, BASE_BUNDLE_SOURCE_LAYERS, BASE_CLIENT_RASTER_BEFORE_ID, BASE_MAXZOOM, BASE_MINZOOM, BASE_REGION, type BBox, BRIDGE_QUERY_LAYERS, BUILD_MAXZOOM, BUILD_MINZOOM, BUILD_PARAM, 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, DRAPEABLE_LAYER_TYPES, 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, LAMP_CORE_LAYER_ID, LAMP_GLOW_LAYER_ID, LAMP_LAYER_IDS, LAMP_TICK_MS, LAND_ATTRIBUTION, LAND_BUILD_MAXZOOM, LAND_REGION, type LabelBehavior, type LabelConfigOptions, type LabelLayerConfig, type LabelSettings, type LampLayer, type LookupEntry, type MapLibreStyle, type MapboxStyle, type MapboxVectorSource, type MarineAlert, type MarineAlertsOptions, type MarineAlertsResponse, type MarineConditionsObservation, type MarineConditionsOptions, type MarineConditionsResponse, type MarineConditionsSeries, 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, PLACENAME_LAND_CLASSES, PLACENAME_SOURCE_LAYER, PLACENAME_WATER_CLASSES, type ParsedSigseqTerms, type PmtilesVectorSource, type Poi, type PoiCoverage, type PoiDataset, type PoiOptions, type PoiResponse, type QueryFeatureProperties, type QueryOptions, type QueryResponse, RASTER_ATON_CLASSES, RASTER_GLYPH_NAMES, RASTER_ICON_PREFIX, RELIEF_ATTRIBUTION, RELIEF_ENCODING, RELIEF_REGION, RELIEF_TILE_SIZE, 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, SIGPER_TOLERANCE_SECONDS, SIGSEQ_MAX_TERMS, 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 SigseqRefusal, type SigseqTerm, 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, applyBaseBundle, applyChrtSymbolSet, applyColorTheme, applyCustomStyleSettings, applyRasterSymbolSet, applyS101SymbolSet, atonIconExpression, bandFilterExpression, buildAirportTierExpression, buildBuiltUpAreaTierExpression, buildFlashPattern, buildLabelLayer, buildLakeTierExpression, buildLampLayers, buildLandAreaTierExpression, buildLandRegionTierExpression, buildLayersForClass, buildOfflineStyle, buildPlaceNameLayers, buildRiverTierExpression, buildSeaAreaTierExpression, buildSectorArcGeoJSON, buildSectorArcsFC, buildSectorsFromFeatures, buildSources, candidateRank, cellBandCharacters, cellBandMatch, chrtAtonTintExpression, chrtLightTintExpression, collectCandidates, collectClickCandidates, combineWithBandFilter, daymarkColor, decimateFeatures, decodeAreaFeatureProps, decodeBridgeProps, decodeCandidate, decodeNavAidProps, depareColor, depareFillExpression, deriveMarinerName, drapeHalves, drapedFirst, 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, isDrapeable, isLabelLayerVisible, isNavAidLayer, isNavAidLayerVisible, isSoundingLayerVisible, isVisibleInMode, isWaterBodyLayerVisible, labelSortKey, lampRhythmColour, lampRhythmOpacity, lateralColor, lateralFillExpression, lightColor, lightFillExpression, lightsIconExpression, normalizeStyleMode, normalizeTheme, paginate, parseListCodes, parseSigseqTerms, parseSymbolFamily, parseWebhook, patternSpriteId, preprocessLights, preprocessNavAids, preprocessSoundings, preprocessWaterBodies, rasterAtonIconExpression, resolveCustomTheme, resolveRasterImage, resolveS101Color, resolveStyle, resolveTargetClass, rhythmProperties, s101ArtworkProvenance, sanitizeCustomStyleConfig, scaleSizeValue, scaminToMinZoom, sectorLimitToArcBearing, styleModeBand, terrainStackCount, tileTemplate, uncoveredSectorArcs, withinBboxFilter, worldMinusBboxPolygon };
5353
+ 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_CODE_ALIASES, BAND_DRAW_ORDER, BAND_PRIORITY_RANGES, BASE_ATTRIBUTION, BASE_BUNDLE_ATTRIBUTION, BASE_BUNDLE_ID, BASE_BUNDLE_MAXZOOM, BASE_BUNDLE_SCHEMA, BASE_BUNDLE_SOURCE_LAYERS, BASE_CLIENT_RASTER_BEFORE_ID, BASE_MAXZOOM, BASE_MINZOOM, BASE_REGION, type BBox, BRIDGE_QUERY_LAYERS, BUILD_MAXZOOM, BUILD_MINZOOM, BUILD_PARAM, 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, DEPARE_FILL_BRANCH_TOKENS, DEPARE_FILL_FALLBACK_TOKEN, DRAPEABLE_LAYER_TYPES, 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, LAMP_CORE_LAYER_ID, LAMP_GLOW_LAYER_ID, LAMP_LAYER_IDS, LAMP_TICK_MS, LAND_ATTRIBUTION, LAND_BUILD_MAXZOOM, LAND_REGION, type LabelBehavior, type LabelConfigOptions, type LabelLayerConfig, type LabelSettings, type LampLayer, type LookupEntry, type MapLibreStyle, type MapboxStyle, type MapboxVectorSource, type MarineAlert, type MarineAlertsOptions, type MarineAlertsResponse, type MarineConditionsObservation, type MarineConditionsOptions, type MarineConditionsResponse, type MarineConditionsSeries, 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, NIGHT_INK, NIGHT_MUTED_INK, NON_SOLAS_DISCLAIMER, NON_SOLAS_DISCLAIMER_SHORT, type NauticalCategory, type NauticalSymbol, type NavAidInspectResult, type NavAidSettings, type NearbyMarineStation, OPAQUE_SPLIT_OF, type OfflineBundleResponse, type OfflineDownloadOptions, type OfflineDownloadProgress, type OfflineDownloadResult, OfflineError, type OfflineErrorCode, type OfflineFetchStyleOptions, type OfflineHeartbeatOptions, type OfflineRegionSummary, type OfflineRemoveOptions, OfflineStyleError, type OfflineStylePlatform, type OfflineStyleResponse, PLACENAME_LAND_CLASSES, PLACENAME_SOURCE_LAYER, PLACENAME_WATER_CLASSES, type ParsedSigseqTerms, type PmtilesVectorSource, type Poi, type PoiCoverage, type PoiDataset, type PoiOptions, type PoiResponse, type QueryFeatureProperties, type QueryOptions, type QueryResponse, RASTER_ATON_CLASSES, RASTER_GLYPH_NAMES, RASTER_ICON_PREFIX, RELIEF_ATTRIBUTION, RELIEF_ENCODING, RELIEF_REGION, RELIEF_TILE_SIZE, 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, SIGPER_TOLERANCE_SECONDS, SIGSEQ_MAX_TERMS, SOUNDING_LAYERS, SYMBOL_GROUPS, SYMBOL_MAP, type ScaleBand, type SearchCoverageNotice, type SearchHit, type SearchOptions, type SearchResponse, type SectorArcFeature, type SectorArcFeatureCollection, type SectorInfo, type SigseqRefusal, type SigseqTerm, type SoundingSettings, type SourceMode, type StyleGeneratorOptions, type StyleLayer, type StyleUrlOptions, 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, applyBaseBundle, applyChrtSymbolSet, applyColorTheme, applyCustomStyleSettings, applyRasterSymbolSet, applyS101SymbolSet, atonIconExpression, bandFilterExpression, buildAirportTierExpression, buildBuiltUpAreaTierExpression, buildFlashPattern, buildLabelLayer, buildLakeTierExpression, buildLampLayers, buildLandAreaTierExpression, buildLandRegionTierExpression, buildLayersForClass, buildOfflineStyle, buildPlaceNameLayers, buildRiverTierExpression, buildSeaAreaTierExpression, buildSectorArcGeoJSON, buildSectorArcsFC, buildSectorsFromFeatures, buildSources, candidateRank, capLuminance, cellBandCharacters, cellBandMatch, chrtAtonTintExpression, chrtHouseColor, chrtLightTintExpression, collectCandidates, collectClickCandidates, combineWithBandFilter, contrastRatio, daymarkColor, decimateFeatures, decodeAreaFeatureProps, decodeBridgeProps, decodeCandidate, decodeNavAidProps, depareColor, depareFillExpression, depthAreaClassLayerId, depthAreaSplitIds, deriveMarinerName, drapeHalves, drapedFirst, 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, isDepthAreaClassLayerId, isDrapeable, isLabelLayerVisible, isNavAidLayer, isNavAidLayerVisible, isSoundingLayerVisible, isVisibleInMode, isWaterBodyLayerVisible, labelSortKey, lampRhythmColour, lampRhythmOpacity, lateralColor, lateralFillExpression, lightColor, lightFillExpression, lightsIconExpression, normalizeStyleMode, normalizeTheme, opaqueSplitBaseOf, paginate, parseListCodes, parseSigseqTerms, parseWebhook, patternSpriteId, preprocessLights, preprocessNavAids, preprocessSoundings, preprocessWaterBodies, rasterAtonIconExpression, relativeLuminance, resolveCustomTheme, resolveRasterImage, resolveS101Color, resolveStyle, resolveTargetClass, rhythmProperties, s101ArtworkProvenance, sanitizeCustomStyleConfig, scaleLinearLight, scaleSizeValue, scaminToMinZoom, sectorLimitToArcBearing, splitOpaqueDepthAreas, styleModeBand, terrainStackCount, themeChrtGlyph, tileTemplate, uncoveredSectorArcs, withinBboxFilter, worldMinusBboxPolygon };