maplibre-gl-layers 0.15.0 → 0.16.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.
Files changed (38) hide show
  1. package/dist/SpriteLayer.d.ts +4 -3
  2. package/dist/config.d.ts +2 -2
  3. package/dist/const.d.ts +6 -2
  4. package/dist/default.d.ts +2 -2
  5. package/dist/gl/atlas.d.ts +2 -2
  6. package/dist/gl/hitTest.d.ts +5 -5
  7. package/dist/gl/shader.d.ts +40 -26
  8. package/dist/gl/text.d.ts +2 -2
  9. package/dist/host/calculationHost.d.ts +3 -3
  10. package/dist/host/mapLibreProjectionHost.d.ts +2 -2
  11. package/dist/host/projectionHost.d.ts +8 -7
  12. package/dist/host/runtime.d.ts +2 -2
  13. package/dist/host/wasmCalculationHost.d.ts +6 -2
  14. package/dist/host/wasmHost.d.ts +2 -2
  15. package/dist/host/wasmProjectionHost.d.ts +2 -2
  16. package/dist/index.cjs +1849 -987
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.d.ts +2 -2
  19. package/dist/index.mjs +1849 -987
  20. package/dist/index.mjs.map +1 -1
  21. package/dist/internalTypes.d.ts +38 -23
  22. package/dist/interpolation/degreeInterpolation.d.ts +2 -2
  23. package/dist/interpolation/distanceInterpolation.d.ts +2 -2
  24. package/dist/interpolation/easing.d.ts +7 -7
  25. package/dist/interpolation/interpolation.d.ts +2 -2
  26. package/dist/interpolation/interpolationChannels.d.ts +2 -2
  27. package/dist/interpolation/rotationInterpolation.d.ts +2 -2
  28. package/dist/types.d.ts +112 -23
  29. package/dist/utils/color.d.ts +25 -0
  30. package/dist/utils/image.d.ts +2 -2
  31. package/dist/utils/looseQuadTree.d.ts +2 -2
  32. package/dist/utils/math.d.ts +15 -14
  33. package/dist/utils/utils.d.ts +2 -2
  34. package/dist/wasm/config.json.d.ts +2 -2
  35. package/dist/wasm/offloads-nosimd.wasm +0 -0
  36. package/dist/wasm/offloads-simd-mt.wasm +0 -0
  37. package/dist/wasm/offloads-simd.wasm +0 -0
  38. package/package.json +6 -6
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * name: maplibre-gl-layers
3
- * version: 0.15.0
3
+ * version: 0.16.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: d850b7e9c713f54f0630248dc4ea370721b6965b
8
+ * git.commit.hash: 8d2149a6811cac25ed9d8c1d97acde73e1a38e25
9
9
  */
10
10
 
11
11
  import { SpriteLayerInterface, SpriteLayerOptions, SpriteLocation, SpriteImageDefinitionInit } from './types';
