@chrtco/sdk 0.10.48 → 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.js CHANGED
@@ -25386,8 +25386,6 @@ function getLabelConfig(layerName, opts = {}) {
25386
25386
  // UWTROC/OBSTRN/WRECKS are dominance-PARTICIPATING classes —
25387
25387
  // exactly one band's copy renders at any zoom, so anchor-shifting
25388
25388
  // can't split a cross-band duplicate pair into two visible labels.
25389
- // Shallowest (most dangerous) hazard wins within-class contests;
25390
- // VALSOU-less hazards (awash / unsounded) rank first of all.
25391
25389
  layout: {
25392
25390
  "text-variable-anchor": ["top-left", "bottom-left", "top-right", "bottom-right"],
25393
25391
  "text-radial-offset": 0.9,
@@ -25411,6 +25409,23 @@ function getLabelConfig(layerName, opts = {}) {
25411
25409
  "text-allow-overlap": true,
25412
25410
  "text-optional": true,
25413
25411
  "text-padding": 2,
25412
+ // ⚠ THE DEPTH SORT KEY IS LOAD-BEARING — do not "optimise" it to a
25413
+ // constant. It costs draw calls: MapLibre 5.24 draws an overlapping
25414
+ // layer with a data-driven key one segment per distinct key, twice
25415
+ // with a halo over 1 px (`drawLayerSymbols`, `hasSortKey &&
25416
+ // bucket.canOverlap`), so at 100 % the chart issues +14 % draw calls
25417
+ // at z12.3 against 0.10.3 (R6's 0.10.4 gate). But the key is also
25418
+ // the PLACEMENT order, and a callout keeps its collision box, so the
25419
+ // order decides which corner each callout takes and therefore which
25420
+ // soundings and buoy names survive beneath it. Measured with each
25421
+ // form booted fresh (2026-10-06, Boston and Salem Sound, z11.5–16,
25422
+ // at 1280×800 and the Pi's 1920×1185): a constant key, 3/4/5 depth
25423
+ // bands and whole metres ALL uncover shoals that 0.10.3 drew (a
25424
+ // constant key: 5 at z12.3 on the Pi's canvas, a 0.6 m one at
25425
+ // 1280×800) and change buoy names; only this key matches 0.10.4's
25426
+ // census. `danger-depth-census.ts --form <json>` re-runs that gate
25427
+ // for any candidate. A 1 px halo (one pass, not two) halves the
25428
+ // cost with placement byte-identical — a portrayal call, not taken.
25414
25429
  "symbol-sort-key": labelSortKey(100, ["*", 10, valsou])
25415
25430
  }
25416
25431
  };