openlayers-prefetching 0.1.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/LICENSE +21 -0
- package/README.md +53 -0
- package/dist/PrefetchManager.esm.js +711 -0
- package/dist/PrefetchManager.esm.js.map +1 -0
- package/dist/PrefetchManager.js +716 -0
- package/dist/PrefetchManager.js.map +1 -0
- package/dist/types/PrefetchConstants.d.ts +15 -0
- package/dist/types/PrefetchManager.d.ts +64 -0
- package/dist/types/PrefetchPlanner.d.ts +23 -0
- package/dist/types/PrefetchScheduler.d.ts +29 -0
- package/dist/types/PrefetchStats.d.ts +28 -0
- package/dist/types/PrefetchTypes.d.ts +65 -0
- package/dist/types/TileLoader.d.ts +23 -0
- package/package.json +51 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrefetchManager.js","sources":["../src/PrefetchConstants.ts","../src/PrefetchStats.ts","../src/PrefetchPlanner.ts","../src/PrefetchScheduler.ts","../src/TileLoader.ts","../src/PrefetchManager.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["getForViewAndSize","bufferExtent","getUid","listen","unlistenByKey"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module ol/prefetch/PrefetchConstants
|
|
3
|
+
*/
|
|
4
|
+
import type { PrefetchCategoryStats } from './PrefetchTypes';
|
|
5
|
+
export declare const PrefetchCategory: {
|
|
6
|
+
readonly SPATIAL_ACTIVE: "spatial";
|
|
7
|
+
readonly BACKGROUND_LAYERS_VIEWPORT: "bgViewport";
|
|
8
|
+
readonly BACKGROUND_LAYERS_BUFFER: "bgBuffer";
|
|
9
|
+
readonly NEXT_NAV_ACTIVE: "nextNavActive";
|
|
10
|
+
readonly NEXT_NAV_BACKGROUND: "nextNavBackground";
|
|
11
|
+
};
|
|
12
|
+
export type PrefetchCategoryKey = typeof PrefetchCategory[keyof typeof PrefetchCategory];
|
|
13
|
+
export declare const DEFAULT_CATEGORY_PRIORITIES: Record<PrefetchCategoryKey, number>;
|
|
14
|
+
export declare function getCategoryName(category: PrefetchCategoryKey | string): string;
|
|
15
|
+
export declare function createInitialCategoryCounts(): Record<PrefetchCategoryKey, PrefetchCategoryStats>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { PrefetchCategory } from './PrefetchConstants';
|
|
2
|
+
import type { PrefetchCategoryKey } from './PrefetchConstants';
|
|
3
|
+
import type { Coordinate } from 'ol/coordinate.js';
|
|
4
|
+
import type { PrefetchManagerOptions, PrefetchTileLayer } from './PrefetchTypes';
|
|
5
|
+
/**
|
|
6
|
+
* Manages controlled prefetching of tiles across multiple layers and locations.
|
|
7
|
+
*
|
|
8
|
+
* Priority order:
|
|
9
|
+
* 1. User interactions (pan/zoom) always get absolute priority (managed by OL's TileQueue).
|
|
10
|
+
* 2. Spatial prefetching: tiles around the visible viewport for the active layer.
|
|
11
|
+
* 3. Background layer prefetching: load tiles for hidden layers at current viewport.
|
|
12
|
+
* 4. Anticipated navigation prefetching: preload tiles at the next expected location.
|
|
13
|
+
*
|
|
14
|
+
* When the user interacts with the map (pan/zoom), all prefetching is paused
|
|
15
|
+
* and only resumes after the user stops interacting.
|
|
16
|
+
*/
|
|
17
|
+
declare class PrefetchManager {
|
|
18
|
+
private map_;
|
|
19
|
+
private maxConcurrentPrefetches_;
|
|
20
|
+
private idleDelay_;
|
|
21
|
+
private enabled_;
|
|
22
|
+
private userInteracting_;
|
|
23
|
+
private idleTimeout_;
|
|
24
|
+
private backgroundLayers_;
|
|
25
|
+
private activeLayer_;
|
|
26
|
+
private nextTarget_;
|
|
27
|
+
private categoryPriorities_;
|
|
28
|
+
private queue_;
|
|
29
|
+
private stats_;
|
|
30
|
+
private planner_;
|
|
31
|
+
private loader_;
|
|
32
|
+
private scheduler_;
|
|
33
|
+
private listenerKeys_;
|
|
34
|
+
constructor(options: PrefetchManagerOptions);
|
|
35
|
+
private setupListeners_;
|
|
36
|
+
private onMoveStart_;
|
|
37
|
+
private onMoveEnd_;
|
|
38
|
+
private onPostRender_;
|
|
39
|
+
private rebuildQueue_;
|
|
40
|
+
private fillSlots_;
|
|
41
|
+
private getMapTileQueue_;
|
|
42
|
+
private notifyStats_;
|
|
43
|
+
addBackgroundLayer(layer: PrefetchTileLayer, priority?: number): void;
|
|
44
|
+
removeBackgroundLayer(layer: PrefetchTileLayer): void;
|
|
45
|
+
setBackgroundLayerPriority(layer: PrefetchTileLayer, priority: number): void;
|
|
46
|
+
getBackgroundLayers(): Array<{
|
|
47
|
+
layer: PrefetchTileLayer;
|
|
48
|
+
priority: number;
|
|
49
|
+
}>;
|
|
50
|
+
setActiveLayer(layer: PrefetchTileLayer): void;
|
|
51
|
+
setNextTarget(center: Coordinate, zoom: number): void;
|
|
52
|
+
clearNextTarget(): void;
|
|
53
|
+
setEnabled(enabled: boolean): void;
|
|
54
|
+
getEnabled(): boolean;
|
|
55
|
+
setMaxConcurrent(max: number): void;
|
|
56
|
+
getMaxConcurrent(): number;
|
|
57
|
+
setCategoryPriorities(priorities: Partial<Record<PrefetchCategoryKey, number>>): void;
|
|
58
|
+
getCategoryPriorities(): Record<PrefetchCategoryKey, number>;
|
|
59
|
+
onStats(callback: (stats: import('./PrefetchTypes').PrefetchStats) => void): void;
|
|
60
|
+
getStats(): import('./PrefetchTypes').PrefetchStats;
|
|
61
|
+
dispose(): void;
|
|
62
|
+
}
|
|
63
|
+
export default PrefetchManager;
|
|
64
|
+
export { PrefetchCategory };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { PrefetchCategoryKey } from './PrefetchConstants';
|
|
2
|
+
import type Map from 'ol/Map.js';
|
|
3
|
+
import type { BackgroundLayerEntry, PrefetchTarget, PrefetchTask, PrefetchTileLayer } from './PrefetchTypes';
|
|
4
|
+
import type PrefetchStats from './PrefetchStats';
|
|
5
|
+
/**
|
|
6
|
+
* Responsible for deciding WHAT tiles to load.
|
|
7
|
+
*
|
|
8
|
+
* Builds the prioritised prefetch queue by inspecting the current view state,
|
|
9
|
+
* active layer, background layers, and next navigation target.
|
|
10
|
+
*/
|
|
11
|
+
declare class PrefetchPlanner {
|
|
12
|
+
private spatialBufferFactor_;
|
|
13
|
+
private lastNextTargetKey_;
|
|
14
|
+
/**
|
|
15
|
+
* @param spatialBufferFactor Factor to expand viewport for spatial prefetch.
|
|
16
|
+
*/
|
|
17
|
+
constructor(spatialBufferFactor: number);
|
|
18
|
+
buildQueue(map: Map, activeLayer: PrefetchTileLayer | null, backgroundLayers: BackgroundLayerEntry[], nextTarget: PrefetchTarget | null, categoryPriorities: Record<PrefetchCategoryKey, number>, stats: PrefetchStats): PrefetchTask[];
|
|
19
|
+
private enqueueViewportTiles_;
|
|
20
|
+
private enqueueSpatialBuffer_;
|
|
21
|
+
private enqueueTile_;
|
|
22
|
+
}
|
|
23
|
+
export default PrefetchPlanner;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module ol/prefetch/PrefetchScheduler
|
|
3
|
+
*/
|
|
4
|
+
import type TileQueue from 'ol/TileQueue.js';
|
|
5
|
+
import type PrefetchStats from './PrefetchStats';
|
|
6
|
+
export interface PrefetchSchedulerCallbacks {
|
|
7
|
+
onRebuildNeeded: () => void;
|
|
8
|
+
onFillSlots: () => void;
|
|
9
|
+
onStatsChanged: () => void;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Responsible for WHEN to load.
|
|
13
|
+
*
|
|
14
|
+
* Manages the tick timer, checks preconditions (user interaction, map tile
|
|
15
|
+
* queue draining), and signals the manager to fill download slots.
|
|
16
|
+
*/
|
|
17
|
+
declare class PrefetchScheduler {
|
|
18
|
+
private tickInterval_;
|
|
19
|
+
private callbacks_;
|
|
20
|
+
private tickTimer_;
|
|
21
|
+
private enabled_;
|
|
22
|
+
constructor(tickInterval: number, callbacks: PrefetchSchedulerCallbacks);
|
|
23
|
+
set enabled(enabled: boolean);
|
|
24
|
+
get enabled(): boolean;
|
|
25
|
+
scheduleTick(): void;
|
|
26
|
+
runTick(userInteracting: boolean, mapTileQueue: TileQueue | null, stats: PrefetchStats): void;
|
|
27
|
+
dispose(): void;
|
|
28
|
+
}
|
|
29
|
+
export default PrefetchScheduler;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { PrefetchCategoryKey } from './PrefetchConstants';
|
|
2
|
+
import type { PrefetchError, PrefetchStats as PrefetchStatsSnapshot, PrefetchCategoryStats, PrefetchTarget } from './PrefetchTypes';
|
|
3
|
+
/**
|
|
4
|
+
* Tracks prefetch statistics, per-category counts, error logs,
|
|
5
|
+
* and notifies listeners on changes.
|
|
6
|
+
*/
|
|
7
|
+
declare class PrefetchStats {
|
|
8
|
+
private loadedCount_;
|
|
9
|
+
private errorCount_;
|
|
10
|
+
private categoryCounts_;
|
|
11
|
+
private errorLog_;
|
|
12
|
+
private listeners_;
|
|
13
|
+
get categoryCounts(): Record<PrefetchCategoryKey, PrefetchCategoryStats>;
|
|
14
|
+
resetQueuedCounts(): void;
|
|
15
|
+
recordQueued(category: PrefetchCategoryKey): void;
|
|
16
|
+
setQueuedCount(category: PrefetchCategoryKey, queued: number): void;
|
|
17
|
+
recordLoadingStart(category: PrefetchCategoryKey): void;
|
|
18
|
+
recordLoadingEnd(category: PrefetchCategoryKey): void;
|
|
19
|
+
recordAlreadyLoaded(category: PrefetchCategoryKey): void;
|
|
20
|
+
recordLoaded(category: PrefetchCategoryKey): void;
|
|
21
|
+
recordError(category: PrefetchCategoryKey, errorEntry: PrefetchError): void;
|
|
22
|
+
recordEmpty(category: PrefetchCategoryKey): void;
|
|
23
|
+
getSnapshot(queueLength: number, loadingSize: number, paused: boolean, nextTarget: PrefetchTarget | null, categoryPriorities: Record<PrefetchCategoryKey, number>): PrefetchStatsSnapshot;
|
|
24
|
+
onStats(callback: (stats: PrefetchStatsSnapshot) => void): void;
|
|
25
|
+
notify(stats: PrefetchStatsSnapshot): void;
|
|
26
|
+
dispose(): void;
|
|
27
|
+
}
|
|
28
|
+
export default PrefetchStats;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module ol/prefetch/PrefetchTypes
|
|
3
|
+
*/
|
|
4
|
+
import type Map from 'ol/Map.js';
|
|
5
|
+
import type BaseTileLayer from 'ol/layer/BaseTile.js';
|
|
6
|
+
import type TileSource from 'ol/source/Tile.js';
|
|
7
|
+
import type { Coordinate } from 'ol/coordinate.js';
|
|
8
|
+
import type { TileCoord } from 'ol/tilecoord.js';
|
|
9
|
+
import type { PrefetchCategoryKey } from './PrefetchConstants';
|
|
10
|
+
export interface PrefetchTarget {
|
|
11
|
+
center: Coordinate;
|
|
12
|
+
zoom: number;
|
|
13
|
+
}
|
|
14
|
+
export type PrefetchTileLayer = BaseTileLayer<TileSource, any>;
|
|
15
|
+
export interface BackgroundLayerEntry {
|
|
16
|
+
layer: PrefetchTileLayer;
|
|
17
|
+
priority: number;
|
|
18
|
+
}
|
|
19
|
+
export interface PrefetchTask {
|
|
20
|
+
id: string;
|
|
21
|
+
priority: number;
|
|
22
|
+
category: PrefetchCategoryKey;
|
|
23
|
+
layer: PrefetchTileLayer;
|
|
24
|
+
tileCoord: TileCoord;
|
|
25
|
+
timestamp: number;
|
|
26
|
+
}
|
|
27
|
+
export interface PrefetchCategoryStats {
|
|
28
|
+
queued: number;
|
|
29
|
+
loading: number;
|
|
30
|
+
loaded: number;
|
|
31
|
+
errors: number;
|
|
32
|
+
}
|
|
33
|
+
export interface PrefetchError {
|
|
34
|
+
tileCoord: TileCoord;
|
|
35
|
+
category: string;
|
|
36
|
+
layerName: string;
|
|
37
|
+
reason: string;
|
|
38
|
+
timestamp: number;
|
|
39
|
+
}
|
|
40
|
+
export interface PrefetchStats {
|
|
41
|
+
queued: number;
|
|
42
|
+
loading: number;
|
|
43
|
+
loaded: number;
|
|
44
|
+
errors: number;
|
|
45
|
+
paused: boolean;
|
|
46
|
+
spatialActive: PrefetchCategoryStats;
|
|
47
|
+
bgViewport: PrefetchCategoryStats;
|
|
48
|
+
bgBuffer: PrefetchCategoryStats;
|
|
49
|
+
nextNavActive: PrefetchCategoryStats;
|
|
50
|
+
nextNavBackground: PrefetchCategoryStats;
|
|
51
|
+
nextTarget: {
|
|
52
|
+
center: Coordinate;
|
|
53
|
+
zoom: number;
|
|
54
|
+
} | null;
|
|
55
|
+
recentErrors: PrefetchError[];
|
|
56
|
+
categoryPriorities: Record<PrefetchCategoryKey, number>;
|
|
57
|
+
}
|
|
58
|
+
export interface PrefetchManagerOptions {
|
|
59
|
+
map: Map;
|
|
60
|
+
spatialBufferFactor?: number;
|
|
61
|
+
maxConcurrentPrefetches?: number;
|
|
62
|
+
idleDelay?: number;
|
|
63
|
+
tickInterval?: number;
|
|
64
|
+
enabled?: boolean;
|
|
65
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type OLMap from 'ol/Map.js';
|
|
2
|
+
import type { PrefetchTask } from './PrefetchTypes';
|
|
3
|
+
import type PrefetchStats from './PrefetchStats';
|
|
4
|
+
export interface TileLoaderCallbacks {
|
|
5
|
+
onSlotFreed: () => void;
|
|
6
|
+
onStatsChanged: () => void;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Manages in-flight prefetch downloads. Supports abandoning all in-flight
|
|
10
|
+
* loads on user interaction so they don't block slots or compete with the
|
|
11
|
+
* map's own tile queue for HTTP connections.
|
|
12
|
+
*/
|
|
13
|
+
declare class TileLoader {
|
|
14
|
+
private callbacks_;
|
|
15
|
+
private loading_;
|
|
16
|
+
constructor(callbacks: TileLoaderCallbacks);
|
|
17
|
+
get activeCount(): number;
|
|
18
|
+
startTask(task: PrefetchTask, map: OLMap, stats: PrefetchStats): void;
|
|
19
|
+
abandonAll(stats: PrefetchStats): void;
|
|
20
|
+
private buildErrorEntry_;
|
|
21
|
+
dispose(): void;
|
|
22
|
+
}
|
|
23
|
+
export default TileLoader;
|
package/package.json
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "openlayers-prefetching",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Prefetching Manager for OpenLayers - An extension to optimize tile loading",
|
|
5
|
+
"main": "dist/PrefetchManager.js",
|
|
6
|
+
"module": "dist/PrefetchManager.esm.js",
|
|
7
|
+
"types": "dist/types/PrefetchManager.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/types/PrefetchManager.d.ts",
|
|
11
|
+
"import": "./dist/PrefetchManager.esm.js",
|
|
12
|
+
"require": "./dist/PrefetchManager.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist",
|
|
17
|
+
"README.md",
|
|
18
|
+
"LICENSE"
|
|
19
|
+
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "rollup -c rollup.config.js",
|
|
22
|
+
"dev": "rollup -c rollup.config.js -w",
|
|
23
|
+
"prepublishOnly": "npm run build",
|
|
24
|
+
"serve": "npx http-server . -p 8080"
|
|
25
|
+
},
|
|
26
|
+
"publishConfig": {
|
|
27
|
+
"access": "public"
|
|
28
|
+
},
|
|
29
|
+
"keywords": [
|
|
30
|
+
"openlayers",
|
|
31
|
+
"prefetch",
|
|
32
|
+
"tiles",
|
|
33
|
+
"map",
|
|
34
|
+
"performance",
|
|
35
|
+
"extension"
|
|
36
|
+
],
|
|
37
|
+
"author": "",
|
|
38
|
+
"license": "MIT",
|
|
39
|
+
"peerDependencies": {
|
|
40
|
+
"ol": "^7.0.0 || ^8.0.0"
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"ol": "^8.0.0",
|
|
44
|
+
"rollup": "^3.0.0",
|
|
45
|
+
"@rollup/plugin-node-resolve": "^15.0.0",
|
|
46
|
+
"@rollup/plugin-commonjs": "^25.0.0",
|
|
47
|
+
"@rollup/plugin-typescript": "^11.1.6",
|
|
48
|
+
"tslib": "^2.6.2",
|
|
49
|
+
"typescript": "^5.3.3"
|
|
50
|
+
}
|
|
51
|
+
}
|