@chrtco/sdk 0.10.50 → 0.10.52
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/CHANGELOG.md +17 -0
- package/dist/atlas/browser.cjs +4202 -601
- package/dist/atlas/browser.cjs.map +1 -1
- package/dist/atlas/browser.js +4202 -601
- package/dist/atlas/browser.js.map +1 -1
- package/dist/index.cjs +3037 -1986
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +445 -22
- package/dist/index.d.ts +445 -22
- package/dist/index.js +3006 -1986
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -318,6 +318,15 @@ interface BBox {
|
|
|
318
318
|
* spec; without that, MapLibre throws on style validation.
|
|
319
319
|
*/
|
|
320
320
|
declare function withinBboxFilter(bbox: BBox): unknown[];
|
|
321
|
+
/**
|
|
322
|
+
* A GeoJSON Polygon, typed here rather than through the ambient `GeoJSON`
|
|
323
|
+
* namespace (@types/geojson): Deno, which type-checks this file for the paper
|
|
324
|
+
* functions (src/paper/detail.ts imports it), has no such namespace.
|
|
325
|
+
*/
|
|
326
|
+
interface BboxPolygon {
|
|
327
|
+
type: "Polygon";
|
|
328
|
+
coordinates: Array<Array<[number, number]>>;
|
|
329
|
+
}
|
|
321
330
|
/**
|
|
322
331
|
* Build a GeoJSON Polygon for the world MINUS a given bbox — i.e. an
|
|
323
332
|
* outer ring covering the whole world with a single hole punched at
|
|
@@ -327,7 +336,7 @@ declare function withinBboxFilter(bbox: BBox): unknown[];
|
|
|
327
336
|
* Outer ring uses the standard antimeridian-safe world extent
|
|
328
337
|
* (lng [-180, 180], lat [-85, 85] — Web Mercator's safe range).
|
|
329
338
|
*/
|
|
330
|
-
declare function worldMinusBboxPolygon(bbox: BBox):
|
|
339
|
+
declare function worldMinusBboxPolygon(bbox: BBox): BboxPolygon;
|
|
331
340
|
|
|
332
341
|
interface GeoJsonGeometry {
|
|
333
342
|
type: string;
|
|
@@ -1892,6 +1901,106 @@ declare class OfflineEndpoint {
|
|
|
1892
1901
|
private persistManifestEntry;
|
|
1893
1902
|
}
|
|
1894
1903
|
|
|
1904
|
+
/**
|
|
1905
|
+
* THE light description — one formatter for every surface that prints a
|
|
1906
|
+
* light's characteristic: the chart label (tile path: a GL expression; GeoJSON
|
|
1907
|
+
* path: `preprocessLights`), the SDK `decodeNavAidProps().notation`, the app's
|
|
1908
|
+
* mirror of it (`src/lib/map/nav-aid-info.ts`), the popup and the CHRTweb
|
|
1909
|
+
* inspector. Each used to assemble its own string, and they disagreed: the map
|
|
1910
|
+
* printed `Al WR 10s 9M`, the inspector `Al W.R 10s`; neither printed the
|
|
1911
|
+
* height, and only the map printed the range.
|
|
1912
|
+
*
|
|
1913
|
+
* The JS formatter and the GL expression live side by side in this file so a
|
|
1914
|
+
* change to one is a change in front of the other; `light-description.test.ts`
|
|
1915
|
+
* evaluates both over the same fixtures and asserts they agree, and the corpus
|
|
1916
|
+
* check (`scripts/audit-light-descriptions.ts`) does it over every LIGHTS
|
|
1917
|
+
* feature in `chrt_baremetal`.
|
|
1918
|
+
*
|
|
1919
|
+
* ── Order (S-52 LITDSN01; US Chart No. 1 / INT 1 section P) ────────────────
|
|
1920
|
+
*
|
|
1921
|
+
* Dir · Aero · MLTYLT · character(group) · colours · (vert)/(hor) · period ·
|
|
1922
|
+
* height · range · (occas) · Priv · (extinguished)
|
|
1923
|
+
*
|
|
1924
|
+
* `Fl W 10s 31m 27M` — Boston Light (US5BOSCE), `102ft` in a feet style.
|
|
1925
|
+
* `2 F R (vert) 9m` — two fixed red lights, one above the other.
|
|
1926
|
+
* `Q(6)+LFl W 15s` — a south cardinal: SIGGRP `(6)(1)`, the six spliced
|
|
1927
|
+
* after the Q as the chart prints it.
|
|
1928
|
+
*
|
|
1929
|
+
* Tokens are space-separated, US Chart No. 1's form. Colours are the INT 1
|
|
1930
|
+
* colour group — the letters run together, `WR`, never `W.R` — in ascending
|
|
1931
|
+
* catalogue order (W R G Bu Y Am Vi Or). S-57 does not record the order in
|
|
1932
|
+
* which an alternating light shows its colours, and 34 corpus lights list them
|
|
1933
|
+
* the other way round (`["3","1"]`); ascending is deterministic and is the
|
|
1934
|
+
* chart form for the common pairs. A repeated colour (`["4","1","1"]`) prints
|
|
1935
|
+
* once.
|
|
1936
|
+
*
|
|
1937
|
+
* ── What is NOT printed ───────────────────────────────────────────────────
|
|
1938
|
+
*
|
|
1939
|
+
* - A light with no LITCHR gets no description at all (27 corpus lights). A
|
|
1940
|
+
* bare `W` reads as a fixed white light, which the chart does not say.
|
|
1941
|
+
* - SIGGRP that is not a well-formed group — `^(\([0-9A-Z+]+\))+$` — is
|
|
1942
|
+
* dropped, not printed: `()` (2,452 lights), `RDB` / `LDB` (USACE bank
|
|
1943
|
+
* codes that leaked into the attribute). `(1)` is a single flash and is
|
|
1944
|
+
* not printed either.
|
|
1945
|
+
* - Zero or absent SIGPER / HEIGHT / VALNMR / MLTYLT ≤ 1: absent, never `0s`.
|
|
1946
|
+
*
|
|
1947
|
+
* The values are printed as charted — this is a description of the source
|
|
1948
|
+
* cell, never a correction of it.
|
|
1949
|
+
*/
|
|
1950
|
+
/** Units the height is printed in. `meters` is the S-52 default; `feet` is a style generated with `?units=imperial`. */
|
|
1951
|
+
type LightHeightUnits = "meters" | "feet";
|
|
1952
|
+
interface LightDescriptionOptions {
|
|
1953
|
+
/** Height units. Default `meters`. */
|
|
1954
|
+
readonly units?: LightHeightUnits;
|
|
1955
|
+
}
|
|
1956
|
+
/** The same constant the sounding and contour labels use (`layer-builder.ts`), so a feet chart is one system. */
|
|
1957
|
+
declare const LIGHT_LABEL_FEET_PER_METRE = 3.28084;
|
|
1958
|
+
/** S-57 STATUS 11 — the light is charted but not burning. */
|
|
1959
|
+
declare const STATUS_EXTINGUISHED = 11;
|
|
1960
|
+
/** True when STATUS lists 11 (extinguished). */
|
|
1961
|
+
declare function isExtinguishedLight(props: Readonly<Record<string, unknown>>): boolean;
|
|
1962
|
+
/** True when SIGGRP is a well-formed group string (the whitelist). */
|
|
1963
|
+
declare function isValidSiggrp(raw: unknown): raw is string;
|
|
1964
|
+
/**
|
|
1965
|
+
* The character and its group: `Fl(2+1)`, `Mo(A)`, `Q(6)+LFl`. Empty when
|
|
1966
|
+
* LITCHR is absent or not in the catalogue.
|
|
1967
|
+
*/
|
|
1968
|
+
declare function lightCharacterText(props: Readonly<Record<string, unknown>>): string;
|
|
1969
|
+
/** The colour group, `WR` — every light colour charted, ascending, once each. */
|
|
1970
|
+
declare function lightColourText(colour: unknown): string;
|
|
1971
|
+
/** Height, rounded whole: `31m`, or `102ft` in feet. Null when absent or not positive. */
|
|
1972
|
+
declare function lightHeightText(raw: unknown, units?: LightHeightUnits): string | null;
|
|
1973
|
+
/**
|
|
1974
|
+
* The character, colours and period — `Fl(2) WR 6s`. What a SECTOR of a
|
|
1975
|
+
* sector light is described by; its range is carried beside it and its
|
|
1976
|
+
* height belongs to the light, not the sector.
|
|
1977
|
+
*/
|
|
1978
|
+
declare function formatLightRhythm(props: Readonly<Record<string, unknown>>): string;
|
|
1979
|
+
/**
|
|
1980
|
+
* The full light description, LITDSN01 order (see the file header).
|
|
1981
|
+
* `props` are the LIGHTS feature's own attributes.
|
|
1982
|
+
*/
|
|
1983
|
+
declare function formatLightDescription(props: Readonly<Record<string, unknown>>, opts?: LightDescriptionOptions): string;
|
|
1984
|
+
/** GL twin of `formatLightDescription` — the chart label's `text-field`. */
|
|
1985
|
+
declare function lightDescriptionExpression(opts?: LightDescriptionOptions): unknown[];
|
|
1986
|
+
/** GL predicate: the light is extinguished (STATUS lists 11). */
|
|
1987
|
+
declare function extinguishedLightExpression(): unknown[];
|
|
1988
|
+
/**
|
|
1989
|
+
* Copy the description attributes of `light` (a LIGHTS feature's properties)
|
|
1990
|
+
* onto `target` (the clicked structure's) under `LIGHT_` names. The merge
|
|
1991
|
+
* sites (SDK `attach.ts`, the app's `ChartCanvas` and `use-map-renderer`)
|
|
1992
|
+
* already copy LITCHR / SIGGRP / SIGPER / CATLIT and `LIGHT_COLOUR`.
|
|
1993
|
+
*/
|
|
1994
|
+
declare function copyLightDescriptionAttributes(target: Record<string, unknown>, light: Readonly<Record<string, unknown>>): void;
|
|
1995
|
+
/**
|
|
1996
|
+
* The attributes a feature's light is described by. A LIGHTS feature: its
|
|
1997
|
+
* own. Anything else (a lighted buoy or beacon): the co-located light's,
|
|
1998
|
+
* as merged by the click — LITCHR / SIGGRP / SIGPER / CATLIT as copied,
|
|
1999
|
+
* `LIGHT_COLOUR` (else its own COLOUR, the historical fallback), and the
|
|
2000
|
+
* `LIGHT_`-prefixed rest.
|
|
2001
|
+
*/
|
|
2002
|
+
declare function lightDescriptionProps(layerName: string, props: Readonly<Record<string, unknown>>): Record<string, unknown>;
|
|
2003
|
+
|
|
1895
2004
|
/**
|
|
1896
2005
|
* CHRTinteract decode core — S-57 attribute decoder and flash-pattern
|
|
1897
2006
|
* generator for click-to-inspect.
|
|
@@ -1982,6 +2091,33 @@ interface SectorInfo {
|
|
|
1982
2091
|
*/
|
|
1983
2092
|
allRound?: boolean;
|
|
1984
2093
|
}
|
|
2094
|
+
/**
|
|
2095
|
+
* The dayboard a structure wears: an S-57 DAYMAR, which is the SLAVE of its
|
|
2096
|
+
* beacon (the beacon's LNAM_REFS points at it). Decoded from the tile's
|
|
2097
|
+
* derived `_daymark_*` properties — joined onto the master at build time
|
|
2098
|
+
* (CHRTbaremetal childAid.ts), or merged from a co-located DAYMAR by the
|
|
2099
|
+
* click path when the tile predates the join.
|
|
2100
|
+
*/
|
|
2101
|
+
interface DecodedDayboard {
|
|
2102
|
+
/** The board's TOPSHP — "Rhombus (diamond)", "Square", "Triangle, point up". */
|
|
2103
|
+
shape: string | null;
|
|
2104
|
+
/** Every COLOUR of the board, in charted order. */
|
|
2105
|
+
colour: string | null;
|
|
2106
|
+
/** The board's COLPAT — "Border stripes, Squared". */
|
|
2107
|
+
pattern: string | null;
|
|
2108
|
+
/** How many boards the structure carries (a junction beacon can have two). */
|
|
2109
|
+
count: number;
|
|
2110
|
+
}
|
|
2111
|
+
/**
|
|
2112
|
+
* One line for a dayboard, the same on every surface: shape first (what you
|
|
2113
|
+
* see from a distance), then the colours in charted order, then how they are
|
|
2114
|
+
* arranged — "Rhombus (diamond) — White, Green (Border stripes, Squared)".
|
|
2115
|
+
*/
|
|
2116
|
+
declare function formatDayboard(d: DecodedDayboard): string;
|
|
2117
|
+
interface DecodeNavAidOptions {
|
|
2118
|
+
/** Units the light's height is printed in, in `notation`. Default `meters`. */
|
|
2119
|
+
readonly units?: LightHeightUnits;
|
|
2120
|
+
}
|
|
1985
2121
|
interface DecodedNavAid {
|
|
1986
2122
|
name: string;
|
|
1987
2123
|
/** Full official OBJNAM (e.g., "Boston South Channel Buoy 7") */
|
|
@@ -1997,6 +2133,17 @@ interface DecodedNavAid {
|
|
|
1997
2133
|
shape: string | null;
|
|
1998
2134
|
topmark: string | null;
|
|
1999
2135
|
topmarkMeaning: string | null;
|
|
2136
|
+
/**
|
|
2137
|
+
* ⚠ ITS OWN FIELD, NEVER FOLDED INTO `colour`. Birch Point's stake is green
|
|
2138
|
+
* and white; the diamond on it is white and green in squares. Those are two
|
|
2139
|
+
* charted facts about two objects, and overwriting the stake's COLOUR with
|
|
2140
|
+
* the board's is how a dayboard used to repaint its beacon.
|
|
2141
|
+
*/
|
|
2142
|
+
dayboard: DecodedDayboard | null;
|
|
2143
|
+
/** COLPAT — how the colours are arranged ("Horizontal stripes"). */
|
|
2144
|
+
colourPattern: string | null;
|
|
2145
|
+
/** NATCON — what the structure is built of, every value. */
|
|
2146
|
+
construction: string | null;
|
|
2000
2147
|
lightCharacter: string | null;
|
|
2001
2148
|
lightCharacterFull: string | null;
|
|
2002
2149
|
period: number | null;
|
|
@@ -2042,7 +2189,7 @@ declare function deriveMarinerName(objnam: string, colourCode: number | null): s
|
|
|
2042
2189
|
* rendering the hint.
|
|
2043
2190
|
*/
|
|
2044
2191
|
declare function getTopmarkMeaning(topshpCode: number | null, rawLayer: string): string | null;
|
|
2045
|
-
declare function decodeNavAidProps(layerName: string, props: Record<string, unknown>, coords?: [number, number]): DecodedNavAid;
|
|
2192
|
+
declare function decodeNavAidProps(layerName: string, props: Record<string, unknown>, coords?: [number, number], opts?: DecodeNavAidOptions): DecodedNavAid;
|
|
2046
2193
|
interface FlashPhase {
|
|
2047
2194
|
on: boolean;
|
|
2048
2195
|
duration: number;
|
|
@@ -2632,7 +2779,10 @@ declare function collectClickCandidates(map: InteractMapLike, point: {
|
|
|
2632
2779
|
* - OBJNAM / COLOUR inherited from a co-located parent buoy/beacon
|
|
2633
2780
|
* - CATFOG from a co-located FOGSIG
|
|
2634
2781
|
* - RETRFL presence from a co-located RTPBCN
|
|
2635
|
-
* - TOPSHP from
|
|
2782
|
+
* - TOPSHP from the TOPMAR the structure's LNAM_REFS names (pointer first,
|
|
2783
|
+
* proximity only when the structure carries no pointers)
|
|
2784
|
+
* - the dayboard from the DAYMAR it names, into the derived `_daymark_*`
|
|
2785
|
+
* keys (its own "Dayboard" row — never the structure's COLOUR)
|
|
2636
2786
|
* - LITCHR / SIGPER / SIGGRP / LIGHT_COLOUR / CATLIT from the primary
|
|
2637
2787
|
* co-located LIGHTS (preferring a non-sector light)
|
|
2638
2788
|
* - all co-located LIGHTS combined into the sector list
|
|
@@ -2875,14 +3025,49 @@ interface RasterDemSource {
|
|
|
2875
3025
|
/** The credit a renderer shows for this source (MapLibre's attribution control). */
|
|
2876
3026
|
attribution?: string;
|
|
2877
3027
|
}
|
|
3028
|
+
/**
|
|
3029
|
+
* A plain colour raster — CHRT_SEAFLOOR's lossless WebP (ADR 0048). Never
|
|
3030
|
+
* `raster-dem`: the tiles carry one constant colour and the shade amount in
|
|
3031
|
+
* alpha, and no elevation, so nothing can decode a depth out of them and
|
|
3032
|
+
* `map.setTerrain` can never be pointed at them.
|
|
3033
|
+
*/
|
|
3034
|
+
interface RasterSource {
|
|
3035
|
+
type: "raster";
|
|
3036
|
+
tiles: string[];
|
|
3037
|
+
tileSize: number;
|
|
3038
|
+
minzoom: number;
|
|
3039
|
+
maxzoom: number;
|
|
3040
|
+
/** The credit a renderer shows for this source (MapLibre's attribution control). */
|
|
3041
|
+
attribution?: string;
|
|
3042
|
+
}
|
|
2878
3043
|
type VectorSourceSpec = MapboxVectorSource | PmtilesVectorSource;
|
|
2879
|
-
type AnySourceSpec = VectorSourceSpec | RasterDemSource;
|
|
3044
|
+
type AnySourceSpec = VectorSourceSpec | RasterDemSource | RasterSource;
|
|
2880
3045
|
/** CHRTland's vector land base. ADR 0023: its own archive, never chart data. */
|
|
2881
3046
|
declare const LAND_REGION = "CHRT_LAND";
|
|
2882
3047
|
/** CHRTland's terrarium relief. */
|
|
2883
3048
|
declare const RELIEF_REGION = "CHRT_RELIEF";
|
|
2884
3049
|
/** The world basemap under everything (completing-the-world-map, 2026-08-27). */
|
|
2885
3050
|
declare const BASE_REGION = "CHRT_BASE";
|
|
3051
|
+
/** CHRTseafloor: seabed shape under the ENC, shading that carries no depth (ADR 0048). */
|
|
3052
|
+
declare const SEAFLOOR_REGION = "CHRT_SEAFLOOR";
|
|
3053
|
+
/**
|
|
3054
|
+
* The credit the CHRT_SEAFLOOR source carries — the builder's own MBTiles
|
|
3055
|
+
* `attribution` (tools/chrtseafloor-build/build.ts), so the archive and the
|
|
3056
|
+
* style name the same sources. NOAA's grids are public domain; GEBCO asks for
|
|
3057
|
+
* this form of credit.
|
|
3058
|
+
*/
|
|
3059
|
+
declare const SEAFLOOR_ATTRIBUTION = "Seabed: NOAA OCS BlueTopo, NOAA NCEI CUDEM and Great Lakes Bathymetry, GEBCO Compilation Group (2026)";
|
|
3060
|
+
/**
|
|
3061
|
+
* CHRT_SEAFLOOR's zoom range: the builder's z4–13 (ADR 0048 §8b). Below z4 a
|
|
3062
|
+
* pixel spans more than the shelf, so there is nothing to shade; above z13
|
|
3063
|
+
* MapLibre overzooms the z13 tile. The ADR's target ceiling is z14 — raise
|
|
3064
|
+
* this only after the archive carries it (the coupling rule RELIEF_MAXZOOM
|
|
3065
|
+
* documents: a style zoom must never deploy ahead of its archive).
|
|
3066
|
+
*/
|
|
3067
|
+
declare const SEAFLOOR_MINZOOM = 4;
|
|
3068
|
+
declare const SEAFLOOR_MAXZOOM = 13;
|
|
3069
|
+
/** 512 px tiles, as the builder writes them. */
|
|
3070
|
+
declare const SEAFLOOR_TILE_SIZE = 512;
|
|
2886
3071
|
/**
|
|
2887
3072
|
* CHRT_BASE's zoom range. 11 is the deepest zoom the archive's detail tier
|
|
2888
3073
|
* carries honestly — the planet's inland water exists from z9 and is read at
|
|
@@ -2992,7 +3177,7 @@ declare const BUILD_PARAM = "v";
|
|
|
2992
3177
|
* parameter at all instead of a bare `?v=` that would key its own useless
|
|
2993
3178
|
* cache namespace.
|
|
2994
3179
|
*/
|
|
2995
|
-
declare function tileTemplate(base: string, region: string, extension: "mvt" | "png", buildId?: string): string;
|
|
3180
|
+
declare function tileTemplate(base: string, region: string, extension: "mvt" | "png" | "webp", buildId?: string): string;
|
|
2996
3181
|
/** Canonical source id used in `generateStyle()` — matches the region name
|
|
2997
3182
|
* of the one consolidated PMTiles served by the tile-worker for this region. */
|
|
2998
3183
|
declare const DEFAULT_REGION = "NOAA_ENC";
|
|
@@ -3057,6 +3242,12 @@ interface BuildSourcesOptions {
|
|
|
3057
3242
|
* no-coverage hatch's companions and everything else; see baseLayers().
|
|
3058
3243
|
*/
|
|
3059
3244
|
base?: boolean;
|
|
3245
|
+
/**
|
|
3246
|
+
* Emit CHRTseafloor's seabed shading as a `raster` source (ADR 0048). The
|
|
3247
|
+
* style generator draws it directly above the depth-area fills; see
|
|
3248
|
+
* seafloorLayers().
|
|
3249
|
+
*/
|
|
3250
|
+
seafloor?: boolean;
|
|
3060
3251
|
}
|
|
3061
3252
|
/**
|
|
3062
3253
|
* Build the "sources" block for a CHRT style.
|
|
@@ -3104,6 +3295,13 @@ interface StyleLayer {
|
|
|
3104
3295
|
declare function buildLayersForClass(objectClass: string, ct: ColorTableName, sourceId?: string, opts?: {
|
|
3105
3296
|
safetyContour?: number;
|
|
3106
3297
|
}): StyleLayer[];
|
|
3298
|
+
/**
|
|
3299
|
+
* How the depth beside a rock, wreck or obstruction (VALSOU) is rounded to
|
|
3300
|
+
* the figure printed. "nearest" (the default) is the served style's form, the
|
|
3301
|
+
* one the danger-depth placement census measured. "down" is ADR 0047's rule:
|
|
3302
|
+
* toward the shallower figure, never a depth the source doesn't carry.
|
|
3303
|
+
*/
|
|
3304
|
+
type DangerDepthRounding = "nearest" | "down";
|
|
3107
3305
|
/**
|
|
3108
3306
|
* Get the full ordered list of object classes for style generation.
|
|
3109
3307
|
* Uses S52_DRAW_ORDER as base, then adds any missing classes from the
|
|
@@ -3304,7 +3502,9 @@ declare const DEPTH_FIGURE_CLASSES: ReadonlySet<string>;
|
|
|
3304
3502
|
declare function contourValueFactor(depthNumbersFactor: number): number;
|
|
3305
3503
|
/**
|
|
3306
3504
|
* The font stacks a CHRT glyph host serves (`cloudflare/tile-worker/glyphs/
|
|
3307
|
-
* GLYPHS.json`; the test pins this copy to it).
|
|
3505
|
+
* GLYPHS.json`; the test pins this copy to it). Open Sans has no Bold; Old
|
|
3506
|
+
* Standard TT is CHRTpaper's engraving face (tools/chrt-paper/src/look.ts),
|
|
3507
|
+
* which has no Semibold, so rule A leaves it as it is.
|
|
3308
3508
|
*/
|
|
3309
3509
|
declare const SERVED_FONT_STACKS: readonly string[];
|
|
3310
3510
|
/**
|
|
@@ -3524,10 +3724,20 @@ interface StyleGeneratorOptions extends BuildSourcesOptions {
|
|
|
3524
3724
|
* grey overlay outside the bbox so the lock boundary is still visible
|
|
3525
3725
|
* to the user (the fallback data is dimmed by the overlay but not
|
|
3526
3726
|
* filtered out).
|
|
3727
|
+
*
|
|
3728
|
+
* `finestBand` (optional, opt-in; CHRTpaper's band lock) makes the lock
|
|
3729
|
+
* strict: that one source band is the requested band and every coarser
|
|
3730
|
+
* band is the fallback, so nothing finer than it ever draws. Without it
|
|
3731
|
+
* the band's own `CHART_BAND_CODES` / `CHART_CASCADE_CODES` apply, as
|
|
3732
|
+
* CHRTweb has them (Harbor draws Berthing cells too). It also band-gates
|
|
3733
|
+
* the light layers chart mode otherwise emits once for every band (sector
|
|
3734
|
+
* legs and arcs, lamps), so a Harbour light's sectors don't draw on a
|
|
3735
|
+
* Coastal sheet. `band` still names the mode in the style's metadata.
|
|
3527
3736
|
*/
|
|
3528
3737
|
chartMode?: {
|
|
3529
3738
|
band: ScaleBand$1;
|
|
3530
3739
|
lockedBounds?: BBox;
|
|
3740
|
+
finestBand?: BandCode;
|
|
3531
3741
|
};
|
|
3532
3742
|
/**
|
|
3533
3743
|
* Display unit for depth labels (SOUNDG soundings, DEPCNT contour
|
|
@@ -3614,6 +3824,14 @@ interface StyleGeneratorOptions extends BuildSourcesOptions {
|
|
|
3614
3824
|
* (`ChartCanvas`), and the style routes take `placers=1`.
|
|
3615
3825
|
*/
|
|
3616
3826
|
dangerDepthPlacers?: boolean;
|
|
3827
|
+
/**
|
|
3828
|
+
* How the depth beside a rock, wreck or obstruction (VALSOU) rounds, in
|
|
3829
|
+
* either unit. "nearest" (default) is the served form, pinned to the danger-
|
|
3830
|
+
* depth placement census (danger-depth-callouts.test.ts). "down" is ADR
|
|
3831
|
+
* 0047's rule, never deeper than the source: whole feet floored, metres
|
|
3832
|
+
* floored to the decimetre. CHRTpaper prints with "down".
|
|
3833
|
+
*/
|
|
3834
|
+
dangerDepthRounding?: DangerDepthRounding;
|
|
3617
3835
|
}
|
|
3618
3836
|
declare function generateStyle(palette?: ColorTableName, opts?: StyleGeneratorOptions & {
|
|
3619
3837
|
bandFan?: BandFanMode;
|
|
@@ -4105,6 +4323,47 @@ declare function getLabelBehavior(layerName: string): LabelBehavior;
|
|
|
4105
4323
|
* relief comes from dropping the LOWEST rung in a pile-up, never the top.
|
|
4106
4324
|
*/
|
|
4107
4325
|
declare const LABEL_PRIORITY: Record<string, number>;
|
|
4326
|
+
/**
|
|
4327
|
+
* Priority slot for the NAME of a light's tower ("Minots Ledge Light
|
|
4328
|
+
* (conspic)") — the LNDMRK label's second scoped exception to its 400 rung.
|
|
4329
|
+
*
|
|
4330
|
+
* ── What it fixes ─────────────────────────────────────────────────────────
|
|
4331
|
+
*
|
|
4332
|
+
* The light characteristic ("Fl(1+4+3) W 45s 26m 10M") rides LIGHTS at 100
|
|
4333
|
+
* and always places; the name rides the tower (LNDMRK) at 400, placed after
|
|
4334
|
+
* every sounding, and needs room for two lines clear of the tower. Measured
|
|
4335
|
+
* on staging's NOAA_ENC build bf90d461 with MapLibre Native, a view centred
|
|
4336
|
+
* on each of the 37 named lights around Boston and Penobscot Bay: 13 named
|
|
4337
|
+
* none at z14 and 18 at z12 — Minots Ledge, Cape Ann, Eastern Point and Deer
|
|
4338
|
+
* Island among them. A collision-off control printed every one, so the data
|
|
4339
|
+
* was there; the name lost the space. Owner, 2026-10-30: "some who's names
|
|
4340
|
+
* aren't printing".
|
|
4341
|
+
*
|
|
4342
|
+
* ── Why 270, and why that is still safe ───────────────────────────────────
|
|
4343
|
+
*
|
|
4344
|
+
* 100 lights / hazard callouts / clearances untouched
|
|
4345
|
+
* 200 nav-aid designations untouched
|
|
4346
|
+
* 250 fog signals untouched
|
|
4347
|
+
* 270 the name of a light's tower ← here
|
|
4348
|
+
* 280 MAJOR water-area names
|
|
4349
|
+
* 300 soundings, contour values
|
|
4350
|
+
*
|
|
4351
|
+
* Same argument as MAJOR_WATER_LABEL_PRIORITY: the only rungs it outranks are
|
|
4352
|
+
* a bay name and the individually droppable depth field, and there is one
|
|
4353
|
+
* light where there are hundreds of soundings. Above the bay names because a
|
|
4354
|
+
* lighthouse is a point a reader takes a bearing on and a bay name can sit
|
|
4355
|
+
* anywhere in the bay.
|
|
4356
|
+
*/
|
|
4357
|
+
declare const LIGHTHOUSE_NAME_LABEL_PRIORITY = 270;
|
|
4358
|
+
/**
|
|
4359
|
+
* The towers that hoist to LIGHTHOUSE_NAME_LABEL_PRIORITY: FUNCTN 33, S-57's
|
|
4360
|
+
* own "light support", AND a name. Not a spatial join to LIGHTS — the tile
|
|
4361
|
+
* carries none — and not a name match: on the bf90d461 sample (Boston and
|
|
4362
|
+
* Penobscot Bay, z14) FUNCTN 33 is on all 24 towers that carry a light. A
|
|
4363
|
+
* nameless light support still labels "Tower (conspic)", which is a category,
|
|
4364
|
+
* not a mark to find, so it stays at 400.
|
|
4365
|
+
*/
|
|
4366
|
+
declare const LIGHTHOUSE_NAME_FILTER: unknown[];
|
|
4108
4367
|
/**
|
|
4109
4368
|
* Resolve the priority rank for an S-57 class's label. Orientation classes
|
|
4110
4369
|
* report 900 regardless of ladder membership (PRDARE etc.) so the
|
|
@@ -4144,18 +4403,24 @@ declare function buildLabelLayer(layerId: string, sourceId: string, config: Labe
|
|
|
4144
4403
|
* Pre-process SOUNDG GeoJSON to extract Z coordinates as `depth` properties.
|
|
4145
4404
|
* Soundings are MultiPoint with Z values in geometry.coordinates[][2].
|
|
4146
4405
|
* This explodes MultiPoints into individual Points with a `depth` property.
|
|
4406
|
+
*
|
|
4407
|
+
* The depth is FLOORED to the decimetre, never rounded: a sounding states
|
|
4408
|
+
* the shallower figure (ADR 0047). For decimetre source data — S-57 SOUNDG
|
|
4409
|
+
* is stored with SOMF 10 — this is the identity; it only bites on finer
|
|
4410
|
+
* values, and a drying sounding (negative) floors to the larger drying
|
|
4411
|
+
* height, which is the safe side there too.
|
|
4147
4412
|
*/
|
|
4148
4413
|
declare function preprocessSoundings(fc: GeoJSON.FeatureCollection): GeoJSON.FeatureCollection;
|
|
4149
4414
|
/**
|
|
4150
|
-
* Pre-process LIGHTS GeoJSON to derive
|
|
4151
|
-
* Adds `_lightLabel`
|
|
4415
|
+
* Pre-process LIGHTS GeoJSON to derive the light description label.
|
|
4416
|
+
* Adds `_lightLabel` (e.g. "Fl(2) WR 6s 31m 12M").
|
|
4152
4417
|
*
|
|
4153
|
-
*
|
|
4154
|
-
*
|
|
4155
|
-
*
|
|
4156
|
-
*
|
|
4418
|
+
* The text is `formatLightDescription` — the one formatter the tile path's GL
|
|
4419
|
+
* expression (`lightDescriptionExpression`), the SDK notation and the app's
|
|
4420
|
+
* popup and inspector all use (`light-description.ts`).
|
|
4421
|
+
* `light-description.test.ts` asserts the JS and GL forms agree.
|
|
4157
4422
|
*/
|
|
4158
|
-
declare function preprocessLights(fc: GeoJSON.FeatureCollection): GeoJSON.FeatureCollection;
|
|
4423
|
+
declare function preprocessLights(fc: GeoJSON.FeatureCollection, opts?: LightDescriptionOptions): GeoJSON.FeatureCollection;
|
|
4159
4424
|
/** List of layers that have labels */
|
|
4160
4425
|
declare const LABELED_LAYERS: Set<string>;
|
|
4161
4426
|
/**
|
|
@@ -4499,6 +4764,9 @@ declare const S101_SYMBOL_NAMES: ReadonlySet<string>;
|
|
|
4499
4764
|
* exist (UWTROC03/04, SISTAT03, WATTUR02); the number encodes a
|
|
4500
4765
|
* different portrayal case.
|
|
4501
4766
|
* LIGHTHOUSE01 — a CHRT-local symbol name with no PresLib/S-101 analogue.
|
|
4767
|
+
* TMARDEF1 / TMARDEF2 — the PresLib TOPMAR01 "flag or other shape"
|
|
4768
|
+
* topmarks (beacon / buoy); the catalogue defines no TMARDEF symbols at
|
|
4769
|
+
* all. TMARDEF1 arrived with the rigid TOPMAR01 table (2026-10).
|
|
4502
4770
|
*
|
|
4503
4771
|
* Pinned by `s101-style.test.ts` so the set can only shrink deliberately
|
|
4504
4772
|
* (e.g. when re-pinned to an in-force catalogue edition that adds them).
|
|
@@ -4641,11 +4909,22 @@ declare function chrtHouseColor(dayHex: string, palette?: ColorTableName): strin
|
|
|
4641
4909
|
* its paint is the style's `icon-color`.
|
|
4642
4910
|
*/
|
|
4643
4911
|
declare function themeChrtGlyph(svg: string, palette?: ColorTableName): string;
|
|
4644
|
-
/**
|
|
4912
|
+
/**
|
|
4913
|
+
* Tint expression for SDF bodies: the mark's DOMINANT colour — the first
|
|
4914
|
+
* chromatic code in COLOUR, which S-57 lists top band first.
|
|
4915
|
+
*
|
|
4916
|
+
* ⚠ It used to rank codes by salience (red before green) and take the first
|
|
4917
|
+
* one PRESENT, whatever its position. That painted a green-red-green
|
|
4918
|
+
* preferred-channel mark (`["4","3","4"]`) red — the opposite lateral side —
|
|
4919
|
+
* and contradicted the module header's own "first listed colour" contract.
|
|
4920
|
+
* White/black/brown/grey only tint a mark that carries no chromatic colour.
|
|
4921
|
+
*/
|
|
4645
4922
|
declare function chrtAtonTintExpression(palette?: ColorTableName): unknown[];
|
|
4646
|
-
/** Lights tint: exact colour (incl. blue/orange —
|
|
4647
|
-
* the encoded colour, unlike the S-52 three-bucket
|
|
4648
|
-
*
|
|
4923
|
+
/** Lights tint: the exact colour of a one-colour light (incl. blue/orange —
|
|
4924
|
+
* the house style renders the encoded colour, unlike the S-52 three-bucket
|
|
4925
|
+
* flares), the LIGHTS06 fold for white+red / white+green, and the house
|
|
4926
|
+
* "unknown" grey for everything else — a red-and-green light or a light with
|
|
4927
|
+
* no charted colour has no one true colour, and painting one asserts it. */
|
|
4649
4928
|
declare function chrtLightTintExpression(palette?: ColorTableName): unknown[];
|
|
4650
4929
|
/** Per-class house icon expressions. Classes not listed keep their S-52
|
|
4651
4930
|
* icons (e.g. TOPMAR's minimal black shapes already fit the house look). */
|
|
@@ -4778,12 +5057,13 @@ declare const S52_ATON_LOOKUPS_PAPER: Record<string, AtonClassLookup>;
|
|
|
4778
5057
|
* LIGHTS has no lookup rows (the table delegates to CS(LIGHTS05)); the
|
|
4779
5058
|
* flare selection here transcribes the PresLib LIGHTS05/06 procedure as
|
|
4780
5059
|
* implemented by OpenCPN s52cnsy.cpp `_selSYcol()` + the CATLIT pre-checks:
|
|
4781
|
-
* red→LIGHTS11, green→LIGHTS12, white/yellow/
|
|
5060
|
+
* red→LIGHTS11, green→LIGHTS12, white/yellow/orange→LIGHTS13,
|
|
4782
5061
|
* white+red→LIGHTS11, white+green→LIGHTS12, floodlight/fog-detector→LIGHTS82,
|
|
4783
5062
|
* strip light→LIGHTS81, everything else→LITDEF11. The vendored flare SVGs
|
|
4784
5063
|
* carry the spec colour and the 135° flare rotation baked in, so selection
|
|
4785
|
-
* is purely icon-name choice. Sector
|
|
4786
|
-
*
|
|
5064
|
+
* is purely icon-name choice. Sector lights get no flare at all — their legs
|
|
5065
|
+
* and arcs are `sector-lights.ts`; this module only picks the symbol at the
|
|
5066
|
+
* light.
|
|
4787
5067
|
*/
|
|
4788
5068
|
|
|
4789
5069
|
/** Classes whose icon selection is fully lookup-table-driven. TOPMAR and
|
|
@@ -4800,7 +5080,7 @@ declare function atonIconExpression(objectClass: string): string | unknown[];
|
|
|
4800
5080
|
/**
|
|
4801
5081
|
* LIGHTS flare selection per the LIGHTS05/06 conditional symbology
|
|
4802
5082
|
* procedure (see module header for provenance). COLOUR codes: 1 white,
|
|
4803
|
-
* 3 red, 4 green, 6 yellow,
|
|
5083
|
+
* 3 red, 4 green, 6 yellow, 11 orange.
|
|
4804
5084
|
*/
|
|
4805
5085
|
declare function lightsIconExpression(): unknown[];
|
|
4806
5086
|
|
|
@@ -4849,6 +5129,84 @@ declare const S52_PATTERN_SPRITE_PREFIX = "AP:";
|
|
|
4849
5129
|
/** Registered image id for a PresLib pattern name, e.g. "VEGATN03" -> "AP:VEGATN03". */
|
|
4850
5130
|
declare function patternSpriteId(patternName: string): string;
|
|
4851
5131
|
|
|
5132
|
+
/**
|
|
5133
|
+
* Sector lights in the generated style — S-52 LIGHTS05, drawn from the
|
|
5134
|
+
* tiles' own SECTR1 / SECTR2 with no derived geometry.
|
|
5135
|
+
*
|
|
5136
|
+
* LIGHTS05 gives a sectored light (SECTR1 and SECTR2 both charted) NO flare.
|
|
5137
|
+
* It gets two sector LEGS, dashed black, from the light along each limit, and
|
|
5138
|
+
* an ARC between them in the sector's colour over a black outline:
|
|
5139
|
+
* `LS(DASH,1,CHBLK)` legs 25 mm long, `CA(OUTLW,4,<colour>,2…)` at 20 mm, and
|
|
5140
|
+
* 25 mm where another sector at the same position overlaps this one. Before
|
|
5141
|
+
* this module the served style drew every sector as an ordinary flare at the
|
|
5142
|
+
* light's 135° offset, so co-located sectors stacked into one flare and the
|
|
5143
|
+
* chart said nothing about which way any colour shows (Hendricks Head,
|
|
5144
|
+
* US5ME1JP / US4ME1CE: W 000°–180°, R 180°–000°, drawn as one white flare).
|
|
5145
|
+
*
|
|
5146
|
+
* ⚠ BEARINGS ARE FROM SEAWARD. SECTR1/SECTR2 are the bearing of the light AS
|
|
5147
|
+
* SEEN FROM THE VESSEL, so a limit is drawn on its reciprocal (+180°) — the
|
|
5148
|
+
* same rule as `sectorLimitToArcBearing` in `../interact/decode.ts` and
|
|
5149
|
+
* `src/lib/map/nav-aid-info.ts`, whose geometry was verified light by light in
|
|
5150
|
+
* docs/validation/sector-light-audit-2026-09.md.
|
|
5151
|
+
*
|
|
5152
|
+
* ── Why sprites, not tile geometry ───────────────────────────────────────
|
|
5153
|
+
*
|
|
5154
|
+
* S-52 sizes legs and arcs in SCREEN millimetres: the ring is the same size
|
|
5155
|
+
* at every zoom. Geometry baked into tiles is geographic and would have to be
|
|
5156
|
+
* re-emitted per zoom, and it would ship only with a tile rebuild. A rotated
|
|
5157
|
+
* icon is screen-sized by construction and reads SECTR1/SECTR2 from tiles that
|
|
5158
|
+
* already exist, so the portrayal ships with the style.
|
|
5159
|
+
*
|
|
5160
|
+
* - A LEG is one dashed sprite anchored at its foot and turned to the limit
|
|
5161
|
+
* with `icon-rotate`. Exact to the charted tenth of a degree.
|
|
5162
|
+
* - An ARC of arbitrary sweep is composed from at most three segment sprites,
|
|
5163
|
+
* one per base-8 digit of the sweep in whole degrees: `64·a + 8·b + c`.
|
|
5164
|
+
* Layer k draws digit k's segment, rotated to start where the previous
|
|
5165
|
+
* digit's ended. 19 segment shapes (1–7°, 8–56°, 64–320°) per colour cover
|
|
5166
|
+
* every sweep from 1° to 360°, against 360 sprites for a one-per-degree set.
|
|
5167
|
+
* The sweep is rounded to whole degrees and the rounding is split across
|
|
5168
|
+
* both ends, so the arc lands within 0.5° of each leg — about a quarter of
|
|
5169
|
+
* a pixel at the radius drawn. The legs carry the exact limits.
|
|
5170
|
+
*
|
|
5171
|
+
* Segment sprites are cropped to their own ink; `icon-offset` puts each one's
|
|
5172
|
+
* box back where it belongs relative to the light, and MapLibre rotates the
|
|
5173
|
+
* offset with the icon, so the arc's centre stays on the light at any bearing.
|
|
5174
|
+
*
|
|
5175
|
+
* ── Sizes ───────────────────────────────────────────────────────────────
|
|
5176
|
+
*
|
|
5177
|
+
* The S-52 PROPORTION (leg 25 : arc 20, outline 4 : core 2) is kept. The
|
|
5178
|
+
* absolute size is the house one: the CHRTweb overlay's owner-tuned ~29 px
|
|
5179
|
+
* ring at z14 (`SECTOR_HIGH_ZOOM_RADIUS_NM` in nav-aid-info.ts), easing smaller
|
|
5180
|
+
* toward planning zooms the same way the flares do. Full S-52 size at CHRT's
|
|
5181
|
+
* 2× symbol scale would be a 125 px ring, which the owner already rejected as
|
|
5182
|
+
* the loudest layer on the chart when the overlay drew 58 px ones.
|
|
5183
|
+
*/
|
|
5184
|
+
|
|
5185
|
+
declare function isSectorSpriteId(name: string): boolean;
|
|
5186
|
+
/**
|
|
5187
|
+
* A sectored light, per LIGHTS05: both limits charted and a non-zero sweep. A
|
|
5188
|
+
* light whose limits coincide is all-round and keeps its flare. (None of the
|
|
5189
|
+
* 4,361 corpus sectors do; the guard is for the spec, not the data.)
|
|
5190
|
+
*/
|
|
5191
|
+
declare const IS_SECTOR_LIGHT: unknown[];
|
|
5192
|
+
declare const SECTOR_ARC_LAYER_IDS: readonly ["s52-LIGHTS-sector-arc-64", "s52-LIGHTS-sector-arc-8", "s52-LIGHTS-sector-arc-1"];
|
|
5193
|
+
declare const SECTOR_LEG_LAYER_IDS: readonly ["s52-LIGHTS-sector-leg-1", "s52-LIGHTS-sector-leg-2"];
|
|
5194
|
+
/**
|
|
5195
|
+
* Every layer this module emits — the ids an app with its own sector overlay
|
|
5196
|
+
* hides while that overlay is up (CHRTweb's ChartCanvas, the platform map).
|
|
5197
|
+
*/
|
|
5198
|
+
declare const SECTOR_LIGHT_LAYER_IDS: readonly string[];
|
|
5199
|
+
/**
|
|
5200
|
+
* The sector-light layers for one source. Not band-fanned: every band's copy
|
|
5201
|
+
* of a light sits at the same position (Amelia Island is charted identically in
|
|
5202
|
+
* seven cells), so copies draw exactly over each other. Arcs first, legs over
|
|
5203
|
+
* them so each limit reads across the band.
|
|
5204
|
+
*
|
|
5205
|
+
* `ct` is accepted for symmetry with `buildLampLayers`; the sprites carry their
|
|
5206
|
+
* S-52 tokens and are themed by the sheet, so no paint here depends on it.
|
|
5207
|
+
*/
|
|
5208
|
+
declare function buildSectorLightLayers(sourceId: string, _ct?: ColorTableName): StyleLayer[];
|
|
5209
|
+
|
|
4852
5210
|
/**
|
|
4853
5211
|
* S-52 SVG Loader — pure (DOM-free) string operations over the inlined S-52
|
|
4854
5212
|
* SVG catalogue in `s52-svgs-generated.ts`. SVG files use S-52 color token
|
|
@@ -4933,6 +5291,71 @@ declare const BUILD_MAXZOOM = 14;
|
|
|
4933
5291
|
*/
|
|
4934
5292
|
declare const LAND_BUILD_MAXZOOM = 14;
|
|
4935
5293
|
|
|
5294
|
+
/**
|
|
5295
|
+
* CHRTseafloor's one layer (ADR 0048): seabed shape under the ENC, as shading
|
|
5296
|
+
* that carries no depth.
|
|
5297
|
+
*
|
|
5298
|
+
* ── What the tiles are ─────────────────────────────────────────────────────
|
|
5299
|
+
*
|
|
5300
|
+
* 512 px lossless WebP whose RGB is ONE constant colour and whose alpha is the
|
|
5301
|
+
* shade amount, masked at build time to charted water. So the layer is a plain
|
|
5302
|
+
* `raster`, never `raster-dem`: there is no elevation in the bytes for MapLibre
|
|
5303
|
+
* to decode, and nothing can point `setTerrain` at it.
|
|
5304
|
+
*
|
|
5305
|
+
* ── Why it only ever errs shallow ──────────────────────────────────────────
|
|
5306
|
+
*
|
|
5307
|
+
* The bake is shadow only, in a colour on the SHALLOW side of every water tint,
|
|
5308
|
+
* so compositing it can only move a depth area toward the next-shallower band.
|
|
5309
|
+
* Its strength is capped by depth at build time so the safety contour stays a
|
|
5310
|
+
* colour edge (ADR 0048 §4). The paint below is the other half of that promise
|
|
5311
|
+
* and `seafloor-layers.test.ts` holds both halves against the S-52 palettes.
|
|
5312
|
+
*
|
|
5313
|
+
* DAY and DUSK draw the bake as is. NIGHT's depth ramp runs the other way (deep
|
|
5314
|
+
* water darkest), so "toward shallow" means LIGHTER there: the same tiles are
|
|
5315
|
+
* lifted with `raster-brightness-min` until they sit on the light side of every
|
|
5316
|
+
* NIGHT water tint. One bake, three themes, never a second archive.
|
|
5317
|
+
*
|
|
5318
|
+
* ── Where it goes ──────────────────────────────────────────────────────────
|
|
5319
|
+
*
|
|
5320
|
+
* Directly above the depth-area fills and below everything else (ADR 0048 §5):
|
|
5321
|
+
* shading is part of the water ground, never on top of a contour, sounding or
|
|
5322
|
+
* symbol. `style-generator.ts` places it.
|
|
5323
|
+
*
|
|
5324
|
+
* ── E-ink draws none ───────────────────────────────────────────────────────
|
|
5325
|
+
*
|
|
5326
|
+
* A continuous alpha ramp is what an e-ink panel cannot show, for the reason
|
|
5327
|
+
* CHRTland's hillshade is off there (`exaggeration: 0`, land-layers.ts).
|
|
5328
|
+
*/
|
|
5329
|
+
|
|
5330
|
+
/** The one layer id. NOT `chrtland-`: that prefix is hoisted onto the land stack. */
|
|
5331
|
+
declare const SEAFLOOR_LAYER_ID = "chrtseafloor-shade";
|
|
5332
|
+
/**
|
|
5333
|
+
* What the tiles were baked with — the builder's `SHADE` defaults
|
|
5334
|
+
* (tools/chrtseafloor-build/shade.ts). Restated here because the SDK cannot
|
|
5335
|
+
* import from `tools/`; the colour gate needs them to model the composite.
|
|
5336
|
+
*
|
|
5337
|
+
* - `rgb`: #2f4858 slate, L* 29.
|
|
5338
|
+
* - `kneeAlpha`: the most alpha water at or above the protected safety
|
|
5339
|
+
* contour carries. DAY binds at 17; the bake uses 16.
|
|
5340
|
+
* - `protectedSafetyContourM`: CHRT's default safety contour, 10 m (owner
|
|
5341
|
+
* decision, 2026-10-26). The gate holds every setting from 1 m to this.
|
|
5342
|
+
* - `alphaMax`: the ceiling, reached at 30 m.
|
|
5343
|
+
*/
|
|
5344
|
+
declare const SEAFLOOR_BAKE: Readonly<{
|
|
5345
|
+
rgb: readonly [47, 72, 88];
|
|
5346
|
+
kneeAlpha: 16;
|
|
5347
|
+
protectedSafetyContourM: 10;
|
|
5348
|
+
alphaMax: 90;
|
|
5349
|
+
}>;
|
|
5350
|
+
/** Per-theme raster paint. The single source of these values (ADR 0048 §5). */
|
|
5351
|
+
declare const SEAFLOOR_THEME_PAINT: Readonly<Record<"DAY" | "DUSK" | "NIGHT", {
|
|
5352
|
+
"raster-brightness-min": number;
|
|
5353
|
+
"raster-brightness-max": number;
|
|
5354
|
+
"raster-opacity": number;
|
|
5355
|
+
}>>;
|
|
5356
|
+
/** The seafloor layer for a palette, or none for the e-ink tables. */
|
|
5357
|
+
declare function seafloorLayers(palette?: ColorTableName): StyleLayer[];
|
|
5358
|
+
|
|
4936
5359
|
/**
|
|
4937
5360
|
* The CHRT_BASE BUNDLE — the app-embeddable world basemap, and the style
|
|
4938
5361
|
* surgery that draws a chart over it with no network at all (CHRTsail #814).
|
|
@@ -5827,4 +6250,4 @@ declare class Chrt {
|
|
|
5827
6250
|
warmTiles(region?: string): Promise<TileTokenResponse>;
|
|
5828
6251
|
}
|
|
5829
6252
|
|
|
5830
|
-
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, CHART_SOUNDINGS_RULE, CHART_SYMBOL_SCALE, CHART_SYMBOL_SIZES, CHART_SYMBOL_SIZE_LABELS, CHART_SYMBOL_SIZE_REACH, CHART_SYMBOL_SIZE_WIRE, 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, type ChartSoundingsRule, type ChartSymbolScales, type ChartSymbolSize, 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, DANGER_DEPTH_LABEL_ID, DANGER_DEPTH_PLACER_ID, DANGER_DEPTH_PLACER_LAYOUT, DANGER_DEPTH_VISIBLE_LAYOUT, 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, DEPTH_FIGURE_CLASSES, DRAPEABLE_LAYER_TYPES, type DecodedAreaFeature, type DecodedBridge, type DecodedNavAid, type DecodedProperty, type DisplayCategory, type DisplayMode, EINK_DANGER_PATTERN, EINK_DOTS_PATTERN, EINK_HATCH_PATTERN, type FeatureCollection, type FeaturesOptions, type FetchStyleOptions, FileSystemAdapter, type FlashPattern, type FlashPhase, type GenerateCustomStyleOptions, type GeneratedCustomStyle, type GeoJsonFeature, type GeoJsonGeometry, type GeomType, HAZARD_LABEL_PRIORITY, 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, LAND_TEXT_CLASSES, type LabelBehavior, type LabelConfigOptions, type LabelLayerConfig, type LabelSettings, type LampLayer, type LookupEntry, MAPLIBRE_DEFAULT_TEXT_PADDING_PX, 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, OUTRANK_LABELS, 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, SERVED_FONT_STACKS, SERVED_SOUNDING_PADDING_PX, SIGPER_TOLERANCE_SECONDS, SIGSEQ_MAX_TERMS, SOUNDING_LAYERS, SOUNDING_PADDING_PER_FACTOR, STANDARD_CHART_SYMBOL_SCALES, SYMBOL_ANNOTATION_TEXT_CLASSES, 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, WATER_TEXT_CLASSES, type WaterBodySettings, WeatherEndpoint, type WeatherReading, type WebhookEvent, type WebhookEventType, type WebhookPayload, addDangerDepthPlacers, applyBaseBundle, applyChartSymbolScales, applyChartSymbolScalesToLayer, applyChrtSymbolSet, applyColorTheme, applyCustomStyleSettings, applyEinkPortrayal, 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, chartSymbolSizingCensus, chrtAtonTintExpression, chrtHouseColor, chrtLightTintExpression, clampChartSymbolScale, collectCandidates, collectClickCandidates, combineWithBandFilter, contourValueFactor, contrastRatio, dangerDepthPlacerId, daymarkColor, decimateFeatures, decodeAreaFeatureProps, decodeBridgeProps, decodeCandidate, decodeChartSymbolScale, decodeNavAidProps, demotedBelowSoundings, depareColor, depareFillExpression, depthAreaClassLayerId, depthAreaSplitIds, deriveMarinerName, drapeHalves, drapedFirst, extractNavAidDesignation, featureIdentity, fromZoom, 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, haloFactor, hazardColor, hazardFillExpression, iconSliderFor, isDangerDepthPlacer, isDepthAreaClassLayerId, isDrapeable, isLabelLayerVisible, isMapLive, isNavAidLayer, isNavAidLayerVisible, isSoundingLayerVisible, isVisibleInMode, isWaterBodyLayerVisible, keptAboveSoundings, 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, safetyContourValues, sanitizeCustomStyleConfig, scaleLinearLight, scaleSizeExpression, scaleSizeValue, scaminToMinZoom, sectorLimitToArcBearing, semiboldFontStack, snapChartSymbolScale, soundingPadding, soundingPaddingValue, splitOpaqueDepthAreas, stepChartSymbolScale, styleModeBand, terrainStackCount, textSliderFor, themeChrtGlyph, tileTemplate, uncoveredSectorArcs, withinBboxFilter, worldMinusBboxPolygon };
|
|
6253
|
+
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, CHART_SOUNDINGS_RULE, CHART_SYMBOL_SCALE, CHART_SYMBOL_SIZES, CHART_SYMBOL_SIZE_LABELS, CHART_SYMBOL_SIZE_REACH, CHART_SYMBOL_SIZE_WIRE, 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, type ChartSoundingsRule, type ChartSymbolScales, type ChartSymbolSize, 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, DANGER_DEPTH_LABEL_ID, DANGER_DEPTH_PLACER_ID, DANGER_DEPTH_PLACER_LAYOUT, DANGER_DEPTH_VISIBLE_LAYOUT, 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, DEPTH_FIGURE_CLASSES, DRAPEABLE_LAYER_TYPES, type DecodeNavAidOptions, type DecodedAreaFeature, type DecodedBridge, type DecodedDayboard, type DecodedNavAid, type DecodedProperty, type DisplayCategory, type DisplayMode, EINK_DANGER_PATTERN, EINK_DOTS_PATTERN, EINK_HATCH_PATTERN, type FeatureCollection, type FeaturesOptions, type FetchStyleOptions, FileSystemAdapter, type FlashPattern, type FlashPhase, type GenerateCustomStyleOptions, type GeneratedCustomStyle, type GeoJsonFeature, type GeoJsonGeometry, type GeomType, HAZARD_LABEL_PRIORITY, INSPECT_CLASS_RANK, INSPECT_RANK_DEVIATIONS, IS_SECTOR_LIGHT, 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, LAND_TEXT_CLASSES, LIGHTHOUSE_NAME_FILTER, LIGHTHOUSE_NAME_LABEL_PRIORITY, LIGHT_LABEL_FEET_PER_METRE, type LabelBehavior, type LabelConfigOptions, type LabelLayerConfig, type LabelSettings, type LampLayer, type LightDescriptionOptions, type LightHeightUnits, type LookupEntry, MAPLIBRE_DEFAULT_TEXT_PADDING_PX, 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, OUTRANK_LABELS, 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, SEAFLOOR_ATTRIBUTION, SEAFLOOR_BAKE, SEAFLOOR_LAYER_ID, SEAFLOOR_MAXZOOM, SEAFLOOR_MINZOOM, SEAFLOOR_REGION, SEAFLOOR_THEME_PAINT, SEAFLOOR_TILE_SIZE, SECTOR_ARC_LAYER_IDS, SECTOR_LEG_LAYER_IDS, SECTOR_LIGHT_LAYER_IDS, SERVED_FONT_STACKS, SERVED_SOUNDING_PADDING_PX, SIGPER_TOLERANCE_SECONDS, SIGSEQ_MAX_TERMS, SOUNDING_LAYERS, SOUNDING_PADDING_PER_FACTOR, STANDARD_CHART_SYMBOL_SCALES, STATUS_EXTINGUISHED, SYMBOL_ANNOTATION_TEXT_CLASSES, 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, WATER_TEXT_CLASSES, type WaterBodySettings, WeatherEndpoint, type WeatherReading, type WebhookEvent, type WebhookEventType, type WebhookPayload, addDangerDepthPlacers, applyBaseBundle, applyChartSymbolScales, applyChartSymbolScalesToLayer, applyChrtSymbolSet, applyColorTheme, applyCustomStyleSettings, applyEinkPortrayal, applyRasterSymbolSet, applyS101SymbolSet, atonIconExpression, bandFilterExpression, buildAirportTierExpression, buildBuiltUpAreaTierExpression, buildFlashPattern, buildLabelLayer, buildLakeTierExpression, buildLampLayers, buildLandAreaTierExpression, buildLandRegionTierExpression, buildLayersForClass, buildOfflineStyle, buildPlaceNameLayers, buildRiverTierExpression, buildSeaAreaTierExpression, buildSectorArcGeoJSON, buildSectorArcsFC, buildSectorLightLayers, buildSectorsFromFeatures, buildSources, candidateRank, capLuminance, cellBandCharacters, cellBandMatch, chartSymbolSizingCensus, chrtAtonTintExpression, chrtHouseColor, chrtLightTintExpression, clampChartSymbolScale, collectCandidates, collectClickCandidates, combineWithBandFilter, contourValueFactor, contrastRatio, copyLightDescriptionAttributes, dangerDepthPlacerId, daymarkColor, decimateFeatures, decodeAreaFeatureProps, decodeBridgeProps, decodeCandidate, decodeChartSymbolScale, decodeNavAidProps, demotedBelowSoundings, depareColor, depareFillExpression, depthAreaClassLayerId, depthAreaSplitIds, deriveMarinerName, drapeHalves, drapedFirst, extinguishedLightExpression, extractNavAidDesignation, featureIdentity, formatDayboard, formatLightDescription, formatLightRhythm, fromZoom, 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, haloFactor, hazardColor, hazardFillExpression, iconSliderFor, isDangerDepthPlacer, isDepthAreaClassLayerId, isDrapeable, isExtinguishedLight, isLabelLayerVisible, isMapLive, isNavAidLayer, isNavAidLayerVisible, isSectorSpriteId, isSoundingLayerVisible, isValidSiggrp, isVisibleInMode, isWaterBodyLayerVisible, keptAboveSoundings, labelSortKey, lampRhythmColour, lampRhythmOpacity, lateralColor, lateralFillExpression, lightCharacterText, lightColor, lightColourText, lightDescriptionExpression, lightDescriptionProps, lightFillExpression, lightHeightText, lightsIconExpression, normalizeStyleMode, normalizeTheme, opaqueSplitBaseOf, paginate, parseListCodes, parseSigseqTerms, parseWebhook, patternSpriteId, preprocessLights, preprocessNavAids, preprocessSoundings, preprocessWaterBodies, rasterAtonIconExpression, relativeLuminance, resolveCustomTheme, resolveRasterImage, resolveS101Color, resolveStyle, resolveTargetClass, rhythmProperties, s101ArtworkProvenance, safetyContourValues, sanitizeCustomStyleConfig, scaleLinearLight, scaleSizeExpression, scaleSizeValue, scaminToMinZoom, seafloorLayers, sectorLimitToArcBearing, semiboldFontStack, snapChartSymbolScale, soundingPadding, soundingPaddingValue, splitOpaqueDepthAreas, stepChartSymbolScale, styleModeBand, terrainStackCount, textSliderFor, themeChrtGlyph, tileTemplate, uncoveredSectorArcs, withinBboxFilter, worldMinusBboxPolygon };
|