maplibre-gl-layers 0.15.0 → 0.17.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/README.md +2 -2
- package/dist/SpriteLayer.d.ts +5 -4
- package/dist/config.d.ts +2 -2
- package/dist/const.d.ts +30 -2
- package/dist/default.d.ts +2 -2
- package/dist/gl/atlas.d.ts +2 -2
- package/dist/gl/hitTest.d.ts +5 -5
- package/dist/gl/shader.d.ts +39 -26
- package/dist/gl/text.d.ts +2 -2
- package/dist/host/calculationHost.d.ts +3 -3
- package/dist/host/mapLibreProjectionHost.d.ts +2 -2
- package/dist/host/projectionHost.d.ts +8 -7
- package/dist/host/runtime.d.ts +2 -2
- package/dist/host/wasmCalculationHost.d.ts +6 -2
- package/dist/host/wasmHost.d.ts +3 -3
- package/dist/host/wasmProjectionHost.d.ts +2 -2
- package/dist/index.cjs +2019 -1052
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.mjs +2019 -1052
- package/dist/index.mjs.map +1 -1
- package/dist/internalTypes.d.ts +84 -96
- package/dist/interpolation/degreeInterpolation.d.ts +18 -19
- package/dist/interpolation/distanceInterpolation.d.ts +6 -7
- package/dist/interpolation/easing.d.ts +10 -8
- package/dist/interpolation/interpolation.d.ts +10 -12
- package/dist/interpolation/interpolationChannels.d.ts +4 -3
- package/dist/interpolation/rotationInterpolation.d.ts +10 -10
- package/dist/types.d.ts +227 -138
- package/dist/utils/color.d.ts +20 -0
- package/dist/utils/image.d.ts +2 -2
- package/dist/utils/looseQuadTree.d.ts +2 -2
- package/dist/utils/math.d.ts +80 -86
- package/dist/utils/utils.d.ts +2 -2
- package/dist/wasm/config.json.d.ts +2 -2
- package/dist/wasm/offloads-nosimd.wasm +0 -0
- package/dist/wasm/offloads-simd-mt.wasm +0 -0
- package/dist/wasm/offloads-simd.wasm +0 -0
- package/package.json +6 -6
package/dist/utils/math.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* name: maplibre-gl-layers
|
|
3
|
-
* version: 0.
|
|
3
|
+
* version: 0.17.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: 9fe9aa30db6602d13643e32c94af39ae2b26b082
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { SpriteAnchor, SpriteImageOffset, SpriteLocation, SpritePoint, SpriteScalingOptions, SpriteScreenPoint } from '../types';
|
|
@@ -40,21 +40,21 @@ export declare const normalizeAngleDeg: (angle: number) => number;
|
|
|
40
40
|
export declare const multiplyMatrixAndVector: (matrix: MatrixInput, x: number, y: number, z: number, w: number) => [number, number, number, number];
|
|
41
41
|
/**
|
|
42
42
|
* Structure holding resolved sprite scaling options.
|
|
43
|
-
* @property {number} metersPerPixel - Effective number of meters represented by each rendered pixel.
|
|
44
|
-
* @property {number} zoomMin - Lowest zoom level at which scaling interpolation begins.
|
|
45
|
-
* @property {number} zoomMax - Highest zoom level at which scaling interpolation ends.
|
|
46
|
-
* @property {number} scaleMin - Scale multiplier applied at {@link ResolvedSpriteScalingOptions.zoomMin}.
|
|
47
|
-
* @property {number} scaleMax - Scale multiplier applied at {@link ResolvedSpriteScalingOptions.zoomMax}.
|
|
48
|
-
* @property {number} spriteMinPixel - Lower clamp for sprite size in pixels.
|
|
49
|
-
* @property {number} spriteMaxPixel - Upper clamp for sprite size in pixels.
|
|
50
43
|
*/
|
|
51
44
|
export interface ResolvedSpriteScalingOptions {
|
|
45
|
+
/** Effective number of meters represented by each rendered pixel. */
|
|
52
46
|
metersPerPixel: number;
|
|
47
|
+
/** Lowest zoom level at which scaling interpolation begins. */
|
|
53
48
|
zoomMin: number;
|
|
49
|
+
/** Highest zoom level at which scaling interpolation ends. */
|
|
54
50
|
zoomMax: number;
|
|
51
|
+
/** Scale multiplier applied at {@link ResolvedSpriteScalingOptions.zoomMin}. */
|
|
55
52
|
scaleMin: number;
|
|
53
|
+
/** Scale multiplier applied at {@link ResolvedSpriteScalingOptions.zoomMax}. */
|
|
56
54
|
scaleMax: number;
|
|
55
|
+
/** Lower clamp for sprite size in pixels. */
|
|
57
56
|
spriteMinPixel: number;
|
|
57
|
+
/** Upper clamp for sprite size in pixels. */
|
|
58
58
|
spriteMaxPixel: number;
|
|
59
59
|
}
|
|
60
60
|
/**
|
|
@@ -203,25 +203,25 @@ export declare const calculateEffectivePixelsPerMeter: (metersPerPixelAtLatitude
|
|
|
203
203
|
* Projects a geographic coordinate and elevation into homogeneous clip space.
|
|
204
204
|
* @typedef ProjectToClipSpaceFn
|
|
205
205
|
* @param {number} location - Location in degrees.
|
|
206
|
-
* @returns {[number, number, number, number] |
|
|
206
|
+
* @returns {[number, number, number, number] | undefined} Homogeneous clip coordinates or `undefined` when outside the view.
|
|
207
207
|
*/
|
|
208
|
-
export type ProjectToClipSpaceFn = (location: Readonly<SpriteLocation>) => [number, number, number, number] |
|
|
208
|
+
export type ProjectToClipSpaceFn = (location: Readonly<SpriteLocation>) => [number, number, number, number] | undefined;
|
|
209
209
|
/**
|
|
210
210
|
* Unprojects a screen-space point back to longitude/latitude.
|
|
211
211
|
* @typedef UnprojectPointFn
|
|
212
212
|
* @param {SpriteScreenPoint} point - Screen-space coordinates in pixels.
|
|
213
|
-
* @returns {SpriteLocation |
|
|
213
|
+
* @returns {SpriteLocation | undefined} Geographic location or `undefined` when unprojection fails.
|
|
214
214
|
*/
|
|
215
|
-
export type UnprojectPointFn = (point: Readonly<SpriteScreenPoint>) => SpriteLocation |
|
|
215
|
+
export type UnprojectPointFn = (point: Readonly<SpriteScreenPoint>) => SpriteLocation | undefined;
|
|
216
216
|
/**
|
|
217
217
|
* Resolves a depth key for billboards by sampling the clip-space Z at the sprite center.
|
|
218
218
|
* @param {SpriteScreenPoint} center - Screen-space center of the billboard in pixels.
|
|
219
219
|
* @param {SpriteLocation} spriteLocation - Geographic location including optional altitude.
|
|
220
220
|
* @param {UnprojectPointFn} unproject - Function for converting screen coordinates to geographic coordinates.
|
|
221
221
|
* @param {ProjectToClipSpaceFn} projectToClipSpace - Function that projects a geographic coordinate to clip space.
|
|
222
|
-
* @returns {number |
|
|
222
|
+
* @returns {number | undefined} Negative normalized device coordinate Z used for depth sorting, or `undefined` when unavailable.
|
|
223
223
|
*/
|
|
224
|
-
export declare const calculateBillboardDepthKey: (center: Readonly<SpriteScreenPoint>, unproject: UnprojectPointFn, projectToClipSpace: ProjectToClipSpaceFn) => number |
|
|
224
|
+
export declare const calculateBillboardDepthKey: (center: Readonly<SpriteScreenPoint>, unproject: UnprojectPointFn, projectToClipSpace: ProjectToClipSpaceFn) => number | undefined;
|
|
225
225
|
/**
|
|
226
226
|
* Signature for surface depth bias callbacks that tweak clip-space Z/W.
|
|
227
227
|
* @typedef SurfaceDepthBiasFn
|
|
@@ -242,68 +242,68 @@ export type SurfaceDepthBiasFn = (params: {
|
|
|
242
242
|
* @param {readonly SurfaceCorner[]} displacements - Corner offsets in meters from the center.
|
|
243
243
|
* @param {ProjectToClipSpaceFn} projectToClipSpace - Projection function used to reach clip space.
|
|
244
244
|
* @param {{ readonly indices?: readonly number[]; readonly biasFn?: SurfaceDepthBiasFn }} [options] - Optional overrides.
|
|
245
|
-
* @returns {number |
|
|
245
|
+
* @returns {number | undefined} Depth key suitable for sorting, or `undefined` when any corner cannot be projected.
|
|
246
246
|
*/
|
|
247
247
|
export declare const calculateSurfaceDepthKey: (baseLngLat: Readonly<SpriteLocation>, displacements: readonly SurfaceCorner[], projectToClipSpace: ProjectToClipSpaceFn, options?: {
|
|
248
248
|
readonly indices?: readonly number[];
|
|
249
249
|
readonly biasFn?: SurfaceDepthBiasFn;
|
|
250
|
-
}) => number |
|
|
250
|
+
}) => number | undefined;
|
|
251
251
|
/**
|
|
252
252
|
* Projects a longitude/latitude pair to screen-space pixels.
|
|
253
253
|
* @typedef ProjectLngLatFn
|
|
254
254
|
* @param {SpriteLocation} lngLat - Geographic coordinate to project.
|
|
255
|
-
* @returns {SpriteScreenPoint |
|
|
255
|
+
* @returns {SpriteScreenPoint | undefined} Screen coordinates or `undefined` when projection fails.
|
|
256
256
|
*/
|
|
257
|
-
export type ProjectLngLatFn = (lngLat: Readonly<SpriteLocation>) => SpriteScreenPoint |
|
|
257
|
+
export type ProjectLngLatFn = (lngLat: Readonly<SpriteLocation>) => SpriteScreenPoint | undefined;
|
|
258
258
|
/**
|
|
259
259
|
* Parameters required to resolve a billboard center position.
|
|
260
|
-
* @typedef BillboardCenterParams
|
|
261
|
-
* @property {SpriteScreenPoint} base - Reference screen-space position (usually anchor point).
|
|
262
|
-
* @property {number} [imageWidth] - Source bitmap width in pixels.
|
|
263
|
-
* @property {number} [imageHeight] - Source bitmap height in pixels.
|
|
264
|
-
* @property {number} baseMetersPerPixel - Meters represented by a pixel at the sprite latitude.
|
|
265
|
-
* @property {number} imageScale - User-provided scaling multiplier.
|
|
266
|
-
* @property {number} zoomScaleFactor - Zoom-dependent scale multiplier.
|
|
267
|
-
* @property {number} effectivePixelsPerMeter - Pixels per meter after perspective adjustments.
|
|
268
|
-
* @property {number} spriteMinPixel - Lower clamp for the sprite's largest pixel dimension.
|
|
269
|
-
* @property {number} spriteMaxPixel - Upper clamp for the sprite's largest pixel dimension.
|
|
270
|
-
* @property {number} totalRotateDeg - Aggregate rotation applied to the sprite in degrees.
|
|
271
|
-
* @property {SpriteAnchor} [anchor] - Anchor definition normalized between -1 and 1.
|
|
272
|
-
* @property {SpriteImageOffset} [offset] - Offset definition applied in meters/deg.
|
|
273
260
|
*/
|
|
274
261
|
export interface BillboardCenterParams {
|
|
262
|
+
/** Reference screen-space position (usually anchor point). */
|
|
275
263
|
base: Readonly<SpriteScreenPoint>;
|
|
264
|
+
/** Source bitmap width in pixels. */
|
|
276
265
|
imageWidth?: number;
|
|
266
|
+
/** Source bitmap height in pixels. */
|
|
277
267
|
imageHeight?: number;
|
|
268
|
+
/** Meters represented by a pixel at the sprite latitude. */
|
|
278
269
|
baseMetersPerPixel: number;
|
|
270
|
+
/** User-provided scaling multiplier. */
|
|
279
271
|
imageScale: number;
|
|
272
|
+
/** Zoom-dependent scale multiplier. */
|
|
280
273
|
zoomScaleFactor: number;
|
|
274
|
+
/** Pixels per meter after perspective adjustments. */
|
|
281
275
|
effectivePixelsPerMeter: number;
|
|
276
|
+
/** Lower clamp for the sprite's largest pixel dimension. */
|
|
282
277
|
spriteMinPixel: number;
|
|
278
|
+
/** Upper clamp for the sprite's largest pixel dimension. */
|
|
283
279
|
spriteMaxPixel: number;
|
|
280
|
+
/** Aggregate rotation applied to the sprite in degrees. */
|
|
284
281
|
totalRotateDeg: number;
|
|
282
|
+
/** Anchor definition normalized between -1 and 1. */
|
|
285
283
|
anchor?: Readonly<SpriteAnchor>;
|
|
284
|
+
/** Offset definition applied in meters/deg. */
|
|
286
285
|
offset?: Readonly<SpriteImageOffset>;
|
|
287
286
|
}
|
|
288
287
|
/**
|
|
289
288
|
* Resolved properties describing the billboard center and derived dimensions.
|
|
290
|
-
* @typedef BillboardCenterResult
|
|
291
|
-
* @property {SpriteScreenPoint} center - Screen-space coordinate after offset adjustments.
|
|
292
|
-
* @property {number} halfWidth - Half of the clamped pixel width.
|
|
293
|
-
* @property {number} halfHeight - Half of the clamped pixel height.
|
|
294
|
-
* @property {number} pixelWidth - Full pixel width after scaling and clamping.
|
|
295
|
-
* @property {number} pixelHeight - Full pixel height after scaling and clamping.
|
|
296
|
-
* @property {SpritePoint} anchorShift - Pixel delta caused by anchor rotation.
|
|
297
|
-
* @property {SpritePoint} offsetShift - Pixel delta caused by radial offset.
|
|
298
289
|
*/
|
|
299
290
|
export interface BillboardCenterResult {
|
|
291
|
+
/** Screen-space coordinate after offset adjustments. */
|
|
300
292
|
center: SpriteScreenPoint;
|
|
293
|
+
/** Half of the clamped pixel width. */
|
|
301
294
|
halfWidth: number;
|
|
295
|
+
/** Half of the clamped pixel height. */
|
|
302
296
|
halfHeight: number;
|
|
297
|
+
/** Full pixel width after scaling and clamping. */
|
|
303
298
|
pixelWidth: number;
|
|
299
|
+
/** Full pixel height after scaling and clamping. */
|
|
304
300
|
pixelHeight: number;
|
|
301
|
+
/** Pixel delta caused by anchor rotation. */
|
|
305
302
|
anchorShift: SpritePoint;
|
|
303
|
+
/** Pixel delta caused by radial offset. */
|
|
306
304
|
offsetShift: SpritePoint;
|
|
305
|
+
/** Scaling adjustment applied during pixel dimension calculation. */
|
|
306
|
+
scaleAdjustment: number;
|
|
307
307
|
}
|
|
308
308
|
/**
|
|
309
309
|
* Calculates the final billboard center position, applying scaling, anchor, and offset adjustments.
|
|
@@ -313,28 +313,26 @@ export interface BillboardCenterResult {
|
|
|
313
313
|
export declare const calculateBillboardCenterPosition: (params: BillboardCenterParams) => BillboardCenterResult;
|
|
314
314
|
/**
|
|
315
315
|
* Parameters controlling how billboard corners are computed in screen space.
|
|
316
|
-
* @typedef BillboardCornerParams
|
|
317
|
-
* @property {SpriteScreenPoint} center - Screen-space coordinate for the billboard center after offsets.
|
|
318
|
-
* @property {number} halfWidth - Half of the billboard width in pixels.
|
|
319
|
-
* @property {number} halfHeight - Half of the billboard height in pixels.
|
|
320
|
-
* @property {SpriteAnchor} [anchor] - Optional anchor definition normalized between -1 and 1.
|
|
321
|
-
* @property {number} totalRotateDeg - Total rotation applied to the billboard in degrees.
|
|
322
316
|
*/
|
|
323
317
|
export interface BillboardCornerParams {
|
|
318
|
+
/** Screen-space coordinate for the billboard center after offsets. */
|
|
324
319
|
center: Readonly<SpriteScreenPoint>;
|
|
320
|
+
/** Half of the billboard width in pixels. */
|
|
325
321
|
halfWidth: number;
|
|
322
|
+
/** Half of the billboard height in pixels. */
|
|
326
323
|
halfHeight: number;
|
|
324
|
+
/** Optional anchor definition normalized between -1 and 1. */
|
|
327
325
|
anchor?: Readonly<SpriteAnchor>;
|
|
326
|
+
/** Total rotation applied to the billboard in degrees. */
|
|
328
327
|
totalRotateDeg: number;
|
|
329
328
|
}
|
|
330
329
|
/**
|
|
331
330
|
* Screen-space coordinates combined with UV data for a quad corner.
|
|
332
|
-
* @typedef QuadCorner
|
|
333
|
-
* @property {number} u - Texture u coordinate.
|
|
334
|
-
* @property {number} v - Texture v coordinate.
|
|
335
331
|
*/
|
|
336
332
|
export interface QuadCorner extends SpriteScreenPoint {
|
|
333
|
+
/** Texture u coordinate. */
|
|
337
334
|
readonly u: number;
|
|
335
|
+
/** Texture v coordinate. */
|
|
338
336
|
readonly v: number;
|
|
339
337
|
}
|
|
340
338
|
/**
|
|
@@ -355,68 +353,66 @@ export type SurfaceShaderCornerModel = SurfaceCorner & SpriteLocation;
|
|
|
355
353
|
export declare const computeSurfaceCornerShaderModel: (params: SurfaceShaderModelParams) => SurfaceShaderCornerModel[];
|
|
356
354
|
/**
|
|
357
355
|
* Parameters for projecting a surface sprite's center into screen space.
|
|
358
|
-
* @typedef SurfaceCenterParams
|
|
359
|
-
* @property {SpriteLocation} baseLngLat - Base geographic location of the sprite.
|
|
360
|
-
* @property {number} [imageWidth] - Source bitmap width in pixels.
|
|
361
|
-
* @property {number} [imageHeight] - Source bitmap height in pixels.
|
|
362
|
-
* @property {number} baseMetersPerPixel - Base meters per pixel at the sprite latitude.
|
|
363
|
-
* @property {number} imageScale - User-provided scaling multiplier.
|
|
364
|
-
* @property {number} zoomScaleFactor - Zoom-dependent scale multiplier.
|
|
365
|
-
* @property {number} totalRotateDeg - Rotation applied to the sprite in degrees.
|
|
366
|
-
* @property {SpriteAnchor} [anchor] - Anchor definition normalized between -1 and 1.
|
|
367
|
-
* @property {SpriteImageOffset} [offset] - Offset definition applied in meters/deg.
|
|
368
|
-
* @property {number} [effectivePixelsPerMeter] - Conversion rate from meters to on-screen pixels.
|
|
369
|
-
* @property {number} [spriteMinPixel] - Lower clamp for the sprite's largest pixel dimension.
|
|
370
|
-
* @property {number} [spriteMaxPixel] - Upper clamp for the sprite's largest pixel dimension.
|
|
371
|
-
* @property {ProjectLngLatFn} [project] - Projection function mapping longitude/latitude to screen space.
|
|
372
|
-
* @property {ProjectToClipSpaceFn} [projectToClipSpace] - Projection into clip space when available.
|
|
373
|
-
* @property {number} [drawingBufferWidth] - WebGL drawing buffer width in device pixels.
|
|
374
|
-
* @property {number} [drawingBufferHeight] - WebGL drawing buffer height in device pixels.
|
|
375
|
-
* @property {number} [pixelRatio] - Device pixel ratio relating CSS pixels to device pixels.
|
|
376
|
-
* @property {boolean} [resolveAnchorless] - When true, also computes the anchorless center.
|
|
377
356
|
*/
|
|
378
357
|
export interface SurfaceCenterParams {
|
|
358
|
+
/** Base geographic location of the sprite. */
|
|
379
359
|
baseLngLat: Readonly<SpriteLocation>;
|
|
360
|
+
/** Source bitmap width in pixels. */
|
|
380
361
|
imageWidth?: number;
|
|
362
|
+
/** Source bitmap height in pixels. */
|
|
381
363
|
imageHeight?: number;
|
|
364
|
+
/** Base meters per pixel at the sprite latitude. */
|
|
382
365
|
baseMetersPerPixel: number;
|
|
366
|
+
/** User-provided scaling multiplier. */
|
|
383
367
|
imageScale: number;
|
|
368
|
+
/** Zoom-dependent scale multiplier. */
|
|
384
369
|
zoomScaleFactor: number;
|
|
370
|
+
/** Rotation applied to the sprite in degrees. */
|
|
385
371
|
totalRotateDeg: number;
|
|
372
|
+
/** Anchor definition normalized between -1 and 1. */
|
|
386
373
|
anchor?: Readonly<SpriteAnchor>;
|
|
374
|
+
/** Offset definition applied in meters/deg. */
|
|
387
375
|
offset?: Readonly<SpriteImageOffset>;
|
|
376
|
+
/** Conversion rate from meters to on-screen pixels. */
|
|
388
377
|
effectivePixelsPerMeter?: number;
|
|
378
|
+
/** Lower clamp for the sprite's largest pixel dimension. */
|
|
389
379
|
spriteMinPixel?: number;
|
|
380
|
+
/** Upper clamp for the sprite's largest pixel dimension. */
|
|
390
381
|
spriteMaxPixel?: number;
|
|
382
|
+
/** Projection function mapping longitude/latitude to screen space. */
|
|
391
383
|
project?: ProjectLngLatFn;
|
|
384
|
+
/** Projection into clip space when available. */
|
|
392
385
|
projectToClipSpace?: ProjectToClipSpaceFn;
|
|
386
|
+
/** WebGL drawing buffer width in device pixels. */
|
|
393
387
|
drawingBufferWidth?: number;
|
|
388
|
+
/** WebGL drawing buffer height in device pixels. */
|
|
394
389
|
drawingBufferHeight?: number;
|
|
390
|
+
/** Device pixel ratio relating CSS pixels to device pixels. */
|
|
395
391
|
pixelRatio?: number;
|
|
392
|
+
/** When true, also computes the anchorless center. */
|
|
396
393
|
resolveAnchorless?: boolean;
|
|
397
394
|
}
|
|
398
395
|
/**
|
|
399
396
|
* Output describing the resolved surface center and displacement details.
|
|
400
|
-
* @typedef SurfaceCenterResult
|
|
401
|
-
* @property {SpriteScreenPoint | null} center - Projected screen coordinates or `null` when projection fails.
|
|
402
|
-
* @property {{ width: number; height: number; scaleAdjustment: number }} worldDimensions - Sprite dimensions in world meters.
|
|
403
|
-
* @property {SurfaceCorner} totalDisplacement - Combined anchor and offset displacement in meters.
|
|
404
|
-
* @property {SpriteLocation} displacedLngLat - Geographic coordinates after applying displacement.
|
|
405
|
-
* @property {SpriteScreenPoint | null | undefined} [anchorlessCenter] - Anchorless screen coordinates when requested.
|
|
406
|
-
* @property {SurfaceCorner | undefined} [anchorlessDisplacement] - Offset-only displacement when requested.
|
|
407
|
-
* @property {SpriteLocation | undefined} [anchorlessLngLat] - Anchorless geographic coordinate when requested.
|
|
408
397
|
*/
|
|
409
398
|
export interface SurfaceCenterResult {
|
|
410
|
-
|
|
399
|
+
/** Projected screen coordinates or `undefined` when projection fails. */
|
|
400
|
+
center: Readonly<SpriteScreenPoint> | undefined;
|
|
401
|
+
/** Sprite dimensions in world meters. */
|
|
411
402
|
worldDimensions: Readonly<{
|
|
412
403
|
width: number;
|
|
413
404
|
height: number;
|
|
414
405
|
scaleAdjustment: number;
|
|
415
406
|
}>;
|
|
407
|
+
/** Combined anchor and offset displacement in meters. */
|
|
416
408
|
totalDisplacement: Readonly<SurfaceCorner>;
|
|
409
|
+
/** Geographic coordinates after applying displacement. */
|
|
417
410
|
displacedLngLat: Readonly<SpriteLocation>;
|
|
411
|
+
/** Anchorless screen coordinates when requested. */
|
|
418
412
|
anchorlessCenter?: Readonly<SpriteScreenPoint> | null;
|
|
413
|
+
/** Offset-only displacement when requested. */
|
|
419
414
|
anchorlessDisplacement?: Readonly<SurfaceCorner>;
|
|
415
|
+
/** Anchorless geographic coordinate when requested. */
|
|
420
416
|
anchorlessLngLat?: Readonly<SpriteLocation>;
|
|
421
417
|
}
|
|
422
418
|
/**
|
|
@@ -427,28 +423,26 @@ export interface SurfaceCenterResult {
|
|
|
427
423
|
export declare const calculateSurfaceCenterPosition: (params: SurfaceCenterParams) => SurfaceCenterResult;
|
|
428
424
|
/**
|
|
429
425
|
* Parameters describing how to compute each surface corner displacement.
|
|
430
|
-
* @typedef SurfaceCornerParams
|
|
431
|
-
* @property {number} worldWidthMeters - Width of the sprite footprint in meters.
|
|
432
|
-
* @property {number} worldHeightMeters - Height of the sprite footprint in meters.
|
|
433
|
-
* @property {SpriteAnchor} anchor - Anchor definition normalized between -1 and 1.
|
|
434
|
-
* @property {number} totalRotateDeg - Rotation applied to the surface in degrees.
|
|
435
|
-
* @property {SurfaceCorner} offsetMeters - Additional displacement applied uniformly to all corners.
|
|
436
426
|
*/
|
|
437
427
|
export interface SurfaceCornerParams {
|
|
428
|
+
/** Width of the sprite footprint in meters. */
|
|
438
429
|
worldWidthMeters: number;
|
|
430
|
+
/** Height of the sprite footprint in meters. */
|
|
439
431
|
worldHeightMeters: number;
|
|
432
|
+
/** Anchor definition normalized between -1 and 1. */
|
|
440
433
|
anchor: Readonly<SpriteAnchor>;
|
|
434
|
+
/** Rotation applied to the surface in degrees. */
|
|
441
435
|
totalRotateDeg: number;
|
|
436
|
+
/** Additional displacement applied uniformly to all corners. */
|
|
442
437
|
offsetMeters: Readonly<SurfaceCorner>;
|
|
443
438
|
}
|
|
444
439
|
/**
|
|
445
440
|
* East/north displacement for an individual surface corner.
|
|
446
|
-
* @typedef SurfaceCorner
|
|
447
|
-
* @property {number} east - Eastward offset in meters relative to the base center.
|
|
448
|
-
* @property {number} north - Northward offset in meters relative to the base center.
|
|
449
441
|
*/
|
|
450
442
|
export interface SurfaceCorner {
|
|
443
|
+
/** Eastward offset in meters relative to the base center. */
|
|
451
444
|
readonly east: number;
|
|
445
|
+
/** Northward offset in meters relative to the base center. */
|
|
452
446
|
readonly north: number;
|
|
453
447
|
}
|
|
454
448
|
/**
|
package/dist/utils/utils.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* name: maplibre-gl-layers
|
|
3
|
-
* version: 0.
|
|
3
|
+
* version: 0.17.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: 9fe9aa30db6602d13643e32c94af39ae2b26b082
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { ImageHandleBufferController, IdHandler, RenderTargetBucketBuffers, RenderTargetEntryLike, SpriteOriginReference } from '../internalTypes';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* name: maplibre-gl-layers
|
|
3
|
-
* version: 0.
|
|
3
|
+
* version: 0.17.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: 9fe9aa30db6602d13643e32c94af39ae2b26b082
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
declare const _default: {
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"git": {
|
|
3
3
|
"tags": [
|
|
4
|
-
"0.
|
|
4
|
+
"0.17.0"
|
|
5
5
|
],
|
|
6
6
|
"branches": [
|
|
7
7
|
"main"
|
|
8
8
|
],
|
|
9
|
-
"version": "0.
|
|
9
|
+
"version": "0.17.0",
|
|
10
10
|
"commit": {
|
|
11
|
-
"hash": "
|
|
12
|
-
"shortHash": "
|
|
13
|
-
"date": "2025-11-
|
|
11
|
+
"hash": "9fe9aa30db6602d13643e32c94af39ae2b26b082",
|
|
12
|
+
"shortHash": "9fe9aa3",
|
|
13
|
+
"date": "2025-11-20T13:44:53+09:00Z",
|
|
14
14
|
"message": "Merge branch 'develop'"
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
|
-
"version": "0.
|
|
17
|
+
"version": "0.17.0",
|
|
18
18
|
"description": "MapLibre's layer extension library enabling the display, movement, and modification of large numbers of dynamic sprite images",
|
|
19
19
|
"author": "Kouji Matsui (@kekyo@mi.kekyo.net)",
|
|
20
20
|
"license": "MIT",
|