@loaders.gl/tiles 5.0.0-alpha.12 → 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 (716) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +18 -72
  3. package/dist/dist.dev.js +6979 -42928
  4. package/dist/dist.min.js +3 -22
  5. package/dist/image-set.d.ts +1 -1
  6. package/dist/image-set.d.ts.map +1 -1
  7. package/dist/index.cjs +2847 -8781
  8. package/dist/index.cjs.map +3 -4
  9. package/dist/index.d.ts +4 -45
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +3 -27
  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/{point-cloud-tile-source-types.js → pmtiles/pmtiles-writer-types.js} +1 -1
  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/package.json +101 -25
  391. package/src/image-set.ts +1 -1
  392. package/src/index.ts +8 -128
  393. package/src/mlt/bundled.ts +9 -0
  394. package/src/mlt/index.ts +18 -0
  395. package/src/mlt/lib/encode-mlt-geometry.ts +162 -0
  396. package/src/mlt/lib/encode-mlt-streams.ts +66 -0
  397. package/src/mlt/lib/encode-mlt.ts +215 -0
  398. package/src/mlt/lib/parse-mlt.ts +906 -0
  399. package/src/mlt/libs/mlt-decoder.cjs +4552 -0
  400. package/src/mlt/mlt-format.ts +19 -0
  401. package/src/mlt/mlt-loader-with-parser.ts +57 -0
  402. package/src/mlt/mlt-loader.ts +64 -0
  403. package/src/mlt/mlt-source-loader.ts +266 -0
  404. package/src/mlt/mlt-writer.ts +47 -0
  405. package/src/mlt/unbundled.ts +6 -0
  406. package/src/mvt/arrow-table-tile-source-loader-types.ts +55 -0
  407. package/src/mvt/arrow-table-tile-source-loader.ts +307 -0
  408. package/src/mvt/arrow-table-tile-source-types.ts +32 -0
  409. package/src/mvt/bundled.ts +14 -0
  410. package/src/mvt/index.ts +67 -0
  411. package/src/mvt/lib/encode-mvt-arrow.ts +273 -0
  412. package/src/mvt/lib/encode-mvt.ts +46 -0
  413. package/src/mvt/lib/get-schemas-from-tilejson.ts +64 -0
  414. package/src/mvt/lib/is-longitude-latitude-crs.ts +15 -0
  415. package/src/mvt/lib/mapbox-vt-pbf/geojson-to-vt.ts.disabled +76 -0
  416. package/src/mvt/lib/mapbox-vt-pbf/geojson-wrapper.ts +89 -0
  417. package/src/mvt/lib/mapbox-vt-pbf/to-vector-tile.ts +230 -0
  418. package/src/mvt/lib/mvt-pbf/mvt-constants.ts +135 -0
  419. package/src/mvt/lib/mvt-pbf/mvt-types.ts +22 -0
  420. package/src/mvt/lib/mvt-pbf/parse-geometry-from-pbf.ts +285 -0
  421. package/src/mvt/lib/mvt-pbf/parse-mvt-from-pbf.ts +310 -0
  422. package/src/mvt/lib/mvt-pbf/write-mvt-to-pbf.ts +162 -0
  423. package/src/mvt/lib/mvt-worker-transport.ts +74 -0
  424. package/src/mvt/lib/parse-mvt-geojson.ts +65 -0
  425. package/src/mvt/lib/parse-mvt.ts +145 -0
  426. package/src/mvt/lib/parse-tilejson.ts +397 -0
  427. package/src/mvt/lib/resolve-table-tile-parameters.ts +23 -0
  428. package/src/mvt/lib/types.ts +90 -0
  429. package/src/mvt/lib/utils/geometry-utils.ts +238 -0
  430. package/src/mvt/lib/vector-tile/LICENSE.txt +31 -0
  431. package/src/mvt/lib/vector-tile/vector-tile-feature.ts +430 -0
  432. package/src/mvt/lib/vector-tile/vector-tile-layer.ts +130 -0
  433. package/src/mvt/lib/vector-tile/vector-tile.ts +32 -0
  434. package/src/mvt/lib/vector-tiler/LICENSE +19 -0
  435. package/src/mvt/lib/vector-tiler/arrow-tile.ts +93 -0
  436. package/src/mvt/lib/vector-tiler/features/clip-features.ts +250 -0
  437. package/src/mvt/lib/vector-tiler/features/convert-feature.ts +213 -0
  438. package/src/mvt/lib/vector-tiler/features/proto-feature.ts +104 -0
  439. package/src/mvt/lib/vector-tiler/features/simplify-path.ts +84 -0
  440. package/src/mvt/lib/vector-tiler/features/wrap-features.ts +125 -0
  441. package/src/mvt/lib/vector-tiler/proto-tile.ts +217 -0
  442. package/src/mvt/lib/vector-tiler/tile-to-geojson.ts +104 -0
  443. package/src/mvt/lib/vector-tiler/transform-tile.ts +57 -0
  444. package/src/mvt/map-style-format.ts +18 -0
  445. package/src/mvt/map-style-loader-with-parser.ts +62 -0
  446. package/src/mvt/map-style-loader.ts +31 -0
  447. package/src/mvt/map-style-schema.ts +53 -0
  448. package/src/mvt/map-style.ts +218 -0
  449. package/src/mvt/mvt-format.ts +25 -0
  450. package/src/mvt/mvt-geojson-loader-types.ts +60 -0
  451. package/src/mvt/mvt-geojson-loader.ts +20 -0
  452. package/src/mvt/mvt-loader-with-parser.ts +53 -0
  453. package/src/mvt/mvt-loader.ts +73 -0
  454. package/src/mvt/mvt-source-loader.ts +410 -0
  455. package/src/mvt/mvt-writer.ts +35 -0
  456. package/src/mvt/table-tile-source-loader.ts +672 -0
  457. package/src/mvt/tilejson-format.ts +18 -0
  458. package/src/mvt/tilejson-loader-with-parser.ts +38 -0
  459. package/src/mvt/tilejson-loader.ts +42 -0
  460. package/src/mvt/tilejson-zod-schema.ts +199 -0
  461. package/src/mvt/unbundled.ts +13 -0
  462. package/src/mvt/workers/mvt-worker-node.ts +9 -0
  463. package/src/mvt/workers/mvt-worker.ts +8 -0
  464. package/src/pmtiles/bundled.ts +6 -0
  465. package/src/pmtiles/geoarrow.ts +188 -0
  466. package/src/pmtiles/index.ts +27 -0
  467. package/src/pmtiles/lib/blob-source.ts +41 -0
  468. package/src/pmtiles/lib/encode-pmtiles.ts +322 -0
  469. package/src/pmtiles/lib/parse-pmtiles.ts +180 -0
  470. package/src/pmtiles/lib/range-request-source.ts +60 -0
  471. package/src/pmtiles/lib/version.ts +8 -0
  472. package/src/pmtiles/pmtiles-format.ts +19 -0
  473. package/src/pmtiles/pmtiles-loader-with-parser.ts +60 -0
  474. package/src/pmtiles/pmtiles-loader.ts +30 -0
  475. package/src/pmtiles/pmtiles-source-loader.ts +346 -0
  476. package/src/pmtiles/pmtiles-writer-types.ts +45 -0
  477. package/src/pmtiles/pmtiles-writer.ts +26 -0
  478. package/src/pmtiles/raster.ts +289 -0
  479. package/src/pmtiles/source-info.ts +25 -0
  480. package/src/pmtiles/unbundled.ts +6 -0
  481. package/src/raster-set.ts +2 -2
  482. package/src/tile-matrix.ts +138 -0
  483. package/src/tileset-2d/tile-2d-header.ts +14 -13
  484. package/src/tileset-2d/tileset-2d.ts +81 -19
  485. package/dist/constants.d.ts +0 -38
  486. package/dist/constants.d.ts.map +0 -1
  487. package/dist/constants.js +0 -39
  488. package/dist/constants.js.map +0 -1
  489. package/dist/point-cloud/point-cloud-tile.d.ts +0 -47
  490. package/dist/point-cloud/point-cloud-tile.d.ts.map +0 -1
  491. package/dist/point-cloud/point-cloud-tile.js +0 -70
  492. package/dist/point-cloud/point-cloud-tile.js.map +0 -1
  493. package/dist/point-cloud/point-cloud-tileset.d.ts +0 -135
  494. package/dist/point-cloud/point-cloud-tileset.d.ts.map +0 -1
  495. package/dist/point-cloud/point-cloud-tileset.js +0 -549
  496. package/dist/point-cloud/point-cloud-tileset.js.map +0 -1
  497. package/dist/point-cloud/types.d.ts +0 -81
  498. package/dist/point-cloud/types.d.ts.map +0 -1
  499. package/dist/point-cloud/types.js.map +0 -1
  500. package/dist/point-cloud-tile-source-loader-types.d.ts +0 -31
  501. package/dist/point-cloud-tile-source-loader-types.d.ts.map +0 -1
  502. package/dist/point-cloud-tile-source-loader-types.js +0 -34
  503. package/dist/point-cloud-tile-source-loader-types.js.map +0 -1
  504. package/dist/point-cloud-tile-source-loader.cjs +0 -81
  505. package/dist/point-cloud-tile-source-loader.cjs.map +0 -7
  506. package/dist/point-cloud-tile-source-loader.d.ts +0 -27
  507. package/dist/point-cloud-tile-source-loader.d.ts.map +0 -1
  508. package/dist/point-cloud-tile-source-loader.js +0 -17
  509. package/dist/point-cloud-tile-source-loader.js.map +0 -1
  510. package/dist/point-cloud-tile-source-types.d.ts +0 -15
  511. package/dist/point-cloud-tile-source-types.d.ts.map +0 -1
  512. package/dist/point-cloud-tile-source-types.js.map +0 -1
  513. package/dist/point-cloud-tile-source.cjs +0 -105
  514. package/dist/point-cloud-tile-source.cjs.map +0 -7
  515. package/dist/point-cloud-tile-source.d.ts +0 -36
  516. package/dist/point-cloud-tile-source.d.ts.map +0 -1
  517. package/dist/point-cloud-tile-source.js +0 -84
  518. package/dist/point-cloud-tile-source.js.map +0 -1
  519. package/dist/spatial/format-spatial-reference.d.ts +0 -68
  520. package/dist/spatial/format-spatial-reference.d.ts.map +0 -1
  521. package/dist/spatial/format-spatial-reference.js +0 -291
  522. package/dist/spatial/format-spatial-reference.js.map +0 -1
  523. package/dist/spatial/get-spatial-coordinate-frame.d.ts +0 -20
  524. package/dist/spatial/get-spatial-coordinate-frame.d.ts.map +0 -1
  525. package/dist/spatial/get-spatial-coordinate-frame.js +0 -139
  526. package/dist/spatial/get-spatial-coordinate-frame.js.map +0 -1
  527. package/dist/spatial/i3s-elevation.d.ts +0 -20
  528. package/dist/spatial/i3s-elevation.d.ts.map +0 -1
  529. package/dist/spatial/i3s-elevation.js +0 -90
  530. package/dist/spatial/i3s-elevation.js.map +0 -1
  531. package/dist/spatial/i3s-spatial-transformer.d.ts +0 -205
  532. package/dist/spatial/i3s-spatial-transformer.d.ts.map +0 -1
  533. package/dist/spatial/i3s-spatial-transformer.js +0 -731
  534. package/dist/spatial/i3s-spatial-transformer.js.map +0 -1
  535. package/dist/spatial/normalize-crs-identifier.d.ts +0 -15
  536. package/dist/spatial/normalize-crs-identifier.d.ts.map +0 -1
  537. package/dist/spatial/normalize-crs-identifier.js +0 -22
  538. package/dist/spatial/normalize-crs-identifier.js.map +0 -1
  539. package/dist/spatial/spatial-coordinate-transformer.d.ts +0 -54
  540. package/dist/spatial/spatial-coordinate-transformer.d.ts.map +0 -1
  541. package/dist/spatial/spatial-coordinate-transformer.js +0 -311
  542. package/dist/spatial/spatial-coordinate-transformer.js.map +0 -1
  543. package/dist/spatial/spatial-resource-registry.d.ts +0 -47
  544. package/dist/spatial/spatial-resource-registry.d.ts.map +0 -1
  545. package/dist/spatial/spatial-resource-registry.js +0 -76
  546. package/dist/spatial/spatial-resource-registry.js.map +0 -1
  547. package/dist/spatial/spatial-types.d.ts +0 -190
  548. package/dist/spatial/spatial-types.d.ts.map +0 -1
  549. package/dist/spatial/spatial-types.js +0 -192
  550. package/dist/spatial/spatial-types.js.map +0 -1
  551. package/dist/spatial/tiles-3d-spatial-transformer.d.ts +0 -32
  552. package/dist/spatial/tiles-3d-spatial-transformer.d.ts.map +0 -1
  553. package/dist/spatial/tiles-3d-spatial-transformer.js +0 -163
  554. package/dist/spatial/tiles-3d-spatial-transformer.js.map +0 -1
  555. package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts +0 -60
  556. package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts.map +0 -1
  557. package/dist/tileset-3d/common/indexed-archive-tileset-source.js +0 -130
  558. package/dist/tileset-3d/common/indexed-archive-tileset-source.js.map +0 -1
  559. package/dist/tileset-3d/common/tile-3d-contracts.d.ts +0 -63
  560. package/dist/tileset-3d/common/tile-3d-contracts.d.ts.map +0 -1
  561. package/dist/tileset-3d/common/tile-3d-contracts.js +0 -51
  562. package/dist/tileset-3d/common/tile-3d-contracts.js.map +0 -1
  563. package/dist/tileset-3d/common/tile-3d.d.ts +0 -410
  564. package/dist/tileset-3d/common/tile-3d.d.ts.map +0 -1
  565. package/dist/tileset-3d/common/tile-3d.js +0 -1056
  566. package/dist/tileset-3d/common/tile-3d.js.map +0 -1
  567. package/dist/tileset-3d/common/tileset-3d.d.ts +0 -369
  568. package/dist/tileset-3d/common/tileset-3d.d.ts.map +0 -1
  569. package/dist/tileset-3d/common/tileset-3d.js +0 -879
  570. package/dist/tileset-3d/common/tileset-3d.js.map +0 -1
  571. package/dist/tileset-3d/common/tileset-cache.d.ts +0 -29
  572. package/dist/tileset-3d/common/tileset-cache.d.ts.map +0 -1
  573. package/dist/tileset-3d/common/tileset-cache.js +0 -82
  574. package/dist/tileset-3d/common/tileset-cache.js.map +0 -1
  575. package/dist/tileset-3d/common/tileset-content-traversal.d.ts +0 -37
  576. package/dist/tileset-3d/common/tileset-content-traversal.d.ts.map +0 -1
  577. package/dist/tileset-3d/common/tileset-content-traversal.js +0 -80
  578. package/dist/tileset-3d/common/tileset-content-traversal.js.map +0 -1
  579. package/dist/tileset-3d/common/tileset-observability.d.ts +0 -60
  580. package/dist/tileset-3d/common/tileset-observability.d.ts.map +0 -1
  581. package/dist/tileset-3d/common/tileset-observability.js +0 -39
  582. package/dist/tileset-3d/common/tileset-observability.js.map +0 -1
  583. package/dist/tileset-3d/common/tileset-source.d.ts +0 -228
  584. package/dist/tileset-3d/common/tileset-source.d.ts.map +0 -1
  585. package/dist/tileset-3d/common/tileset-source.js +0 -17
  586. package/dist/tileset-3d/common/tileset-source.js.map +0 -1
  587. package/dist/tileset-3d/common/tileset-traverser.d.ts +0 -88
  588. package/dist/tileset-3d/common/tileset-traverser.d.ts.map +0 -1
  589. package/dist/tileset-3d/common/tileset-traverser.js +0 -341
  590. package/dist/tileset-3d/common/tileset-traverser.js.map +0 -1
  591. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts +0 -182
  592. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts.map +0 -1
  593. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js +0 -678
  594. package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js.map +0 -1
  595. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts +0 -221
  596. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts.map +0 -1
  597. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js +0 -770
  598. package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js.map +0 -1
  599. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts +0 -111
  600. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts.map +0 -1
  601. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js +0 -339
  602. package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js.map +0 -1
  603. package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.d.ts +0 -27
  604. package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.d.ts.map +0 -1
  605. package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.js +0 -45
  606. package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.js.map +0 -1
  607. package/dist/tileset-3d/format-i3s/i3s-source.d.ts +0 -116
  608. package/dist/tileset-3d/format-i3s/i3s-source.d.ts.map +0 -1
  609. package/dist/tileset-3d/format-i3s/i3s-source.js +0 -450
  610. package/dist/tileset-3d/format-i3s/i3s-source.js.map +0 -1
  611. package/dist/tileset-3d/format-i3s/i3s-tile-manager.d.ts +0 -34
  612. package/dist/tileset-3d/format-i3s/i3s-tile-manager.d.ts.map +0 -1
  613. package/dist/tileset-3d/format-i3s/i3s-tile-manager.js +0 -81
  614. package/dist/tileset-3d/format-i3s/i3s-tile-manager.js.map +0 -1
  615. package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.d.ts +0 -25
  616. package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.d.ts.map +0 -1
  617. package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js +0 -84
  618. package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js.map +0 -1
  619. package/dist/tileset-3d/helpers/3d-tiles-options.d.ts +0 -5
  620. package/dist/tileset-3d/helpers/3d-tiles-options.d.ts.map +0 -1
  621. package/dist/tileset-3d/helpers/3d-tiles-options.js +0 -9
  622. package/dist/tileset-3d/helpers/3d-tiles-options.js.map +0 -1
  623. package/dist/tileset-3d/helpers/bounding-volume.d.ts +0 -23
  624. package/dist/tileset-3d/helpers/bounding-volume.d.ts.map +0 -1
  625. package/dist/tileset-3d/helpers/bounding-volume.js +0 -236
  626. package/dist/tileset-3d/helpers/bounding-volume.js.map +0 -1
  627. package/dist/tileset-3d/helpers/frame-state.d.ts +0 -93
  628. package/dist/tileset-3d/helpers/frame-state.d.ts.map +0 -1
  629. package/dist/tileset-3d/helpers/frame-state.js +0 -211
  630. package/dist/tileset-3d/helpers/frame-state.js.map +0 -1
  631. package/dist/tileset-3d/helpers/i3s-lod.d.ts +0 -20
  632. package/dist/tileset-3d/helpers/i3s-lod.d.ts.map +0 -1
  633. package/dist/tileset-3d/helpers/i3s-lod.js +0 -95
  634. package/dist/tileset-3d/helpers/i3s-lod.js.map +0 -1
  635. package/dist/tileset-3d/helpers/s2-bounding-volume.d.ts +0 -17
  636. package/dist/tileset-3d/helpers/s2-bounding-volume.d.ts.map +0 -1
  637. package/dist/tileset-3d/helpers/s2-bounding-volume.js +0 -17
  638. package/dist/tileset-3d/helpers/s2-bounding-volume.js.map +0 -1
  639. package/dist/tileset-3d/helpers/tiles-3d-lod.d.ts +0 -72
  640. package/dist/tileset-3d/helpers/tiles-3d-lod.d.ts.map +0 -1
  641. package/dist/tileset-3d/helpers/tiles-3d-lod.js +0 -257
  642. package/dist/tileset-3d/helpers/tiles-3d-lod.js.map +0 -1
  643. package/dist/tileset-3d/helpers/tiles-3d-request-priority.d.ts +0 -134
  644. package/dist/tileset-3d/helpers/tiles-3d-request-priority.d.ts.map +0 -1
  645. package/dist/tileset-3d/helpers/tiles-3d-request-priority.js +0 -179
  646. package/dist/tileset-3d/helpers/tiles-3d-request-priority.js.map +0 -1
  647. package/dist/tileset-3d/helpers/transform-utils.d.ts +0 -3
  648. package/dist/tileset-3d/helpers/transform-utils.d.ts.map +0 -1
  649. package/dist/tileset-3d/helpers/transform-utils.js +0 -86
  650. package/dist/tileset-3d/helpers/transform-utils.js.map +0 -1
  651. package/dist/tileset-3d/helpers/zoom.d.ts +0 -46
  652. package/dist/tileset-3d/helpers/zoom.d.ts.map +0 -1
  653. package/dist/tileset-3d/helpers/zoom.js +0 -86
  654. package/dist/tileset-3d/helpers/zoom.js.map +0 -1
  655. package/dist/types.d.ts +0 -48
  656. package/dist/types.d.ts.map +0 -1
  657. package/dist/types.js.map +0 -1
  658. package/dist/utils/doubly-linked-list-node.d.ts +0 -11
  659. package/dist/utils/doubly-linked-list-node.d.ts.map +0 -1
  660. package/dist/utils/doubly-linked-list-node.js +0 -20
  661. package/dist/utils/doubly-linked-list-node.js.map +0 -1
  662. package/dist/utils/doubly-linked-list.d.ts +0 -30
  663. package/dist/utils/doubly-linked-list.d.ts.map +0 -1
  664. package/dist/utils/doubly-linked-list.js +0 -93
  665. package/dist/utils/doubly-linked-list.js.map +0 -1
  666. package/dist/utils/managed-array.d.ts +0 -85
  667. package/dist/utils/managed-array.d.ts.map +0 -1
  668. package/dist/utils/managed-array.js +0 -152
  669. package/dist/utils/managed-array.js.map +0 -1
  670. package/src/constants.ts +0 -59
  671. package/src/point-cloud/point-cloud-tile.ts +0 -80
  672. package/src/point-cloud/point-cloud-tileset.ts +0 -767
  673. package/src/point-cloud/types.ts +0 -99
  674. package/src/point-cloud-tile-source-loader-types.ts +0 -53
  675. package/src/point-cloud-tile-source-loader.ts +0 -32
  676. package/src/point-cloud-tile-source-types.ts +0 -20
  677. package/src/point-cloud-tile-source.ts +0 -112
  678. package/src/spatial/format-spatial-reference.ts +0 -385
  679. package/src/spatial/get-spatial-coordinate-frame.ts +0 -169
  680. package/src/spatial/i3s-elevation.ts +0 -96
  681. package/src/spatial/i3s-spatial-transformer.ts +0 -1021
  682. package/src/spatial/normalize-crs-identifier.ts +0 -26
  683. package/src/spatial/spatial-coordinate-transformer.ts +0 -397
  684. package/src/spatial/spatial-resource-registry.ts +0 -90
  685. package/src/spatial/spatial-types.ts +0 -422
  686. package/src/spatial/tiles-3d-spatial-transformer.ts +0 -194
  687. package/src/tileset-3d/common/indexed-archive-tileset-source.ts +0 -205
  688. package/src/tileset-3d/common/tile-3d-contracts.ts +0 -115
  689. package/src/tileset-3d/common/tile-3d.ts +0 -1310
  690. package/src/tileset-3d/common/tileset-3d.ts +0 -1210
  691. package/src/tileset-3d/common/tileset-cache.ts +0 -111
  692. package/src/tileset-3d/common/tileset-content-traversal.ts +0 -114
  693. package/src/tileset-3d/common/tileset-observability.ts +0 -100
  694. package/src/tileset-3d/common/tileset-source.ts +0 -284
  695. package/src/tileset-3d/common/tileset-traverser.ts +0 -416
  696. package/src/tileset-3d/format-3d-tiles/implicit-tiling.ts +0 -1056
  697. package/src/tileset-3d/format-3d-tiles/tiles-3d-source.ts +0 -1025
  698. package/src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts +0 -391
  699. package/src/tileset-3d/format-i3s/i3s-pending-tiles-register.ts +0 -48
  700. package/src/tileset-3d/format-i3s/i3s-source.ts +0 -557
  701. package/src/tileset-3d/format-i3s/i3s-tile-manager.ts +0 -105
  702. package/src/tileset-3d/format-i3s/i3s-tileset-traverser.ts +0 -102
  703. package/src/tileset-3d/helpers/3d-tiles-options.ts +0 -11
  704. package/src/tileset-3d/helpers/bounding-volume.ts +0 -281
  705. package/src/tileset-3d/helpers/frame-state.ts +0 -322
  706. package/src/tileset-3d/helpers/i3s-lod.ts +0 -109
  707. package/src/tileset-3d/helpers/s2-bounding-volume.ts +0 -32
  708. package/src/tileset-3d/helpers/tiles-3d-lod.ts +0 -370
  709. package/src/tileset-3d/helpers/tiles-3d-request-priority.ts +0 -301
  710. package/src/tileset-3d/helpers/transform-utils.ts +0 -109
  711. package/src/tileset-3d/helpers/zoom.ts +0 -120
  712. package/src/types.ts +0 -54
  713. package/src/utils/doubly-linked-list-node.ts +0 -22
  714. package/src/utils/doubly-linked-list.ts +0 -105
  715. package/src/utils/managed-array.ts +0 -174
  716. /package/dist/{point-cloud → mvt/lib}/types.js +0 -0
