@loaders.gl/tiles 4.0.0-alpha.4 → 4.0.0-alpha.6

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 (197) hide show
  1. package/dist/bundle.d.ts +2 -0
  2. package/dist/bundle.d.ts.map +1 -0
  3. package/dist/bundle.js +2 -2
  4. package/dist/constants.d.ts +32 -0
  5. package/dist/constants.d.ts.map +1 -0
  6. package/dist/constants.js +30 -26
  7. package/dist/dist.min.js +8921 -0
  8. package/dist/es5/bundle.js +6 -0
  9. package/dist/es5/bundle.js.map +1 -0
  10. package/dist/es5/constants.js +44 -0
  11. package/dist/es5/constants.js.map +1 -0
  12. package/dist/es5/index.js +93 -0
  13. package/dist/es5/index.js.map +1 -0
  14. package/dist/es5/tileset/format-3d-tiles/tileset-3d-traverser.js +70 -0
  15. package/dist/es5/tileset/format-3d-tiles/tileset-3d-traverser.js.map +1 -0
  16. package/dist/es5/tileset/format-i3s/i3s-pending-tiles-register.js +45 -0
  17. package/dist/es5/tileset/format-i3s/i3s-pending-tiles-register.js.map +1 -0
  18. package/dist/es5/tileset/format-i3s/i3s-tile-manager.js +84 -0
  19. package/dist/es5/tileset/format-i3s/i3s-tile-manager.js.map +1 -0
  20. package/dist/es5/tileset/format-i3s/i3s-tileset-traverser.js +143 -0
  21. package/dist/es5/tileset/format-i3s/i3s-tileset-traverser.js.map +1 -0
  22. package/dist/es5/tileset/helpers/3d-tiles-options.js +12 -0
  23. package/dist/es5/tileset/helpers/3d-tiles-options.js.map +1 -0
  24. package/dist/es5/tileset/helpers/bounding-volume.js +176 -0
  25. package/dist/es5/tileset/helpers/bounding-volume.js.map +1 -0
  26. package/dist/es5/tileset/helpers/frame-state.js +129 -0
  27. package/dist/es5/tileset/helpers/frame-state.js.map +1 -0
  28. package/dist/es5/tileset/helpers/i3s-lod.js +60 -0
  29. package/dist/es5/tileset/helpers/i3s-lod.js.map +1 -0
  30. package/dist/es5/tileset/helpers/tiles-3d-lod.js +103 -0
  31. package/dist/es5/tileset/helpers/tiles-3d-lod.js.map +1 -0
  32. package/dist/es5/tileset/helpers/transform-utils.js +50 -0
  33. package/dist/es5/tileset/helpers/transform-utils.js.map +1 -0
  34. package/dist/es5/tileset/helpers/zoom.js +63 -0
  35. package/dist/es5/tileset/helpers/zoom.js.map +1 -0
  36. package/dist/es5/tileset/tile-3d.js +565 -0
  37. package/dist/es5/tileset/tile-3d.js.map +1 -0
  38. package/dist/es5/tileset/tileset-3d.js +890 -0
  39. package/dist/es5/tileset/tileset-3d.js.map +1 -0
  40. package/dist/es5/tileset/tileset-cache.js +85 -0
  41. package/dist/es5/tileset/tileset-cache.js.map +1 -0
  42. package/dist/es5/tileset/tileset-traverser.js +328 -0
  43. package/dist/es5/tileset/tileset-traverser.js.map +1 -0
  44. package/dist/es5/types.js +2 -0
  45. package/dist/es5/types.js.map +1 -0
  46. package/dist/es5/utils/doubly-linked-list-node.js +21 -0
  47. package/dist/es5/utils/doubly-linked-list-node.js.map +1 -0
  48. package/dist/es5/utils/doubly-linked-list.js +88 -0
  49. package/dist/es5/utils/doubly-linked-list.js.map +1 -0
  50. package/dist/es5/utils/managed-array.js +126 -0
  51. package/dist/es5/utils/managed-array.js.map +1 -0
  52. package/dist/esm/bundle.js +4 -0
  53. package/dist/esm/bundle.js.map +1 -0
  54. package/dist/esm/constants.js +32 -0
  55. package/dist/esm/constants.js.map +1 -0
  56. package/dist/esm/index.js +10 -0
  57. package/dist/esm/index.js.map +1 -0
  58. package/dist/{tileset/traversers → esm/tileset/format-3d-tiles}/tileset-3d-traverser.js +2 -13
  59. package/dist/esm/tileset/format-3d-tiles/tileset-3d-traverser.js.map +1 -0
  60. package/dist/esm/tileset/format-i3s/i3s-pending-tiles-register.js +26 -0
  61. package/dist/esm/tileset/format-i3s/i3s-pending-tiles-register.js.map +1 -0
  62. package/dist/esm/tileset/format-i3s/i3s-tile-manager.js +79 -0
  63. package/dist/esm/tileset/format-i3s/i3s-tile-manager.js.map +1 -0
  64. package/dist/{tileset/traversers → esm/tileset/format-i3s}/i3s-tileset-traverser.js +16 -28
  65. package/dist/esm/tileset/format-i3s/i3s-tileset-traverser.js.map +1 -0
  66. package/dist/esm/tileset/helpers/3d-tiles-options.js +6 -0
  67. package/dist/esm/tileset/helpers/3d-tiles-options.js.map +1 -0
  68. package/dist/esm/tileset/helpers/bounding-volume.js +155 -0
  69. package/dist/esm/tileset/helpers/bounding-volume.js.map +1 -0
  70. package/dist/esm/tileset/helpers/frame-state.js +109 -0
  71. package/dist/esm/tileset/helpers/frame-state.js.map +1 -0
  72. package/dist/esm/tileset/helpers/i3s-lod.js +53 -0
  73. package/dist/esm/tileset/helpers/i3s-lod.js.map +1 -0
  74. package/dist/esm/tileset/helpers/tiles-3d-lod.js +100 -0
  75. package/dist/{tileset → esm/tileset}/helpers/tiles-3d-lod.js.map +1 -1
  76. package/dist/esm/tileset/helpers/transform-utils.js +50 -0
  77. package/dist/esm/tileset/helpers/transform-utils.js.map +1 -0
  78. package/dist/esm/tileset/helpers/zoom.js +55 -0
  79. package/dist/esm/tileset/helpers/zoom.js.map +1 -0
  80. package/dist/esm/tileset/tile-3d.js +445 -0
  81. package/dist/esm/tileset/tile-3d.js.map +1 -0
  82. package/dist/esm/tileset/tileset-3d.js +637 -0
  83. package/dist/esm/tileset/tileset-3d.js.map +1 -0
  84. package/dist/esm/tileset/tileset-cache.js +60 -0
  85. package/dist/esm/tileset/tileset-cache.js.map +1 -0
  86. package/dist/{tileset/traversers → esm/tileset}/tileset-traverser.js +20 -72
  87. package/dist/esm/tileset/tileset-traverser.js.map +1 -0
  88. package/dist/esm/types.js +2 -0
  89. package/dist/esm/types.js.map +1 -0
  90. package/dist/esm/utils/doubly-linked-list-node.js +12 -0
  91. package/dist/esm/utils/doubly-linked-list-node.js.map +1 -0
  92. package/dist/esm/utils/doubly-linked-list.js +65 -0
  93. package/dist/esm/utils/doubly-linked-list.js.map +1 -0
  94. package/dist/esm/utils/managed-array.js +87 -0
  95. package/dist/esm/utils/managed-array.js.map +1 -0
  96. package/dist/index.d.ts +11 -0
  97. package/dist/index.d.ts.map +1 -0
  98. package/dist/index.js +26 -9
  99. package/dist/tileset/format-3d-tiles/tileset-3d-traverser.d.ts +7 -0
  100. package/dist/tileset/format-3d-tiles/tileset-3d-traverser.d.ts.map +1 -0
  101. package/dist/tileset/format-3d-tiles/tileset-3d-traverser.js +54 -0
  102. package/dist/tileset/format-i3s/i3s-pending-tiles-register.d.ts +27 -0
  103. package/dist/tileset/format-i3s/i3s-pending-tiles-register.d.ts.map +1 -0
  104. package/dist/tileset/format-i3s/i3s-pending-tiles-register.js +47 -0
  105. package/dist/tileset/format-i3s/i3s-tile-manager.d.ts +34 -0
  106. package/dist/tileset/format-i3s/i3s-tile-manager.d.ts.map +1 -0
  107. package/dist/tileset/format-i3s/i3s-tile-manager.js +80 -0
  108. package/dist/tileset/format-i3s/i3s-tileset-traverser.d.ts +25 -0
  109. package/dist/tileset/format-i3s/i3s-tileset-traverser.d.ts.map +1 -0
  110. package/dist/tileset/format-i3s/i3s-tileset-traverser.js +92 -0
  111. package/dist/tileset/helpers/3d-tiles-options.d.ts +4 -0
  112. package/dist/tileset/helpers/3d-tiles-options.d.ts.map +1 -0
  113. package/dist/tileset/helpers/3d-tiles-options.js +8 -5
  114. package/dist/tileset/helpers/bounding-volume.d.ts +19 -0
  115. package/dist/tileset/helpers/bounding-volume.d.ts.map +1 -0
  116. package/dist/tileset/helpers/bounding-volume.js +274 -69
  117. package/dist/tileset/helpers/frame-state.d.ts +28 -0
  118. package/dist/tileset/helpers/frame-state.d.ts.map +1 -0
  119. package/dist/tileset/helpers/frame-state.js +131 -49
  120. package/dist/tileset/helpers/i3s-lod.d.ts +20 -0
  121. package/dist/tileset/helpers/i3s-lod.d.ts.map +1 -0
  122. package/dist/tileset/helpers/i3s-lod.js +82 -105
  123. package/dist/tileset/helpers/tiles-3d-lod.d.ts +8 -0
  124. package/dist/tileset/helpers/tiles-3d-lod.d.ts.map +1 -0
  125. package/dist/tileset/helpers/tiles-3d-lod.js +112 -100
  126. package/dist/tileset/helpers/transform-utils.d.ts +2 -0
  127. package/dist/tileset/helpers/transform-utils.d.ts.map +1 -0
  128. package/dist/tileset/helpers/transform-utils.js +51 -56
  129. package/dist/tileset/helpers/zoom.d.ts +46 -0
  130. package/dist/tileset/helpers/zoom.d.ts.map +1 -0
  131. package/dist/tileset/helpers/zoom.js +83 -30
  132. package/dist/tileset/tile-3d.d.ts +206 -0
  133. package/dist/tileset/tile-3d.d.ts.map +1 -0
  134. package/dist/tileset/tile-3d.js +593 -531
  135. package/dist/tileset/tileset-3d.d.ts +217 -0
  136. package/dist/tileset/tileset-3d.d.ts.map +1 -0
  137. package/dist/tileset/tileset-3d.js +707 -648
  138. package/dist/tileset/tileset-cache.d.ts +18 -0
  139. package/dist/tileset/tileset-cache.d.ts.map +1 -0
  140. package/dist/tileset/tileset-cache.js +70 -71
  141. package/dist/tileset/tileset-traverser.d.ts +46 -0
  142. package/dist/tileset/tileset-traverser.d.ts.map +1 -0
  143. package/dist/tileset/tileset-traverser.js +309 -0
  144. package/dist/types.d.ts +34 -0
  145. package/dist/types.d.ts.map +1 -0
  146. package/dist/types.js +2 -0
  147. package/dist/utils/doubly-linked-list-node.d.ts +11 -0
  148. package/dist/utils/doubly-linked-list-node.d.ts.map +1 -0
  149. package/dist/utils/doubly-linked-list-node.js +17 -8
  150. package/dist/utils/doubly-linked-list.d.ts +30 -0
  151. package/dist/utils/doubly-linked-list.d.ts.map +1 -0
  152. package/dist/utils/doubly-linked-list.js +91 -72
  153. package/dist/utils/managed-array.d.ts +85 -0
  154. package/dist/utils/managed-array.d.ts.map +1 -0
  155. package/dist/utils/managed-array.js +144 -103
  156. package/package.json +10 -10
  157. package/src/constants.ts +2 -0
  158. package/src/index.ts +7 -4
  159. package/src/tileset/{traversers → format-3d-tiles}/tileset-3d-traverser.ts +4 -2
  160. package/src/tileset/format-i3s/i3s-pending-tiles-register.ts +44 -0
  161. package/src/tileset/format-i3s/i3s-tile-manager.ts +101 -0
  162. package/src/tileset/{traversers → format-i3s}/i3s-tileset-traverser.ts +27 -15
  163. package/src/tileset/helpers/bounding-volume.ts +136 -0
  164. package/src/tileset/helpers/frame-state.ts +102 -18
  165. package/src/tileset/helpers/i3s-lod.ts +75 -96
  166. package/src/tileset/helpers/tiles-3d-lod.ts +2 -0
  167. package/src/tileset/helpers/transform-utils.ts +2 -0
  168. package/src/tileset/helpers/zoom.ts +84 -9
  169. package/src/tileset/tile-3d.ts +77 -20
  170. package/src/tileset/tileset-3d.ts +205 -43
  171. package/src/tileset/tileset-cache.ts +6 -2
  172. package/src/tileset/{traversers/tileset-traverser.ts → tileset-traverser.ts} +29 -17
  173. package/src/types.ts +36 -0
  174. package/src/utils/{doubly-linked-list-node.js → doubly-linked-list-node.ts} +7 -2
  175. package/src/utils/{doubly-linked-list.js → doubly-linked-list.ts} +5 -8
  176. package/src/utils/{managed-array.js → managed-array.ts} +5 -2
  177. package/dist/bundle.js.map +0 -1
  178. package/dist/constants.js.map +0 -1
  179. package/dist/index.js.map +0 -1
  180. package/dist/tileset/helpers/3d-tiles-options.js.map +0 -1
  181. package/dist/tileset/helpers/bounding-volume.js.map +0 -1
  182. package/dist/tileset/helpers/frame-state.js.map +0 -1
  183. package/dist/tileset/helpers/i3s-lod.js.map +0 -1
  184. package/dist/tileset/helpers/transform-utils.js.map +0 -1
  185. package/dist/tileset/helpers/zoom.js.map +0 -1
  186. package/dist/tileset/tile-3d.js.map +0 -1
  187. package/dist/tileset/tileset-3d.js.map +0 -1
  188. package/dist/tileset/tileset-cache.js.map +0 -1
  189. package/dist/tileset/traversers/i3s-tile-manager.js +0 -45
  190. package/dist/tileset/traversers/i3s-tile-manager.js.map +0 -1
  191. package/dist/tileset/traversers/i3s-tileset-traverser.js.map +0 -1
  192. package/dist/tileset/traversers/tileset-3d-traverser.js.map +0 -1
  193. package/dist/tileset/traversers/tileset-traverser.js.map +0 -1
  194. package/dist/utils/doubly-linked-list-node.js.map +0 -1
  195. package/dist/utils/doubly-linked-list.js.map +0 -1
  196. package/dist/utils/managed-array.js.map +0 -1
  197. package/src/tileset/traversers/i3s-tile-manager.ts +0 -39