@@ -24,9 +24,10 @@ export declare const applyAutoRotation: <T>(sprite: InternalSpriteCurrentState<T
24
24
  * @param {number} subLayer - Sub-layer index the image belongs to.
25
25
  * @param {number} order - Ordering slot within the sub-layer.
26
26
  * @param {SpriteOriginReference} originReference - Encode/Decode origin reference.
27
+ * @param {boolean} invalidated - Initially invalidate state.
27
28
  * @returns {InternalSpriteImageState} Normalized internal state ready for rendering.
28
29
  */
29
- export declare const createImageStateFromInit: (imageInit: SpriteImageDefinitionInit, subLayer: number, order: number, originReference: SpriteOriginReference) => InternalSpriteImageState;
30
+ export declare const createImageStateFromInit: (imageInit: SpriteImageDefinitionInit, subLayer: number, order: number, originReference: SpriteOriginReference, invalidated: boolean) => InternalSpriteImageState;
30
31
  /**
31
32
  * Factory that creates the MapLibre layer interface for the sprite layer.
32
33
  * Implements the CustomLayerInterface lifecycle (init -> render -> dispose), packing thousands
package/dist/config.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * name: maplibre-gl-layers
3
- * version: 0.15.0
3
+ * version: 0.16.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: d850b7e9c713f54f0630248dc4ea370721b6965b
8
+ * git.commit.hash: 8d2149a6811cac25ed9d8c1d97acde73e1a38e25
9
9
  */
10
10
 
11
11
  /** Debug flag */
package/dist/const.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * name: maplibre-gl-layers
3
- * version: 0.15.0
3
+ * version: 0.16.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: d850b7e9c713f54f0630248dc4ea370721b6965b
8
+ * git.commit.hash: 8d2149a6811cac25ed9d8c1d97acde73e1a38e25
9
9
  */
10
10
 
11
11
  import { Rect } from './utils/looseQuadTree';
@@ -21,6 +21,10 @@ export declare const DEFAULT_TEXT_GLYPH_COLOR = "#000000";
21
21
  export declare const DEFAULT_TEXT_GLYPH_ALIGN: SpriteTextGlyphHorizontalAlign;
22
22
  export declare const DEFAULT_TEXT_GLYPH_FONT_SIZE = 32;
23
23
  export declare const DEFAULT_TEXT_GLYPH_RENDER_PIXEL_RATIO = 1;
24
+ /** Default threshold in meters for auto-rotation to treat movement as significant. */
25
+ export declare const DEFAULT_AUTO_ROTATION_MIN_DISTANCE_METERS = 20;
26
+ /** Default border width in meters for sprite image outlines. */
27
+ export declare const DEFAULT_BORDER_WIDTH_METERS = 1;
24
28
  /**
25
29
  * WGS84-compatible Earth radius in meters.
26
30
  * Used to convert one radian of longitude into meters when scaling sprites.
package/dist/default.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * name: maplibre-gl-layers
3
- * version: 0.15.0
3
+ * version: 0.16.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: d850b7e9c713f54f0630248dc4ea370721b6965b
8
+ * git.commit.hash: 8d2149a6811cac25ed9d8c1d97acde73e1a38e25
9
9
  */
10
10
 
11
11
  import { SpriteScalingOptions, SpriteTextureFilteringOptions } from './types';
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * name: maplibre-gl-layers
3
- * version: 0.15.0
3
+ * version: 0.16.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: d850b7e9c713f54f0630248dc4ea370721b6965b
8
+ * git.commit.hash: 8d2149a6811cac25ed9d8c1d97acde73e1a38e25
9
9
  */
10
10
 
11
11
  import { Deferred } from 'async-primitives';
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * name: maplibre-gl-layers
3
- * version: 0.15.0
3
+ * version: 0.16.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: d850b7e9c713f54f0630248dc4ea370721b6965b
8
+ * git.commit.hash: 8d2149a6811cac25ed9d8c1d97acde73e1a38e25
9
9
  */
10
10
 
11
11
  import { Map as MapLibreMap } from 'maplibre-gl';
@@ -27,7 +27,7 @@ export interface HitTestEntry<T> {
27
27
  readonly maxY: number;
28
28
  }
29
29
  export interface HitTestResult<T> {
30
- readonly hitEntry: HitTestEntry<T> | null;
30
+ readonly hitEntry: HitTestEntry<T> | undefined;
31
31
  readonly screenPoint: SpriteScreenPoint;
32
32
  }
33
33
  export interface HitTestControllerParams {
@@ -46,8 +46,8 @@ export interface HitTestController<T> {
46
46
  ], drawIndex: number) => void;
47
47
  readonly removeImageBounds: (image: InternalSpriteImageState) => void;
48
48
  readonly refreshSpriteHitTestBounds: (projectionHost: ProjectionHost, sprite: Readonly<InternalSpriteCurrentState<T>>) => void;
49
- readonly findTopmostHitEntry: (point: SpriteScreenPoint, map: MapLibreMap | null) => HitTestEntry<T> | null;
50
- readonly resolveHitTestResult: (nativeEvent: MouseEvent | PointerEvent | TouchEvent, canvasElement: HTMLCanvasElement | null, map: MapLibreMap | null) => HitTestResult<T> | null;
49
+ readonly findTopmostHitEntry: (point: SpriteScreenPoint, map: MapLibreMap | undefined) => HitTestEntry<T> | undefined;
50
+ readonly resolveHitTestResult: (nativeEvent: MouseEvent | PointerEvent | TouchEvent, canvasElement: HTMLCanvasElement | undefined, map: MapLibreMap | undefined) => HitTestResult<T> | undefined;
51
51
  readonly setHitTestEnabled: (enabled: boolean) => boolean;
52
52
  readonly isHitTestEnabled: () => boolean;
53
53
  }
