@loaders.gl/3d-tiles 4.0.0-alpha.21 → 4.0.0-alpha.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/dist/3d-tiles-archive/3d-tiles-archive-archive.d.ts +30 -0
  2. package/dist/3d-tiles-archive/3d-tiles-archive-archive.d.ts.map +1 -0
  3. package/dist/{tz3/tz3-archive.js → 3d-tiles-archive/3d-tiles-archive-archive.js} +16 -16
  4. package/dist/3d-tiles-archive/3d-tiles-archive-parser.d.ts +10 -0
  5. package/dist/3d-tiles-archive/3d-tiles-archive-parser.d.ts.map +1 -0
  6. package/dist/{tz3/tz3-parser.js → 3d-tiles-archive/3d-tiles-archive-parser.js} +5 -5
  7. package/dist/3d-tiles-archive-loader.d.ts +13 -0
  8. package/dist/3d-tiles-archive-loader.d.ts.map +1 -0
  9. package/dist/3d-tiles-archive-loader.js +31 -0
  10. package/dist/cesium-ion-loader.d.ts.map +1 -1
  11. package/dist/cesium-ion-loader.js +0 -1
  12. package/dist/dist.min.js +2218 -1370
  13. package/dist/es5/3d-tiles-archive/3d-tiles-archive-archive.js +126 -0
  14. package/dist/es5/3d-tiles-archive/3d-tiles-archive-archive.js.map +1 -0
  15. package/dist/es5/{tz3/tz3-parser.js → 3d-tiles-archive/3d-tiles-archive-parser.js} +7 -7
  16. package/dist/es5/3d-tiles-archive/3d-tiles-archive-parser.js.map +1 -0
  17. package/dist/es5/3d-tiles-archive-loader.js +50 -0
  18. package/dist/es5/3d-tiles-archive-loader.js.map +1 -0
  19. package/dist/es5/cesium-ion-loader.js.map +1 -1
  20. package/dist/es5/index.js +14 -7
  21. package/dist/es5/index.js.map +1 -1
  22. package/dist/es5/lib/filesystems/tiles-3d-archive-file-system.js +151 -0
  23. package/dist/es5/lib/filesystems/tiles-3d-archive-file-system.js.map +1 -0
  24. package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js +3 -3
  25. package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -1
  26. package/dist/es5/lib/parsers/parse-3d-tile-composite.js +3 -1
  27. package/dist/es5/lib/parsers/parse-3d-tile-composite.js.map +1 -1
  28. package/dist/es5/lib/parsers/parse-3d-tile-gltf.js +14 -12
  29. package/dist/es5/lib/parsers/parse-3d-tile-gltf.js.map +1 -1
  30. package/dist/es5/lib/parsers/parse-3d-tile-header.js +2 -1
  31. package/dist/es5/lib/parsers/parse-3d-tile-header.js.map +1 -1
  32. package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js +6 -6
  33. package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -1
  34. package/dist/es5/lib/parsers/parse-3d-tile.js +3 -1
  35. package/dist/es5/lib/parsers/parse-3d-tile.js.map +1 -1
  36. package/dist/es5/lib/utils/version.js +1 -1
  37. package/dist/es5/tiles-3d-loader.js +2 -0
  38. package/dist/es5/tiles-3d-loader.js.map +1 -1
  39. package/dist/es5/types.js.map +1 -1
  40. package/dist/esm/{tz3/tz3-archive.js → 3d-tiles-archive/3d-tiles-archive-archive.js} +14 -19
  41. package/dist/esm/3d-tiles-archive/3d-tiles-archive-archive.js.map +1 -0
  42. package/dist/esm/{tz3/tz3-parser.js → 3d-tiles-archive/3d-tiles-archive-parser.js} +4 -4
  43. package/dist/esm/3d-tiles-archive/3d-tiles-archive-parser.js.map +1 -0
  44. package/dist/esm/3d-tiles-archive-loader.js +20 -0
  45. package/dist/esm/3d-tiles-archive-loader.js.map +1 -0
  46. package/dist/esm/cesium-ion-loader.js.map +1 -1
  47. package/dist/esm/index.js +2 -1
  48. package/dist/esm/index.js.map +1 -1
  49. package/dist/esm/lib/filesystems/tiles-3d-archive-file-system.js +49 -0
  50. package/dist/esm/lib/filesystems/tiles-3d-archive-file-system.js.map +1 -0
  51. package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js +5 -6
  52. package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -1
  53. package/dist/esm/lib/parsers/parse-3d-tile-composite.js +3 -1
  54. package/dist/esm/lib/parsers/parse-3d-tile-composite.js.map +1 -1
  55. package/dist/esm/lib/parsers/parse-3d-tile-gltf.js +7 -8
  56. package/dist/esm/lib/parsers/parse-3d-tile-gltf.js.map +1 -1
  57. package/dist/esm/lib/parsers/parse-3d-tile-header.js +2 -1
  58. package/dist/esm/lib/parsers/parse-3d-tile-header.js.map +1 -1
  59. package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js +2 -4
  60. package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -1
  61. package/dist/esm/lib/parsers/parse-3d-tile.js +3 -1
  62. package/dist/esm/lib/parsers/parse-3d-tile.js.map +1 -1
  63. package/dist/esm/lib/utils/version.js +1 -1
  64. package/dist/esm/tiles-3d-loader.js +2 -0
  65. package/dist/esm/tiles-3d-loader.js.map +1 -1
  66. package/dist/esm/types.js.map +1 -1
  67. package/dist/index.d.ts +3 -2
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +5 -3
  70. package/dist/lib/filesystems/tiles-3d-archive-file-system.d.ts +32 -0
  71. package/dist/lib/filesystems/tiles-3d-archive-file-system.d.ts.map +1 -0
  72. package/dist/lib/filesystems/tiles-3d-archive-file-system.js +75 -0
  73. package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.d.ts.map +1 -1
  74. package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js +2 -2
  75. package/dist/lib/parsers/parse-3d-tile-composite.js +1 -1
  76. package/dist/lib/parsers/parse-3d-tile-gltf.d.ts +2 -2
  77. package/dist/lib/parsers/parse-3d-tile-gltf.d.ts.map +1 -1
  78. package/dist/lib/parsers/parse-3d-tile-gltf.js +8 -7
  79. package/dist/lib/parsers/parse-3d-tile-header.d.ts.map +1 -1
  80. package/dist/lib/parsers/parse-3d-tile-header.js +2 -1
  81. package/dist/lib/parsers/parse-3d-tile-point-cloud.d.ts +1 -1
  82. package/dist/lib/parsers/parse-3d-tile-point-cloud.d.ts.map +1 -1
  83. package/dist/lib/parsers/parse-3d-tile-point-cloud.js +10 -2
  84. package/dist/lib/parsers/parse-3d-tile.d.ts +1 -1
  85. package/dist/lib/parsers/parse-3d-tile.d.ts.map +1 -1
  86. package/dist/lib/parsers/parse-3d-tile.js +1 -1
  87. package/dist/tiles-3d-loader.d.ts +2 -1
  88. package/dist/tiles-3d-loader.d.ts.map +1 -1
  89. package/dist/tiles-3d-loader.js +4 -0
  90. package/dist/types.d.ts +2 -0
  91. package/dist/types.d.ts.map +1 -1
  92. package/package.json +8 -7
  93. package/src/{tz3/tz3-archive.ts → 3d-tiles-archive/3d-tiles-archive-archive.ts} +22 -19
  94. package/src/{tz3/tz3-parser.ts → 3d-tiles-archive/3d-tiles-archive-parser.ts} +5 -5
  95. package/src/3d-tiles-archive-loader.ts +47 -0
  96. package/src/cesium-ion-loader.ts +0 -1
  97. package/src/index.ts +3 -2
  98. package/src/lib/filesystems/tiles-3d-archive-file-system.ts +97 -0
  99. package/src/lib/parsers/helpers/parse-3d-tile-gltf-view.ts +8 -3
  100. package/src/lib/parsers/parse-3d-tile-composite.ts +1 -1
  101. package/src/lib/parsers/parse-3d-tile-gltf.ts +11 -10
  102. package/src/lib/parsers/parse-3d-tile-header.ts +2 -1
  103. package/src/lib/parsers/parse-3d-tile-point-cloud.ts +10 -3
  104. package/src/lib/parsers/parse-3d-tile.ts +2 -2
  105. package/src/tiles-3d-loader.ts +16 -4
  106. package/src/types.ts +3 -0
  107. package/dist/es5/tz3/tz3-archive.js +0 -161
  108. package/dist/es5/tz3/tz3-archive.js.map +0 -1
  109. package/dist/es5/tz3/tz3-parser.js.map +0 -1
  110. package/dist/es5/tz3-loader.js +0 -48
  111. package/dist/es5/tz3-loader.js.map +0 -1
  112. package/dist/esm/tz3/tz3-archive.js.map +0 -1
  113. package/dist/esm/tz3/tz3-parser.js.map +0 -1
  114. package/dist/esm/tz3-loader.js +0 -19
  115. package/dist/esm/tz3-loader.js.map +0 -1
  116. package/dist/tz3/tz3-archive.d.ts +0 -23
  117. package/dist/tz3/tz3-archive.d.ts.map +0 -1
  118. package/dist/tz3/tz3-parser.d.ts +0 -10
  119. package/dist/tz3/tz3-parser.d.ts.map +0 -1
  120. package/dist/tz3-loader.d.ts +0 -14
  121. package/dist/tz3-loader.d.ts.map +0 -1
  122. package/dist/tz3-loader.js +0 -30
  123. package/src/tz3-loader.ts +0 -41