@@ -0,0 +1,217 @@
1
+ import { Matrix4, Vector3 } from '@math.gl/core';
2
+ import { Stats } from '@probe.gl/stats';
3
+ import { RequestScheduler, LoaderWithParser, LoaderOptions } from '@loaders.gl/loader-utils';
4
+ import { FrameState } from './helpers/frame-state';
5
+ import { Tile3D } from './tile-3d';
6
+ import { Viewport } from '../types';
7
+ import { TilesetTraverser } from './tileset-traverser';
8
+ export type Tileset3DProps = {
9
+ throttleRequests?: boolean;
10
+ maxRequests?: number;
11
+ loadOptions?: LoaderOptions;
12
+ loadTiles?: boolean;
13
+ basePath?: string;
14
+ maximumMemoryUsage?: number;
15
+ maximumTilesSelected?: number;
16
+ debounceTime?: number;
17
+ description?: string;
18
+ attributions?: string[];
19
+ ellipsoid?: object;
20
+ modelMatrix?: Matrix4;
21
+ maximumScreenSpaceError?: number;
22
+ viewportTraversersMap?: any;
23
+ updateTransforms?: boolean;
24
+ viewDistanceScale?: number;
25
+ onTileLoad?: (tile: Tile3D) => any;
26
+ onTileUnload?: (tile: Tile3D) => any;
27
+ onTileError?: (tile: Tile3D, message: string, url: string) => any;
28
+ contentLoader?: (tile: Tile3D) => Promise<void>;
29
+ onTraversalComplete?: (selectedTiles: Tile3D[]) => Tile3D[];
30
+ };
31
+ type Props = {
32
+ description: string;
33
+ ellipsoid: object;
34
+ modelMatrix: Matrix4;
35
+ throttleRequests: boolean;
36
+ maximumMemoryUsage: number;
37
+ maximumTilesSelected: number;
38
+ debounceTime: number;
39
+ onTileLoad: (tile: Tile3D) => any;
40
+ onTileUnload: (tile: Tile3D) => any;
41
+ onTileError: (tile: Tile3D, message: string, url: string) => any;
42
+ onTraversalComplete: (selectedTiles: Tile3D[]) => Tile3D[];
43
+ maximumScreenSpaceError: number;
44
+ viewportTraversersMap: any;
45
+ attributions: string[];
46
+ maxRequests: number;
47
+ loadTiles: boolean;
48
+ loadOptions: LoaderOptions;
49
+ updateTransforms: boolean;
50
+ viewDistanceScale: number;
51
+ basePath: string;
52
+ contentLoader?: (tile: Tile3D) => Promise<void>;
53
+ i3s: {
54
+ [key: string]: any;
55
+ };
56
+ };
57
+ export declare class Tileset3D {
58
+ options: Props;
59
+ loadOptions: {
60
+ [key: string]: any;
61
+ };
62
+ type: string;
63
+ tileset: {
64
+ [key: string]: any;
65
+ };
66
+ loader: LoaderWithParser;
67
+ url: string;
68
+ basePath: string;
69
+ modelMatrix: Matrix4;
70
+ ellipsoid: any;
71
+ lodMetricType: string;
72
+ lodMetricValue: number;
73
+ refine: string;
74
+ root: Tile3D | null;
75
+ roots: {
76
+ [key: string]: Tile3D;
77
+ };
78
+ asset: {
79
+ [key: string]: any;
80
+ };
81
+ description: string;
82
+ properties: any;
83
+ extras: any;
84
+ attributions: any;
85
+ credits: any;
86
+ stats: Stats;
87
+ /** flags that contain information about data types in nested tiles */
88
+ contentFormats: {
89
+ draco: boolean;
90
+ meshopt: boolean;
91
+ dds: boolean;
92
+ ktx2: boolean;
93
+ };
94
+ traverseCounter: number;
95
+ geometricError: number;
96
+ selectedTiles: Tile3D[];
97
+ private updatePromise;
98
+ tilesetInitializationPromise: Promise<void>;
99
+ cartographicCenter: Vector3 | null;
100
+ cartesianCenter: Vector3 | null;
101
+ zoom: number;
102
+ boundingVolume: any;
103
+ gpuMemoryUsageInBytes: any;
104
+ dynamicScreenSpaceErrorComputedDensity: any;
105
+ _traverser: TilesetTraverser;
106
+ private _cache;
107
+ _requestScheduler: RequestScheduler;
108
+ _frameNumber: number;
109
+ private _queryParamsString;
110
+ private _queryParams;
111
+ private _extensionsUsed;
112
+ private _tiles;
113
+ private _pendingCount;
114
+ private lastUpdatedVieports;
115
+ private _requestedTiles;
116
+ private _emptyTiles;
117
+ private frameStateData;
118
+ maximumMemoryUsage: number;
119
+ /**
120
+ * Create a new Tileset3D
121
+ * @param json
122
+ * @param props
123
+ */
124
+ constructor(json: any, options?: Tileset3DProps);
125
+ /** Release resources */
126
+ destroy(): void;
127
+ /** Is the tileset loaded (update needs to have been called at least once) */
128
+ isLoaded(): boolean;
129
+ get tiles(): object[];
130
+ get frameNumber(): number;
131
+ get queryParams(): string;
132
+ setProps(props: Tileset3DProps): void;
133
+ /** @deprecated */
134
+ setOptions(options: Tileset3DProps): void;
135
+ /**
136
+ * Return a loadable tile url for a specific tile subpath
137
+ * @param tilePath a tile subpath
138
+ */
139
+ getTileUrl(tilePath: string): string;
140
+ hasExtension(extensionName: string): boolean;
141
+ /**
142
+ * Update visible tiles relying on a list of viewports
143
+ * @param viewports - list of viewports
144
+ * @deprecated
145
+ */
146
+ update(viewports?: Viewport[] | Viewport | null): void;
147
+ /**
148
+ * Update visible tiles relying on a list of viewports.
149
+ * Do it with debounce delay to prevent update spam
150
+ * @param viewports viewports
151
+ * @returns Promise of new frameNumber
152
+ */
153
+ selectTiles(viewports?: Viewport[] | Viewport | null): Promise<number>;
154
+ /**
155
+ * Update visible tiles relying on a list of viewports
156
+ * @param viewports viewports
157
+ */
158
+ private doUpdate;
159
+ /**
160
+ * Check if traversal is needed for particular viewport
161
+ * @param {string} viewportId - id of a viewport
162
+ * @return {boolean}
163
+ */
164
+ _needTraverse(viewportId: string): boolean;
165
+ /**
166
+ * The callback to post-process tiles after traversal procedure
167
+ * @param frameState - frame state for tile culling
168
+ */
169
+ _onTraversalEnd(frameState: FrameState): void;
170
+ /**
171
+ * Update tiles relying on data from all traversers
172
+ */
173
+ _updateTiles(): void;
174
+ _tilesChanged(oldSelectedTiles: any, selectedTiles: any): boolean;
175
+ _loadTiles(): void;
176
+ _unloadTiles(): void;
177
+ _updateStats(): void;
178
+ _initializeTileSet(tilesetJson: any): Promise<void>;
179
+ /**
180
+ * Called during initialize Tileset to initialize the tileset's cartographic center (longitude, latitude) and zoom.
181
+ * These metrics help apps center view on tileset
182
+ * For I3S there is extent (<1.8 version) or fullExtent (>=1.8 version) to calculate view props
183
+ * @returns
184
+ */
185
+ private calculateViewPropsI3S;
186
+ /**
187
+ * Called during initialize Tileset to initialize the tileset's cartographic center (longitude, latitude) and zoom.
188
+ * These metrics help apps center view on tileset.
189
+ * For 3DTiles the root tile data is used to calculate view props.
190
+ * @returns
191
+ */
192
+ private calculateViewPropsTiles3D;
193
+ _initializeStats(): void;
194
+ _initializeTileHeaders(tilesetJson: any, parentTileHeader: any): Tile3D;
195
+ _initializeTraverser(): any;
196
+ _destroyTileHeaders(parentTile: any): void;
197
+ _loadTile(tile: any): Promise<void>;
198
+ _onTileLoadError(tile: any, error: any): void;
199
+ _onTileLoad(tile: any, loaded: any): void;
200
+ /**
201
+ * Update information about data types in nested tiles
202
+ * @param tile instance of a nested Tile3D
203
+ */
204
+ private updateContentTypes;
205
+ _onStartTileLoading(): void;
206
+ _onEndTileLoading(): void;
207
+ _addTileToCache(tile: any): void;
208
+ _updateCacheStats(tile: any): void;
209
+ _unloadTile(tile: any): void;
210
+ _destroy(): void;
211
+ _destroySubtree(tile: any): void;
212
+ _destroyTile(tile: any): void;
213
+ _initializeTiles3DTileset(tilesetJson: any): void;
214
+ _initializeI3STileset(): void;
215
+ }
216
+ export {};
217
+ //# sourceMappingURL=tileset-3d.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tileset-3d.d.ts","sourceRoot":"","sources":["../../src/tileset/tileset-3d.ts"],"names":[],"mappings":"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"}