@@ -1,15 +1,17 @@
1
1
  /*!
2
2
  * name: maplibre-gl-layers
3
- * version: 0.15.0
3
+ * version: 0.16.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: d850b7e9c713f54f0630248dc4ea370721b6965b
8
+ * git.commit.hash: 8d2149a6811cac25ed9d8c1d97acde73e1a38e25
9
9
  */
10
10
 
11
- import { SpriteAnchor, SpriteScreenPoint } from '../types';
12
- import { PreparedDrawSpriteImageParams, Releasable } from '../internalTypes';
11
+ import { SpriteAnchor, SpriteScreenPoint, SpriteTextureFilteringOptions } from '../types';
12
+ import { ImageHandleBufferController, PreparedDrawSpriteImageParams, RegisteredImage, Releasable, ResolvedTextureFilteringOptions } from '../internalTypes';
13
+ import { AtlasManager, AtlasOperationQueue, AtlasPageState } from './atlas';
14
+ import { RgbaColor } from '../utils/color';
13
15
  /** Number of components per vertex (clipPosition.xyzw + uv.xy). */
14
16
  export declare const VERTEX_COMPONENT_COUNT = 6;
15
17
  /** Component count for clip-space position attributes. */
@@ -24,30 +26,12 @@ export declare const VERTEX_STRIDE: number;
24
26
  export declare const UV_OFFSET: number;
25
27
  /** Vertex count required to draw one sprite as two triangles. */
26
28
  export declare const QUAD_VERTEX_COUNT = 6;
27
- /** Shared vertex shader that converts screen-space vertices when requested. */
28
- export declare const VERTEX_SHADER_SOURCE: "\nattribute vec4 a_position;\nattribute vec2 a_uv;\nuniform vec2 u_screenToClipScale;\nuniform vec2 u_screenToClipOffset;\nuniform float u_billboardMode;\nuniform float u_surfaceMode;\nuniform vec2 u_billboardCenter;\nuniform vec2 u_billboardHalfSize;\nuniform vec2 u_billboardAnchor;\nuniform vec2 u_billboardSinCos;\nuniform float u_surfaceClipEnabled;\nuniform mat4 u_surfaceClipMatrix;\nuniform float u_surfaceDepthBias;\nvarying vec2 v_uv;\nvec2 computeBillboardCorner(vec2 baseCorner) {\n vec2 anchorShift = vec2(u_billboardAnchor.x * u_billboardHalfSize.x, u_billboardAnchor.y * u_billboardHalfSize.y);\n vec2 shifted = vec2(baseCorner.x * u_billboardHalfSize.x, baseCorner.y * u_billboardHalfSize.y) - anchorShift;\n float sinR = u_billboardSinCos.x;\n float cosR = u_billboardSinCos.y;\n vec2 rotated = vec2(\n shifted.x * cosR - shifted.y * sinR,\n shifted.x * sinR + shifted.y * cosR\n );\n return vec2(\n u_billboardCenter.x + rotated.x,\n u_billboardCenter.y - rotated.y\n );\n}\nvec4 computeSurfaceCorner(vec2 corner) {\n if (u_surfaceClipEnabled < 0.5) {\n return vec4(0.0, 0.0, 0.0, 1.0);\n }\n vec4 clip = u_surfaceClipMatrix * vec4(1.0, corner.x, corner.y, 0.0);\n clip.z += u_surfaceDepthBias * clip.w;\n return clip;\n}\nvoid main() {\n v_uv = a_uv;\n vec4 position;\n if (u_billboardMode > 0.5) {\n vec2 screenPosition = computeBillboardCorner(a_position.xy);\n position = vec4(screenPosition, 0.0, 1.0);\n } else if (u_surfaceMode > 0.5) {\n vec2 baseCorner = vec2(a_position.x, a_position.y);\n position = computeSurfaceCorner(baseCorner);\n } else {\n position = a_position;\n }\n position.xy = position.xy * u_screenToClipScale + u_screenToClipOffset;\n gl_Position = position;\n}\n";
29
- /** Fragment shader that applies texture sampling and opacity. */
30
- export declare const FRAGMENT_SHADER_SOURCE: "\nprecision mediump float;\nuniform sampler2D u_texture;\nuniform float u_opacity;\nvarying vec2 v_uv;\nvoid main() {\n vec4 texel = texture2D(u_texture, v_uv);\n gl_FragColor = vec4(texel.rgb, texel.a) * u_opacity;\n}\n";
31
29
  /** Initial vertex data for a unit quad. */