@@ -0,0 +1,52 @@
1
+ import type { TileMatrixBounds, TileMatrixLimits, TileMatrixSet } from '@math.gl/geospatial/tile-matrix';
2
+ import type { NonGeoBoundingBox, TileIndex } from "./tileset-2d/types.js";
3
+ /** Renderer-independent view frame, already expressed in the grid's canonical X/Y coordinates. */
4
+ export type TileMatrixViewFrame = {
5
+ /** Exact grid CRS identifier; no identifier equivalence or reprojection is inferred. */
6
+ crs: string;
7
+ /** Ordered finite [minimumX, minimumY, maximumX, maximumY] extent in grid coordinates. */
8
+ extent: TileMatrixBounds;
9
+ /** Positive coordinate units per pixel; both axes must meet this target. */
10
+ resolution: number;
11
+ };
12
+ /** The geometry and coverage subset of TileGrid needed for selection. */
13
+ export type TileMatrixSelectionGrid = {
14
+ /** Complete native geometry; absence is rejected rather than inferred from partial fields. */
15
+ tileMatrixSet?: TileMatrixSet;
16
+ /** Optional inclusive per-matrix coverage; an empty list means no available tiles. */
17
+ limits?: readonly (TileMatrixLimits & {
18
+ /** Native matrix identifier addressed by this coverage rectangle. */
19
+ tileMatrix: string;
20
+ })[];
21
+ };
22
+ /** A native tile request; its Cartesian bbox stays in crs, including for geographic grids. */
23
+ export type TileMatrixTile = {
24
+ /** Native column/row and compatibility z equal to the selected matrix's array position. */
25
+ index: TileIndex;
26
+ /** Stable source/grid-scoped identifier, independent of numeric z or matrix ordering. */
27
+ id: string;
28
+ /** Required native matrix identifier; numeric index.z is not a substitute. */
29
+ tileMatrix: string;
30
+ /** Cartesian native-coordinate bounds, with no automatic geographic reinterpretation. */
31
+ bbox: NonGeoBoundingBox;
32
+ /** Native CRS of bbox; this is not necessarily a longitude/latitude bounding box. */
33
+ crs: string;
34
+ /** The selected level's logical width and height in pixels. */
35
+ tileSize: readonly [number, number];
36
+ };
37
+ /** Resource budget for an eager fixed-frame selection. */
38
+ export type TileMatrixSelectionOptions = {
39
+ /** Maximum tiles returned, default 4096. Oversized selections throw before allocation. */
40
+ maximumTileCount?: number;
41
+ };
42
+ /**
43
+ * Selects regular-grid tiles for an explicit native-CRS frame, with source coverage applied.
44
+ * Uses math.gl's coarsest level meeting the target, or its finest available fallback. z is the
45
+ * matrix's array index for compatibility; tileMatrix is authoritative. Cache ids encode the CRS,
46
+ * native matrix id and column/row, and are scoped to this source/grid, not globally unique.
47
+ * Returns an empty array outside the grid or available coverage. Partial geometry, coalesced
48
+ * rows, mismatched CRS identifiers and invalid coverage reject rather than approximating XYZ.
49
+ * This does not infer parents, transform a viewport, reproject content or configure a renderer.
50
+ */
51
+ export declare function selectTileMatrixTiles(grid: TileMatrixSelectionGrid, frame: TileMatrixViewFrame, options?: TileMatrixSelectionOptions): TileMatrixTile[];
52
+ //# sourceMappingURL=tile-matrix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tile-matrix.d.ts","sourceRoot":"","sources":["../src/tile-matrix.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAEV,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAC,iBAAiB,EAAE,SAAS,EAAC,8BAA2B;AAGrE,kGAAkG;AAClG,MAAM,MAAM,mBAAmB,GAAG;IAChC,wFAAwF;IACxF,GAAG,EAAE,MAAM,CAAC;IACZ,0FAA0F;IAC1F,MAAM,EAAE,gBAAgB,CAAC;IACzB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,yEAAyE;AACzE,MAAM,MAAM,uBAAuB,GAAG;IACpC,8FAA8F;IAC9F,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,sFAAsF;IACtF,MAAM,CAAC,EAAE,SAAS,CAAC,gBAAgB,GAAG;QACpC,qEAAqE;QACrE,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,EAAE,CAAC;CACN,CAAC;AAEF,8FAA8F;AAC9F,MAAM,MAAM,cAAc,GAAG;IAC3B,2FAA2F;IAC3F,KAAK,EAAE,SAAS,CAAC;IACjB,yFAAyF;IACzF,EAAE,EAAE,MAAM,CAAC;IACX,8EAA8E;IAC9E,UAAU,EAAE,MAAM,CAAC;IACnB,yFAAyF;IACzF,IAAI,EAAE,iBAAiB,CAAC;IACxB,qFAAqF;IACrF,GAAG,EAAE,MAAM,CAAC;IACZ,+DAA+D;IAC/D,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,0BAA0B,GAAG;IACvC,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,uBAAuB,EAC7B,KAAK,EAAE,mBAAmB,EAC1B,OAAO,GAAE,0BAA+B,GACvC,cAAc,EAAE,CA8DlB"}
@@ -0,0 +1,75 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { getTileBounds, getTileRange, isTileIndexInRange, selectTileMatrix } from '@math.gl/geospatial/tile-matrix';
5
+ /**
6
+ * Selects regular-grid tiles for an explicit native-CRS frame, with source coverage applied.
7
+ * Uses math.gl's coarsest level meeting the target, or its finest available fallback. z is the
8
+ * matrix's array index for compatibility; tileMatrix is authoritative. Cache ids encode the CRS,
9
+ * native matrix id and column/row, and are scoped to this source/grid, not globally unique.
10
+ * Returns an empty array outside the grid or available coverage. Partial geometry, coalesced
11
+ * rows, mismatched CRS identifiers and invalid coverage reject rather than approximating XYZ.
12
+ * This does not infer parents, transform a viewport, reproject content or configure a renderer.
13
+ */
14
+ export function selectTileMatrixTiles(grid, frame, options = {}) {
15
+ const matrixSet = grid.tileMatrixSet;
16
+ if (!matrixSet || !matrixSet.crs || frame.crs !== matrixSet.crs) {
17
+ throw new Error('Tile selection requires complete geometry and a frame in the exact grid CRS.');
18
+ }
19
+ if (frame.extent.length !== 4 ||
20
+ !frame.extent.every(Number.isFinite) ||
21
+ frame.extent[0] > frame.extent[2] ||
22
+ frame.extent[1] > frame.extent[3]) {
23
+ throw new RangeError('Tile frame extent must be finite and ordered.');
24
+ }
25
+ const maximumTileCount = options.maximumTileCount ?? 4096;
26
+ if (!Number.isSafeInteger(maximumTileCount) || maximumTileCount < 0) {
27
+ throw new RangeError('maximumTileCount must be a nonnegative safe integer.');
28
+ }
29
+ for (const matrix of matrixSet.matrices) {
30
+ // Newer math.gl models can describe coalescence; this selector deliberately accepts regular grids only.
31
+ const coalescenceBands = matrix
32
+ .variableMatrixWidths;
33
+ if (coalescenceBands !== undefined &&
34
+ (!Array.isArray(coalescenceBands) || coalescenceBands.length > 0)) {
35
+ throw new Error('Regular-grid selection does not support variable-width rows.');
36
+ }
37
+ }
38
+ const selectedMatrix = selectTileMatrix(matrixSet, frame.resolution);
39
+ const coverage = new Map();
40
+ for (const limit of grid.limits ?? []) {
41
+ const matrix = matrixSet.matrices.find(candidate => candidate.id === limit.tileMatrix);
42
+ if (!matrix || coverage.has(limit.tileMatrix)) {
43
+ throw new RangeError('Tile coverage must reference unique, known matrix ids.');
44
+ }
45
+ // math.gl validates every endpoint of the inclusive rectangle, not just these two indices.
46
+ isTileIndexInRange(matrix, limit.minTileColumn, limit.minTileRow, limit);
47
+ coverage.set(limit.tileMatrix, limit);
48
+ }
49
+ if (!selectedMatrix || (grid.limits !== undefined && !coverage.has(selectedMatrix.id)))
50
+ return [];
51
+ const range = getTileRange(selectedMatrix, frame.extent, coverage.get(selectedMatrix.id));
52
+ if (!range)
53
+ return [];
54
+ const width = range.maxTileColumn - range.minTileColumn + 1;
55
+ const height = range.maxTileRow - range.minTileRow + 1;
56
+ if (width > maximumTileCount / height)
57
+ throw new RangeError('Tile selection exceeds maximumTileCount.');
58
+ const matrixIndex = matrixSet.matrices.indexOf(selectedMatrix);
59
+ const tiles = [];
60
+ for (let row = range.minTileRow; row <= range.maxTileRow; row++) {
61
+ for (let column = range.minTileColumn; column <= range.maxTileColumn; column++) {
62
+ const [left, bottom, right, top] = getTileBounds(selectedMatrix, column, row);
63
+ tiles.push({
64
+ index: { x: column, y: row, z: matrixIndex },
65
+ tileMatrix: selectedMatrix.id,
66
+ id: JSON.stringify([matrixSet.crs, selectedMatrix.id, column, row]),
67
+ bbox: { left, bottom, right, top },
68
+ crs: matrixSet.crs,
69
+ tileSize: [selectedMatrix.tileSize[0], selectedMatrix.tileSize[1]]
70
+ });
71
+ }
72
+ }
73
+ return tiles;
74
+ }
75
+ //# sourceMappingURL=tile-matrix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tile-matrix.js","sourceRoot":"","sources":["../src/tile-matrix.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { RequestScheduler } from '@loaders.gl/loader-utils';
1
+ import { RequestScheduler } from '@loaders.gl/core/loader-utils';
2
2
  import type { TileBoundingBox, TileIndex, TileLoadProps } from "./types.js";
