@loaders.gl/tiles 5.0.0-alpha.11 → 5.0.0-alpha.13

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 (698) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +18 -72
  3. package/dist/dist.dev.js +5874 -23815
  4. package/dist/dist.min.js +3 -3
  5. package/dist/image-set.d.ts +1 -1
  6. package/dist/image-set.d.ts.map +1 -1
  7. package/dist/index.cjs +2803 -10209
  8. package/dist/index.cjs.map +3 -3
  9. package/dist/index.d.ts +4 -43
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +3 -26
  12. package/dist/index.js.map +1 -1
  13. package/dist/mlt/bundled.d.ts +3 -0
  14. package/dist/mlt/bundled.d.ts.map +1 -0
  15. package/dist/mlt/bundled.js +5 -0
  16. package/dist/mlt/bundled.js.map +1 -0
  17. package/dist/mlt/index.cjs +3701 -0
  18. package/dist/mlt/index.cjs.map +6 -0
  19. package/dist/mlt/index.d.ts +10 -0
  20. package/dist/mlt/index.d.ts.map +1 -0
  21. package/dist/mlt/index.js +12 -0
  22. package/dist/mlt/index.js.map +1 -0
  23. package/dist/mlt/lib/encode-mlt-geometry.d.ts +6 -0
  24. package/dist/mlt/lib/encode-mlt-geometry.d.ts.map +1 -0
  25. package/dist/mlt/lib/encode-mlt-geometry.js +150 -0
  26. package/dist/mlt/lib/encode-mlt-geometry.js.map +1 -0
  27. package/dist/mlt/lib/encode-mlt-streams.d.ts +13 -0
  28. package/dist/mlt/lib/encode-mlt-streams.d.ts.map +1 -0
  29. package/dist/mlt/lib/encode-mlt-streams.js +57 -0
  30. package/dist/mlt/lib/encode-mlt-streams.js.map +1 -0
  31. package/dist/mlt/lib/encode-mlt.d.ts +6 -0
  32. package/dist/mlt/lib/encode-mlt.d.ts.map +1 -0
  33. package/dist/mlt/lib/encode-mlt.js +174 -0
  34. package/dist/mlt/lib/encode-mlt.js.map +1 -0
  35. package/dist/mlt/lib/parse-mlt.d.ts +11 -0
  36. package/dist/mlt/lib/parse-mlt.d.ts.map +1 -0
  37. package/dist/mlt/lib/parse-mlt.js +675 -0
  38. package/dist/mlt/lib/parse-mlt.js.map +1 -0
  39. package/dist/mlt/mlt-format.d.ts +14 -0
  40. package/dist/mlt/mlt-format.d.ts.map +1 -0
  41. package/dist/mlt/mlt-format.js +17 -0
  42. package/dist/mlt/mlt-format.js.map +1 -0
  43. package/dist/mlt/mlt-loader-with-parser.d.ts +91 -0
  44. package/dist/mlt/mlt-loader-with-parser.d.ts.map +1 -0
  45. package/dist/mlt/mlt-loader-with-parser.js +29 -0
  46. package/dist/mlt/mlt-loader-with-parser.js.map +1 -0
  47. package/dist/mlt/mlt-loader.d.ts +115 -0
  48. package/dist/mlt/mlt-loader.d.ts.map +1 -0
  49. package/dist/mlt/mlt-loader.js +38 -0
  50. package/dist/mlt/mlt-loader.js.map +1 -0
  51. package/dist/mlt/mlt-source-loader.d.ts +82 -0
  52. package/dist/mlt/mlt-source-loader.d.ts.map +1 -0
  53. package/dist/mlt/mlt-source-loader.js +179 -0
  54. package/dist/mlt/mlt-source-loader.js.map +1 -0
  55. package/dist/mlt/mlt-writer.d.ts +45 -0
  56. package/dist/mlt/mlt-writer.d.ts.map +1 -0
  57. package/dist/mlt/mlt-writer.js +21 -0
  58. package/dist/mlt/mlt-writer.js.map +1 -0
  59. package/dist/mlt/unbundled.d.ts +3 -0
  60. package/dist/mlt/unbundled.d.ts.map +1 -0
  61. package/dist/mlt/unbundled.js +5 -0
  62. package/dist/mlt/unbundled.js.map +1 -0
  63. package/dist/mvt/arrow-table-tile-source-loader-types.d.ts +36 -0
  64. package/dist/mvt/arrow-table-tile-source-loader-types.d.ts.map +1 -0
  65. package/dist/mvt/arrow-table-tile-source-loader-types.js +36 -0
  66. package/dist/mvt/arrow-table-tile-source-loader-types.js.map +1 -0
  67. package/dist/mvt/arrow-table-tile-source-loader.cjs +6343 -0
  68. package/dist/mvt/arrow-table-tile-source-loader.cjs.map +6 -0
  69. package/dist/mvt/arrow-table-tile-source-loader.d.ts +69 -0
  70. package/dist/mvt/arrow-table-tile-source-loader.d.ts.map +1 -0
  71. package/dist/mvt/arrow-table-tile-source-loader.js +216 -0
  72. package/dist/mvt/arrow-table-tile-source-loader.js.map +1 -0
  73. package/dist/mvt/arrow-table-tile-source-types.d.ts +21 -0
  74. package/dist/mvt/arrow-table-tile-source-types.d.ts.map +1 -0
  75. package/dist/mvt/arrow-table-tile-source-types.js +6 -0
  76. package/dist/mvt/arrow-table-tile-source-types.js.map +1 -0
  77. package/dist/mvt/bundled.d.ts +6 -0
  78. package/dist/mvt/bundled.d.ts.map +1 -0
  79. package/dist/mvt/bundled.js +7 -0
  80. package/dist/mvt/bundled.js.map +1 -0
  81. package/dist/mvt/dist.dev.js +46689 -0
  82. package/dist/mvt/dist.min.js +94 -0
  83. package/dist/mvt/index.cjs +10095 -0
  84. package/dist/mvt/index.cjs.map +6 -0
  85. package/dist/mvt/index.d.ts +28 -0
  86. package/dist/mvt/index.d.ts.map +1 -0
  87. package/dist/mvt/index.js +27 -0
  88. package/dist/mvt/index.js.map +1 -0
  89. package/dist/mvt/lib/encode-mvt-arrow.d.ts +6 -0
  90. package/dist/mvt/lib/encode-mvt-arrow.d.ts.map +1 -0
  91. package/dist/mvt/lib/encode-mvt-arrow.js +225 -0
  92. package/dist/mvt/lib/encode-mvt-arrow.js.map +1 -0
  93. package/dist/mvt/lib/encode-mvt.d.ts +30 -0
  94. package/dist/mvt/lib/encode-mvt.d.ts.map +1 -0
  95. package/dist/mvt/lib/encode-mvt.js +20 -0
  96. package/dist/mvt/lib/encode-mvt.js.map +1 -0
  97. package/dist/mvt/lib/get-schemas-from-tilejson.d.ts +4 -0
  98. package/dist/mvt/lib/get-schemas-from-tilejson.d.ts.map +1 -0
  99. package/dist/mvt/lib/get-schemas-from-tilejson.js +56 -0
  100. package/dist/mvt/lib/get-schemas-from-tilejson.js.map +1 -0
  101. package/dist/mvt/lib/is-longitude-latitude-crs.d.ts +3 -0
  102. package/dist/mvt/lib/is-longitude-latitude-crs.d.ts.map +1 -0
  103. package/dist/mvt/lib/is-longitude-latitude-crs.js +13 -0
  104. package/dist/mvt/lib/is-longitude-latitude-crs.js.map +1 -0
  105. package/dist/mvt/lib/mapbox-vt-pbf/geojson-wrapper.d.ts +25 -0
  106. package/dist/mvt/lib/mapbox-vt-pbf/geojson-wrapper.d.ts.map +1 -0
  107. package/dist/mvt/lib/mapbox-vt-pbf/geojson-wrapper.js +73 -0
  108. package/dist/mvt/lib/mapbox-vt-pbf/geojson-wrapper.js.map +1 -0
  109. package/dist/mvt/lib/mapbox-vt-pbf/to-vector-tile.d.ts +52 -0
  110. package/dist/mvt/lib/mapbox-vt-pbf/to-vector-tile.d.ts.map +1 -0
  111. package/dist/mvt/lib/mapbox-vt-pbf/to-vector-tile.js +165 -0
  112. package/dist/mvt/lib/mapbox-vt-pbf/to-vector-tile.js.map +1 -0
  113. package/dist/mvt/lib/mvt-pbf/mvt-constants.d.ts +116 -0
  114. package/dist/mvt/lib/mvt-pbf/mvt-constants.d.ts.map +1 -0
  115. package/dist/mvt/lib/mvt-pbf/mvt-constants.js +127 -0
  116. package/dist/mvt/lib/mvt-pbf/mvt-constants.js.map +1 -0
  117. package/dist/mvt/lib/mvt-pbf/mvt-types.d.ts +17 -0
  118. package/dist/mvt/lib/mvt-pbf/mvt-types.d.ts.map +1 -0
  119. package/dist/mvt/lib/mvt-pbf/mvt-types.js +5 -0
  120. package/dist/mvt/lib/mvt-pbf/mvt-types.js.map +1 -0
  121. package/dist/mvt/lib/mvt-pbf/parse-geometry-from-pbf.d.ts +77 -0
  122. package/dist/mvt/lib/mvt-pbf/parse-geometry-from-pbf.d.ts.map +1 -0
  123. package/dist/mvt/lib/mvt-pbf/parse-geometry-from-pbf.js +235 -0
  124. package/dist/mvt/lib/mvt-pbf/parse-geometry-from-pbf.js.map +1 -0
  125. package/dist/mvt/lib/mvt-pbf/parse-mvt-from-pbf.d.ts +25 -0
  126. package/dist/mvt/lib/mvt-pbf/parse-mvt-from-pbf.d.ts.map +1 -0
  127. package/dist/mvt/lib/mvt-pbf/parse-mvt-from-pbf.js +263 -0
  128. package/dist/mvt/lib/mvt-pbf/parse-mvt-from-pbf.js.map +1 -0
  129. package/dist/mvt/lib/mvt-pbf/write-mvt-to-pbf.d.ts +4 -0
  130. package/dist/mvt/lib/mvt-pbf/write-mvt-to-pbf.d.ts.map +1 -0
  131. package/dist/mvt/lib/mvt-pbf/write-mvt-to-pbf.js +134 -0
  132. package/dist/mvt/lib/mvt-pbf/write-mvt-to-pbf.js.map +1 -0
  133. package/dist/mvt/lib/mvt-worker-transport.d.ts +15 -0
  134. package/dist/mvt/lib/mvt-worker-transport.d.ts.map +1 -0
  135. package/dist/mvt/lib/mvt-worker-transport.js +54 -0
  136. package/dist/mvt/lib/mvt-worker-transport.js.map +1 -0
  137. package/dist/mvt/lib/parse-mvt-geojson.d.ts +6 -0
  138. package/dist/mvt/lib/parse-mvt-geojson.d.ts.map +1 -0
  139. package/dist/mvt/lib/parse-mvt-geojson.js +48 -0
  140. package/dist/mvt/lib/parse-mvt-geojson.js.map +1 -0
  141. package/dist/mvt/lib/parse-mvt.d.ts +14 -0
  142. package/dist/mvt/lib/parse-mvt.d.ts.map +1 -0
  143. package/dist/mvt/lib/parse-mvt.js +105 -0
  144. package/dist/mvt/lib/parse-mvt.js.map +1 -0
  145. package/dist/mvt/lib/parse-tilejson.d.ts +74 -0
  146. package/dist/mvt/lib/parse-tilejson.d.ts.map +1 -0
  147. package/dist/mvt/lib/parse-tilejson.js +267 -0
  148. package/dist/mvt/lib/parse-tilejson.js.map +1 -0
  149. package/dist/mvt/lib/resolve-table-tile-parameters.d.ts +4 -0
  150. package/dist/mvt/lib/resolve-table-tile-parameters.d.ts.map +1 -0
  151. package/dist/mvt/lib/resolve-table-tile-parameters.js +16 -0
  152. package/dist/mvt/lib/resolve-table-tile-parameters.js.map +1 -0
  153. package/dist/mvt/lib/types.d.ts +88 -0
  154. package/dist/mvt/lib/types.d.ts.map +1 -0
  155. package/dist/mvt/lib/types.js.map +1 -0
  156. package/dist/mvt/lib/utils/geometry-utils.d.ts +83 -0
  157. package/dist/mvt/lib/utils/geometry-utils.d.ts.map +1 -0
  158. package/dist/mvt/lib/utils/geometry-utils.js +211 -0
  159. package/dist/mvt/lib/utils/geometry-utils.js.map +1 -0
  160. package/dist/mvt/lib/vector-tile/vector-tile-feature.d.ts +72 -0
  161. package/dist/mvt/lib/vector-tile/vector-tile-feature.d.ts.map +1 -0
  162. package/dist/mvt/lib/vector-tile/vector-tile-feature.js +350 -0
  163. package/dist/mvt/lib/vector-tile/vector-tile-feature.js.map +1 -0
  164. package/dist/mvt/lib/vector-tile/vector-tile-layer.d.ts +29 -0
  165. package/dist/mvt/lib/vector-tile/vector-tile-layer.d.ts.map +1 -0
  166. package/dist/mvt/lib/vector-tile/vector-tile-layer.js +108 -0
  167. package/dist/mvt/lib/vector-tile/vector-tile-layer.js.map +1 -0
  168. package/dist/mvt/lib/vector-tile/vector-tile.d.ts +9 -0
  169. package/dist/mvt/lib/vector-tile/vector-tile.d.ts.map +1 -0
  170. package/dist/mvt/lib/vector-tile/vector-tile.js +28 -0
  171. package/dist/mvt/lib/vector-tile/vector-tile.js.map +1 -0
  172. package/dist/mvt/lib/vector-tiler/arrow-tile.d.ts +6 -0
  173. package/dist/mvt/lib/vector-tiler/arrow-tile.d.ts.map +1 -0
  174. package/dist/mvt/lib/vector-tiler/arrow-tile.js +84 -0
  175. package/dist/mvt/lib/vector-tiler/arrow-tile.js.map +1 -0
  176. package/dist/mvt/lib/vector-tiler/features/clip-features.d.ts +16 -0
  177. package/dist/mvt/lib/vector-tiler/features/clip-features.d.ts.map +1 -0
  178. package/dist/mvt/lib/vector-tiler/features/clip-features.js +211 -0
  179. package/dist/mvt/lib/vector-tiler/features/clip-features.js.map +1 -0
  180. package/dist/mvt/lib/vector-tiler/features/convert-feature.d.ts +18 -0
  181. package/dist/mvt/lib/vector-tiler/features/convert-feature.d.ts.map +1 -0
  182. package/dist/mvt/lib/vector-tiler/features/convert-feature.js +161 -0
  183. package/dist/mvt/lib/vector-tiler/features/convert-feature.js.map +1 -0
  184. package/dist/mvt/lib/vector-tiler/features/proto-feature.d.ts +30 -0
  185. package/dist/mvt/lib/vector-tiler/features/proto-feature.d.ts.map +1 -0
  186. package/dist/mvt/lib/vector-tiler/features/proto-feature.js +53 -0
  187. package/dist/mvt/lib/vector-tiler/features/proto-feature.js.map +1 -0
  188. package/dist/mvt/lib/vector-tiler/features/simplify-path.d.ts +10 -0
  189. package/dist/mvt/lib/vector-tiler/features/simplify-path.d.ts.map +1 -0
  190. package/dist/mvt/lib/vector-tiler/features/simplify-path.js +67 -0
  191. package/dist/mvt/lib/vector-tiler/features/simplify-path.js.map +1 -0
  192. package/dist/mvt/lib/vector-tiler/features/wrap-features.d.ts +17 -0
  193. package/dist/mvt/lib/vector-tiler/features/wrap-features.d.ts.map +1 -0
  194. package/dist/mvt/lib/vector-tiler/features/wrap-features.js +95 -0
  195. package/dist/mvt/lib/vector-tiler/features/wrap-features.js.map +1 -0
  196. package/dist/mvt/lib/vector-tiler/proto-tile.d.ts +40 -0
  197. package/dist/mvt/lib/vector-tiler/proto-tile.d.ts.map +1 -0
  198. package/dist/mvt/lib/vector-tiler/proto-tile.js +139 -0
  199. package/dist/mvt/lib/vector-tiler/proto-tile.js.map +1 -0
  200. package/dist/mvt/lib/vector-tiler/tile-to-geojson.d.ts +12 -0
  201. package/dist/mvt/lib/vector-tiler/tile-to-geojson.d.ts.map +1 -0
  202. package/dist/mvt/lib/vector-tiler/tile-to-geojson.js +81 -0
  203. package/dist/mvt/lib/vector-tiler/tile-to-geojson.js.map +1 -0
  204. package/dist/mvt/lib/vector-tiler/transform-tile.d.ts +7 -0
  205. package/dist/mvt/lib/vector-tiler/transform-tile.d.ts.map +1 -0
  206. package/dist/mvt/lib/vector-tiler/transform-tile.js +42 -0
  207. package/dist/mvt/lib/vector-tiler/transform-tile.js.map +1 -0
  208. package/dist/mvt/map-style-format.d.ts +13 -0
  209. package/dist/mvt/map-style-format.d.ts.map +1 -0
  210. package/dist/mvt/map-style-format.js +16 -0
  211. package/dist/mvt/map-style-format.js.map +1 -0
  212. package/dist/mvt/map-style-loader-with-parser.d.ts +26 -0
  213. package/dist/mvt/map-style-loader-with-parser.d.ts.map +1 -0
  214. package/dist/mvt/map-style-loader-with-parser.js +38 -0
  215. package/dist/mvt/map-style-loader-with-parser.js.map +1 -0
  216. package/dist/mvt/map-style-loader.d.ts +44 -0
  217. package/dist/mvt/map-style-loader.d.ts.map +1 -0
  218. package/dist/mvt/map-style-loader.js +25 -0
  219. package/dist/mvt/map-style-loader.js.map +1 -0
  220. package/dist/mvt/map-style-schema.d.ts +58 -0
  221. package/dist/mvt/map-style-schema.d.ts.map +1 -0
  222. package/dist/mvt/map-style-schema.js +47 -0
  223. package/dist/mvt/map-style-schema.js.map +1 -0
  224. package/dist/mvt/map-style.d.ts +110 -0
  225. package/dist/mvt/map-style.d.ts.map +1 -0
  226. package/dist/mvt/map-style.js +90 -0
  227. package/dist/mvt/map-style.js.map +1 -0
  228. package/dist/mvt/mvt-format.d.ts +14 -0
  229. package/dist/mvt/mvt-format.d.ts.map +1 -0
  230. package/dist/mvt/mvt-format.js +23 -0
  231. package/dist/mvt/mvt-format.js.map +1 -0
  232. package/dist/mvt/mvt-geojson-loader-types.d.ts +82 -0
  233. package/dist/mvt/mvt-geojson-loader-types.d.ts.map +1 -0
  234. package/dist/mvt/mvt-geojson-loader-types.js +34 -0
  235. package/dist/mvt/mvt-geojson-loader-types.js.map +1 -0
  236. package/dist/mvt/mvt-geojson-loader.cjs +1366 -0
  237. package/dist/mvt/mvt-geojson-loader.cjs.map +6 -0
  238. package/dist/mvt/mvt-geojson-loader.d.ts +32 -0
  239. package/dist/mvt/mvt-geojson-loader.d.ts.map +1 -0
  240. package/dist/mvt/mvt-geojson-loader.js +13 -0
  241. package/dist/mvt/mvt-geojson-loader.js.map +1 -0
  242. package/dist/mvt/mvt-loader-with-parser.d.ts +105 -0
  243. package/dist/mvt/mvt-loader-with-parser.d.ts.map +1 -0
  244. package/dist/mvt/mvt-loader-with-parser.js +21 -0
  245. package/dist/mvt/mvt-loader-with-parser.js.map +1 -0
  246. package/dist/mvt/mvt-loader.d.ts +129 -0
  247. package/dist/mvt/mvt-loader.d.ts.map +1 -0
  248. package/dist/mvt/mvt-loader.js +40 -0
  249. package/dist/mvt/mvt-loader.js.map +1 -0
  250. package/dist/mvt/mvt-source-loader.d.ts +102 -0
  251. package/dist/mvt/mvt-source-loader.d.ts.map +1 -0
  252. package/dist/mvt/mvt-source-loader.js +275 -0
  253. package/dist/mvt/mvt-source-loader.js.map +1 -0
  254. package/dist/mvt/mvt-writer.d.ts +28 -0
  255. package/dist/mvt/mvt-writer.d.ts.map +1 -0
  256. package/dist/mvt/mvt-writer.js +32 -0
  257. package/dist/mvt/mvt-writer.js.map +1 -0
  258. package/dist/mvt/table-tile-source-loader.d.ts +169 -0
  259. package/dist/mvt/table-tile-source-loader.d.ts.map +1 -0
  260. package/dist/mvt/table-tile-source-loader.js +478 -0
  261. package/dist/mvt/table-tile-source-loader.js.map +1 -0
  262. package/dist/mvt/tilejson-format.d.ts +13 -0
  263. package/dist/mvt/tilejson-format.d.ts.map +1 -0
  264. package/dist/mvt/tilejson-format.js +16 -0
  265. package/dist/mvt/tilejson-format.js.map +1 -0
  266. package/dist/mvt/tilejson-loader-with-parser.d.ts +13 -0
  267. package/dist/mvt/tilejson-loader-with-parser.d.ts.map +1 -0
  268. package/dist/mvt/tilejson-loader-with-parser.js +25 -0
  269. package/dist/mvt/tilejson-loader-with-parser.js.map +1 -0
  270. package/dist/mvt/tilejson-loader.d.ts +56 -0
  271. package/dist/mvt/tilejson-loader.d.ts.map +1 -0
  272. package/dist/mvt/tilejson-loader.js +28 -0
  273. package/dist/mvt/tilejson-loader.js.map +1 -0
  274. package/dist/mvt/tilejson-zod-schema.cjs +79 -0
  275. package/dist/mvt/tilejson-zod-schema.cjs.map +6 -0
  276. package/dist/mvt/tilejson-zod-schema.d.ts +218 -0
  277. package/dist/mvt/tilejson-zod-schema.d.ts.map +1 -0
  278. package/dist/mvt/tilejson-zod-schema.js +68 -0
  279. package/dist/mvt/tilejson-zod-schema.js.map +1 -0
  280. package/dist/mvt/tilejson.schema.json +197 -0
  281. package/dist/mvt/unbundled.d.ts +8 -0
  282. package/dist/mvt/unbundled.d.ts.map +1 -0
  283. package/dist/mvt/unbundled.js +8 -0
  284. package/dist/mvt/unbundled.js.map +1 -0
  285. package/dist/mvt/workers/mvt-worker-node.d.ts +2 -0
  286. package/dist/mvt/workers/mvt-worker-node.d.ts.map +1 -0
  287. package/dist/mvt/workers/mvt-worker-node.js +8 -0
  288. package/dist/mvt/workers/mvt-worker-node.js.map +1 -0
  289. package/dist/mvt/workers/mvt-worker.d.ts +2 -0
  290. package/dist/mvt/workers/mvt-worker.d.ts.map +1 -0
  291. package/dist/mvt/workers/mvt-worker.js +7 -0
  292. package/dist/mvt/workers/mvt-worker.js.map +1 -0
  293. package/dist/mvt-worker-node.js +72460 -0
  294. package/dist/mvt-worker-node.js.map +7 -0
  295. package/dist/mvt-worker.js +21239 -0
  296. package/dist/pmtiles/bundled.d.ts +3 -0
  297. package/dist/pmtiles/bundled.d.ts.map +1 -0
  298. package/dist/pmtiles/bundled.js +5 -0
  299. package/dist/pmtiles/bundled.js.map +1 -0
  300. package/dist/pmtiles/dist.dev.js +50530 -0
  301. package/dist/pmtiles/dist.min.js +94 -0
  302. package/dist/pmtiles/geoarrow.cjs +6718 -0
  303. package/dist/pmtiles/geoarrow.cjs.map +6 -0
  304. package/dist/pmtiles/geoarrow.d.ts +30 -0
  305. package/dist/pmtiles/geoarrow.d.ts.map +1 -0
  306. package/dist/pmtiles/geoarrow.js +143 -0
  307. package/dist/pmtiles/geoarrow.js.map +1 -0
  308. package/dist/pmtiles/index.cjs +8011 -0
  309. package/dist/pmtiles/index.cjs.map +6 -0
  310. package/dist/pmtiles/index.d.ts +14 -0
  311. package/dist/pmtiles/index.d.ts.map +1 -0
  312. package/dist/pmtiles/index.js +10 -0
  313. package/dist/pmtiles/index.js.map +1 -0
  314. package/dist/pmtiles/lib/blob-source.d.ts +14 -0
  315. package/dist/pmtiles/lib/blob-source.d.ts.map +1 -0
  316. package/dist/pmtiles/lib/blob-source.js +32 -0
  317. package/dist/pmtiles/lib/blob-source.js.map +1 -0
  318. package/dist/pmtiles/lib/encode-pmtiles.d.ts +8 -0
  319. package/dist/pmtiles/lib/encode-pmtiles.d.ts.map +1 -0
  320. package/dist/pmtiles/lib/encode-pmtiles.js +268 -0
  321. package/dist/pmtiles/lib/encode-pmtiles.js.map +1 -0
  322. package/dist/pmtiles/lib/parse-pmtiles.d.ts +52 -0
  323. package/dist/pmtiles/lib/parse-pmtiles.d.ts.map +1 -0
  324. package/dist/pmtiles/lib/parse-pmtiles.js +95 -0
  325. package/dist/pmtiles/lib/parse-pmtiles.js.map +1 -0
  326. package/dist/pmtiles/lib/range-request-source.d.ts +24 -0
  327. package/dist/pmtiles/lib/range-request-source.d.ts.map +1 -0
  328. package/dist/pmtiles/lib/range-request-source.js +45 -0
  329. package/dist/pmtiles/lib/range-request-source.js.map +1 -0
  330. package/dist/pmtiles/lib/version.d.ts +2 -0
  331. package/dist/pmtiles/lib/version.d.ts.map +1 -0
  332. package/dist/pmtiles/lib/version.js +8 -0
  333. package/dist/pmtiles/lib/version.js.map +1 -0
  334. package/dist/pmtiles/pmtiles-format.d.ts +14 -0
  335. package/dist/pmtiles/pmtiles-format.d.ts.map +1 -0
  336. package/dist/pmtiles/pmtiles-format.js +17 -0
  337. package/dist/pmtiles/pmtiles-format.js.map +1 -0
  338. package/dist/pmtiles/pmtiles-loader-with-parser.d.ts +30 -0
  339. package/dist/pmtiles/pmtiles-loader-with-parser.d.ts.map +1 -0
  340. package/dist/pmtiles/pmtiles-loader-with-parser.js +41 -0
  341. package/dist/pmtiles/pmtiles-loader-with-parser.js.map +1 -0
  342. package/dist/pmtiles/pmtiles-loader.d.ts +41 -0
  343. package/dist/pmtiles/pmtiles-loader.d.ts.map +1 -0
  344. package/dist/pmtiles/pmtiles-loader.js +20 -0
  345. package/dist/pmtiles/pmtiles-loader.js.map +1 -0
  346. package/dist/pmtiles/pmtiles-source-loader.d.ts +85 -0
  347. package/dist/pmtiles/pmtiles-source-loader.d.ts.map +1 -0
  348. package/dist/pmtiles/pmtiles-source-loader.js +239 -0
  349. package/dist/pmtiles/pmtiles-source-loader.js.map +1 -0
  350. package/dist/pmtiles/pmtiles-writer-types.d.ts +39 -0
  351. package/dist/pmtiles/pmtiles-writer-types.d.ts.map +1 -0
  352. package/dist/pmtiles/pmtiles-writer-types.js +5 -0
  353. package/dist/pmtiles/pmtiles-writer-types.js.map +1 -0
  354. package/dist/pmtiles/pmtiles-writer.d.ts +22 -0
  355. package/dist/pmtiles/pmtiles-writer.d.ts.map +1 -0
  356. package/dist/pmtiles/pmtiles-writer.js +15 -0
  357. package/dist/pmtiles/pmtiles-writer.js.map +1 -0
  358. package/dist/pmtiles/raster.cjs +1183 -0
  359. package/dist/pmtiles/raster.cjs.map +6 -0
  360. package/dist/pmtiles/raster.d.ts +30 -0
  361. package/dist/pmtiles/raster.d.ts.map +1 -0
  362. package/dist/pmtiles/raster.js +212 -0
  363. package/dist/pmtiles/raster.js.map +1 -0
  364. package/dist/pmtiles/source-info.d.ts +25 -0
  365. package/dist/pmtiles/source-info.d.ts.map +1 -0
  366. package/dist/{types.js → pmtiles/source-info.js} +1 -1
  367. package/dist/pmtiles/source-info.js.map +1 -0
  368. package/dist/pmtiles/unbundled.d.ts +3 -0
  369. package/dist/pmtiles/unbundled.d.ts.map +1 -0
  370. package/dist/pmtiles/unbundled.js +5 -0
  371. package/dist/pmtiles/unbundled.js.map +1 -0
  372. package/dist/raster-set.d.ts +1 -1
  373. package/dist/raster-set.d.ts.map +1 -1
  374. package/dist/raster-set.js +1 -1
  375. package/dist/raster-set.js.map +1 -1
  376. package/dist/tile-matrix.cjs +81 -0
  377. package/dist/tile-matrix.cjs.map +6 -0
  378. package/dist/tile-matrix.d.ts +52 -0
  379. package/dist/tile-matrix.d.ts.map +1 -0
  380. package/dist/tile-matrix.js +75 -0
  381. package/dist/tile-matrix.js.map +1 -0
  382. package/dist/tileset-2d/tile-2d-header.d.ts +2 -2
  383. package/dist/tileset-2d/tile-2d-header.d.ts.map +1 -1
  384. package/dist/tileset-2d/tile-2d-header.js +11 -11
  385. package/dist/tileset-2d/tile-2d-header.js.map +1 -1
  386. package/dist/tileset-2d/tileset-2d.d.ts +19 -10
  387. package/dist/tileset-2d/tileset-2d.d.ts.map +1 -1
  388. package/dist/tileset-2d/tileset-2d.js +69 -15
  389. package/dist/tileset-2d/tileset-2d.js.map +1 -1
  390. package/dist/tileset-2d.d.ts +2 -1
  391. package/dist/tileset-2d.d.ts.map +1 -1
  392. package/dist/tileset-2d.js +1 -1
  393. package/dist/tileset-2d.js.map +1 -1
  394. package/package.json +104 -16
  395. package/src/image-set.ts +1 -1
  396. package/src/index.ts +9 -123
  397. package/src/mlt/bundled.ts +9 -0
  398. package/src/mlt/index.ts +18 -0
  399. package/src/mlt/lib/encode-mlt-geometry.ts +162 -0
  400. package/src/mlt/lib/encode-mlt-streams.ts +66 -0
  401. package/src/mlt/lib/encode-mlt.ts +215 -0
  402. package/src/mlt/lib/parse-mlt.ts +906 -0
  403. package/src/mlt/libs/mlt-decoder.cjs +4552 -0
  404. package/src/mlt/mlt-format.ts +19 -0
  405. package/src/mlt/mlt-loader-with-parser.ts +57 -0
  406. package/src/mlt/mlt-loader.ts +64 -0
  407. package/src/mlt/mlt-source-loader.ts +266 -0
  408. package/src/mlt/mlt-writer.ts +47 -0
  409. package/src/mlt/unbundled.ts +6 -0
  410. package/src/mvt/arrow-table-tile-source-loader-types.ts +55 -0
  411. package/src/mvt/arrow-table-tile-source-loader.ts +307 -0
  412. package/src/mvt/arrow-table-tile-source-types.ts +32 -0
  413. package/src/mvt/bundled.ts +14 -0
  414. package/src/mvt/index.ts +67 -0
  415. package/src/mvt/lib/encode-mvt-arrow.ts +273 -0
  416. package/src/mvt/lib/encode-mvt.ts +46 -0
  417. package/src/mvt/lib/get-schemas-from-tilejson.ts +64 -0
  418. package/src/mvt/lib/is-longitude-latitude-crs.ts +15 -0
  419. package/src/mvt/lib/mapbox-vt-pbf/geojson-to-vt.ts.disabled +76 -0
  420. package/src/mvt/lib/mapbox-vt-pbf/geojson-wrapper.ts +89 -0
  421. package/src/mvt/lib/mapbox-vt-pbf/to-vector-tile.ts +230 -0
  422. package/src/mvt/lib/mvt-pbf/mvt-constants.ts +135 -0
  423. package/src/mvt/lib/mvt-pbf/mvt-types.ts +22 -0
  424. package/src/mvt/lib/mvt-pbf/parse-geometry-from-pbf.ts +285 -0
  425. package/src/mvt/lib/mvt-pbf/parse-mvt-from-pbf.ts +310 -0
  426. package/src/mvt/lib/mvt-pbf/write-mvt-to-pbf.ts +162 -0
  427. package/src/mvt/lib/mvt-worker-transport.ts +74 -0
  428. package/src/mvt/lib/parse-mvt-geojson.ts +65 -0
  429. package/src/mvt/lib/parse-mvt.ts +145 -0
  430. package/src/mvt/lib/parse-tilejson.ts +397 -0
  431. package/src/mvt/lib/resolve-table-tile-parameters.ts +23 -0
  432. package/src/mvt/lib/types.ts +90 -0
  433. package/src/mvt/lib/utils/geometry-utils.ts +238 -0
  434. package/src/mvt/lib/vector-tile/LICENSE.txt +31 -0
  435. package/src/mvt/lib/vector-tile/vector-tile-feature.ts +430 -0
  436. package/src/mvt/lib/vector-tile/vector-tile-layer.ts +130 -0
  437. package/src/mvt/lib/vector-tile/vector-tile.ts +32 -0
  438. package/src/mvt/lib/vector-tiler/LICENSE +19 -0
  439. package/src/mvt/lib/vector-tiler/arrow-tile.ts +93 -0
  440. package/src/mvt/lib/vector-tiler/features/clip-features.ts +250 -0
  441. package/src/mvt/lib/vector-tiler/features/convert-feature.ts +213 -0
  442. package/src/mvt/lib/vector-tiler/features/proto-feature.ts +104 -0
  443. package/src/mvt/lib/vector-tiler/features/simplify-path.ts +84 -0
  444. package/src/mvt/lib/vector-tiler/features/wrap-features.ts +125 -0
  445. package/src/mvt/lib/vector-tiler/proto-tile.ts +217 -0
  446. package/src/mvt/lib/vector-tiler/tile-to-geojson.ts +104 -0
  447. package/src/mvt/lib/vector-tiler/transform-tile.ts +57 -0
  448. package/src/mvt/map-style-format.ts +18 -0
  449. package/src/mvt/map-style-loader-with-parser.ts +62 -0
  450. package/src/mvt/map-style-loader.ts +31 -0
  451. package/src/mvt/map-style-schema.ts +53 -0
  452. package/src/mvt/map-style.ts +218 -0
  453. package/src/mvt/mvt-format.ts +25 -0
  454. package/src/mvt/mvt-geojson-loader-types.ts +60 -0
  455. package/src/mvt/mvt-geojson-loader.ts +20 -0
  456. package/src/mvt/mvt-loader-with-parser.ts +53 -0
  457. package/src/mvt/mvt-loader.ts +73 -0
  458. package/src/mvt/mvt-source-loader.ts +410 -0
  459. package/src/mvt/mvt-writer.ts +35 -0
  460. package/src/mvt/table-tile-source-loader.ts +672 -0
  461. package/src/mvt/tilejson-format.ts +18 -0
  462. package/src/mvt/tilejson-loader-with-parser.ts +38 -0
  463. package/src/mvt/tilejson-loader.ts +42 -0
  464. package/src/mvt/tilejson-zod-schema.ts +199 -0
  465. package/src/mvt/unbundled.ts +13 -0
  466. package/src/mvt/workers/mvt-worker-node.ts +9 -0
  467. package/src/mvt/workers/mvt-worker.ts +8 -0
  468. package/src/pmtiles/bundled.ts +6 -0
  469. package/src/pmtiles/geoarrow.ts +188 -0
  470. package/src/pmtiles/index.ts +27 -0
  471. package/src/pmtiles/lib/blob-source.ts +41 -0
  472. package/src/pmtiles/lib/encode-pmtiles.ts +322 -0
  473. package/src/pmtiles/lib/parse-pmtiles.ts +180 -0
  474. package/src/pmtiles/lib/range-request-source.ts +60 -0
  475. package/src/pmtiles/lib/version.ts +8 -0
  476. package/src/pmtiles/pmtiles-format.ts +19 -0
  477. package/src/pmtiles/pmtiles-loader-with-parser.ts +60 -0
  478. package/src/pmtiles/pmtiles-loader.ts +30 -0
  479. package/src/pmtiles/pmtiles-source-loader.ts +346 -0
  480. package/src/pmtiles/pmtiles-writer-types.ts +45 -0
  481. package/src/pmtiles/pmtiles-writer.ts +26 -0
  482. package/src/pmtiles/raster.ts +289 -0
  483. package/src/pmtiles/source-info.ts +25 -0
  484. package/src/pmtiles/unbundled.ts +6 -0
  485. package/src/raster-set.ts +2 -2
  486. package/src/tile-matrix.ts +138 -0
  487. package/src/tileset-2d/tile-2d-header.ts +14 -13
  488. package/src/tileset-2d/tileset-2d.ts +81 -19
  489. package/src/tileset-2d.ts +25 -1
  490. package/dist/constants.d.ts +0 -38
  491. package/dist/constants.d.ts.map +0 -1
  492. package/dist/constants.js +0 -39
  493. package/dist/constants.js.map +0 -1
  494. package/dist/point-cloud/point-cloud-tile.d.ts +0 -47
  495. package/dist/point-cloud/point-cloud-tile.d.ts.map +0 -1
  496. package/dist/point-cloud/point-cloud-tile.js +0 -70
  497. package/dist/point-cloud/point-cloud-tile.js.map +0 -1
  498. package/dist/point-cloud/point-cloud-tileset.d.ts +0 -135
  499. package/dist/point-cloud/point-cloud-tileset.d.ts.map +0 -1
  500. package/dist/point-cloud/point-cloud-tileset.js +0 -549
  501. package/dist/point-cloud/point-cloud-tileset.js.map +0 -1
  502. package/dist/point-cloud/types.d.ts +0 -81
  503. package/dist/point-cloud/types.d.ts.map +0 -1
  504. package/dist/point-cloud/types.js.map +0 -1
  505. package/dist/spatial/format-spatial-reference.d.ts +0 -68
  506. package/dist/spatial/format-spatial-reference.d.ts.map +0 -1
  507. package/dist/spatial/format-spatial-reference.js +0 -291
  508. package/dist/spatial/format-spatial-reference.js.map +0 -1
  509. package/dist/spatial/get-spatial-coordinate-frame.d.ts +0 -20
  510. package/dist/spatial/get-spatial-coordinate-frame.d.ts.map +0 -1
  511. package/dist/spatial/get-spatial-coordinate-frame.js +0 -139
  512. package/dist/spatial/get-spatial-coordinate-frame.js.map +0 -1
  513. package/dist/spatial/i3s-elevation.d.ts +0 -20
  514. package/dist/spatial/i3s-elevation.d.ts.map +0 -1
  515. package/dist/spatial/i3s-elevation.js +0 -90
  516. package/dist/spatial/i3s-elevation.js.map +0 -1
  517. package/dist/spatial/i3s-spatial-transformer.d.ts +0 -205
  518. package/dist/spatial/i3s-spatial-transformer.d.ts.map +0 -1
  519. package/dist/spatial/i3s-spatial-transformer.js +0 -731
  520. package/dist/spatial/i3s-spatial-transformer.js.map +0 -1
  521. package/dist/spatial/normalize-crs-identifier.d.ts +0 -15
  522. package/dist/spatial/normalize-crs-identifier.d.ts.map +0 -1
  523. package/dist/spatial/normalize-crs-identifier.js +0 -22
  524. package/dist/spatial/normalize-crs-identifier.js.map +0 -1
  525. package/dist/spatial/spatial-coordinate-transformer.d.ts +0 -52
  526. package/dist/spatial/spatial-coordinate-transformer.d.ts.map +0 -1
  527. package/dist/spatial/spatial-coordinate-transformer.js +0 -295
  528. package/dist/spatial/spatial-coordinate-transformer.js.map +0 -1
  529. package/dist/spatial/spatial-resource-registry.d.ts +0 -47
  530. package/dist/spatial/spatial-resource-registry.d.ts.map +0 -1
  531. package/dist/spatial/spatial-resource-registry.js +0 -76
  532. package/dist/spatial/spatial-resource-registry.js.map +0 -1
  533. package/dist/spatial/spatial-types.d.ts +0 -190
  534. package/dist/spatial/spatial-types.d.ts.map +0 -1
  535. package/dist/spatial/spatial-types.js +0 -192
  536. package/dist/spatial/spatial-types.js.map +0 -1
  537. package/dist/spatial/tiles-3d-spatial-transformer.d.ts +0 -32
  538. package/dist/spatial/tiles-3d-spatial-transformer.d.ts.map +0 -1
  539. package/dist/spatial/tiles-3d-spatial-transformer.js +0 -163
  540. package/dist/spatial/tiles-3d-spatial-transformer.js.map +0 -1
  541. package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts +0 -60
  542. package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts.map +0 -1
  543. package/dist/tileset-3d/common/indexed-archive-tileset-source.js +0 -130
  544. package/dist/tileset-3d/common/indexed-archive-tileset-source.js.map +0 -1
  545. package/dist/tileset-3d/common/tile-3d-contracts.d.ts +0 -63
  546. package/dist/tileset-3d/common/tile-3d-contracts.d.ts.map +0 -1
  547. package/dist/tileset-3d/common/tile-3d-contracts.js +0 -51
  548. package/dist/tileset-3d/common/tile-3d-contracts.js.map +0 -1
  549. package/dist/tileset-3d/common/tile-3d.d.ts +0 -410
  550. package/dist/tileset-3d/common/tile-3d.d.ts.map +0 -1
  551. package/dist/tileset-3d/common/tile-3d.js +0 -1056
  552. package/dist/tileset-3d/common/tile-3d.js.map +0 -1
  553. package/dist/tileset-3d/common/tileset-3d.d.ts +0 -367
  554. package/dist/tileset-3d/common/tileset-3d.d.ts.map +0 -1
  555. package/dist/tileset-3d/common/tileset-3d.js +0 -879
  556. package/dist/tileset-3d/common/tileset-3d.js.map +0 -1
  557. package/dist/tileset-3d/common/tileset-cache.d.ts +0 -29
  558. package/dist/tileset-3d/common/tileset-cache.d.ts.map +0 -1
  559. package/dist/tileset-3d/common/tileset-cache.js +0 -82
  560. package/dist/tileset-3d/common/tileset-cache.js.map +0 -1
  561. package/dist/tileset-3d/common/tileset-content-traversal.d.ts +0 -37
  562. package/dist/tileset-3d/common/tileset-content-traversal.d.ts.map +0 -1
  563. package/dist/tileset-3d/common/tileset-content-traversal.js +0 -80
  564. package/dist/tileset-3d/common/tileset-content-traversal.js.map +0 -1
  565. package/dist/tileset-3d/common/tileset-observability.d.ts +0 -60
  566. package/dist/tileset-3d/common/tileset-observability.d.ts.map +0 -1
  567. package/dist/tileset-3d/common/tileset-observability.js +0 -39
  568. package/dist/tileset-3d/common/tileset-observability.js.map +0 -1
  569. package/dist/tileset-3d/common/tileset-source.d.ts +0 -228
  570. package/dist/tileset-3d/common/tileset-source.d.ts.map +0 -1
  571. package/dist/tileset-3d/common/tileset-source.js +0 -17
  572. package/dist/tileset-3d/common/tileset-source.js.map +0 -1
  573. package/dist/tileset-3d/common/tileset-traverser.d.ts +0 -88
  574. package/dist/tileset-3d/common/tileset-traverser.d.ts.map +0 -1
  575. package/dist/tileset-3d/common/tileset-traverser.js +0 -341
  576. package/dist/tileset-3d/common/tileset-traverser.js.map +0 -1
  577. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts +0 -182
  578. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts.map +0 -1
  579. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js +0 -681
  580. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js.map +0 -1
  581. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts +0 -221
  582. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts.map +0 -1
  583. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js +0 -770
  584. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js.map +0 -1
  585. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts +0 -111
  586. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts.map +0 -1
  587. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js +0 -339
  588. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js.map +0 -1
  589. package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.d.ts +0 -27
  590. package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.d.ts.map +0 -1
  591. package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.js +0 -45
  592. package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.js.map +0 -1
  593. package/dist/tileset-3d/format-i3s/i3s-source.d.ts +0 -116
  594. package/dist/tileset-3d/format-i3s/i3s-source.d.ts.map +0 -1
  595. package/dist/tileset-3d/format-i3s/i3s-source.js +0 -450
  596. package/dist/tileset-3d/format-i3s/i3s-source.js.map +0 -1
  597. package/dist/tileset-3d/format-i3s/i3s-tile-manager.d.ts +0 -34
  598. package/dist/tileset-3d/format-i3s/i3s-tile-manager.d.ts.map +0 -1
  599. package/dist/tileset-3d/format-i3s/i3s-tile-manager.js +0 -81
  600. package/dist/tileset-3d/format-i3s/i3s-tile-manager.js.map +0 -1
  601. package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.d.ts +0 -25
  602. package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.d.ts.map +0 -1
  603. package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js +0 -84
  604. package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js.map +0 -1
  605. package/dist/tileset-3d/helpers/3d-tiles-options.d.ts +0 -5
  606. package/dist/tileset-3d/helpers/3d-tiles-options.d.ts.map +0 -1
  607. package/dist/tileset-3d/helpers/3d-tiles-options.js +0 -9
  608. package/dist/tileset-3d/helpers/3d-tiles-options.js.map +0 -1
  609. package/dist/tileset-3d/helpers/bounding-volume.d.ts +0 -23
  610. package/dist/tileset-3d/helpers/bounding-volume.d.ts.map +0 -1
  611. package/dist/tileset-3d/helpers/bounding-volume.js +0 -236
  612. package/dist/tileset-3d/helpers/bounding-volume.js.map +0 -1
  613. package/dist/tileset-3d/helpers/frame-state.d.ts +0 -93
  614. package/dist/tileset-3d/helpers/frame-state.d.ts.map +0 -1
  615. package/dist/tileset-3d/helpers/frame-state.js +0 -211
  616. package/dist/tileset-3d/helpers/frame-state.js.map +0 -1
  617. package/dist/tileset-3d/helpers/i3s-lod.d.ts +0 -20
  618. package/dist/tileset-3d/helpers/i3s-lod.d.ts.map +0 -1
  619. package/dist/tileset-3d/helpers/i3s-lod.js +0 -95
  620. package/dist/tileset-3d/helpers/i3s-lod.js.map +0 -1
  621. package/dist/tileset-3d/helpers/s2-bounding-volume.d.ts +0 -17
  622. package/dist/tileset-3d/helpers/s2-bounding-volume.d.ts.map +0 -1
  623. package/dist/tileset-3d/helpers/s2-bounding-volume.js +0 -20
  624. package/dist/tileset-3d/helpers/s2-bounding-volume.js.map +0 -1
  625. package/dist/tileset-3d/helpers/tiles-3d-lod.d.ts +0 -72
  626. package/dist/tileset-3d/helpers/tiles-3d-lod.d.ts.map +0 -1
  627. package/dist/tileset-3d/helpers/tiles-3d-lod.js +0 -257
  628. package/dist/tileset-3d/helpers/tiles-3d-lod.js.map +0 -1
  629. package/dist/tileset-3d/helpers/tiles-3d-request-priority.d.ts +0 -134
  630. package/dist/tileset-3d/helpers/tiles-3d-request-priority.d.ts.map +0 -1
  631. package/dist/tileset-3d/helpers/tiles-3d-request-priority.js +0 -179
  632. package/dist/tileset-3d/helpers/tiles-3d-request-priority.js.map +0 -1
  633. package/dist/tileset-3d/helpers/transform-utils.d.ts +0 -3
  634. package/dist/tileset-3d/helpers/transform-utils.d.ts.map +0 -1
  635. package/dist/tileset-3d/helpers/transform-utils.js +0 -86
  636. package/dist/tileset-3d/helpers/transform-utils.js.map +0 -1
  637. package/dist/tileset-3d/helpers/zoom.d.ts +0 -46
  638. package/dist/tileset-3d/helpers/zoom.d.ts.map +0 -1
  639. package/dist/tileset-3d/helpers/zoom.js +0 -86
  640. package/dist/tileset-3d/helpers/zoom.js.map +0 -1
  641. package/dist/types.d.ts +0 -48
  642. package/dist/types.d.ts.map +0 -1
  643. package/dist/types.js.map +0 -1
  644. package/dist/utils/doubly-linked-list-node.d.ts +0 -11
  645. package/dist/utils/doubly-linked-list-node.d.ts.map +0 -1
  646. package/dist/utils/doubly-linked-list-node.js +0 -20
  647. package/dist/utils/doubly-linked-list-node.js.map +0 -1
  648. package/dist/utils/doubly-linked-list.d.ts +0 -30
  649. package/dist/utils/doubly-linked-list.d.ts.map +0 -1
  650. package/dist/utils/doubly-linked-list.js +0 -93
  651. package/dist/utils/doubly-linked-list.js.map +0 -1
  652. package/dist/utils/managed-array.d.ts +0 -85
  653. package/dist/utils/managed-array.d.ts.map +0 -1
  654. package/dist/utils/managed-array.js +0 -152
  655. package/dist/utils/managed-array.js.map +0 -1
  656. package/src/constants.ts +0 -59
  657. package/src/point-cloud/point-cloud-tile.ts +0 -80
  658. package/src/point-cloud/point-cloud-tileset.ts +0 -767
  659. package/src/point-cloud/types.ts +0 -99
  660. package/src/spatial/format-spatial-reference.ts +0 -385
  661. package/src/spatial/get-spatial-coordinate-frame.ts +0 -169
  662. package/src/spatial/i3s-elevation.ts +0 -96
  663. package/src/spatial/i3s-spatial-transformer.ts +0 -1021
  664. package/src/spatial/normalize-crs-identifier.ts +0 -26
  665. package/src/spatial/spatial-coordinate-transformer.ts +0 -377
  666. package/src/spatial/spatial-resource-registry.ts +0 -90
  667. package/src/spatial/spatial-types.ts +0 -422
  668. package/src/spatial/tiles-3d-spatial-transformer.ts +0 -194
  669. package/src/tileset-3d/common/indexed-archive-tileset-source.ts +0 -205
  670. package/src/tileset-3d/common/tile-3d-contracts.ts +0 -115
  671. package/src/tileset-3d/common/tile-3d.ts +0 -1310
  672. package/src/tileset-3d/common/tileset-3d.ts +0 -1208
  673. package/src/tileset-3d/common/tileset-cache.ts +0 -111
  674. package/src/tileset-3d/common/tileset-content-traversal.ts +0 -114
  675. package/src/tileset-3d/common/tileset-observability.ts +0 -100
  676. package/src/tileset-3d/common/tileset-source.ts +0 -284
  677. package/src/tileset-3d/common/tileset-traverser.ts +0 -416
  678. package/src/tileset-3d/format-3d-tiles/implicit-tiling.ts +0 -1059
  679. package/src/tileset-3d/format-3d-tiles/tiles-3d-source.ts +0 -1025
  680. package/src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts +0 -391
  681. package/src/tileset-3d/format-i3s/i3s-pending-tiles-register.ts +0 -48
  682. package/src/tileset-3d/format-i3s/i3s-source.ts +0 -557
  683. package/src/tileset-3d/format-i3s/i3s-tile-manager.ts +0 -105
  684. package/src/tileset-3d/format-i3s/i3s-tileset-traverser.ts +0 -102
  685. package/src/tileset-3d/helpers/3d-tiles-options.ts +0 -11
  686. package/src/tileset-3d/helpers/bounding-volume.ts +0 -281
  687. package/src/tileset-3d/helpers/frame-state.ts +0 -322
  688. package/src/tileset-3d/helpers/i3s-lod.ts +0 -109
  689. package/src/tileset-3d/helpers/s2-bounding-volume.ts +0 -35
  690. package/src/tileset-3d/helpers/tiles-3d-lod.ts +0 -370
  691. package/src/tileset-3d/helpers/tiles-3d-request-priority.ts +0 -301
  692. package/src/tileset-3d/helpers/transform-utils.ts +0 -109
  693. package/src/tileset-3d/helpers/zoom.ts +0 -120
  694. package/src/types.ts +0 -54
  695. package/src/utils/doubly-linked-list-node.ts +0 -22
  696. package/src/utils/doubly-linked-list.ts +0 -105
  697. package/src/utils/managed-array.ts +0 -174
  698. /package/dist/{point-cloud → mvt/lib}/types.js +0 -0