32
30
  export declare const INITIAL_QUAD_VERTICES: Float32Array<ArrayBuffer>;
33
31
  /** Scratch buffer rewritten for each draw call. */
34
32
  export declare const QUAD_VERTEX_SCRATCH: Float32Array<ArrayBuffer>;
35
- /** Vertex shader for debug hit-test outline rendering using screen coordinates. */
36
- export declare const DEBUG_OUTLINE_VERTEX_SHADER_SOURCE: "\nattribute vec4 a_position;\nuniform vec2 u_screenToClipScale;\nuniform vec2 u_screenToClipOffset;\nvoid main() {\n vec4 position = a_position;\n position.xy = position.xy * u_screenToClipScale + u_screenToClipOffset;\n gl_Position = position;\n}\n";
37
- /** Fragment shader emitting a solid color for debug outlines. */
38
- export declare const DEBUG_OUTLINE_FRAGMENT_SHADER_SOURCE: "\nprecision mediump float;\nuniform vec4 u_color;\nvoid main() {\n gl_FragColor = u_color;\n}\n";
39
- /** Number of vertices required to outline a quad using LINE_LOOP. */
40
- export declare const DEBUG_OUTLINE_VERTEX_COUNT = 4;
41
- /** Components per debug outline vertex (clipPosition.xyzw). */
42
- export declare const DEBUG_OUTLINE_POSITION_COMPONENT_COUNT = 4;
43
- /** Stride in bytes for debug outline vertices. */
44
- export declare const DEBUG_OUTLINE_VERTEX_STRIDE: number;
45
- /** Scratch buffer reused when emitting debug outlines. */
46
- export declare const DEBUG_OUTLINE_VERTEX_SCRATCH: Float32Array<ArrayBuffer>;
47
- /** Solid red RGBA color used for debug outlines. */
48
- export declare const DEBUG_OUTLINE_COLOR: readonly [number, number, number, number];
49
33
  /** Corner traversal order used when outlining a quad without crossing diagonals. */
50
- export declare const DEBUG_OUTLINE_CORNER_ORDER: readonly [0, 1, 3, 2];
34
+ export declare const BORDER_OUTLINE_CORNER_ORDER: readonly [0, 1, 3, 2];
51
35
  /** Base corner definitions used when expanding billboards in shaders. */
52
36
  export declare const BILLBOARD_BASE_CORNERS: ReadonlyArray<readonly [number, number]>;
53
37
  /** Base corner definitions used when expanding surface quads in shaders. */
@@ -88,14 +72,44 @@ export interface SpriteDrawProgram<TTag> extends Releasable {
88
72
  draw(prepared: PreparedDrawSpriteImageParams<TTag>): boolean;
89
73
  }
90
74
  export declare const createSpriteDrawProgram: <TTag>(glContext: WebGLRenderingContext) => SpriteDrawProgram<TTag>;
91
- export interface DebugOutlineRenderer extends Releasable {
75
+ export interface BorderOutlineRenderer extends Releasable {
92
76
  begin(screenToClipScaleX: number, screenToClipScaleY: number, screenToClipOffsetX: number, screenToClipOffsetY: number): void;
93
77
  drawOutline(corners: readonly [
94
78
  SpriteScreenPoint,
95
79
  SpriteScreenPoint,
96
80
  SpriteScreenPoint,
97
81
  SpriteScreenPoint
98
- ]): void;
82
+ ], color: RgbaColor, lineWidth: number): void;
99
83
  end(): void;
100
84
  }
