@loaders.gl/tiles 3.4.0-alpha.4 → 3.4.0-alpha.5

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 (45) hide show
  1. package/dist/constants.d.ts +6 -0
  2. package/dist/constants.d.ts.map +1 -1
  3. package/dist/constants.js +0 -1
  4. package/dist/dist.min.js +171 -151
  5. package/dist/es5/constants.js.map +1 -1
  6. package/dist/es5/tileset/helpers/3d-tiles-options.js.map +1 -1
  7. package/dist/es5/tileset/tile-3d.js +41 -71
  8. package/dist/es5/tileset/tile-3d.js.map +1 -1
  9. package/dist/es5/tileset/tileset-3d.js +68 -102
  10. package/dist/es5/tileset/tileset-3d.js.map +1 -1
  11. package/dist/es5/tileset/tileset-cache.js +4 -7
  12. package/dist/es5/tileset/tileset-cache.js.map +1 -1
  13. package/dist/es5/tileset/tileset-traverser.js +12 -22
  14. package/dist/es5/tileset/tileset-traverser.js.map +1 -1
  15. package/dist/esm/constants.js.map +1 -1
  16. package/dist/esm/tileset/helpers/3d-tiles-options.js.map +1 -1
  17. package/dist/esm/tileset/tile-3d.js +39 -71
  18. package/dist/esm/tileset/tile-3d.js.map +1 -1
  19. package/dist/esm/tileset/tileset-3d.js +64 -94
  20. package/dist/esm/tileset/tileset-3d.js.map +1 -1
  21. package/dist/esm/tileset/tileset-cache.js +4 -7
  22. package/dist/esm/tileset/tileset-cache.js.map +1 -1
  23. package/dist/esm/tileset/tileset-traverser.js +9 -19
  24. package/dist/esm/tileset/tileset-traverser.js.map +1 -1
  25. package/dist/tileset/helpers/3d-tiles-options.d.ts +3 -2
  26. package/dist/tileset/helpers/3d-tiles-options.d.ts.map +1 -1
  27. package/dist/tileset/tile-3d.d.ts +36 -21
  28. package/dist/tileset/tile-3d.d.ts.map +1 -1
  29. package/dist/tileset/tile-3d.js +58 -43
  30. package/dist/tileset/tileset-3d.d.ts +90 -43
  31. package/dist/tileset/tileset-3d.d.ts.map +1 -1
  32. package/dist/tileset/tileset-3d.js +108 -127
  33. package/dist/tileset/tileset-cache.d.ts +5 -4
  34. package/dist/tileset/tileset-cache.d.ts.map +1 -1
  35. package/dist/tileset/tileset-cache.js +4 -10
  36. package/dist/tileset/tileset-traverser.d.ts +32 -21
  37. package/dist/tileset/tileset-traverser.d.ts.map +1 -1
  38. package/dist/tileset/tileset-traverser.js +23 -35
  39. package/package.json +4 -4
  40. package/src/constants.ts +18 -0
  41. package/src/tileset/helpers/3d-tiles-options.ts +3 -1
  42. package/src/tileset/tile-3d.ts +70 -109
  43. package/src/tileset/tileset-3d.ts +178 -216
  44. package/src/tileset/tileset-cache.ts +20 -15
  45. package/src/tileset/tileset-traverser.ts +52 -68
@@ -1,7 +1,9 @@
1
1
  import { Matrix4 } from '@math.gl/core';
2
2
  import type { Tileset3D } from './tileset-3d';
3
+ import type { DoublyLinkedListNode } from '../utils/doubly-linked-list-node';
3
4
  import { FrameState } from './helpers/frame-state';
4
5
  import { CartographicBounds } from './helpers/bounding-volume';
6
+ import { TilesetTraverser } from './tileset-traverser';
5
7
  /**
6
8
  * @param tileset - Tileset3D instance
7
9
  * @param header - tile header - JSON loaded from a dataset
@@ -29,48 +31,57 @@ export declare class Tile3D {
29
31
  refine: number;
30
32
  type: string;
31
33
  contentUrl: string;
32
- lodMetricType: string;
34
+ /** Different refinement algorithms used by I3S and 3D tiles */
35
+ lodMetricType: 'geometricError' | 'maxScreenThreshold';
36
+ /** The error, in meters, introduced if this tile is rendered and its children are not. */
33
37
  lodMetricValue: number;