@@ -1,557 +0,0 @@
1
- // loaders.gl
2
- // SPDX-License-Identifier: MIT
3
- // Copyright (c) vis.gl contributors
4
-
5
- import {path} from '@loaders.gl/loader-utils';
6
- import {Ellipsoid} from '@math.gl/geospatial';
7
- import {Vector3} from '@math.gl/core';
8
- import type {CoreAPI, Loader, LoaderOptions} from '@loaders.gl/loader-utils';
9
- import type {Tile3D} from '../common/tile-3d';
10
- import {Tile3D as Tile3DNode} from '../common/tile-3d';
11
- import type {Tile3DContent} from '../common/tile-3d-contracts';
12
- import {I3STilesetTraverser} from './i3s-tileset-traverser';
13
- import type {Tileset3D} from '../common/tileset-3d';
14
- import type {FrameState} from '../helpers/frame-state';
15
- import type {
16
- TileChildrenLoadResult,
17
- TileContentLoadResult,
18
- TilesetContentFormats,
19
- TilesetJSON,
20
- Tileset3DSource,
21
- TilesetSourceInput,
22
- TilesetSourceMetadata,
23
- TilesetSourceRequest,
24
- TilesetSourceResolver,
25
- TilesetSourceViewState
26
- } from '../common/tileset-source';
27
- import {getZoomFromExtent, getZoomFromFullExtent} from '../helpers/zoom';
28
- import {TILESET_TYPE} from '../../constants';
29
- import type {TilesetTraverser, TilesetTraverserProps} from '../common/tileset-traverser';
30
- import {getI3SSpatialReference} from '../../spatial/format-spatial-reference';
31
- import {I3SSpatialTransformer} from '../../spatial/i3s-spatial-transformer';
32
-
33
- const EMPTY_CONTENT_FORMATS: TilesetContentFormats = {
34
- draco: false,
35
- meshopt: false,
36
- dds: false,
37
- ktx2: false
38
- };
39
-
40
- /**
41
- * {@link Tileset3DSource} implementation for I3S datasets.
42
- */
43
- export class I3SSource implements Tileset3DSource {
44
- /** I3S format discriminator. */
45
- readonly type = TILESET_TYPE.I3S;
46
- /** Primary I3S loader used for root and child metadata requests. */
47
- readonly loader: Loader;
48
- /** Worker-capable loader used for binary tile content when supplied by the format loader. */
49
- readonly contentLoader: Loader;
50
- /** Root I3S layer URL. */
51
- readonly url: string;
52
- /** Base path used for relative tile resource resolution. */
53
- readonly basePath: string;
54
- /** Parsed I3S layer metadata. */
55
- tileset: TilesetJSON | null = null;
56
- /** Loader options forwarded to tile requests. */
57
- readonly loadOptions: LoaderOptions;
58
- /** Core API used for metadata and tile-content loads when injected by the caller. */
59
- coreApi?: CoreAPI;
60
- /** Aggregate content-format flags discovered during streaming. */
61
- readonly contentFormats: TilesetContentFormats = {...EMPTY_CONTENT_FORMATS};
62
-
63
- asset?: Record<string, any>;
64
- properties?: any;
65
- extras?: any;
66
- credits?: any;
67
- metadata?: TilesetSourceMetadata;
68
-
69
- private readonly queryParams: Record<string, string> = {};
70
- private readonly resolver?: TilesetSourceResolver;
71
- private rootTileset: TilesetJSON;
72
- /** Spatial adapter created lazily after Tileset3D applies target options. */
73
- private spatialTransformer?: I3SSpatialTransformer;
74
- /** Root header prepared after asynchronous elevation sampling. */
75
- private preparedRootHeader?: any;
76
-
77
- /**
78
- * Creates an I3S 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
- const request = normalizeI3SRequest(input);
84
- this.rootTileset = isTilesetRequest(input) ? null : input;
85
- this.tileset = this.rootTileset;
86
- this.loader = request.loader;
87
- this.contentLoader = getI3SContentLoader(request.loader);
88
- this.url = request.url;
89
- this.basePath = request.basePath || path.dirname(request.url);
90
- this.resolver = request.resolver;
91
- this.coreApi = request.coreApi;
92
- this.loadOptions = loadOptions;
93
- this.initializeQueryParams(loadOptions);
94
- }
95
-
96
- /**
97
- * Fetches and normalizes root I3S metadata for runtime consumption.
98
- */
99
- async initialize(): Promise<void> {
100
- if (!this.rootTileset) {
101
- this.rootTileset = await this.loadRootData(this.getTileUrl(this.url), {
102
- ...this.loadOptions,
103
- i3s: {...(this.loadOptions.i3s as Record<string, unknown>), isTileset: true}
104
- });
105
- }
106
- this.tileset = this.rootTileset;
107
-
108
- if (this.rootTileset.root && typeof this.rootTileset.root.then === 'function') {
109
- this.rootTileset.root = await this.rootTileset.root;
110
- }
111
-
112
- this.metadata = {
113
- type: this.type,
114
- loader: this.loader,
115
- url: this.url,
116
- basePath: this.basePath,
117
- tileset: this.rootTileset,
118
- lodMetricType: this.rootTileset.lodMetricType,
119
- lodMetricValue: this.rootTileset.lodMetricValue,
120
- refine: this.rootTileset.root?.refine,
121
- spatialReference: getI3SSpatialReference(this.rootTileset)
122
- };
123
- }
124
-
125
- /**
126
- * Returns normalized source metadata after initialization.
127
- */
128
- getMetadata(): TilesetSourceMetadata {
129
- if (!this.metadata) {
130
- throw new Error('I3SSource has not been initialized');
131
- }
132
- return this.metadata;
133
- }
134
-
135
- /**
136
- * Returns the initialized I3S root metadata.
137
- */
138
- async getRootTileset(): Promise<TilesetJSON> {
139
- return this.getMetadata().tileset;
140
- }
141
-
142
- /** Prepare option-dependent spatial state and the asynchronously placed root bound. */
143
- async prepareTileset(tileset: Tileset3D): Promise<void> {
144
- const spatialReference = tileset.spatialReference;
145
- if (spatialReference.status === 'unresolved') {
146
- throw new Error(
147
- spatialReference.warnings[0] ||
148
- 'I3S spatial operations cannot be resolved from the supplied metadata and options'
149
- );
150
- }
151
- if (spatialReference.status !== 'transformable' && spatialReference.status !== 'transformed') {
152
- return;
153
- }
154
- this.spatialTransformer ||= new I3SSpatialTransformer(
155
- spatialReference,
156
- tileset.options.spatial
157
- );
158
- tileset.spatialReference = this.spatialTransformer.spatialReference;
159
- this.preparedRootHeader = await this.transformTileHeader(this.getMetadata().tileset.root);
160
- }
161
-
162
- /**
163
- * Creates the runtime root tile for an I3S subtree.
164
- */
165
- initializeTileHeaders(
166
- tileset: Tileset3D,
167
- tilesetJson: TilesetJSON,
168
- parentTile?: Tile3D | null
169
- ): Tile3D {
170
- const rootHeader = parentTile ? tilesetJson.root : this.preparedRootHeader || tilesetJson.root;
171
- if (this.spatialTransformer && !this.preparedRootHeader) {
172
- throw new Error('I3S spatial root header was not prepared before tile initialization');
173
- }
174
- const rootTile = new Tile3DNode(tileset, rootHeader, parentTile || undefined);
175
- if (parentTile) {
176
- parentTile.children.push(rootTile);
177
- rootTile.depth = parentTile.depth + 1;
178
- }
179
- return rootTile;
180
- }
181
-
182
- /**
183
- * Creates the standard I3S traverser.
184
- */
185
- createTraverser(options: TilesetTraverserProps): TilesetTraverser {
186
- return new I3STilesetTraverser(options);
187
- }
188
-
189
- /**
190
- * Loads renderable content for an I3S tile.
191
- */
192
- async loadTileContent(tile: Tile3D): Promise<TileContentLoadResult> {
193
- const contentUrl = this.getTileUrl(tile.contentUrl);
194
- const loaderId = this.loader.id;
195
- const loaderOptions = (this.loadOptions[loaderId] as Record<string, unknown>) || {};
196
- const metadata = this.getMetadata();
197
- const options = {
198
- ...this.loadOptions,
199
- [loaderId]: {
200
- ...loaderOptions,
201
- ...tile.tileset.options.i3s,
202
- _tileOptions: {
203
- attributeUrls: tile.header.attributeUrls,
204
- textureUrl: tile.header.textureUrl,
205
- textureUrls: tile.header.textureUrls,
206
- textureFormat: tile.header.textureFormat,
207
- textureLoaderOptions: tile.header.textureLoaderOptions,
208
- materialDefinition: tile.header.materialDefinition,
209
- layerType: tile.header.layerType,
210
- pointRenderer: tile.header.pointRenderer,
211
- pointSymbol: tile.header.pointSymbol,
212
- isDracoGeometry: tile.header.isDracoGeometry,
213
- mbs: tile.header.mbs
214
- },
215
- _tilesetOptions: {
216
- store: metadata.tileset.store,
217
- attributeStorageInfo: metadata.tileset.attributeStorageInfo,
218
- fields: metadata.tileset.fields,
219
- spatialReference: tile.tileset.spatialReference,
220
- spatialOptions: tile.tileset.options.spatial
221
- },
222
- isTileHeader: false
223
- }
224
- };
225
-
226
- tile.content = await this.loadResourceData(contentUrl, options, this.contentLoader);
227
- const contentEntry: Tile3DContent = {
228
- index: 0,
229
- uri: tile.contentUrl,
230
- type: tile.header.layerType,
231
- payload: tile.content,
232
- metadata: tile.header.metadata || null,
233
- boundingVolume: tile.boundingVolume,
234
- featureIds: tile.featureIdSets,
235
- renderable: Boolean(tile.content)
236
- };
237
- return {loaded: true, contents: [tile.content], contentEntries: [contentEntry]};
238
- }
239
-
240
- /**
241
- * Loads child tile metadata on demand from node pages or `/nodes/{id}` resources.
242
- */
243
- async loadChildTileHeader(
244
- _parentTile: Tile3D,
245
- childId: string,
246
- _frameState: FrameState | null
247
- ): Promise<any> {
248
- const metadata = this.getMetadata();
249
- if (metadata.tileset.nodePages || metadata.tileset.pointNodePages) {
250
- const header = await metadata.tileset.nodePagesTile.formTileFromNodePages(childId);
251
- return await this.transformTileHeader(header);
252
- }
253
-
254
- const nodeUrl = this.getTileUrl(`${this.url}/nodes/${childId}`);
255
- const i3sLoaderOptions =
256
- this.loadOptions.i3s && typeof this.loadOptions.i3s === 'object'
257
- ? (this.loadOptions.i3s as Record<string, unknown>)
258
- : {};
259
- const options = {
260
- ...this.loadOptions,
261
- i3s: {
262
- ...i3sLoaderOptions,
263
- isTileHeader: true
264
- }
265
- };
266
-
267
- const header = await this.loadResourceData(nodeUrl, options);
268
- return await this.transformTileHeader(header);
269
- }
270
-
271
- /** Loads all declared I3S child headers without camera or visibility state. */
272
- async loadTileChildrenForTraversal(
273
- parentTile: Tile3D,
274
- signal?: AbortSignal
275
- ): Promise<TileChildrenLoadResult> {
276
- const childHeaders = parentTile.header.children || [];
277
- let loadedChildren = 0;
278
- const orderedChildren: Tile3D[] = [];
279
-
280
- for (const childHeader of childHeaders) {
281
- throwIfTraversalAborted(signal);
282
- const childId = childHeader.id;
283
- if (typeof childId !== 'string' && typeof childId !== 'number') {
284
- throw new Error('I3S child header is missing its node ID');
285
- }
286
- const existingChild = parentTile.children.find(
287
- tile => tile.id === String(childId) || tile.header?.id === childId
288
- );
289
- if (existingChild) {
290
- orderedChildren.push(existingChild);
291
- continue;
292
- }
293
-
294
- const childTileHeader = await this.loadChildTileHeader(parentTile, String(childId), null);
295
- throwIfTraversalAborted(signal);
296
- const childTile = new Tile3DNode(
297
- parentTile.tileset,
298
- childTileHeader,
299
- parentTile,
300
- String(childId)
301
- );
302
- orderedChildren.push(childTile);
303
- loadedChildren++;
304
- }
305
-
306
- const orderedChildSet = new Set(orderedChildren);
307
- parentTile.children = [
308
- ...orderedChildren,
309
- ...parentTile.children.filter(childTile => !orderedChildSet.has(childTile))
310
- ];
311
-
312
- return {loaded: true, tileCount: loadedChildren, childSubtreeCount: 0};
313
- }
314
-
315
- /**
316
- * Resolves an I3S request URL with source-managed query parameters.
317
- */
318
- getTileUrl(tilePath: string): string {
319
- if (tilePath.startsWith('data:')) {
320
- return tilePath;
321
- }
322
-
323
- if (!Object.keys(this.queryParams).length) {
324
- return tilePath;
325
- }
326
-
327
- const hashIndex = tilePath.indexOf('#');
328
- const hash = hashIndex >= 0 ? tilePath.slice(hashIndex) : '';
329
- const tilePathWithoutHash = hashIndex >= 0 ? tilePath.slice(0, hashIndex) : tilePath;
330
- const queryDelimiterIndex = tilePathWithoutHash.indexOf('?');
331
- const path =
332
- queryDelimiterIndex === -1
333
- ? tilePathWithoutHash
334
- : tilePathWithoutHash.slice(0, queryDelimiterIndex);
335
- const existingQuery =
336
- queryDelimiterIndex === -1 ? '' : tilePathWithoutHash.slice(queryDelimiterIndex + 1);
337
- const existingQueryParams = new URLSearchParams(existingQuery);
338
- const queryParams = new URLSearchParams();
339
- for (const [key, value] of Object.entries(this.queryParams)) {
340
- if (!existingQueryParams.has(key)) {
341
- queryParams.set(key, value);
342
- }
343
- }
344
-
345
- const queryString = queryParams.toString();
346
- return `${path}${existingQuery ? `?${existingQuery}` : ''}${
347
- queryString ? `${existingQuery ? '&' : '?'}${queryString}` : ''
348
- }${hash}`;
349
- }
350
-
351
- /**
352
- * Derives the default view state from full extent or store extent metadata.
353
- */
354
- getViewState(rootTile: Tile3D | null): TilesetSourceViewState {
355
- if (this.spatialTransformer && rootTile) {
356
- const center = new Vector3(rootTile.boundingVolume.center);
357
- const cartographicCenter = new Vector3(rootTile.header.i3sLodMbs.slice(0, 3));
358
- if (this.spatialTransformer.targetCoordinateFrame === 'geographic') {
359
- return {
360
- boundingVolume: rootTile.boundingVolume,
361
- cartographicCenter,
362
- cartesianCenter: center,
363
- zoom: 1
364
- };
365
- }
366
- return {
367
- boundingVolume: rootTile.boundingVolume,
368
- cartographicCenter,
369
- cartesianCenter: center,
370
- zoom: 1
371
- };
372
- }
373
- const metadata = this.getMetadata();
374
- const fullExtent = metadata.tileset.fullExtent;
375
- if (fullExtent) {
376
- const {xmin, xmax, ymin, ymax, zmin, zmax} = fullExtent;
377
- const cartographicCenter = new Vector3(
378
- xmin + (xmax - xmin) / 2,
379
- ymin + (ymax - ymin) / 2,
380
- zmin + (zmax - zmin) / 2
381
- );
382
- const cartesianCenter = new Vector3();
383
- Ellipsoid.WGS84.cartographicToCartesian(cartographicCenter, cartesianCenter);
384
- return {
385
- cartographicCenter,
386
- cartesianCenter,
387
- zoom: getZoomFromFullExtent(fullExtent, cartographicCenter, cartesianCenter)
388
- };
389
- }
390
-
391
- const extent = metadata.tileset.store?.extent;
392
- if (extent) {
393
- const [xmin, ymin, xmax, ymax] = extent;
394
- const cartographicCenter = new Vector3(xmin + (xmax - xmin) / 2, ymin + (ymax - ymin) / 2, 0);
395
- const cartesianCenter = new Vector3();
396
- Ellipsoid.WGS84.cartographicToCartesian(cartographicCenter, cartesianCenter);
397
- return {
398
- cartographicCenter,
399
- cartesianCenter,
400
- zoom: getZoomFromExtent(extent, cartographicCenter, cartesianCenter)
401
- };
402
- }
403
-
404
- console.warn('Extent is not defined in the tileset header');
405
- return {
406
- cartographicCenter: new Vector3(),
407
- zoom: 1
408
- };
409
- }
410
-
411
- /**
412
- * Updates content-format flags after tile content loads.
413
- */
414
- onTileLoaded(_tileset: Tileset3D, tile: Tile3D): void {
415
- if (tile.header.isDracoGeometry) {
416
- this.contentFormats.draco = true;
417
- }
418
-
419
- switch (tile.header.textureFormat) {
420
- case 'dds':
421
- this.contentFormats.dds = true;
422
- break;
423
- case 'ktx2':
424
- this.contentFormats.ktx2 = true;
425
- break;
426
- default:
427
- }
428
- }
429
-
430
- /**
431
- * Returns the total number of known tiles when node pages metadata is available.
432
- */
433
- getTilesTotalCount(): number | null {
434
- const metadata = this.getMetadata();
435
- return metadata.tileset?.nodePagesTile?.nodesInNodePages || null;
436
- }
437
-
438
- /**
439
- * Loads data through injected core APIs so this module stays independent from `@loaders.gl/core`.
440
- */
441
- private async loadWithCoreApi(
442
- url: string,
443
- options: LoaderOptions,
444
- loader: Loader = this.loader
445
- ): Promise<any> {
446
- if (!this.coreApi) {
447
- throw new Error('I3SSource requires an injected coreApi to load tileset data');
448
- }
449
-
450
- return await this.coreApi.load(url, loader, options);
451
- }
452
-
453
- /**
454
- * Loads data through an injected resolver when present, otherwise through the injected core API.
455
- */
456
- private async loadRootData(url: string, options: LoaderOptions): Promise<any> {
457
- if (this.resolver) {
458
- return await this.resolver.loadRoot(url, this.loader, options);
459
- }
460
-
461
- return await this.loadWithCoreApi(url, options);
462
- }
463
-
464
- /**
465
- * Initializes query parameters before any URL-backed resource is requested.
466
- * @param loadOptions Loader options that may contain an ArcGIS token.
467
- */
468
- private initializeQueryParams(loadOptions: LoaderOptions): void {
469
- for (const [key, value] of Object.entries(loadOptions.searchParams || {})) {
470
- this.queryParams[key] = String(value);
471
- }
472
-
473
- const i3sOptions = loadOptions.i3s;
474
- if (i3sOptions && typeof i3sOptions === 'object' && 'token' in i3sOptions) {
475
- const token = (i3sOptions as Record<string, unknown>).token;
476
- if (typeof token === 'string') {
477
- this.queryParams.token = token;
478
- }
479
- }
480
- }
481
-
482
- /**
483
- * Loads tile metadata or content through an injected resolver when present, otherwise through the injected core API.
484
- */
485
- private async loadResourceData(
486
- url: string,
487
- options: LoaderOptions,
488
- loader: Loader = this.loader
489
- ): Promise<any> {
490
- if (this.resolver) {
491
- return await this.resolver.loadResource(url, loader, options);
492
- }
493
-
494
- return await this.loadWithCoreApi(url, options, loader);
495
- }
496
-
497
- /** Transform one I3S header bound after target options and elevation providers are available. */
498
- private async transformTileHeader(header: any): Promise<any> {
499
- if (!this.spatialTransformer) {
500
- return header;
501
- }
502
- const sourceBounds = {
503
- mbs: header.mbs,
504
- obb: header.obb,
505
- normalReferenceFrame: this.getMetadata().tileset.store?.normalReferenceFrame
506
- };
507
- const transformedBounds = await this.spatialTransformer.transformBoundsAsync(sourceBounds);
508
- return {
509
- ...header,
510
- // Tileset3D traversal and culling operate in WGS84 ECEF independently of content output.
511
- boundingVolume: transformedBounds.boundingVolume,
512
- // Preserve the renderer/output-frame bound for applications and content coordination.
513
- spatialBoundingVolume: transformedBounds.spatialBoundingVolume,
514
- i3sLodMbs: transformedBounds.i3sLodMbs
515
- };
516
- }
517
- }
518
-
519
- /** Throws a cancellation reason before or after source-managed traversal work. */
520
- function throwIfTraversalAborted(signal?: AbortSignal): void {
521
- if (signal?.aborted) {
522
- throw signal.reason ?? new DOMException('The operation was aborted', 'AbortError');
523
- }
524
- }
525
-
526
- /** Returns the format-provided binary content loader, falling back for custom legacy loaders. */
527
- function getI3SContentLoader(loader: Loader): Loader {
528
- return (loader as Loader & {contentLoader?: Loader}).contentLoader || loader;
529
- }
530
-
531
- function isTilesetRequest(input: TilesetSourceInput): input is TilesetSourceRequest {
532
- return Boolean(
533
- input && typeof input === 'object' && 'url' in input && 'loader' in input && !('type' in input)
534
- );
535
- }
536
-
537
- /**
538
- * Normalizes constructor input into a URL request descriptor.
539
- * @param input Constructor input for {@link I3SSource}.
540
- * @returns A normalized request with a resolved base path.
541
- */
542
- function normalizeI3SRequest(input: TilesetSourceInput): TilesetSourceRequest {
543
- if (isTilesetRequest(input)) {
544
- return {
545
- ...input,
546
- basePath: input.basePath || path.dirname(input.url)
547
- };
548
- }
549
-
550
- return {
551
- url: input.url,
552
- loader: input.loader,
553
- basePath: input.basePath || path.dirname(input.url),
554
- resolver: (input as TilesetSourceRequest).resolver,
555
- coreApi: (input as TilesetSourceRequest).coreApi
556
- };
557
- }
@@ -1,105 +0,0 @@
1
- // loaders.gl
2
- // SPDX-License-Identifier: MIT
3
- // Copyright (c) vis.gl contributors
4
-
5
- import {FrameState} from '../helpers/frame-state';
6
- import {I3SPendingTilesRegister} from './i3s-pending-tiles-register';
7
-
8
- const STATUS = {
9
- REQUESTED: 'REQUESTED',
10
- COMPLETED: 'COMPLETED',
11
- ERROR: 'ERROR'
12
- };
13
-
14
- // A helper class to manage tile metadata fetching
15
- export class I3STileManager {
16
- private _statusMap: object;
17
- private pendingTilesRegister = new I3SPendingTilesRegister();
18
-
19
- constructor() {
20
- this._statusMap = {};
21
- }
22
-
23
- /**
24
- * Add request to map
25
- * @param request - node metadata request
26
- * @param key - unique key
27
- * @param callback - callback after request completed
28
- * @param frameState - frameState data
29
- */
30
- add(request, key, callback, frameState: FrameState) {
31
- if (!this._statusMap[key]) {
32
- const {
33
- frameNumber,
34
- viewport: {id}
35
- } = frameState;
36
- this._statusMap[key] = {request, callback, key, frameState, status: STATUS.REQUESTED};
37
- // Register pending request for the frameNumber
38
- this.pendingTilesRegister.register(id, frameNumber);
39
- request()
40
- .then(data => {
41
- this._statusMap[key].status = STATUS.COMPLETED;
42
- const {
43
- frameNumber: actualFrameNumber,
44
- viewport: {id}
45
- } = this._statusMap[key].frameState;
46
- // Deregister pending request for the frameNumber
47
- this.pendingTilesRegister.deregister(id, actualFrameNumber);
48
- this._statusMap[key].callback(data, frameState);
49
- })
50
- .catch(error => {
51
- this._statusMap[key].status = STATUS.ERROR;
52
- const {
53
- frameNumber: actualFrameNumber,
54
- viewport: {id}
55
- } = this._statusMap[key].frameState;
56
- // Deregister pending request for the frameNumber
57
- this.pendingTilesRegister.deregister(id, actualFrameNumber);
58
- callback(error);
59
- });
60
- }
61
- }
62
-
63
- /**
64
- * Update request if it is still actual for the new frameState
65
- * @param key - unique key
66
- * @param frameState - frameState data
67
- */
68
- update(key, frameState: FrameState) {
69
- if (this._statusMap[key]) {
70
- // Deregister pending request for the old frameNumber
71
- const {
72
- frameNumber,
73
- viewport: {id}
74
- } = this._statusMap[key].frameState;
75
- this.pendingTilesRegister.deregister(id, frameNumber);
76
-
77
- // Register pending request for the new frameNumber
78
- const {
79
- frameNumber: newFrameNumber,
80
- viewport: {id: newViewportId}
81
- } = frameState;
82
- this.pendingTilesRegister.register(newViewportId, newFrameNumber);
83
- this._statusMap[key].frameState = frameState;
84
- }
85
- }
86
-
87
- /**
88
- * Find request in the map
89
- * @param key - unique key
90
- * @returns
91
- */
92
- find(key) {
93
- return this._statusMap[key];
94
- }
95
-
96
- /**
97
- * Check it there are pending tile headers for the particular frameNumber
98
- * @param viewportId
99
- * @param frameNumber
100
- * @returns
101
- */
102
- hasPendingTiles(viewportId: string, frameNumber: number): boolean {
103
- return !this.pendingTilesRegister.isZero(viewportId, frameNumber);
104
- }
105
- }