@loaders.gl/tiles 4.5.3 → 5.0.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 (295) hide show
  1. package/LICENSE +14 -3
  2. package/README.md +136 -1
  3. package/dist/dist.dev.js +22570 -4947
  4. package/dist/dist.min.js +3 -1
  5. package/dist/image-set.d.ts +94 -0
  6. package/dist/image-set.d.ts.map +1 -0
  7. package/dist/image-set.js +243 -0
  8. package/dist/image-set.js.map +1 -0
  9. package/dist/index.cjs +10171 -2117
  10. package/dist/index.cjs.map +3 -4
  11. package/dist/index.d.ts +50 -9
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +28 -8
  14. package/dist/index.js.map +1 -1
  15. package/dist/point-cloud/point-cloud-tile.d.ts +47 -0
  16. package/dist/point-cloud/point-cloud-tile.d.ts.map +1 -0
  17. package/dist/point-cloud/point-cloud-tile.js +70 -0
  18. package/dist/point-cloud/point-cloud-tile.js.map +1 -0
  19. package/dist/point-cloud/point-cloud-tileset.d.ts +135 -0
  20. package/dist/point-cloud/point-cloud-tileset.d.ts.map +1 -0
  21. package/dist/point-cloud/point-cloud-tileset.js +549 -0
  22. package/dist/point-cloud/point-cloud-tileset.js.map +1 -0
  23. package/dist/point-cloud/types.d.ts +81 -0
  24. package/dist/point-cloud/types.d.ts.map +1 -0
  25. package/dist/point-cloud/types.js +5 -0
  26. package/dist/point-cloud/types.js.map +1 -0
  27. package/dist/raster-set.d.ts +124 -0
  28. package/dist/raster-set.d.ts.map +1 -0
  29. package/dist/raster-set.js +348 -0
  30. package/dist/raster-set.js.map +1 -0
  31. package/dist/spatial/format-spatial-reference.d.ts +68 -0
  32. package/dist/spatial/format-spatial-reference.d.ts.map +1 -0
  33. package/dist/spatial/format-spatial-reference.js +291 -0
  34. package/dist/spatial/format-spatial-reference.js.map +1 -0
  35. package/dist/spatial/get-spatial-coordinate-frame.d.ts +20 -0
  36. package/dist/spatial/get-spatial-coordinate-frame.d.ts.map +1 -0
  37. package/dist/spatial/get-spatial-coordinate-frame.js +139 -0
  38. package/dist/spatial/get-spatial-coordinate-frame.js.map +1 -0
  39. package/dist/spatial/i3s-elevation.d.ts +20 -0
  40. package/dist/spatial/i3s-elevation.d.ts.map +1 -0
  41. package/dist/spatial/i3s-elevation.js +90 -0
  42. package/dist/spatial/i3s-elevation.js.map +1 -0
  43. package/dist/spatial/i3s-spatial-transformer.d.ts +189 -0
  44. package/dist/spatial/i3s-spatial-transformer.d.ts.map +1 -0
  45. package/dist/spatial/i3s-spatial-transformer.js +686 -0
  46. package/dist/spatial/i3s-spatial-transformer.js.map +1 -0
  47. package/dist/spatial/normalize-crs-identifier.d.ts +15 -0
  48. package/dist/spatial/normalize-crs-identifier.d.ts.map +1 -0
  49. package/dist/spatial/normalize-crs-identifier.js +22 -0
  50. package/dist/spatial/normalize-crs-identifier.js.map +1 -0
  51. package/dist/spatial/spatial-coordinate-transformer.d.ts +52 -0
  52. package/dist/spatial/spatial-coordinate-transformer.d.ts.map +1 -0
  53. package/dist/spatial/spatial-coordinate-transformer.js +295 -0
  54. package/dist/spatial/spatial-coordinate-transformer.js.map +1 -0
  55. package/dist/spatial/spatial-resource-registry.d.ts +44 -0
  56. package/dist/spatial/spatial-resource-registry.d.ts.map +1 -0
  57. package/dist/spatial/spatial-resource-registry.js +67 -0
  58. package/dist/spatial/spatial-resource-registry.js.map +1 -0
  59. package/dist/spatial/spatial-types.d.ts +190 -0
  60. package/dist/spatial/spatial-types.d.ts.map +1 -0
  61. package/dist/spatial/spatial-types.js +192 -0
  62. package/dist/spatial/spatial-types.js.map +1 -0
  63. package/dist/spatial/tiles-3d-spatial-transformer.d.ts +32 -0
  64. package/dist/spatial/tiles-3d-spatial-transformer.d.ts.map +1 -0
  65. package/dist/spatial/tiles-3d-spatial-transformer.js +175 -0
  66. package/dist/spatial/tiles-3d-spatial-transformer.js.map +1 -0
  67. package/dist/tileset-2d/adapter.d.ts +37 -0
  68. package/dist/tileset-2d/adapter.d.ts.map +1 -0
  69. package/dist/tileset-2d/adapter.js +5 -0
  70. package/dist/tileset-2d/adapter.js.map +1 -0
  71. package/dist/tileset-2d/index.d.ts +7 -0
  72. package/dist/tileset-2d/index.d.ts.map +1 -0
  73. package/dist/tileset-2d/index.js +6 -0
  74. package/dist/tileset-2d/index.js.map +1 -0
  75. package/dist/tileset-2d/tile-2d-header.d.ts +68 -0
  76. package/dist/tileset-2d/tile-2d-header.d.ts.map +1 -0
  77. package/dist/tileset-2d/tile-2d-header.js +181 -0
  78. package/dist/tileset-2d/tile-2d-header.js.map +1 -0
  79. package/dist/tileset-2d/tileset-2d.d.ts +200 -0
  80. package/dist/tileset-2d/tileset-2d.d.ts.map +1 -0
  81. package/dist/tileset-2d/tileset-2d.js +532 -0
  82. package/dist/tileset-2d/tileset-2d.js.map +1 -0
  83. package/dist/tileset-2d/types.d.ts +44 -0
  84. package/dist/tileset-2d/types.d.ts.map +1 -0
  85. package/dist/tileset-2d/types.js +5 -0
  86. package/dist/tileset-2d/types.js.map +1 -0
  87. package/dist/tileset-2d.d.ts +2 -0
  88. package/dist/tileset-2d.d.ts.map +1 -0
  89. package/dist/tileset-2d.js +5 -0
  90. package/dist/tileset-2d.js.map +1 -0
  91. package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts +60 -0
  92. package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts.map +1 -0
  93. package/dist/tileset-3d/common/indexed-archive-tileset-source.js +130 -0
  94. package/dist/tileset-3d/common/indexed-archive-tileset-source.js.map +1 -0
  95. package/dist/tileset-3d/common/tile-3d-contracts.d.ts +63 -0
  96. package/dist/tileset-3d/common/tile-3d-contracts.d.ts.map +1 -0
  97. package/dist/tileset-3d/common/tile-3d-contracts.js +51 -0
  98. package/dist/tileset-3d/common/tile-3d-contracts.js.map +1 -0
  99. package/dist/tileset-3d/common/tile-3d.d.ts +410 -0
  100. package/dist/tileset-3d/common/tile-3d.d.ts.map +1 -0
  101. package/dist/tileset-3d/common/tile-3d.js +1056 -0
  102. package/dist/tileset-3d/common/tile-3d.js.map +1 -0
  103. package/dist/tileset-3d/common/tileset-3d.d.ts +360 -0
  104. package/dist/tileset-3d/common/tileset-3d.d.ts.map +1 -0
  105. package/dist/tileset-3d/common/tileset-3d.js +846 -0
  106. package/dist/tileset-3d/common/tileset-3d.js.map +1 -0
  107. package/dist/tileset-3d/common/tileset-cache.d.ts +29 -0
  108. package/dist/tileset-3d/common/tileset-cache.d.ts.map +1 -0
  109. package/dist/{tileset → tileset-3d/common}/tileset-cache.js +12 -4
  110. package/dist/tileset-3d/common/tileset-cache.js.map +1 -0
  111. package/dist/tileset-3d/common/tileset-content-traversal.d.ts +37 -0
  112. package/dist/tileset-3d/common/tileset-content-traversal.d.ts.map +1 -0
  113. package/dist/tileset-3d/common/tileset-content-traversal.js +80 -0
  114. package/dist/tileset-3d/common/tileset-content-traversal.js.map +1 -0
  115. package/dist/tileset-3d/common/tileset-observability.d.ts +60 -0
  116. package/dist/tileset-3d/common/tileset-observability.d.ts.map +1 -0
  117. package/dist/tileset-3d/common/tileset-observability.js +39 -0
  118. package/dist/tileset-3d/common/tileset-observability.js.map +1 -0
  119. package/dist/tileset-3d/common/tileset-source.d.ts +228 -0
  120. package/dist/tileset-3d/common/tileset-source.d.ts.map +1 -0
  121. package/dist/tileset-3d/common/tileset-source.js +17 -0
  122. package/dist/tileset-3d/common/tileset-source.js.map +1 -0
  123. package/dist/{tileset → tileset-3d/common}/tileset-traverser.d.ts +35 -3
  124. package/dist/tileset-3d/common/tileset-traverser.d.ts.map +1 -0
  125. package/dist/{tileset → tileset-3d/common}/tileset-traverser.js +61 -13
  126. package/dist/tileset-3d/common/tileset-traverser.js.map +1 -0
  127. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts +182 -0
  128. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts.map +1 -0
  129. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js +681 -0
  130. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js.map +1 -0
  131. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts +221 -0
  132. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts.map +1 -0
  133. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js +770 -0
  134. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js.map +1 -0
  135. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts +110 -0
  136. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts.map +1 -0
  137. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js +331 -0
  138. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js.map +1 -0
  139. package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.d.ts.map +1 -0
  140. package/dist/{tileset → tileset-3d}/format-i3s/i3s-pending-tiles-register.js +3 -0
  141. package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.js.map +1 -0
  142. package/dist/tileset-3d/format-i3s/i3s-source.d.ts +116 -0
  143. package/dist/tileset-3d/format-i3s/i3s-source.d.ts.map +1 -0
  144. package/dist/tileset-3d/format-i3s/i3s-source.js +450 -0
  145. package/dist/tileset-3d/format-i3s/i3s-source.js.map +1 -0
  146. package/dist/tileset-3d/format-i3s/i3s-tile-manager.d.ts.map +1 -0
  147. package/dist/{tileset → tileset-3d}/format-i3s/i3s-tile-manager.js +5 -2
  148. package/dist/tileset-3d/format-i3s/i3s-tile-manager.js.map +1 -0
  149. package/dist/{tileset → tileset-3d}/format-i3s/i3s-tileset-traverser.d.ts +2 -2
  150. package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.d.ts.map +1 -0
  151. package/dist/{tileset → tileset-3d}/format-i3s/i3s-tileset-traverser.js +17 -23
  152. package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js.map +1 -0
  153. package/dist/{tileset → tileset-3d}/helpers/3d-tiles-options.d.ts +1 -1
  154. package/dist/tileset-3d/helpers/3d-tiles-options.d.ts.map +1 -0
  155. package/dist/{tileset → tileset-3d}/helpers/3d-tiles-options.js +3 -0
  156. package/dist/tileset-3d/helpers/3d-tiles-options.js.map +1 -0
  157. package/dist/{tileset → tileset-3d}/helpers/bounding-volume.d.ts +7 -3
  158. package/dist/tileset-3d/helpers/bounding-volume.d.ts.map +1 -0
  159. package/dist/{tileset → tileset-3d}/helpers/bounding-volume.js +20 -91
  160. package/dist/tileset-3d/helpers/bounding-volume.js.map +1 -0
  161. package/dist/tileset-3d/helpers/frame-state.d.ts +93 -0
  162. package/dist/tileset-3d/helpers/frame-state.d.ts.map +1 -0
  163. package/dist/{tileset → tileset-3d}/helpers/frame-state.js +92 -10
  164. package/dist/tileset-3d/helpers/frame-state.js.map +1 -0
  165. package/dist/{tileset → tileset-3d}/helpers/i3s-lod.d.ts +1 -1
  166. package/dist/tileset-3d/helpers/i3s-lod.d.ts.map +1 -0
  167. package/dist/{tileset → tileset-3d}/helpers/i3s-lod.js +21 -9
  168. package/dist/tileset-3d/helpers/i3s-lod.js.map +1 -0
  169. package/dist/tileset-3d/helpers/s2-bounding-volume.d.ts +17 -0
  170. package/dist/tileset-3d/helpers/s2-bounding-volume.d.ts.map +1 -0
  171. package/dist/tileset-3d/helpers/s2-bounding-volume.js +20 -0
  172. package/dist/tileset-3d/helpers/s2-bounding-volume.js.map +1 -0
  173. package/dist/tileset-3d/helpers/tiles-3d-lod.d.ts +72 -0
  174. package/dist/tileset-3d/helpers/tiles-3d-lod.d.ts.map +1 -0
  175. package/dist/tileset-3d/helpers/tiles-3d-lod.js +257 -0
  176. package/dist/tileset-3d/helpers/tiles-3d-lod.js.map +1 -0
  177. package/dist/tileset-3d/helpers/tiles-3d-request-priority.d.ts +134 -0
  178. package/dist/tileset-3d/helpers/tiles-3d-request-priority.d.ts.map +1 -0
  179. package/dist/tileset-3d/helpers/tiles-3d-request-priority.js +179 -0
  180. package/dist/tileset-3d/helpers/tiles-3d-request-priority.js.map +1 -0
  181. package/dist/{tileset → tileset-3d}/helpers/transform-utils.d.ts +1 -1
  182. package/dist/tileset-3d/helpers/transform-utils.d.ts.map +1 -0
  183. package/dist/tileset-3d/helpers/transform-utils.js.map +1 -0
  184. package/dist/tileset-3d/helpers/zoom.d.ts.map +1 -0
  185. package/dist/tileset-3d/helpers/zoom.js.map +1 -0
  186. package/dist/types.d.ts +14 -0
  187. package/dist/types.d.ts.map +1 -1
  188. package/dist/types.js +3 -0
  189. package/dist/types.js.map +1 -1
  190. package/dist/utils/doubly-linked-list.d.ts.map +1 -1
  191. package/dist/utils/doubly-linked-list.js +1 -0
  192. package/dist/utils/doubly-linked-list.js.map +1 -1
  193. package/dist/utils/managed-array.d.ts.map +1 -1
  194. package/dist/utils/managed-array.js +1 -0
  195. package/dist/utils/managed-array.js.map +1 -1
  196. package/package.json +12 -9
  197. package/src/image-set.ts +328 -0
  198. package/src/index.ts +157 -9
  199. package/src/point-cloud/point-cloud-tile.ts +80 -0
  200. package/src/point-cloud/point-cloud-tileset.ts +767 -0
  201. package/src/point-cloud/types.ts +99 -0
  202. package/src/raster-set.ts +504 -0
  203. package/src/spatial/format-spatial-reference.ts +385 -0
  204. package/src/spatial/get-spatial-coordinate-frame.ts +169 -0
  205. package/src/spatial/i3s-elevation.ts +96 -0
  206. package/src/spatial/i3s-spatial-transformer.ts +957 -0
  207. package/src/spatial/normalize-crs-identifier.ts +26 -0
  208. package/src/spatial/spatial-coordinate-transformer.ts +376 -0
  209. package/src/spatial/spatial-resource-registry.ts +79 -0
  210. package/src/spatial/spatial-types.ts +422 -0
  211. package/src/spatial/tiles-3d-spatial-transformer.ts +206 -0
  212. package/src/tileset-2d/adapter.ts +46 -0
  213. package/src/tileset-2d/index.ts +33 -0
  214. package/src/tileset-2d/tile-2d-header.ts +224 -0
  215. package/src/tileset-2d/tileset-2d.ts +715 -0
  216. package/src/tileset-2d/types.ts +39 -0
  217. package/src/tileset-2d.ts +5 -0
  218. package/src/tileset-3d/common/indexed-archive-tileset-source.ts +205 -0
  219. package/src/tileset-3d/common/tile-3d-contracts.ts +115 -0
  220. package/src/tileset-3d/common/tile-3d.ts +1310 -0
  221. package/src/tileset-3d/common/tileset-3d.ts +1166 -0
  222. package/src/{tileset → tileset-3d/common}/tileset-cache.ts +16 -8
  223. package/src/tileset-3d/common/tileset-content-traversal.ts +114 -0
  224. package/src/tileset-3d/common/tileset-observability.ts +100 -0
  225. package/src/tileset-3d/common/tileset-source.ts +284 -0
  226. package/src/{tileset → tileset-3d/common}/tileset-traverser.ts +74 -14
  227. package/src/tileset-3d/format-3d-tiles/implicit-tiling.ts +1059 -0
  228. package/src/tileset-3d/format-3d-tiles/tiles-3d-source.ts +1025 -0
  229. package/src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts +379 -0
  230. package/src/{tileset → tileset-3d}/format-i3s/i3s-pending-tiles-register.ts +4 -0
  231. package/src/tileset-3d/format-i3s/i3s-source.ts +557 -0
  232. package/src/{tileset → tileset-3d}/format-i3s/i3s-tile-manager.ts +6 -2
  233. package/src/{tileset → tileset-3d}/format-i3s/i3s-tileset-traverser.ts +20 -24
  234. package/src/{tileset → tileset-3d}/helpers/3d-tiles-options.ts +5 -1
  235. package/src/{tileset → tileset-3d}/helpers/bounding-volume.ts +31 -114
  236. package/src/tileset-3d/helpers/frame-state.ts +322 -0
  237. package/src/{tileset → tileset-3d}/helpers/i3s-lod.ts +24 -10
  238. package/src/tileset-3d/helpers/s2-bounding-volume.ts +35 -0
  239. package/src/tileset-3d/helpers/tiles-3d-lod.ts +370 -0
  240. package/src/tileset-3d/helpers/tiles-3d-request-priority.ts +301 -0
  241. package/src/{tileset → tileset-3d}/helpers/transform-utils.ts +1 -1
  242. package/src/types.ts +18 -0
  243. package/src/utils/doubly-linked-list.ts +2 -0
  244. package/src/utils/managed-array.ts +2 -0
  245. package/dist/tileset/format-3d-tiles/tileset-3d-traverser.d.ts +0 -7
  246. package/dist/tileset/format-3d-tiles/tileset-3d-traverser.d.ts.map +0 -1
  247. package/dist/tileset/format-3d-tiles/tileset-3d-traverser.js +0 -53
  248. package/dist/tileset/format-3d-tiles/tileset-3d-traverser.js.map +0 -1
  249. package/dist/tileset/format-i3s/i3s-pending-tiles-register.d.ts.map +0 -1
  250. package/dist/tileset/format-i3s/i3s-pending-tiles-register.js.map +0 -1
  251. package/dist/tileset/format-i3s/i3s-tile-manager.d.ts.map +0 -1
  252. package/dist/tileset/format-i3s/i3s-tile-manager.js.map +0 -1
  253. package/dist/tileset/format-i3s/i3s-tileset-traverser.d.ts.map +0 -1
  254. package/dist/tileset/format-i3s/i3s-tileset-traverser.js.map +0 -1
  255. package/dist/tileset/helpers/3d-tiles-options.d.ts.map +0 -1
  256. package/dist/tileset/helpers/3d-tiles-options.js.map +0 -1
  257. package/dist/tileset/helpers/bounding-volume.d.ts.map +0 -1
  258. package/dist/tileset/helpers/bounding-volume.js.map +0 -1
  259. package/dist/tileset/helpers/frame-state.d.ts +0 -28
  260. package/dist/tileset/helpers/frame-state.d.ts.map +0 -1
  261. package/dist/tileset/helpers/frame-state.js.map +0 -1
  262. package/dist/tileset/helpers/i3s-lod.d.ts.map +0 -1
  263. package/dist/tileset/helpers/i3s-lod.js.map +0 -1
  264. package/dist/tileset/helpers/tiles-3d-lod.d.ts +0 -8
  265. package/dist/tileset/helpers/tiles-3d-lod.d.ts.map +0 -1
  266. package/dist/tileset/helpers/tiles-3d-lod.js +0 -113
  267. package/dist/tileset/helpers/tiles-3d-lod.js.map +0 -1
  268. package/dist/tileset/helpers/transform-utils.d.ts.map +0 -1
  269. package/dist/tileset/helpers/transform-utils.js.map +0 -1
  270. package/dist/tileset/helpers/zoom.d.ts.map +0 -1
  271. package/dist/tileset/helpers/zoom.js.map +0 -1
  272. package/dist/tileset/tile-3d.d.ts +0 -230
  273. package/dist/tileset/tile-3d.d.ts.map +0 -1
  274. package/dist/tileset/tile-3d.js +0 -631
  275. package/dist/tileset/tile-3d.js.map +0 -1
  276. package/dist/tileset/tileset-3d.d.ts +0 -284
  277. package/dist/tileset/tileset-3d.d.ts.map +0 -1
  278. package/dist/tileset/tileset-3d.js +0 -814
  279. package/dist/tileset/tileset-3d.js.map +0 -1
  280. package/dist/tileset/tileset-cache.d.ts +0 -19
  281. package/dist/tileset/tileset-cache.d.ts.map +0 -1
  282. package/dist/tileset/tileset-cache.js.map +0 -1
  283. package/dist/tileset/tileset-traverser.d.ts.map +0 -1
  284. package/dist/tileset/tileset-traverser.js.map +0 -1
  285. package/src/tileset/format-3d-tiles/tileset-3d-traverser.ts +0 -63
  286. package/src/tileset/helpers/frame-state.ts +0 -183
  287. package/src/tileset/helpers/tiles-3d-lod.ts +0 -149
  288. package/src/tileset/tile-3d.ts +0 -788
  289. package/src/tileset/tileset-3d.ts +0 -1037
  290. /package/dist/{tileset → tileset-3d}/format-i3s/i3s-pending-tiles-register.d.ts +0 -0
  291. /package/dist/{tileset → tileset-3d}/format-i3s/i3s-tile-manager.d.ts +0 -0
  292. /package/dist/{tileset → tileset-3d}/helpers/transform-utils.js +0 -0
  293. /package/dist/{tileset → tileset-3d}/helpers/zoom.d.ts +0 -0
  294. /package/dist/{tileset → tileset-3d}/helpers/zoom.js +0 -0
  295. /package/src/{tileset → tileset-3d}/helpers/zoom.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"implicit-tiling.js","sourceRoot":"","sources":["../../../src/tileset-3d/format-3d-tiles/implicit-tiling.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,221 @@
1
+ import type { CoreAPI, Loader, LoaderOptions } from '@loaders.gl/loader-utils';
2
+ import type { Tile3D } from "../common/tile-3d.js";
3
+ import type { Tileset3D } from "../common/tileset-3d.js";
4
+ import type { TileChildrenLoadResult, TileContentLoadResult, TilesetContentFormats, TilesetJSON, Tileset3DSource, TilesetSourceInput, TilesetSourceMetadata, TilesetSourceViewState } from "../common/tileset-source.js";
5
+ import { TILESET_TYPE } from "../../constants.js";
6
+ import type { TilesetTraverser, TilesetTraverserProps } from "../common/tileset-traverser.js";
7
+ import type { FrameState } from "../helpers/frame-state.js";
8
+ /** Diagnostics for source-managed implicit subtree loading. */
9
+ export type ImplicitTilingStats = {
10
+ /** Subtree resources requested from the resolver or core API. */
11
+ requestedSubtrees: number;
12
+ /** Successful subtree materializations, including parsed-cache hits. */
13
+ loadedSubtrees: number;
14
+ /** Requests served by the source's parsed-subtree cache. */
15
+ cacheHits: number;
16
+ /** Parsed subtree resources currently retained for reuse. */
17
+ cachedSubtrees: number;
18
+ /** Subtree resource requests currently in flight. */
19
+ pendingSubtrees: number;
20
+ /** Runtime headers created below already-existing subtree-root placeholders. */
21
+ materializedTiles: number;
22
+ };
23
+ /**
24
+ * {@link Tileset3DSource} implementation for 3D Tiles datasets.
25
+ */
26
+ export declare class Tiles3DSource implements Tileset3DSource {
27
+ /** 3D Tiles format discriminator. */
28
+ readonly type = TILESET_TYPE.TILES3D;
29
+ /** Loader used for tile content requests. */
30
+ readonly loader: Loader;
31
+ /** Root tileset URL. */
32
+ readonly url: string;
33
+ /** Base path used for relative tile resource resolution. */
34
+ readonly basePath: string;
35
+ /** Parsed root tileset payload. */
36
+ tileset: TilesetJSON | null;
37
+ /** Loader options forwarded to content requests. */
38
+ readonly loadOptions: LoaderOptions;
39
+ /** Core API used for root and tile-content loads when injected by the caller. */
40
+ coreApi?: CoreAPI;
41
+ /** Aggregate content-format flags discovered during streaming. */
42
+ readonly contentFormats: TilesetContentFormats;
43
+ /** Top-level 3D Tiles asset metadata. */
44
+ asset?: Record<string, any>;
45
+ /** Top-level per-feature properties metadata. */
46
+ properties?: any;
47
+ /** Top-level application-specific metadata. */
48
+ extras?: any;
49
+ /** Source-provided attribution metadata. */
50
+ credits?: any;
51
+ /** Normalized source metadata after initialization. */
52
+ metadata?: TilesetSourceMetadata;
53
+ private readonly queryParams;
54
+ /** Final request URLs cached by unmodified tile content URL. */
55
+ private readonly tileUrlCache;
56
+ /** Original content descriptors retained across {@link Tile3D.unloadContent} calls. */
57
+ private readonly tileContentHeaders;
58
+ /** Installed nested roots by parent placement and ordered nested-content slot, across reloads. */
59
+ private readonly nestedTilesetRoots;
60
+ /** Source-local namespaces assigned to distinct embedded glTF package file collections. */
61
+ private readonly packageNamespaces;
62
+ /** Next source-local package namespace. */
63
+ private nextPackageNamespace;
64
+ /** Parsed subtree requests keyed by final source URL for deduplication and LRU reuse. */
65
+ private readonly implicitSubtreeCache;
66
+ /** Mutable counters exposed as a defensive snapshot through {@link getImplicitTilingStats}. */
67
+ private readonly implicitTilingStats;
68
+ /** Whether the owning tileset has released this source. */
69
+ private destroyed;
70
+ private readonly extensionsUsed;
71
+ private readonly resolver?;
72
+ private rootTileset;
73
+ /** CRS transformer shared by this source's headers and decoded glTF content. */
74
+ private spatialTransformer?;
75
+ /** Root header after composing source-frame transforms and rebuilding target bounds. */
76
+ private preparedRootHeader?;
77
+ /**
78
+ * Creates a 3D Tiles source.
79
+ * @param input Root metadata request, or preloaded root metadata for tests and internal callers.
80
+ * @param loadOptions Loader options forwarded to tile requests.
81
+ */
82
+ constructor(input: TilesetSourceInput, loadOptions?: LoaderOptions);
83
+ /**
84
+ * Releases URL and parsed-subtree caches and blocks late subtree installation.
85
+ *
86
+ * The injected resolver or core API remains responsible for transport-level abort signals. A
87
+ * request that cannot be aborted may finish parsing, but it will not mutate destroyed tiles.
88
+ */
89
+ destroy(): void;
90
+ /**
91
+ * Fetches and validates top-level metadata, then normalizes common fields used by {@link Tileset3D}.
92
+ */
93
+ initialize(): Promise<void>;
94
+ /**
95
+ * Returns normalized source metadata after initialization.
96
+ */
97
+ getMetadata(): TilesetSourceMetadata;
98
+ /**
99
+ * Returns the root 3D Tiles payload.
100
+ */
101
+ getRootTileset(): Promise<TilesetJSON>;
102
+ /** Prepare nonlinear CRS state before runtime headers are materialized. */
103
+ prepareTileset(tileset: Tileset3D): Promise<void>;
104
+ /**
105
+ * Builds explicit runtime headers while leaving implicit subtree references lazy.
106
+ */
107
+ initializeTileHeaders(tileset: Tileset3D, tilesetJson: TilesetJSON, parentTile?: Tile3D | null): Tile3D;
108
+ /**
109
+ * Creates the standard 3D Tiles traverser.
110
+ */
111
+ createTraverser(options: TilesetTraverserProps): TilesetTraverser;
112
+ /**
113
+ * Loads binary content or nested tileset JSON for a runtime tile.
114
+ */
115
+ loadTileContent(tile: Tile3D): Promise<TileContentLoadResult>;
116
+ /** Transform a tile header and its eagerly declared descendants. */
117
+ private transformTileHeader;
118
+ /** Rebuilds one header subtree using an explicitly selected CRS transformer. */
119
+ private transformTileHeaderWithTransformer;
120
+ private transformContentHeader;
121
+ /**
122
+ * Loads, materializes, and installs exactly one implicit subtree.
123
+ *
124
+ * Final URLs pass through the same query inheritance and archive/custom resolver path as render
125
+ * content. Parsed resources are deduplicated by final URL, while the pure materializer creates
126
+ * lazy placeholders for every available child subtree instead of recursively fetching them.
127
+ *
128
+ * @param tile - Existing contentless subtree-root placeholder.
129
+ * @param frameState - View state that made this request eligible; priority is consumed earlier.
130
+ * @returns Counts describing the installed subtree.
131
+ */
132
+ loadTileChildren(tile: Tile3D, frameState: FrameState): Promise<TileChildrenLoadResult>;
133
+ /** Loads an implicit subtree for dataset traversal without camera state. */
134
+ loadTileChildrenForTraversal(tile: Tile3D, signal?: AbortSignal): Promise<TileChildrenLoadResult>;
135
+ /**
136
+ * Returns a snapshot of implicit-subtree request, cache, and materialization counters.
137
+ *
138
+ * @returns Immutable-by-convention diagnostic values for runtime inspection.
139
+ */
140
+ getImplicitTilingStats(): ImplicitTilingStats;
141
+ /**
142
+ * Resolves a tile content URL with source-managed query parameters.
143
+ *
144
+ * Existing per-resource parameters take precedence over inherited root, version, and session
145
+ * values. Completed URLs are cached by the original tile path; {@link setQueryParameter}
146
+ * invalidates the cache before changed source state can be observed.
147
+ *
148
+ * @param tilePath - Unmodified absolute content URL or data URL from the tile header.
149
+ * @returns Content URL with any missing source parameters appended.
150
+ */
151
+ getTileUrl(tilePath: string): string;
152
+ /**
153
+ * Updates an inherited source query parameter and invalidates derived request URLs.
154
+ *
155
+ * Root tokens and tileset versions normally settle during initialization. Some providers expose
156
+ * a session parameter on a child URL, so invalidation is required to prevent URLs cached earlier
157
+ * in header construction from retaining stale authentication state.
158
+ *
159
+ * @param parameterName - Query parameter name.
160
+ * @param parameterValue - Query parameter value.
161
+ */
162
+ private setQueryParameter;
163
+ /**
164
+ * Derives the default view state from the root bounding volume.
165
+ */
166
+ getViewState(rootTile: Tile3D | null): TilesetSourceViewState;
167
+ /**
168
+ * Checks whether the root tileset declares the given extension.
169
+ */
170
+ hasExtension(extensionName: string): boolean;
171
+ /**
172
+ * Updates content-format flags and installs nested tileset subtrees once per content slot.
173
+ * Reloading payloads retains attached roots and their descendants, including duplicate URLs
174
+ * declared in separate slots or parent placements. Detached roots are reinstalled in declaration order.
175
+ */
176
+ onTileLoaded(tileset: Tileset3D, tile: Tile3D, loadResult: TileContentLoadResult): void;
177
+ /**
178
+ * Resolves a nested tileset's CRS independently and adapts it to the owning tileset output frame.
179
+ *
180
+ * Nested resources may use a different source CRS from their parent. Their headers and glTF
181
+ * payloads must therefore use a transformer built from the nested descriptor, while the parent
182
+ * runtime continues to expose one requested output frame to traversal and rendering.
183
+ */
184
+ private prepareNestedTileset;
185
+ /**
186
+ * Loads data through injected core APIs so this module stays independent from `@loaders.gl/core`.
187
+ */
188
+ private loadWithCoreApi;
189
+ /**
190
+ * Loads data through an injected resolver when present, otherwise through the injected core API.
191
+ */
192
+ private loadRootData;
193
+ /**
194
+ * Loads an arbitrary source resource through an injected resolver or core API.
195
+ */
196
+ private loadResourceData;
197
+ /** Loads a URL content reference or parses a buffer-view file retained from a glTF package. */
198
+ private loadContentResource;
199
+ /** Returns a stable source-local namespace for one embedded glTF package file collection. */
200
+ private getPackageNamespace;
201
+ /** Resolves a retained package-file byte range without eagerly copying other package files. */
202
+ private getPackageFileData;
203
+ /**
204
+ * Returns a parsed subtree from the LRU cache or starts one source-managed request.
205
+ *
206
+ * @param subtreeUrl - Final subtree URL after query inheritance.
207
+ * @param packageResource - Optional glTF package file satisfying the subtree reference.
208
+ * @returns Parsed subtree availability data.
209
+ */
210
+ private loadImplicitSubtreeResource;
211
+ /**
212
+ * Instantiates every header represented by one materialized subtree.
213
+ *
214
+ * @param tileset - Owning runtime tileset.
215
+ * @param parentTile - Existing materialized parent.
216
+ * @param childHeaders - Headers to install below the parent.
217
+ * @returns Number of newly allocated runtime tile nodes.
218
+ */
219
+ private initializeMaterializedChildren;
220
+ }
221
+ //# sourceMappingURL=tiles-3d-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tiles-3d-source.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/format-3d-tiles/tiles-3d-source.ts"],"names":[],"mappings":"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"}