@loaders.gl/tiles 4.4.2 → 5.0.0-alpha.1
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/README.md +110 -1
- package/dist/dist.dev.js +4359 -1950
- package/dist/dist.min.js +1 -1
- package/dist/image-set.d.ts +94 -0
- package/dist/image-set.d.ts.map +1 -0
- package/dist/image-set.js +243 -0
- package/dist/image-set.js.map +1 -0
- package/dist/index.cjs +4178 -1892
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +27 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -8
- package/dist/index.js.map +1 -1
- package/dist/point-cloud/point-cloud-tile.d.ts +47 -0
- package/dist/point-cloud/point-cloud-tile.d.ts.map +1 -0
- package/dist/point-cloud/point-cloud-tile.js +67 -0
- package/dist/point-cloud/point-cloud-tile.js.map +1 -0
- package/dist/point-cloud/point-cloud-tileset.d.ts +131 -0
- package/dist/point-cloud/point-cloud-tileset.d.ts.map +1 -0
- package/dist/point-cloud/point-cloud-tileset.js +507 -0
- package/dist/point-cloud/point-cloud-tileset.js.map +1 -0
- package/dist/point-cloud/types.d.ts +64 -0
- package/dist/point-cloud/types.d.ts.map +1 -0
- package/dist/point-cloud/types.js +2 -0
- package/dist/point-cloud/types.js.map +1 -0
- package/dist/raster-set.d.ts +107 -0
- package/dist/raster-set.d.ts.map +1 -0
- package/dist/raster-set.js +268 -0
- package/dist/raster-set.js.map +1 -0
- package/dist/tileset-2d/adapter.d.ts +38 -0
- package/dist/tileset-2d/adapter.d.ts.map +1 -0
- package/dist/tileset-2d/adapter.js +5 -0
- package/dist/tileset-2d/adapter.js.map +1 -0
- package/dist/tileset-2d/index.d.ts +7 -0
- package/dist/tileset-2d/index.d.ts.map +1 -0
- package/dist/tileset-2d/index.js +6 -0
- package/dist/tileset-2d/index.js.map +1 -0
- package/dist/tileset-2d/tile-2d-header.d.ts +68 -0
- package/dist/tileset-2d/tile-2d-header.d.ts.map +1 -0
- package/dist/tileset-2d/tile-2d-header.js +181 -0
- package/dist/tileset-2d/tile-2d-header.js.map +1 -0
- package/dist/tileset-2d/tileset-2d.d.ts +201 -0
- package/dist/tileset-2d/tileset-2d.d.ts.map +1 -0
- package/dist/tileset-2d/tileset-2d.js +532 -0
- package/dist/tileset-2d/tileset-2d.js.map +1 -0
- package/dist/tileset-2d/types.d.ts +44 -0
- package/dist/tileset-2d/types.d.ts.map +1 -0
- package/dist/tileset-2d/types.js +5 -0
- package/dist/tileset-2d/types.js.map +1 -0
- package/dist/tileset-2d.d.ts +2 -0
- package/dist/tileset-2d.d.ts.map +1 -0
- package/dist/tileset-2d.js +5 -0
- package/dist/tileset-2d.js.map +1 -0
- package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts +60 -0
- package/dist/tileset-3d/common/indexed-archive-tileset-source.d.ts.map +1 -0
- package/dist/tileset-3d/common/indexed-archive-tileset-source.js +125 -0
- package/dist/tileset-3d/common/indexed-archive-tileset-source.js.map +1 -0
- package/dist/{tileset → tileset-3d/common}/tile-3d.d.ts +36 -27
- package/dist/tileset-3d/common/tile-3d.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d/common}/tile-3d.js +53 -62
- package/dist/tileset-3d/common/tile-3d.js.map +1 -0
- package/dist/tileset-3d/common/tileset-3d.d.ts +177 -0
- package/dist/tileset-3d/common/tileset-3d.d.ts.map +1 -0
- package/dist/tileset-3d/common/tileset-3d.js +566 -0
- package/dist/tileset-3d/common/tileset-3d.js.map +1 -0
- package/dist/tileset-3d/common/tileset-cache.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d/common}/tileset-cache.js +1 -1
- package/dist/tileset-3d/common/tileset-cache.js.map +1 -0
- package/dist/tileset-3d/common/tileset-source.d.ts +186 -0
- package/dist/tileset-3d/common/tileset-source.d.ts.map +1 -0
- package/dist/tileset-3d/common/tileset-source.js +17 -0
- package/dist/tileset-3d/common/tileset-source.js.map +1 -0
- package/dist/{tileset → tileset-3d/common}/tileset-traverser.d.ts +2 -2
- package/dist/tileset-3d/common/tileset-traverser.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d/common}/tileset-traverser.js +2 -2
- package/dist/tileset-3d/common/tileset-traverser.js.map +1 -0
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts +100 -0
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.d.ts.map +1 -0
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js +312 -0
- package/dist/tileset-3d/format-3d-tiles/tiles-3d-source.js.map +1 -0
- package/dist/{tileset → tileset-3d}/format-3d-tiles/tileset-3d-traverser.d.ts +1 -1
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d}/format-3d-tiles/tileset-3d-traverser.js +1 -1
- package/dist/tileset-3d/format-3d-tiles/tileset-3d-traverser.js.map +1 -0
- package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.d.ts.map +1 -0
- package/dist/tileset-3d/format-i3s/i3s-pending-tiles-register.js.map +1 -0
- package/dist/tileset-3d/format-i3s/i3s-source.d.ts +99 -0
- package/dist/tileset-3d/format-i3s/i3s-source.d.ts.map +1 -0
- package/dist/tileset-3d/format-i3s/i3s-source.js +299 -0
- package/dist/tileset-3d/format-i3s/i3s-source.js.map +1 -0
- package/dist/tileset-3d/format-i3s/i3s-tile-manager.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d}/format-i3s/i3s-tile-manager.js +2 -2
- package/dist/tileset-3d/format-i3s/i3s-tile-manager.js.map +1 -0
- package/dist/{tileset → tileset-3d}/format-i3s/i3s-tileset-traverser.d.ts +2 -2
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d}/format-i3s/i3s-tileset-traverser.js +14 -23
- package/dist/tileset-3d/format-i3s/i3s-tileset-traverser.js.map +1 -0
- package/dist/{tileset → tileset-3d}/helpers/3d-tiles-options.d.ts +1 -1
- package/dist/tileset-3d/helpers/3d-tiles-options.d.ts.map +1 -0
- package/dist/tileset-3d/helpers/3d-tiles-options.js.map +1 -0
- package/dist/tileset-3d/helpers/bounding-volume.d.ts.map +1 -0
- package/dist/tileset-3d/helpers/bounding-volume.js.map +1 -0
- package/dist/{tileset → tileset-3d}/helpers/frame-state.d.ts +1 -1
- package/dist/tileset-3d/helpers/frame-state.d.ts.map +1 -0
- package/dist/tileset-3d/helpers/frame-state.js.map +1 -0
- package/dist/{tileset → tileset-3d}/helpers/i3s-lod.d.ts +1 -1
- package/dist/tileset-3d/helpers/i3s-lod.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d}/helpers/i3s-lod.js +1 -1
- package/dist/tileset-3d/helpers/i3s-lod.js.map +1 -0
- package/dist/tileset-3d/helpers/tiles-3d-lod.d.ts +20 -0
- package/dist/tileset-3d/helpers/tiles-3d-lod.d.ts.map +1 -0
- package/dist/{tileset → tileset-3d}/helpers/tiles-3d-lod.js +43 -4
- package/dist/tileset-3d/helpers/tiles-3d-lod.js.map +1 -0
- package/dist/{tileset → tileset-3d}/helpers/transform-utils.d.ts +1 -1
- package/dist/tileset-3d/helpers/transform-utils.d.ts.map +1 -0
- package/dist/tileset-3d/helpers/transform-utils.js.map +1 -0
- package/dist/tileset-3d/helpers/zoom.d.ts.map +1 -0
- package/dist/tileset-3d/helpers/zoom.js.map +1 -0
- package/dist/types.d.ts +7 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +7 -6
- package/src/image-set.ts +328 -0
- package/src/index.ts +80 -9
- package/src/point-cloud/point-cloud-tile.ts +76 -0
- package/src/point-cloud/point-cloud-tileset.ts +709 -0
- package/src/point-cloud/types.ts +78 -0
- package/src/raster-set.ts +374 -0
- package/src/tileset-2d/adapter.ts +47 -0
- package/src/tileset-2d/index.ts +33 -0
- package/src/tileset-2d/tile-2d-header.ts +224 -0
- package/src/tileset-2d/tileset-2d.ts +716 -0
- package/src/tileset-2d/types.ts +39 -0
- package/src/tileset-2d.ts +5 -0
- package/src/tileset-3d/common/indexed-archive-tileset-source.ts +205 -0
- package/src/{tileset → tileset-3d/common}/tile-3d.ts +64 -73
- package/src/tileset-3d/common/tileset-3d.ts +736 -0
- package/src/{tileset → tileset-3d/common}/tileset-cache.ts +1 -1
- package/src/tileset-3d/common/tileset-source.ts +234 -0
- package/src/{tileset → tileset-3d/common}/tileset-traverser.ts +3 -3
- package/src/tileset-3d/format-3d-tiles/tiles-3d-source.ts +379 -0
- package/src/{tileset → tileset-3d}/format-3d-tiles/tileset-3d-traverser.ts +1 -1
- package/src/tileset-3d/format-i3s/i3s-source.ts +366 -0
- package/src/{tileset → tileset-3d}/format-i3s/i3s-tile-manager.ts +2 -2
- package/src/{tileset → tileset-3d}/format-i3s/i3s-tileset-traverser.ts +15 -24
- package/src/{tileset → tileset-3d}/helpers/3d-tiles-options.ts +1 -1
- package/src/{tileset → tileset-3d}/helpers/frame-state.ts +1 -1
- package/src/{tileset → tileset-3d}/helpers/i3s-lod.ts +2 -2
- package/src/{tileset → tileset-3d}/helpers/tiles-3d-lod.ts +46 -4
- package/src/{tileset → tileset-3d}/helpers/transform-utils.ts +1 -1
- package/src/types.ts +7 -0
- package/dist/tileset/format-3d-tiles/tileset-3d-traverser.d.ts.map +0 -1
- package/dist/tileset/format-3d-tiles/tileset-3d-traverser.js.map +0 -1
- package/dist/tileset/format-i3s/i3s-pending-tiles-register.d.ts.map +0 -1
- package/dist/tileset/format-i3s/i3s-pending-tiles-register.js.map +0 -1
- package/dist/tileset/format-i3s/i3s-tile-manager.d.ts.map +0 -1
- package/dist/tileset/format-i3s/i3s-tile-manager.js.map +0 -1
- package/dist/tileset/format-i3s/i3s-tileset-traverser.d.ts.map +0 -1
- package/dist/tileset/format-i3s/i3s-tileset-traverser.js.map +0 -1
- package/dist/tileset/helpers/3d-tiles-options.d.ts.map +0 -1
- package/dist/tileset/helpers/3d-tiles-options.js.map +0 -1
- package/dist/tileset/helpers/bounding-volume.d.ts.map +0 -1
- package/dist/tileset/helpers/bounding-volume.js.map +0 -1
- package/dist/tileset/helpers/frame-state.d.ts.map +0 -1
- package/dist/tileset/helpers/frame-state.js.map +0 -1
- package/dist/tileset/helpers/i3s-lod.d.ts.map +0 -1
- package/dist/tileset/helpers/i3s-lod.js.map +0 -1
- package/dist/tileset/helpers/tiles-3d-lod.d.ts +0 -8
- package/dist/tileset/helpers/tiles-3d-lod.d.ts.map +0 -1
- package/dist/tileset/helpers/tiles-3d-lod.js.map +0 -1
- package/dist/tileset/helpers/transform-utils.d.ts.map +0 -1
- package/dist/tileset/helpers/transform-utils.js.map +0 -1
- package/dist/tileset/helpers/zoom.d.ts.map +0 -1
- package/dist/tileset/helpers/zoom.js.map +0 -1
- package/dist/tileset/tile-3d.d.ts.map +0 -1
- package/dist/tileset/tile-3d.js.map +0 -1
- package/dist/tileset/tileset-3d.d.ts +0 -284
- package/dist/tileset/tileset-3d.d.ts.map +0 -1
- package/dist/tileset/tileset-3d.js +0 -814
- package/dist/tileset/tileset-3d.js.map +0 -1
- package/dist/tileset/tileset-cache.d.ts.map +0 -1
- package/dist/tileset/tileset-cache.js.map +0 -1
- package/dist/tileset/tileset-traverser.d.ts.map +0 -1
- package/dist/tileset/tileset-traverser.js.map +0 -1
- package/src/tileset/tileset-3d.ts +0 -1037
- /package/dist/{tileset → tileset-3d/common}/tileset-cache.d.ts +0 -0
- /package/dist/{tileset → tileset-3d}/format-i3s/i3s-pending-tiles-register.d.ts +0 -0
- /package/dist/{tileset → tileset-3d}/format-i3s/i3s-pending-tiles-register.js +0 -0
- /package/dist/{tileset → tileset-3d}/format-i3s/i3s-tile-manager.d.ts +0 -0
- /package/dist/{tileset → tileset-3d}/helpers/3d-tiles-options.js +0 -0
- /package/dist/{tileset → tileset-3d}/helpers/bounding-volume.d.ts +0 -0
- /package/dist/{tileset → tileset-3d}/helpers/bounding-volume.js +0 -0
- /package/dist/{tileset → tileset-3d}/helpers/frame-state.js +0 -0
- /package/dist/{tileset → tileset-3d}/helpers/transform-utils.js +0 -0
- /package/dist/{tileset → tileset-3d}/helpers/zoom.d.ts +0 -0
- /package/dist/{tileset → tileset-3d}/helpers/zoom.js +0 -0
- /package/src/{tileset → tileset-3d}/format-i3s/i3s-pending-tiles-register.ts +0 -0
- /package/src/{tileset → tileset-3d}/helpers/bounding-volume.ts +0 -0
- /package/src/{tileset → tileset-3d}/helpers/zoom.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tiles-3d-lod.js","sourceRoot":"","sources":["../../../src/tileset-3d/helpers/tiles-3d-lod.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,wEAAwE;AACxE,4FAA4F;AAE5F,6EAA6E;AAC7E,sBAAsB;AAEtB,oBAAoB;AACpB,cAAc;AACd,OAAO,EAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAC,MAAM,eAAe,CAAC;AAEtD,MAAM,qBAAqB,GAAG,IAAI,OAAO,EAAE,CAAC;AAC5C,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAAE,CAAC;AAC1C,MAAM,aAAa,GAAG,IAAI,OAAO,EAAE,CAAC;AACpC,MAAM,aAAa,GAAG,IAAI,OAAO,EAAE,CAAC;AACpC,MAAM,eAAe,GAAG,IAAI,OAAO,EAAE,CAAC;AACtC,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAAE,CAAC;AAEvC,sDAAsD;AACtD,MAAM,UAAU,gCAAgC,CAAC,IAAI,EAAE,EAAC,MAAM,EAAE,aAAa,EAAC,EAAE,OAAO,GAAG,EAAE;IAC1F,MAAM,EAAC,oCAAoC,GAAG,IAAI,EAAE,8BAA8B,GAAG,OAAO,EAAC,GAC3F,OAAO,CAAC;IAEV,IAAI,EAAE,CAAC;IACP,IAAI,SAAS,CAAC;IACd,IAAI,MAAM,CAAC;IACX,IAAI,aAAa,CAAC;IAClB,IAAI,aAAa,CAAC;IAElB,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC;IAEtD,IAAI,kBAAkB,YAAY,kBAAkB,EAAE,CAAC;QACrD,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;QACpE,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;QAC/B,MAAM,GAAG,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC;QAC5C,aAAa,GAAG,kBAAkB,CAAC,aAAa,CAAC;QACjD,aAAa,GAAG,kBAAkB,CAAC,aAAa,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,0FAA0F;QAC1F,MAAM,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;QAC5F,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;QAC1C,MAAM,cAAc,GAAG,kBAAkB,CAAC,cAAc,CAAC;QACzD,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,CACzC,cAAc,EACd,cAAc,CAAC,MAAM,EACrB,aAAa,CACd,CAAC;QACF,IAAI,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;YAChE,+EAA+E;YAC/E,MAAM,kBAAkB,GAAG,YAAY,CAAC,aAAa,CACnD,WAAW,EACX,SAAS,EACT,mBAAmB,CACpB,CAAC;YACF,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;YACpE,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;YAC/B,MAAM,GAAG,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC;YAC5C,aAAa,GAAG,GAAG,CAAC;YACpB,aAAa,GAAG,kBAAkB,CAAC,MAAM,GAAG,GAAG,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,qDAAqD;YACrD,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,CAC3C,cAAc,EACd,MAAM,CAAC,UAAU,EACjB,eAAe,CAChB,CAAC;YACF,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;YACvB,SAAS,GAAG,OAAO,CAAC,uBAAuB,CACzC,cAAc,EACd,MAAM,CAAC,WAAW,EAClB,gBAAgB,CACjB,CAAC;YACF,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC;YACzB,IAAI,kBAAkB,YAAY,uBAAuB,EAAE,CAAC;gBAC1D,sEAAsE;gBACtE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtD,aAAa,GAAG,WAAW,CAAC,CAAC,GAAG,SAAS,CAAC;gBAC1C,aAAa,GAAG,WAAW,CAAC,CAAC,GAAG,SAAS,CAAC;YAC5C,CAAC;iBAAM,IAAI,kBAAkB,YAAY,kBAAkB,EAAE,CAAC;gBAC5D,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;gBACrC,aAAa,GAAG,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC;gBACvC,aAAa,GAAG,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAED,4FAA4F;IAC5F,MAAM,aAAa,GAAG,oCAAoC,CAAC;IAC3D,MAAM,WAAW,GAAG,aAAa,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC,GAAG,aAAa,CAAC;IACpF,MAAM,SAAS,GAAG,aAAa,CAAC;IAEhC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAE9E,2DAA2D;IAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IAEpD,IAAI,aAAa,GAAG,GAAG,GAAG,GAAG,CAAC;IAE9B,kHAAkH;IAClH,uGAAuG;IACvG,aAAa,GAAG,aAAa,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAE1C,OAAO,8BAA8B,GAAG,aAAa,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,gBAAgB,EAAE,OAAO;IAC3C,MAAM,MAAM,GAAG,gBAAgB,GAAG,OAAO,CAAC;IAC1C,OAAO,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAO,EAAE,gBAAgB;IAClE,IAAI,OAAO,CAAC,uBAAuB,IAAI,OAAO,CAAC,sCAAsC,EAAE,CAAC;QACtF,MAAM,OAAO,GAAG,OAAO,CAAC,sCAAsC,CAAC;QAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;QACrD,4EAA4E;QAC5E,MAAM,YAAY,GAAG,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;QAC7D,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAI,EAAE,UAAU,EAAE,kBAAkB;IAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,MAAM,oBAAoB,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC;IAChG,MAAM,cAAc,GAAG,kBAAkB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;IAEvF,2DAA2D;IAC3D,IAAI,cAAc,KAAK,GAAG,EAAE,CAAC;QAC3B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,EAAC,iBAAiB,EAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAC5C,MAAM,QAAQ,GAAG,iBAAiB,IAAI,GAAG,CAAC;IAC1C,MAAM,iBAAiB,GAAG,+BAA+B,CAAC,cAAc,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAChG,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,sDAAsD;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,EAAC,MAAM,EAAE,cAAc,EAAC,GAAG,UAAU,CAAC;IAC5C,IAAI,KAAK,GAAG,CAAC,cAAc,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAC;IAE/E,KAAK,IAAI,0BAA0B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEvD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,+BAA+B,CAAC,cAAc,EAAE,UAAU,EAAE,QAAQ;IAC3E,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACrC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC,GAAG,cAAc,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-utils.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/helpers/transform-utils.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,MAAM,EAAC,6BAA0B;AAEzC,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,QAyElF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-utils.js","sourceRoot":"","sources":["../../../src/tileset-3d/helpers/transform-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zoom.d.ts","sourceRoot":"","sources":["../../../src/tileset-3d/helpers/zoom.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAC,iBAAiB,EAAC,uBAAoB;AAQ9C;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,cAAc,GAAG,mBAAmB,GAAG,iBAAiB,EACxE,mBAAmB,EAAE,OAAO,UAwB7B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE;IACV,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,EACD,mBAAmB,EAAE,OAAO,EAC5B,eAAe,EAAE,OAAO,UAYzB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACxC,mBAAmB,EAAE,OAAO,EAC5B,eAAe,EAAE,OAAO,UAQzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zoom.js","sourceRoot":"","sources":["../../../src/tileset-3d/helpers/zoom.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -11,6 +11,13 @@ export type Viewport = {
|
|
|
11
11
|
height: number;
|
|
12
12
|
width: number;
|
|
13
13
|
zoom: number;
|
|
14
|
+
/** Whether this viewport uses an orthographic projection. */
|
|
15
|
+
orthographic?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* World-space meters represented by one logical/CSS pixel at the viewport's current scale.
|
|
18
|
+
* Orthographic 3D Tiles traversal requires a positive, finite value to calculate SSE.
|
|
19
|
+
*/
|
|
20
|
+
metersPerPixel?: number;
|
|
14
21
|
distanceScales: {
|
|
15
22
|
unitsPerMeter: number[];
|
|
16
23
|
metersPerUnit: number[];
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAEtC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;iEACiE;AACjE,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE;QACd,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9E,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,KAAK,MAAM,EAAE,CAAC;CACvD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG;IAC1C,mGAAmG;IACnG,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,mGAAmG;IACnG,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAEtC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;iEACiE;AACjE,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE;QACd,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9E,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,KAAK,MAAM,EAAE,CAAC;CACvD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG;IAC1C,mGAAmG;IACnG,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,mGAAmG;IACnG,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/tiles",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0-alpha.1",
|
|
4
4
|
"description": "Common components for different tiles loaders.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -42,8 +42,9 @@
|
|
|
42
42
|
"build-bundle-dev": "ocular-bundle ./bundle.ts --env=dev --output=dist/dist.dev.js"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@loaders.gl/loader-utils": "
|
|
46
|
-
"@loaders.gl/math": "
|
|
45
|
+
"@loaders.gl/loader-utils": "5.0.0-alpha.1",
|
|
46
|
+
"@loaders.gl/math": "5.0.0-alpha.1",
|
|
47
|
+
"@loaders.gl/schema": "5.0.0-alpha.1",
|
|
47
48
|
"@math.gl/core": "^4.1.0",
|
|
48
49
|
"@math.gl/culling": "^4.1.0",
|
|
49
50
|
"@math.gl/geospatial": "^4.1.0",
|
|
@@ -51,10 +52,10 @@
|
|
|
51
52
|
"@probe.gl/stats": "^4.1.1"
|
|
52
53
|
},
|
|
53
54
|
"devDependencies": {
|
|
54
|
-
"@deck.gl/core": "^9.0
|
|
55
|
+
"@deck.gl/core": "^9.3.0"
|
|
55
56
|
},
|
|
56
57
|
"peerDependencies": {
|
|
57
|
-
"@loaders.gl/core": "~
|
|
58
|
+
"@loaders.gl/core": "~5.0.0-alpha.0"
|
|
58
59
|
},
|
|
59
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "77a55028e8204e09df1258f10cb61ed35353b258"
|
|
60
61
|
}
|
package/src/image-set.ts
ADDED
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
|
|
5
|
+
import type {
|
|
6
|
+
GetImageParameters,
|
|
7
|
+
ImageSource,
|
|
8
|
+
ImageSourceMetadata,
|
|
9
|
+
ImageType
|
|
10
|
+
} from '@loaders.gl/loader-utils';
|
|
11
|
+
|
|
12
|
+
/** Accepted image request currently retained by {@link ImageSet}. */
|
|
13
|
+
export type ImageSetRequest<DataT = ImageType> = {
|
|
14
|
+
/** Unique request id assigned by the manager. */
|
|
15
|
+
requestId: number;
|
|
16
|
+
/** Image request parameters that produced the accepted image. */
|
|
17
|
+
parameters: GetImageParameters;
|
|
18
|
+
/** Image retained as the current output. */
|
|
19
|
+
image: DataT;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
/** Configuration shared by all {@link ImageSet} instances. */
|
|
23
|
+
export type ImageSetBaseProps<DataT = ImageType> = {
|
|
24
|
+
/** Callback used to load source metadata. */
|
|
25
|
+
getMetadata: () => Promise<ImageSourceMetadata>;
|
|
26
|
+
/** Callback used to load an image for a viewport-derived request. */
|
|
27
|
+
getImage: (parameters: GetImageParameters) => Promise<DataT>;
|
|
28
|
+
/** Debounce interval applied before issuing image requests. */
|
|
29
|
+
debounceTime?: number;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
/** Options for creating an {@link ImageSet}. */
|
|
33
|
+
export type ImageSetProps<DataT = ImageType> = Partial<ImageSetBaseProps<DataT>> & {
|
|
34
|
+
/** Optional loaders.gl image source backing this manager. */
|
|
35
|
+
imageSource?: ImageSource | null;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
/** Subscription callbacks emitted by {@link ImageSet}. */
|
|
39
|
+
export type ImageSetListener<DataT = ImageType> = {
|
|
40
|
+
/** Fired when metadata/image loading starts or stops. */
|
|
41
|
+
onLoadingStateChange?: (isLoading: boolean) => void;
|
|
42
|
+
/** Fired when source metadata resolves successfully. */
|
|
43
|
+
onMetadataLoad?: (metadata: ImageSourceMetadata) => void;
|
|
44
|
+
/** Fired when metadata loading fails. */
|
|
45
|
+
onMetadataLoadError?: (error: Error) => void;
|
|
46
|
+
/** Fired when a new image request is issued. */
|
|
47
|
+
onImageLoadStart?: (requestId: number, parameters: GetImageParameters) => void;
|
|
48
|
+
/** Fired when an image request resolves and becomes current. */
|
|
49
|
+
onImageLoad?: (request: ImageSetRequest<DataT>) => void;
|
|
50
|
+
/** Fired when an image request fails. */
|
|
51
|
+
onImageLoadError?: (requestId: number, error: Error, parameters: GetImageParameters) => void;
|
|
52
|
+
/** Fired when metadata or the current image changes. */
|
|
53
|
+
onUpdate?: () => void;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const DEFAULT_IMAGESET_PROPS: Required<Omit<ImageSetProps, 'imageSource'>> = {
|
|
57
|
+
getMetadata: async () => ({name: '', keywords: [], layers: []}),
|
|
58
|
+
getImage: async () => null as never,
|
|
59
|
+
debounceTime: 0
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
/** Shared image request manager used by source-backed image layers. */
|
|
63
|
+
export class ImageSet<DataT = ImageType> {
|
|
64
|
+
/** Cached metadata returned by the backing source, if any. */
|
|
65
|
+
metadata: ImageSourceMetadata | null = null;
|
|
66
|
+
|
|
67
|
+
private _opts: Required<ImageSetProps<DataT>>;
|
|
68
|
+
private _listeners = new Set<ImageSetListener<DataT>>();
|
|
69
|
+
private _currentRequest: ImageSetRequest<DataT> | null = null;
|
|
70
|
+
private _lastAcceptedRequestId = -1;
|
|
71
|
+
private _nextRequestId = 0;
|
|
72
|
+
private _loadCounter = 0;
|
|
73
|
+
private _timeoutId: ReturnType<typeof setTimeout> | null = null;
|
|
74
|
+
private _abortController: AbortController | null = null;
|
|
75
|
+
private _finalized = false;
|
|
76
|
+
|
|
77
|
+
/** Creates an image manager from a source or direct callbacks. */
|
|
78
|
+
constructor(opts: ImageSetProps<DataT>) {
|
|
79
|
+
this._opts = this._normalizeOptions(opts);
|
|
80
|
+
if (!this._opts.imageSource && (!opts.getImage || !opts.getMetadata)) {
|
|
81
|
+
throw new Error(
|
|
82
|
+
'ImageSet requires either `imageSource` or both `getImage` and `getMetadata`.'
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/** Convenience factory for wrapping a loaders.gl {@link ImageSource}. */
|
|
88
|
+
static fromImageSource<DataT = ImageType>(
|
|
89
|
+
imageSource: ImageSource,
|
|
90
|
+
opts: Omit<ImageSetProps<DataT>, 'imageSource' | 'getImage' | 'getMetadata'> = {}
|
|
91
|
+
): ImageSet<DataT> {
|
|
92
|
+
return new ImageSet<DataT>({...opts, imageSource});
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/** Whether the manager has no requests in flight and a current image. */
|
|
96
|
+
get isLoaded(): boolean {
|
|
97
|
+
return this._loadCounter === 0 && Boolean(this._currentRequest);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/** Current accepted image, if any. */
|
|
101
|
+
get image(): DataT | null {
|
|
102
|
+
return this._currentRequest?.image || null;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/** Current accepted request and image payload, if any. */
|
|
106
|
+
get currentRequest(): ImageSetRequest<DataT> | null {
|
|
107
|
+
return this._currentRequest;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/** Backing image source when constructed from one. */
|
|
111
|
+
get imageSource(): ImageSource | null {
|
|
112
|
+
return this._opts.imageSource;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/** Subscribes to metadata and image lifecycle events. */
|
|
116
|
+
subscribe(listener: ImageSetListener<DataT>): () => void {
|
|
117
|
+
this._listeners.add(listener);
|
|
118
|
+
return () => this._listeners.delete(listener);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/** Updates source callbacks or debounce settings, resetting state when the source changes. */
|
|
122
|
+
setOptions(opts: ImageSetProps<DataT>): void {
|
|
123
|
+
const previousImageSource = this._opts.imageSource;
|
|
124
|
+
const nextOptions = this._normalizeOptions({...this._opts, ...opts});
|
|
125
|
+
const sourceChanged =
|
|
126
|
+
previousImageSource !== nextOptions.imageSource ||
|
|
127
|
+
this._opts.getImage !== nextOptions.getImage ||
|
|
128
|
+
this._opts.getMetadata !== nextOptions.getMetadata;
|
|
129
|
+
|
|
130
|
+
this._opts = nextOptions;
|
|
131
|
+
|
|
132
|
+
if (sourceChanged) {
|
|
133
|
+
this._cancelScheduledImage();
|
|
134
|
+
this.metadata = null;
|
|
135
|
+
this._currentRequest = null;
|
|
136
|
+
this._lastAcceptedRequestId = -1;
|
|
137
|
+
this._nextRequestId = 0;
|
|
138
|
+
this._emitUpdate();
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/** Loads metadata from the current image source or callbacks. */
|
|
143
|
+
async loadMetadata(): Promise<ImageSourceMetadata> {
|
|
144
|
+
this._startLoading();
|
|
145
|
+
try {
|
|
146
|
+
const metadata = await this._opts.getMetadata();
|
|
147
|
+
if (this._finalized) {
|
|
148
|
+
return metadata;
|
|
149
|
+
}
|
|
150
|
+
this.metadata = metadata;
|
|
151
|
+
for (const listener of this._listeners) {
|
|
152
|
+
listener.onMetadataLoad?.(metadata);
|
|
153
|
+
}
|
|
154
|
+
this._emitUpdate();
|
|
155
|
+
return metadata;
|
|
156
|
+
} catch (error) {
|
|
157
|
+
const normalizedError = normalizeImageSetError(error, 'Image metadata request failed');
|
|
158
|
+
if (!this._finalized) {
|
|
159
|
+
for (const listener of this._listeners) {
|
|
160
|
+
listener.onMetadataLoadError?.(normalizedError);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
throw normalizedError;
|
|
164
|
+
} finally {
|
|
165
|
+
this._finishLoading();
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/** Debounces and issues a new image request for the supplied parameters. */
|
|
170
|
+
requestImage(parameters: GetImageParameters, debounceTime = this._opts.debounceTime): number {
|
|
171
|
+
const requestId = this._nextRequestId++;
|
|
172
|
+
this._cancelScheduledImage();
|
|
173
|
+
this._abortActiveRequest();
|
|
174
|
+
|
|
175
|
+
if (debounceTime > 0) {
|
|
176
|
+
this._timeoutId = setTimeout(() => {
|
|
177
|
+
this._timeoutId = null;
|
|
178
|
+
void this._loadImage(requestId, parameters);
|
|
179
|
+
}, debounceTime);
|
|
180
|
+
} else {
|
|
181
|
+
void this._loadImage(requestId, parameters);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
return requestId;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/** Clears timers and listeners held by the manager. */
|
|
188
|
+
finalize(): void {
|
|
189
|
+
this._finalized = true;
|
|
190
|
+
this._cancelScheduledImage();
|
|
191
|
+
this._abortActiveRequest();
|
|
192
|
+
this._listeners.clear();
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/** Loads an image immediately and accepts it only if it is the newest completed request. */
|
|
196
|
+
private async _loadImage(requestId: number, parameters: GetImageParameters): Promise<void> {
|
|
197
|
+
if (this._finalized) {
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
this._startLoading();
|
|
202
|
+
for (const listener of this._listeners) {
|
|
203
|
+
listener.onImageLoadStart?.(requestId, parameters);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
try {
|
|
207
|
+
const abortController = new AbortController();
|
|
208
|
+
this._abortController = abortController;
|
|
209
|
+
const image = await this._opts.getImage({...parameters, signal: abortController.signal});
|
|
210
|
+
if (this._finalized || requestId <= this._lastAcceptedRequestId) {
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
this._lastAcceptedRequestId = requestId;
|
|
215
|
+
this._currentRequest = {requestId, parameters, image};
|
|
216
|
+
|
|
217
|
+
for (const listener of this._listeners) {
|
|
218
|
+
listener.onImageLoad?.(this._currentRequest);
|
|
219
|
+
}
|
|
220
|
+
this._emitUpdate();
|
|
221
|
+
} catch (error) {
|
|
222
|
+
if (isAbortError(error)) {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
const normalizedError = normalizeImageSetError(error, 'Image request failed');
|
|
226
|
+
if (!this._finalized) {
|
|
227
|
+
for (const listener of this._listeners) {
|
|
228
|
+
listener.onImageLoadError?.(requestId, normalizedError, parameters);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
} finally {
|
|
232
|
+
if (this._abortController?.signal === parameters.signal) {
|
|
233
|
+
this._abortController = null;
|
|
234
|
+
}
|
|
235
|
+
this._finishLoading();
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/** Resolves current options from either a source or direct callbacks. */
|
|
240
|
+
private _normalizeOptions(opts: ImageSetProps<DataT>): Required<ImageSetProps<DataT>> {
|
|
241
|
+
const imageSource = opts.imageSource || null;
|
|
242
|
+
return {
|
|
243
|
+
...DEFAULT_IMAGESET_PROPS,
|
|
244
|
+
...opts,
|
|
245
|
+
imageSource,
|
|
246
|
+
getMetadata:
|
|
247
|
+
opts.getMetadata ||
|
|
248
|
+
(() => {
|
|
249
|
+
if (imageSource) {
|
|
250
|
+
return imageSource.getMetadata();
|
|
251
|
+
}
|
|
252
|
+
return DEFAULT_IMAGESET_PROPS.getMetadata();
|
|
253
|
+
}),
|
|
254
|
+
getImage:
|
|
255
|
+
opts.getImage ||
|
|
256
|
+
((parameters: GetImageParameters) => {
|
|
257
|
+
if (imageSource) {
|
|
258
|
+
return imageSource.getImage(parameters) as Promise<DataT>;
|
|
259
|
+
}
|
|
260
|
+
return DEFAULT_IMAGESET_PROPS.getImage(parameters) as Promise<DataT>;
|
|
261
|
+
}),
|
|
262
|
+
debounceTime: opts.debounceTime ?? DEFAULT_IMAGESET_PROPS.debounceTime
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
/** Notifies listeners that current metadata or image output changed. */
|
|
267
|
+
private _emitUpdate(): void {
|
|
268
|
+
for (const listener of this._listeners) {
|
|
269
|
+
listener.onUpdate?.();
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
/** Increments the active load count and emits loading changes. */
|
|
274
|
+
private _startLoading(): void {
|
|
275
|
+
const wasLoading = this._loadCounter > 0;
|
|
276
|
+
this._loadCounter++;
|
|
277
|
+
if (!wasLoading) {
|
|
278
|
+
this._emitLoadingStateChange(true);
|
|
279
|
+
this._emitUpdate();
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
/** Decrements the active load count and emits loading changes. */
|
|
284
|
+
private _finishLoading(): void {
|
|
285
|
+
const wasLoading = this._loadCounter > 0;
|
|
286
|
+
this._loadCounter = Math.max(0, this._loadCounter - 1);
|
|
287
|
+
if (wasLoading && this._loadCounter === 0) {
|
|
288
|
+
this._emitLoadingStateChange(false);
|
|
289
|
+
this._emitUpdate();
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/** Notifies listeners when the overall loading state changes. */
|
|
294
|
+
private _emitLoadingStateChange(isLoading: boolean): void {
|
|
295
|
+
for (const listener of this._listeners) {
|
|
296
|
+
listener.onLoadingStateChange?.(isLoading);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
/** Clears any pending debounced image request. */
|
|
301
|
+
private _cancelScheduledImage(): void {
|
|
302
|
+
if (this._timeoutId !== null) {
|
|
303
|
+
clearTimeout(this._timeoutId);
|
|
304
|
+
this._timeoutId = null;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
/** Aborts the current in-flight image request, if any. */
|
|
309
|
+
private _abortActiveRequest(): void {
|
|
310
|
+
this._abortController?.abort();
|
|
311
|
+
this._abortController = null;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
function isAbortError(error: unknown): boolean {
|
|
316
|
+
return error instanceof Error && error.name === 'AbortError';
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/** Normalizes arbitrary thrown values to `Error` instances for bookkeeping. */
|
|
320
|
+
function normalizeImageSetError(error: unknown, message: string): Error {
|
|
321
|
+
if (error instanceof Error) {
|
|
322
|
+
return error;
|
|
323
|
+
}
|
|
324
|
+
if (typeof error === 'string') {
|
|
325
|
+
return new Error(error);
|
|
326
|
+
}
|
|
327
|
+
return new Error(message);
|
|
328
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -2,18 +2,89 @@
|
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
|
|
5
|
-
export type {Tileset3DProps} from './tileset/tileset-3d';
|
|
6
|
-
export {Tileset3D} from './tileset/tileset-3d';
|
|
7
|
-
export {
|
|
5
|
+
export type {Tileset3DProps} from './tileset-3d/common/tileset-3d';
|
|
6
|
+
export {Tileset3D} from './tileset-3d/common/tileset-3d';
|
|
7
|
+
export type {
|
|
8
|
+
TileContentLoadResult,
|
|
9
|
+
TilesetContentFormats,
|
|
10
|
+
TilesetJSON,
|
|
11
|
+
TilesetSourceInput,
|
|
12
|
+
TilesetSourceMetadata,
|
|
13
|
+
TilesetSourceRequest,
|
|
14
|
+
TilesetSourceResolver,
|
|
15
|
+
Tileset3DSource,
|
|
16
|
+
TilesetSourceViewState
|
|
17
|
+
} from './tileset-3d/common/tileset-source';
|
|
18
|
+
export {isTileset3DSource} from './tileset-3d/common/tileset-source';
|
|
19
|
+
export type {IndexedArchiveTilesetSourceOptions} from './tileset-3d/common/indexed-archive-tileset-source';
|
|
20
|
+
export {IndexedArchiveTilesetSource} from './tileset-3d/common/indexed-archive-tileset-source';
|
|
21
|
+
export {Tile3D} from './tileset-3d/common/tile-3d';
|
|
22
|
+
export {Tiles3DSource} from './tileset-3d/format-3d-tiles/tiles-3d-source';
|
|
23
|
+
export {I3SSource} from './tileset-3d/format-i3s/i3s-source';
|
|
8
24
|
|
|
9
|
-
export {TilesetTraverser} from './tileset/tileset-traverser';
|
|
10
|
-
export {TilesetCache} from './tileset/tileset-cache';
|
|
25
|
+
export {TilesetTraverser} from './tileset-3d/common/tileset-traverser';
|
|
26
|
+
export {TilesetCache} from './tileset-3d/common/tileset-cache';
|
|
11
27
|
|
|
12
|
-
export {
|
|
13
|
-
|
|
28
|
+
export type {
|
|
29
|
+
Bounds,
|
|
30
|
+
GeoBoundingBox,
|
|
31
|
+
NonGeoBoundingBox,
|
|
32
|
+
TileBoundingBox,
|
|
33
|
+
TileIndex,
|
|
34
|
+
TileLoadProps,
|
|
35
|
+
ZRange
|
|
36
|
+
} from './tileset-2d';
|
|
37
|
+
export type {
|
|
38
|
+
Tileset2DAdapter,
|
|
39
|
+
Tileset2DTileContext,
|
|
40
|
+
Tileset2DTraversalContext
|
|
41
|
+
} from './tileset-2d';
|
|
42
|
+
export type {
|
|
43
|
+
RefinementStrategy,
|
|
44
|
+
RefinementStrategyFunction,
|
|
45
|
+
Tileset2DBaseProps,
|
|
46
|
+
Tileset2DProps,
|
|
47
|
+
Tile2DListener,
|
|
48
|
+
Tile2DLoadDataProps
|
|
49
|
+
} from './tileset-2d';
|
|
50
|
+
export {
|
|
51
|
+
SharedTile2DHeader,
|
|
52
|
+
Tileset2D,
|
|
53
|
+
STRATEGY_DEFAULT,
|
|
54
|
+
STRATEGY_NEVER,
|
|
55
|
+
STRATEGY_REPLACE
|
|
56
|
+
} from './tileset-2d';
|
|
57
|
+
export type {
|
|
58
|
+
ImageSetBaseProps,
|
|
59
|
+
ImageSetListener,
|
|
60
|
+
ImageSetProps,
|
|
61
|
+
ImageSetRequest
|
|
62
|
+
} from './image-set';
|
|
63
|
+
export {ImageSet} from './image-set';
|
|
64
|
+
export type {
|
|
65
|
+
RasterSetBaseProps,
|
|
66
|
+
RasterSetListener,
|
|
67
|
+
RasterSetProps,
|
|
68
|
+
RasterSetRequest,
|
|
69
|
+
RasterSetShouldRefetchArgs
|
|
70
|
+
} from './raster-set';
|
|
71
|
+
export {RasterSet} from './raster-set';
|
|
72
|
+
export type {
|
|
73
|
+
PointCloudAttribute,
|
|
74
|
+
PointCloudBoundingVolume,
|
|
75
|
+
PointCloudTileContent,
|
|
76
|
+
PointCloudTileHeader,
|
|
77
|
+
PointCloudTilesetSource,
|
|
78
|
+
PointCloudTilesetViewState
|
|
79
|
+
} from './point-cloud/types';
|
|
80
|
+
export type {PointCloudTilesetOptions} from './point-cloud/point-cloud-tileset';
|
|
81
|
+
export {PointCloudTileset} from './point-cloud/point-cloud-tileset';
|
|
82
|
+
export {PointCloudTile} from './point-cloud/point-cloud-tile';
|
|
83
|
+
export {createBoundingVolume} from './tileset-3d/helpers/bounding-volume';
|
|
84
|
+
export {calculateTransformProps} from './tileset-3d/helpers/transform-utils';
|
|
14
85
|
|
|
15
|
-
export {getFrameState} from './tileset/helpers/frame-state';
|
|
16
|
-
export {getLodStatus} from './tileset/helpers/i3s-lod';
|
|
86
|
+
export {getFrameState} from './tileset-3d/helpers/frame-state';
|
|
87
|
+
export {getLodStatus} from './tileset-3d/helpers/i3s-lod';
|
|
17
88
|
|
|
18
89
|
export {
|
|
19
90
|
TILE_CONTENT_STATE,
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type {PointCloudTileContent, PointCloudTileHeader} from './types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Runtime tile state for PointCloudTileset traversal and loading.
|
|
5
|
+
*/
|
|
6
|
+
export class PointCloudTile {
|
|
7
|
+
header: PointCloudTileHeader;
|
|
8
|
+
parent: PointCloudTile | null;
|
|
9
|
+
children: PointCloudTile[] = [];
|
|
10
|
+
childrenLoaded = false;
|
|
11
|
+
childrenPromise: Promise<PointCloudTile[]> | null = null;
|
|
12
|
+
selected = false;
|
|
13
|
+
viewportIds: string[] = [];
|
|
14
|
+
content: PointCloudTileContent | null = null;
|
|
15
|
+
contentAvailable = false;
|
|
16
|
+
contentFailed = false;
|
|
17
|
+
isContentLoading = false;
|
|
18
|
+
|
|
19
|
+
constructor(header: PointCloudTileHeader, parent: PointCloudTile | null = null) {
|
|
20
|
+
this.header = header;
|
|
21
|
+
this.parent = parent;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Tile identifier.
|
|
26
|
+
*/
|
|
27
|
+
get id(): string {
|
|
28
|
+
return this.header.id;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Tile depth level.
|
|
33
|
+
*/
|
|
34
|
+
get level(): number {
|
|
35
|
+
return this.header.level;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Tile point count.
|
|
40
|
+
*/
|
|
41
|
+
get pointCount(): number {
|
|
42
|
+
return this.header.pointCount;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Tile geometric error.
|
|
47
|
+
*/
|
|
48
|
+
get geometricError(): number {
|
|
49
|
+
return this.header.geometricError;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Tile bounds.
|
|
54
|
+
*/
|
|
55
|
+
get boundingVolume() {
|
|
56
|
+
return this.header.boundingVolume;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Update the selected state for a traversal cycle.
|
|
61
|
+
*/
|
|
62
|
+
setSelected(viewportId: string): void {
|
|
63
|
+
this.selected = true;
|
|
64
|
+
if (!this.viewportIds.includes(viewportId)) {
|
|
65
|
+
this.viewportIds.push(viewportId);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Clear transient selection state.
|
|
71
|
+
*/
|
|
72
|
+
clearSelection(): void {
|
|
73
|
+
this.selected = false;
|
|
74
|
+
this.viewportIds = [];
|
|
75
|
+
}
|
|
76
|
+
}
|