@chrtco/sdk 0.10.15 → 0.10.16

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 CHANGED
@@ -7700,6 +7700,16 @@ var S52_DRAW_ORDER = [
7700
7700
  // the visual-coherence fix for hard charcoal-vs-vector-blue seams at
7701
7701
  // scale-band boundaries — see `s52-lookup.ts`'s SEAARE entry for the
7702
7702
  // paired paint-spec change (fill-opacity 0 → 1, color → DEPDW).
7703
+ //
7704
+ // ⚠ 2026-08-23: within-band ordering alone was NOT enough. Under the
7705
+ // band-major interleave, band-N's SEAARE painted ABOVE band-(N-1)'s
7706
+ // DEPARE, and NOAA's named-bay SEAARE polygons outrun (and out-survive,
7707
+ // through tile simplification) their own band's DEPARE — the live
7708
+ // "white blobs" over Narragansett/Quincy/Hingham Bays. The style
7709
+ // generator now hoists every band's SEAARE fill below the whole
7710
+ // cascade (BOTTOM_STACK_WATER_BASE_CLASSES in style-generator.ts);
7711
+ // this within-band slot remains for the label layer and as the record
7712
+ // of the original intent.
7703
7713
  "SEAARE",
7704
7714
  "DEPARE",
7705
7715
  // 2a. Unsurveyed area — opaque grey wash painted ON TOP of any DEPARE
@@ -28761,6 +28771,7 @@ function isDominanceExempt(layer) {
28761
28771
  return false;
28762
28772
  }
28763
28773
  var TOP_STACK_LIGHT_CLASSES = /* @__PURE__ */ new Set(["LIGHTS"]);
28774
+ var BOTTOM_STACK_WATER_BASE_CLASSES = /* @__PURE__ */ new Set(["SEAARE"]);
28764
28775
  function makeBandVariants(layer, B) {
28765
28776
  const range = BAND_PRIORITY_RANGES[B];
28766
28777
  const minzoom = bandVariantMinzoom(layer, B);
@@ -28960,8 +28971,13 @@ function generateStyle(palette = "DAY", opts = {}) {
28960
28971
  })
28961
28972
  });
28962
28973
  }
28963
- const regularBundles = bundles.filter((b) => !TOP_STACK_LIGHT_CLASSES.has(b.objectClass));
28974
+ const regularBundles = bundles.filter(
28975
+ (b) => !TOP_STACK_LIGHT_CLASSES.has(b.objectClass) && !BOTTOM_STACK_WATER_BASE_CLASSES.has(b.objectClass)
28976
+ );
28964
28977
  const topLightBundles = bundles.filter((b) => TOP_STACK_LIGHT_CLASSES.has(b.objectClass));
28978
+ const waterBaseBundles = bundles.filter(
28979
+ (b) => BOTTOM_STACK_WATER_BASE_CLASSES.has(b.objectClass)
28980
+ );
28965
28981
  if (chartCascade && chartRequestedCodes) {
28966
28982
  const requestedSet = new Set(chartRequestedCodes);
28967
28983
  const emitChartFeatureVariants = (bundleSet) => {
@@ -28989,6 +29005,7 @@ function generateStyle(palette = "DAY", opts = {}) {
28989
29005
  }
28990
29006
  }
28991
29007
  };
29008
+ emitChartFeatureVariants(waterBaseBundles);
28992
29009
  emitChartFeatureVariants(regularBundles);
28993
29010
  emitChartFeatureVariants(topLightBundles);
28994
29011
  const chartLabelBundles = byLabelPriorityBottomUp(
@@ -29029,6 +29046,13 @@ function generateStyle(palette = "DAY", opts = {}) {
29029
29046
  layers.push(...labelLayers);
29030
29047
  } else {
29031
29048
  const emitBand = (base, code) => bandFan === "legacy" ? makeBandVariants(base, code) : makeCollapsedBandVariant(base, code, isDominanceExempt(base));
29049
+ for (const code of BAND_DRAW_ORDER) {
29050
+ for (const { featureLayers } of waterBaseBundles) {
29051
+ for (const base of featureLayers) {
29052
+ layers.push(...emitBand(base, code));
29053
+ }
29054
+ }
29055
+ }
29032
29056
  for (const code of BAND_DRAW_ORDER) {
29033
29057
  for (const { featureLayers } of regularBundles) {
29034
29058
  for (const base of featureLayers) {