maplibre-gl-layers 0.2.0 → 0.3.0
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/SpriteLayer.d.ts +2 -2
- package/dist/easing.d.ts +2 -2
- package/dist/index.cjs +121 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.mjs +121 -2
- package/dist/index.mjs.map +1 -1
- package/dist/interpolation.d.ts +2 -2
- package/dist/location.d.ts +2 -2
- package/dist/math.d.ts +2 -2
- package/dist/numericInterpolation.d.ts +2 -2
- package/dist/rotationInterpolation.d.ts +2 -2
- package/dist/types.d.ts +52 -13
- package/dist/utils.d.ts +2 -2
- package/package.json +6 -6
package/dist/SpriteLayer.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* name: maplibre-gl-layers
|
|
3
|
-
* version: 0.
|
|
3
|
+
* version: 0.3.0
|
|
4
4
|
* description: MapLibre's layer extension library enabling the display, movement, and modification of large numbers of dynamic sprite images
|
|
5
5
|
* author: Kouji Matsui (@kekyo@mi.kekyo.net)
|
|
6
6
|
* license: MIT
|
|
7
7
|
* repository.url: https://github.com/kekyo/maplibre-gl-layers.git
|
|
8
|
-
* git.commit.hash:
|
|
8
|
+
* git.commit.hash: fd90d1fd66e4ca9c0defa49e68ecaeb9c14fbd06
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { Map as MapLibreMap } from 'maplibre-gl';
|
package/dist/easing.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* name: maplibre-gl-layers
|
|
3
|
-
* version: 0.
|
|
3
|
+
* version: 0.3.0
|
|
4
4
|
* description: MapLibre's layer extension library enabling the display, movement, and modification of large numbers of dynamic sprite images
|
|
5
5
|
* author: Kouji Matsui (@kekyo@mi.kekyo.net)
|
|
6
6
|
* license: MIT
|
|
7
7
|
* repository.url: https://github.com/kekyo/maplibre-gl-layers.git
|
|
8
|
-
* git.commit.hash:
|
|
8
|
+
* git.commit.hash: fd90d1fd66e4ca9c0defa49e68ecaeb9c14fbd06
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { EasingFunction } from './types';
|
package/dist/index.cjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*!
|
|
3
3
|
* name: maplibre-gl-layers
|
|
4
|
-
* version: 0.
|
|
4
|
+
* version: 0.3.0
|
|
5
5
|
* description: MapLibre's layer extension library enabling the display, movement, and modification of large numbers of dynamic sprite images
|
|
6
6
|
* author: Kouji Matsui (@kekyo@mi.kekyo.net)
|
|
7
7
|
* license: MIT
|
|
8
8
|
* repository.url: https://github.com/kekyo/maplibre-gl-layers.git
|
|
9
|
-
* git.commit.hash:
|
|
9
|
+
* git.commit.hash: fd90d1fd66e4ca9c0defa49e68ecaeb9c14fbd06
|
|
10
10
|
*/
|
|
11
11
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
12
12
|
var maplibreGl$1 = { exports: {} };
|
|
@@ -24265,6 +24265,124 @@ const createSpriteLayer = (options) => {
|
|
|
24265
24265
|
}
|
|
24266
24266
|
return updatedCount;
|
|
24267
24267
|
};
|
|
24268
|
+
const mutateSprites = (sourceItems, mutator) => {
|
|
24269
|
+
if (sourceItems.length === 0) {
|
|
24270
|
+
return 0;
|
|
24271
|
+
}
|
|
24272
|
+
let changedCount = 0;
|
|
24273
|
+
let isRequiredRender = false;
|
|
24274
|
+
let currentSprite = void 0;
|
|
24275
|
+
let didMutateImages = false;
|
|
24276
|
+
const operationResult = {
|
|
24277
|
+
isUpdated: false
|
|
24278
|
+
};
|
|
24279
|
+
const updateObject = {
|
|
24280
|
+
getImageIndexMap: () => {
|
|
24281
|
+
const map2 = /* @__PURE__ */ new Map();
|
|
24282
|
+
currentSprite.images.forEach((inner, subLayer) => {
|
|
24283
|
+
map2.set(subLayer, new Set(inner.keys()));
|
|
24284
|
+
});
|
|
24285
|
+
return map2;
|
|
24286
|
+
},
|
|
24287
|
+
addImage: (subLayer, order, imageInit) => {
|
|
24288
|
+
const added = addSpriteImageInternal(
|
|
24289
|
+
currentSprite,
|
|
24290
|
+
subLayer,
|
|
24291
|
+
order,
|
|
24292
|
+
imageInit,
|
|
24293
|
+
operationResult
|
|
24294
|
+
);
|
|
24295
|
+
if (added) {
|
|
24296
|
+
didMutateImages = true;
|
|
24297
|
+
}
|
|
24298
|
+
return added;
|
|
24299
|
+
},
|
|
24300
|
+
updateImage: (subLayer, order, imageUpdate) => {
|
|
24301
|
+
const updated = updateSpriteImageInternal(
|
|
24302
|
+
currentSprite,
|
|
24303
|
+
subLayer,
|
|
24304
|
+
order,
|
|
24305
|
+
imageUpdate,
|
|
24306
|
+
operationResult
|
|
24307
|
+
);
|
|
24308
|
+
if (updated) {
|
|
24309
|
+
didMutateImages = true;
|
|
24310
|
+
}
|
|
24311
|
+
return updated;
|
|
24312
|
+
},
|
|
24313
|
+
removeImage: (subLayer, order) => {
|
|
24314
|
+
const removed = removeSpriteImageInternal(
|
|
24315
|
+
currentSprite,
|
|
24316
|
+
subLayer,
|
|
24317
|
+
order,
|
|
24318
|
+
operationResult
|
|
24319
|
+
);
|
|
24320
|
+
if (removed) {
|
|
24321
|
+
didMutateImages = true;
|
|
24322
|
+
}
|
|
24323
|
+
return removed;
|
|
24324
|
+
}
|
|
24325
|
+
};
|
|
24326
|
+
for (const sourceItem of sourceItems) {
|
|
24327
|
+
const spriteId = sourceItem.spriteId;
|
|
24328
|
+
const sprite = sprites.get(spriteId);
|
|
24329
|
+
if (!sprite) {
|
|
24330
|
+
const init = mutator.add(sourceItem);
|
|
24331
|
+
if (!init) {
|
|
24332
|
+
continue;
|
|
24333
|
+
}
|
|
24334
|
+
if (addSpriteInternal(spriteId, init)) {
|
|
24335
|
+
changedCount++;
|
|
24336
|
+
isRequiredRender = true;
|
|
24337
|
+
}
|
|
24338
|
+
continue;
|
|
24339
|
+
}
|
|
24340
|
+
currentSprite = sprite;
|
|
24341
|
+
operationResult.isUpdated = false;
|
|
24342
|
+
didMutateImages = false;
|
|
24343
|
+
const decision = mutator.modify(
|
|
24344
|
+
sourceItem,
|
|
24345
|
+
sprite,
|
|
24346
|
+
updateObject
|
|
24347
|
+
);
|
|
24348
|
+
if (decision === "remove") {
|
|
24349
|
+
if (removeSpriteInternal(spriteId)) {
|
|
24350
|
+
changedCount++;
|
|
24351
|
+
isRequiredRender = true;
|
|
24352
|
+
}
|
|
24353
|
+
} else {
|
|
24354
|
+
const updateResult = updateSpriteInternal(spriteId, updateObject);
|
|
24355
|
+
let spriteChanged = false;
|
|
24356
|
+
switch (updateResult) {
|
|
24357
|
+
case "updated":
|
|
24358
|
+
spriteChanged = true;
|
|
24359
|
+
break;
|
|
24360
|
+
case "isRequiredRender":
|
|
24361
|
+
spriteChanged = true;
|
|
24362
|
+
isRequiredRender = true;
|
|
24363
|
+
break;
|
|
24364
|
+
}
|
|
24365
|
+
if (didMutateImages) {
|
|
24366
|
+
spriteChanged = true;
|
|
24367
|
+
isRequiredRender = true;
|
|
24368
|
+
}
|
|
24369
|
+
if (spriteChanged) {
|
|
24370
|
+
changedCount++;
|
|
24371
|
+
}
|
|
24372
|
+
}
|
|
24373
|
+
updateObject.isEnabled = void 0;
|
|
24374
|
+
updateObject.location = void 0;
|
|
24375
|
+
updateObject.interpolation = void 0;
|
|
24376
|
+
updateObject.tag = void 0;
|
|
24377
|
+
operationResult.isUpdated = false;
|
|
24378
|
+
didMutateImages = false;
|
|
24379
|
+
}
|
|
24380
|
+
if (isRequiredRender) {
|
|
24381
|
+
ensureRenderTargetEntries();
|
|
24382
|
+
scheduleRender();
|
|
24383
|
+
}
|
|
24384
|
+
return changedCount;
|
|
24385
|
+
};
|
|
24268
24386
|
const updateForEach = (updater) => {
|
|
24269
24387
|
let updatedCount = 0;
|
|
24270
24388
|
let isRequiredRender = false;
|
|
@@ -24353,6 +24471,7 @@ const createSpriteLayer = (options) => {
|
|
|
24353
24471
|
removeSpriteImage,
|
|
24354
24472
|
updateSprite,
|
|
24355
24473
|
updateBulk,
|
|
24474
|
+
mutateSprites,
|
|
24356
24475
|
updateForEach,
|
|
24357
24476
|
on: addEventListener2,
|
|
24358
24477
|
off: removeEventListener2
|