@loaders.gl/tiles 3.2.12 → 3.3.0-alpha.10

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 (106) hide show
  1. package/dist/dist.min.js +951 -1387
  2. package/dist/es5/bundle.js +0 -1
  3. package/dist/es5/bundle.js.map +1 -1
  4. package/dist/es5/constants.js +2 -1
  5. package/dist/es5/constants.js.map +1 -1
  6. package/dist/es5/index.js +26 -36
  7. package/dist/es5/index.js.map +1 -1
  8. package/dist/es5/tileset/helpers/3d-tiles-options.js +0 -1
  9. package/dist/es5/tileset/helpers/3d-tiles-options.js.map +1 -1
  10. package/dist/es5/tileset/helpers/bounding-volume.js +7 -26
  11. package/dist/es5/tileset/helpers/bounding-volume.js.map +1 -1
  12. package/dist/es5/tileset/helpers/frame-state.js +22 -42
  13. package/dist/es5/tileset/helpers/frame-state.js.map +1 -1
  14. package/dist/es5/tileset/helpers/i3s-lod.js +0 -13
  15. package/dist/es5/tileset/helpers/i3s-lod.js.map +1 -1
  16. package/dist/es5/tileset/helpers/tiles-3d-lod.js +7 -16
  17. package/dist/es5/tileset/helpers/tiles-3d-lod.js.map +1 -1
  18. package/dist/es5/tileset/helpers/transform-utils.js +2 -11
  19. package/dist/es5/tileset/helpers/transform-utils.js.map +1 -1
  20. package/dist/es5/tileset/helpers/zoom.js +6 -16
  21. package/dist/es5/tileset/helpers/zoom.js.map +1 -1
  22. package/dist/es5/tileset/tile-3d.js +119 -96
  23. package/dist/es5/tileset/tile-3d.js.map +1 -1
  24. package/dist/es5/tileset/tileset-3d.js +119 -185
  25. package/dist/es5/tileset/tileset-3d.js.map +1 -1
  26. package/dist/es5/tileset/tileset-cache.js +1 -14
  27. package/dist/es5/tileset/tileset-cache.js.map +1 -1
  28. package/dist/es5/tileset/traversers/i3s-pending-tiles-register.js +8 -13
  29. package/dist/es5/tileset/traversers/i3s-pending-tiles-register.js.map +1 -1
  30. package/dist/es5/tileset/traversers/i3s-tile-manager.js +20 -24
  31. package/dist/es5/tileset/traversers/i3s-tile-manager.js.map +1 -1
  32. package/dist/es5/tileset/traversers/i3s-tileset-traverser.js +8 -50
  33. package/dist/es5/tileset/traversers/i3s-tileset-traverser.js.map +1 -1
  34. package/dist/es5/tileset/traversers/tileset-3d-traverser.js +0 -22
  35. package/dist/es5/tileset/traversers/tileset-3d-traverser.js.map +1 -1
  36. package/dist/es5/tileset/traversers/tileset-traverser.js +53 -76
  37. package/dist/es5/tileset/traversers/tileset-traverser.js.map +1 -1
  38. package/dist/es5/types.js.map +1 -1
  39. package/dist/es5/utils/doubly-linked-list-node.js +3 -7
  40. package/dist/es5/utils/doubly-linked-list-node.js.map +1 -1
  41. package/dist/es5/utils/doubly-linked-list.js +9 -17
  42. package/dist/es5/utils/doubly-linked-list.js.map +1 -1
  43. package/dist/es5/utils/managed-array.js +29 -30
  44. package/dist/es5/utils/managed-array.js.map +1 -1
  45. package/dist/esm/bundle.js +1 -1
  46. package/dist/esm/bundle.js.map +1 -1
  47. package/dist/esm/constants.js +3 -0
  48. package/dist/esm/constants.js.map +1 -1
  49. package/dist/esm/index.js.map +1 -1
  50. package/dist/esm/tileset/helpers/3d-tiles-options.js.map +1 -1
  51. package/dist/esm/tileset/helpers/bounding-volume.js +4 -10
  52. package/dist/esm/tileset/helpers/bounding-volume.js.map +1 -1
  53. package/dist/esm/tileset/helpers/frame-state.js +16 -16
  54. package/dist/esm/tileset/helpers/frame-state.js.map +1 -1
  55. package/dist/esm/tileset/helpers/i3s-lod.js +4 -4
  56. package/dist/esm/tileset/helpers/i3s-lod.js.map +1 -1
  57. package/dist/esm/tileset/helpers/tiles-3d-lod.js +11 -8
  58. package/dist/esm/tileset/helpers/tiles-3d-lod.js.map +1 -1
  59. package/dist/esm/tileset/helpers/transform-utils.js +1 -3
  60. package/dist/esm/tileset/helpers/transform-utils.js.map +1 -1
  61. package/dist/esm/tileset/helpers/zoom.js +3 -2
  62. package/dist/esm/tileset/helpers/zoom.js.map +1 -1
  63. package/dist/esm/tileset/tile-3d.js +55 -108
  64. package/dist/esm/tileset/tile-3d.js.map +1 -1
  65. package/dist/esm/tileset/tileset-3d.js +58 -154
  66. package/dist/esm/tileset/tileset-3d.js.map +1 -1
  67. package/dist/esm/tileset/tileset-cache.js +2 -18
  68. package/dist/esm/tileset/tileset-cache.js.map +1 -1
  69. package/dist/esm/tileset/traversers/i3s-pending-tiles-register.js +0 -5
  70. package/dist/esm/tileset/traversers/i3s-pending-tiles-register.js.map +1 -1
  71. package/dist/esm/tileset/traversers/i3s-tile-manager.js +2 -4
  72. package/dist/esm/tileset/traversers/i3s-tile-manager.js.map +1 -1
  73. package/dist/esm/tileset/traversers/i3s-tileset-traverser.js +5 -19
  74. package/dist/esm/tileset/traversers/i3s-tileset-traverser.js.map +1 -1
  75. package/dist/esm/tileset/traversers/tileset-3d-traverser.js +2 -9
  76. package/dist/esm/tileset/traversers/tileset-3d-traverser.js.map +1 -1
  77. package/dist/esm/tileset/traversers/tileset-traverser.js +18 -57
  78. package/dist/esm/tileset/traversers/tileset-traverser.js.map +1 -1
  79. package/dist/esm/types.js.map +1 -1
  80. package/dist/esm/utils/doubly-linked-list-node.js +1 -4
  81. package/dist/esm/utils/doubly-linked-list-node.js.map +1 -1
  82. package/dist/esm/utils/doubly-linked-list.js +2 -11
  83. package/dist/esm/utils/doubly-linked-list.js.map +1 -1
  84. package/dist/esm/utils/managed-array.js +4 -22
  85. package/dist/esm/utils/managed-array.js.map +1 -1
  86. package/dist/tileset/helpers/frame-state.d.ts +1 -1
  87. package/dist/tileset/helpers/frame-state.d.ts.map +1 -1
  88. package/dist/tileset/helpers/frame-state.js +1 -1
  89. package/dist/tileset/tile-3d.d.ts +24 -5
  90. package/dist/tileset/tile-3d.d.ts.map +1 -1
  91. package/dist/tileset/tile-3d.js +27 -2
  92. package/dist/tileset/tileset-3d.d.ts +14 -2
  93. package/dist/tileset/tileset-3d.d.ts.map +1 -1
  94. package/dist/tileset/tileset-3d.js +35 -0
  95. package/dist/tileset/traversers/i3s-tileset-traverser.d.ts.map +1 -1
  96. package/dist/tileset/traversers/i3s-tileset-traverser.js +5 -6
  97. package/dist/tileset/traversers/tileset-traverser.d.ts +2 -2
  98. package/dist/tileset/traversers/tileset-traverser.d.ts.map +1 -1
  99. package/dist/tileset/traversers/tileset-traverser.js +3 -3
  100. package/dist/types.d.ts +3 -3
  101. package/dist/types.d.ts.map +1 -1
  102. package/package.json +4 -4
  103. package/src/tileset/helpers/frame-state.ts +1 -1
  104. package/src/tileset/tile-3d.ts +31 -4
  105. package/src/tileset/tileset-3d.ts +36 -0
  106. package/src/tileset/traversers/i3s-tileset-traverser.ts +1 -2
