@chrtco/sdk 0.10.49 → 0.10.51
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 +8 -0
- package/dist/atlas/browser.cjs +4099 -601
- package/dist/atlas/browser.cjs.map +1 -1
- package/dist/atlas/browser.js +4099 -601
- package/dist/atlas/browser.js.map +1 -1
- package/dist/index.cjs +3235 -2306
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +299 -18
- package/dist/index.d.ts +299 -18
- package/dist/index.js +26984 -26082
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1892,6 +1892,106 @@ declare class OfflineEndpoint {
|
|
|
1892
1892
|
private persistManifestEntry;
|
|
1893
1893
|
}
|
|
1894
1894
|
|
|
1895
|
+
/**
|
|
1896
|
+
* THE light description — one formatter for every surface that prints a
|
|
1897
|
+
* light's characteristic: the chart label (tile path: a GL expression; GeoJSON
|
|
1898
|
+
* path: `preprocessLights`), the SDK `decodeNavAidProps().notation`, the app's
|
|
1899
|
+
* mirror of it (`src/lib/map/nav-aid-info.ts`), the popup and the CHRTweb
|
|
1900
|
+
* inspector. Each used to assemble its own string, and they disagreed: the map
|
|
1901
|
+
* printed `Al WR 10s 9M`, the inspector `Al W.R 10s`; neither printed the
|
|
1902
|
+
* height, and only the map printed the range.
|
|
1903
|
+
*
|
|
1904
|
+
* The JS formatter and the GL expression live side by side in this file so a
|
|
1905
|
+
* change to one is a change in front of the other; `light-description.test.ts`
|
|
1906
|
+
* evaluates both over the same fixtures and asserts they agree, and the corpus
|
|
1907
|
+
* check (`scripts/audit-light-descriptions.ts`) does it over every LIGHTS
|
|
1908
|
+
* feature in `chrt_baremetal`.
|
|
1909
|
+
*
|
|
1910
|
+
* ── Order (S-52 LITDSN01; US Chart No. 1 / INT 1 section P) ────────────────
|
|
1911
|
+
*
|
|
1912
|
+
* Dir · Aero · MLTYLT · character(group) · colours · (vert)/(hor) · period ·
|
|
1913
|
+
* height · range · (occas) · Priv · (extinguished)
|
|
1914
|
+
*
|
|
1915
|
+
* `Fl W 10s 31m 27M` — Boston Light (US5BOSCE), `102ft` in a feet style.
|
|
1916
|
+
* `2 F R (vert) 9m` — two fixed red lights, one above the other.
|
|
1917
|
+
* `Q(6)+LFl W 15s` — a south cardinal: SIGGRP `(6)(1)`, the six spliced
|
|
1918
|
+
* after the Q as the chart prints it.
|
|
1919
|
+
*
|
|
1920
|
+
* Tokens are space-separated, US Chart No. 1's form. Colours are the INT 1
|
|
1921
|
+
* colour group — the letters run together, `WR`, never `W.R` — in ascending
|
|
1922
|
+
* catalogue order (W R G Bu Y Am Vi Or). S-57 does not record the order in
|
|
1923
|
+
* which an alternating light shows its colours, and 34 corpus lights list them
|
|
1924
|
+
* the other way round (`["3","1"]`); ascending is deterministic and is the
|
|
1925
|
+
* chart form for the common pairs. A repeated colour (`["4","1","1"]`) prints
|
|
1926
|
+
* once.
|
|
1927
|
+
*
|
|
1928
|
+
* ── What is NOT printed ───────────────────────────────────────────────────
|
|
1929
|
+
*
|
|
1930
|
+
* - A light with no LITCHR gets no description at all (27 corpus lights). A
|
|
1931
|
+
* bare `W` reads as a fixed white light, which the chart does not say.
|
|
1932
|
+
* - SIGGRP that is not a well-formed group — `^(\([0-9A-Z+]+\))+$` — is
|
|
1933
|
+
* dropped, not printed: `()` (2,452 lights), `RDB` / `LDB` (USACE bank
|
|
1934
|
+
* codes that leaked into the attribute). `(1)` is a single flash and is
|
|
1935
|
+
* not printed either.
|
|
1936
|
+
* - Zero or absent SIGPER / HEIGHT / VALNMR / MLTYLT ≤ 1: absent, never `0s`.
|
|
1937
|
+
*
|
|
1938
|
+
* The values are printed as charted — this is a description of the source
|
|
1939
|
+
* cell, never a correction of it.
|
|
1940
|
+
*/
|
|
1941
|
+
/** Units the height is printed in. `meters` is the S-52 default; `feet` is a style generated with `?units=imperial`. */
|
|
1942
|
+
type LightHeightUnits = "meters" | "feet";
|
|
1943
|
+
interface LightDescriptionOptions {
|
|
1944
|
+
/** Height units. Default `meters`. */
|
|
1945
|
+
readonly units?: LightHeightUnits;
|
|
1946
|
+
}
|
|
1947
|
+
/** The same constant the sounding and contour labels use (`layer-builder.ts`), so a feet chart is one system. */
|
|
1948
|
+
declare const LIGHT_LABEL_FEET_PER_METRE = 3.28084;
|
|
1949
|
+
/** S-57 STATUS 11 — the light is charted but not burning. */
|
|
1950
|
+
declare const STATUS_EXTINGUISHED = 11;
|
|
1951
|
+
/** True when STATUS lists 11 (extinguished). */
|
|
1952
|
+
declare function isExtinguishedLight(props: Readonly<Record<string, unknown>>): boolean;
|
|
1953
|
+
/** True when SIGGRP is a well-formed group string (the whitelist). */
|
|
1954
|
+
declare function isValidSiggrp(raw: unknown): raw is string;
|
|
1955
|
+
/**
|
|
1956
|
+
* The character and its group: `Fl(2+1)`, `Mo(A)`, `Q(6)+LFl`. Empty when
|
|
1957
|
+
* LITCHR is absent or not in the catalogue.
|
|
1958
|
+
*/
|
|
1959
|
+
declare function lightCharacterText(props: Readonly<Record<string, unknown>>): string;
|
|
1960
|
+
/** The colour group, `WR` — every light colour charted, ascending, once each. */
|
|
1961
|
+
declare function lightColourText(colour: unknown): string;
|
|
1962
|
+
/** Height, rounded whole: `31m`, or `102ft` in feet. Null when absent or not positive. */
|
|
1963
|
+
declare function lightHeightText(raw: unknown, units?: LightHeightUnits): string | null;
|
|
1964
|
+
/**
|
|
1965
|
+
* The character, colours and period — `Fl(2) WR 6s`. What a SECTOR of a
|
|
1966
|
+
* sector light is described by; its range is carried beside it and its
|
|
1967
|
+
* height belongs to the light, not the sector.
|
|
1968
|
+
*/
|
|
1969
|
+
declare function formatLightRhythm(props: Readonly<Record<string, unknown>>): string;
|
|
1970
|
+
/**
|
|
1971
|
+
* The full light description, LITDSN01 order (see the file header).
|
|
1972
|
+
* `props` are the LIGHTS feature's own attributes.
|
|
1973
|
+
*/
|
|
1974
|
+
declare function formatLightDescription(props: Readonly<Record<string, unknown>>, opts?: LightDescriptionOptions): string;
|
|
1975
|
+
/** GL twin of `formatLightDescription` — the chart label's `text-field`. */
|
|
1976
|
+
declare function lightDescriptionExpression(opts?: LightDescriptionOptions): unknown[];
|
|
1977
|
+
/** GL predicate: the light is extinguished (STATUS lists 11). */
|
|
1978
|
+
declare function extinguishedLightExpression(): unknown[];
|
|
1979
|
+
/**
|
|
1980
|
+
* Copy the description attributes of `light` (a LIGHTS feature's properties)
|
|
1981
|
+
* onto `target` (the clicked structure's) under `LIGHT_` names. The merge
|
|
1982
|
+
* sites (SDK `attach.ts`, the app's `ChartCanvas` and `use-map-renderer`)
|
|
1983
|
+
* already copy LITCHR / SIGGRP / SIGPER / CATLIT and `LIGHT_COLOUR`.
|
|
1984
|
+
*/
|
|
1985
|
+
declare function copyLightDescriptionAttributes(target: Record<string, unknown>, light: Readonly<Record<string, unknown>>): void;
|
|
1986
|
+
/**
|
|
1987
|
+
* The attributes a feature's light is described by. A LIGHTS feature: its
|
|
1988
|
+
* own. Anything else (a lighted buoy or beacon): the co-located light's,
|
|
1989
|
+
* as merged by the click — LITCHR / SIGGRP / SIGPER / CATLIT as copied,
|
|
1990
|
+
* `LIGHT_COLOUR` (else its own COLOUR, the historical fallback), and the
|
|
1991
|
+
* `LIGHT_`-prefixed rest.
|
|
1992
|
+
*/
|
|
1993
|
+
declare function lightDescriptionProps(layerName: string, props: Readonly<Record<string, unknown>>): Record<string, unknown>;
|
|
1994
|
+
|
|
1895
1995
|
/**
|
|
1896
1996
|
* CHRTinteract decode core — S-57 attribute decoder and flash-pattern
|
|
1897
1997
|
* generator for click-to-inspect.
|
|
@@ -1982,6 +2082,33 @@ interface SectorInfo {
|
|
|
1982
2082
|
*/
|
|
1983
2083
|
allRound?: boolean;
|
|
1984
2084
|
}
|
|
2085
|
+
/**
|
|
2086
|
+
* The dayboard a structure wears: an S-57 DAYMAR, which is the SLAVE of its
|
|
2087
|
+
* beacon (the beacon's LNAM_REFS points at it). Decoded from the tile's
|
|
2088
|
+
* derived `_daymark_*` properties — joined onto the master at build time
|
|
2089
|
+
* (CHRTbaremetal childAid.ts), or merged from a co-located DAYMAR by the
|
|
2090
|
+
* click path when the tile predates the join.
|
|
2091
|
+
*/
|
|
2092
|
+
interface DecodedDayboard {
|
|
2093
|
+
/** The board's TOPSHP — "Rhombus (diamond)", "Square", "Triangle, point up". */
|
|
2094
|
+
shape: string | null;
|
|
2095
|
+
/** Every COLOUR of the board, in charted order. */
|
|
2096
|
+
colour: string | null;
|
|
2097
|
+
/** The board's COLPAT — "Border stripes, Squared". */
|
|
2098
|
+
pattern: string | null;
|
|
2099
|
+
/** How many boards the structure carries (a junction beacon can have two). */
|
|
2100
|
+
count: number;
|
|
2101
|
+
}
|
|
2102
|
+
/**
|
|
2103
|
+
* One line for a dayboard, the same on every surface: shape first (what you
|
|
2104
|
+
* see from a distance), then the colours in charted order, then how they are
|
|
2105
|
+
* arranged — "Rhombus (diamond) — White, Green (Border stripes, Squared)".
|
|
2106
|
+
*/
|
|
2107
|
+
declare function formatDayboard(d: DecodedDayboard): string;
|
|
2108
|
+
interface DecodeNavAidOptions {
|
|
2109
|
+
/** Units the light's height is printed in, in `notation`. Default `meters`. */
|
|
2110
|
+
readonly units?: LightHeightUnits;
|
|
2111
|
+
}
|
|
1985
2112
|
interface DecodedNavAid {
|
|
1986
2113
|
name: string;
|
|
1987
2114
|
/** Full official OBJNAM (e.g., "Boston South Channel Buoy 7") */
|
|
@@ -1997,6 +2124,17 @@ interface DecodedNavAid {
|
|
|
1997
2124
|
shape: string | null;
|
|
1998
2125
|
topmark: string | null;
|
|
1999
2126
|
topmarkMeaning: string | null;
|
|
2127
|
+
/**
|
|
2128
|
+
* ⚠ ITS OWN FIELD, NEVER FOLDED INTO `colour`. Birch Point's stake is green
|
|
2129
|
+
* and white; the diamond on it is white and green in squares. Those are two
|
|
2130
|
+
* charted facts about two objects, and overwriting the stake's COLOUR with
|
|
2131
|
+
* the board's is how a dayboard used to repaint its beacon.
|
|
2132
|
+
*/
|
|
2133
|
+
dayboard: DecodedDayboard | null;
|
|
2134
|
+
/** COLPAT — how the colours are arranged ("Horizontal stripes"). */
|
|
2135
|
+
colourPattern: string | null;
|
|
2136
|
+
/** NATCON — what the structure is built of, every value. */
|
|
2137
|
+
construction: string | null;
|
|
2000
2138
|
lightCharacter: string | null;
|
|
2001
2139
|
lightCharacterFull: string | null;
|
|
2002
2140
|
period: number | null;
|
|
@@ -2042,7 +2180,7 @@ declare function deriveMarinerName(objnam: string, colourCode: number | null): s
|
|
|
2042
2180
|
* rendering the hint.
|
|
2043
2181
|
*/
|
|
2044
2182
|
declare function getTopmarkMeaning(topshpCode: number | null, rawLayer: string): string | null;
|
|
2045
|
-
declare function decodeNavAidProps(layerName: string, props: Record<string, unknown>, coords?: [number, number]): DecodedNavAid;
|
|
2183
|
+
declare function decodeNavAidProps(layerName: string, props: Record<string, unknown>, coords?: [number, number], opts?: DecodeNavAidOptions): DecodedNavAid;
|
|
2046
2184
|
interface FlashPhase {
|
|
2047
2185
|
on: boolean;
|
|
2048
2186
|
duration: number;
|
|
@@ -2632,7 +2770,10 @@ declare function collectClickCandidates(map: InteractMapLike, point: {
|
|
|
2632
2770
|
* - OBJNAM / COLOUR inherited from a co-located parent buoy/beacon
|
|
2633
2771
|
* - CATFOG from a co-located FOGSIG
|
|
2634
2772
|
* - RETRFL presence from a co-located RTPBCN
|
|
2635
|
-
* - TOPSHP from
|
|
2773
|
+
* - TOPSHP from the TOPMAR the structure's LNAM_REFS names (pointer first,
|
|
2774
|
+
* proximity only when the structure carries no pointers)
|
|
2775
|
+
* - the dayboard from the DAYMAR it names, into the derived `_daymark_*`
|
|
2776
|
+
* keys (its own "Dayboard" row — never the structure's COLOUR)
|
|
2636
2777
|
* - LITCHR / SIGPER / SIGGRP / LIGHT_COLOUR / CATLIT from the primary
|
|
2637
2778
|
* co-located LIGHTS (preferring a non-sector light)
|
|
2638
2779
|
* - all co-located LIGHTS combined into the sector list
|
|
@@ -3604,6 +3745,16 @@ interface StyleGeneratorOptions extends BuildSourcesOptions {
|
|
|
3604
3745
|
* omitted. Rule 4 (`OUTRANK_LABELS`) is kept for measurement.
|
|
3605
3746
|
*/
|
|
3606
3747
|
soundingsRule?: ChartSoundingsRule;
|
|
3748
|
+
/**
|
|
3749
|
+
* DANGER DEPTHS AS A PAIR (`danger-depth-placer.ts`): an invisible placer in
|
|
3750
|
+
* 0.10.3's collision form beneath each visible callout, which is always
|
|
3751
|
+
* drawn and displaces nothing — no sounding is hidden, and a tile draws the
|
|
3752
|
+
* callouts once. Default OFF: the served style keeps 0.10.4's form (the
|
|
3753
|
+
* label alone, always drawn, still in collision) until CHRTsail has checked
|
|
3754
|
+
* the pair on MapLibre Native; CHRTweb and CHRTdesktop turn it on
|
|
3755
|
+
* (`ChartCanvas`), and the style routes take `placers=1`.
|
|
3756
|
+
*/
|
|
3757
|
+
dangerDepthPlacers?: boolean;
|
|
3607
3758
|
}
|
|
3608
3759
|
declare function generateStyle(palette?: ColorTableName, opts?: StyleGeneratorOptions & {
|
|
3609
3760
|
bandFan?: BandFanMode;
|
|
@@ -4137,15 +4288,15 @@ declare function buildLabelLayer(layerId: string, sourceId: string, config: Labe
|
|
|
4137
4288
|
*/
|
|
4138
4289
|
declare function preprocessSoundings(fc: GeoJSON.FeatureCollection): GeoJSON.FeatureCollection;
|
|
4139
4290
|
/**
|
|
4140
|
-
* Pre-process LIGHTS GeoJSON to derive
|
|
4141
|
-
* Adds `_lightLabel`
|
|
4291
|
+
* Pre-process LIGHTS GeoJSON to derive the light description label.
|
|
4292
|
+
* Adds `_lightLabel` (e.g. "Fl(2) WR 6s 31m 12M").
|
|
4142
4293
|
*
|
|
4143
|
-
*
|
|
4144
|
-
*
|
|
4145
|
-
*
|
|
4146
|
-
*
|
|
4294
|
+
* The text is `formatLightDescription` — the one formatter the tile path's GL
|
|
4295
|
+
* expression (`lightDescriptionExpression`), the SDK notation and the app's
|
|
4296
|
+
* popup and inspector all use (`light-description.ts`).
|
|
4297
|
+
* `light-description.test.ts` asserts the JS and GL forms agree.
|
|
4147
4298
|
*/
|
|
4148
|
-
declare function preprocessLights(fc: GeoJSON.FeatureCollection): GeoJSON.FeatureCollection;
|
|
4299
|
+
declare function preprocessLights(fc: GeoJSON.FeatureCollection, opts?: LightDescriptionOptions): GeoJSON.FeatureCollection;
|
|
4149
4300
|
/** List of layers that have labels */
|
|
4150
4301
|
declare const LABELED_LAYERS: Set<string>;
|
|
4151
4302
|
/**
|
|
@@ -4177,6 +4328,43 @@ declare const PLACENAME_LAND_CLASSES: readonly string[];
|
|
|
4177
4328
|
*/
|
|
4178
4329
|
declare function buildPlaceNameLayers(sourceId: string, ct?: ColorTableName): maplibregl.LayerSpecification[];
|
|
4179
4330
|
|
|
4331
|
+
type Layer = {
|
|
4332
|
+
id: string;
|
|
4333
|
+
type: string;
|
|
4334
|
+
layout?: Record<string, unknown>;
|
|
4335
|
+
paint?: Record<string, unknown>;
|
|
4336
|
+
metadata?: Record<string, unknown>;
|
|
4337
|
+
};
|
|
4338
|
+
/** The visible danger-depth labels, and their legacy band-fan variants. */
|
|
4339
|
+
declare const DANGER_DEPTH_LABEL_ID: RegExp;
|
|
4340
|
+
/** The placers. Deliberately NOT matched by `^s52-(UWTROC|OBSTRN|WRECKS)-label`. */
|
|
4341
|
+
declare const DANGER_DEPTH_PLACER_ID: RegExp;
|
|
4342
|
+
/** `s52-UWTROC-label` → `s52-UWTROC-placer-label`; band variants keep their suffix. */
|
|
4343
|
+
declare function dangerDepthPlacerId(labelId: string): string;
|
|
4344
|
+
/** True for a placer layer id — invisible, never a hit target. */
|
|
4345
|
+
declare function isDangerDepthPlacer(layerId: string): boolean;
|
|
4346
|
+
/**
|
|
4347
|
+
* The visible half: always drawn, inserting no box, one sort key in source
|
|
4348
|
+
* order (a tile draws it once; "source" keeps the index buffer unsorted when
|
|
4349
|
+
* the chart rotates). Placement order is the placer's job.
|
|
4350
|
+
*/
|
|
4351
|
+
declare const DANGER_DEPTH_VISIBLE_LAYOUT: Readonly<Record<string, unknown>>;
|
|
4352
|
+
/**
|
|
4353
|
+
* 0.10.3's placement, and nothing else: collision on, shallowest first. The
|
|
4354
|
+
* text is copied from the visible label, so the box is the same box.
|
|
4355
|
+
*/
|
|
4356
|
+
declare const DANGER_DEPTH_PLACER_LAYOUT: Readonly<Record<string, unknown>>;
|
|
4357
|
+
/**
|
|
4358
|
+
* Every danger-depth text label turned into the visible half of a pair
|
|
4359
|
+
* (`DANGER_DEPTH_VISIBLE_LAYOUT`) and preceded (drawn below, so placed AFTER
|
|
4360
|
+
* it) by its invisible placer. A class emitted as a run of layers (the legacy band
|
|
4361
|
+
* fan, chart-mode cascades) gets its placers as one run directly beneath its
|
|
4362
|
+
* labels' run, so every role stays contiguous and the collapsed and legacy
|
|
4363
|
+
* emitters keep the same role order. A style without them returns the same
|
|
4364
|
+
* array.
|
|
4365
|
+
*/
|
|
4366
|
+
declare function addDangerDepthPlacers<L extends Layer>(layers: readonly L[]): L[];
|
|
4367
|
+
|
|
4180
4368
|
/**
|
|
4181
4369
|
* Spatial grid-based feature decimation for performance at low zoom levels.
|
|
4182
4370
|
* Thins dense GeoJSON feature sets by keeping only one representative
|
|
@@ -4452,6 +4640,9 @@ declare const S101_SYMBOL_NAMES: ReadonlySet<string>;
|
|
|
4452
4640
|
* exist (UWTROC03/04, SISTAT03, WATTUR02); the number encodes a
|
|
4453
4641
|
* different portrayal case.
|
|
4454
4642
|
* LIGHTHOUSE01 — a CHRT-local symbol name with no PresLib/S-101 analogue.
|
|
4643
|
+
* TMARDEF1 / TMARDEF2 — the PresLib TOPMAR01 "flag or other shape"
|
|
4644
|
+
* topmarks (beacon / buoy); the catalogue defines no TMARDEF symbols at
|
|
4645
|
+
* all. TMARDEF1 arrived with the rigid TOPMAR01 table (2026-10).
|
|
4455
4646
|
*
|
|
4456
4647
|
* Pinned by `s101-style.test.ts` so the set can only shrink deliberately
|
|
4457
4648
|
* (e.g. when re-pinned to an in-force catalogue edition that adds them).
|
|
@@ -4594,11 +4785,22 @@ declare function chrtHouseColor(dayHex: string, palette?: ColorTableName): strin
|
|
|
4594
4785
|
* its paint is the style's `icon-color`.
|
|
4595
4786
|
*/
|
|
4596
4787
|
declare function themeChrtGlyph(svg: string, palette?: ColorTableName): string;
|
|
4597
|
-
/**
|
|
4788
|
+
/**
|
|
4789
|
+
* Tint expression for SDF bodies: the mark's DOMINANT colour — the first
|
|
4790
|
+
* chromatic code in COLOUR, which S-57 lists top band first.
|
|
4791
|
+
*
|
|
4792
|
+
* ⚠ It used to rank codes by salience (red before green) and take the first
|
|
4793
|
+
* one PRESENT, whatever its position. That painted a green-red-green
|
|
4794
|
+
* preferred-channel mark (`["4","3","4"]`) red — the opposite lateral side —
|
|
4795
|
+
* and contradicted the module header's own "first listed colour" contract.
|
|
4796
|
+
* White/black/brown/grey only tint a mark that carries no chromatic colour.
|
|
4797
|
+
*/
|
|
4598
4798
|
declare function chrtAtonTintExpression(palette?: ColorTableName): unknown[];
|
|
4599
|
-
/** Lights tint: exact colour (incl. blue/orange —
|
|
4600
|
-
* the encoded colour, unlike the S-52 three-bucket
|
|
4601
|
-
*
|
|
4799
|
+
/** Lights tint: the exact colour of a one-colour light (incl. blue/orange —
|
|
4800
|
+
* the house style renders the encoded colour, unlike the S-52 three-bucket
|
|
4801
|
+
* flares), the LIGHTS06 fold for white+red / white+green, and the house
|
|
4802
|
+
* "unknown" grey for everything else — a red-and-green light or a light with
|
|
4803
|
+
* no charted colour has no one true colour, and painting one asserts it. */
|
|
4602
4804
|
declare function chrtLightTintExpression(palette?: ColorTableName): unknown[];
|
|
4603
4805
|
/** Per-class house icon expressions. Classes not listed keep their S-52
|
|
4604
4806
|
* icons (e.g. TOPMAR's minimal black shapes already fit the house look). */
|
|
@@ -4731,12 +4933,13 @@ declare const S52_ATON_LOOKUPS_PAPER: Record<string, AtonClassLookup>;
|
|
|
4731
4933
|
* LIGHTS has no lookup rows (the table delegates to CS(LIGHTS05)); the
|
|
4732
4934
|
* flare selection here transcribes the PresLib LIGHTS05/06 procedure as
|
|
4733
4935
|
* implemented by OpenCPN s52cnsy.cpp `_selSYcol()` + the CATLIT pre-checks:
|
|
4734
|
-
* red→LIGHTS11, green→LIGHTS12, white/yellow/
|
|
4936
|
+
* red→LIGHTS11, green→LIGHTS12, white/yellow/orange→LIGHTS13,
|
|
4735
4937
|
* white+red→LIGHTS11, white+green→LIGHTS12, floodlight/fog-detector→LIGHTS82,
|
|
4736
4938
|
* strip light→LIGHTS81, everything else→LITDEF11. The vendored flare SVGs
|
|
4737
4939
|
* carry the spec colour and the 135° flare rotation baked in, so selection
|
|
4738
|
-
* is purely icon-name choice. Sector
|
|
4739
|
-
*
|
|
4940
|
+
* is purely icon-name choice. Sector lights get no flare at all — their legs
|
|
4941
|
+
* and arcs are `sector-lights.ts`; this module only picks the symbol at the
|
|
4942
|
+
* light.
|
|
4740
4943
|
*/
|
|
4741
4944
|
|
|
4742
4945
|
/** Classes whose icon selection is fully lookup-table-driven. TOPMAR and
|
|
@@ -4753,7 +4956,7 @@ declare function atonIconExpression(objectClass: string): string | unknown[];
|
|
|
4753
4956
|
/**
|
|
4754
4957
|
* LIGHTS flare selection per the LIGHTS05/06 conditional symbology
|
|
4755
4958
|
* procedure (see module header for provenance). COLOUR codes: 1 white,
|
|
4756
|
-
* 3 red, 4 green, 6 yellow,
|
|
4959
|
+
* 3 red, 4 green, 6 yellow, 11 orange.
|
|
4757
4960
|
*/
|
|
4758
4961
|
declare function lightsIconExpression(): unknown[];
|
|
4759
4962
|
|
|
@@ -4802,6 +5005,84 @@ declare const S52_PATTERN_SPRITE_PREFIX = "AP:";
|
|
|
4802
5005
|
/** Registered image id for a PresLib pattern name, e.g. "VEGATN03" -> "AP:VEGATN03". */
|
|
4803
5006
|
declare function patternSpriteId(patternName: string): string;
|
|
4804
5007
|
|
|
5008
|
+
/**
|
|
5009
|
+
* Sector lights in the generated style — S-52 LIGHTS05, drawn from the
|
|
5010
|
+
* tiles' own SECTR1 / SECTR2 with no derived geometry.
|
|
5011
|
+
*
|
|
5012
|
+
* LIGHTS05 gives a sectored light (SECTR1 and SECTR2 both charted) NO flare.
|
|
5013
|
+
* It gets two sector LEGS, dashed black, from the light along each limit, and
|
|
5014
|
+
* an ARC between them in the sector's colour over a black outline:
|
|
5015
|
+
* `LS(DASH,1,CHBLK)` legs 25 mm long, `CA(OUTLW,4,<colour>,2…)` at 20 mm, and
|
|
5016
|
+
* 25 mm where another sector at the same position overlaps this one. Before
|
|
5017
|
+
* this module the served style drew every sector as an ordinary flare at the
|
|
5018
|
+
* light's 135° offset, so co-located sectors stacked into one flare and the
|
|
5019
|
+
* chart said nothing about which way any colour shows (Hendricks Head,
|
|
5020
|
+
* US5ME1JP / US4ME1CE: W 000°–180°, R 180°–000°, drawn as one white flare).
|
|
5021
|
+
*
|
|
5022
|
+
* ⚠ BEARINGS ARE FROM SEAWARD. SECTR1/SECTR2 are the bearing of the light AS
|
|
5023
|
+
* SEEN FROM THE VESSEL, so a limit is drawn on its reciprocal (+180°) — the
|
|
5024
|
+
* same rule as `sectorLimitToArcBearing` in `../interact/decode.ts` and
|
|
5025
|
+
* `src/lib/map/nav-aid-info.ts`, whose geometry was verified light by light in
|
|
5026
|
+
* docs/validation/sector-light-audit-2026-09.md.
|
|
5027
|
+
*
|
|
5028
|
+
* ── Why sprites, not tile geometry ───────────────────────────────────────
|
|
5029
|
+
*
|
|
5030
|
+
* S-52 sizes legs and arcs in SCREEN millimetres: the ring is the same size
|
|
5031
|
+
* at every zoom. Geometry baked into tiles is geographic and would have to be
|
|
5032
|
+
* re-emitted per zoom, and it would ship only with a tile rebuild. A rotated
|
|
5033
|
+
* icon is screen-sized by construction and reads SECTR1/SECTR2 from tiles that
|
|
5034
|
+
* already exist, so the portrayal ships with the style.
|
|
5035
|
+
*
|
|
5036
|
+
* - A LEG is one dashed sprite anchored at its foot and turned to the limit
|
|
5037
|
+
* with `icon-rotate`. Exact to the charted tenth of a degree.
|
|
5038
|
+
* - An ARC of arbitrary sweep is composed from at most three segment sprites,
|
|
5039
|
+
* one per base-8 digit of the sweep in whole degrees: `64·a + 8·b + c`.
|
|
5040
|
+
* Layer k draws digit k's segment, rotated to start where the previous
|
|
5041
|
+
* digit's ended. 19 segment shapes (1–7°, 8–56°, 64–320°) per colour cover
|
|
5042
|
+
* every sweep from 1° to 360°, against 360 sprites for a one-per-degree set.
|
|
5043
|
+
* The sweep is rounded to whole degrees and the rounding is split across
|
|
5044
|
+
* both ends, so the arc lands within 0.5° of each leg — about a quarter of
|
|
5045
|
+
* a pixel at the radius drawn. The legs carry the exact limits.
|
|
5046
|
+
*
|
|
5047
|
+
* Segment sprites are cropped to their own ink; `icon-offset` puts each one's
|
|
5048
|
+
* box back where it belongs relative to the light, and MapLibre rotates the
|
|
5049
|
+
* offset with the icon, so the arc's centre stays on the light at any bearing.
|
|
5050
|
+
*
|
|
5051
|
+
* ── Sizes ───────────────────────────────────────────────────────────────
|
|
5052
|
+
*
|
|
5053
|
+
* The S-52 PROPORTION (leg 25 : arc 20, outline 4 : core 2) is kept. The
|
|
5054
|
+
* absolute size is the house one: the CHRTweb overlay's owner-tuned ~29 px
|
|
5055
|
+
* ring at z14 (`SECTOR_HIGH_ZOOM_RADIUS_NM` in nav-aid-info.ts), easing smaller
|
|
5056
|
+
* toward planning zooms the same way the flares do. Full S-52 size at CHRT's
|
|
5057
|
+
* 2× symbol scale would be a 125 px ring, which the owner already rejected as
|
|
5058
|
+
* the loudest layer on the chart when the overlay drew 58 px ones.
|
|
5059
|
+
*/
|
|
5060
|
+
|
|
5061
|
+
declare function isSectorSpriteId(name: string): boolean;
|
|
5062
|
+
/**
|
|
5063
|
+
* A sectored light, per LIGHTS05: both limits charted and a non-zero sweep. A
|
|
5064
|
+
* light whose limits coincide is all-round and keeps its flare. (None of the
|
|
5065
|
+
* 4,361 corpus sectors do; the guard is for the spec, not the data.)
|
|
5066
|
+
*/
|
|
5067
|
+
declare const IS_SECTOR_LIGHT: unknown[];
|
|
5068
|
+
declare const SECTOR_ARC_LAYER_IDS: readonly ["s52-LIGHTS-sector-arc-64", "s52-LIGHTS-sector-arc-8", "s52-LIGHTS-sector-arc-1"];
|
|
5069
|
+
declare const SECTOR_LEG_LAYER_IDS: readonly ["s52-LIGHTS-sector-leg-1", "s52-LIGHTS-sector-leg-2"];
|
|
5070
|
+
/**
|
|
5071
|
+
* Every layer this module emits — the ids an app with its own sector overlay
|
|
5072
|
+
* hides while that overlay is up (CHRTweb's ChartCanvas, the platform map).
|
|
5073
|
+
*/
|
|
5074
|
+
declare const SECTOR_LIGHT_LAYER_IDS: readonly string[];
|
|
5075
|
+
/**
|
|
5076
|
+
* The sector-light layers for one source. Not band-fanned: every band's copy
|
|
5077
|
+
* of a light sits at the same position (Amelia Island is charted identically in
|
|
5078
|
+
* seven cells), so copies draw exactly over each other. Arcs first, legs over
|
|
5079
|
+
* them so each limit reads across the band.
|
|
5080
|
+
*
|
|
5081
|
+
* `ct` is accepted for symmetry with `buildLampLayers`; the sprites carry their
|
|
5082
|
+
* S-52 tokens and are themed by the sheet, so no paint here depends on it.
|
|
5083
|
+
*/
|
|
5084
|
+
declare function buildSectorLightLayers(sourceId: string, _ct?: ColorTableName): StyleLayer[];
|
|
5085
|
+
|
|
4805
5086
|
/**
|
|
4806
5087
|
* S-52 SVG Loader — pure (DOM-free) string operations over the inlined S-52
|
|
4807
5088
|
* SVG catalogue in `s52-svgs-generated.ts`. SVG files use S-52 color token
|
|
@@ -5780,4 +6061,4 @@ declare class Chrt {
|
|
|
5780
6061
|
warmTiles(region?: string): Promise<TileTokenResponse>;
|
|
5781
6062
|
}
|
|
5782
6063
|
|
|
5783
|
-
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, 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, 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, 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, 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 };
|
|
6064
|
+
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, 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, 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, sectorLimitToArcBearing, semiboldFontStack, snapChartSymbolScale, soundingPadding, soundingPaddingValue, splitOpaqueDepthAreas, stepChartSymbolScale, styleModeBand, terrainStackCount, textSliderFor, themeChrtGlyph, tileTemplate, uncoveredSectorArcs, withinBboxFilter, worldMinusBboxPolygon };
|