3
3
  /** Parameters used by {@link SharedTile2DHeader.loadData}. */
4
4
  export type Tile2DLoadDataProps<DataT = any> = {
@@ -62,7 +62,7 @@ export declare class SharedTile2DHeader<DataT = any> {
62
62
  loadData(opts: Tile2DLoadDataProps<DataT>): Promise<void>;
63
63
  /** Marks the tile stale so it is refreshed on the next traversal. */
64
64
  setNeedsReload(): void;
65
- /** Cancels an in-flight tile request. */
65
+ /** Cancels a request and invalidates its result even if the loader ignores the abort signal. */
66
66
  abort(): void;
67
67
  }
68
68
  //# sourceMappingURL=tile-2d-header.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tile-2d-header.d.ts","sourceRoot":"","sources":["../../src/tileset-2d/tile-2d-header.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAC,eAAe,EAAE,SAAS,EAAE,aAAa,EAAC,mBAAgB;AAEvE,8DAA8D;AAC9D,MAAM,MAAM,mBAAmB,CAAC,KAAK,GAAG,GAAG,IAAI;IAC7C,4DAA4D;IAC5D,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,6CAA6C;IAC7C,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;IACxE,+DAA+D;IAC/D,MAAM,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IAClD,uDAAuD;IACvD,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;CAChE,CAAC;AAEF,yDAAyD;AACzD,qBAAa,kBAAkB,CAAC,KAAK,GAAG,GAAG;IACzC,6BAA6B;IAC7B,KAAK,EAAE,SAAS,CAAC;IACjB,wDAAwD;IACxD,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAClC,4CAA4C;IAC5C,QAAQ,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACtC,2BAA2B;IAC3B,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC;IACtB,0DAA0D;IAC1D,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,4BAA4B;IAC5B,EAAE,EAAG,MAAM,CAAC;IACZ,wCAAwC;IACxC,IAAI,EAAG,MAAM,CAAC;IACd,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,yFAAyF;IACzF,WAAW,EAAG,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAE7C,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,KAAK,CAAmB;IAEhC,uDAAuD;gBAC3C,KAAK,EAAE,SAAS;IAc5B,sEAAsE;IACtE,IAAI,IAAI,IAAI,eAAe,CAE1B;IAED,6DAA6D;IAC7D,IAAI,IAAI,CAAC,KAAK,EAAE,eAAe,EAiB9B;IAED,iGAAiG;IACjG,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAM/C;IAED,kEAAkE;IAClE,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,+DAA+D;IAC/D,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,8DAA8D;IAC9D,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,4DAA4D;IAC5D,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,iDAAiD;IACjD,IAAI,UAAU,IAAI,MAAM,CAGvB;IAED,0DAA0D;YAC5C,SAAS;IA2DvB,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAUzD,qEAAqE;IACrE,cAAc,IAAI,IAAI;IAQtB,yCAAyC;IACzC,KAAK,IAAI,IAAI;CAOd"}
1
+ {"version":3,"file":"tile-2d-header.d.ts","sourceRoot":"","sources":["../../src/tileset-2d/tile-2d-header.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAC,eAAe,EAAE,SAAS,EAAE,aAAa,EAAC,mBAAgB;AAEvE,8DAA8D;AAC9D,MAAM,MAAM,mBAAmB,CAAC,KAAK,GAAG,GAAG,IAAI;IAC7C,4DAA4D;IAC5D,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,6CAA6C;IAC7C,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;IACxE,+DAA+D;IAC/D,MAAM,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IAClD,uDAAuD;IACvD,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;CAChE,CAAC;AAEF,yDAAyD;AACzD,qBAAa,kBAAkB,CAAC,KAAK,GAAG,GAAG;IACzC,6BAA6B;IAC7B,KAAK,EAAE,SAAS,CAAC;IACjB,wDAAwD;IACxD,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAClC,4CAA4C;IAC5C,QAAQ,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACtC,2BAA2B;IAC3B,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC;IACtB,0DAA0D;IAC1D,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,4BAA4B;IAC5B,EAAE,EAAG,MAAM,CAAC;IACZ,wCAAwC;IACxC,IAAI,EAAG,MAAM,CAAC;IACd,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,yFAAyF;IACzF,WAAW,EAAG,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAE7C,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,KAAK,CAAmB;IAEhC,uDAAuD;gBAC3C,KAAK,EAAE,SAAS;IAc5B,sEAAsE;IACtE,IAAI,IAAI,IAAI,eAAe,CAE1B;IAED,6DAA6D;IAC7D,IAAI,IAAI,CAAC,KAAK,EAAE,eAAe,EAiB9B;IAED,iGAAiG;IACjG,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAM/C;IAED,kEAAkE;IAClE,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,+DAA+D;IAC/D,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,8DAA8D;IAC9D,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,4DAA4D;IAC5D,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,iDAAiD;IACjD,IAAI,UAAU,IAAI,MAAM,CAGvB;IAED,0DAA0D;YAC5C,SAAS;IA0DvB,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAUzD,qEAAqE;IACrE,cAAc,IAAI,IAAI;IAQtB,gGAAgG;IAChG,KAAK,IAAI,IAAI;CASd"}
@@ -96,17 +96,14 @@ export class SharedTile2DHeader {
96
96
  }
97
97
  /** Internal request pipeline used by {@link loadData}. */
98
98
  async _loadData({ getData, requestScheduler, onLoad, onError }) {
99
+ /** Publishes only the current, uncanceled request's content or error. */
99
100
  const completeLoad = (tileData, error, loaderId) => {
100
- if (loaderId !== this._loaderId) {
101
+ if (loaderId !== this._loaderId || this._isCancelled) {
101
102
  return;
102
103
  }
103
104
  this._loader = undefined;
104
105
  this.content = tileData;
105
106
  this.error = error ? normalizeTileError(error) : null;
106
- if (this._isCancelled && !tileData) {
107
- this._isLoaded = false;
108
- return;
109
- }
110
107
  this._isLoaded = true;
111
108
  this._isCancelled = false;
112
109
  if (error) {
@@ -119,13 +116,14 @@ export class SharedTile2DHeader {
119
116
  const loaderId = this._loaderId;
120
117
  this._abortController = new AbortController();
121
118
  const { signal } = this._abortController;
122
- const requestToken = await requestScheduler.scheduleRequest(this, () => 1);
123
- if (!requestToken) {
124
- this._isCancelled = true;
119
+ // Reloads must not reuse the scheduler token of an aborted request for this tile.
120
+ const requestToken = await requestScheduler.scheduleRequest({ tile: this, loaderId }, () => loaderId === this._loaderId && !this._isCancelled ? 1 : -1);
121
+ if (this._isCancelled || loaderId !== this._loaderId) {
122
+ requestToken?.done();
125
123
  return;
126
124
  }
127
- if (this._isCancelled) {
128
- requestToken.done();
125
+ if (!requestToken) {
126
+ this._isCancelled = true;
129
127
  return;
130
128
  }
131
129
  let tileData = null;
@@ -159,12 +157,14 @@ export class SharedTile2DHeader {
159
157
  }
160
158
  this._needsReload = true;
161
159
  }
162
- /** Cancels an in-flight tile request. */
160
+ /** Cancels a request and invalidates its result even if the loader ignores the abort signal. */
163
161
  abort() {
164
162
  if (this.isLoaded) {
165
163
  return;
166
164
  }
167
165
  this._isCancelled = true;
166
+ this._loaderId++;
167
+ this._loader = undefined;
168
168
  this._abortController?.abort();
169
169
  }
170
170
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tile-2d-header.js","sourceRoot":"","sources":["../../src/tileset-2d/tile-2d-header.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tile-2d-header.js","sourceRoot":"","sources":["../../src/tileset-2d/tile-2d-header.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { type TileSource, type TileSourceMetadata } from '@loaders.gl/loader-utils';
2
- import { Stats } from '@probe.gl/stats';
1
+ import { type TileSource, type TileSourceMetadata } from '@loaders.gl/core/loader-utils';
2
+ import { Stats } from 'probe.gl/stats';
3
3
  import { SharedTile2DHeader } from "./tile-2d-header.js";
4
4
  import type { Tileset2DAdapter } from "./adapter.js";
5
5
  import type { TileIndex, TileLoadProps, ZRange } from "./types.js";
@@ -32,9 +32,9 @@ export type Tileset2DBaseProps<DataT = any, ViewStateT = unknown> = {
32
32
  maxZoom?: number | null;
33
33
  /** Minimum zoom level to request. */
34
34
  minZoom?: number | null;
35
- /** Maximum number of tiles kept in cache. */
35
+ /** Tile-count high-water mark, default 100; selected and visible tiles remain retained. */
36
36
  maxCacheSize?: number | null;
37
- /** Maximum bytes kept in cache. */
37
+ /** Byte high-water mark; selected and visible tiles can exceed this limit. */
38
38
  maxCacheByteSize?: number | null;
39
39
  /** Placeholder refinement strategy. */
40
40
  refinementStrategy?: RefinementStrategy;
@@ -72,7 +72,7 @@ export type Tile2DListener<DataT = any> = {
72
72
  onUpdate?: () => void;
73
73
  /** Fired when asynchronous metadata initialization fails. */
74
74
  onError?: (error: Error) => void;
75
- /** Fired after live tileset counters are recomputed. */
75
+ /** Fired after counters refresh; synchronous tile requests are coalesced into one microtask. */
76
76
  onStatsChange?: (stats: Stats) => void;
77
77
  };
78
78
  /** Shared tile cache and loading engine for one or more consumers. */
@@ -96,6 +96,10 @@ export declare class Tileset2D<DataT = any, ViewStateT = unknown> {
96
96
  private _maxZoom?;
97
97
  private _minZoom?;
98
98
  private _lastTileContext;
99
+ /** Whether a tile-request statistics notification is pending. */
100
+ private _statsUpdateScheduled;
101
+ /** Invalidates pending metadata initialization when the tileset is finalized. */
102
+ private _lifecycleVersion;
99
103
  /** Creates a tileset from either `getTileData` or a loaders.gl `TileSource`. */
100
104
  constructor(opts: Tileset2DProps<DataT, ViewStateT>);
101
105
  /** Convenience factory for wrapping a loaders.gl `TileSource`. */
@@ -110,7 +114,7 @@ export declare class Tileset2D<DataT = any, ViewStateT = unknown> {
110
114
  get visibleTiles(): SharedTile2DHeader<DataT>[];
111
115
  /** Tiles currently loading anywhere in the shared cache. */
112
116
  get loadingTiles(): SharedTile2DHeader<DataT>[];
113
- /** Tiles retained in cache that do not currently have loaded content. */
117
+ /** Pending, canceled, or stale cached tiles; settled failures are excluded until reloaded. */
114
118
  get unloadedTiles(): SharedTile2DHeader<DataT>[];
115
119
  /** Maximum resolved zoom level after applying metadata and explicit options. */
116
120
  get maxZoom(): number | undefined;
@@ -128,9 +132,9 @@ export declare class Tileset2D<DataT = any, ViewStateT = unknown> {
128
132
  detachConsumer(id: symbol): void;
129
133
  /** Updates tileset options and reapplies TileSource metadata overrides. */
130
134
  setOptions(opts: Partial<Tileset2DProps<DataT, ViewStateT>>): void;
131
- /** Aborts in-flight requests and clears the shared cache. */
135
+ /** Clears consumers and cache, aborting requests and suppressing late tile and metadata results. */
132
136
  finalize(): void;
133
- /** Marks all retained tiles stale and drops unused cached tiles. */
137
+ /** Marks selected and visible fallback tiles stale and drops unused cached tiles. */
134
138
  reloadAll(): void;
135
139
  /** Updates the selected and visible tile sets for one consumer. */
136
140
  updateConsumer(id: symbol, selectedTiles: SharedTile2DHeader<DataT>[], visibleTiles: SharedTile2DHeader<DataT>[]): void;
@@ -153,7 +157,10 @@ export declare class Tileset2D<DataT = any, ViewStateT = unknown> {
153
157
  getTileMetadata(index: TileIndex): Record<string, any>;
154
158
  /** Returns the parent tile index in the quadtree. */
155
159
  getParentIndex(index: TileIndex): TileIndex;
156
- /** Returns a cached tile and optionally creates and loads it on demand. */
160
+ /**
161
+ * Returns a cached tile, updating its LRU recency, and optionally creates and loads it.
162
+ * Cache/loading counters update immediately; request statistics notifications are coalesced.
163
+ */
157
164
  getTile(index: TileIndex, create: true): SharedTile2DHeader<DataT>;
158
165
  getTile(index: TileIndex, create?: false): SharedTile2DHeader<DataT> | undefined;
159
166
  /** Loads metadata from a TileSource and reapplies derived option overrides. */
@@ -174,7 +181,9 @@ export declare class Tileset2D<DataT = any, ViewStateT = unknown> {
174
181
  private _notifyUpdate;
175
182
  /** Notifies listeners about asynchronous metadata errors. */
176
183
  private _notifyError;
177
- /** Recomputes absolute counter stats and notifies listeners. */
184
+ /** Coalesces tile-request notifications without scanning the cache per requested tile. */
185
+ private _scheduleStatsUpdate;
186
+ /** Recomputes absolute counters and publishes a consistent batch snapshot. */
178
187
  private _updateStats;
179
188
  /** Writes an absolute count into a probe.gl stat. */
180
189
  private _setStatCount;
@@ -1 +1 @@
1
- {"version":3,"file":"tileset-2d.d.ts","sourceRoot":"","sources":["../../src/tileset-2d/tileset-2d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tileset-2d.d.ts","sourceRoot":"","sources":["../../src/tileset-2d/tileset-2d.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,kBAAkB,EACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,4BAAyB;AACpD,OAAO,KAAK,EAAC,gBAAgB,EAAuB,qBAAkB;AACtE,OAAO,KAAK,EAAC,SAAS,EAAE,aAAa,EAAE,MAAM,EAAC,mBAAgB;AAE9D,2DAA2D;AAC3D,eAAO,MAAM,cAAc,UAAU,CAAC;AACtC,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAC7C,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,mBAAmB,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACvC,KAAK,EAAE,kBAAkB,EAAE,EAC3B,UAAU,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,KAC/D,IAAI,CAAC;AAEV,qGAAqG;AACrG,MAAM,MAAM,kBAAkB,GAC1B,OAAO,cAAc,GACrB,OAAO,gBAAgB,GACvB,OAAO,gBAAgB,GACvB,0BAA0B,CAAC;AAE/B,oEAAoE;AACpE,MAAM,MAAM,kBAAkB,CAAC,KAAK,GAAG,GAAG,EAAE,UAAU,GAAG,OAAO,IAAI;IAClE,2CAA2C;IAC3C,WAAW,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;IAC5E,gEAAgE;IAChE,OAAO,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAC9C,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACzB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,2FAA2F;IAC3F,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,uCAAuC;IACvC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IACvD,wDAAwD;IACxD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IACzD,gDAAgD;IAChD,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;CACnE,CAAC;AAEF,gGAAgG;AAChG,MAAM,MAAM,cAAc,CAAC,KAAK,GAAG,GAAG,EAAE,UAAU,GAAG,OAAO,IAAI,IAAI,CAClE,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,EACrC,aAAa,CACd,GAAG;IACF,qFAAqF;IACrF,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;IAC7E,kEAAkE;IAClE,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,2DAA2D;AAC3D,MAAM,MAAM,cAAc,CAAC,KAAK,GAAG,GAAG,IAAI;IACxC,6CAA6C;IAC7C,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IACvD,wCAAwC;IACxC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IACpE,gDAAgD;IAChD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IACzD,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,gGAAgG;IAChG,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACxC,CAAC;AA0BF,sEAAsE;AACtE,qBAAa,SAAS,CAAC,KAAK,GAAG,GAAG,EAAE,UAAU,GAAG,OAAO;IACtD,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,kEAAkE;IAClE,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAAQ;IAEjD,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAE5D,OAAO,CAAC,iBAAiB,CAAmB;IAC5C,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,UAAU,CAA2C;IAC7D,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,SAAS,CAAkD;IACnE,OAAO,CAAC,wBAAwB,CAAkD;IAClF,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,gBAAgB,CAAiD;IACzE,iEAAiE;IACjE,OAAO,CAAC,qBAAqB,CAAS;IACtC,iFAAiF;IACjF,OAAO,CAAC,iBAAiB,CAAK;IAE9B,gFAAgF;gBACpE,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC;IA4CnD,kEAAkE;IAClE,MAAM,CAAC,cAAc,CAAC,KAAK,GAAG,GAAG,EAC/B,UAAU,EAAE,UAAU,EACtB,IAAI,GAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,aAAa,CAAM,GACnE,SAAS,CAAC,KAAK,CAAC;IAInB,uDAAuD;IACvD,IAAI,KAAK,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAEvC;IAED,2EAA2E;IAC3E,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,yDAAyD;IACzD,IAAI,aAAa,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAE/C;IAED,wFAAwF;IACxF,IAAI,YAAY,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAM9C;IAED,4DAA4D;IAC5D,IAAI,YAAY,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAE9C;IAED,8FAA8F;IAC9F,IAAI,aAAa,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAE/C;IAED,gFAAgF;IAChF,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED,gFAAgF;IAChF,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED,2DAA2D;IAC3D,IAAI,kBAAkB,IAAI,kBAAkB,CAE3C;IAED,8DAA8D;IAC9D,IAAI,OAAO,IAAI,gBAAgB,CAAC,UAAU,CAAC,GAAG,IAAI,CAEjD;IAED,8CAA8C;IAC9C,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI;IAKtD,gFAAgF;IAChF,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKhC,mEAAmE;IACnE,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAOhC,2EAA2E;IAC3E,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,GAAG,IAAI;IAkBlE,oGAAoG;IACpG,QAAQ,IAAI,IAAI;IAehB,qFAAqF;IACrF,SAAS,IAAI,IAAI;IAkBjB,mEAAmE;IACnE,cAAc,CACZ,EAAE,EAAE,MAAM,EACV,aAAa,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAC1C,YAAY,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,GACxC,IAAI;IAUP,iFAAiF;IACjF,YAAY,IAAI,IAAI;IAQpB,uDAAuD;IACvD,cAAc,CAAC,EACb,SAAS,EACT,OAAO,EACP,OAAO,EACP,MAAM,EACN,WAAW,EACX,kBAAkB,EACnB,EAAE;QACD,SAAS,EAAE,UAAU,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;QACvC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;KAC/C,GAAG,SAAS,EAAE;IAmBf,oDAAoD;IACpD,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAInC,0DAA0D;IAC1D,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAIrC,iEAAiE;IACjE,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAUtD,qDAAqD;IACrD,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS;IAI3C;;;OAGG;IACH,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC;IAClE,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,SAAS;IA0ChF,+EAA+E;YACjE,qBAAqB;IAqBnC,8DAA8D;IAC9D,OAAO,CAAC,wBAAwB;IAMhC,uFAAuF;IACvF,OAAO,CAAC,qBAAqB;IAwB7B,+DAA+D;IAC/D,OAAO,CAAC,qBAAqB;IAwB7B,qCAAqC;IACrC,OAAO,CAAC,eAAe;IAoBvB,kCAAkC;IAClC,OAAO,CAAC,gBAAgB;IAoBxB,wCAAwC;IACxC,OAAO,CAAC,iBAAiB;IASzB,qEAAqE;IACrE,OAAO,CAAC,aAAa;IAMrB,6DAA6D;IAC7D,OAAO,CAAC,YAAY;IAMpB,0FAA0F;IAC1F,OAAO,CAAC,oBAAoB;IAY5B,8EAA8E;IAC9E,OAAO,CAAC,YAAY;IAepB,qDAAqD;IACrD,OAAO,CAAC,aAAa;IAIrB,gEAAgE;IAChE,OAAO,CAAC,sBAAsB;IAU9B,+DAA+D;IAC/D,OAAO,CAAC,qBAAqB;IAU7B,mFAAmF;IACnF,OAAO,CAAC,UAAU;IAKlB,+DAA+D;IAC/D,OAAO,CAAC,iBAAiB;IAQzB,wEAAwE;IACxE,OAAO,CAAC,cAAc;IAyBtB,4DAA4D;IAC5D,OAAO,CAAC,YAAY;IAgBpB,oEAAoE;IACpE,OAAO,CAAC,UAAU;IAIlB,4EAA4E;IAC5E,OAAO,CAAC,YAAY;IA4BpB,wEAAwE;IACxE,OAAO,CAAC,mBAAmB;CAY5B"}
@@ -1,8 +1,8 @@
1
1
  // loaders.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
- import { RequestScheduler } from '@loaders.gl/loader-utils';
5
- import { Stats } from '@probe.gl/stats';
4
+ import { RequestScheduler } from '@loaders.gl/core/loader-utils';
5
+ import { Stats } from 'probe.gl/stats';
6
6
  import { SharedTile2DHeader } from "./tile-2d-header.js";
7
7
  /** Never show ancestor or descendant placeholder tiles. */
8
8
  export const STRATEGY_NEVER = 'never';
@@ -49,6 +49,10 @@ export class Tileset2D {
49
49
  _maxZoom;
50
50
  _minZoom;
51
51
  _lastTileContext = null;
52
+ /** Whether a tile-request statistics notification is pending. */
53
+ _statsUpdateScheduled = false;
54
+ /** Invalidates pending metadata initialization when the tileset is finalized. */
55
+ _lifecycleVersion = 0;
52
56
  /** Creates a tileset from either `getTileData` or a loaders.gl `TileSource`. */
53
57
  constructor(opts) {
54
58
  this.stats = new Stats({
@@ -116,7 +120,7 @@ export class Tileset2D {
116
120
  get loadingTiles() {
117
121
  return Array.from(this._cache.values()).filter(tile => tile.isLoading);
118
122
  }
119
- /** Tiles retained in cache that do not currently have loaded content. */
123
+ /** Pending, canceled, or stale cached tiles; settled failures are excluded until reloaded. */
120
124
  get unloadedTiles() {
121
125
  return Array.from(this._cache.values()).filter(tile => !tile.isLoaded);
122
126
  }
@@ -169,8 +173,9 @@ export class Tileset2D {
169
173
  });
170
174
  }
171
175
  }
172
- /** Aborts in-flight requests and clears the shared cache. */
176
+ /** Clears consumers and cache, aborting requests and suppressing late tile and metadata results. */
173
177
  finalize() {
178
+ this._lifecycleVersion++;
174
179
  for (const tile of this._cache.values()) {
175
180
  if (tile.isLoading) {
176
181
  tile.abort();
@@ -183,12 +188,13 @@ export class Tileset2D {
183
188
  this._unloadedTileCount = 0;
184
189
  this._updateStats();
185
190
  }
186
- /** Marks all retained tiles stale and drops unused cached tiles. */
191
+ /** Marks selected and visible fallback tiles stale and drops unused cached tiles. */
187
192
  reloadAll() {
188
193
  const selectedTiles = this._getSelectedTilesUnion();
194
+ const visibleTiles = this._getVisibleTilesUnion();
189
195
  for (const id of this._cache.keys()) {
190
196
  const tile = this._cache.get(id);
191
- if (tile && !selectedTiles.has(tile)) {
197
+ if (tile && !selectedTiles.has(tile) && !visibleTiles.has(tile)) {
192
198
  this._cache.delete(id);
193
199
  this._handleTileUnload(tile);
194
200
  this._dirty = true;
@@ -271,7 +277,8 @@ export class Tileset2D {
271
277
  needsReload = true;
272
278
  this._cache.set(id, tile);
273
279
  this._dirty = true;
274
- this._updateStats();
280
+ this._setStatCount('Tiles In Cache', this._cache.size);
281
+ this._scheduleStatsUpdate();
275
282
  }
276
283
  else if (tile && tile.needsReload) {
277
284
  needsReload = true;
@@ -280,6 +287,7 @@ export class Tileset2D {
280
287
  this._touchTile(id, tile);
281
288
  }
282
289
  if (tile && needsReload && create) {
290
+ const wasLoading = tile.isLoading;
283
291
  tile
284
292
  .loadData({
285
293
  getData: this.opts.getTileData,
@@ -288,19 +296,30 @@ export class Tileset2D {
288
296
  onError: this._handleTileError.bind(this)
289
297
  })
290
298
  .catch(() => { });
291
- this._updateStats();
299
+ if (!wasLoading) {
300
+ this.stats.get('Loading Tiles').incrementCount();
301
+ }
302
+ this._scheduleStatsUpdate();
292
303
  }
293
304
  return tile;
294
305
  }
295
306
  /** Loads metadata from a TileSource and reapplies derived option overrides. */
296
307
  async _initializeTileSource(tileSource) {
308
+ const lifecycleVersion = this._lifecycleVersion;
297
309
  try {
298
- this.sourceMetadata = await tileSource.getMetadata();
310
+ const metadata = await tileSource.getMetadata();
311
+ if (lifecycleVersion !== this._lifecycleVersion) {
312
+ return;
313
+ }
314
+ this.sourceMetadata = metadata;
299
315
  this._sourceMetadataOverrides = this._getMetadataOverrides(this.sourceMetadata);
300
316
  this._applyResolvedOptions();
301
317
  this._notifyUpdate();
302
318
  }
303
319
  catch (error) {
320
+ if (lifecycleVersion !== this._lifecycleVersion) {
321
+ return;
322
+ }
304
323
  const normalizedError = error instanceof Error ? error : new Error(`TileSource metadata error: ${String(error)}`);
305
324
  this._notifyError(normalizedError);
306
325
  }
@@ -356,30 +375,52 @@ export class Tileset2D {
356
375
  }
357
376
  /** Handles successful tile loads. */
358
377
  _handleTileLoad(tile) {
378
+ const lifecycleVersion = this._lifecycleVersion;
379
+ if (this._cache.get(tile.id) !== tile) {
380
+ return;
381
+ }
359
382
  this.opts.onTileLoad?.(tile);
383
+ if (this._cache.get(tile.id) !== tile) {
384
+ return;
385
+ }
360
386
  this._cacheByteSize = this._getCacheByteSize();
361
387
  this._resizeCache();
388
+ this._updateStats();
362
389
  for (const listener of this._listeners) {
390
+ if (lifecycleVersion !== this._lifecycleVersion) {
391
+ return;
392
+ }
363
393
  listener.onTileLoad?.(tile);
364
394
  }
365
- this._updateStats();
366
395
  }
367
396
  /** Handles tile load failures. */
368
397
  _handleTileError(error, tile) {
398
+ const lifecycleVersion = this._lifecycleVersion;
399
+ if (this._cache.get(tile.id) !== tile) {
400
+ return;
401
+ }
369
402
  this.opts.onTileError?.(error, tile);
403
+ if (this._cache.get(tile.id) !== tile) {
404
+ return;
405
+ }
406
+ this._cacheByteSize = this._getCacheByteSize();
407
+ this._resizeCache();
408
+ this._updateStats();
370
409
  for (const listener of this._listeners) {
410
+ if (lifecycleVersion !== this._lifecycleVersion) {
411
+ return;
412
+ }
371
413
  listener.onTileError?.(error, tile);
372
414
  }
373
- this._updateStats();
374
415
  }
375
416
  /** Handles tile eviction from cache. */
376
417
  _handleTileUnload(tile) {
418
+ tile.abort();
377
419
  this._unloadedTileCount++;
378
420
  this.opts.onTileUnload?.(tile);
379
421
  for (const listener of this._listeners) {
380
422
  listener.onTileUnload?.(tile);
381
423
  }
382
- this._updateStats();
383
424
  }
384
425
  /** Notifies listeners that metadata or effective options changed. */
385
426
  _notifyUpdate() {
@@ -393,8 +434,21 @@ export class Tileset2D {
393
434
  listener.onError?.(error);
394
435
  }
395
436
  }
396
- /** Recomputes absolute counter stats and notifies listeners. */
437
+ /** Coalesces tile-request notifications without scanning the cache per requested tile. */
438
+ _scheduleStatsUpdate() {
439
+ if (this._statsUpdateScheduled) {
440
+ return;
441
+ }
442
+ this._statsUpdateScheduled = true;
443
+ queueMicrotask(() => {
444
+ if (this._statsUpdateScheduled) {
445
+ this._updateStats();
446
+ }
447
+ });
448
+ }
449
+ /** Recomputes absolute counters and publishes a consistent batch snapshot. */
397
450
  _updateStats() {
451
+ this._statsUpdateScheduled = false;
398
452
  this._setStatCount('Tiles In Cache', this._cache.size);
399
453
  this._setStatCount('Cache Size', this.cacheByteSize);
400
454
  this._setStatCount('Visible Tiles', this.visibleTiles.length);
@@ -497,7 +551,7 @@ export class Tileset2D {
497
551
  for (const [id, tile] of this._cache) {
498
552
  if (!visibleTiles.has(tile) && !selectedTiles.has(tile)) {
499
553
  this._cache.delete(id);
500
- this._cacheByteSize = this._getCacheByteSize();
554
+ this._cacheByteSize -= tile.byteLength;
501
555
  this._handleTileUnload(tile);
502
556
  }
503
557
  if (this._cache.size <= maxCacheSize && this._cacheByteSize <= maxCacheByteSize) {
@@ -518,7 +572,7 @@ export class Tileset2D {
518
572
  let index = tile.index;
519
573
  while (this.getTileZoom(index) > _minZoom) {
520
574
  index = this.getParentIndex(index);
521
- const parent = this.getTile(index);
575
+ const parent = this._cache.get(this.getTileId(index));
522
576
  if (parent) {
523
577
  return parent;
524
578
  }