@carto/api-client 0.5.32-alpha.72cdcfe.130 → 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.
- package/CHANGELOG.md +1 -1
- package/build/api-client.cjs +52 -85
- package/build/api-client.cjs.map +1 -1
- package/build/api-client.js +48 -85
- package/build/api-client.js.map +1 -1
- package/package.json +1 -1
- package/src/fetch-map/parse-map.ts +3 -15
- package/src/fetch-map/pattern-atlas-baked.ts +56 -0
- package/src/fetch-map/pattern-atlas-runtime.ts +134 -0
- package/src/fetch-map/pattern-atlas.ts +20 -246
package/build/api-client.js
CHANGED
|
@@ -10310,6 +10310,37 @@ function hexToRGB2(hexColor) {
|
|
|
10310
10310
|
return [r, g, b];
|
|
10311
10311
|
}
|
|
10312
10312
|
|
|
10313
|
+
// src/fetch-map/pattern-atlas-baked.ts
|
|
10314
|
+
var BAKED_ATLAS_URL = "data:image/png;base64,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";
|
|
10315
|
+
var PATTERN_ATLAS_MAPPING = {
|
|
10316
|
+
"hlines-large": { x: 0, y: 0, width: 64, height: 64, mask: true },
|
|
10317
|
+
"hlines-medium": { x: 64, y: 0, width: 64, height: 64, mask: true },
|
|
10318
|
+
"hlines-small": { x: 128, y: 0, width: 64, height: 64, mask: true },
|
|
10319
|
+
"vlines-large": { x: 0, y: 64, width: 64, height: 64, mask: true },
|
|
10320
|
+
"vlines-medium": { x: 64, y: 64, width: 64, height: 64, mask: true },
|
|
10321
|
+
"vlines-small": { x: 128, y: 64, width: 64, height: 64, mask: true },
|
|
10322
|
+
"diag-left-large": { x: 0, y: 128, width: 64, height: 64, mask: true },
|
|
10323
|
+
"diag-left-medium": { x: 64, y: 128, width: 64, height: 64, mask: true },
|
|
10324
|
+
"diag-left-small": { x: 128, y: 128, width: 64, height: 64, mask: true },
|
|
10325
|
+
"diag-right-large": { x: 0, y: 192, width: 64, height: 64, mask: true },
|
|
10326
|
+
"diag-right-medium": { x: 64, y: 192, width: 64, height: 64, mask: true },
|
|
10327
|
+
"diag-right-small": { x: 128, y: 192, width: 64, height: 64, mask: true },
|
|
10328
|
+
"cross-hatch-large": { x: 0, y: 256, width: 64, height: 64, mask: true },
|
|
10329
|
+
"cross-hatch-medium": { x: 64, y: 256, width: 64, height: 64, mask: true },
|
|
10330
|
+
"cross-hatch-small": { x: 128, y: 256, width: 64, height: 64, mask: true },
|
|
10331
|
+
"dots-large": { x: 0, y: 320, width: 64, height: 64, mask: true },
|
|
10332
|
+
"dots-medium": { x: 64, y: 320, width: 64, height: 64, mask: true },
|
|
10333
|
+
"dots-small": { x: 128, y: 320, width: 64, height: 64, mask: true },
|
|
10334
|
+
"checker-large": { x: 0, y: 384, width: 64, height: 64, mask: true },
|
|
10335
|
+
"checker-medium": { x: 64, y: 384, width: 64, height: 64, mask: true },
|
|
10336
|
+
"checker-small": { x: 128, y: 384, width: 64, height: 64, mask: true },
|
|
10337
|
+
solid: { x: 64, y: 448, width: 64, height: 64, mask: true },
|
|
10338
|
+
none: { x: 0, y: 448, width: 64, height: 64, mask: true }
|
|
10339
|
+
};
|
|
10340
|
+
var CELL = 64;
|
|
10341
|
+
var ATLAS_W = CELL * 3;
|
|
10342
|
+
var ATLAS_H = CELL * 8;
|
|
10343
|
+
|
|
10313
10344
|
// src/fetch-map/patterns/hlines-large.png
|
|
10314
10345
|
var hlines_large_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAABBSURBVHic7dixAQAgDMOwwP8/wxfNUOkCz04AYK2T5LUjmm47AAAAAOb5Ae0AAAAAmOcHtAMAAABgnh/QDgAAaj69GwQJx6ek3QAAAABJRU5ErkJggg==";
|
|
10315
10346
|
|
|
@@ -10376,19 +10407,7 @@ var checker_small_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAA
|
|
|
10376
10407
|
// src/fetch-map/patterns/solid.png
|
|
10377
10408
|
var solid_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAACWSURBVHic7dBBEcAwAMOwrPw5dzD0qIXA52/b3cOODtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QGuADtAaoAO0BugArQE6QPsBULQBfwAqZPkAAAAASUVORK5CYII=";
|
|
10378
10409
|
|
|
10379
|
-
// src/fetch-map/pattern-atlas.ts
|
|
10380
|
-
var DEFAULT_CELL_SIZE = 128;
|
|
10381
|
-
var SOURCE_TILE_SIZE = 64;
|
|
10382
|
-
var PATTERN_ROWS = [
|
|
10383
|
-
"hlines",
|
|
10384
|
-
"vlines",
|
|
10385
|
-
"diag-left",
|
|
10386
|
-
"diag-right",
|
|
10387
|
-
"cross-hatch",
|
|
10388
|
-
"dots",
|
|
10389
|
-
"checker"
|
|
10390
|
-
];
|
|
10391
|
-
var DENSITY_COLUMNS = ["large", "medium", "small"];
|
|
10410
|
+
// src/fetch-map/pattern-atlas-runtime.ts
|
|
10392
10411
|
var CELL_URLS = {
|
|
10393
10412
|
"hlines-large": hlines_large_default,
|
|
10394
10413
|
"hlines-medium": hlines_medium_default,
|
|
@@ -10413,43 +10432,6 @@ var CELL_URLS = {
|
|
|
10413
10432
|
"checker-small": checker_small_default,
|
|
10414
10433
|
solid: solid_default
|
|
10415
10434
|
};
|
|
10416
|
-
function debugGlobals() {
|
|
10417
|
-
return globalThis;
|
|
10418
|
-
}
|
|
10419
|
-
function getPatternCellSize() {
|
|
10420
|
-
const cell = debugGlobals().__CARTO_PATTERN_CELL_SIZE__;
|
|
10421
|
-
return typeof cell === "number" && cell > 0 ? cell : DEFAULT_CELL_SIZE;
|
|
10422
|
-
}
|
|
10423
|
-
function getPatternTextureParameters() {
|
|
10424
|
-
const params = debugGlobals().__CARTO_PATTERN_TEXTURE_PARAMS__;
|
|
10425
|
-
return params && typeof params === "object" ? params : void 0;
|
|
10426
|
-
}
|
|
10427
|
-
function getPatternScaleAdjustment(cell = getPatternCellSize()) {
|
|
10428
|
-
return SOURCE_TILE_SIZE / cell;
|
|
10429
|
-
}
|
|
10430
|
-
function getPatternCellPadding(cell) {
|
|
10431
|
-
return Math.max(2, Math.round(cell / 16));
|
|
10432
|
-
}
|
|
10433
|
-
function getPatternAtlasMapping(cell = getPatternCellSize()) {
|
|
10434
|
-
const pad = getPatternCellPadding(cell);
|
|
10435
|
-
const pitch = cell + 2 * pad;
|
|
10436
|
-
const mapping = {};
|
|
10437
|
-
const frame = (col, row) => ({
|
|
10438
|
-
x: pad + col * pitch,
|
|
10439
|
-
y: pad + row * pitch,
|
|
10440
|
-
width: cell,
|
|
10441
|
-
height: cell,
|
|
10442
|
-
mask: true
|
|
10443
|
-
});
|
|
10444
|
-
PATTERN_ROWS.forEach((pattern, row) => {
|
|
10445
|
-
DENSITY_COLUMNS.forEach((density, col) => {
|
|
10446
|
-
mapping[`${pattern}-${density}`] = frame(col, row);
|
|
10447
|
-
});
|
|
10448
|
-
});
|
|
10449
|
-
mapping.none = frame(0, PATTERN_ROWS.length);
|
|
10450
|
-
mapping.solid = frame(1, PATTERN_ROWS.length);
|
|
10451
|
-
return mapping;
|
|
10452
|
-
}
|
|
10453
10435
|
function createCanvas(w, h) {
|
|
10454
10436
|
if (typeof OffscreenCanvas !== "undefined") return new OffscreenCanvas(w, h);
|
|
10455
10437
|
if (typeof document !== "undefined") {
|
|
@@ -10474,22 +10456,13 @@ async function loadImage(dataUrl) {
|
|
|
10474
10456
|
img.src = dataUrl;
|
|
10475
10457
|
});
|
|
10476
10458
|
}
|
|
10477
|
-
var
|
|
10478
|
-
function
|
|
10479
|
-
|
|
10480
|
-
|
|
10481
|
-
promise = build(cell);
|
|
10482
|
-
promise.catch(() => {
|
|
10483
|
-
});
|
|
10484
|
-
atlasPromises.set(cell, promise);
|
|
10485
|
-
}
|
|
10486
|
-
return promise;
|
|
10459
|
+
var atlasPromise;
|
|
10460
|
+
function assemblePatternAtlas() {
|
|
10461
|
+
if (!atlasPromise) atlasPromise = build();
|
|
10462
|
+
return atlasPromise;
|
|
10487
10463
|
}
|
|
10488
|
-
async function build(
|
|
10489
|
-
const
|
|
10490
|
-
const pad = getPatternCellPadding(cell);
|
|
10491
|
-
const pitch = cell + 2 * pad;
|
|
10492
|
-
const canvas = createCanvas(pitch * 3, pitch * (PATTERN_ROWS.length + 1));
|
|
10464
|
+
async function build() {
|
|
10465
|
+
const canvas = createCanvas(ATLAS_W, ATLAS_H);
|
|
10493
10466
|
const ctx = canvas.getContext("2d");
|
|
10494
10467
|
if (!ctx)
|
|
10495
10468
|
throw new Error(
|
|
@@ -10501,27 +10474,21 @@ async function build(cell) {
|
|
|
10501
10474
|
images[key] = await loadImage(url);
|
|
10502
10475
|
})
|
|
10503
10476
|
);
|
|
10504
|
-
for (const [key, frame] of Object.entries(
|
|
10477
|
+
for (const [key, frame] of Object.entries(PATTERN_ATLAS_MAPPING)) {
|
|
10505
10478
|
const img = images[key];
|
|
10506
|
-
if (
|
|
10507
|
-
ctx.imageSmoothingEnabled = /^(diag-|cross-hatch)/.test(key);
|
|
10508
|
-
if ("imageSmoothingQuality" in ctx) ctx.imageSmoothingQuality = "high";
|
|
10509
|
-
ctx.save();
|
|
10510
|
-
ctx.beginPath();
|
|
10511
|
-
ctx.rect(frame.x - pad, frame.y - pad, cell + 2 * pad, cell + 2 * pad);
|
|
10512
|
-
ctx.clip();
|
|
10513
|
-
for (const dx of [-cell, 0, cell]) {
|
|
10514
|
-
for (const dy of [-cell, 0, cell]) {
|
|
10515
|
-
ctx.drawImage(img, frame.x + dx, frame.y + dy, cell, cell);
|
|
10516
|
-
}
|
|
10517
|
-
}
|
|
10518
|
-
ctx.restore();
|
|
10479
|
+
if (img) ctx.drawImage(img, frame.x, frame.y, CELL, CELL);
|
|
10519
10480
|
}
|
|
10520
10481
|
if (typeof createImageBitmap !== "undefined")
|
|
10521
10482
|
return createImageBitmap(canvas);
|
|
10522
10483
|
return canvas;
|
|
10523
10484
|
}
|
|
10524
10485
|
|
|
10486
|
+
// src/fetch-map/pattern-atlas.ts
|
|
10487
|
+
function getPatternAtlas() {
|
|
10488
|
+
const runtime = globalThis.__CARTO_RUNTIME_ATLAS__ === true;
|
|
10489
|
+
return runtime ? assemblePatternAtlas() : BAKED_ATLAS_URL;
|
|
10490
|
+
}
|
|
10491
|
+
|
|
10525
10492
|
// src/fetch-map/parse-map.ts
|
|
10526
10493
|
function getLayerDescriptor({
|
|
10527
10494
|
mapConfig,
|
|
@@ -10950,13 +10917,9 @@ function createChannelProps(id, layerType, config2, visualChannels, data, datase
|
|
|
10950
10917
|
result.fillPatternEnabled = Boolean(visConfig.fillPatternEnabled);
|
|
10951
10918
|
if (visConfig.filled && visConfig.fillPatternEnabled) {
|
|
10952
10919
|
result.fillPatternAtlas = getPatternAtlas();
|
|
10953
|
-
result.fillPatternMapping =
|
|
10920
|
+
result.fillPatternMapping = PATTERN_ATLAS_MAPPING;
|
|
10954
10921
|
result.fillPatternMask = true;
|
|
10955
|
-
|
|
10956
|
-
if (textureParameters) {
|
|
10957
|
-
result.textureParameters = textureParameters;
|
|
10958
|
-
}
|
|
10959
|
-
result.getFillPatternScale = (visConfig.fillPatternSize ?? 1) * getPatternScaleAdjustment();
|
|
10922
|
+
result.getFillPatternScale = visConfig.fillPatternSize ?? 1;
|
|
10960
10923
|
result.fillPattern = visConfig.fillPattern;
|
|
10961
10924
|
const { fillPatternField, fillPatternScale } = visualChannels;
|
|
10962
10925
|
const { fillPatternRange, fillPatternDensity } = visConfig;
|