@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 +1 -1
- package/build/api-client.cjs +67 -56
- package/build/api-client.cjs.map +1 -1
- package/build/api-client.js +67 -52
- package/build/api-client.js.map +1 -1
- package/package.json +1 -1
- package/src/fetch-map/parse-map.ts +15 -12
- package/src/fetch-map/pattern-atlas.ts +222 -20
- package/src/fetch-map/pattern-atlas-baked.ts +0 -56
- package/src/fetch-map/pattern-atlas-runtime.ts +0 -134
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 (
|
|
6
|
+
- feat(fetchMap): Support polygon fill patterns (runtime-assembled sprite atlas, `getFillPattern`/`scales.fillPattern`, `fillPatternEnabled`)
|
|
7
7
|
|
|
8
8
|
### 0.5.31
|
|
9
9
|
|
package/build/api-client.cjs
CHANGED
|
@@ -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
|
|
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
|
|
10829
|
-
function
|
|
10830
|
-
|
|
10831
|
-
|
|
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
|
|
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
|
-
|
|
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,
|
|
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 =
|
|
11300
|
+
result.fillPatternMapping = getPatternAtlasMapping();
|
|
11290
11301
|
result.fillPatternMask = true;
|
|
11291
|
-
|
|
11292
|
-
|
|
11293
|
-
|
|
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;
|