101
- export declare const createDebugOutlineRenderer: (glContext: WebGLRenderingContext) => DebugOutlineRenderer;
85
+ export declare const createBorderOutlineRenderer: (glContext: WebGLRenderingContext) => BorderOutlineRenderer;
86
+ export interface LeaderLineRenderer extends Releasable {
87
+ begin(screenToClipScaleX: number, screenToClipScaleY: number, screenToClipOffsetX: number, screenToClipOffsetY: number): void;
88
+ drawLine(from: Readonly<SpriteScreenPoint>, to: Readonly<SpriteScreenPoint>, color: RgbaColor, lineWidth: number): void;
89
+ end(): void;
90
+ }
91
+ export declare const createLeaderLineRenderer: (glContext: WebGLRenderingContext) => LeaderLineRenderer;
92
+ export declare const resolveTextureFilteringOptions: (options?: SpriteTextureFilteringOptions) => ResolvedTextureFilteringOptions;
93
+ export declare const resolveAnisotropyExtension: (glContext: WebGLRenderingContext) => EXT_texture_filter_anisotropic | undefined;
94
+ export interface EnsureTexturesParams {
95
+ readonly glContext: WebGLRenderingContext | undefined;
96
+ readonly atlasQueue: AtlasOperationQueue;
97
+ readonly atlasManager: AtlasManager;
98
+ readonly atlasPageTextures: Map<number, WebGLTexture>;
99
+ readonly atlasNeedsUpload: boolean;
100
+ readonly resolvedTextureFiltering: ResolvedTextureFilteringOptions;
101
+ readonly anisotropyExtension: EXT_texture_filter_anisotropic | undefined;
102
+ readonly maxSupportedAnisotropy: number;
103
+ readonly images: ReadonlyMap<string, RegisteredImage>;
104
+ readonly imageHandleBuffersController: ImageHandleBufferController;
105
+ readonly atlasPageIndexNone: number;
106
+ readonly shouldUploadAtlasPages: (pageStates?: readonly AtlasPageState[]) => boolean;
107
+ }
108
+ /**
109
+ * Creates or refreshes WebGL textures for registered images.
110
+ * Processes only queued entries to avoid unnecessary work.
111
+ * Intended to run just before drawing; returns immediately if the GL context is unavailable.
112
+ * Ensures registerImage calls outside the render loop sync on the next frame.
113
+ * @returns {boolean} Updated atlas upload requirement flag.
114
+ */
115
+ export declare const ensureTextures: ({ glContext, atlasQueue, atlasManager, atlasPageTextures, atlasNeedsUpload, resolvedTextureFiltering, anisotropyExtension, maxSupportedAnisotropy, images, imageHandleBuffersController, atlasPageIndexNone, shouldUploadAtlasPages, }: EnsureTexturesParams) => boolean;
package/dist/gl/text.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * name: maplibre-gl-layers
3
- * version: 0.15.0
3
+ * version: 0.16.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: d850b7e9c713f54f0630248dc4ea370721b6965b
8
+ * git.commit.hash: 8d2149a6811cac25ed9d8c1d97acde73e1a38e25
9
9
  */
10
10
 
11
11
  import { SpriteTextGlyphDimensions, SpriteTextGlyphOptions } from '../types';
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * name: maplibre-gl-layers
3
- * version: 0.15.0
3
+ * version: 0.16.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: d850b7e9c713f54f0630248dc4ea370721b6965b
8
+ * git.commit.hash: 8d2149a6811cac25ed9d8c1d97acde73e1a38e25
9
9
  */
10
10
 
11
11
  import { Map as MapLibreMap } from 'maplibre-gl';
@@ -30,7 +30,7 @@ type ImageCenterCache = Map<string, Map<string, ImageCenterCacheEntry>>;
30
30
  * return `null` when the origin is not available (e.g., the reference was
31
31
  * culled or stored in another bucket).
32
32
  */
33
- type OriginImageResolver<T> = (sprite: Readonly<InternalSpriteCurrentState<T>>, image: Readonly<InternalSpriteImageState>) => InternalSpriteImageState | null;
33
+ type OriginImageResolver<T> = (sprite: Readonly<InternalSpriteCurrentState<T>>, image: Readonly<InternalSpriteImageState>) => InternalSpriteImageState | undefined;
34
34
  export declare const DEFAULT_RENDER_INTERPOLATION_RESULT: RenderInterpolationResult;