@@ -0,0 +1,30 @@
1
+ import { FileProvider } from '@loaders.gl/loader-utils';
2
+ import { HashElement } from '@loaders.gl/zip';
3
+ /**
4
+ * Class for handling information about 3tz file
5
+ */
6
+ export declare class Tiles3DArchive {
7
+ /** FileProvider with whe whole file */
8
+ private fileProvider;
9
+ /** hash info */
10
+ private hashArray;
11
+ /**
12
+ * creates Tiles3DArchive handler
13
+ * @param fileProvider - FileProvider with the whole file
14
+ * @param hashFile - hash info
15
+ */
16
+ constructor(fileProvider: FileProvider, hashFile: HashElement[]);
17
+ /**
18
+ * Returns file with the given path from 3tz archive
19
+ * @param path - path inside the 3tz
20
+ * @returns buffer with ready to use file
21
+ */
22
+ getFile(path: string): Promise<ArrayBuffer>;
23
+ /**
24
+ * Trying to get raw file data by adress
25
+ * @param path - path inside the archive
26
+ * @returns buffer with the raw file data
27
+ */
28
+ private getFileBytes;
29
+ }
30
+ //# sourceMappingURL=3d-tiles-archive-archive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"3d-tiles-archive-archive.d.ts","sourceRoot":"","sources":["../../src/3d-tiles-archive/3d-tiles-archive-archive.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAA0B,WAAW,EAAU,MAAM,iBAAiB,CAAC;AAe9E;;GAEG;AACH,qBAAa,cAAc;IACzB,uCAAuC;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,gBAAgB;IAChB,OAAO,CAAC,SAAS,CAAgB;IAEjC;;;;OAIG;gBACS,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE;IAK/D;;;;OAIG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAcjD;;;;OAIG;YACW,YAAY;CAwB3B"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TZ3Archive = void 0;
6
+ exports.Tiles3DArchive = void 0;
7
7
  const md5_1 = __importDefault(require("md5"));
