@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
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
// loaders.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
import { Vector3 } from '@math.gl/core';
|
|
5
|
-
import { CullingVolume, Plane } from '@math.gl/culling';
|
|
6
|
-
import { Ellipsoid } from '@math.gl/geospatial';
|
|
7
|
-
const scratchVector = new Vector3();
|
|
8
|
-
const scratchPosition = new Vector3();
|
|
9
|
-
const CAMERA_POSITION_EPSILON = 1e-5;
|
|
10
|
-
const CAMERA_DIRECTION_EPSILON = 1e-7;
|
|
11
|
-
const cullingVolume = new CullingVolume([
|
|
12
|
-
new Plane(),
|
|
13
|
-
new Plane(),
|
|
14
|
-
new Plane(),
|
|
15
|
-
new Plane(),
|
|
16
|
-
new Plane(),
|
|
17
|
-
new Plane()
|
|
18
|
-
]);
|
|
19
|
-
/**
|
|
20
|
-
* Extracts a frame state appropriate for tile culling from a structural deck.gl viewport.
|
|
21
|
-
*
|
|
22
|
-
* The viewport must describe the render camera, including its elevation. Geographic heights
|
|
23
|
-
* returned by `unprojectPosition` are used directly; adding a terrain offset only to traversal
|
|
24
|
-
* would make visibility, camera distances, and screen-space error disagree with rendering.
|
|
25
|
-
*
|
|
26
|
-
* `options.timeSinceCameraMovement` can be supplied by a caller that retains camera pose across
|
|
27
|
-
* calls. It defaults to a stationary camera so standalone callers do not defer requests.
|
|
28
|
-
*
|
|
29
|
-
* @param viewport - Geospatial viewport supplying camera and projection measurements.
|
|
30
|
-
* @param frameNumber - Current tileset traversal frame number.
|
|
31
|
-
* @param options - Additional camera and projection measurements for traversal.
|
|
32
|
-
* @returns Frame state used for visibility, SSE, and request-priority calculations.
|
|
33
|
-
*/
|
|
34
|
-
export function getFrameState(viewport, frameNumber, options = {}) {
|
|
35
|
-
// Traverse and and request. Update _selectedTiles so that we know what to render.
|
|
36
|
-
// Traverse and and request. Update _selectedTiles so that we know what to render.
|
|
37
|
-
const { cameraUp, height } = viewport;
|
|
38
|
-
const cameraDirection = viewport.cameraDirection;
|
|
39
|
-
const { metersPerUnit } = viewport.distanceScales;
|
|
40
|
-
// TODO - Ellipsoid.eastNorthUpToFixedFrame() breaks on raw array, create a Vector.
|
|
41
|
-
// TODO - Ellipsoid.eastNorthUpToFixedFrame() takes a cartesian, is that intuitive?
|
|
42
|
-
const viewportCenterCartesian = worldToCartesian(viewport, viewport.center);
|
|
43
|
-
const enuToFixedTransform = Ellipsoid.WGS84.eastNorthUpToFixedFrame(viewportCenterCartesian);
|
|
44
|
-
const cameraPositionCartographic = viewport.unprojectPosition(viewport.cameraPosition);
|
|
45
|
-
const cameraPositionCartesian = Ellipsoid.WGS84.cartographicToCartesian(cameraPositionCartographic, new Vector3());
|
|
46
|
-
// These should still be normalized as the transform has scale 1 (goes from meters to meters)
|
|
47
|
-
let cameraDirectionCartesian;
|
|
48
|
-
if (cameraDirection) {
|
|
49
|
-
cameraDirectionCartesian = new Vector3(
|
|
50
|
-
// @ts-ignore
|
|
51
|
-
enuToFixedTransform.transformAsVector(new Vector3(cameraDirection).scale(metersPerUnit))).normalize();
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
// Concrete deck.gl viewports do not expose the legacy structural cameraDirection field.
|
|
55
|
-
// The near-plane center is on the view axis, so its world-space direction is equivalent and
|
|
56
|
-
// works for perspective foveation without coupling loaders.gl to deck.gl internals.
|
|
57
|
-
// getFrustumPlanes is required by traversal but omitted from the minimal structural Viewport
|
|
58
|
-
// type for compatibility with existing application-side declarations.
|
|
59
|
-
// @ts-expect-error Runtime geospatial viewports provide getFrustumPlanes.
|
|
60
|
-
const nearPlane = viewport.getFrustumPlanes().near;
|
|
61
|
-
const nearCenterCommon = closestPointOnPlane(nearPlane, viewport.cameraPosition);
|
|
62
|
-
const nearCenterCartesian = worldToCartesian(viewport, nearCenterCommon);
|
|
63
|
-
cameraDirectionCartesian = new Vector3(nearCenterCartesian)
|
|
64
|
-
.subtract(cameraPositionCartesian)
|
|
65
|
-
.normalize();
|
|
66
|
-
}
|
|
67
|
-
const cameraUpCartesian = new Vector3(
|
|
68
|
-
// @ts-ignore
|
|
69
|
-
enuToFixedTransform.transformAsVector(new Vector3(cameraUp).scale(metersPerUnit))).normalize();
|
|
70
|
-
commonSpacePlanesToWGS84(viewport);
|
|
71
|
-
const ViewportClass = viewport.constructor;
|
|
72
|
-
const { longitude, latitude, width, bearing, zoom, position } = viewport;
|
|
73
|
-
// @ts-ignore
|
|
74
|
-
const topDownViewport = new ViewportClass({
|
|
75
|
-
longitude,
|
|
76
|
-
latitude,
|
|
77
|
-
height,
|
|
78
|
-
width,
|
|
79
|
-
bearing,
|
|
80
|
-
zoom,
|
|
81
|
-
position,
|
|
82
|
-
pitch: 0
|
|
83
|
-
});
|
|
84
|
-
const verticalFieldOfView = Number.isFinite(viewport.fovy) && Number(viewport.fovy) > 0 && Number(viewport.fovy) < 180
|
|
85
|
-
? (Number(viewport.fovy) * Math.PI) / 180
|
|
86
|
-
: Math.PI / 3;
|
|
87
|
-
// TODO: make a file/class for frameState and document what needs to be attached to this so that traversal can function
|
|
88
|
-
return {
|
|
89
|
-
camera: {
|
|
90
|
-
position: cameraPositionCartesian,
|
|
91
|
-
direction: cameraDirectionCartesian,
|
|
92
|
-
up: cameraUpCartesian,
|
|
93
|
-
cartographicPosition: cameraPositionCartographic,
|
|
94
|
-
verticalFieldOfView,
|
|
95
|
-
timeSinceMovement: options.timeSinceCameraMovement ?? Number.POSITIVE_INFINITY
|
|
96
|
-
},
|
|
97
|
-
viewport,
|
|
98
|
-
topDownViewport,
|
|
99
|
-
height,
|
|
100
|
-
cullingVolume,
|
|
101
|
-
clippingPlanes: viewport.clippingPlanes,
|
|
102
|
-
frameNumber, // TODO: This can be the same between updates, what number is unique for between updates?
|
|
103
|
-
sseDenominator: 2 * Math.tan(verticalFieldOfView / 2),
|
|
104
|
-
// Tileset3D fills this immediately before traversal because it depends on the root volume.
|
|
105
|
-
dynamicScreenSpaceErrorDensity: 0
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Updates retained camera motion state and calculates how long the current pose has been stable.
|
|
110
|
-
*
|
|
111
|
-
* The first observation is treated as stationary so initial tileset loading is never delayed.
|
|
112
|
-
* Position and direction are both compared because orbiting in place changes request relevance
|
|
113
|
-
* without necessarily changing the viewport's camera position.
|
|
114
|
-
*
|
|
115
|
-
* @param previousState - Pose retained from the preceding traversal for this viewport.
|
|
116
|
-
* @param position - Current Earth-centered, Earth-fixed camera position.
|
|
117
|
-
* @param direction - Current normalized Earth-centered, Earth-fixed camera direction.
|
|
118
|
-
* @param currentTime - Current monotonic-enough wall-clock time in milliseconds.
|
|
119
|
-
* @returns Updated pose and elapsed stationary time.
|
|
120
|
-
*/
|
|
121
|
-
export function updateCameraMotionState(previousState, position, direction, currentTime) {
|
|
122
|
-
const positionArray = Array.from(position);
|
|
123
|
-
const directionArray = Array.from(direction);
|
|
124
|
-
const positionChanged = previousState
|
|
125
|
-
? positionArray.length !== previousState.position.length ||
|
|
126
|
-
positionArray.some((value, index) => Math.abs(value - previousState.position[index]) > CAMERA_POSITION_EPSILON)
|
|
127
|
-
: false;
|
|
128
|
-
const directionChanged = previousState
|
|
129
|
-
? directionArray.length !== previousState.direction.length ||
|
|
130
|
-
directionArray.some((value, index) => Math.abs(value - previousState.direction[index]) > CAMERA_DIRECTION_EPSILON)
|
|
131
|
-
: false;
|
|
132
|
-
const lastMovementTime = positionChanged || directionChanged
|
|
133
|
-
? currentTime
|
|
134
|
-
: (previousState?.lastMovementTime ?? Number.NEGATIVE_INFINITY);
|
|
135
|
-
return {
|
|
136
|
-
state: {
|
|
137
|
-
position: positionArray,
|
|
138
|
-
direction: directionArray,
|
|
139
|
-
lastMovementTime
|
|
140
|
-
},
|
|
141
|
-
timeSinceMovement: Math.max((currentTime - lastMovementTime) / 1000, 0)
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Limit `tiles` array length with `maximumTilesSelected` number.
|
|
146
|
-
* The criteria for this filtering is distance of a tile center
|
|
147
|
-
* to the `frameState.viewport`'s longitude and latitude
|
|
148
|
-
* @param tiles - tiles array to filter
|
|
149
|
-
* @param frameState - frameState to calculate distances
|
|
150
|
-
* @param maximumTilesSelected - maximal amount of tiles in the output array
|
|
151
|
-
* @returns new tiles array
|
|
152
|
-
*/
|
|
153
|
-
export function limitSelectedTiles(tiles, frameState, maximumTilesSelected) {
|
|
154
|
-
if (maximumTilesSelected === 0 || tiles.length <= maximumTilesSelected) {
|
|
155
|
-
return [tiles, []];
|
|
156
|
-
}
|
|
157
|
-
// Accumulate distances in couples array: [tileIndex: number, distanceToViewport: number]
|
|
158
|
-
const tuples = [];
|
|
159
|
-
const { longitude: viewportLongitude, latitude: viewportLatitude } = frameState.viewport;
|
|
160
|
-
for (const [index, tile] of tiles.entries()) {
|
|
161
|
-
const [longitude, latitude] = tile.header.mbs;
|
|
162
|
-
const deltaLon = Math.abs(viewportLongitude - longitude);
|
|
163
|
-
const deltaLat = Math.abs(viewportLatitude - latitude);
|
|
164
|
-
const distance = Math.sqrt(deltaLat * deltaLat + deltaLon * deltaLon);
|
|
165
|
-
tuples.push([index, distance]);
|
|
166
|
-
}
|
|
167
|
-
const tuplesSorted = tuples.sort((a, b) => a[1] - b[1]);
|
|
168
|
-
const selectedTiles = [];
|
|
169
|
-
for (let i = 0; i < maximumTilesSelected; i++) {
|
|
170
|
-
selectedTiles.push(tiles[tuplesSorted[i][0]]);
|
|
171
|
-
}
|
|
172
|
-
const unselectedTiles = [];
|
|
173
|
-
for (let i = maximumTilesSelected; i < tuplesSorted.length; i++) {
|
|
174
|
-
unselectedTiles.push(tiles[tuplesSorted[i][0]]);
|
|
175
|
-
}
|
|
176
|
-
return [selectedTiles, unselectedTiles];
|
|
177
|
-
}
|
|
178
|
-
function commonSpacePlanesToWGS84(viewport) {
|
|
179
|
-
// Extract frustum planes based on current view.
|
|
180
|
-
const frustumPlanes = viewport.getFrustumPlanes();
|
|
181
|
-
// Get the near/far plane centers
|
|
182
|
-
const nearCenterCommon = closestPointOnPlane(frustumPlanes.near, viewport.cameraPosition);
|
|
183
|
-
const nearCenterCartesian = worldToCartesian(viewport, nearCenterCommon);
|
|
184
|
-
const cameraCartesian = worldToCartesian(viewport, viewport.cameraPosition, scratchPosition);
|
|
185
|
-
let i = 0;
|
|
186
|
-
cullingVolume.planes[i++].fromPointNormal(nearCenterCartesian, scratchVector.copy(nearCenterCartesian).subtract(cameraCartesian));
|
|
187
|
-
for (const dir in frustumPlanes) {
|
|
188
|
-
if (dir === 'near') {
|
|
189
|
-
continue; // eslint-disable-line no-continue
|
|
190
|
-
}
|
|
191
|
-
const plane = frustumPlanes[dir];
|
|
192
|
-
const posCommon = closestPointOnPlane(plane, nearCenterCommon, scratchPosition);
|
|
193
|
-
const cartesianPos = worldToCartesian(viewport, posCommon, scratchPosition);
|
|
194
|
-
cullingVolume.planes[i++].fromPointNormal(cartesianPos,
|
|
195
|
-
// Want the normal to point into the frustum since that's what culling expects
|
|
196
|
-
scratchVector.copy(nearCenterCartesian).subtract(cartesianPos));
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
function closestPointOnPlane(plane, refPoint, out = new Vector3()) {
|
|
200
|
-
const distanceToRef = plane.normal.dot(refPoint);
|
|
201
|
-
out
|
|
202
|
-
.copy(plane.normal)
|
|
203
|
-
.scale(plane.distance - distanceToRef)
|
|
204
|
-
.add(refPoint);
|
|
205
|
-
return out;
|
|
206
|
-
}
|
|
207
|
-
function worldToCartesian(viewport, point, out = new Vector3()) {
|
|
208
|
-
const cartographicPos = viewport.unprojectPosition(point);
|
|
209
|
-
return Ellipsoid.WGS84.cartographicToCartesian(cartographicPos, out);
|
|
210
|
-
}
|
|
211
|
-
//# sourceMappingURL=frame-state.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"frame-state.js","sourceRoot":"","sources":["../../../src/tileset-3d/helpers/frame-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Tile3D } from "../common/tile-3d.js";
|
|
2
|
-
import { FrameState } from "./frame-state.js";
|
|
3
|
-
/**
|
|
4
|
-
* For the maxScreenThreshold error metric, maxError means that you should replace the node with it's children
|
|
5
|
-
as soon as the nodes bounding sphere has a screen radius larger than maxError pixels.
|
|
6
|
-
In this sense a value of 0 means you should always load it's children,
|
|
7
|
-
or if it's a leaf node, you should always display it.
|
|
8
|
-
* @param tile
|
|
9
|
-
* @param frameState
|
|
10
|
-
* @returns
|
|
11
|
-
*/
|
|
12
|
-
export declare function getLodStatus(tile: Tile3D, frameState: FrameState): 'DIG' | 'OUT' | 'DRAW';
|
|
13
|
-
/**
|
|
14
|
-
* Calculate size of MBS radius projected on the screen plane
|
|
15
|
-
* @param tile
|
|
16
|
-
* @param frameState
|
|
17
|
-
* @returns
|
|
18
|
-
*/
|
|
19
|
-
export declare function getProjectedRadius(tile: Tile3D, frameState: FrameState): number;
|
|
20
|
-
//# sourceMappingURL=i3s-lod.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"i3s-lod.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/helpers/i3s-lod.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAC,6BAA0B;AACzC,OAAO,EAAC,UAAU,EAAC,yBAAsB;AAUzC;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CA2BzF;AAED;;;;;GAKG;AAEH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,CA8C/E"}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
// loaders.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright (c) vis.gl contributors
|
|
4
|
-
import { Matrix4, Vector3 } from '@math.gl/core';
|
|
5
|
-
import { Ellipsoid } from '@math.gl/geospatial';
|
|
6
|
-
const cameraPositionCartesian = new Vector3();
|
|
7
|
-
const toEye = new Vector3();
|
|
8
|
-
const cameraPositionEnu = new Vector3();
|
|
9
|
-
const extraVertexEnu = new Vector3();
|
|
10
|
-
const projectedOriginVector = new Vector3();
|
|
11
|
-
const enuToCartesianMatrix = new Matrix4();
|
|
12
|
-
const cartesianToEnuMatrix = new Matrix4();
|
|
13
|
-
/**
|
|
14
|
-
* For the maxScreenThreshold error metric, maxError means that you should replace the node with it's children
|
|
15
|
-
as soon as the nodes bounding sphere has a screen radius larger than maxError pixels.
|
|
16
|
-
In this sense a value of 0 means you should always load it's children,
|
|
17
|
-
or if it's a leaf node, you should always display it.
|
|
18
|
-
* @param tile
|
|
19
|
-
* @param frameState
|
|
20
|
-
* @returns
|
|
21
|
-
*/
|
|
22
|
-
export function getLodStatus(tile, frameState) {
|
|
23
|
-
if (tile.lodMetricValue === 0 || Number.isNaN(tile.lodMetricValue)) {
|
|
24
|
-
return 'DIG';
|
|
25
|
-
}
|
|
26
|
-
const screenSize = 2 * getProjectedRadius(tile, frameState);
|
|
27
|
-
if (screenSize < 2) {
|
|
28
|
-
return 'OUT';
|
|
29
|
-
}
|
|
30
|
-
if (!tile.header.children) {
|
|
31
|
-
return 'DRAW';
|
|
32
|
-
}
|
|
33
|
-
switch (tile.lodMetricType) {
|
|
34
|
-
case 'screenSpaceRelative': {
|
|
35
|
-
const viewportHeight = frameState.topDownViewport.height || 1;
|
|
36
|
-
return screenSize / viewportHeight <= tile.lodMetricValue ? 'DRAW' : 'DIG';
|
|
37
|
-
}
|
|
38
|
-
case 'distanceRangeFromDefaultCamera':
|
|
39
|
-
return tile.distanceToTile(frameState) >= tile.lodMetricValue ? 'DRAW' : 'DIG';
|
|
40
|
-
case 'maxScreenThresholdSQ': {
|
|
41
|
-
const diameterThreshold = Math.sqrt(tile.lodMetricValue / (Math.PI * 0.25));
|
|
42
|
-
return screenSize <= diameterThreshold ? 'DRAW' : 'DIG';
|
|
43
|
-
}
|
|
44
|
-
case 'maxScreenThreshold':
|
|
45
|
-
default:
|
|
46
|
-
return screenSize <= tile.lodMetricValue ? 'DRAW' : 'DIG';
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Calculate size of MBS radius projected on the screen plane
|
|
51
|
-
* @param tile
|
|
52
|
-
* @param frameState
|
|
53
|
-
* @returns
|
|
54
|
-
*/
|
|
55
|
-
// eslint-disable-next-line max-statements
|
|
56
|
-
export function getProjectedRadius(tile, frameState) {
|
|
57
|
-
const { topDownViewport: viewport } = frameState;
|
|
58
|
-
const mbs = tile.header.i3sLodMbs || tile.header.mbs;
|
|
59
|
-
const mbsLat = mbs[1];
|
|
60
|
-
const mbsLon = mbs[0];
|
|
61
|
-
const mbsZ = mbs[2];
|
|
62
|
-
const mbsR = mbs[3];
|
|
63
|
-
const mbsCenterCartesian = [...tile.boundingVolume.center];
|
|
64
|
-
const cameraPositionCartographic = viewport.unprojectPosition(viewport.cameraPosition);
|
|
65
|
-
Ellipsoid.WGS84.cartographicToCartesian(cameraPositionCartographic, cameraPositionCartesian);
|
|
66
|
-
// ---------------------------
|
|
67
|
-
// Calculate mbs border vertex
|
|
68
|
-
// ---------------------------
|
|
69
|
-
toEye.copy(cameraPositionCartesian).subtract(mbsCenterCartesian).normalize();
|
|
70
|
-
// Add extra vector to form plane
|
|
71
|
-
Ellipsoid.WGS84.eastNorthUpToFixedFrame(mbsCenterCartesian, enuToCartesianMatrix);
|
|
72
|
-
cartesianToEnuMatrix.copy(enuToCartesianMatrix).invert();
|
|
73
|
-
cameraPositionEnu.copy(cameraPositionCartesian).transform(cartesianToEnuMatrix);
|
|
74
|
-
// Mean Proportionals in Right Triangles - Altitude rule
|
|
75
|
-
// https://mathbitsnotebook.com/Geometry/RightTriangles/RTmeanRight.html
|
|
76
|
-
const projection = Math.sqrt(cameraPositionEnu[0] * cameraPositionEnu[0] + cameraPositionEnu[1] * cameraPositionEnu[1]);
|
|
77
|
-
const extraZ = (projection * projection) / cameraPositionEnu[2];
|
|
78
|
-
extraVertexEnu.copy([cameraPositionEnu[0], cameraPositionEnu[1], extraZ]);
|
|
79
|
-
const extraVertexCartesian = extraVertexEnu.transform(enuToCartesianMatrix);
|
|
80
|
-
const extraVectorCartesian = extraVertexCartesian.subtract(mbsCenterCartesian).normalize();
|
|
81
|
-
// We need radius vector orthogonal to toEye vector
|
|
82
|
-
const radiusVector = toEye.cross(extraVectorCartesian).normalize().scale(mbsR);
|
|
83
|
-
const sphereMbsBorderVertexCartesian = radiusVector.add(mbsCenterCartesian);
|
|
84
|
-
const sphereMbsBorderVertexCartographic = Ellipsoid.WGS84.cartesianToCartographic(sphereMbsBorderVertexCartesian);
|
|
85
|
-
// ---------------------------
|
|
86
|
-
// Project center vertex and border vertex and calculate projected radius of MBS
|
|
87
|
-
const projectedOrigin = viewport.project([mbsLon, mbsLat, mbsZ]);
|
|
88
|
-
const projectedMbsBorderVertex = viewport.project(sphereMbsBorderVertexCartographic);
|
|
89
|
-
const projectedRadius = projectedOriginVector
|
|
90
|
-
.copy(projectedOrigin)
|
|
91
|
-
.subtract(projectedMbsBorderVertex)
|
|
92
|
-
.magnitude();
|
|
93
|
-
return projectedRadius;
|
|
94
|
-
}
|
|
95
|
-
//# sourceMappingURL=i3s-lod.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"i3s-lod.js","sourceRoot":"","sources":["../../../src/tileset-3d/helpers/i3s-lod.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/** Serialized S2 cell metadata used by 3D Tiles bounding-volume extensions. */
|
|
2
|
-
export type S2VolumeInfo = {
|
|
3
|
-
/** S2 key or token. */
|
|
4
|
-
token: string;
|
|
5
|
-
/** Minimum height in meters. */
|
|
6
|
-
minimumHeight: number;
|
|
7
|
-
/** Maximum height in meters. */
|
|
8
|
-
maximumHeight: number;
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* Converts an S2 cell and its vertical range to the runtime oriented-box representation.
|
|
12
|
-
*
|
|
13
|
-
* @param s2VolumeInfo - S2 cell token and height range.
|
|
14
|
-
* @returns A twelve-component center/half-axis oriented bounding box.
|
|
15
|
-
*/
|
|
16
|
-
export declare function convertS2BoundingVolumeToOBB(s2VolumeInfo: S2VolumeInfo): number[];
|
|
17
|
-
//# sourceMappingURL=s2-bounding-volume.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"s2-bounding-volume.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/helpers/s2-bounding-volume.ts"],"names":[],"mappings":"AAUA,+EAA+E;AAC/E,MAAM,MAAM,YAAY,GAAG;IACzB,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,EAAE,CAQjF"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
// loaders.gl
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Copyright vis.gl contributors
|
|
4
|
-
// TypeScript's legacy `node` resolution does not inspect package `exports`, but this public
|
|
5
|
-
// subpath is resolved by the package at runtime and avoids loading unrelated DGGS decoders.
|
|
6
|
-
// @ts-expect-error Conditional package subpath exports require a modern module resolver.
|
|
7
|
-
import { getS2Bounds } from '@math.gl/dggs/s2';
|
|
8
|
-
import { Ellipsoid, makeOBBFromRegion } from '@math.gl/geospatial';
|
|
9
|
-
/**
|
|
10
|
-
* Converts an S2 cell and its vertical range to the runtime oriented-box representation.
|
|
11
|
-
*
|
|
12
|
-
* @param s2VolumeInfo - S2 cell token and height range.
|
|
13
|
-
* @returns A twelve-component center/half-axis oriented bounding box.
|
|
14
|
-
*/
|
|
15
|
-
export function convertS2BoundingVolumeToOBB(s2VolumeInfo) {
|
|
16
|
-
const [[west, south], [east, north]] = getS2Bounds(s2VolumeInfo.token);
|
|
17
|
-
const orientedBoundingBox = makeOBBFromRegion([west, south, east, north, s2VolumeInfo.minimumHeight, s2VolumeInfo.maximumHeight], Ellipsoid.WGS84, { units: 'degrees' });
|
|
18
|
-
return [...orientedBoundingBox.center, ...orientedBoundingBox.halfAxes];
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=s2-bounding-volume.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"s2-bounding-volume.js","sourceRoot":"","sources":["../../../src/tileset-3d/helpers/s2-bounding-volume.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,gCAAgC;AAEhC,4FAA4F;AAC5F,4FAA4F;AAC5F,yFAAyF;AACzF,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,SAAS,EAAE,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAYjE;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,YAA0B;IACrE,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,mBAAmB,GAAG,iBAAiB,CAC3C,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,aAAa,EAAE,YAAY,CAAC,aAAa,CAAC,EAClF,SAAS,CAAC,KAAK,EACf,EAAC,KAAK,EAAE,SAAS,EAAC,CACnB,CAAC;IACF,OAAO,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { Matrix4 } from '@math.gl/core';
|
|
2
|
-
import type { Tile3D } from "../common/tile-3d.js";
|
|
3
|
-
import type { FrameState } from "./frame-state.js";
|
|
4
|
-
/** Options that control the perspective dynamic screen-space error optimization. */
|
|
5
|
-
export type DynamicScreenSpaceErrorOptions = {
|
|
6
|
-
/** Base fog density used to reduce distant, horizon-facing screen-space error. */
|
|
7
|
-
dynamicScreenSpaceErrorDensity: number;
|
|
8
|
-
/** Maximum number of logical pixels subtracted from perspective screen-space error. */
|
|
9
|
-
dynamicScreenSpaceErrorFactor: number;
|
|
10
|
-
/** Fraction of the tileset height at which the optimization begins to fade. */
|
|
11
|
-
dynamicScreenSpaceErrorHeightFalloff: number;
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* Refreshes the root transform before calculating transform-dependent dynamic SSE density.
|
|
15
|
-
*
|
|
16
|
-
* Traversal normally updates transforms while visiting tile visibility, but density is calculated
|
|
17
|
-
* immediately before traversal. Performing the root update at that earlier boundary keeps local
|
|
18
|
-
* box and sphere height falloff synchronized with an animated tileset model matrix in the same
|
|
19
|
-
* frame. {@link Tile3D._updateTransform} also recalculates world-space geometric error from its raw
|
|
20
|
-
* source value, so repeated calls do not compound scale.
|
|
21
|
-
*
|
|
22
|
-
* @param root - Root tile whose computed transform feeds dynamic SSE height calculations.
|
|
23
|
-
* @param modelMatrix - Current tileset-to-world transform for this frame.
|
|
24
|
-
*/
|
|
25
|
-
export declare function updateRootTransformForDynamicScreenSpaceError(root: Tile3D, modelMatrix: Matrix4): void;
|
|
26
|
-
/**
|
|
27
|
-
* Calculates the effective dynamic screen-space error density for one viewport and frame.
|
|
28
|
-
*
|
|
29
|
-
* Dynamic SSE is a perspective-only optimization for street-level views. It reduces refinement
|
|
30
|
-
* for distant tiles near the horizon, where loading every geometric detail is expensive and has
|
|
31
|
-
* limited visual benefit. Density fades to zero as the camera rises above the tileset or points
|
|
32
|
-
* vertically. The returned value belongs to the supplied frame state; callers must not reuse it
|
|
33
|
-
* for another viewport because camera height and direction are view dependent.
|
|
34
|
-
*
|
|
35
|
-
* @param root - Root tile whose transform and source bounding volume define the tileset space.
|
|
36
|
-
* @param frameState - Current camera measurements in WGS84 and logical viewport space.
|
|
37
|
-
* @param options - Dynamic SSE density and height-falloff controls.
|
|
38
|
-
* @returns Effective fog density for this viewport, or zero when it cannot be calculated.
|
|
39
|
-
*/
|
|
40
|
-
export declare function calculateDynamicScreenSpaceErrorDensity(root: Tile3D, frameState: FrameState, options: DynamicScreenSpaceErrorOptions): number;
|
|
41
|
-
/**
|
|
42
|
-
* Calculates exponential fog strength for a camera distance and density.
|
|
43
|
-
* @param distanceToCamera - Distance from the camera to the tile bounding volume in meters.
|
|
44
|
-
* @param density - Effective dynamic SSE density in inverse meters.
|
|
45
|
-
* @returns Unitless strength in the inclusive range from zero to one.
|
|
46
|
-
*/
|
|
47
|
-
export declare function getDynamicScreenSpaceErrorFog(distanceToCamera: number, density: number): number;
|
|
48
|
-
/**
|
|
49
|
-
* Calculates the perspective SSE reduction for a tile.
|
|
50
|
-
* @param distanceToCamera - Distance from the camera to the tile bounding volume in meters.
|
|
51
|
-
* @param density - View-dependent fog density calculated for the current frame.
|
|
52
|
-
* @param factor - Maximum reduction in logical/CSS pixels.
|
|
53
|
-
* @returns Number of logical pixels to subtract from perspective SSE.
|
|
54
|
-
*/
|
|
55
|
-
export declare function getDynamicScreenSpaceError(distanceToCamera: number, density: number, factor: number): number;
|
|
56
|
-
/**
|
|
57
|
-
* Calculates 3D Tiles screen-space error (SSE) for the current projection.
|
|
58
|
-
*
|
|
59
|
-
* Perspective SSE projects the tile's world-space geometric error through the existing viewport
|
|
60
|
-
* height and frustum denominator. Dynamic SSE may then reduce distant horizon refinement using
|
|
61
|
-
* the density calculated specifically for this frame and viewport. Orthographic projection has
|
|
62
|
-
* no perspective distance falloff, so its error is divided directly by the viewport's world-space
|
|
63
|
-
* meters per logical pixel and is never adjusted by perspective dynamic SSE.
|
|
64
|
-
*
|
|
65
|
-
* @param tile - Tile containing the transform-scaled geometric error and camera distance.
|
|
66
|
-
* @param frameState - Current camera and viewport measurements.
|
|
67
|
-
* @param useParentLodMetric - Whether request prioritization should use the parent's error.
|
|
68
|
-
* @param viewportHeightFraction - Fraction of viewport height represented by the priority pass.
|
|
69
|
-
* @returns Estimated error in logical/CSS pixels.
|
|
70
|
-
*/
|
|
71
|
-
export declare function getTiles3DScreenSpaceError(tile: Tile3D, frameState: FrameState, useParentLodMetric: boolean, viewportHeightFraction?: number): number;
|
|
72
|
-
//# sourceMappingURL=tiles-3d-lod.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tiles-3d-lod.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/helpers/tiles-3d-lod.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,OAAO,EAA6B,MAAM,eAAe,CAAC;AAElE,OAAO,KAAK,EAAC,MAAM,EAAC,6BAA0B;AAC9C,OAAO,KAAK,EAAC,UAAU,EAAC,yBAAsB;AAE9C,oFAAoF;AACpF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,kFAAkF;IAClF,8BAA8B,EAAE,MAAM,CAAC;IACvC,uFAAuF;IACvF,6BAA6B,EAAE,MAAM,CAAC;IACtC,+EAA+E;IAC/E,oCAAoC,EAAE,MAAM,CAAC;CAC9C,CAAC;AA2BF;;;;;;;;;;;GAWG;AACH,wBAAgB,6CAA6C,CAC3D,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,OAAO,GACnB,IAAI,CAEN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uCAAuC,CACrD,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,8BAA8B,GACtC,MAAM,CAuCR;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAG/F;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,MAAM,CAMR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,UAAU,EACtB,kBAAkB,EAAE,OAAO,EAC3B,sBAAsB,SAAI,GACzB,MAAM,CAwCR"}
|