@@ -212,6 +212,9 @@ export default class Tileset3D {
212
212
 
213
213
  stats: Stats;
214
214
 
215
+ /** flags that contain information about data types in nested tiles */
216
+ contentFormats = {draco: false, meshopt: false, dds: false, ktx2: false};
217
+
215
218
  traverseCounter: number;
216
219
  geometricError: number;
217
220
  selectedTiles: Tile3D[];
@@ -799,10 +802,43 @@ export default class Tileset3D {
799
802
  calculateTransformProps(tile, tile.content);
800
803
  }
801
804
 
805
+ this.updateContentTypes(tile);
802
806
  this._addTileToCache(tile);
803
807
  this.options.onTileLoad(tile);
804
808
  }
805
809
 
810
+ /**
811
+ * Update information about data types in nested tiles
812
+ * @param tile instance of a nested Tile3D
813
+ */
814
+ private updateContentTypes(tile: Tile3D) {
815
+ if (this.type === TILESET_TYPE.I3S) {
816
+ if (tile.header.isDracoGeometry) {
817
+ this.contentFormats.draco = true;
818
+ }
819
+ switch (tile.header.textureFormat) {
820
+ case 'dds':
821
+ this.contentFormats.dds = true;
822
+ break;
823
+ case 'ktx2':
824
+ this.contentFormats.ktx2 = true;
825
+ break;
826
+ default:
827
+ }
828
+ } else if (this.type === TILESET_TYPE.TILES3D) {
829
+ const {extensionsRemoved = []} = tile.content?.gltf || {};
830
+ if (extensionsRemoved.includes('KHR_draco_mesh_compression')) {
831
+ this.contentFormats.draco = true;
832
+ }
833
+ if (extensionsRemoved.includes('EXT_meshopt_compression')) {
834
+ this.contentFormats.meshopt = true;
835
+ }
836
+ if (extensionsRemoved.includes('KHR_texture_basisu')) {
837
+ this.contentFormats.ktx2 = true;
838
+ }
839
+ }
840
+ }
841
+
806
842
  _onStartTileLoading() {
807
843
  this._pendingCount++;
808
844
  this.stats.get(TILES_LOADING).incrementCount();
@@ -72,8 +72,7 @@ export default class I3STilesetTraverser extends TilesetTraverser {
72
72
  ...tileset.loadOptions,
73
73
  i3s: {
74
74
  ...tileset.loadOptions.i3s,
75
- isTileHeader: true,
76
- loadContent: false
75
+ isTileHeader: true
77
76
  }
78
77
  };
79
78