@carto/api-client 0.5.32-alpha.723d642.132 → 0.5.32-alpha.77957dd.124

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.
Files changed (32) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/build/api-client.cjs +55 -283
  3. package/build/api-client.cjs.map +1 -1
  4. package/build/api-client.js +51 -283
  5. package/build/api-client.js.map +1 -1
  6. package/package.json +1 -1
  7. package/src/fetch-map/parse-map.ts +3 -15
  8. package/src/fetch-map/pattern-atlas-baked.ts +56 -0
  9. package/src/fetch-map/pattern-atlas-runtime.ts +134 -0
  10. package/src/fetch-map/pattern-atlas.ts +20 -456
  11. package/src/fetch-map/patterns/checker-large.svg +0 -1
  12. package/src/fetch-map/patterns/checker-medium.svg +0 -1
  13. package/src/fetch-map/patterns/checker-small.svg +0 -1
  14. package/src/fetch-map/patterns/cross-hatch-large.svg +0 -1
  15. package/src/fetch-map/patterns/cross-hatch-medium.svg +0 -1
  16. package/src/fetch-map/patterns/cross-hatch-small.svg +0 -1
  17. package/src/fetch-map/patterns/diag-left-large.svg +0 -1
  18. package/src/fetch-map/patterns/diag-left-medium.svg +0 -1
  19. package/src/fetch-map/patterns/diag-left-small.svg +0 -1
  20. package/src/fetch-map/patterns/diag-right-large.svg +0 -1
  21. package/src/fetch-map/patterns/diag-right-medium.svg +0 -1
  22. package/src/fetch-map/patterns/diag-right-small.svg +0 -1
  23. package/src/fetch-map/patterns/dots-large.svg +0 -1
  24. package/src/fetch-map/patterns/dots-medium.svg +0 -1
  25. package/src/fetch-map/patterns/dots-small.svg +0 -1
  26. package/src/fetch-map/patterns/hlines-large.svg +0 -1
  27. package/src/fetch-map/patterns/hlines-medium.svg +0 -1
  28. package/src/fetch-map/patterns/hlines-small.svg +0 -1
  29. package/src/fetch-map/patterns/solid.svg +0 -1
  30. package/src/fetch-map/patterns/vlines-large.svg +0 -1
  31. package/src/fetch-map/patterns/vlines-medium.svg +0 -1
  32. package/src/fetch-map/patterns/vlines-small.svg +0 -1
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 (runtime-assembled sprite atlas, `getFillPattern`/`scales.fillPattern`, `fillPatternEnabled`)
6
+ - feat(fetchMap): Support polygon fill patterns (inline sprite atlas, `getFillPattern`/`scales.fillPattern`, `fillPatternEnabled`)
7
7
 
8
8
  ### 0.5.31
9
9
 
@@ -10675,6 +10675,41 @@ 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
+
10678
10713
  // src/fetch-map/patterns/hlines-large.png
10679
10714
  var hlines_large_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAABBSURBVHic7dixAQAgDMOwwP8/wxfNUOkCz04AYK2T5LUjmm47AAAAAOb5Ae0AAAAAmOcHtAMAAABgnh/QDgAAaj69GwQJx6ek3QAAAABJRU5ErkJggg==";
10680
10715
 
@@ -10741,86 +10776,7 @@ var checker_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAA
10741
10776
  // src/fetch-map/patterns/solid.png
10742
10777
  var solid_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACWSURBVHic7dBBEcAwAMOwrPw5dzD0qIXA52/b3cOODtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QPsBULQBfwAqZPkAAAAASUVORK5CYII=";
10743
10778
 