38
+ /** @todo math.gl is not exporting BoundingVolume base type? */
34
39
  boundingVolume: any;
40
+ /**
41
+ * The tile's content. This represents the actual tile's payload,
42
+ * not the content's metadata in the tileset JSON file.
43
+ */
35
44
  content: any;
36
- contentState: any;
45
+ contentState: number;
37
46
  gpuMemoryUsageInBytes: number;
47
+ /** The tile's children - an array of Tile3D objects. */
38
48
  children: Tile3D[];
39
49
  depth: number;
40
50
  viewportIds: any[];
41
51
  transform: Matrix4;
42
52
  extensions: any;
53
+ /** TODO Cesium 3d tiles specific */
43
54
  implicitTiling?: any;
44
- userData: {
45
- [key: string]: any;
46
- };
55
+ /** Container to store application specific data */
56
+ userData: Record<string, any>;
47
57
  computedTransform: any;
48
58
  hasEmptyContent: boolean;
49
59
  hasTilesetContent: boolean;
50
- traverser: object;
51
- private _cacheNode;
60
+ traverser: TilesetTraverser;
61
+ /** Used by TilesetCache */
62
+ _cacheNode: DoublyLinkedListNode | null;
52
63
  private _frameNumber;
53
- private _lodJudge;
54
64
  private _expireDate;
55
65
  private _expiredContent;
56
- private _shouldRefine;
57
66
  private _boundingBox?;
67
+ /** updated every frame for tree traversal and rendering optimizations: */
58
68
  _distanceToCamera: number;
59
- private _centerZDepth;
60
- private _screenSpaceError;
69
+ _screenSpaceError: number;
61
70
  private _visibilityPlaneMask;
62
- private _visible?;
63
- private _inRequestVolume;
64
- private _stackLength;
65
- private _selectionDepth;
66
- private _touchedFrame;
67
- private _visitedFrame;
68
- private _selectedFrame;
69
- private _requestedFrame;
70
- private _priority;
71
+ private _visible;
71
72
  private _contentBoundingVolume;
72
73
  private _viewerRequestVolume;
73
74
  _initialTransform: Matrix4;
75
+ _priority: number;
76
+ _selectedFrame: number;
77
+ _requestedFrame: number;
78
+ _selectionDepth: number;
79
+ _touchedFrame: number;
80
+ _centerZDepth: number;
81
+ _shouldRefine: boolean;
82
+ _stackLength: number;
83
+ _visitedFrame: number;
84
+ _inRequestVolume: boolean;
74
85
  /**
75
86
  * @constructs
76
87
  * Create a Tile3D instance
@@ -135,6 +146,10 @@ export declare class Tile3D {
135
146
  * but it can be still loaded in memory
136
147
  */
137
148
  unselect(): void;
149
+ /**
150
+ * Memory usage of tile on GPU
151
+ */
152
+ _getGpuMemoryUsageInBytes(): number;
138
153
  _getPriority(): number;
139
154
  /**
140
155
  * Requests the tile's content.
@@ -184,7 +199,7 @@ export declare class Tile3D {
184
199
  _updateBoundingVolume(header: any): void;
185
200
  _updateTransform(parentTransform?: Matrix4): void;
186
201
  _getLoaderSpecificOptions(loaderId: any): {
187
- assetGltfUpAxis: any;
202
+ assetGltfUpAxis: "X" | "Y" | "Z";
188
203
  } | {
189
204
  _tileOptions: {
190
205
  attributeUrls: any;
@@ -1 +1 @@
1
- {"version":3,"file":"tile-3d.d.ts","sourceRoot":"","sources":["../../src/tileset/tile-3d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tile-3d.d.ts","sourceRoot":"","sources":["../../src/tileset/tile-3d.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,8 @@ function defined(x) {
23
23
  * Do not construct this directly, instead access tiles through {@link Tileset3D#tileVisible}.
24
24
  */
