@chrtco/sdk 0.10.47 → 0.10.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +465 -76
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +316 -113
- package/dist/index.d.ts +316 -113
- package/dist/index.js +430 -70
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -3072,112 +3072,6 @@ interface BuildSourcesOptions {
|
|
|
3072
3072
|
*/
|
|
3073
3073
|
declare function buildSources(opts?: BuildSourcesOptions): Record<string, AnySourceSpec>;
|
|
3074
3074
|
|
|
3075
|
-
/**
|
|
3076
|
-
* DEPTH NUMBERS — how big the chart draws its depth figures.
|
|
3077
|
-
*
|
|
3078
|
-
* Asked for from the helm (chip 68, 2026-10-05), by a captain running CHRTsail
|
|
3079
|
-
* desktop on a Raspberry Pi: *"I still need the depth numbers to be bolder
|
|
3080
|
-
* which may be a setting. I just can't sail the boat and adjust all that stuff
|
|
3081
|
-
* at the same time."* A set-and-forget choice, then, not a slider.
|
|
3082
|
-
*
|
|
3083
|
-
* ===========================================================================
|
|
3084
|
-
* WHAT "LARGE" CHANGES, AND WHAT IT IS NOT ALLOWED TO TOUCH
|
|
3085
|
-
* ===========================================================================
|
|
3086
|
-
*
|
|
3087
|
-
* It changes the SIZE of the glyphs (and, where a class was Regular, the
|
|
3088
|
-
* WEIGHT, to the Semibold soundings already use), the halo a little — see
|
|
3089
|
-
* `LARGE` for why less than the glyph — and the sounding collision padding —
|
|
3090
|
-
* see `LARGE_SOUNDING_PADDING_PX` for why that one moves.
|
|
3091
|
-
*
|
|
3092
|
-
* It does not touch, and `depth-label-size.test.ts` holds every one of these
|
|
3093
|
-
* equal to the Standard style in every palette and every symbol family:
|
|
3094
|
-
*
|
|
3095
|
-
* - `text-field` — the number itself, its unit conversion, its rounding.
|
|
3096
|
-
* ENC content is never altered; a bigger "4" is still the cell's "4".
|
|
3097
|
-
* - `text-color` / `text-halo-color` — §SOUNDG02's two shades against the
|
|
3098
|
-
* safety contour, and the palette that draws them (red night included:
|
|
3099
|
-
* it IS the NIGHT chart). A depth number shoaler than the contour stays
|
|
3100
|
-
* the loud one.
|
|
3101
|
-
* - `symbol-sort-key` — shallowest wins a collision, at any size.
|
|
3102
|
-
* - `filter`, `minzoom`, `maxzoom`, layer ids and layer order — so the
|
|
3103
|
-
* resident layer set the desktop builds at boot is the same set, and a
|
|
3104
|
-
* switch is `setLayoutProperty` / `setPaintProperty` on layers already
|
|
3105
|
-
* there. No layer and no draw call is added; what costs more is GPU fill,
|
|
3106
|
-
* because a bigger glyph covers more pixels (about 6–7 % more blended
|
|
3107
|
-
* fragments per pixel on the chart bench — the PR has the numbers).
|
|
3108
|
-
*
|
|
3109
|
-
* ===========================================================================
|
|
3110
|
-
* WHICH LABELS ARE "DEPTH NUMBERS"
|
|
3111
|
-
* ===========================================================================
|
|
3112
|
-
*
|
|
3113
|
-
* Exactly the ones the depth-unit switch converts (`buildLabelLayer` in
|
|
3114
|
-
* `layer-builder.ts`): soundings, contour values, and the depth printed beside
|
|
3115
|
-
* a rock, wreck or obstruction. The unit switch already treats those three as
|
|
3116
|
-
* one claim — its own note says a rock's figure "is the SAME depth claim as a
|
|
3117
|
-
* sounding" — and a size switch that enlarged the soundings around a rock but
|
|
3118
|
-
* left the rock's own depth small would make the hazard the quietest number
|
|
3119
|
-
* on that part of the chart.
|
|
3120
|
-
*
|
|
3121
|
-
* Not the dredged-channel note (`DRGNOTE`): it is a sentence fitted inside
|
|
3122
|
-
* its own channel polygon at a computed size, and scaling it would stop it
|
|
3123
|
-
* fitting. Not the bridge note: a clearance is a height, not a depth.
|
|
3124
|
-
*
|
|
3125
|
-
* ===========================================================================
|
|
3126
|
-
* WHY NOT A BOLD FACE
|
|
3127
|
-
* ===========================================================================
|
|
3128
|
-
*
|
|
3129
|
-
* The chart's glyph sets are Open Sans Regular, Semibold and Italic — the tile
|
|
3130
|
-
* worker's `/v1/glyphs` (`cloudflare/tile-worker/glyphs/GLYPHS.json`) and the
|
|
3131
|
-
* offline chart-assets pack serve those three and nothing else, and a
|
|
3132
|
-
* fontstack no glyph host serves is the failure `labels.ts`'s SOUNDG note
|
|
3133
|
-
* describes (Native lost every sounding). Soundings are already Semibold. So "bolder" here is
|
|
3134
|
-
* size: stroke width scales with the glyph, and at 1x device pixels (a Pi's
|
|
3135
|
-
* panel) a 14 px Semibold numeral is both heavier and crisper than a 10 px one.
|
|
3136
|
-
*/
|
|
3137
|
-
|
|
3138
|
-
/** The two choices, in presentation order. */
|
|
3139
|
-
declare const DEPTH_LABEL_SIZES: readonly ["standard", "large"];
|
|
3140
|
-
type DepthLabelSize = (typeof DEPTH_LABEL_SIZES)[number];
|
|
3141
|
-
/**
|
|
3142
|
-
* Standard is the chart as it has always been drawn, and it is what a style
|
|
3143
|
-
* generated without the option gets: byte-identical, so the served style, the
|
|
3144
|
-
* native-render goldens and every client that never asks are unchanged.
|
|
3145
|
-
*/
|
|
3146
|
-
declare const DEFAULT_DEPTH_LABEL_SIZE: DepthLabelSize;
|
|
3147
|
-
/** Case-insensitive; anything unrecognised is `null`, never a throw. */
|
|
3148
|
-
declare function parseDepthLabelSize(raw: string | null | undefined): DepthLabelSize | null;
|
|
3149
|
-
/** The S-57 classes whose label is a depth figure. See the header. */
|
|
3150
|
-
declare const DEPTH_LABEL_CLASSES: ReadonlySet<string>;
|
|
3151
|
-
/**
|
|
3152
|
-
* Sounding collision padding at Large, px. Standard is 6.
|
|
3153
|
-
*
|
|
3154
|
-
* ⚠ THIS IS THE ONE THAT DECIDES HOW MANY SOUNDINGS SURVIVE. MapLibre drops a
|
|
3155
|
-
* sounding whose box (glyphs + padding) overlaps one already placed — the
|
|
3156
|
-
* shallowest places first, so what drops is the deeper figure. A 1.4x numeral
|
|
3157
|
-
* inside Standard's 6 px padding lost a quarter of the soundings: bigger
|
|
3158
|
-
* numbers, fewer of them, which is not what was asked for. Trimming the
|
|
3159
|
-
* padding gives the box back.
|
|
3160
|
-
*
|
|
3161
|
-
* Measured 2026-10-05 on the chart bench (`scripts/chart-bench`, Boston, DAY,
|
|
3162
|
-
* 1280x800 at 1x), soundings placed, Standard → Large at this padding:
|
|
3163
|
-
*
|
|
3164
|
-
* z11.5 515 → 539 (+5%) z12.3 434 → 415 (−4%)
|
|
3165
|
-
* z13 374 → 366 (−2%) z14 326 → 311 (−5%)
|
|
3166
|
-
*
|
|
3167
|
-
* and at Standard's 6 px: 391 / 246 at z11.5 / z14 (−24% / −25%). 3 px kept
|
|
3168
|
-
* z14 level but put 17% MORE figures on the coastal view, which reads as
|
|
3169
|
-
* clutter rather than as the same chart drawn bigger.
|
|
3170
|
-
*/
|
|
3171
|
-
declare const LARGE_SOUNDING_PADDING_PX = 3.5;
|
|
3172
|
-
/**
|
|
3173
|
-
* Apply a depth-label size to one generated label layer.
|
|
3174
|
-
*
|
|
3175
|
-
* Standard — and any class that is not a depth figure — returns the SAME
|
|
3176
|
-
* object, untouched. Large returns a copy with only the properties listed in
|
|
3177
|
-
* the header changed.
|
|
3178
|
-
*/
|
|
3179
|
-
declare function applyDepthLabelSize(objectClass: string, layer: StyleLayer, size: DepthLabelSize | undefined): StyleLayer;
|
|
3180
|
-
|
|
3181
3075
|
/**
|
|
3182
3076
|
* Builds Mapbox GL Style layer specs from S-52 lookup entries.
|
|
3183
3077
|
* Wraps the existing atlas resolveStyle() and adds source/source-layer/filter.
|
|
@@ -3218,6 +3112,308 @@ declare function buildLayersForClass(objectClass: string, ct: ColorTableName, so
|
|
|
3218
3112
|
*/
|
|
3219
3113
|
declare function getOrderedClasses(): string[];
|
|
3220
3114
|
|
|
3115
|
+
/**
|
|
3116
|
+
* CHART SIZING — five sliders over what the chart prints: LAND LABELS, WATER
|
|
3117
|
+
* LABELS, DEPTH NUMBERS, WAYPOINTS, CHART ICONS, 50–200 % (owner, 2026-10-05).
|
|
3118
|
+
*
|
|
3119
|
+
* ===========================================================================
|
|
3120
|
+
* ONE MODEL, EVERY CLIENT
|
|
3121
|
+
* ===========================================================================
|
|
3122
|
+
*
|
|
3123
|
+
* The owner asked for the sliders on CHRTsail iOS (*"please add the following
|
|
3124
|
+
* as sizing sliders: land label size, water label size, waypoint size, chart
|
|
3125
|
+
* icon size"*) the same day a captain at a Raspberry Pi helm asked CHRTsail
|
|
3126
|
+
* desktop for *"the depth numbers to be bolder"* (chip 68). The decisions:
|
|
3127
|
+
* desktop and web ADOPT the iOS model rather than ship a control of their own,
|
|
3128
|
+
* and every platform gains a FIFTH slider, DEPTH NUMBERS, for the depth
|
|
3129
|
+
* figures. So this file is a port of `ChartSymbolSizing.swift` (chrt-co/sail,
|
|
3130
|
+
* #1038 at d5cd7060, read 2026-10-05) plus DEPTH NUMBERS as agreed with
|
|
3131
|
+
* CHRTKit's owner (sail, 2026-10-05: `depthNumbers`, `chart.depthNumberScale`,
|
|
3132
|
+
* the ladder and rules below). The classification tables and the collision
|
|
3133
|
+
* rules are copied, not re-derived; a disagreement between the two clients is
|
|
3134
|
+
* a bug in one of them.
|
|
3135
|
+
*
|
|
3136
|
+
* WAYPOINTS is in the vocabulary but not in this file's transform: waypoints
|
|
3137
|
+
* are the app's own marks (DOM, not style layers) and the app scales them.
|
|
3138
|
+
*
|
|
3139
|
+
* ===========================================================================
|
|
3140
|
+
* THE RULE THE PORT KEEPS — iOS's, verbatim in substance
|
|
3141
|
+
* ===========================================================================
|
|
3142
|
+
*
|
|
3143
|
+
* A bigger symbol may OVERLAP the chart. It may never DISPLACE it.
|
|
3144
|
+
*
|
|
3145
|
+
* 1. 100 % is the generated style, byte for byte (`applyChartSymbolScales`
|
|
3146
|
+
* returns the same object).
|
|
3147
|
+
* 2. An enlarged layer stops taking part in other symbols' placement
|
|
3148
|
+
* (`*-ignore-placement: true`): it may vanish itself, it removes nothing.
|
|
3149
|
+
* 3. Enlarged hazard text — CHRT's label band 100, `chrt:labelPriority` —
|
|
3150
|
+
* also gets `text-allow-overlap: true`: never dropped.
|
|
3151
|
+
* 4. The soundings keep CHRT's collision flags (a sounding layer that ignored
|
|
3152
|
+
* placement would stop decluttering itself) — and OUTRANK every label
|
|
3153
|
+
* above them: whenever ANY label slider (land, water, chart icons) is off
|
|
3154
|
+
* 100 %, every text label placed before the soundings, hazard text and
|
|
3155
|
+
* unclassified labels included, stops taking part in placement. A
|
|
3156
|
+
* sounding then gives way only to a shallower sounding. iOS's
|
|
3157
|
+
* `ChartSoundingsRule.outrankLabels`, chosen by its Boston Inner Harbor
|
|
3158
|
+
* census (z13–16, every slider at 50/100/150/200 %): every rule that only
|
|
3159
|
+
* protected the ENLARGED layer lost a shallow sounding, including on the
|
|
3160
|
+
* way DOWN — a sea-area name shrunk to 50 % fitted where it used to be
|
|
3161
|
+
* culled, got placed, and culled a sounding beneath it.
|
|
3162
|
+
*
|
|
3163
|
+
* Its cost, measured on this chart (bench, Boston, LAND 105 %): 46–56 %
|
|
3164
|
+
* more soundings at z11.5–13, aid names up to 3.6x, sea and island names
|
|
3165
|
+
* drawn twice — labels above the soundings stop culling each other as well
|
|
3166
|
+
* as the soundings.
|
|
3167
|
+
*
|
|
3168
|
+
* **THE ZOOM SPLIT — the soundings rule in force** (owner, 2026-10-06;
|
|
3169
|
+
* CHRTKit `ChartSoundingsRule.zoomSplit(harbourFrom: 14)`, sail 20f9f56bb;
|
|
3170
|
+
* `CHART_SOUNDINGS_RULE`). MapLibre has one collision index and no
|
|
3171
|
+
* groups, so a label class above the soundings either culls them or culls
|
|
3172
|
+
* nothing, its own kind included (the pile-up). Rule 4 is therefore kept
|
|
3173
|
+
* only for what orients the chart — sea-area, island and land-region
|
|
3174
|
+
* names, CHRTland and CHRT_BASE labels, and label band 100
|
|
3175
|
+
* (`keptAboveSoundings`). Every OTHER text label above the soundings
|
|
3176
|
+
* (buoy, beacon and fog-signal names, the dredged-area note) moves
|
|
3177
|
+
* directly BELOW them, in its served order, and its collision flags step
|
|
3178
|
+
* with zoom: CHRT's own below zoom 14, where it thins out round the
|
|
3179
|
+
* soundings, and `true` from 14, where it is always drawn and displaces
|
|
3180
|
+
* nothing — exactly what rule 4 draws there. Measured on the bench: 0
|
|
3181
|
+
* shoals uncovered beyond rule 4's own; buoy names 33 / 12 / 5 at
|
|
3182
|
+
* z14 / 15 / 16 against served 25 / 11 / 5, and 5–27 against 60–78 below.
|
|
3183
|
+
* Layer order cannot change with zoom, but flags can, so this is one
|
|
3184
|
+
* order with zoom-stepped flags, the same edits on every platform.
|
|
3185
|
+
*
|
|
3186
|
+
* Shrinking keeps every served flag on the layer that shrinks: a smaller box
|
|
3187
|
+
* can only free space (rule 4 covers what that freed space then admits).
|
|
3188
|
+
*
|
|
3189
|
+
* ===========================================================================
|
|
3190
|
+
* DEPTH NUMBERS — 0.10.3's toggle, as a slider
|
|
3191
|
+
* ===========================================================================
|
|
3192
|
+
*
|
|
3193
|
+
* DEPTH NUMBERS takes the depth figures (`DEPTH_FIGURE_CLASSES`: soundings,
|
|
3194
|
+
* contour values, the depth beside a rock, wreck or obstruction) away from
|
|
3195
|
+
* WATER LABELS and CHART ICONS, and keeps CHRT's collision flags on the
|
|
3196
|
+
* soundings and contour values. OFF 100 %, EITHER WAY, IT TRIGGERS THE ZOOM
|
|
3197
|
+
* SPLIT (owner, 2026-10-06, `labelSlidersOffStandard`: "a size control must
|
|
3198
|
+
* never remove a shoal, whichever way it's moved"). Bigger depth glyphs collide
|
|
3199
|
+
* with more of the labels placed before them: on the bench at Boston DEPTH
|
|
3200
|
+
* 140 % alone left 7 / 3 / 1 shoals uncovered at z12.3 / 13 / 14 — 0.10.3's
|
|
3201
|
+
* Large left 8 / 4 / 1. With the split: 0. Shrinking is a trigger by the same
|
|
3202
|
+
* rule, measured or not (`scripts/chart-bench/depth-numbers-census.ts`).
|
|
3203
|
+
* Above 100 %:
|
|
3204
|
+
*
|
|
3205
|
+
* A. **Depth figures go Semibold** — each served Regular face swapped for its
|
|
3206
|
+
* Semibold (`semiboldFontStack`, derived from the name as CHRTKit does).
|
|
3207
|
+
* Soundings already are; contour values and the depth beside a rock,
|
|
3208
|
+
* wreck or obstruction are Regular, and an enlarged Regular numeral
|
|
3209
|
+
* beside an enlarged Semibold one reads as two kinds of figure. There is no Bold glyph set on any CHRT glyph host
|
|
3210
|
+
* (`cloudflare/tile-worker/glyphs/GLYPHS.json`), so this is the heaviest
|
|
3211
|
+
* face a client may ask for.
|
|
3212
|
+
* B. **Halos grow half as fast as the glyph** (`haloFactor`), on depth
|
|
3213
|
+
* figures only and at DEPTH NUMBERS' own factor — a contour value's
|
|
3214
|
+
* half-rate size does not halve its halo again (CHRTKit,
|
|
3215
|
+
* `ChartDepthFigureRules.haloWidth`). A halo is the S-52 cut-out, and in
|
|
3216
|
+
* DUSK it is dark like a deeper sounding's fill, so it THICKENS that
|
|
3217
|
+
* numeral instead of cutting it out (`s-52.md` §8a). Grown in proportion,
|
|
3218
|
+
* the deeper DUSK soundings out-weighed the shoal ones beside them — the
|
|
3219
|
+
* two-shade rule backwards.
|
|
3220
|
+
* C. **The sounding collision padding shrinks as the soundings grow**
|
|
3221
|
+
* (`soundingPadding`), so about as many soundings are placed at 140 % as
|
|
3222
|
+
* at 100 %: CHRT's 6 px padding at 1.4x placed a quarter fewer (326 → 246
|
|
3223
|
+
* at Boston z14, chip 68); 3.5 px held z11.5–15 within ±5 %.
|
|
3224
|
+
* D. **Contour values grow at half rate** (`contourValueFactor`) — 0.10.3's
|
|
3225
|
+
* 1.2x beside 1.4x soundings, so a contour label still fits its line.
|
|
3226
|
+
* And rule 3 for the depth callouts beside rocks, wrecks and obstructions
|
|
3227
|
+
* (CHRTKit's call): never dropped, never displacing, so a hazard is never
|
|
3228
|
+
* drawn with its depth culled.
|
|
3229
|
+
*
|
|
3230
|
+
* Nothing here touches a label's TEXT, its colours (the §SOUNDG02 two shades),
|
|
3231
|
+
* its sort key, filter or zoom gate, or the layer set.
|
|
3232
|
+
*/
|
|
3233
|
+
|
|
3234
|
+
/**
|
|
3235
|
+
* Drawer order — iOS's `ChartSymbolSize.allCases` plus DEPTH NUMBERS.
|
|
3236
|
+
*
|
|
3237
|
+
* ⚠ DEPTH NUMBERS IS THE OWNER'S FIFTH SLIDER (2026-10-05), on every platform.
|
|
3238
|
+
* It takes the depth figures — soundings, contour values, the depth beside a
|
|
3239
|
+
* rock, wreck or obstruction — away from WATER LABELS and CHART ICONS, scales
|
|
3240
|
+
* them the way 0.10.3's DEPTH NUMBERS toggle did, and off 100 % — either way —
|
|
3241
|
+
* triggers the zoom split as LAND, WATER and CHART ICONS do (owner, 2026-10-06). 100 % on
|
|
3242
|
+
* every client by default. Name, wire and ladder as CHRTKit's shared model;
|
|
3243
|
+
* see `CHART_SYMBOL_SIZE_WIRE`.
|
|
3244
|
+
*/
|
|
3245
|
+
declare const CHART_SYMBOL_SIZES: readonly ["landLabels", "waterLabels", "depthNumbers", "waypoints", "chartIcons"];
|
|
3246
|
+
type ChartSymbolSize = (typeof CHART_SYMBOL_SIZES)[number];
|
|
3247
|
+
/** The account key each slider syncs under — iOS `SettingKey.*Scale.wireName`. */
|
|
3248
|
+
declare const CHART_SYMBOL_SIZE_WIRE: Readonly<Record<ChartSymbolSize, string>>;
|
|
3249
|
+
/** The row names — `ChartSymbolSize.label`, verbatim. */
|
|
3250
|
+
declare const CHART_SYMBOL_SIZE_LABELS: Readonly<Record<ChartSymbolSize, string>>;
|
|
3251
|
+
/** What each slider reaches, one line — `ChartSymbolSize.reach`, verbatim. */
|
|
3252
|
+
declare const CHART_SYMBOL_SIZE_REACH: Readonly<Record<ChartSymbolSize, string>>;
|
|
3253
|
+
/** `ChartSymbolScale` — integer percent throughout. */
|
|
3254
|
+
declare const CHART_SYMBOL_SCALE: {
|
|
3255
|
+
readonly min: 50;
|
|
3256
|
+
readonly max: 200;
|
|
3257
|
+
readonly standard: 100;
|
|
3258
|
+
/** The − / + step. */
|
|
3259
|
+
readonly buttonStep: 10;
|
|
3260
|
+
/** The slider's snap. */
|
|
3261
|
+
readonly sliderStep: 5;
|
|
3262
|
+
};
|
|
3263
|
+
type ChartSymbolScales = Readonly<Record<ChartSymbolSize, number>>;
|
|
3264
|
+
declare const STANDARD_CHART_SYMBOL_SCALES: ChartSymbolScales;
|
|
3265
|
+
declare function clampChartSymbolScale(percent: number): number;
|
|
3266
|
+
/** A slider position → the stored percent: nearest 5, clamped. */
|
|
3267
|
+
declare function snapChartSymbolScale(value: number): number;
|
|
3268
|
+
/** One press of − or +, from wherever the value is (125 % − is 115 %). */
|
|
3269
|
+
declare function stepChartSymbolScale(percent: number, presses: number): number;
|
|
3270
|
+
/**
|
|
3271
|
+
* A stored or synced value. Unreadable → `null` (the caller's default);
|
|
3272
|
+
* out of range → clamped, so a newer client's wider range never reaches the
|
|
3273
|
+
* renderer raw. A string must be a whole number — "140", not "140%".
|
|
3274
|
+
*/
|
|
3275
|
+
declare function decodeChartSymbolScale(raw: unknown): number | null;
|
|
3276
|
+
/** Text that names a place or a feature on LAND. */
|
|
3277
|
+
declare const LAND_TEXT_CLASSES: ReadonlySet<string>;
|
|
3278
|
+
/**
|
|
3279
|
+
* Text that names WATER, or states a clearance over it. LAKARE, RIVERS and
|
|
3280
|
+
* CANALS are here though CHRT files them under "Land": the label is the name
|
|
3281
|
+
* of water. SOUNDG and DEPCNT left for DEPTH NUMBERS (owner, 2026-10-05).
|
|
3282
|
+
*/
|
|
3283
|
+
declare const WATER_TEXT_CLASSES: ReadonlySet<string>;
|
|
3284
|
+
/**
|
|
3285
|
+
* Text that belongs to a charted point symbol — it follows CHART ICONS so it
|
|
3286
|
+
* keeps its em offset from the symbol it annotates.
|
|
3287
|
+
*/
|
|
3288
|
+
declare const SYMBOL_ANNOTATION_TEXT_CLASSES: ReadonlySet<string>;
|
|
3289
|
+
/** CHRT's hazard label band. Enlarged text in it is never dropped (rule 3). */
|
|
3290
|
+
declare const HAZARD_LABEL_PRIORITY = 100;
|
|
3291
|
+
/**
|
|
3292
|
+
* The depth figures — DEPTH NUMBERS' text. The labels the depth-unit switch
|
|
3293
|
+
* converts (`buildLabelLayer`): a sounding, a contour value, the depth beside a
|
|
3294
|
+
* rock, wreck or obstruction (that class's ICON stays CHART ICONS'). Not the
|
|
3295
|
+
* dredged-channel note: it is a sentence.
|
|
3296
|
+
*/
|
|
3297
|
+
declare const DEPTH_FIGURE_CLASSES: ReadonlySet<string>;
|
|
3298
|
+
/**
|
|
3299
|
+
* Contour values grow at half DEPTH NUMBERS' rate: a contour value rides its
|
|
3300
|
+
* line and needs a straight-enough run to fit, and shares rank 300 with the
|
|
3301
|
+
* soundings, which place first. 0.10.3's Large drew them 1.2x when it drew the
|
|
3302
|
+
* soundings 1.4x, for that reason; this is the same ratio as a slider.
|
|
3303
|
+
*/
|
|
3304
|
+
declare function contourValueFactor(depthNumbersFactor: number): number;
|
|
3305
|
+
/**
|
|
3306
|
+
* The font stacks a CHRT glyph host serves (`cloudflare/tile-worker/glyphs/
|
|
3307
|
+
* GLYPHS.json`; the test pins this copy to it). There is no Bold.
|
|
3308
|
+
*/
|
|
3309
|
+
declare const SERVED_FONT_STACKS: readonly string[];
|
|
3310
|
+
/**
|
|
3311
|
+
* Rule A: the served font stack with each Regular face swapped for its
|
|
3312
|
+
* Semibold — DERIVED from the served name, not typed, as CHRTKit does, so a
|
|
3313
|
+
* family that changes its face is followed rather than overridden. A swap
|
|
3314
|
+
* that would ask for a face no glyph host serves is refused (the face stays
|
|
3315
|
+
* Regular), as CHRTKit's `servedFontStacks` does. Semibold and Italic faces
|
|
3316
|
+
* are left as served (soundings are already Semibold, so A changes the
|
|
3317
|
+
* contour values and the three callouts). Anything that is not a plain list
|
|
3318
|
+
* of names — absent, or an expression — is returned untouched.
|
|
3319
|
+
*/
|
|
3320
|
+
declare function semiboldFontStack(font: unknown): unknown;
|
|
3321
|
+
/** The slider a layer's TEXT follows, or null (stays at 100 %, counted). */
|
|
3322
|
+
declare function textSliderFor(layer: StyleLayer): ChartSymbolSize | null;
|
|
3323
|
+
/** The slider a layer's ICON follows: every chart point symbol, no basemap one. */
|
|
3324
|
+
declare function iconSliderFor(layer: StyleLayer): ChartSymbolSize | null;
|
|
3325
|
+
/**
|
|
3326
|
+
* `value` × `factor`, keeping its zoom structure: the factor goes onto every
|
|
3327
|
+
* stop's OUTPUT, because MapLibre accepts `["zoom"]` only as the input of a
|
|
3328
|
+
* TOP-LEVEL `interpolate`/`step`. `null` for a shape this does not recognise —
|
|
3329
|
+
* the caller leaves that property at its served size rather than guess.
|
|
3330
|
+
* `undefined` (absent) is the renderer default × factor.
|
|
3331
|
+
*/
|
|
3332
|
+
declare function scaleSizeExpression(value: unknown, factor: number, fallback: number): unknown;
|
|
3333
|
+
/** Rule B: a halo grows half as fast as its glyph, and only above 100 %. */
|
|
3334
|
+
declare function haloFactor(factor: number): number;
|
|
3335
|
+
/**
|
|
3336
|
+
* CHRT's sounding collision padding, px (`labels.ts`). Read from the generated
|
|
3337
|
+
* layer where it is a number; this is the fallback and the test's anchor.
|
|
3338
|
+
*/
|
|
3339
|
+
declare const SERVED_SOUNDING_PADDING_PX = 6;
|
|
3340
|
+
/**
|
|
3341
|
+
* Rule C: px of padding taken off per unit of factor above 1. 6.25 puts 140 %
|
|
3342
|
+
* at 3.5 px — the value the chip-68 sweep chose — and reaches 0 at 196 %.
|
|
3343
|
+
* DEPTH NUMBERS alone (no rule 4) holds the soundings count to −9 % … +7 % of
|
|
3344
|
+
* the served chart across 120–200 %, z11.5–15 (bench, Boston, DAY, 1280×800 at
|
|
3345
|
+
* 1×; −9 % is z14 at 200 %). `.chrt/standards/s-52.md` §8a has the figures.
|
|
3346
|
+
*/
|
|
3347
|
+
declare const SOUNDING_PADDING_PER_FACTOR = 6.25;
|
|
3348
|
+
/** Rule C: the sounding padding at a DEPTH NUMBERS factor. */
|
|
3349
|
+
declare function soundingPadding(factor: number, served?: number): number;
|
|
3350
|
+
/** MapLibre's `text-padding` when a layer sets none. */
|
|
3351
|
+
declare const MAPLIBRE_DEFAULT_TEXT_PADDING_PX = 2;
|
|
3352
|
+
/**
|
|
3353
|
+
* Rule C on whatever the served `text-padding` is, as CHRTKit's
|
|
3354
|
+
* `ChartDepthFigureRules.soundingPadding` does: absent is MapLibre's 2 px; a
|
|
3355
|
+
* number is reduced; a zoom `interpolate` or `step` has each OUTPUT reduced;
|
|
3356
|
+
* any other shape is left as served. At or below 100 % it is the served value.
|
|
3357
|
+
*/
|
|
3358
|
+
declare function soundingPaddingValue(served: unknown, factor: number): unknown;
|
|
3359
|
+
/**
|
|
3360
|
+
* What the labels above the soundings do when LAND LABELS, WATER LABELS or
|
|
3361
|
+
* CHART ICONS leaves 100 % (the header's rule 4 and THE ZOOM SPLIT). CHRTKit's
|
|
3362
|
+
* `ChartSoundingsRule`, the two cases this client ships.
|
|
3363
|
+
*/
|
|
3364
|
+
type ChartSoundingsRule = {
|
|
3365
|
+
readonly kind: "outrankLabels";
|
|
3366
|
+
} | {
|
|
3367
|
+
readonly kind: "zoomSplit";
|
|
3368
|
+
readonly harbourFrom: number;
|
|
3369
|
+
readonly splitLights?: boolean;
|
|
3370
|
+
};
|
|
3371
|
+
/** Rule 4 as iOS first shipped it: every text label above the soundings yields. */
|
|
3372
|
+
declare const OUTRANK_LABELS: ChartSoundingsRule;
|
|
3373
|
+
/** The rule in force — the owner's split at zoom 14 (2026-10-06), CHRTKit's default. */
|
|
3374
|
+
declare const CHART_SOUNDINGS_RULE: ChartSoundingsRule;
|
|
3375
|
+
/**
|
|
3376
|
+
* Whether a label stays above the soundings under the zoom split: label band
|
|
3377
|
+
* 100 (hazard text), the CHRTland and CHRT_BASE labels, and sea-area, island
|
|
3378
|
+
* and land-region names. With `splittingLights`, light characteristics are
|
|
3379
|
+
* split like the buoy names despite being band 100 (measured, not shipped).
|
|
3380
|
+
*/
|
|
3381
|
+
declare function keptAboveSoundings(layer: StyleLayer, splittingLights?: boolean): boolean;
|
|
3382
|
+
/** `value` below zoom `z`, `true` from it — CHRTKit `fromZoom`. Absent is MapLibre's `false`. */
|
|
3383
|
+
declare function fromZoom(z: number, value: unknown): unknown[];
|
|
3384
|
+
/**
|
|
3385
|
+
* One generated layer at a set of scales. Returns the SAME object when nothing
|
|
3386
|
+
* reaches it (100 %, unclassified, not a symbol layer, or a size this cannot
|
|
3387
|
+
* multiply), so a standard chart is the generated chart, byte for byte.
|
|
3388
|
+
*
|
|
3389
|
+
* `yieldText` is rule 4, decided by the caller from the layer's position: the
|
|
3390
|
+
* layer is a label placed before the soundings, and some label slider is off
|
|
3391
|
+
* 100 %. Its text then takes no part in placement, whatever its own size.
|
|
3392
|
+
*/
|
|
3393
|
+
declare function applyChartSymbolScalesToLayer(layer: StyleLayer, scales: ChartSymbolScales, yieldText?: boolean): StyleLayer;
|
|
3394
|
+
/**
|
|
3395
|
+
* Every layer of a generated style at a set of scales, in draw order — rule 4
|
|
3396
|
+
* reads the order (MapLibre places the TOP of the style first, so "above the
|
|
3397
|
+
* soundings" is "placed before them"). Standard → the same array.
|
|
3398
|
+
*/
|
|
3399
|
+
declare function applyChartSymbolScales<L extends StyleLayer>(layers: readonly L[], scales: ChartSymbolScales | undefined, rule?: ChartSoundingsRule): L[];
|
|
3400
|
+
/**
|
|
3401
|
+
* The text labels the zoom split moves below the soundings at these scales,
|
|
3402
|
+
* in draw order — empty when nothing triggers the split
|
|
3403
|
+
* (`labelSlidersOffStandard`: LAND / WATER / DEPTH / ICONS off 100 %, either
|
|
3404
|
+
* way) or the rule does not split. For a client that reorders a live map.
|
|
3405
|
+
*/
|
|
3406
|
+
declare function demotedBelowSoundings(layers: readonly StyleLayer[], scales: ChartSymbolScales | undefined, rule?: ChartSoundingsRule): string[];
|
|
3407
|
+
/**
|
|
3408
|
+
* What no slider reaches, and what a slider reaches but cannot multiply —
|
|
3409
|
+
* iOS's `unclassified` / `unscalable`, for a test that fails when CHRT adds a
|
|
3410
|
+
* label class nobody has decided about.
|
|
3411
|
+
*/
|
|
3412
|
+
declare function chartSymbolSizingCensus(layers: readonly StyleLayer[]): {
|
|
3413
|
+
unclassified: string[];
|
|
3414
|
+
unscalable: string[];
|
|
3415
|
+
};
|
|
3416
|
+
|
|
3221
3417
|
/**
|
|
3222
3418
|
* Dominance fan-out collapse (P8 Phase 3.3 / D4 "axis 1").
|
|
3223
3419
|
*
|
|
@@ -3394,13 +3590,20 @@ interface StyleGeneratorOptions extends BuildSourcesOptions {
|
|
|
3394
3590
|
*/
|
|
3395
3591
|
soundingFontWeight?: "regular" | "semibold";
|
|
3396
3592
|
/**
|
|
3397
|
-
*
|
|
3398
|
-
*
|
|
3399
|
-
*
|
|
3400
|
-
*
|
|
3401
|
-
*
|
|
3593
|
+
* CHART SIZING — the five sliders, in percent (50–200; `waypoints` is the
|
|
3594
|
+
* app's and is ignored here). Omitted, or every value 100, is byte-identical
|
|
3595
|
+
* to the style without it. Applied LAST, after the symbol-family rewrite, so
|
|
3596
|
+
* it sizes what the chosen family draws. Never changes a label's text,
|
|
3597
|
+
* colours, sort key, filter, zoom gate or the layer set — see
|
|
3598
|
+
* chart-symbol-sizing.ts.
|
|
3599
|
+
*/
|
|
3600
|
+
symbolScales?: ChartSymbolScales;
|
|
3601
|
+
/**
|
|
3602
|
+
* What the labels above the soundings do when LAND, WATER or CHART ICONS is
|
|
3603
|
+
* off 100 %, or DEPTH NUMBERS either way — `CHART_SOUNDINGS_RULE` (the owner's zoom split at 14) when
|
|
3604
|
+
* omitted. Rule 4 (`OUTRANK_LABELS`) is kept for measurement.
|
|
3402
3605
|
*/
|
|
3403
|
-
|
|
3606
|
+
soundingsRule?: ChartSoundingsRule;
|
|
3404
3607
|
}
|
|
3405
3608
|
declare function generateStyle(palette?: ColorTableName, opts?: StyleGeneratorOptions & {
|
|
3406
3609
|
bandFan?: BandFanMode;
|
|
@@ -5577,4 +5780,4 @@ declare class Chrt {
|
|
|
5577
5780
|
warmTiles(region?: string): Promise<TileTokenResponse>;
|
|
5578
5781
|
}
|
|
5579
5782
|
|
|
5580
|
-
export { ALL_NAV_AID_LAYERS, ALL_WATER_BODY_LAYERS, AREA_QUERY_LAYERS, ATON_EXPRESSION_CLASSES, type AheadCoverageCell, type AheadFeatureProperties, type AheadOptions, type AheadResponse, type AlongRouteFeatureProperties, type AlongRouteOptions, type AlongRouteResponse, type AreaInspectResult, type AtlasStyle, type AttachOptions, BAND_CODE_ALIASES, BAND_DRAW_ORDER, BAND_PRIORITY_RANGES, BASE_ATTRIBUTION, BASE_BUNDLE_ATTRIBUTION, BASE_BUNDLE_ID, BASE_BUNDLE_MAXZOOM, BASE_BUNDLE_SCHEMA, BASE_BUNDLE_SOURCE_LAYERS, BASE_CLIENT_RASTER_BEFORE_ID, BASE_MAXZOOM, BASE_MINZOOM, BASE_REGION, type BBox, BRIDGE_QUERY_LAYERS, BUILD_MAXZOOM, BUILD_MINZOOM, BUILD_PARAM, type BandCode, type BandPriorityRange, type BridgeInspectResult, type BuildOfflineStyleOptions, type BuildSourcesOptions, CHART_BAND_CODES, CHART_CASCADE_CODES, CHART_SECTIONS, CHRTRASTER_REF_CROPS, CHRTRASTER_SVGS, CHRT_ATON_COLORS, CHRT_GLYPH_NAMES, CHRT_GLYPH_SVGS, CHRT_ICON_EXPRESSIONS, CHRT_ICON_PREFIX, CHRT_SDF_GLYPHS, CHRT_STYLE_MODES, type CandidateQueryOptions, type CandidatesEventContext, type CellDeletedEvent, type CellDetail, type CellEventData, type CellNewEvent, type CellUpdatedData, type CellUpdatedEvent, type CellsOptions, type CellsResponse, type ChartSection, Chrt, type ChrtConfig, ChrtError, type ChrtStyleMode, type ChrtStyleOptions, type ChrtStyleTheme, type ChrtSymbolSet, type ClickAnchor, ColorTableName, type CoverageOptions, type CoverageResponse, type CoverageRouteCell, type CoverageRouteOptions, type CoverageRouteResponse, type CoverageSource, type CustomStyleConfig, DEFAULT_CLICK_TOLERANCE, DEFAULT_CUSTOM_STYLE_CONFIG,
|
|
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 };
|