@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.
- package/LICENSE +1 -1
- package/README.md +18 -72
- package/dist/dist.dev.js +5874 -23815
- package/dist/dist.min.js +3 -3
- package/dist/image-set.d.ts +1 -1
- package/dist/image-set.d.ts.map +1 -1
- package/dist/index.cjs +2803 -10209
- package/dist/index.cjs.map +3 -3
- package/dist/index.d.ts +4 -43
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -26
- package/dist/index.js.map +1 -1
- package/dist/mlt/bundled.d.ts +3 -0
- package/dist/mlt/bundled.d.ts.map +1 -0
- package/dist/mlt/bundled.js +5 -0
- package/dist/mlt/bundled.js.map +1 -0
- package/dist/mlt/index.cjs +3701 -0
- package/dist/mlt/index.cjs.map +6 -0
- package/dist/mlt/index.d.ts +10 -0
- package/dist/mlt/index.d.ts.map +1 -0
- package/dist/mlt/index.js +12 -0
- package/dist/mlt/index.js.map +1 -0
- package/dist/mlt/lib/encode-mlt-geometry.d.ts +6 -0
- package/dist/mlt/lib/encode-mlt-geometry.d.ts.map +1 -0
- package/dist/mlt/lib/encode-mlt-geometry.js +150 -0
- package/dist/mlt/lib/encode-mlt-geometry.js.map +1 -0
- package/dist/mlt/lib/encode-mlt-streams.d.ts +13 -0
- package/dist/mlt/lib/encode-mlt-streams.d.ts.map +1 -0
- package/dist/mlt/lib/encode-mlt-streams.js +57 -0
- package/dist/mlt/lib/encode-mlt-streams.js.map +1 -0
- package/dist/mlt/lib/encode-mlt.d.ts +6 -0
- package/dist/mlt/lib/encode-mlt.d.ts.map +1 -0
- package/dist/mlt/lib/encode-mlt.js +174 -0
- package/dist/mlt/lib/encode-mlt.js.map +1 -0
- package/dist/mlt/lib/parse-mlt.d.ts +11 -0
- package/dist/mlt/lib/parse-mlt.d.ts.map +1 -0
- package/dist/mlt/lib/parse-mlt.js +675 -0
- package/dist/mlt/lib/parse-mlt.js.map +1 -0
- package/dist/mlt/mlt-format.d.ts +14 -0
- package/dist/mlt/mlt-format.d.ts.map +1 -0
- package/dist/mlt/mlt-format.js +17 -0
- package/dist/mlt/mlt-format.js.map +1 -0
- package/dist/mlt/mlt-loader-with-parser.d.ts +91 -0
- package/dist/mlt/mlt-loader-with-parser.d.ts.map +1 -0
- package/dist/mlt/mlt-loader-with-parser.js +29 -0
- package/dist/mlt/mlt-loader-with-parser.js.map +1 -0
- package/dist/mlt/mlt-loader.d.ts +115 -0
- package/dist/mlt/mlt-loader.d.ts.map +1 -0
- package/dist/mlt/mlt-loader.js +38 -0
- package/dist/mlt/mlt-loader.js.map +1 -0
- package/dist/mlt/mlt-source-loader.d.ts +82 -0
- package/dist/mlt/mlt-source-loader.d.ts.map +1 -0
- package/dist/mlt/mlt-source-loader.js +179 -0
- package/dist/mlt/mlt-source-loader.js.map +1 -0
- package/dist/mlt/mlt-writer.d.ts +45 -0
- package/dist/mlt/mlt-writer.d.ts.map +1 -0
- package/dist/mlt/mlt-writer.js +21 -0
- package/dist/mlt/mlt-writer.js.map +1 -0
- package/dist/mlt/unbundled.d.ts +3 -0
- package/dist/mlt/unbundled.d.ts.map +1 -0
- package/dist/mlt/unbundled.js +5 -0
- package/dist/mlt/unbundled.js.map +1 -0
- package/dist/mvt/arrow-table-tile-source-loader-types.d.ts +36 -0
- package/dist/mvt/arrow-table-tile-source-loader-types.d.ts.map +1 -0
- package/dist/mvt/arrow-table-tile-source-loader-types.js +36 -0
- package/dist/mvt/arrow-table-tile-source-loader-types.js.map +1 -0
- package/dist/mvt/arrow-table-tile-source-loader.cjs +6343 -0
- package/dist/mvt/arrow-table-tile-source-loader.cjs.map +6 -0
- package/dist/mvt/arrow-table-tile-source-loader.d.ts +69 -0
- package/dist/mvt/arrow-table-tile-source-loader.d.ts.map +1 -0
- package/dist/mvt/arrow-table-tile-source-loader.js +216 -0
- package/dist/mvt/arrow-table-tile-source-loader.js.map +1 -0
- package/dist/mvt/arrow-table-tile-source-types.d.ts +21 -0
- package/dist/mvt/arrow-table-tile-source-types.d.ts.map +1 -0
- package/dist/mvt/arrow-table-tile-source-types.js +6 -0
- package/dist/mvt/arrow-table-tile-source-types.js.map +1 -0
- package/dist/mvt/bundled.d.ts +6 -0
- package/dist/mvt/bundled.d.ts.map +1 -0
- package/dist/mvt/bundled.js +7 -0
- package/dist/mvt/bundled.js.map +1 -0
- package/dist/mvt/dist.dev.js +46689 -0
- package/dist/mvt/dist.min.js +94 -0
- package/dist/mvt/index.cjs +10095 -0
- package/dist/mvt/index.cjs.map +6 -0
- package/dist/mvt/index.d.ts +28 -0
- package/dist/mvt/index.d.ts.map +1 -0
- package/dist/mvt/index.js +27 -0
- package/dist/mvt/index.js.map +1 -0
- package/dist/mvt/lib/encode-mvt-arrow.d.ts +6 -0
- package/dist/mvt/lib/encode-mvt-arrow.d.ts.map +1 -0
- package/dist/mvt/lib/encode-mvt-arrow.js +225 -0
- package/dist/mvt/lib/encode-mvt-arrow.js.map +1 -0
- package/dist/mvt/lib/encode-mvt.d.ts +30 -0
- package/dist/mvt/lib/encode-mvt.d.ts.map +1 -0
- package/dist/mvt/lib/encode-mvt.js +20 -0
- package/dist/mvt/lib/encode-mvt.js.map +1 -0
- package/dist/mvt/lib/get-schemas-from-tilejson.d.ts +4 -0
- package/dist/mvt/lib/get-schemas-from-tilejson.d.ts.map +1 -0
- package/dist/mvt/lib/get-schemas-from-tilejson.js +56 -0
- package/dist/mvt/lib/get-schemas-from-tilejson.js.map +1 -0
- package/dist/mvt/lib/is-longitude-latitude-crs.d.ts +3 -0
- package/dist/mvt/lib/is-longitude-latitude-crs.d.ts.map +1 -0
- package/dist/mvt/lib/is-longitude-latitude-crs.js +13 -0
- package/dist/mvt/lib/is-longitude-latitude-crs.js.map +1 -0
- package/dist/mvt/lib/mapbox-vt-pbf/geojson-wrapper.d.ts +25 -0
- package/dist/mvt/lib/mapbox-vt-pbf/geojson-wrapper.d.ts.map +1 -0
- package/dist/mvt/lib/mapbox-vt-pbf/geojson-wrapper.js +73 -0
- package/dist/mvt/lib/mapbox-vt-pbf/geojson-wrapper.js.map +1 -0
- package/dist/mvt/lib/mapbox-vt-pbf/to-vector-tile.d.ts +52 -0
- package/dist/mvt/lib/mapbox-vt-pbf/to-vector-tile.d.ts.map +1 -0
- package/dist/mvt/lib/mapbox-vt-pbf/to-vector-tile.js +165 -0
- package/dist/mvt/lib/mapbox-vt-pbf/to-vector-tile.js.map +1 -0
- package/dist/mvt/lib/mvt-pbf/mvt-constants.d.ts +116 -0
- package/dist/mvt/lib/mvt-pbf/mvt-constants.d.ts.map +1 -0
- package/dist/mvt/lib/mvt-pbf/mvt-constants.js +127 -0
- package/dist/mvt/lib/mvt-pbf/mvt-constants.js.map +1 -0
- package/dist/mvt/lib/mvt-pbf/mvt-types.d.ts +17 -0
- package/dist/mvt/lib/mvt-pbf/mvt-types.d.ts.map +1 -0
- package/dist/mvt/lib/mvt-pbf/mvt-types.js +5 -0
- package/dist/mvt/lib/mvt-pbf/mvt-types.js.map +1 -0
- package/dist/mvt/lib/mvt-pbf/parse-geometry-from-pbf.d.ts +77 -0
- package/dist/mvt/lib/mvt-pbf/parse-geometry-from-pbf.d.ts.map +1 -0
- package/dist/mvt/lib/mvt-pbf/parse-geometry-from-pbf.js +235 -0
- package/dist/mvt/lib/mvt-pbf/parse-geometry-from-pbf.js.map +1 -0
- package/dist/mvt/lib/mvt-pbf/parse-mvt-from-pbf.d.ts +25 -0
- package/dist/mvt/lib/mvt-pbf/parse-mvt-from-pbf.d.ts.map +1 -0
- package/dist/mvt/lib/mvt-pbf/parse-mvt-from-pbf.js +263 -0
- package/dist/mvt/lib/mvt-pbf/parse-mvt-from-pbf.js.map +1 -0
- package/dist/mvt/lib/mvt-pbf/write-mvt-to-pbf.d.ts +4 -0
- package/dist/mvt/lib/mvt-pbf/write-mvt-to-pbf.d.ts.map +1 -0
- package/dist/mvt/lib/mvt-pbf/write-mvt-to-pbf.js +134 -0
- package/dist/mvt/lib/mvt-pbf/write-mvt-to-pbf.js.map +1 -0
- package/dist/mvt/lib/mvt-worker-transport.d.ts +15 -0
- package/dist/mvt/lib/mvt-worker-transport.d.ts.map +1 -0
- package/dist/mvt/lib/mvt-worker-transport.js +54 -0
- package/dist/mvt/lib/mvt-worker-transport.js.map +1 -0
- package/dist/mvt/lib/parse-mvt-geojson.d.ts +6 -0
- package/dist/mvt/lib/parse-mvt-geojson.d.ts.map +1 -0
- package/dist/mvt/lib/parse-mvt-geojson.js +48 -0
- package/dist/mvt/lib/parse-mvt-geojson.js.map +1 -0
- package/dist/mvt/lib/parse-mvt.d.ts +14 -0
- package/dist/mvt/lib/parse-mvt.d.ts.map +1 -0
- package/dist/mvt/lib/parse-mvt.js +105 -0
- package/dist/mvt/lib/parse-mvt.js.map +1 -0
- package/dist/mvt/lib/parse-tilejson.d.ts +74 -0
- package/dist/mvt/lib/parse-tilejson.d.ts.map +1 -0
- package/dist/mvt/lib/parse-tilejson.js +267 -0
- package/dist/mvt/lib/parse-tilejson.js.map +1 -0
- package/dist/mvt/lib/resolve-table-tile-parameters.d.ts +4 -0
- package/dist/mvt/lib/resolve-table-tile-parameters.d.ts.map +1 -0
- package/dist/mvt/lib/resolve-table-tile-parameters.js +16 -0
- package/dist/mvt/lib/resolve-table-tile-parameters.js.map +1 -0
- package/dist/mvt/lib/types.d.ts +88 -0
- package/dist/mvt/lib/types.d.ts.map +1 -0
- package/dist/mvt/lib/types.js.map +1 -0
- package/dist/mvt/lib/utils/geometry-utils.d.ts +83 -0
- package/dist/mvt/lib/utils/geometry-utils.d.ts.map +1 -0
- package/dist/mvt/lib/utils/geometry-utils.js +211 -0
- package/dist/mvt/lib/utils/geometry-utils.js.map +1 -0
- package/dist/mvt/lib/vector-tile/vector-tile-feature.d.ts +72 -0
- package/dist/mvt/lib/vector-tile/vector-tile-feature.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tile/vector-tile-feature.js +350 -0
- package/dist/mvt/lib/vector-tile/vector-tile-feature.js.map +1 -0
- package/dist/mvt/lib/vector-tile/vector-tile-layer.d.ts +29 -0
- package/dist/mvt/lib/vector-tile/vector-tile-layer.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tile/vector-tile-layer.js +108 -0
- package/dist/mvt/lib/vector-tile/vector-tile-layer.js.map +1 -0
- package/dist/mvt/lib/vector-tile/vector-tile.d.ts +9 -0
- package/dist/mvt/lib/vector-tile/vector-tile.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tile/vector-tile.js +28 -0
- package/dist/mvt/lib/vector-tile/vector-tile.js.map +1 -0
- package/dist/mvt/lib/vector-tiler/arrow-tile.d.ts +6 -0
- package/dist/mvt/lib/vector-tiler/arrow-tile.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tiler/arrow-tile.js +84 -0
- package/dist/mvt/lib/vector-tiler/arrow-tile.js.map +1 -0
- package/dist/mvt/lib/vector-tiler/features/clip-features.d.ts +16 -0
- package/dist/mvt/lib/vector-tiler/features/clip-features.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tiler/features/clip-features.js +211 -0
- package/dist/mvt/lib/vector-tiler/features/clip-features.js.map +1 -0
- package/dist/mvt/lib/vector-tiler/features/convert-feature.d.ts +18 -0
- package/dist/mvt/lib/vector-tiler/features/convert-feature.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tiler/features/convert-feature.js +161 -0
- package/dist/mvt/lib/vector-tiler/features/convert-feature.js.map +1 -0
- package/dist/mvt/lib/vector-tiler/features/proto-feature.d.ts +30 -0
- package/dist/mvt/lib/vector-tiler/features/proto-feature.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tiler/features/proto-feature.js +53 -0
- package/dist/mvt/lib/vector-tiler/features/proto-feature.js.map +1 -0
- package/dist/mvt/lib/vector-tiler/features/simplify-path.d.ts +10 -0
- package/dist/mvt/lib/vector-tiler/features/simplify-path.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tiler/features/simplify-path.js +67 -0
- package/dist/mvt/lib/vector-tiler/features/simplify-path.js.map +1 -0
- package/dist/mvt/lib/vector-tiler/features/wrap-features.d.ts +17 -0
- package/dist/mvt/lib/vector-tiler/features/wrap-features.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tiler/features/wrap-features.js +95 -0
- package/dist/mvt/lib/vector-tiler/features/wrap-features.js.map +1 -0
- package/dist/mvt/lib/vector-tiler/proto-tile.d.ts +40 -0
- package/dist/mvt/lib/vector-tiler/proto-tile.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tiler/proto-tile.js +139 -0
- package/dist/mvt/lib/vector-tiler/proto-tile.js.map +1 -0
- package/dist/mvt/lib/vector-tiler/tile-to-geojson.d.ts +12 -0
- package/dist/mvt/lib/vector-tiler/tile-to-geojson.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tiler/tile-to-geojson.js +81 -0
- package/dist/mvt/lib/vector-tiler/tile-to-geojson.js.map +1 -0
- package/dist/mvt/lib/vector-tiler/transform-tile.d.ts +7 -0
- package/dist/mvt/lib/vector-tiler/transform-tile.d.ts.map +1 -0
- package/dist/mvt/lib/vector-tiler/transform-tile.js +42 -0
- package/dist/mvt/lib/vector-tiler/transform-tile.js.map +1 -0
- package/dist/mvt/map-style-format.d.ts +13 -0
- package/dist/mvt/map-style-format.d.ts.map +1 -0
- package/dist/mvt/map-style-format.js +16 -0
- package/dist/mvt/map-style-format.js.map +1 -0
- package/dist/mvt/map-style-loader-with-parser.d.ts +26 -0
- package/dist/mvt/map-style-loader-with-parser.d.ts.map +1 -0
- package/dist/mvt/map-style-loader-with-parser.js +38 -0
- package/dist/mvt/map-style-loader-with-parser.js.map +1 -0
- package/dist/mvt/map-style-loader.d.ts +44 -0
- package/dist/mvt/map-style-loader.d.ts.map +1 -0
- package/dist/mvt/map-style-loader.js +25 -0
- package/dist/mvt/map-style-loader.js.map +1 -0
- package/dist/mvt/map-style-schema.d.ts +58 -0
- package/dist/mvt/map-style-schema.d.ts.map +1 -0
- package/dist/mvt/map-style-schema.js +47 -0
- package/dist/mvt/map-style-schema.js.map +1 -0
- package/dist/mvt/map-style.d.ts +110 -0
- package/dist/mvt/map-style.d.ts.map +1 -0
- package/dist/mvt/map-style.js +90 -0
- package/dist/mvt/map-style.js.map +1 -0
- package/dist/mvt/mvt-format.d.ts +14 -0
- package/dist/mvt/mvt-format.d.ts.map +1 -0
- package/dist/mvt/mvt-format.js +23 -0
- package/dist/mvt/mvt-format.js.map +1 -0
- package/dist/mvt/mvt-geojson-loader-types.d.ts +82 -0
- package/dist/mvt/mvt-geojson-loader-types.d.ts.map +1 -0
- package/dist/mvt/mvt-geojson-loader-types.js +34 -0
- package/dist/mvt/mvt-geojson-loader-types.js.map +1 -0
- package/dist/mvt/mvt-geojson-loader.cjs +1366 -0
- package/dist/mvt/mvt-geojson-loader.cjs.map +6 -0
- package/dist/mvt/mvt-geojson-loader.d.ts +32 -0
- package/dist/mvt/mvt-geojson-loader.d.ts.map +1 -0
- package/dist/mvt/mvt-geojson-loader.js +13 -0
- package/dist/mvt/mvt-geojson-loader.js.map +1 -0
- package/dist/mvt/mvt-loader-with-parser.d.ts +105 -0
- package/dist/mvt/mvt-loader-with-parser.d.ts.map +1 -0
- package/dist/mvt/mvt-loader-with-parser.js +21 -0
- package/dist/mvt/mvt-loader-with-parser.js.map +1 -0
- package/dist/mvt/mvt-loader.d.ts +129 -0
- package/dist/mvt/mvt-loader.d.ts.map +1 -0
- package/dist/mvt/mvt-loader.js +40 -0
- package/dist/mvt/mvt-loader.js.map +1 -0
- package/dist/mvt/mvt-source-loader.d.ts +102 -0
- package/dist/mvt/mvt-source-loader.d.ts.map +1 -0
- package/dist/mvt/mvt-source-loader.js +275 -0
- package/dist/mvt/mvt-source-loader.js.map +1 -0
- package/dist/mvt/mvt-writer.d.ts +28 -0
- package/dist/mvt/mvt-writer.d.ts.map +1 -0
- package/dist/mvt/mvt-writer.js +32 -0
- package/dist/mvt/mvt-writer.js.map +1 -0
- package/dist/mvt/table-tile-source-loader.d.ts +169 -0
- package/dist/mvt/table-tile-source-loader.d.ts.map +1 -0
- package/dist/mvt/table-tile-source-loader.js +478 -0
- package/dist/mvt/table-tile-source-loader.js.map +1 -0
- package/dist/mvt/tilejson-format.d.ts +13 -0
- package/dist/mvt/tilejson-format.d.ts.map +1 -0
- package/dist/mvt/tilejson-format.js +16 -0
- package/dist/mvt/tilejson-format.js.map +1 -0
- package/dist/mvt/tilejson-loader-with-parser.d.ts +13 -0
- package/dist/mvt/tilejson-loader-with-parser.d.ts.map +1 -0
- package/dist/mvt/tilejson-loader-with-parser.js +25 -0
- package/dist/mvt/tilejson-loader-with-parser.js.map +1 -0
- package/dist/mvt/tilejson-loader.d.ts +56 -0
- package/dist/mvt/tilejson-loader.d.ts.map +1 -0
- package/dist/mvt/tilejson-loader.js +28 -0
- package/dist/mvt/tilejson-loader.js.map +1 -0
- package/dist/mvt/tilejson-zod-schema.cjs +79 -0
- package/dist/mvt/tilejson-zod-schema.cjs.map +6 -0
- package/dist/mvt/tilejson-zod-schema.d.ts +218 -0
- package/dist/mvt/tilejson-zod-schema.d.ts.map +1 -0
- package/dist/mvt/tilejson-zod-schema.js +68 -0
- package/dist/mvt/tilejson-zod-schema.js.map +1 -0
- package/dist/mvt/tilejson.schema.json +197 -0
- package/dist/mvt/unbundled.d.ts +8 -0
- package/dist/mvt/unbundled.d.ts.map +1 -0
- package/dist/mvt/unbundled.js +8 -0
- package/dist/mvt/unbundled.js.map +1 -0
- package/dist/mvt/workers/mvt-worker-node.d.ts +2 -0
- package/dist/mvt/workers/mvt-worker-node.d.ts.map +1 -0
- package/dist/mvt/workers/mvt-worker-node.js +8 -0
- package/dist/mvt/workers/mvt-worker-node.js.map +1 -0
- package/dist/mvt/workers/mvt-worker.d.ts +2 -0
- package/dist/mvt/workers/mvt-worker.d.ts.map +1 -0
- package/dist/mvt/workers/mvt-worker.js +7 -0
- package/dist/mvt/workers/mvt-worker.js.map +1 -0
- package/dist/mvt-worker-node.js +72460 -0
- package/dist/mvt-worker-node.js.map +7 -0
- package/dist/mvt-worker.js +21239 -0
- package/dist/pmtiles/bundled.d.ts +3 -0
- package/dist/pmtiles/bundled.d.ts.map +1 -0
- package/dist/pmtiles/bundled.js +5 -0
- package/dist/pmtiles/bundled.js.map +1 -0
- package/dist/pmtiles/dist.dev.js +50530 -0
- package/dist/pmtiles/dist.min.js +94 -0
- package/dist/pmtiles/geoarrow.cjs +6718 -0
- package/dist/pmtiles/geoarrow.cjs.map +6 -0
- package/dist/pmtiles/geoarrow.d.ts +30 -0
- package/dist/pmtiles/geoarrow.d.ts.map +1 -0
- package/dist/pmtiles/geoarrow.js +143 -0
- package/dist/pmtiles/geoarrow.js.map +1 -0
- package/dist/pmtiles/index.cjs +8011 -0
- package/dist/pmtiles/index.cjs.map +6 -0
- package/dist/pmtiles/index.d.ts +14 -0
- package/dist/pmtiles/index.d.ts.map +1 -0
- package/dist/pmtiles/index.js +10 -0
- package/dist/pmtiles/index.js.map +1 -0
- package/dist/pmtiles/lib/blob-source.d.ts +14 -0
- package/dist/pmtiles/lib/blob-source.d.ts.map +1 -0
- package/dist/pmtiles/lib/blob-source.js +32 -0
- package/dist/pmtiles/lib/blob-source.js.map +1 -0
- package/dist/pmtiles/lib/encode-pmtiles.d.ts +8 -0
- package/dist/pmtiles/lib/encode-pmtiles.d.ts.map +1 -0
- package/dist/pmtiles/lib/encode-pmtiles.js +268 -0
- package/dist/pmtiles/lib/encode-pmtiles.js.map +1 -0
- package/dist/pmtiles/lib/parse-pmtiles.d.ts +52 -0
- package/dist/pmtiles/lib/parse-pmtiles.d.ts.map +1 -0
- package/dist/pmtiles/lib/parse-pmtiles.js +95 -0
- package/dist/pmtiles/lib/parse-pmtiles.js.map +1 -0
- package/dist/pmtiles/lib/range-request-source.d.ts +24 -0
- package/dist/pmtiles/lib/range-request-source.d.ts.map +1 -0
- package/dist/pmtiles/lib/range-request-source.js +45 -0
- package/dist/pmtiles/lib/range-request-source.js.map +1 -0
- package/dist/pmtiles/lib/version.d.ts +2 -0
- package/dist/pmtiles/lib/version.d.ts.map +1 -0
- package/dist/pmtiles/lib/version.js +8 -0
- package/dist/pmtiles/lib/version.js.map +1 -0
- package/dist/pmtiles/pmtiles-format.d.ts +14 -0
- package/dist/pmtiles/pmtiles-format.d.ts.map +1 -0
- package/dist/pmtiles/pmtiles-format.js +17 -0
- package/dist/pmtiles/pmtiles-format.js.map +1 -0
- package/dist/pmtiles/pmtiles-loader-with-parser.d.ts +30 -0
- package/dist/pmtiles/pmtiles-loader-with-parser.d.ts.map +1 -0
- package/dist/pmtiles/pmtiles-loader-with-parser.js +41 -0
- package/dist/pmtiles/pmtiles-loader-with-parser.js.map +1 -0
- package/dist/pmtiles/pmtiles-loader.d.ts +41 -0
- package/dist/pmtiles/pmtiles-loader.d.ts.map +1 -0
- package/dist/pmtiles/pmtiles-loader.js +20 -0
- package/dist/pmtiles/pmtiles-loader.js.map +1 -0
- package/dist/pmtiles/pmtiles-source-loader.d.ts +85 -0
- package/dist/pmtiles/pmtiles-source-loader.d.ts.map +1 -0
- package/dist/pmtiles/pmtiles-source-loader.js +239 -0
- package/dist/pmtiles/pmtiles-source-loader.js.map +1 -0
- package/dist/pmtiles/pmtiles-writer-types.d.ts +39 -0
- package/dist/pmtiles/pmtiles-writer-types.d.ts.map +1 -0
- package/dist/pmtiles/pmtiles-writer-types.js +5 -0
- package/dist/pmtiles/pmtiles-writer-types.js.map +1 -0
- package/dist/pmtiles/pmtiles-writer.d.ts +22 -0
- package/dist/pmtiles/pmtiles-writer.d.ts.map +1 -0
- package/dist/pmtiles/pmtiles-writer.js +15 -0
- package/dist/pmtiles/pmtiles-writer.js.map +1 -0
- package/dist/pmtiles/raster.cjs +1183 -0
- package/dist/pmtiles/raster.cjs.map +6 -0
- package/dist/pmtiles/raster.d.ts +30 -0
- package/dist/pmtiles/raster.d.ts.map +1 -0
- package/dist/pmtiles/raster.js +212 -0
- package/dist/pmtiles/raster.js.map +1 -0
- package/dist/pmtiles/source-info.d.ts +25 -0
- package/dist/pmtiles/source-info.d.ts.map +1 -0
- package/dist/{types.js → pmtiles/source-info.js} +1 -1
- package/dist/pmtiles/source-info.js.map +1 -0
- package/dist/pmtiles/unbundled.d.ts +3 -0
- package/dist/pmtiles/unbundled.d.ts.map +1 -0
- package/dist/pmtiles/unbundled.js +5 -0
- package/dist/pmtiles/unbundled.js.map +1 -0
- package/dist/raster-set.d.ts +1 -1
- package/dist/raster-set.d.ts.map +1 -1
- package/dist/raster-set.js +1 -1
- package/dist/raster-set.js.map +1 -1
- package/dist/tile-matrix.cjs +81 -0
- package/dist/tile-matrix.cjs.map +6 -0
- package/dist/tile-matrix.d.ts +52 -0
- package/dist/tile-matrix.d.ts.map +1 -0
- package/dist/tile-matrix.js +75 -0
- package/dist/tile-matrix.js.map +1 -0
- package/dist/tileset-2d/tile-2d-header.d.ts +2 -2
- package/dist/tileset-2d/tile-2d-header.d.ts.map +1 -1
- package/dist/tileset-2d/tile-2d-header.js +11 -11
- package/dist/tileset-2d/tile-2d-header.js.map +1 -1
- package/dist/tileset-2d/tileset-2d.d.ts +19 -10
- package/dist/tileset-2d/tileset-2d.d.ts.map +1 -1
- package/dist/tileset-2d/tileset-2d.js +69 -15
- package/dist/tileset-2d/tileset-2d.js.map +1 -1
- package/dist/tileset-2d.d.ts +2 -1
- package/dist/tileset-2d.d.ts.map +1 -1
- package/dist/tileset-2d.js +1 -1
- package/dist/tileset-2d.js.map +1 -1
- package/package.json +104 -16
- package/src/image-set.ts +1 -1
- package/src/index.ts +9 -123
- package/src/mlt/bundled.ts +9 -0
- package/src/mlt/index.ts +18 -0
- package/src/mlt/lib/encode-mlt-geometry.ts +162 -0
- package/src/mlt/lib/encode-mlt-streams.ts +66 -0
- package/src/mlt/lib/encode-mlt.ts +215 -0
- package/src/mlt/lib/parse-mlt.ts +906 -0
- package/src/mlt/libs/mlt-decoder.cjs +4552 -0
- package/src/mlt/mlt-format.ts +19 -0
- package/src/mlt/mlt-loader-with-parser.ts +57 -0
- package/src/mlt/mlt-loader.ts +64 -0
- package/src/mlt/mlt-source-loader.ts +266 -0
- package/src/mlt/mlt-writer.ts +47 -0
- package/src/mlt/unbundled.ts +6 -0
- package/src/mvt/arrow-table-tile-source-loader-types.ts +55 -0
- package/src/mvt/arrow-table-tile-source-loader.ts +307 -0
- package/src/mvt/arrow-table-tile-source-types.ts +32 -0
- package/src/mvt/bundled.ts +14 -0
- package/src/mvt/index.ts +67 -0
- package/src/mvt/lib/encode-mvt-arrow.ts +273 -0
- package/src/mvt/lib/encode-mvt.ts +46 -0
- package/src/mvt/lib/get-schemas-from-tilejson.ts +64 -0
- package/src/mvt/lib/is-longitude-latitude-crs.ts +15 -0
- package/src/mvt/lib/mapbox-vt-pbf/geojson-to-vt.ts.disabled +76 -0
- package/src/mvt/lib/mapbox-vt-pbf/geojson-wrapper.ts +89 -0
- package/src/mvt/lib/mapbox-vt-pbf/to-vector-tile.ts +230 -0
- package/src/mvt/lib/mvt-pbf/mvt-constants.ts +135 -0
- package/src/mvt/lib/mvt-pbf/mvt-types.ts +22 -0
- package/src/mvt/lib/mvt-pbf/parse-geometry-from-pbf.ts +285 -0
- package/src/mvt/lib/mvt-pbf/parse-mvt-from-pbf.ts +310 -0
- package/src/mvt/lib/mvt-pbf/write-mvt-to-pbf.ts +162 -0
- package/src/mvt/lib/mvt-worker-transport.ts +74 -0
- package/src/mvt/lib/parse-mvt-geojson.ts +65 -0
- package/src/mvt/lib/parse-mvt.ts +145 -0
- package/src/mvt/lib/parse-tilejson.ts +397 -0
- package/src/mvt/lib/resolve-table-tile-parameters.ts +23 -0
- package/src/mvt/lib/types.ts +90 -0
- package/src/mvt/lib/utils/geometry-utils.ts +238 -0
- package/src/mvt/lib/vector-tile/LICENSE.txt +31 -0
- package/src/mvt/lib/vector-tile/vector-tile-feature.ts +430 -0
- package/src/mvt/lib/vector-tile/vector-tile-layer.ts +130 -0
- package/src/mvt/lib/vector-tile/vector-tile.ts +32 -0
- package/src/mvt/lib/vector-tiler/LICENSE +19 -0
- package/src/mvt/lib/vector-tiler/arrow-tile.ts +93 -0
- package/src/mvt/lib/vector-tiler/features/clip-features.ts +250 -0
- package/src/mvt/lib/vector-tiler/features/convert-feature.ts +213 -0
- package/src/mvt/lib/vector-tiler/features/proto-feature.ts +104 -0
- package/src/mvt/lib/vector-tiler/features/simplify-path.ts +84 -0
- package/src/mvt/lib/vector-tiler/features/wrap-features.ts +125 -0
- package/src/mvt/lib/vector-tiler/proto-tile.ts +217 -0
- package/src/mvt/lib/vector-tiler/tile-to-geojson.ts +104 -0
- package/src/mvt/lib/vector-tiler/transform-tile.ts +57 -0
- package/src/mvt/map-style-format.ts +18 -0
- package/src/mvt/map-style-loader-with-parser.ts +62 -0
- package/src/mvt/map-style-loader.ts +31 -0
- package/src/mvt/map-style-schema.ts +53 -0
- package/src/mvt/map-style.ts +218 -0
- package/src/mvt/mvt-format.ts +25 -0
- package/src/mvt/mvt-geojson-loader-types.ts +60 -0
- package/src/mvt/mvt-geojson-loader.ts +20 -0
- package/src/mvt/mvt-loader-with-parser.ts +53 -0
- package/src/mvt/mvt-loader.ts +73 -0
- package/src/mvt/mvt-source-loader.ts +410 -0
- package/src/mvt/mvt-writer.ts +35 -0
- package/src/mvt/table-tile-source-loader.ts +672 -0
- package/src/mvt/tilejson-format.ts +18 -0
- package/src/mvt/tilejson-loader-with-parser.ts +38 -0
- package/src/mvt/tilejson-loader.ts +42 -0
- package/src/mvt/tilejson-zod-schema.ts +199 -0
- package/src/mvt/unbundled.ts +13 -0
- package/src/mvt/workers/mvt-worker-node.ts +9 -0
- package/src/mvt/workers/mvt-worker.ts +8 -0
- package/src/pmtiles/bundled.ts +6 -0
- package/src/pmtiles/geoarrow.ts +188 -0
- package/src/pmtiles/index.ts +27 -0
- package/src/pmtiles/lib/blob-source.ts +41 -0
- package/src/pmtiles/lib/encode-pmtiles.ts +322 -0
- package/src/pmtiles/lib/parse-pmtiles.ts +180 -0
- package/src/pmtiles/lib/range-request-source.ts +60 -0
- package/src/pmtiles/lib/version.ts +8 -0
- package/src/pmtiles/pmtiles-format.ts +19 -0
- package/src/pmtiles/pmtiles-loader-with-parser.ts +60 -0
- package/src/pmtiles/pmtiles-loader.ts +30 -0
- package/src/pmtiles/pmtiles-source-loader.ts +346 -0
- package/src/pmtiles/pmtiles-writer-types.ts +45 -0
- package/src/pmtiles/pmtiles-writer.ts +26 -0
- package/src/pmtiles/raster.ts +289 -0
- package/src/pmtiles/source-info.ts +25 -0
- package/src/pmtiles/unbundled.ts +6 -0
- package/src/raster-set.ts +2 -2
- package/src/tile-matrix.ts +138 -0
- package/src/tileset-2d/tile-2d-header.ts +14 -13
- package/src/tileset-2d/tileset-2d.ts +81 -19
- package/src/tileset-2d.ts +25 -1
- package/dist/constants.d.ts +0 -38
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -39
- package/dist/constants.js.map +0 -1
- package/dist/point-cloud/point-cloud-tile.d.ts +0 -47
- package/dist/point-cloud/point-cloud-tile.d.ts.map +0 -1
- package/dist/point-cloud/point-cloud-tile.js +0 -70
- package/dist/point-cloud/point-cloud-tile.js.map +0 -1
- package/dist/point-cloud/point-cloud-tileset.d.ts +0 -135
- package/dist/point-cloud/point-cloud-tileset.d.ts.map +0 -1
- package/dist/point-cloud/point-cloud-tileset.js +0 -549
- package/dist/point-cloud/point-cloud-tileset.js.map +0 -1
- package/dist/point-cloud/types.d.ts +0 -81
- package/dist/point-cloud/types.d.ts.map +0 -1
- package/dist/point-cloud/types.js.map +0 -1
- package/dist/spatial/format-spatial-reference.d.ts +0 -68
- package/dist/spatial/format-spatial-reference.d.ts.map +0 -1
- package/dist/spatial/format-spatial-reference.js +0 -291
- package/dist/spatial/format-spatial-reference.js.map +0 -1
- package/dist/spatial/get-spatial-coordinate-frame.d.ts +0 -20
- package/dist/spatial/get-spatial-coordinate-frame.d.ts.map +0 -1
- package/dist/spatial/get-spatial-coordinate-frame.js +0 -139
- package/dist/spatial/get-spatial-coordinate-frame.js.map +0 -1
- package/dist/spatial/i3s-elevation.d.ts +0 -20
- package/dist/spatial/i3s-elevation.d.ts.map +0 -1
- package/dist/spatial/i3s-elevation.js +0 -90
- package/dist/spatial/i3s-elevation.js.map +0 -1
- package/dist/spatial/i3s-spatial-transformer.d.ts +0 -205
- package/dist/spatial/i3s-spatial-transformer.d.ts.map +0 -1
- package/dist/spatial/i3s-spatial-transformer.js +0 -731
- package/dist/spatial/i3s-spatial-transformer.js.map +0 -1
- package/dist/spatial/normalize-crs-identifier.d.ts +0 -15
- package/dist/spatial/normalize-crs-identifier.d.ts.map +0 -1
- package/dist/spatial/normalize-crs-identifier.js +0 -22
- package/dist/spatial/normalize-crs-identifier.js.map +0 -1
- package/dist/spatial/spatial-coordinate-transformer.d.ts +0 -52
- package/dist/spatial/spatial-coordinate-transformer.d.ts.map +0 -1
- package/dist/spatial/spatial-coordinate-transformer.js +0 -295
- package/dist/spatial/spatial-coordinate-transformer.js.map +0 -1
- package/dist/spatial/spatial-resource-registry.d.ts +0 -47
- package/dist/spatial/spatial-resource-registry.d.ts.map +0 -1
- package/dist/spatial/spatial-resource-registry.js +0 -76
- package/dist/spatial/spatial-resource-registry.js.map +0 -1
- package/dist/spatial/spatial-types.d.ts +0 -190
- package/dist/spatial/spatial-types.d.ts.map +0 -1
- package/dist/spatial/spatial-types.js +0 -192
- package/dist/spatial/spatial-types.js.map +0 -1
- package/dist/spatial/tiles-3d-spatial-transformer.d.ts +0 -32
- package/dist/spatial/tiles-3d-spatial-transformer.d.ts.map +0 -1
- package/dist/spatial/tiles-3d-spatial-transformer.js +0 -163
- package/dist/spatial/tiles-3d-spatial-transformer.js.map +0 -1
- package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts +0 -60
- package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts.map +0 -1
- package/dist/tileset-3d/common/indexed-archive-tileset-source.js +0 -130
- package/dist/tileset-3d/common/indexed-archive-tileset-source.js.map +0 -1
- package/dist/tileset-3d/common/tile-3d-contracts.d.ts +0 -63
- package/dist/tileset-3d/common/tile-3d-contracts.d.ts.map +0 -1
- package/dist/tileset-3d/common/tile-3d-contracts.js +0 -51
- package/dist/tileset-3d/common/tile-3d-contracts.js.map +0 -1
- package/dist/tileset-3d/common/tile-3d.d.ts +0 -410
- package/dist/tileset-3d/common/tile-3d.d.ts.map +0 -1
- package/dist/tileset-3d/common/tile-3d.js +0 -1056
- package/dist/tileset-3d/common/tile-3d.js.map +0 -1
- package/dist/tileset-3d/common/tileset-3d.d.ts +0 -367
- package/dist/tileset-3d/common/tileset-3d.d.ts.map +0 -1
- package/dist/tileset-3d/common/tileset-3d.js +0 -879
- package/dist/tileset-3d/common/tileset-3d.js.map +0 -1
- package/dist/tileset-3d/common/tileset-cache.d.ts +0 -29
- package/dist/tileset-3d/common/tileset-cache.d.ts.map +0 -1
- package/dist/tileset-3d/common/tileset-cache.js +0 -82
- package/dist/tileset-3d/common/tileset-cache.js.map +0 -1
- package/dist/tileset-3d/common/tileset-content-traversal.d.ts +0 -37
- package/dist/tileset-3d/common/tileset-content-traversal.d.ts.map +0 -1
- package/dist/tileset-3d/common/tileset-content-traversal.js +0 -80
- package/dist/tileset-3d/common/tileset-content-traversal.js.map +0 -1
- package/dist/tileset-3d/common/tileset-observability.d.ts +0 -60
- package/dist/tileset-3d/common/tileset-observability.d.ts.map +0 -1
- package/dist/tileset-3d/common/tileset-observability.js +0 -39
- package/dist/tileset-3d/common/tileset-observability.js.map +0 -1
- package/dist/tileset-3d/common/tileset-source.d.ts +0 -228
- package/dist/tileset-3d/common/tileset-source.d.ts.map +0 -1
- package/dist/tileset-3d/common/tileset-source.js +0 -17
- package/dist/tileset-3d/common/tileset-source.js.map +0 -1
- package/dist/tileset-3d/common/tileset-traverser.d.ts +0 -88
- package/dist/tileset-3d/common/tileset-traverser.d.ts.map +0 -1
- package/dist/tileset-3d/common/tileset-traverser.js +0 -341
- package/dist/tileset-3d/common/tileset-traverser.js.map +0 -1
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts +0 -182
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.d.ts.map +0 -1
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js +0 -681
- package/dist/tileset-3d/format-3d-tiles/implicit-tiling.js.map +0 -1
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts +0 -221
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts.map +0 -1
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js +0 -770
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js.map +0 -1
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts +0 -111
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts.map +0 -1
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js +0 -339
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js.map +0 -1
- package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.d.ts +0 -27
- package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.d.ts.map +0 -1
- package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.js +0 -45
- package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.js.map +0 -1
- package/dist/tileset-3d/format-i3s/i3s-source.d.ts +0 -116
- package/dist/tileset-3d/format-i3s/i3s-source.d.ts.map +0 -1
- package/dist/tileset-3d/format-i3s/i3s-source.js +0 -450
- package/dist/tileset-3d/format-i3s/i3s-source.js.map +0 -1
- package/dist/tileset-3d/format-i3s/i3s-tile-manager.d.ts +0 -34
- package/dist/tileset-3d/format-i3s/i3s-tile-manager.d.ts.map +0 -1
- package/dist/tileset-3d/format-i3s/i3s-tile-manager.js +0 -81
- package/dist/tileset-3d/format-i3s/i3s-tile-manager.js.map +0 -1
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.d.ts +0 -25
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.d.ts.map +0 -1
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js +0 -84
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js.map +0 -1
- package/dist/tileset-3d/helpers/3d-tiles-options.d.ts +0 -5
- package/dist/tileset-3d/helpers/3d-tiles-options.d.ts.map +0 -1
- package/dist/tileset-3d/helpers/3d-tiles-options.js +0 -9
- package/dist/tileset-3d/helpers/3d-tiles-options.js.map +0 -1
- package/dist/tileset-3d/helpers/bounding-volume.d.ts +0 -23
- package/dist/tileset-3d/helpers/bounding-volume.d.ts.map +0 -1
- package/dist/tileset-3d/helpers/bounding-volume.js +0 -236
- package/dist/tileset-3d/helpers/bounding-volume.js.map +0 -1
- package/dist/tileset-3d/helpers/frame-state.d.ts +0 -93
- package/dist/tileset-3d/helpers/frame-state.d.ts.map +0 -1
- package/dist/tileset-3d/helpers/frame-state.js +0 -211
- package/dist/tileset-3d/helpers/frame-state.js.map +0 -1
- package/dist/tileset-3d/helpers/i3s-lod.d.ts +0 -20
- package/dist/tileset-3d/helpers/i3s-lod.d.ts.map +0 -1
- package/dist/tileset-3d/helpers/i3s-lod.js +0 -95
- package/dist/tileset-3d/helpers/i3s-lod.js.map +0 -1
- package/dist/tileset-3d/helpers/s2-bounding-volume.d.ts +0 -17
- package/dist/tileset-3d/helpers/s2-bounding-volume.d.ts.map +0 -1
- package/dist/tileset-3d/helpers/s2-bounding-volume.js +0 -20
- package/dist/tileset-3d/helpers/s2-bounding-volume.js.map +0 -1
- package/dist/tileset-3d/helpers/tiles-3d-lod.d.ts +0 -72
- package/dist/tileset-3d/helpers/tiles-3d-lod.d.ts.map +0 -1
- package/dist/tileset-3d/helpers/tiles-3d-lod.js +0 -257
- package/dist/tileset-3d/helpers/tiles-3d-lod.js.map +0 -1
- package/dist/tileset-3d/helpers/tiles-3d-request-priority.d.ts +0 -134
- package/dist/tileset-3d/helpers/tiles-3d-request-priority.d.ts.map +0 -1
- package/dist/tileset-3d/helpers/tiles-3d-request-priority.js +0 -179
- package/dist/tileset-3d/helpers/tiles-3d-request-priority.js.map +0 -1
- package/dist/tileset-3d/helpers/transform-utils.d.ts +0 -3
- package/dist/tileset-3d/helpers/transform-utils.d.ts.map +0 -1
- package/dist/tileset-3d/helpers/transform-utils.js +0 -86
- package/dist/tileset-3d/helpers/transform-utils.js.map +0 -1
- package/dist/tileset-3d/helpers/zoom.d.ts +0 -46
- package/dist/tileset-3d/helpers/zoom.d.ts.map +0 -1
- package/dist/tileset-3d/helpers/zoom.js +0 -86
- package/dist/tileset-3d/helpers/zoom.js.map +0 -1
- package/dist/types.d.ts +0 -48
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/utils/doubly-linked-list-node.d.ts +0 -11
- package/dist/utils/doubly-linked-list-node.d.ts.map +0 -1
- package/dist/utils/doubly-linked-list-node.js +0 -20
- package/dist/utils/doubly-linked-list-node.js.map +0 -1
- package/dist/utils/doubly-linked-list.d.ts +0 -30
- package/dist/utils/doubly-linked-list.d.ts.map +0 -1
- package/dist/utils/doubly-linked-list.js +0 -93
- package/dist/utils/doubly-linked-list.js.map +0 -1
- package/dist/utils/managed-array.d.ts +0 -85
- package/dist/utils/managed-array.d.ts.map +0 -1
- package/dist/utils/managed-array.js +0 -152
- package/dist/utils/managed-array.js.map +0 -1
- package/src/constants.ts +0 -59
- package/src/point-cloud/point-cloud-tile.ts +0 -80
- package/src/point-cloud/point-cloud-tileset.ts +0 -767
- package/src/point-cloud/types.ts +0 -99
- package/src/spatial/format-spatial-reference.ts +0 -385
- package/src/spatial/get-spatial-coordinate-frame.ts +0 -169
- package/src/spatial/i3s-elevation.ts +0 -96
- package/src/spatial/i3s-spatial-transformer.ts +0 -1021
- package/src/spatial/normalize-crs-identifier.ts +0 -26
- package/src/spatial/spatial-coordinate-transformer.ts +0 -377
- package/src/spatial/spatial-resource-registry.ts +0 -90
- package/src/spatial/spatial-types.ts +0 -422
- package/src/spatial/tiles-3d-spatial-transformer.ts +0 -194
- package/src/tileset-3d/common/indexed-archive-tileset-source.ts +0 -205
- package/src/tileset-3d/common/tile-3d-contracts.ts +0 -115
- package/src/tileset-3d/common/tile-3d.ts +0 -1310
- package/src/tileset-3d/common/tileset-3d.ts +0 -1208
- package/src/tileset-3d/common/tileset-cache.ts +0 -111
- package/src/tileset-3d/common/tileset-content-traversal.ts +0 -114
- package/src/tileset-3d/common/tileset-observability.ts +0 -100
- package/src/tileset-3d/common/tileset-source.ts +0 -284
- package/src/tileset-3d/common/tileset-traverser.ts +0 -416
- package/src/tileset-3d/format-3d-tiles/implicit-tiling.ts +0 -1059
- package/src/tileset-3d/format-3d-tiles/tiles-3d-source.ts +0 -1025
- package/src/tileset-3d/format-3d-tiles/tileset-3d-traverser.ts +0 -391
- package/src/tileset-3d/format-i3s/i3s-pending-tiles-register.ts +0 -48
- package/src/tileset-3d/format-i3s/i3s-source.ts +0 -557
- package/src/tileset-3d/format-i3s/i3s-tile-manager.ts +0 -105
- package/src/tileset-3d/format-i3s/i3s-tileset-traverser.ts +0 -102
- package/src/tileset-3d/helpers/3d-tiles-options.ts +0 -11
- package/src/tileset-3d/helpers/bounding-volume.ts +0 -281
- package/src/tileset-3d/helpers/frame-state.ts +0 -322
- package/src/tileset-3d/helpers/i3s-lod.ts +0 -109
- package/src/tileset-3d/helpers/s2-bounding-volume.ts +0 -35
- package/src/tileset-3d/helpers/tiles-3d-lod.ts +0 -370
- package/src/tileset-3d/helpers/tiles-3d-request-priority.ts +0 -301
- package/src/tileset-3d/helpers/transform-utils.ts +0 -109
- package/src/tileset-3d/helpers/zoom.ts +0 -120
- package/src/types.ts +0 -54
- package/src/utils/doubly-linked-list-node.ts +0 -22
- package/src/utils/doubly-linked-list.ts +0 -105
- package/src/utils/managed-array.ts +0 -174
- /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":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EACL,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,iCAAiC,CAAC;AAqDzC;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAA6B,EAC7B,KAA0B,EAC1B,UAAsC,EAAE;IAExC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;IACrC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,CAAC;IACD,IACE,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QACzB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;QACpC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACjC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EACjC,CAAC;QACD,MAAM,IAAI,UAAU,CAAC,+CAA+C,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,UAAU,CAAC,sDAAsD,CAAC,CAAC;IAC/E,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACxC,wGAAwG;QACxG,MAAM,gBAAgB,GAAI,MAAmE;aAC1F,oBAAoB,CAAC;QACxB,IACE,gBAAgB,KAAK,SAAS;YAC9B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,EACjE,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IACD,MAAM,cAAc,GAAG,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkE,CAAC;IAC3F,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,CAAC,UAAU,CAAC,CAAC;QACvF,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,UAAU,CAAC,wDAAwD,CAAC,CAAC;QACjF,CAAC;QACD,2FAA2F;QAC3F,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACzE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClG,MAAM,KAAK,GAAG,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1F,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;IACvD,IAAI,KAAK,GAAG,gBAAgB,GAAG,MAAM;QACnC,MAAM,IAAI,UAAU,CAAC,0CAA0C,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,UAAU,EAAE,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE,CAAC;QAChE,KAAK,IAAI,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC;YAC/E,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YAC9E,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,EAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,EAAC;gBAC1C,UAAU,EAAE,cAAc,CAAC,EAAE;gBAC7B,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;gBACnE,IAAI,EAAE,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAC;gBAChC,GAAG,EAAE,SAAS,CAAC,GAAG;gBAClB,QAAQ,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAClB,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -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
|
|
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,
|
|
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
|
-
|
|
123
|
-
|
|
124
|
-
|
|
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 (
|
|
128
|
-
|
|
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
|
|
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 '
|
|
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
|
-
/**
|
|
35
|
+
/** Tile-count high-water mark, default 100; selected and visible tiles remain retained. */
|
|
36
36
|
maxCacheSize?: number | null;
|
|
37
|
-
/**
|
|
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
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
135
|
+
/** Clears consumers and cache, aborting requests and suppressing late tile and metadata results. */
|
|
132
136
|
finalize(): void;
|
|
133
|
-
/** Marks
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
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":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"tileset-2d.d.ts","sourceRoot":"","sources":["../../src/tileset-2d/tileset-2d.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 '
|
|
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
|
-
/**
|
|
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
|
-
/**
|
|
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
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
/**
|
|
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
|
|
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.
|
|
575
|
+
const parent = this._cache.get(this.getTileId(index));
|
|
522
576
|
if (parent) {
|
|
523
577
|
return parent;
|
|
524
578
|
}
|