35
35
  interface DepthSortedItem<T> {
36
36
  readonly sprite: InternalSpriteCurrentState<T>;
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * name: maplibre-gl-layers
3
- * version: 0.15.0
3
+ * version: 0.16.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: d850b7e9c713f54f0630248dc4ea370721b6965b
8
+ * git.commit.hash: 8d2149a6811cac25ed9d8c1d97acde73e1a38e25
9
9
  */
10
10
 
11
11
  import { Map as MapLibreMap } from 'maplibre-gl';
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * name: maplibre-gl-layers
3
- * version: 0.15.0
3
+ * version: 0.16.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: d850b7e9c713f54f0630248dc4ea370721b6965b
8
+ * git.commit.hash: 8d2149a6811cac25ed9d8c1d97acde73e1a38e25
9
9
  */
10
10
 
11
11
  import { mat4 as Mat4 } from 'gl-matrix';
@@ -20,6 +20,7 @@ export interface ProjectionHostParams {
20
20
  readonly width: number;
21
21
  readonly height: number;
22
22
  readonly center: Readonly<SpriteLocation>;
23
+ readonly cameraLocation: SpriteLocation | undefined;
23
24
  readonly pitchDeg?: number;
24
25
  readonly bearingDeg?: number;
25
26
  readonly rollDeg?: number;
@@ -36,14 +37,14 @@ export interface ProjectionHostParams {
36
37
  }
37
38
  export interface PreparedProjectionState {
38
39
  readonly zoom: number;
39
- readonly mercatorMatrix: Mat4 | null;
40
- readonly pixelMatrix: Mat4 | null;
41
- readonly pixelMatrixInverse: Mat4 | null;
40
+ readonly mercatorMatrix: Mat4 | undefined;
41
+ readonly pixelMatrix: Mat4 | undefined;
42
+ readonly pixelMatrixInverse: Mat4 | undefined;
42
43
  readonly worldSize: number;
43
44
  readonly pixelPerMeter: number;
44
45
  readonly cameraToCenterDistance: number;
45
- readonly clipContext: ClipContext | null;
46
- readonly cameraLocation: SpriteLocation | null;
46
+ readonly clipContext: ClipContext | undefined;
47
+ readonly cameraLocation: SpriteLocation | undefined;
47
48
  }
48
49
  export declare const prepareProjectionState: (params: ProjectionHostParams) => PreparedProjectionState;
49
50
  /**
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * name: maplibre-gl-layers
3
- * version: 0.15.0
3
+ * version: 0.16.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: d850b7e9c713f54f0630248dc4ea370721b6965b
8
+ * git.commit.hash: 8d2149a6811cac25ed9d8c1d97acde73e1a38e25
9
9
  */
10
10
 
11
11
  import { SpriteLayerCalculationVariant, SpriteLayerHostOptions } from '../types';
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * name: maplibre-gl-layers
3
- * version: 0.15.0
3
+ * version: 0.16.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: d850b7e9c713f54f0630248dc4ea370721b6965b
8
+ * git.commit.hash: 8d2149a6811cac25ed9d8c1d97acde73e1a38e25
9
9
  */
10
10
 
11
11
  import { DistanceInterpolationEvaluationResult, DegreeInterpolationEvaluationResult, ImageHandleBufferController, IdHandler, InternalSpriteCurrentState, InternalSpriteImageState, PreparedDrawSpriteImageParams, PrepareDrawSpriteImageParams, Releasable, RegisteredImage, RenderCalculationHost, RenderInterpolationParams, RenderInterpolationResult, SpriteOriginReference, SpriteInterpolationEvaluationResult } from '../internalTypes';
@@ -36,6 +36,10 @@ interface PreparedInputBuffer extends Releasable {
36
36
  }
37
37
  interface WritableWasmProjectionState<TTag> {
38
38
  readonly preparedProjection: PreparedProjectionState;
39
+ lastFrameParams?: {
40
+ baseMetersPerPixel: number;
41
+ zoomScaleFactor: number;
42
+ };
39
43
  readonly prepareInputBuffer: (params: PrepareDrawSpriteImageParams<TTag>) => PreparedInputBuffer;
40
44
  readonly getImageRefs: () => readonly InternalSpriteImageState[];
41
45
  readonly getResourceRefs: () => readonly (RegisteredImage | undefined)[];
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * name: maplibre-gl-layers
3
- * version: 0.15.0
3
+ * version: 0.16.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: d850b7e9c713f54f0630248dc4ea370721b6965b
8
+ * git.commit.hash: 8d2149a6811cac25ed9d8c1d97acde73e1a38e25
9
9
  */
10
10
 
11
11
  import { SpriteLayerCalculationVariant } from '../types';
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * name: maplibre-gl-layers
3
- * version: 0.15.0
3
+ * version: 0.16.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: d850b7e9c713f54f0630248dc4ea370721b6965b
8
+ * git.commit.hash: 8d2149a6811cac25ed9d8c1d97acde73e1a38e25
9
9
  */
10
10
 
11
11
  import { ProjectionHostParams } from './projectionHost';