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/index.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
|
export * from './types.ts';
|
package/dist/index.mjs
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
|
var maplibreGl$1 = { exports: {} };
|
|
11
11
|
/**
|
|
@@ -24263,6 +24263,124 @@ const createSpriteLayer = (options) => {
|
|
|
24263
24263
|
}
|
|
24264
24264
|
return updatedCount;
|
|
24265
24265
|
};
|
|
24266
|
+
const mutateSprites = (sourceItems, mutator) => {
|
|
24267
|
+
if (sourceItems.length === 0) {
|
|
24268
|
+
return 0;
|
|
24269
|
+
}
|
|
24270
|
+
let changedCount = 0;
|
|
24271
|
+
let isRequiredRender = false;
|
|
24272
|
+
let currentSprite = void 0;
|
|
24273
|
+
let didMutateImages = false;
|
|
24274
|
+
const operationResult = {
|
|
24275
|
+
isUpdated: false
|
|
24276
|
+
};
|
|
24277
|
+
const updateObject = {
|
|
24278
|
+
getImageIndexMap: () => {
|
|
24279
|
+
const map2 = /* @__PURE__ */ new Map();
|
|
24280
|
+
currentSprite.images.forEach((inner, subLayer) => {
|
|
24281
|
+
map2.set(subLayer, new Set(inner.keys()));
|
|
24282
|
+
});
|
|
24283
|
+
return map2;
|
|
24284
|
+
},
|
|
24285
|
+
addImage: (subLayer, order, imageInit) => {
|
|
24286
|
+
const added = addSpriteImageInternal(
|
|
24287
|
+
currentSprite,
|
|
24288
|
+
subLayer,
|
|
24289
|
+
order,
|
|
24290
|
+
imageInit,
|
|
24291
|
+
operationResult
|
|
24292
|
+
);
|
|
24293
|
+
if (added) {
|
|
24294
|
+
didMutateImages = true;
|
|
24295
|
+
}
|
|
24296
|
+
return added;
|
|
24297
|
+
},
|
|
24298
|
+
updateImage: (subLayer, order, imageUpdate) => {
|
|
24299
|
+
const updated = updateSpriteImageInternal(
|
|
24300
|
+
currentSprite,
|
|
24301
|
+
subLayer,
|
|
24302
|
+
order,
|
|
24303
|
+
imageUpdate,
|
|
24304
|
+
operationResult
|
|
24305
|
+
);
|
|
24306
|
+
if (updated) {
|
|
24307
|
+
didMutateImages = true;
|
|
24308
|
+
}
|
|
24309
|
+
return updated;
|
|
24310
|
+
},
|
|
24311
|
+
removeImage: (subLayer, order) => {
|
|
24312
|
+
const removed = removeSpriteImageInternal(
|
|
24313
|
+
currentSprite,
|
|
24314
|
+
subLayer,
|
|
24315
|
+
order,
|
|
24316
|
+
operationResult
|
|
24317
|
+
);
|
|
24318
|
+
if (removed) {
|
|
24319
|
+
didMutateImages = true;
|
|
24320
|
+
}
|
|
24321
|
+
return removed;
|
|
24322
|
+
}
|
|
24323
|
+
};
|
|
24324
|
+
for (const sourceItem of sourceItems) {
|
|
24325
|
+
const spriteId = sourceItem.spriteId;
|
|
24326
|
+
const sprite = sprites.get(spriteId);
|
|
24327
|
+
if (!sprite) {
|
|
24328
|
+
const init = mutator.add(sourceItem);
|
|
24329
|
+
if (!init) {
|
|
24330
|
+
continue;
|
|
24331
|
+
}
|
|
24332
|
+
if (addSpriteInternal(spriteId, init)) {
|
|
24333
|
+
changedCount++;
|
|
24334
|
+
isRequiredRender = true;
|
|
24335
|
+
}
|
|
24336
|
+
continue;
|
|
24337
|
+
}
|
|
24338
|
+
currentSprite = sprite;
|
|
24339
|
+
operationResult.isUpdated = false;
|
|
24340
|
+
didMutateImages = false;
|
|
24341
|
+
const decision = mutator.modify(
|
|
24342
|
+
sourceItem,
|
|
24343
|
+
sprite,
|
|
24344
|
+
updateObject
|
|
24345
|
+
);
|
|
24346
|
+
if (decision === "remove") {
|
|
24347
|
+
if (removeSpriteInternal(spriteId)) {
|
|
24348
|
+
changedCount++;
|
|
24349
|
+
isRequiredRender = true;
|
|
24350
|
+
}
|
|
24351
|
+
} else {
|
|
24352
|
+
const updateResult = updateSpriteInternal(spriteId, updateObject);
|
|
24353
|
+
let spriteChanged = false;
|
|
24354
|
+
switch (updateResult) {
|
|
24355
|
+
case "updated":
|
|
24356
|
+
spriteChanged = true;
|
|
24357
|
+
break;
|
|
24358
|
+
case "isRequiredRender":
|
|
24359
|
+
spriteChanged = true;
|
|
24360
|
+
isRequiredRender = true;
|
|
24361
|
+
break;
|
|
24362
|
+
}
|
|
24363
|
+
if (didMutateImages) {
|
|
24364
|
+
spriteChanged = true;
|
|
24365
|
+
isRequiredRender = true;
|
|
24366
|
+
}
|
|
24367
|
+
if (spriteChanged) {
|
|
24368
|
+
changedCount++;
|
|
24369
|
+
}
|
|
24370
|
+
}
|
|
24371
|
+
updateObject.isEnabled = void 0;
|
|
24372
|
+
updateObject.location = void 0;
|
|
24373
|
+
updateObject.interpolation = void 0;
|
|
24374
|
+
updateObject.tag = void 0;
|
|
24375
|
+
operationResult.isUpdated = false;
|
|
24376
|
+
didMutateImages = false;
|
|
24377
|
+
}
|
|
24378
|
+
if (isRequiredRender) {
|
|
24379
|
+
ensureRenderTargetEntries();
|
|
24380
|
+
scheduleRender();
|
|
24381
|
+
}
|
|
24382
|
+
return changedCount;
|
|
24383
|
+
};
|
|
24266
24384
|
const updateForEach = (updater) => {
|
|
24267
24385
|
let updatedCount = 0;
|
|
24268
24386
|
let isRequiredRender = false;
|
|
@@ -24351,6 +24469,7 @@ const createSpriteLayer = (options) => {
|
|
|
24351
24469
|
removeSpriteImage,
|
|
24352
24470
|
updateSprite,
|
|
24353
24471
|
updateBulk,
|
|
24472
|
+
mutateSprites,
|
|
24354
24473
|
updateForEach,
|
|
24355
24474
|
on: addEventListener2,
|
|
24356
24475
|
off: removeEventListener2
|