@carto/api-client 0.5.32-alpha.04d6222.126 → 0.5.32-alpha.06de1ba.128

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 CHANGED
@@ -3,7 +3,7 @@
3
3
  ## Unreleased
4
4
 
5
5
  - feat(fetchMap): Support line & polygon stroke dash styles (#297)
6
- - feat(fetchMap): Support polygon fill patterns (inline sprite atlas, `getFillPattern`/`scales.fillPattern`, `fillPatternEnabled`)
6
+ - feat(fetchMap): Support polygon fill patterns (runtime-assembled sprite atlas, `getFillPattern`/`scales.fillPattern`, `fillPatternEnabled`)
7
7
 
8
8
  ### 0.5.31
9
9
 
@@ -10675,41 +10675,6 @@ init_cjs_shims();
10675
10675
  // src/fetch-map/pattern-atlas.ts
10676
10676
  init_cjs_shims();
10677
10677
 
10678
- // src/fetch-map/pattern-atlas-baked.ts
10679
- init_cjs_shims();
10680
- var BAKED_ATLAS_URL = "data:image/png;base64,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";
10681
- var PATTERN_ATLAS_MAPPING = {
10682
- "hlines-large": { x: 0, y: 0, width: 64, height: 64, mask: true },
10683
- "hlines-medium": { x: 64, y: 0, width: 64, height: 64, mask: true },
10684
- "hlines-small": { x: 128, y: 0, width: 64, height: 64, mask: true },
10685
- "vlines-large": { x: 0, y: 64, width: 64, height: 64, mask: true },
10686
- "vlines-medium": { x: 64, y: 64, width: 64, height: 64, mask: true },
10687
- "vlines-small": { x: 128, y: 64, width: 64, height: 64, mask: true },
10688
- "diag-left-large": { x: 0, y: 128, width: 64, height: 64, mask: true },
10689
- "diag-left-medium": { x: 64, y: 128, width: 64, height: 64, mask: true },
10690
- "diag-left-small": { x: 128, y: 128, width: 64, height: 64, mask: true },
10691
- "diag-right-large": { x: 0, y: 192, width: 64, height: 64, mask: true },
10692
- "diag-right-medium": { x: 64, y: 192, width: 64, height: 64, mask: true },
10693
- "diag-right-small": { x: 128, y: 192, width: 64, height: 64, mask: true },
10694
- "cross-hatch-large": { x: 0, y: 256, width: 64, height: 64, mask: true },
10695
- "cross-hatch-medium": { x: 64, y: 256, width: 64, height: 64, mask: true },
10696
- "cross-hatch-small": { x: 128, y: 256, width: 64, height: 64, mask: true },
10697
- "dots-large": { x: 0, y: 320, width: 64, height: 64, mask: true },
10698
- "dots-medium": { x: 64, y: 320, width: 64, height: 64, mask: true },
10699
- "dots-small": { x: 128, y: 320, width: 64, height: 64, mask: true },
10700
- "checker-large": { x: 0, y: 384, width: 64, height: 64, mask: true },
10701
- "checker-medium": { x: 64, y: 384, width: 64, height: 64, mask: true },
10702
- "checker-small": { x: 128, y: 384, width: 64, height: 64, mask: true },
10703
- solid: { x: 64, y: 448, width: 64, height: 64, mask: true },
10704
- none: { x: 0, y: 448, width: 64, height: 64, mask: true }
10705
- };
10706
- var CELL = 64;
10707
- var ATLAS_W = CELL * 3;
10708
- var ATLAS_H = CELL * 8;
10709
-
10710
- // src/fetch-map/pattern-atlas-runtime.ts
10711
- init_cjs_shims();
10712
-
10713
10678
  // src/fetch-map/patterns/hlines-large.png
10714
10679
  var hlines_large_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAABBSURBVHic7dixAQAgDMOwwP8/wxfNUOkCz04AYK2T5LUjmm47AAAAAOb5Ae0AAAAAmOcHtAMAAABgnh/QDgAAaj69GwQJx6ek3QAAAABJRU5ErkJggg==";
10715
10680
 
@@ -10776,7 +10741,19 @@ var checker_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAA
10776
10741
  // src/fetch-map/patterns/solid.png
10777
10742
  var solid_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACWSURBVHic7dBBEcAwAMOwrPw5dzD0qIXA52/b3cOODtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QPsBULQBfwAqZPkAAAAASUVORK5CYII=";
10778
10743
 
10779
- // src/fetch-map/pattern-atlas-runtime.ts
10744
+ // src/fetch-map/pattern-atlas.ts
10745
+ var DEFAULT_CELL_SIZE = 128;
10746
+ var SOURCE_TILE_SIZE = 64;
10747
+ var PATTERN_ROWS = [
10748
+ "hlines",
10749
+ "vlines",
10750
+ "diag-left",
10751
+ "diag-right",
10752
+ "cross-hatch",
10753
+ "dots",
10754
+ "checker"
10755
+ ];
10756
+ var DENSITY_COLUMNS = ["large", "medium", "small"];
10780
10757
  var CELL_URLS = {
10781
10758
  "hlines-large": hlines_large_default,
10782
10759
  "hlines-medium": hlines_medium_default,
@@ -10801,6 +10778,38 @@ var CELL_URLS = {
10801
10778
  "checker-small": checker_small_default,
10802
10779
  solid: solid_default
10803
10780
  };
10781
+ function debugGlobals() {
10782
+ return globalThis;
10783
+ }
10784
+ function getPatternCellSize() {
10785
+ const cell = debugGlobals().__CARTO_PATTERN_CELL_SIZE__;
10786
+ return typeof cell === "number" && cell > 0 ? cell : DEFAULT_CELL_SIZE;
10787
+ }
10788
+ function getPatternTextureParameters() {
10789
+ const params = debugGlobals().__CARTO_PATTERN_TEXTURE_PARAMS__;
10790
+ return params && typeof params === "object" ? params : void 0;
10791
+ }
10792
+ function getPatternScaleAdjustment(cell = getPatternCellSize()) {
10793
+ return SOURCE_TILE_SIZE / cell;
10794
+ }
10795
+ function getPatternAtlasMapping(cell = getPatternCellSize()) {
10796
+ const mapping = {};
10797
+ const frame = (col, row) => ({
10798
+ x: col * cell,
10799
+ y: row * cell,
10800
+ width: cell,
10801
+ height: cell,
10802
+ mask: true
10803
+ });
10804
+ PATTERN_ROWS.forEach((pattern, row) => {
10805
+ DENSITY_COLUMNS.forEach((density, col) => {
10806
+ mapping[`${pattern}-${density}`] = frame(col, row);
10807
+ });
10808
+ });
10809
+ mapping.none = frame(0, PATTERN_ROWS.length);
10810
+ mapping.solid = frame(1, PATTERN_ROWS.length);
10811
+ return mapping;
10812
+ }
10804
10813
  function createCanvas(w, h) {
10805
10814
  if (typeof OffscreenCanvas !== "undefined") return new OffscreenCanvas(w, h);
10806
10815
  if (typeof document !== "undefined") {
@@ -10825,13 +10834,20 @@ async function loadImage(dataUrl) {
10825
10834
  img.src = dataUrl;
10826
10835
  });
10827
10836
  }
10828
- var atlasPromise;
10829
- function assemblePatternAtlas() {
10830
- if (!atlasPromise) atlasPromise = build();
10831
- return atlasPromise;
10837
+ var atlasPromises = /* @__PURE__ */ new Map();
10838
+ function getPatternAtlas(cell = getPatternCellSize()) {
10839
+ let promise = atlasPromises.get(cell);
10840
+ if (!promise) {
10841
+ promise = build(cell);
10842
+ promise.catch(() => {
10843
+ });
10844
+ atlasPromises.set(cell, promise);
10845
+ }
10846
+ return promise;
10832
10847
  }
10833
- async function build() {
10834
- const canvas = createCanvas(ATLAS_W, ATLAS_H);
10848
+ async function build(cell) {
10849
+ const mapping = getPatternAtlasMapping(cell);
10850
+ const canvas = createCanvas(cell * 3, cell * (PATTERN_ROWS.length + 1));
10835
10851
  const ctx = canvas.getContext("2d");
10836
10852
  if (!ctx)
10837
10853
  throw new Error(
@@ -10843,21 +10859,16 @@ async function build() {
10843
10859
  images[key] = await loadImage(url);
10844
10860
  })
10845
10861
  );
10846
- for (const [key, frame] of Object.entries(PATTERN_ATLAS_MAPPING)) {
10862
+ ctx.imageSmoothingEnabled = false;
10863
+ for (const [key, frame] of Object.entries(mapping)) {
10847
10864
  const img = images[key];
10848
- if (img) ctx.drawImage(img, frame.x, frame.y, CELL, CELL);
10865
+ if (img) ctx.drawImage(img, frame.x, frame.y, cell, cell);
10849
10866
  }
10850
10867
  if (typeof createImageBitmap !== "undefined")
10851
10868
  return createImageBitmap(canvas);
10852
10869
  return canvas;
10853
10870
  }
10854
10871
 
10855
- // src/fetch-map/pattern-atlas.ts
10856
- function getPatternAtlas() {
10857
- const runtime = globalThis.__CARTO_RUNTIME_ATLAS__ === true;
10858
- return runtime ? assemblePatternAtlas() : BAKED_ATLAS_URL;
10859
- }
10860
-
10861
10872
  // src/fetch-map/parse-map.ts
10862
10873
  function getLayerDescriptor({
10863
10874
  mapConfig,
@@ -11286,13 +11297,13 @@ function createChannelProps(id, layerType, config2, visualChannels, data, datase
11286
11297
  result.fillPatternEnabled = Boolean(visConfig.fillPatternEnabled);
11287
11298
  if (visConfig.filled && visConfig.fillPatternEnabled) {
11288
11299
  result.fillPatternAtlas = getPatternAtlas();
11289
- result.fillPatternMapping = PATTERN_ATLAS_MAPPING;
11300
+ result.fillPatternMapping = getPatternAtlasMapping();
11290
11301
  result.fillPatternMask = true;
11291
- result.textureParameters = {
11292
- magFilter: "nearest",
11293
- minFilter: "linear"
11294
- };
11295
- result.getFillPatternScale = visConfig.fillPatternSize ?? 1;
11302
+ const textureParameters = getPatternTextureParameters();
11303
+ if (textureParameters) {
11304
+ result.textureParameters = textureParameters;
11305
+ }
11306
+ result.getFillPatternScale = (visConfig.fillPatternSize ?? 1) * getPatternScaleAdjustment();
11296
11307
  result.fillPattern = visConfig.fillPattern;
11297
11308
  const { fillPatternField, fillPatternScale } = visualChannels;
11298
11309
  const { fillPatternRange, fillPatternDensity } = visConfig;