8
8
  const zip_1 = require("@loaders.gl/zip");
9
9
  const compression_1 = require("@loaders.gl/compression");
@@ -12,20 +12,21 @@ const compression_1 = require("@loaders.gl/compression");
12
12
  */
13
13
  const COMPRESSION_METHODS = {
14
14
  /** No compression */
15
- 0: async (compressedFile) => compressedFile,
15
+ 0: (data) => new compression_1.NoCompression().decompress(data),
16
16
  /** Deflation */
17
- 8: async (compressedFile) => {
18
- const compression = new compression_1.DeflateCompression({ raw: true });
19
- const decompressedData = await compression.decompress(compressedFile);
20
- return decompressedData;
21
- }
17
+ 8: (data) => new compression_1.DeflateCompression({ raw: true }).decompress(data)
22
18
  };
23
19
  /**
24
20
  * Class for handling information about 3tz file
25
21
  */
26
- class TZ3Archive {
27
- constructor(tz3Archive, hashFile) {
28
- this.tz3Archive = tz3Archive;
22
+ class Tiles3DArchive {
23
+ /**
24
+ * creates Tiles3DArchive handler
25
+ * @param fileProvider - FileProvider with the whole file
26
+ * @param hashFile - hash info
27
+ */
28
+ constructor(fileProvider, hashFile) {
29
+ this.fileProvider = fileProvider;
29
30
  this.hashArray = hashFile;
30
31
  }
31
32
  /**
@@ -41,10 +42,9 @@ class TZ3Archive {
41
42
  data = await this.getFileBytes(path);
42
43
  }
43
44
  if (!data) {
44
- throw new Error('No such file in the archieve');
45
+ throw new Error('No such file in the archive');
45
46
  }
46
- const decompressedFile = Buffer.from(data);
47
- return decompressedFile;
47
+ return data;
48
48
  }
49
49
  /**
50
50
  * Trying to get raw file data by adress
@@ -57,11 +57,11 @@ class TZ3Archive {
57
57
  if (!fileInfo) {
58
58
  return null;
59
59
  }
60
- const localFileHeader = await (0, zip_1.parseZipLocalFileHeader)(fileInfo.offset, this.tz3Archive);
60
+ const localFileHeader = await (0, zip_1.parseZipLocalFileHeader)(fileInfo.offset, this.fileProvider);
61
61
  if (!localFileHeader) {
62
62
  return null;
63
63
  }
64
- const compressedFile = await this.tz3Archive.slice(localFileHeader.fileDataOffset, localFileHeader.fileDataOffset + localFileHeader.compressedSize);
64
+ const compressedFile = await this.fileProvider.slice(localFileHeader.fileDataOffset, localFileHeader.fileDataOffset + localFileHeader.compressedSize);
65
65
  const compressionMethod = COMPRESSION_METHODS[localFileHeader.compressionMethod];
66
66
  if (!compressionMethod) {
67
67
  throw Error('Only Deflation compression is supported');
@@ -69,4 +69,4 @@ class TZ3Archive {
69
69
  return compressionMethod(compressedFile);
70
70
  }
71
71
  }
72
- exports.TZ3Archive = TZ3Archive;
72
+ exports.Tiles3DArchive = Tiles3DArchive;
@@ -0,0 +1,10 @@
1
+ import { FileProvider } from '@loaders.gl/loader-utils';
2
+ import { Tiles3DArchive } from './3d-tiles-archive-archive';
3
+ /**
4
+ * Creates 3tz file handler from raw file
5
+ * @param fileProvider raw file data
6
+ * @param cb is called with information message during parsing
7
+ * @returns 3tz file handler
8
+ */
9
+ export declare const parse3DTilesArchive: (fileProvider: FileProvider, cb?: ((msg: string) => void) | undefined) => Promise<Tiles3DArchive>;
10
+ //# sourceMappingURL=3d-tiles-archive-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"3d-tiles-archive-parser.d.ts","sourceRoot":"","sources":["../../src/3d-tiles-archive/3d-tiles-archive-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAUtD,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,iBAChB,YAAY,cACf,MAAM,KAAK,IAAI,kBACzB,QAAQ,cAAc,CA8BxB,CAAC"}
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parse3tz = void 0;
3
+ exports.parse3DTilesArchive = void 0;
4
4
  const zip_1 = require("@loaders.gl/zip");
5
- const tz3_archive_1 = require("./tz3-archive");
5
+ const _3d_tiles_archive_archive_1 = require("./3d-tiles-archive-archive");
6
6
  /**
7
7
  * Creates 3tz file handler from raw file
8
8
  * @param fileProvider raw file data
9
9
  * @param cb is called with information message during parsing
10
10
  * @returns 3tz file handler
11
11
  */
12
- const parse3tz = async (fileProvider, cb) => {
12
+ const parse3DTilesArchive = async (fileProvider, cb) => {
13
13
  const hashCDOffset = await (0, zip_1.searchFromTheEnd)(fileProvider, zip_1.cdSignature);
14
14
  const cdFileHeader = await (0, zip_1.parseZipCDFileHeader)(hashCDOffset, fileProvider);
15
15
  let hashData;
@@ -28,6 +28,6 @@ const parse3tz = async (fileProvider, cb) => {
28
28
  const hashFile = await fileProvider.slice(fileDataOffset, fileDataOffset + localFileHeader.compressedSize);
29
29
  hashData = (0, zip_1.parseHashFile)(hashFile);
30
30
  }
31
- return new tz3_archive_1.TZ3Archive(fileProvider, hashData);
31
+ return new _3d_tiles_archive_archive_1.Tiles3DArchive(fileProvider, hashData);
32
32
  };
33
- exports.parse3tz = parse3tz;
33
+ exports.parse3DTilesArchive = parse3DTilesArchive;
@@ -0,0 +1,13 @@
1
+ import type { LoaderOptions, LoaderWithParser } from '@loaders.gl/loader-utils';
2
+ /** options to load data from 3tz */
3
+ export type Tiles3DArchiveFileLoaderOptions = LoaderOptions & {
4
+ '3d-tiles-archive'?: {
5
+ /** path inside the 3tz archive */
6
+ path?: string;
7
+ };
8
+ };
9
+ /**
10
+ * Loader for 3tz packages
11
+ */
12
+ export declare const Tiles3DArchiveFileLoader: LoaderWithParser<ArrayBuffer, never, Tiles3DArchiveFileLoaderOptions>;
13
+ //# sourceMappingURL=3d-tiles-archive-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"3d-tiles-archive-loader.d.ts","sourceRoot":"","sources":["../src/3d-tiles-archive-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAE,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAQ9E,oCAAoC;AACpC,MAAM,MAAM,+BAA+B,GAAG,aAAa,GAAG;IAC5D,kBAAkB,CAAC,EAAE;QACnB,kCAAkC;QAClC,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,gBAAgB,CACrD,WAAW,EACX,KAAK,EACL,+BAA+B,CAUhC,CAAC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Tiles3DArchiveFileLoader = void 0;
4
+ const loader_utils_1 = require("@loaders.gl/loader-utils");
5
+ const _3d_tiles_archive_parser_1 = require("./3d-tiles-archive/3d-tiles-archive-parser");
6
+ // __VERSION__ is injected by babel-plugin-version-inline
7
+ // @ts-ignore TS2304: Cannot find name '__VERSION__'.
8
+ const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
9
+ /**
10
+ * Loader for 3tz packages
11
+ */
12
+ exports.Tiles3DArchiveFileLoader = {
13
+ name: '3tz',
14
+ id: '3tz',
15
+ module: '3d-tiles',
16
+ version: VERSION,
17
+ mimeTypes: ['application/octet-stream', 'application/vnd.maxar.archive.3tz+zip'],
18
+ parse: parse3DTilesArchive,
19
+ extensions: ['3tz'],
20
+ options: {}
21
+ };
22
+ /**
23
+ * returns a single file from the 3tz archive
24
+ * @param data 3tz archive data
25
+ * @param options options
26
+ * @returns requested file
27
+ */
28
+ async function parse3DTilesArchive(data, options = {}) {
29
+ const archive = await (0, _3d_tiles_archive_parser_1.parse3DTilesArchive)(new loader_utils_1.DataViewFile(new DataView(data)));
30
+ return archive.getFile(options['3d-tiles-archive']?.path ?? '');
31
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"cesium-ion-loader.d.ts","sourceRoot":"","sources":["../src/cesium-ion-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAiB/D;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,gBAoB7B,CAAC"}
1
+ {"version":3,"file":"cesium-ion-loader.d.ts","sourceRoot":"","sources":["../src/cesium-ion-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAiB/D;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,gBAmB7B,CAAC"}
@@ -33,7 +33,6 @@ exports.CesiumIonLoader = {
33
33
  },
34
34
  options: {
35
35
  'cesium-ion': {
36
- // @ts-expect-error
37
36
  ...tiles_3d_loader_1.Tiles3DLoader.options['3d-tiles'],
38
37
  accessToken: null
39
38
  }