25
25
  class Tile3D {
26
+ // TODO i3s specific, needs to remove
27
+ // private _lodJudge: any = null;
26
28
  /**
27
29
  * @constructs
28
30
  * Create a Tile3D instance
@@ -34,69 +36,72 @@ class Tile3D {
34
36
  */
35
37
  // eslint-disable-next-line max-statements
36
38
  constructor(tileset, header, parentHeader, extendedId = '') {
37
- // PUBLIC MEMBERS
38
- // original tile data
39
- this.header = header;
40
- // The tileset containing this tile.
41
- this.tileset = tileset;
42
- this.id = extendedId || header.id;
43
- this.url = header.url;
44
- // This tile's parent or `undefined` if this tile is the root.
45
- // @ts-ignore
46
- this.parent = parentHeader;
47
- this.refine = this._getRefine(header.refine);
48
- this.type = header.type;
49
- this.contentUrl = header.contentUrl;
50
- // The error, in meters, introduced if this tile is rendered and its children are not.
39
+ /** Different refinement algorithms used by I3S and 3D tiles */
51
40
  this.lodMetricType = 'geometricError';
41
+ /** The error, in meters, introduced if this tile is rendered and its children are not. */
52
42
  this.lodMetricValue = 0;
53
- // Specifies the type of refine that is used when traversing this tile for rendering.
43
+ /** @todo math.gl is not exporting BoundingVolume base type? */
54
44
  this.boundingVolume = null;
55
- // The tile's content. This represents the actual tile's payload,
56
- // not the content's metadata in the tileset JSON file.
45
+ /**
46
+ * The tile's content. This represents the actual tile's payload,
47
+ * not the content's metadata in the tileset JSON file.
48
+ */
57
49
  this.content = null;
58
50
  this.contentState = constants_1.TILE_CONTENT_STATE.UNLOADED;
59
51
  this.gpuMemoryUsageInBytes = 0;
60
- // The tile's children - an array of Tile3D objects.
52
+ /** The tile's children - an array of Tile3D objects. */
61
53
  this.children = [];
62
- this.hasEmptyContent = false;
63
- this.hasTilesetContent = false;
64
54
  this.depth = 0;
65
55
  this.viewportIds = [];
66
- // Container to store application specific data
67
- this.userData = {};
56
+ this.transform = new core_1.Matrix4();
68
57
  this.extensions = null;
69
- // PRIVATE MEMBERS
70
- this._priority = 0;
71
- this._touchedFrame = 0;
72
- this._visitedFrame = 0;
73
- this._selectedFrame = 0;
74
- this._requestedFrame = 0;
75
- this._screenSpaceError = 0;
58
+ /** TODO Cesium 3d tiles specific */
59
+ this.implicitTiling = null;
60
+ /** Container to store application specific data */
61
+ this.userData = {};
62
+ this.hasEmptyContent = false;
63
+ this.hasTilesetContent = false;
64
+ this.traverser = new tileset_traverser_1.TilesetTraverser({});
65
+ /** Used by TilesetCache */
76
66
  this._cacheNode = null;
77
67
  this._frameNumber = null;
78
- this._cacheNode = null;
79
- this.traverser = new tileset_traverser_1.TilesetTraverser({});
80
- this._shouldRefine = false;
68
+ // TODO Cesium 3d tiles specific
69
+ this._expireDate = null;
70
+ this._expiredContent = null;
71
+ /** updated every frame for tree traversal and rendering optimizations: */
81
72
  this._distanceToCamera = 0;
82
- this._centerZDepth = 0;
73
+ this._screenSpaceError = 0;
83
74
  this._visible = undefined;
84
- this._inRequestVolume = false;
85
- this._stackLength = 0;
86
- this._selectionDepth = 0;
87
75
  this._initialTransform = new core_1.Matrix4();
88
- this.transform = new core_1.Matrix4();
76
+ // Used by traverser, cannot be marked private
77
+ this._priority = 0;
78
+ this._selectedFrame = 0;
79
+ this._requestedFrame = 0;
80
+ this._selectionDepth = 0;
81
+ this._touchedFrame = 0;
82
+ this._centerZDepth = 0;
83
+ this._shouldRefine = false;
84
+ this._stackLength = 0;
85
+ this._visitedFrame = 0;
86
+ this._inRequestVolume = false;
87
+ // PUBLIC MEMBERS
88
+ // original tile data
89
+ this.header = header;
90
+ // The tileset containing this tile.
91
+ this.tileset = tileset;
92
+ this.id = extendedId || header.id;
93
+ this.url = header.url;
94
+ // This tile's parent or `undefined` if this tile is the root.
95
+ // @ts-ignore
96
+ this.parent = parentHeader;
97
+ this.refine = this._getRefine(header.refine);
98
+ this.type = header.type;
99
+ this.contentUrl = header.contentUrl;
89
100
  this._initializeLodMetric(header);
90
101
  this._initializeTransforms(header);
91
102
  this._initializeBoundingVolumes(header);
92
103
  this._initializeContent(header);
93
104
  this._initializeRenderingState(header);
94
- // TODO i3s specific, needs to remove
95
- this._lodJudge = null;
96
- // TODO Cesium 3d tiles specific
97
- this._expireDate = null;
98
- this._expiredContent = null;
99
- this.implicitTiling = null;
100
105
  Object.seal(this);
101
106
  }
102
107
  destroy() {
@@ -200,6 +205,12 @@ class Tile3D {
200
205
  unselect() {
201
206
  this._selectedFrame = 0;
202
207
  }
208
+ /**
209
+ * Memory usage of tile on GPU
210
+ */
211
+ _getGpuMemoryUsageInBytes() {
212
+ return this.content.gpuMemoryUsageInBytes || this.content.byteLength || 0;
213
+ }
203
214
  /*
204
215
  * If skipLevelOfDetail is off try to load child tiles as soon as possible so that their parent can refine sooner.
205
216
  * Tiles are prioritized by screen space error.
@@ -266,6 +277,7 @@ class Tile3D {
266
277
  const options = {
267
278
  ...this.tileset.loadOptions,
268
279
  [loader.id]: {
280
+ // @ts-expect-error
269
281
  ...this.tileset.loadOptions[loader.id],
270
282
  isTileset: this.type === 'json',
271
283
  ...this._getLoaderSpecificOptions(loader.id)
@@ -533,6 +545,9 @@ class Tile3D {
533
545
  if (this._isTileset()) {
534
546
  this.hasTilesetContent = true;
535
547
  }
548
+ else {
549
+ this.gpuMemoryUsageInBytes = this._getGpuMemoryUsageInBytes();
550
+ }
536
551
  }
537
552
  _updateBoundingVolume(header) {
538
553
  // Update the bounding volumes
@@ -1,10 +1,12 @@
1
1
  import { Matrix4, Vector3 } from '@math.gl/core';
2
2
  import { Stats } from '@probe.gl/stats';
3
3
  import { RequestScheduler, LoaderWithParser, LoaderOptions } from '@loaders.gl/loader-utils';
4
+ import { TilesetCache } from './tileset-cache';
4
5
  import { FrameState } from './helpers/frame-state';
6
+ import type { Viewport } from '../types';
5
7
  import { Tile3D } from './tile-3d';
6
- import { Viewport } from '../types';
7
8
  import { TilesetTraverser } from './tileset-traverser';
9
+ export type TilesetJSON = any;
8
10
  export type Tileset3DProps = {
9
11
  throttleRequests?: boolean;
10
12
  maxRequests?: number;
@@ -31,38 +33,78 @@ export type Tileset3DProps = {
31
33
  type Props = {
32
34
  description: string;
33
35
  ellipsoid: object;
36
+ /** A 4x4 transformation matrix this transforms the entire tileset. */
34
37
  modelMatrix: Matrix4;
38
+ /** Set to false to disable network request throttling */
35
39
  throttleRequests: boolean;
40
+ /** Number of simultaneous requsts, if throttleRequests is true */
41
+ maxRequests: number;
36
42
  maximumMemoryUsage: number;
43
+ /** Maximum number limit of tiles selected for show. 0 means no limit */
37
44
  maximumTilesSelected: number;
45
+ /** Delay time before the tileset traversal. It prevents traversal requests spam.*/
38
46
  debounceTime: number;
39
- onTileLoad: (tile: Tile3D) => any;
40
- onTileUnload: (tile: Tile3D) => any;
41
- onTileError: (tile: Tile3D, message: string, url: string) => any;
47
+ /** Callback. Indicates this a tile's content was loaded */
48
+ onTileLoad: (tile: Tile3D) => void;
49
+ /** Callback. Indicates this a tile's content was unloaded (cache full) */
50
+ onTileUnload: (tile: Tile3D) => void;
51
+ /** Callback. Indicates this a tile's content failed to load */
52
+ onTileError: (tile: Tile3D, message: string, url: string) => void;
53
+ /** Callback. Allows post-process selectedTiles right after traversal. */
42
54
  onTraversalComplete: (selectedTiles: Tile3D[]) => Tile3D[];
55
+ /** The maximum screen space error used to drive level of detail refinement. */
43
56
  maximumScreenSpaceError: number;
44
- viewportTraversersMap: any;
57
+ viewportTraversersMap: Record<string, any> | null;
45
58
  attributions: string[];
46
- maxRequests: number;
47
59
  loadTiles: boolean;
48
60
  loadOptions: LoaderOptions;
49
61
  updateTransforms: boolean;
62
+ /** View distance scale modifier */
50
63
  viewDistanceScale: number;
51
64
  basePath: string;
65
+ /** Optional async tile content loader */
52
66
  contentLoader?: (tile: Tile3D) => Promise<void>;
53
- i3s: {
54
- [key: string]: any;
55
- };
67
+ /** @todo I3S specific knowledge should be moved to I3S module */
68
+ i3s: Record<string, any>;
56
69
  };
70
+ /**
71
+ * The Tileset loading and rendering flow is as below,
72
+ * A rendered (i.e. deck.gl `Tile3DLayer`) triggers `tileset.update()` after a `tileset` is loaded
73
+ * `tileset` starts traversing the tile tree and update `requestTiles` (tiles of which content need
74
+ * to be fetched) and `selectedTiles` (tiles ready for rendering under the current viewport).
75
+ * `Tile3DLayer` will update rendering based on `selectedTiles`.
76
+ * `Tile3DLayer` also listens to `onTileLoad` callback and trigger another round of `update and then traversal`
77
+ * when new tiles are loaded.
78
+
79
+ * As I3S tileset have stored `tileHeader` file (metadata) and tile content files (geometry, texture, ...) separately.
80
+ * During each traversal, it issues `tilHeader` requests if that `tileHeader` is not yet fetched,
81
+ * after the tile header is fulfilled, it will resume the traversal starting from the tile just fetched (not root).
82
+
83
+ * Tile3DLayer
84
+ * |
85
+ * await load(tileset)
86
+ * |
87
+ * tileset.update()
88
+ * | async load tileHeader
89
+ * tileset.traverse() -------------------------- Queued
90
+ * | resume traversal after fetched |
91
+ * |----------------------------------------|
92
+ * |
93
+ * | async load tile content
94
+ * tilset.requestedTiles ----------------------------- RequestScheduler
95
+ * |
96
+ * tilset.selectedTiles (ready for rendering) |
97
+ * | Listen to |
98
+ * Tile3DLayer ----------- onTileLoad ----------------------|
99
+ * | | notify new tile is available
100
+ * updateLayers |
101
+ * tileset.update // trigger another round of update
102
+ */
57
103
  export declare class Tileset3D {
58
104
  options: Props;
59
- loadOptions: {
60
- [key: string]: any;
61
- };
105
+ loadOptions: LoaderOptions;
62
106
  type: string;
63
- tileset: {
64
- [key: string]: any;
65
- };
107
+ tileset: TilesetJSON;
66
108
  loader: LoaderWithParser;
67
109
  url: string;
68
110
  basePath: string;
@@ -72,12 +114,9 @@ export declare class Tileset3D {
72
114
  lodMetricValue: number;
73
115
  refine: string;
74
116
  root: Tile3D | null;
75
- roots: {
76
- [key: string]: Tile3D;
77
- };
78
- asset: {
79
- [key: string]: any;
80
- };
117
+ roots: Record<string, Tile3D>;
118
+ /** @todo any->unknown */
119
+ asset: Record<string, any>;
81
120
  description: string;
82
121
  properties: any;
83
122
  extras: any;
@@ -91,37 +130,45 @@ export declare class Tileset3D {
91
130
  dds: boolean;
92
131
  ktx2: boolean;
93
132
  };
94
- traverseCounter: number;
95
- geometricError: number;
96
- selectedTiles: Tile3D[];
97
- private updatePromise;
98
- tilesetInitializationPromise: Promise<void>;
99
133
  cartographicCenter: Vector3 | null;
100
134
  cartesianCenter: Vector3 | null;
101
135
  zoom: number;
102
136
  boundingVolume: any;
103
- gpuMemoryUsageInBytes: any;
104
- dynamicScreenSpaceErrorComputedDensity: any;
105
- _traverser: TilesetTraverser;
106
- private _cache;
107
- _requestScheduler: RequestScheduler;
137
+ /** Updated based on the camera position and direction */
138
+ dynamicScreenSpaceErrorComputedDensity: number;
139
+ /**
140
+ * The maximum amount of GPU memory (in MB) that may be used to cache tiles
141
+ * Tiles not in view are unloaded to enforce private
142
+ */
143
+ maximumMemoryUsage: number;
144
+ /** The total amount of GPU memory in bytes used by the tileset. */
145
+ gpuMemoryUsageInBytes: number;
146
+ /** Update tracker. increase in each update cycle. */
108
147
  _frameNumber: number;
109
- private _queryParamsString;
110
148
  private _queryParams;
111
149
  private _extensionsUsed;
112
150
  private _tiles;
151
+ /** counter for tracking tiles requests */
113
152
  private _pendingCount;
153
+ /** Hold traversal results */
154
+ selectedTiles: Tile3D[];
155
+ traverseCounter: number;
156
+ geometricError: number;
114
157
  private lastUpdatedVieports;
115
158
  private _requestedTiles;
116
159
  private _emptyTiles;
117
160
  private frameStateData;
118
- maximumMemoryUsage: number;
161
+ _traverser: TilesetTraverser;
162
+ _cache: TilesetCache;
163
+ _requestScheduler: RequestScheduler;
164
+ private updatePromise;
165
+ tilesetInitializationPromise: Promise<void>;
119
166
  /**
120
167
  * Create a new Tileset3D
121
168
  * @param json
122
169
  * @param props
123
170
  */
124
- constructor(json: any, options?: Tileset3DProps);
171
+ constructor(tileset: TilesetJSON, options?: Tileset3DProps);
125
172
  /** Release resources */
126
173
  destroy(): void;
127
174
  /** Is the tileset loaded (update needs to have been called at least once) */
@@ -171,11 +218,11 @@ export declare class Tileset3D {
171
218
  * Update tiles relying on data from all traversers
172
219
  */
173
220
  _updateTiles(): void;
174
- _tilesChanged(oldSelectedTiles: any, selectedTiles: any): boolean;
221
+ _tilesChanged(oldSelectedTiles: Tile3D[], selectedTiles: Tile3D[]): boolean;
175
222
  _loadTiles(): void;
176
223
  _unloadTiles(): void;
177
224
  _updateStats(): void;
178
- _initializeTileSet(tilesetJson: any): Promise<void>;
225
+ _initializeTileSet(tilesetJson: TilesetJSON): Promise<void>;
179
226
  /**
180
227
  * Called during initialize Tileset to initialize the tileset's cartographic center (longitude, latitude) and zoom.
181
228
  * These metrics help apps center view on tileset
@@ -191,12 +238,12 @@ export declare class Tileset3D {
191
238
  */
192
239
  private calculateViewPropsTiles3D;
193
240
  _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;
241
+ _initializeTileHeaders(tilesetJson: TilesetJSON, parentTileHeader?: any): Tile3D;
242
+ _initializeTraverser(): TilesetTraverser;
243
+ _destroyTileHeaders(parentTile: Tile3D): void;
244
+ _loadTile(tile: Tile3D): Promise<void>;
245
+ _onTileLoadError(tile: Tile3D, error: Error): void;
246
+ _onTileLoad(tile: Tile3D, loaded: boolean): void;
200
247
  /**
201
248
  * Update information about data types in nested tiles
202
249
  * @param tile instance of a nested Tile3D
@@ -204,7 +251,7 @@ export declare class Tileset3D {
204
251
  private updateContentTypes;
205
252
  _onStartTileLoading(): void;
206
253
  _onEndTileLoading(): void;
207
- _addTileToCache(tile: any): void;
254
+ _addTileToCache(tile: Tile3D): void;
208
255
  _updateCacheStats(tile: any): void;
209
256
  _unloadTile(tile: any): void;
210
257
  _destroy(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"tileset-3d.d.ts","sourceRoot":"","sources":["../../src/tileset/tileset-3d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tileset-3d.d.ts","sourceRoot":"","sources":["../../src/tileset/tileset-3d.ts"],"names":[],"mappings":"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"}