10744
- // src/fetch-map/patterns/hlines-large.svg
10745
- var hlines_large_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="64" height="16" patternUnits="userSpaceOnUse"><rect width="64" height="2"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
10746
-
10747
- // src/fetch-map/patterns/hlines-medium.svg
10748
- var hlines_medium_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="64" height="8" patternUnits="userSpaceOnUse"><rect width="64" height="2"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
10749
-
10750
- // src/fetch-map/patterns/hlines-small.svg
10751
- var hlines_small_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="64" height="4" patternUnits="userSpaceOnUse"><rect width="64" height="2"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
10752
-
10753
- // src/fetch-map/patterns/vlines-large.svg
10754
- var vlines_large_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="16" height="64" patternUnits="userSpaceOnUse"><rect width="2" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
10755
-
10756
- // src/fetch-map/patterns/vlines-medium.svg
10757
- var vlines_medium_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="8" height="64" patternUnits="userSpaceOnUse"><rect width="2" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
10758
-
10759
- // src/fetch-map/patterns/vlines-small.svg
10760
- var vlines_small_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="4" height="64" patternUnits="userSpaceOnUse"><rect width="2" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
10761
-
10762
- // src/fetch-map/patterns/diag-left-large.svg
10763
- var diag_left_large_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="45.2548" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(-45)"><rect width="1.4142" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
10764
-
10765
- // src/fetch-map/patterns/diag-left-medium.svg
10766
- var diag_left_medium_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="22.6274" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(-45)"><rect width="1.4142" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
10767
-
10768
- // src/fetch-map/patterns/diag-left-small.svg
10769
- var diag_left_small_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="11.3137" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(-45)"><rect width="1.4142" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
10770
-
10771
- // src/fetch-map/patterns/diag-right-large.svg
10772
- var diag_right_large_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="45.2548" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(45)"><rect width="1.4142" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
10773
-
10774
- // src/fetch-map/patterns/diag-right-medium.svg
10775
- var diag_right_medium_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="22.6274" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(45)"><rect width="1.4142" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
10776
-
10777
- // src/fetch-map/patterns/diag-right-small.svg
10778
- var diag_right_small_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="11.3137" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(45)"><rect width="1.4142" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
10779
-
10780
- // src/fetch-map/patterns/cross-hatch-large.svg
10781
- var cross_hatch_large_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="a" width="45.2548" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(-45)"><rect width="1.4142" height="64"/></pattern><pattern id="b" width="45.2548" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(45)"><rect width="1.4142" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23a)"/><rect width="64" height="64" fill="url(%23b)"/></svg>%0A';
10782
-
10783
- // src/fetch-map/patterns/cross-hatch-medium.svg
10784
- var cross_hatch_medium_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="a" width="22.6274" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(-45)"><rect width="1.4142" height="64"/></pattern><pattern id="b" width="22.6274" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(45)"><rect width="1.4142" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23a)"/><rect width="64" height="64" fill="url(%23b)"/></svg>%0A';
10785
-
10786
- // src/fetch-map/patterns/cross-hatch-small.svg
10787
- var cross_hatch_small_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="a" width="11.3137" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(-45)"><rect width="1.4142" height="64"/></pattern><pattern id="b" width="11.3137" height="64" patternUnits="userSpaceOnUse" patternTransform="rotate(45)"><rect width="1.4142" height="64"/></pattern></defs><rect width="64" height="64" fill="url(%23a)"/><rect width="64" height="64" fill="url(%23b)"/></svg>%0A';
10788
-
10789
- // src/fetch-map/patterns/dots-large.svg
10790
- var dots_large_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="16" height="16" patternUnits="userSpaceOnUse"><rect width="2" height="2"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
10791
-
10792
- // src/fetch-map/patterns/dots-medium.svg
10793
- var dots_medium_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="8" height="8" patternUnits="userSpaceOnUse"><rect width="2" height="2"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
10794
-
10795
- // src/fetch-map/patterns/dots-small.svg
10796
- var dots_small_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="4" height="4" patternUnits="userSpaceOnUse"><rect width="2" height="2"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
10797
-
10798
- // src/fetch-map/patterns/checker-large.svg
10799
- var checker_large_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="16" height="16" patternUnits="userSpaceOnUse"><rect width="8" height="8"/><rect x="8" y="8" width="8" height="8"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
10800
-
10801
- // src/fetch-map/patterns/checker-medium.svg
10802
- var checker_medium_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="8" height="8" patternUnits="userSpaceOnUse"><rect width="4" height="4"/><rect x="4" y="4" width="4" height="4"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
10803
-
10804
- // src/fetch-map/patterns/checker-small.svg
10805
- var checker_small_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs><pattern id="p" width="4" height="4" patternUnits="userSpaceOnUse"><rect width="2" height="2"/><rect x="2" y="2" width="2" height="2"/></pattern></defs><rect width="64" height="64" fill="url(%23p)"/></svg>%0A';
10806
-
10807
- // src/fetch-map/patterns/solid.svg
10808
- var solid_default2 = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64"><defs></defs><rect width="64" height="64"/></svg>%0A';
10809
-
10810
- // src/fetch-map/pattern-atlas.ts
10811
- var DEFAULT_CELL_SIZE = 128;
10812
- var SOURCE_TILE_SIZE = 64;
10813
- var VECTOR_RENDER_SIZE = 128;
10814
- var PATTERN_ROWS = [
10815
- "hlines",
10816
- "vlines",
10817
- "diag-left",
10818
- "diag-right",
10819
- "cross-hatch",
10820
- "dots",
10821
- "checker"
10822
- ];
10823
- var DENSITY_COLUMNS = ["large", "medium", "small"];
10779
+ // src/fetch-map/pattern-atlas-runtime.ts
10824
10780
  var CELL_URLS = {
10825
10781
  "hlines-large": hlines_large_default,
10826
10782
  "hlines-medium": hlines_medium_default,
@@ -10845,75 +10801,6 @@ var CELL_URLS = {
10845
10801
  "checker-small": checker_small_default,
10846
10802
  solid: solid_default
10847
10803
  };
10848
- var CELL_SVG_URLS = {
10849
- "hlines-large": hlines_large_default2,
10850
- "hlines-medium": hlines_medium_default2,
10851
- "hlines-small": hlines_small_default2,
10852
- "vlines-large": vlines_large_default2,
10853
- "vlines-medium": vlines_medium_default2,
10854
- "vlines-small": vlines_small_default2,
10855
- "diag-left-large": diag_left_large_default2,
10856
- "diag-left-medium": diag_left_medium_default2,
10857
- "diag-left-small": diag_left_small_default2,
10858
- "diag-right-large": diag_right_large_default2,
10859
- "diag-right-medium": diag_right_medium_default2,
10860
- "diag-right-small": diag_right_small_default2,
10861
- "cross-hatch-large": cross_hatch_large_default2,
10862
- "cross-hatch-medium": cross_hatch_medium_default2,
10863
- "cross-hatch-small": cross_hatch_small_default2,
10864
- "dots-large": dots_large_default2,
10865
- "dots-medium": dots_medium_default2,
10866
- "dots-small": dots_small_default2,
10867
- "checker-large": checker_large_default2,
10868
- "checker-medium": checker_medium_default2,
10869
- "checker-small": checker_small_default2,
10870
- solid: solid_default2
10871
- };
10872
- function debugGlobals() {
10873
- return globalThis;
10874
- }
10875
- function getPatternCellSize() {
10876
- const cell = debugGlobals().__CARTO_PATTERN_CELL_SIZE__;
10877
- return typeof cell === "number" && cell > 0 ? cell : DEFAULT_CELL_SIZE;
10878
- }
10879
- function getPatternAssetSource() {
10880
- const source = debugGlobals().__CARTO_PATTERN_ASSET_SOURCE__;
10881
- return source === "svg" || source === "procedural" ? source : "png";
10882
- }
10883
- function getPatternTextureParameters() {
10884
- const params = debugGlobals().__CARTO_PATTERN_TEXTURE_PARAMS__;
10885
- return params && typeof params === "object" ? params : void 0;
10886
- }
10887
- function getPatternRepeats(cell, source = getPatternAssetSource()) {
10888
- const repeatSize = source === "png" ? SOURCE_TILE_SIZE : VECTOR_RENDER_SIZE;
10889
- return Math.max(1, Math.floor(cell / repeatSize));
10890
- }
10891
- function getPatternScaleAdjustment(cell = getPatternCellSize()) {
10892
- return SOURCE_TILE_SIZE * getPatternRepeats(cell) / cell;
10893
- }
10894
- function getPatternCellPadding(cell) {
10895
- return Math.max(2, Math.round(cell / 16));
10896
- }
10897
- function getPatternAtlasMapping(cell = getPatternCellSize()) {
10898
- const pad = getPatternCellPadding(cell);
10899
- const pitch = cell + 2 * pad;
10900
- const mapping = {};
10901
- const frame = (col, row) => ({
10902
- x: pad + col * pitch,
10903
- y: pad + row * pitch,
10904
- width: cell,
10905
- height: cell,
10906
- mask: true
10907
- });
10908
- PATTERN_ROWS.forEach((pattern, row) => {
10909
- DENSITY_COLUMNS.forEach((density, col) => {
10910
- mapping[`${pattern}-${density}`] = frame(col, row);
10911
- });
10912
- });
10913
- mapping.none = frame(0, PATTERN_ROWS.length);
10914
- mapping.solid = frame(1, PATTERN_ROWS.length);
10915
- return mapping;
10916
- }
10917
10804
  function createCanvas(w, h) {
10918
10805
  if (typeof OffscreenCanvas !== "undefined") return new OffscreenCanvas(w, h);
10919
10806
  if (typeof document !== "undefined") {
@@ -10938,148 +10825,37 @@ async function loadImage(dataUrl) {
10938
10825
  img.src = dataUrl;
10939
10826
  });
10940
10827
  }
10941
- function loadSvgImage(dataUrl) {
10942
- return new Promise((resolve, reject) => {
10943
- const img = new Image();
10944
- img.onload = () => resolve(img);
10945
- img.onerror = reject;
10946
- img.src = dataUrl;
10947
- });
10948
- }
10949
- var DENSITY_STEP = { small: 1, medium: 2, large: 4 };
10950
- function paintDesignTile(ctx, key) {
10951
- const [, name, density] = key.match(/^(.*?)(?:-(small|medium|large))?$/) ?? [];
10952
- const step = DENSITY_STEP[density ?? ""] ?? 1;
10953
- const linePeriod = 4 * step;
10954
- const diagPeriod = 16 * step;
10955
- const square = 2 * step;
10956
- ctx.fillStyle = "#000";
10957
- ctx.strokeStyle = "#000";
10958
- const diag = (dir) => {
10959
- ctx.lineWidth = Math.SQRT2;
10960
- ctx.beginPath();
10961
- for (let k = -Math.ceil(64 / diagPeriod); k <= 2 * Math.ceil(64 / diagPeriod); k++) {
10962
- ctx.moveTo(k * diagPeriod - 8 * dir, -8);
10963
- ctx.lineTo(k * diagPeriod + 72 * dir, 72);
10964
- }
10965
- ctx.stroke();
10966
- };
10967
- switch (name) {
10968
- case "solid":
10969
- ctx.fillRect(0, 0, 64, 64);
10970
- break;
10971
- case "hlines":
10972
- for (let y = 0; y < 64; y += linePeriod) ctx.fillRect(0, y, 64, 2);
10973
- break;
10974
- case "vlines":
10975
- for (let x = 0; x < 64; x += linePeriod) ctx.fillRect(x, 0, 2, 64);
10976
- break;
10977
- case "dots":
10978
- for (let y = 0; y < 64; y += linePeriod)
10979
- for (let x = 0; x < 64; x += linePeriod) ctx.fillRect(x, y, 2, 2);
10980
- break;
10981
- case "checker":
10982
- for (let j = 0; j * square < 64; j++)
10983
- for (let i = 0; i * square < 64; i++)
10984
- if ((i + j) % 2 === 0)
10985
- ctx.fillRect(i * square, j * square, square, square);
10986
- break;
10987
- case "diag-left":
10988
- diag(1);
10989
- break;
10990
- case "diag-right":
10991
- diag(-1);
10992
- break;
10993
- case "cross-hatch":
10994
- diag(1);
10995
- diag(-1);
10996
- break;
10997
- }
10828
+ var atlasPromise;
10829
+ function assemblePatternAtlas() {
10830
+ if (!atlasPromise) atlasPromise = build();
10831
+ return atlasPromise;
10998
10832
  }
10999
- function paintTileCanvas(key, size) {
11000
- const canvas = createCanvas(size, size);
11001
- const ctx = canvas.getContext("2d");
11002
- if (!ctx)
11003
- throw new Error(
11004
- "carto-api-client: 2D context unavailable for pattern tile"
11005
- );
11006
- ctx.scale(size / 64, size / 64);
11007
- paintDesignTile(ctx, key);
11008
- return canvas;
11009
- }
11010
- async function composeAtlas(cell, reps, images) {
11011
- const mapping = getPatternAtlasMapping(cell);
11012
- const pad = getPatternCellPadding(cell);
11013
- const pitch = cell + 2 * pad;
11014
- const step = cell / reps;
11015
- const canvas = createCanvas(pitch * 3, pitch * (PATTERN_ROWS.length + 1));
10833
+ async function build() {
10834
+ const canvas = createCanvas(ATLAS_W, ATLAS_H);
11016
10835
  const ctx = canvas.getContext("2d");
11017
10836
  if (!ctx)
11018
10837
  throw new Error(
11019
10838
  "carto-api-client: 2D context unavailable for pattern atlas"
11020
10839
  );
11021
- for (const [key, frame] of Object.entries(mapping)) {
11022
- const img = images[key];
11023
- if (!img) continue;
11024
- ctx.save();
11025
- ctx.beginPath();
11026
- ctx.rect(frame.x - pad, frame.y - pad, cell + 2 * pad, cell + 2 * pad);
11027
- ctx.clip();
11028
- for (let i = -1; i <= reps; i++) {
11029
- for (let j = -1; j <= reps; j++) {
11030
- ctx.drawImage(img, frame.x + i * step, frame.y + j * step, step, step);
11031
- }
11032
- }
11033
- ctx.restore();
11034
- }
11035
- if (typeof createImageBitmap !== "undefined")
11036
- return createImageBitmap(canvas);
11037
- return canvas;
11038
- }
11039
- async function buildPngAtlas(cell) {
11040
10840
  const images = {};
11041
10841
  await Promise.all(
11042
10842
  Object.entries(CELL_URLS).map(async ([key, url]) => {
11043
10843
  images[key] = await loadImage(url);
11044
10844
  })
11045
10845
  );
11046
- return composeAtlas(cell, getPatternRepeats(cell, "png"), images);
11047
- }
11048
- async function buildSvgAtlas(cell) {
11049
- const images = {};
11050
- await Promise.all(
11051
- Object.entries(CELL_SVG_URLS).map(async ([key, url]) => {
11052
- images[key] = await loadSvgImage(url);
11053
- })
11054
- );
11055
- return composeAtlas(cell, getPatternRepeats(cell, "svg"), images);
11056
- }
11057
- async function buildProceduralAtlas(cell) {
11058
- const reps = getPatternRepeats(cell, "procedural");
11059
- const step = cell / reps;
11060
- const images = {};
11061
- for (const key of Object.keys(CELL_URLS)) {
11062
- images[key] = paintTileCanvas(key, step);
10846
+ for (const [key, frame] of Object.entries(PATTERN_ATLAS_MAPPING)) {
10847
+ const img = images[key];
10848
+ if (img) ctx.drawImage(img, frame.x, frame.y, CELL, CELL);
11063
10849
  }
11064
- return composeAtlas(cell, reps, images);
10850
+ if (typeof createImageBitmap !== "undefined")
10851
+ return createImageBitmap(canvas);
10852
+ return canvas;
11065
10853
  }
11066
- var ATLAS_BUILDERS = {
11067
- png: buildPngAtlas,
11068
- svg: buildSvgAtlas,
11069
- procedural: buildProceduralAtlas
11070
- };
11071
- var atlasPromises = /* @__PURE__ */ new Map();
11072
- function getPatternAtlas(cell = getPatternCellSize()) {
11073
- const source = getPatternAssetSource();
11074
- const memoKey = `${source}:${cell}`;
11075
- let promise = atlasPromises.get(memoKey);
11076
- if (!promise) {
11077
- promise = ATLAS_BUILDERS[source](cell);
11078
- promise.catch(() => {
11079
- });
11080
- atlasPromises.set(memoKey, promise);
11081
- }
11082
- return promise;
10854
+
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;
11083
10859
  }
11084
10860
 
11085
10861
  // src/fetch-map/parse-map.ts
@@ -11510,13 +11286,9 @@ function createChannelProps(id, layerType, config2, visualChannels, data, datase
11510
11286
  result.fillPatternEnabled = Boolean(visConfig.fillPatternEnabled);
11511
11287
  if (visConfig.filled && visConfig.fillPatternEnabled) {
11512
11288
  result.fillPatternAtlas = getPatternAtlas();
11513
- result.fillPatternMapping = getPatternAtlasMapping();
11289
+ result.fillPatternMapping = PATTERN_ATLAS_MAPPING;
11514
11290
  result.fillPatternMask = true;
11515
- const textureParameters = getPatternTextureParameters();
11516
- if (textureParameters) {
11517
- result.textureParameters = textureParameters;
11518
- }
11519
- result.getFillPatternScale = (visConfig.fillPatternSize ?? 1) * getPatternScaleAdjustment();
11291
+ result.getFillPatternScale = visConfig.fillPatternSize ?? 1;
11520
11292
  result.fillPattern = visConfig.fillPattern;
11521
11293
  const { fillPatternField, fillPatternScale } = visualChannels;
11522
11294
  const { fillPatternRange, fillPatternDensity } = visConfig;