@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.js CHANGED
@@ -7483,6 +7483,16 @@ var S52_DRAW_ORDER = [
7483
7483
  // the visual-coherence fix for hard charcoal-vs-vector-blue seams at
7484
7484
  // scale-band boundaries — see `s52-lookup.ts`'s SEAARE entry for the
7485
7485
  // paired paint-spec change (fill-opacity 0 → 1, color → DEPDW).
7486
+ //
7487
+ // ⚠ 2026-08-23: within-band ordering alone was NOT enough. Under the
7488
+ // band-major interleave, band-N's SEAARE painted ABOVE band-(N-1)'s
7489
+ // DEPARE, and NOAA's named-bay SEAARE polygons outrun (and out-survive,
7490
+ // through tile simplification) their own band's DEPARE — the live
7491
+ // "white blobs" over Narragansett/Quincy/Hingham Bays. The style
7492
+ // generator now hoists every band's SEAARE fill below the whole
7493
+ // cascade (BOTTOM_STACK_WATER_BASE_CLASSES in style-generator.ts);
7494
+ // this within-band slot remains for the label layer and as the record
7495
+ // of the original intent.
7486
7496
  "SEAARE",
7487
7497
  "DEPARE",
7488
7498
  // 2a. Unsurveyed area — opaque grey wash painted ON TOP of any DEPARE
@@ -28544,6 +28554,7 @@ function isDominanceExempt(layer) {
28544
28554
  return false;
28545
28555
  }
28546
28556
  var TOP_STACK_LIGHT_CLASSES = /* @__PURE__ */ new Set(["LIGHTS"]);
28557
+ var BOTTOM_STACK_WATER_BASE_CLASSES = /* @__PURE__ */ new Set(["SEAARE"]);
28547
28558
  function makeBandVariants(layer, B) {
28548
28559
  const range = BAND_PRIORITY_RANGES[B];
28549
28560
  const minzoom = bandVariantMinzoom(layer, B);
@@ -28743,8 +28754,13 @@ function generateStyle(palette = "DAY", opts = {}) {
28743
28754
  })
28744
28755
  });
28745
28756
  }
28746
- const regularBundles = bundles.filter((b) => !TOP_STACK_LIGHT_CLASSES.has(b.objectClass));
28757
+ const regularBundles = bundles.filter(
28758
+ (b) => !TOP_STACK_LIGHT_CLASSES.has(b.objectClass) && !BOTTOM_STACK_WATER_BASE_CLASSES.has(b.objectClass)
28759
+ );
28747
28760
  const topLightBundles = bundles.filter((b) => TOP_STACK_LIGHT_CLASSES.has(b.objectClass));
28761
+ const waterBaseBundles = bundles.filter(
28762
+ (b) => BOTTOM_STACK_WATER_BASE_CLASSES.has(b.objectClass)
28763
+ );
28748
28764
  if (chartCascade && chartRequestedCodes) {
28749
28765
  const requestedSet = new Set(chartRequestedCodes);
28750
28766
  const emitChartFeatureVariants = (bundleSet) => {
@@ -28772,6 +28788,7 @@ function generateStyle(palette = "DAY", opts = {}) {
28772
28788
  }
28773
28789
  }
28774
28790
  };
28791
+ emitChartFeatureVariants(waterBaseBundles);
28775
28792
  emitChartFeatureVariants(regularBundles);
28776
28793
  emitChartFeatureVariants(topLightBundles);
28777
28794
  const chartLabelBundles = byLabelPriorityBottomUp(
@@ -28812,6 +28829,13 @@ function generateStyle(palette = "DAY", opts = {}) {
28812
28829
  layers.push(...labelLayers);
28813
28830
  } else {
28814
28831
  const emitBand = (base, code) => bandFan === "legacy" ? makeBandVariants(base, code) : makeCollapsedBandVariant(base, code, isDominanceExempt(base));
28832
+ for (const code of BAND_DRAW_ORDER) {
28833
+ for (const { featureLayers } of waterBaseBundles) {
28834
+ for (const base of featureLayers) {
28835
+ layers.push(...emitBand(base, code));
28836
+ }
28837
+ }
28838
+ }
28815
28839
  for (const code of BAND_DRAW_ORDER) {
28816
28840
  for (const { featureLayers } of regularBundles) {
28817
28841
  for (const base of featureLayers) {