@loaders.gl/3d-tiles 4.1.0-alpha.1 → 4.1.0-alpha.11
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/dist/3d-tiles-archive/3d-tiles-archive-archive.d.ts.map +1 -1
- package/dist/3d-tiles-archive/3d-tiles-archive-archive.js.map +1 -1
- package/dist/3d-tiles-archive/3d-tiles-archive-parser.d.ts.map +1 -1
- package/dist/3d-tiles-archive/3d-tiles-archive-parser.js.map +1 -1
- package/dist/3d-tiles-archive-loader.d.ts.map +1 -1
- package/dist/3d-tiles-archive-loader.js +1 -1
- package/dist/3d-tiles-archive-loader.js.map +1 -1
- package/dist/cesium-ion-loader.d.ts.map +1 -1
- package/dist/cesium-ion-loader.js.map +1 -1
- package/dist/dist.dev.js +208 -44
- package/dist/index.cjs +29 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/classes/helpers/tile-3d-accessor-utils.d.ts.map +1 -1
- package/dist/lib/classes/helpers/tile-3d-accessor-utils.js.map +1 -1
- package/dist/lib/classes/tile-3d-batch-table-hierarchy.d.ts.map +1 -1
- package/dist/lib/classes/tile-3d-batch-table-hierarchy.js.map +1 -1
- package/dist/lib/classes/tile-3d-batch-table.d.ts.map +1 -1
- package/dist/lib/classes/tile-3d-batch-table.js.map +1 -1
- package/dist/lib/classes/tile-3d-feature-table.d.ts.map +1 -1
- package/dist/lib/classes/tile-3d-feature-table.js.map +1 -1
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/encoders/encode-3d-tile-batched-model.d.ts.map +1 -1
- package/dist/lib/encoders/encode-3d-tile-batched-model.js.map +1 -1
- package/dist/lib/encoders/encode-3d-tile-composite.d.ts.map +1 -1
- package/dist/lib/encoders/encode-3d-tile-composite.js.map +1 -1
- package/dist/lib/encoders/encode-3d-tile-instanced-model.d.ts.map +1 -1
- package/dist/lib/encoders/encode-3d-tile-instanced-model.js.map +1 -1
- package/dist/lib/encoders/encode-3d-tile-point-cloud.d.ts.map +1 -1
- package/dist/lib/encoders/encode-3d-tile-point-cloud.js.map +1 -1
- package/dist/lib/encoders/encode-3d-tile.d.ts.map +1 -1
- package/dist/lib/encoders/encode-3d-tile.js.map +1 -1
- package/dist/lib/encoders/helpers/encode-3d-tile-header.d.ts.map +1 -1
- package/dist/lib/encoders/helpers/encode-3d-tile-header.js.map +1 -1
- package/dist/lib/filesystems/tiles-3d-archive-file-system.d.ts.map +1 -1
- package/dist/lib/filesystems/tiles-3d-archive-file-system.js.map +1 -1
- package/dist/lib/ion/ion.d.ts.map +1 -1
- package/dist/lib/ion/ion.js.map +1 -1
- package/dist/lib/parsers/helpers/normalize-3d-tile-colors.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js.map +1 -1
- package/dist/lib/parsers/helpers/normalize-3d-tile-normals.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js.map +1 -1
- package/dist/lib/parsers/helpers/normalize-3d-tile-positions.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js.map +1 -1
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.js +21 -19
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +1 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-header.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-header.js.map +1 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.d.ts +9 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js +3 -2
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js.map +1 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-tables.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-tables.js.map +1 -1
- package/dist/lib/parsers/helpers/parse-utils.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/parse-utils.js.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-batched-model.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-batched-model.js.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-composite.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-composite.js.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-gltf.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-gltf.js.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-header.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-header.js +6 -5
- package/dist/lib/parsers/parse-3d-tile-header.js.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-instanced-model.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-instanced-model.js.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-point-cloud.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -1
- package/dist/lib/parsers/parse-3d-tile.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile.js.map +1 -1
- package/dist/lib/utils/obb/s2-corners-to-obb.d.ts.map +1 -1
- package/dist/lib/utils/obb/s2-corners-to-obb.js.map +1 -1
- package/dist/lib/utils/s2/converters/s2-to-boundary.d.ts.map +1 -1
- package/dist/lib/utils/s2/converters/s2-to-boundary.js.map +1 -1
- package/dist/lib/utils/s2/converters/s2-to-obb-points.d.ts.map +1 -1
- package/dist/lib/utils/s2/converters/s2-to-obb-points.js.map +1 -1
- package/dist/lib/utils/s2/converters/s2-to-region.d.ts.map +1 -1
- package/dist/lib/utils/s2/converters/s2-to-region.js.map +1 -1
- package/dist/lib/utils/s2/index.d.ts.map +1 -1
- package/dist/lib/utils/s2/index.js.map +1 -1
- package/dist/lib/utils/s2/s2-geometry-functions.d.ts.map +1 -1
- package/dist/lib/utils/s2/s2-geometry-functions.js.map +1 -1
- package/dist/lib/utils/s2/s2-token-functions.d.ts.map +1 -1
- package/dist/lib/utils/s2/s2-token-functions.js.map +1 -1
- package/dist/lib/utils/s2/s2geometry/s2-cell-utils.d.ts.map +1 -1
- package/dist/lib/utils/s2/s2geometry/s2-cell-utils.js.map +1 -1
- package/dist/lib/utils/s2/s2geometry/s2-geometry.d.ts.map +1 -1
- package/dist/lib/utils/s2/s2geometry/s2-geometry.js.map +1 -1
- package/dist/lib/utils/version.js +1 -1
- package/dist/lib/utils/version.js.map +1 -1
- package/dist/tile-3d-subtree-loader.d.ts.map +1 -1
- package/dist/tile-3d-subtree-loader.js.map +1 -1
- package/dist/tile-3d-writer.d.ts.map +1 -1
- package/dist/tile-3d-writer.js.map +1 -1
- package/dist/tiles-3d-loader.d.ts.map +1 -1
- package/dist/tiles-3d-loader.js.map +1 -1
- package/dist/types.d.ts +4 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +10 -10
- package/src/3d-tiles-archive/3d-tiles-archive-archive.ts +4 -0
- package/src/3d-tiles-archive/3d-tiles-archive-parser.ts +4 -0
- package/src/3d-tiles-archive-loader.ts +4 -0
- package/src/cesium-ion-loader.ts +4 -0
- package/src/index.ts +4 -0
- package/src/lib/classes/helpers/tile-3d-accessor-utils.ts +4 -0
- package/src/lib/classes/tile-3d-batch-table-hierarchy.ts +4 -0
- package/src/lib/classes/tile-3d-batch-table.ts +4 -0
- package/src/lib/classes/tile-3d-feature-table.ts +4 -0
- package/src/lib/constants.ts +4 -0
- package/src/lib/encoders/encode-3d-tile-batched-model.ts +4 -0
- package/src/lib/encoders/encode-3d-tile-composite.ts +4 -0
- package/src/lib/encoders/encode-3d-tile-instanced-model.ts +4 -0
- package/src/lib/encoders/encode-3d-tile-point-cloud.ts +4 -0
- package/src/lib/encoders/encode-3d-tile.ts +4 -0
- package/src/lib/encoders/helpers/encode-3d-tile-header.ts +4 -0
- package/src/lib/filesystems/tiles-3d-archive-file-system.ts +4 -0
- package/src/lib/ion/ion.ts +4 -0
- package/src/lib/parsers/helpers/normalize-3d-tile-colors.ts +4 -0
- package/src/lib/parsers/helpers/normalize-3d-tile-normals.ts +4 -0
- package/src/lib/parsers/helpers/normalize-3d-tile-positions.ts +4 -0
- package/src/lib/parsers/helpers/parse-3d-implicit-tiles.ts +25 -16
- package/src/lib/parsers/helpers/parse-3d-tile-gltf-view.ts +4 -0
- package/src/lib/parsers/helpers/parse-3d-tile-header.ts +4 -0
- package/src/lib/parsers/helpers/parse-3d-tile-subtree.ts +11 -2
- package/src/lib/parsers/helpers/parse-3d-tile-tables.ts +4 -0
- package/src/lib/parsers/helpers/parse-utils.ts +4 -0
- package/src/lib/parsers/parse-3d-tile-batched-model.ts +4 -0
- package/src/lib/parsers/parse-3d-tile-composite.ts +4 -0
- package/src/lib/parsers/parse-3d-tile-gltf.ts +2 -1
- package/src/lib/parsers/parse-3d-tile-header.ts +11 -3
- package/src/lib/parsers/parse-3d-tile-instanced-model.ts +4 -0
- package/src/lib/parsers/parse-3d-tile-point-cloud.ts +4 -0
- package/src/lib/parsers/parse-3d-tile.ts +4 -0
- package/src/lib/utils/obb/s2-corners-to-obb.ts +4 -0
- package/src/lib/utils/s2/converters/s2-to-boundary.ts +4 -0
- package/src/lib/utils/s2/converters/s2-to-obb-points.ts +4 -0
- package/src/lib/utils/s2/converters/s2-to-region.ts +4 -0
- package/src/lib/utils/s2/index.ts +3 -1
- package/src/lib/utils/s2/s2-geometry-functions.ts +3 -1
- package/src/lib/utils/s2/s2-token-functions.ts +3 -2
- package/src/lib/utils/s2/s2geometry/s2-cell-utils.ts +3 -1
- package/src/lib/utils/s2/s2geometry/s2-geometry.ts +4 -1
- package/src/tile-3d-subtree-loader.ts +4 -0
- package/src/tile-3d-writer.ts +4 -0
- package/src/tiles-3d-loader.ts +4 -0
- package/src/types.ts +8 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"3d-tiles-archive-archive.d.ts","sourceRoot":"","sources":["../../src/3d-tiles-archive/3d-tiles-archive-archive.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"3d-tiles-archive-archive.d.ts","sourceRoot":"","sources":["../../src/3d-tiles-archive/3d-tiles-archive-archive.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAiBtD;;GAEG;AACH,qBAAa,cAAc;IACzB,uCAAuC;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,gBAAgB;IAChB,OAAO,CAAC,SAAS,CAAyB;IAE1C;;;;OAIG;gBACS,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAKzE;;;;OAIG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAcjD;;;;OAIG;YACW,YAAY;CAyB3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"3d-tiles-archive-archive.js","names":["MD5Hash","DeflateCompression","NoCompression","parseZipLocalFileHeader","COMPRESSION_METHODS","data","decompress","raw","Tiles3DArchive","constructor","fileProvider","hashTable","getFile","path","getFileBytes","toLocaleLowerCase","Error","arrayBuffer","TextEncoder","encode","buffer","nameHash","hash","byteOffset","undefined","localFileHeader","compressedFile","slice","fileDataOffset","compressedSize","compressionMethod"],"sources":["../../src/3d-tiles-archive/3d-tiles-archive-archive.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"3d-tiles-archive-archive.js","names":["MD5Hash","DeflateCompression","NoCompression","parseZipLocalFileHeader","COMPRESSION_METHODS","data","decompress","raw","Tiles3DArchive","constructor","fileProvider","hashTable","getFile","path","getFileBytes","toLocaleLowerCase","Error","arrayBuffer","TextEncoder","encode","buffer","nameHash","hash","byteOffset","undefined","localFileHeader","compressedFile","slice","fileDataOffset","compressedSize","compressionMethod"],"sources":["../../src/3d-tiles-archive/3d-tiles-archive-archive.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright vis.gl contributors\n\nimport {FileProvider} from '@loaders.gl/loader-utils';\nimport {MD5Hash} from '@loaders.gl/crypto';\nimport {DeflateCompression, NoCompression} from '@loaders.gl/compression';\nimport {parseZipLocalFileHeader} from '@loaders.gl/zip';\n\ntype CompressionHandler = (compressedFile: ArrayBuffer) => Promise<ArrayBuffer>;\n\n/**\n * Handling different compression types in zip\n */\nconst COMPRESSION_METHODS: {[key: number]: CompressionHandler} = {\n /** No compression */\n 0: (data) => new NoCompression().decompress(data),\n /** Deflation */\n 8: (data) => new DeflateCompression({raw: true}).decompress(data)\n};\n\n/**\n * Class for handling information about 3tz file\n */\nexport class Tiles3DArchive {\n /** FileProvider with whe whole file */\n private fileProvider: FileProvider;\n /** hash info */\n private hashTable: Record<string, bigint>;\n\n /**\n * creates Tiles3DArchive handler\n * @param fileProvider - FileProvider with the whole file\n * @param hashTable - hash info\n */\n constructor(fileProvider: FileProvider, hashTable: Record<string, bigint>) {\n this.fileProvider = fileProvider;\n this.hashTable = hashTable;\n }\n\n /**\n * Returns file with the given path from 3tz archive\n * @param path - path inside the 3tz\n * @returns buffer with ready to use file\n */\n async getFile(path: string): Promise<ArrayBuffer> {\n // sometimes paths are not in lower case when hash file is created,\n // so first we're looking for lower case file name and then for original one\n let data = await this.getFileBytes(path.toLocaleLowerCase());\n if (!data) {\n data = await this.getFileBytes(path);\n }\n if (!data) {\n throw new Error(`No such file in the archive: ${path}`);\n }\n\n return data;\n }\n\n /**\n * Trying to get raw file data by adress\n * @param path - path inside the archive\n * @returns buffer with the raw file data\n */\n private async getFileBytes(path: string): Promise<ArrayBuffer | null> {\n const arrayBuffer = new TextEncoder().encode(path).buffer;\n const nameHash = await new MD5Hash().hash(arrayBuffer, 'hex');\n const byteOffset = this.hashTable[nameHash];\n if (byteOffset === undefined) {\n return null;\n }\n\n const localFileHeader = await parseZipLocalFileHeader(byteOffset, this.fileProvider);\n if (!localFileHeader) {\n return null;\n }\n\n const compressedFile = await this.fileProvider.slice(\n localFileHeader.fileDataOffset,\n localFileHeader.fileDataOffset + localFileHeader.compressedSize\n );\n\n const compressionMethod = COMPRESSION_METHODS[localFileHeader.compressionMethod];\n if (!compressionMethod) {\n throw Error('Only Deflation compression is supported');\n }\n\n return compressionMethod(compressedFile);\n }\n}\n"],"mappings":"AAKA,SAAQA,OAAO,QAAO,oBAAoB;AAC1C,SAAQC,kBAAkB,EAAEC,aAAa,QAAO,yBAAyB;AACzE,SAAQC,uBAAuB,QAAO,iBAAiB;AAOvD,MAAMC,mBAAwD,GAAG;EAE/D,CAAC,EAAGC,IAAI,IAAK,IAAIH,aAAa,CAAC,CAAC,CAACI,UAAU,CAACD,IAAI,CAAC;EAEjD,CAAC,EAAGA,IAAI,IAAK,IAAIJ,kBAAkB,CAAC;IAACM,GAAG,EAAE;EAAI,CAAC,CAAC,CAACD,UAAU,CAACD,IAAI;AAClE,CAAC;AAKD,OAAO,MAAMG,cAAc,CAAC;EAW1BC,WAAWA,CAACC,YAA0B,EAAEC,SAAiC,EAAE;IAAA,KATnED,YAAY;IAAA,KAEZC,SAAS;IAQf,IAAI,CAACD,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC5B;EAOA,MAAMC,OAAOA,CAACC,IAAY,EAAwB;IAGhD,IAAIR,IAAI,GAAG,MAAM,IAAI,CAACS,YAAY,CAACD,IAAI,CAACE,iBAAiB,CAAC,CAAC,CAAC;IAC5D,IAAI,CAACV,IAAI,EAAE;MACTA,IAAI,GAAG,MAAM,IAAI,CAACS,YAAY,CAACD,IAAI,CAAC;IACtC;IACA,IAAI,CAACR,IAAI,EAAE;MACT,MAAM,IAAIW,KAAK,CAAE,gCAA+BH,IAAK,EAAC,CAAC;IACzD;IAEA,OAAOR,IAAI;EACb;EAOA,MAAcS,YAAYA,CAACD,IAAY,EAA+B;IACpE,MAAMI,WAAW,GAAG,IAAIC,WAAW,CAAC,CAAC,CAACC,MAAM,CAACN,IAAI,CAAC,CAACO,MAAM;IACzD,MAAMC,QAAQ,GAAG,MAAM,IAAIrB,OAAO,CAAC,CAAC,CAACsB,IAAI,CAACL,WAAW,EAAE,KAAK,CAAC;IAC7D,MAAMM,UAAU,GAAG,IAAI,CAACZ,SAAS,CAACU,QAAQ,CAAC;IAC3C,IAAIE,UAAU,KAAKC,SAAS,EAAE;MAC5B,OAAO,IAAI;IACb;IAEA,MAAMC,eAAe,GAAG,MAAMtB,uBAAuB,CAACoB,UAAU,EAAE,IAAI,CAACb,YAAY,CAAC;IACpF,IAAI,CAACe,eAAe,EAAE;MACpB,OAAO,IAAI;IACb;IAEA,MAAMC,cAAc,GAAG,MAAM,IAAI,CAAChB,YAAY,CAACiB,KAAK,CAClDF,eAAe,CAACG,cAAc,EAC9BH,eAAe,CAACG,cAAc,GAAGH,eAAe,CAACI,cACnD,CAAC;IAED,MAAMC,iBAAiB,GAAG1B,mBAAmB,CAACqB,eAAe,CAACK,iBAAiB,CAAC;IAChF,IAAI,CAACA,iBAAiB,EAAE;MACtB,MAAMd,KAAK,CAAC,yCAAyC,CAAC;IACxD;IAEA,OAAOc,iBAAiB,CAACJ,cAAc,CAAC;EAC1C;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"3d-tiles-archive-parser.d.ts","sourceRoot":"","sources":["../../src/3d-tiles-archive/3d-tiles-archive-parser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"3d-tiles-archive-parser.d.ts","sourceRoot":"","sources":["../../src/3d-tiles-archive/3d-tiles-archive-parser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAStD,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,iBAChB,YAAY,cACf,MAAM,KAAK,IAAI,kBACzB,QAAQ,cAAc,CA+BxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"3d-tiles-archive-parser.js","names":["CD_HEADER_SIGNATURE","makeHashTableFromZipHeaders","parseHashTable","parseZipCDFileHeader","parseZipLocalFileHeader","searchFromTheEnd","Tiles3DArchive","parse3DTilesArchive","fileProvider","cb","hashCDOffset","cdFileHeader","hashTable","fileName","localFileHeader","localHeaderOffset","Error","fileDataOffset","hashFile","slice","compressedSize"],"sources":["../../src/3d-tiles-archive/3d-tiles-archive-parser.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"3d-tiles-archive-parser.js","names":["CD_HEADER_SIGNATURE","makeHashTableFromZipHeaders","parseHashTable","parseZipCDFileHeader","parseZipLocalFileHeader","searchFromTheEnd","Tiles3DArchive","parse3DTilesArchive","fileProvider","cb","hashCDOffset","cdFileHeader","hashTable","fileName","localFileHeader","localHeaderOffset","Error","fileDataOffset","hashFile","slice","compressedSize"],"sources":["../../src/3d-tiles-archive/3d-tiles-archive-parser.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright vis.gl contributors\n\nimport {FileProvider} from '@loaders.gl/loader-utils';\nimport {\n CD_HEADER_SIGNATURE,\n makeHashTableFromZipHeaders,\n parseHashTable,\n parseZipCDFileHeader,\n parseZipLocalFileHeader,\n searchFromTheEnd\n} from '@loaders.gl/zip';\nimport {Tiles3DArchive} from './3d-tiles-archive-archive';\n\n/**\n * Creates 3tz file handler from raw file\n * @param fileProvider raw file data\n * @param cb is called with information message during parsing\n * @returns 3tz file handler\n */\nexport const parse3DTilesArchive = async (\n fileProvider: FileProvider,\n cb?: (msg: string) => void\n): Promise<Tiles3DArchive> => {\n const hashCDOffset = await searchFromTheEnd(fileProvider, CD_HEADER_SIGNATURE);\n\n const cdFileHeader = await parseZipCDFileHeader(hashCDOffset, fileProvider);\n\n let hashTable: Record<string, bigint>;\n if (cdFileHeader?.fileName !== '@3dtilesIndex1@') {\n hashTable = await makeHashTableFromZipHeaders(fileProvider);\n cb?.(\n '3tz doesnt contain hash file, hash info has been composed according to zip archive headers'\n );\n } else {\n // cb?.('3tz contains hash file');\n const localFileHeader = await parseZipLocalFileHeader(\n cdFileHeader.localHeaderOffset,\n fileProvider\n );\n if (!localFileHeader) {\n throw new Error('corrupted 3tz zip archive');\n }\n\n const fileDataOffset = localFileHeader.fileDataOffset;\n const hashFile = await fileProvider.slice(\n fileDataOffset,\n fileDataOffset + localFileHeader.compressedSize\n );\n\n hashTable = parseHashTable(hashFile);\n }\n\n return new Tiles3DArchive(fileProvider, hashTable);\n};\n"],"mappings":"AAKA,SACEA,mBAAmB,EACnBC,2BAA2B,EAC3BC,cAAc,EACdC,oBAAoB,EACpBC,uBAAuB,EACvBC,gBAAgB,QACX,iBAAiB;AAAC,SACjBC,cAAc;AAQtB,OAAO,MAAMC,mBAAmB,GAAG,MAAAA,CACjCC,YAA0B,EAC1BC,EAA0B,KACE;EAC5B,MAAMC,YAAY,GAAG,MAAML,gBAAgB,CAACG,YAAY,EAAER,mBAAmB,CAAC;EAE9E,MAAMW,YAAY,GAAG,MAAMR,oBAAoB,CAACO,YAAY,EAAEF,YAAY,CAAC;EAE3E,IAAII,SAAiC;EACrC,IAAI,CAAAD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEE,QAAQ,MAAK,iBAAiB,EAAE;IAChDD,SAAS,GAAG,MAAMX,2BAA2B,CAACO,YAAY,CAAC;IAC3DC,EAAE,aAAFA,EAAE,uBAAFA,EAAE,CACA,4FACF,CAAC;EACH,CAAC,MAAM;IAEL,MAAMK,eAAe,GAAG,MAAMV,uBAAuB,CACnDO,YAAY,CAACI,iBAAiB,EAC9BP,YACF,CAAC;IACD,IAAI,CAACM,eAAe,EAAE;MACpB,MAAM,IAAIE,KAAK,CAAC,2BAA2B,CAAC;IAC9C;IAEA,MAAMC,cAAc,GAAGH,eAAe,CAACG,cAAc;IACrD,MAAMC,QAAQ,GAAG,MAAMV,YAAY,CAACW,KAAK,CACvCF,cAAc,EACdA,cAAc,GAAGH,eAAe,CAACM,cACnC,CAAC;IAEDR,SAAS,GAAGV,cAAc,CAACgB,QAAQ,CAAC;EACtC;EAEA,OAAO,IAAIZ,cAAc,CAACE,YAAY,EAAEI,SAAS,CAAC;AACpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"3d-tiles-archive-loader.d.ts","sourceRoot":"","sources":["../src/3d-tiles-archive-loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"3d-tiles-archive-loader.d.ts","sourceRoot":"","sources":["../src/3d-tiles-archive-loader.ts"],"names":[],"mappings":"AAIA,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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DataViewFile } from '@loaders.gl/loader-utils';
|
|
2
2
|
import { parse3DTilesArchive as parse3DTilesArchiveFromProvider } from "./3d-tiles-archive/3d-tiles-archive-parser.js";
|
|
3
|
-
const VERSION = typeof
|
|
3
|
+
const VERSION = typeof "4.1.0-alpha.11" !== 'undefined' ? "4.1.0-alpha.11" : 'latest';
|
|
4
4
|
export const Tiles3DArchiveFileLoader = {
|
|
5
5
|
name: '3tz',
|
|
6
6
|
id: '3tz',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"3d-tiles-archive-loader.js","names":["DataViewFile","parse3DTilesArchive","parse3DTilesArchiveFromProvider","VERSION","
|
|
1
|
+
{"version":3,"file":"3d-tiles-archive-loader.js","names":["DataViewFile","parse3DTilesArchive","parse3DTilesArchiveFromProvider","VERSION","Tiles3DArchiveFileLoader","name","id","module","version","mimeTypes","parse","extensions","options","data","_options$3dTilesArc","_options$3dTilesArc2","arguments","length","undefined","archive","DataView","getFile","path"],"sources":["../src/3d-tiles-archive-loader.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright vis.gl contributors\n\nimport type {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {DataViewFile} from '@loaders.gl/loader-utils';\nimport {parse3DTilesArchive as parse3DTilesArchiveFromProvider} from './3d-tiles-archive/3d-tiles-archive-parser';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n/** options to load data from 3tz */\nexport type Tiles3DArchiveFileLoaderOptions = LoaderOptions & {\n '3d-tiles-archive'?: {\n /** path inside the 3tz archive */\n path?: string;\n };\n};\n\n/**\n * Loader for 3tz packages\n */\nexport const Tiles3DArchiveFileLoader: LoaderWithParser<\n ArrayBuffer,\n never,\n Tiles3DArchiveFileLoaderOptions\n> = {\n name: '3tz',\n id: '3tz',\n module: '3d-tiles',\n version: VERSION,\n mimeTypes: ['application/octet-stream', 'application/vnd.maxar.archive.3tz+zip'],\n parse: parse3DTilesArchive,\n extensions: ['3tz'],\n options: {}\n};\n\n/**\n * returns a single file from the 3tz archive\n * @param data 3tz archive data\n * @param options options\n * @returns requested file\n */\nasync function parse3DTilesArchive(\n data: ArrayBuffer,\n options: Tiles3DArchiveFileLoaderOptions = {}\n): Promise<ArrayBuffer> {\n const archive = await parse3DTilesArchiveFromProvider(new DataViewFile(new DataView(data)));\n return archive.getFile(options['3d-tiles-archive']?.path ?? '');\n}\n"],"mappings":"AAKA,SAAQA,YAAY,QAAO,0BAA0B;AAAC,SAC9CC,mBAAmB,IAAIC,+BAA+B;AAI9D,MAAMC,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,QAAQ;AAa3E,OAAO,MAAMC,wBAIZ,GAAG;EACFC,IAAI,EAAE,KAAK;EACXC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEL,OAAO;EAChBM,SAAS,EAAE,CAAC,0BAA0B,EAAE,uCAAuC,CAAC;EAChFC,KAAK,EAAET,mBAAmB;EAC1BU,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,OAAO,EAAE,CAAC;AACZ,CAAC;AAQD,eAAeX,mBAAmBA,CAChCY,IAAiB,EAEK;EAAA,IAAAC,mBAAA,EAAAC,oBAAA;EAAA,IADtBH,OAAwC,GAAAI,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAE7C,MAAMG,OAAO,GAAG,MAAMjB,+BAA+B,CAAC,IAAIF,YAAY,CAAC,IAAIoB,QAAQ,CAACP,IAAI,CAAC,CAAC,CAAC;EAC3F,OAAOM,OAAO,CAACE,OAAO,EAAAP,mBAAA,IAAAC,oBAAA,GAACH,OAAO,CAAC,kBAAkB,CAAC,cAAAG,oBAAA,uBAA3BA,oBAAA,CAA6BO,IAAI,cAAAR,mBAAA,cAAAA,mBAAA,GAAI,EAAE,CAAC;AACjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cesium-ion-loader.d.ts","sourceRoot":"","sources":["../src/cesium-ion-loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cesium-ion-loader.d.ts","sourceRoot":"","sources":["../src/cesium-ion-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAE,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAiB9E;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,CAmB3E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cesium-ion-loader.js","names":["Tiles3DLoader","getIonTilesetMetadata","preload","url","options","arguments","length","undefined","accessToken","assetId","Number","isFinite","matched","match","CesiumIonLoader","id","name","parse","data","context","loader"],"sources":["../src/cesium-ion-loader.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"cesium-ion-loader.js","names":["Tiles3DLoader","getIonTilesetMetadata","preload","url","options","arguments","length","undefined","accessToken","assetId","Number","isFinite","matched","match","CesiumIonLoader","id","name","parse","data","context","loader"],"sources":["../src/cesium-ion-loader.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright vis.gl contributors\n\nimport type {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {Tiles3DLoader} from './tiles-3d-loader';\nimport {getIonTilesetMetadata} from './lib/ion/ion';\n\nasync function preload(url, options = {}) {\n options = options['cesium-ion'] || {};\n // @ts-ignore\n const {accessToken} = options;\n // @ts-ignore\n let assetId = options.assetId;\n if (!Number.isFinite(assetId)) {\n const matched = url.match(/\\/([0-9]+)\\/tileset.json/);\n assetId = matched && matched[1];\n }\n return getIonTilesetMetadata(accessToken, assetId);\n}\n\n/**\n * Loader for 3D tiles from Cesium ION\n */\nexport const CesiumIonLoader: LoaderWithParser<unknown, never, LoaderOptions> = {\n ...Tiles3DLoader,\n id: 'cesium-ion',\n name: 'Cesium Ion',\n // @ts-ignore\n preload,\n parse: async (data, options?, context?) => {\n options = {...options};\n options['3d-tiles'] = options['cesium-ion'];\n // @ts-ignore\n options.loader = CesiumIonLoader;\n return Tiles3DLoader.parse(data, options, context); // , loader);\n },\n options: {\n 'cesium-ion': {\n ...Tiles3DLoader.options['3d-tiles'],\n accessToken: null\n }\n }\n};\n"],"mappings":"SAKQA,aAAa;AAAA,SACbC,qBAAqB;AAE7B,eAAeC,OAAOA,CAACC,GAAG,EAAgB;EAAA,IAAdC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACtCD,OAAO,GAAGA,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;EAErC,MAAM;IAACI;EAAW,CAAC,GAAGJ,OAAO;EAE7B,IAAIK,OAAO,GAAGL,OAAO,CAACK,OAAO;EAC7B,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACF,OAAO,CAAC,EAAE;IAC7B,MAAMG,OAAO,GAAGT,GAAG,CAACU,KAAK,CAAC,0BAA0B,CAAC;IACrDJ,OAAO,GAAGG,OAAO,IAAIA,OAAO,CAAC,CAAC,CAAC;EACjC;EACA,OAAOX,qBAAqB,CAACO,WAAW,EAAEC,OAAO,CAAC;AACpD;AAKA,OAAO,MAAMK,eAAgE,GAAG;EAC9E,GAAGd,aAAa;EAChBe,EAAE,EAAE,YAAY;EAChBC,IAAI,EAAE,YAAY;EAElBd,OAAO;EACPe,KAAK,EAAE,MAAAA,CAAOC,IAAI,EAAEd,OAAQ,EAAEe,OAAQ,KAAK;IACzCf,OAAO,GAAG;MAAC,GAAGA;IAAO,CAAC;IACtBA,OAAO,CAAC,UAAU,CAAC,GAAGA,OAAO,CAAC,YAAY,CAAC;IAE3CA,OAAO,CAACgB,MAAM,GAAGN,eAAe;IAChC,OAAOd,aAAa,CAACiB,KAAK,CAACC,IAAI,EAAEd,OAAO,EAAEe,OAAO,CAAC;EACpD,CAAC;EACDf,OAAO,EAAE;IACP,YAAY,EAAE;MACZ,GAAGJ,aAAa,CAACI,OAAO,CAAC,UAAU,CAAC;MACpCI,WAAW,EAAE;IACf;EACF;AACF,CAAC"}
|
package/dist/dist.dev.js
CHANGED
|
@@ -4302,15 +4302,14 @@ var __exports__ = (() => {
|
|
|
4302
4302
|
var nodeVersion = matches && parseFloat(matches[1]) || 0;
|
|
4303
4303
|
|
|
4304
4304
|
// ../worker-utils/src/lib/env-utils/version.ts
|
|
4305
|
-
var NPM_TAG = "latest";
|
|
4306
4305
|
function getVersion() {
|
|
4307
4306
|
if (!globalThis._loadersgl_?.version) {
|
|
4308
4307
|
globalThis._loadersgl_ = globalThis._loadersgl_ || {};
|
|
4309
|
-
if (
|
|
4308
|
+
if (false) {
|
|
4310
4309
|
console.warn("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
|
|
4311
4310
|
globalThis._loadersgl_.version = NPM_TAG;
|
|
4312
4311
|
} else {
|
|
4313
|
-
globalThis._loadersgl_.version =
|
|
4312
|
+
globalThis._loadersgl_.version = "4.1.0-alpha.11";
|
|
4314
4313
|
}
|
|
4315
4314
|
}
|
|
4316
4315
|
return globalThis._loadersgl_.version;
|
|
@@ -4472,6 +4471,9 @@ var __exports__ = (() => {
|
|
|
4472
4471
|
return true;
|
|
4473
4472
|
}
|
|
4474
4473
|
function concatenateArrayBuffers(...sources) {
|
|
4474
|
+
return concatenateArrayBuffersFromArray(sources);
|
|
4475
|
+
}
|
|
4476
|
+
function concatenateArrayBuffersFromArray(sources) {
|
|
4475
4477
|
const sourceArrays = sources.map((source2) => source2 instanceof ArrayBuffer ? new Uint8Array(source2) : source2);
|
|
4476
4478
|
const byteLength = sourceArrays.reduce((length4, typedArray) => length4 + typedArray.byteLength, 0);
|
|
4477
4479
|
const result = new Uint8Array(byteLength);
|
|
@@ -4815,6 +4817,12 @@ var __exports__ = (() => {
|
|
|
4815
4817
|
async stat() {
|
|
4816
4818
|
throw NOT_IMPLEMENTED;
|
|
4817
4819
|
}
|
|
4820
|
+
async truncate(length4) {
|
|
4821
|
+
throw NOT_IMPLEMENTED;
|
|
4822
|
+
}
|
|
4823
|
+
async append(data) {
|
|
4824
|
+
throw NOT_IMPLEMENTED;
|
|
4825
|
+
}
|
|
4818
4826
|
async close() {
|
|
4819
4827
|
}
|
|
4820
4828
|
};
|
|
@@ -4826,9 +4834,14 @@ var __exports__ = (() => {
|
|
|
4826
4834
|
|
|
4827
4835
|
// ../loader-utils/src/lib/file-provider/file-handle-file.ts
|
|
4828
4836
|
var FileHandleFile = class {
|
|
4829
|
-
constructor(path) {
|
|
4830
|
-
this.file = new NodeFileFacade(path, "r");
|
|
4831
|
-
|
|
4837
|
+
constructor(path, append = false) {
|
|
4838
|
+
this.file = new NodeFileFacade(path, append ? "a+" : "r");
|
|
4839
|
+
}
|
|
4840
|
+
async truncate(length4) {
|
|
4841
|
+
await this.file.truncate(length4);
|
|
4842
|
+
}
|
|
4843
|
+
async append(buffer) {
|
|
4844
|
+
await this.file.append(buffer);
|
|
4832
4845
|
}
|
|
4833
4846
|
async destroy() {
|
|
4834
4847
|
await this.file.close();
|
|
@@ -4874,7 +4887,7 @@ var __exports__ = (() => {
|
|
|
4874
4887
|
return await this.file.read(startOffset, length4);
|
|
4875
4888
|
}
|
|
4876
4889
|
get length() {
|
|
4877
|
-
return this.
|
|
4890
|
+
return this.file.bigsize;
|
|
4878
4891
|
}
|
|
4879
4892
|
};
|
|
4880
4893
|
|
|
@@ -10073,7 +10086,7 @@ var __exports__ = (() => {
|
|
|
10073
10086
|
}({});
|
|
10074
10087
|
|
|
10075
10088
|
// src/lib/utils/version.ts
|
|
10076
|
-
var VERSION2 =
|
|
10089
|
+
var VERSION2 = true ? "4.1.0-alpha.11" : "latest";
|
|
10077
10090
|
|
|
10078
10091
|
// src/lib/constants.ts
|
|
10079
10092
|
var TILE3D_TYPE = {
|
|
@@ -10107,7 +10120,7 @@ var __exports__ = (() => {
|
|
|
10107
10120
|
}
|
|
10108
10121
|
|
|
10109
10122
|
// ../draco/src/lib/utils/version.ts
|
|
10110
|
-
var VERSION3 =
|
|
10123
|
+
var VERSION3 = true ? "4.1.0-alpha.11" : "latest";
|
|
10111
10124
|
|
|
10112
10125
|
// ../draco/src/draco-loader.ts
|
|
10113
10126
|
var DracoLoader = {
|
|
@@ -11809,7 +11822,7 @@ var __exports__ = (() => {
|
|
|
11809
11822
|
});
|
|
11810
11823
|
|
|
11811
11824
|
// ../images/src/lib/utils/version.ts
|
|
11812
|
-
var VERSION4 =
|
|
11825
|
+
var VERSION4 = true ? "4.1.0-alpha.11" : "latest";
|
|
11813
11826
|
|
|
11814
11827
|
// ../images/src/lib/category-api/image-type.ts
|
|
11815
11828
|
var parseImageNode = globalThis.loaders?.parseImageNode;
|
|
@@ -13518,10 +13531,10 @@ var __exports__ = (() => {
|
|
|
13518
13531
|
}
|
|
13519
13532
|
|
|
13520
13533
|
// ../gltf/src/lib/utils/version.ts
|
|
13521
|
-
var VERSION5 =
|
|
13534
|
+
var VERSION5 = true ? "4.1.0-alpha.11" : "latest";
|
|
13522
13535
|
|
|
13523
13536
|
// ../textures/src/lib/utils/version.ts
|
|
13524
|
-
var VERSION6 =
|
|
13537
|
+
var VERSION6 = true ? "4.1.0-alpha.11" : "latest";
|
|
13525
13538
|
|
|
13526
13539
|
// ../textures/src/lib/parsers/basis-module-loader.ts
|
|
13527
13540
|
var BASIS_EXTERNAL_LIBRARIES = {
|
|
@@ -15906,7 +15919,8 @@ var __exports__ = (() => {
|
|
|
15906
15919
|
availabilityObject.explicitBitstream = new Uint8Array(data, bufferView.byteOffset, bufferView.byteLength);
|
|
15907
15920
|
return;
|
|
15908
15921
|
}
|
|
15909
|
-
|
|
15922
|
+
const bufferStart = subtree.buffers.slice(0, bufferView.buffer).reduce((offset, buf) => offset + buf.byteLength, 0);
|
|
15923
|
+
availabilityObject.explicitBitstream = new Uint8Array(internalBinaryBuffer.slice(bufferStart, bufferStart + buffer.byteLength), bufferView.byteOffset, bufferView.byteLength);
|
|
15910
15924
|
}
|
|
15911
15925
|
function parseUint64Value(buffer) {
|
|
15912
15926
|
const dataView = new DataView(buffer);
|
|
@@ -17658,11 +17672,11 @@ var __exports__ = (() => {
|
|
|
17658
17672
|
}
|
|
17659
17673
|
|
|
17660
17674
|
// src/lib/parsers/helpers/parse-3d-implicit-tiles.ts
|
|
17661
|
-
var
|
|
17662
|
-
var
|
|
17675
|
+
var QUADTREE_DIVISION_COUNT = 4;
|
|
17676
|
+
var OCTREE_DIVISION_COUNT = 8;
|
|
17663
17677
|
var SUBDIVISION_COUNT_MAP = {
|
|
17664
|
-
QUADTREE:
|
|
17665
|
-
OCTREE:
|
|
17678
|
+
QUADTREE: QUADTREE_DIVISION_COUNT,
|
|
17679
|
+
OCTREE: OCTREE_DIVISION_COUNT
|
|
17666
17680
|
};
|
|
17667
17681
|
function getChildS2VolumeBox(s2VolumeBox, index, subdivisionScheme) {
|
|
17668
17682
|
if (s2VolumeBox?.box) {
|
|
@@ -17704,19 +17718,19 @@ var __exports__ = (() => {
|
|
|
17704
17718
|
z: 0
|
|
17705
17719
|
},
|
|
17706
17720
|
childIndex = 0,
|
|
17721
|
+
s2VolumeBox,
|
|
17722
|
+
loaderOptions
|
|
17723
|
+
} = params;
|
|
17724
|
+
let {
|
|
17725
|
+
subtree,
|
|
17726
|
+
level = 0,
|
|
17707
17727
|
globalData = {
|
|
17708
17728
|
level: 0,
|
|
17709
17729
|
mortonIndex: 0,
|
|
17710
17730
|
x: 0,
|
|
17711
17731
|
y: 0,
|
|
17712
17732
|
z: 0
|
|
17713
|
-
}
|
|
17714
|
-
s2VolumeBox,
|
|
17715
|
-
loaderOptions
|
|
17716
|
-
} = params;
|
|
17717
|
-
let {
|
|
17718
|
-
subtree,
|
|
17719
|
-
level = 0
|
|
17733
|
+
}
|
|
17720
17734
|
} = params;
|
|
17721
17735
|
const {
|
|
17722
17736
|
subdivisionScheme,
|
|
@@ -17754,19 +17768,21 @@ var __exports__ = (() => {
|
|
|
17754
17768
|
if (level >= subtreeLevels) {
|
|
17755
17769
|
isChildSubtreeAvailable = getAvailabilityResult(subtree.childSubtreeAvailability, childTileMortonIndex);
|
|
17756
17770
|
}
|
|
17757
|
-
const x = concatBits(globalData.x, childTileX, level
|
|
17758
|
-
const y = concatBits(globalData.y, childTileY, level
|
|
17759
|
-
const z = concatBits(globalData.z, childTileZ, level
|
|
17771
|
+
const x = concatBits(globalData.x, childTileX, level);
|
|
17772
|
+
const y = concatBits(globalData.y, childTileY, level);
|
|
17773
|
+
const z = concatBits(globalData.z, childTileZ, level);
|
|
17760
17774
|
if (isChildSubtreeAvailable) {
|
|
17761
17775
|
const subtreePath = `${basePath}/${subtreesUriTemplate}`;
|
|
17762
17776
|
const childSubtreeUrl = replaceContentUrlTemplate(subtreePath, lev, x, y, z);
|
|
17763
17777
|
const childSubtree = await (0, import_core22.load)(childSubtreeUrl, Tile3DSubtreeLoader, loaderOptions);
|
|
17764
17778
|
subtree = childSubtree;
|
|
17765
|
-
globalData
|
|
17766
|
-
|
|
17767
|
-
|
|
17768
|
-
|
|
17769
|
-
|
|
17779
|
+
globalData = {
|
|
17780
|
+
mortonIndex: childTileMortonIndex,
|
|
17781
|
+
x: childTileX,
|
|
17782
|
+
y: childTileY,
|
|
17783
|
+
z: childTileZ,
|
|
17784
|
+
level
|
|
17785
|
+
};
|
|
17770
17786
|
childTileMortonIndex = 0;
|
|
17771
17787
|
tileAvailabilityIndex = 0;
|
|
17772
17788
|
childTileX = 0;
|
|
@@ -17947,7 +17963,7 @@ var __exports__ = (() => {
|
|
|
17947
17963
|
return refine;
|
|
17948
17964
|
}
|
|
17949
17965
|
}
|
|
17950
|
-
function resolveUri(uri
|
|
17966
|
+
function resolveUri(uri, basePath) {
|
|
17951
17967
|
const urlSchemeRegex = /^[a-z][0-9a-z+.-]*:/i;
|
|
17952
17968
|
if (urlSchemeRegex.test(basePath)) {
|
|
17953
17969
|
const url = new URL(uri, `${basePath}/`);
|
|
@@ -17964,7 +17980,9 @@ var __exports__ = (() => {
|
|
|
17964
17980
|
let tileContentUrl;
|
|
17965
17981
|
if (tile.content) {
|
|
17966
17982
|
const contentUri = tile.content.uri || tile.content?.url;
|
|
17967
|
-
|
|
17983
|
+
if (typeof contentUri !== "undefined") {
|
|
17984
|
+
tileContentUrl = resolveUri(contentUri, basePath);
|
|
17985
|
+
}
|
|
17968
17986
|
}
|
|
17969
17987
|
const tilePostprocessed = {
|
|
17970
17988
|
...tile,
|
|
@@ -18022,7 +18040,8 @@ var __exports__ = (() => {
|
|
|
18022
18040
|
const replacedUrlTemplate = replaceContentUrlTemplate(subtreesUriTemplate, 0, 0, 0, 0);
|
|
18023
18041
|
const subtreeUrl = resolveUri(replacedUrlTemplate, basePath);
|
|
18024
18042
|
const subtree = await (0, import_core23.load)(subtreeUrl, Tile3DSubtreeLoader, options);
|
|
18025
|
-
const
|
|
18043
|
+
const tileContentUri = tile.content?.uri;
|
|
18044
|
+
const contentUrlTemplate = tileContentUri ? resolveUri(tileContentUri, basePath) : "";
|
|
18026
18045
|
const refine = tileset?.root?.refine;
|
|
18027
18046
|
const rootLodMetricValue = tile.geometricError;
|
|
18028
18047
|
const s2VolumeInfo = tile.boundingVolume.extensions?.["3DTILES_bounding_volume_S2"];
|
|
@@ -18280,25 +18299,121 @@ var __exports__ = (() => {
|
|
|
18280
18299
|
const zipEoCDOffset = await searchFromTheEnd(file, eoCDSignature);
|
|
18281
18300
|
let cdRecordsNumber = BigInt(await file.getUint16(zipEoCDOffset + CD_RECORDS_NUMBER_OFFSET));
|
|
18282
18301
|
let cdStartOffset = BigInt(await file.getUint32(zipEoCDOffset + CD_START_OFFSET_OFFSET));
|
|
18283
|
-
|
|
18284
|
-
|
|
18285
|
-
|
|
18286
|
-
|
|
18287
|
-
|
|
18288
|
-
}
|
|
18289
|
-
const zip64EoCDOffset = await file.getBigUint64(zip64EoCDLocatorOffset + ZIP64_EOCD_START_OFFSET_OFFSET);
|
|
18302
|
+
let zip64EoCDLocatorOffset = zipEoCDOffset - 20n;
|
|
18303
|
+
let zip64EoCDOffset = 0n;
|
|
18304
|
+
const magicBytes = await file.slice(zip64EoCDLocatorOffset, zip64EoCDLocatorOffset + 4n);
|
|
18305
|
+
if (compareArrayBuffers(magicBytes, zip64EoCDLocatorSignature)) {
|
|
18306
|
+
zip64EoCDOffset = await file.getBigUint64(zip64EoCDLocatorOffset + ZIP64_EOCD_START_OFFSET_OFFSET);
|
|
18290
18307
|
const endOfCDMagicBytes = await file.slice(zip64EoCDOffset, zip64EoCDOffset + 4n);
|
|
18291
18308
|
if (!compareArrayBuffers(endOfCDMagicBytes, zip64EoCDSignature.buffer)) {
|
|
18292
18309
|
throw new Error("zip64 EoCD not found");
|
|
18293
18310
|
}
|
|
18294
18311
|
cdRecordsNumber = await file.getBigUint64(zip64EoCDOffset + ZIP64_CD_RECORDS_NUMBER_OFFSET);
|
|
18295
18312
|
cdStartOffset = await file.getBigUint64(zip64EoCDOffset + ZIP64_CD_START_OFFSET_OFFSET);
|
|
18313
|
+
} else {
|
|
18314
|
+
zip64EoCDLocatorOffset = 0n;
|
|
18296
18315
|
}
|
|
18297
18316
|
return {
|
|
18298
18317
|
cdRecordsNumber,
|
|
18299
|
-
cdStartOffset
|
|
18318
|
+
cdStartOffset,
|
|
18319
|
+
offsets: {
|
|
18320
|
+
zip64EoCDOffset,
|
|
18321
|
+
zip64EoCDLocatorOffset,
|
|
18322
|
+
zipEoCDOffset
|
|
18323
|
+
}
|
|
18300
18324
|
};
|
|
18301
18325
|
};
|
|
18326
|
+
var EOCD_FIELDS = [{
|
|
18327
|
+
offset: 0,
|
|
18328
|
+
size: 4,
|
|
18329
|
+
default: new DataView(eoCDSignature.buffer).getUint32(0, true)
|
|
18330
|
+
}, {
|
|
18331
|
+
offset: 4,
|
|
18332
|
+
size: 2,
|
|
18333
|
+
default: 0
|
|
18334
|
+
}, {
|
|
18335
|
+
offset: 6,
|
|
18336
|
+
size: 2,
|
|
18337
|
+
default: 0
|
|
18338
|
+
}, {
|
|
18339
|
+
offset: 8,
|
|
18340
|
+
size: 2,
|
|
18341
|
+
name: "recordsNumber"
|
|
18342
|
+
}, {
|
|
18343
|
+
offset: 10,
|
|
18344
|
+
size: 2,
|
|
18345
|
+
name: "recordsNumber"
|
|
18346
|
+
}, {
|
|
18347
|
+
offset: 12,
|
|
18348
|
+
size: 4,
|
|
18349
|
+
name: "cdSize"
|
|
18350
|
+
}, {
|
|
18351
|
+
offset: 16,
|
|
18352
|
+
size: 4,
|
|
18353
|
+
name: "cdOffset"
|
|
18354
|
+
}, {
|
|
18355
|
+
offset: 20,
|
|
18356
|
+
size: 2,
|
|
18357
|
+
default: 0
|
|
18358
|
+
}];
|
|
18359
|
+
var ZIP64_EOCD_LOCATOR_FIELDS = [{
|
|
18360
|
+
offset: 0,
|
|
18361
|
+
size: 4,
|
|
18362
|
+
default: new DataView(zip64EoCDLocatorSignature.buffer).getUint32(0, true)
|
|
18363
|
+
}, {
|
|
18364
|
+
offset: 4,
|
|
18365
|
+
size: 4,
|
|
18366
|
+
default: 0
|
|
18367
|
+
}, {
|
|
18368
|
+
offset: 8,
|
|
18369
|
+
size: 8,
|
|
18370
|
+
name: "eoCDStart"
|
|
18371
|
+
}, {
|
|
18372
|
+
offset: 16,
|
|
18373
|
+
size: 4,
|
|
18374
|
+
default: 1
|
|
18375
|
+
}];
|
|
18376
|
+
var ZIP64_EOCD_FIELDS = [{
|
|
18377
|
+
offset: 0,
|
|
18378
|
+
size: 4,
|
|
18379
|
+
default: new DataView(zip64EoCDSignature.buffer).getUint32(0, true)
|
|
18380
|
+
}, {
|
|
18381
|
+
offset: 4,
|
|
18382
|
+
size: 8,
|
|
18383
|
+
default: 44
|
|
18384
|
+
}, {
|
|
18385
|
+
offset: 12,
|
|
18386
|
+
size: 2,
|
|
18387
|
+
default: 45
|
|
18388
|
+
}, {
|
|
18389
|
+
offset: 14,
|
|
18390
|
+
size: 2,
|
|
18391
|
+
default: 45
|
|
18392
|
+
}, {
|
|
18393
|
+
offset: 16,
|
|
18394
|
+
size: 4,
|
|
18395
|
+
default: 0
|
|
18396
|
+
}, {
|
|
18397
|
+
offset: 20,
|
|
18398
|
+
size: 4,
|
|
18399
|
+
default: 0
|
|
18400
|
+
}, {
|
|
18401
|
+
offset: 24,
|
|
18402
|
+
size: 8,
|
|
18403
|
+
name: "recordsNumber"
|
|
18404
|
+
}, {
|
|
18405
|
+
offset: 32,
|
|
18406
|
+
size: 8,
|
|
18407
|
+
name: "recordsNumber"
|
|
18408
|
+
}, {
|
|
18409
|
+
offset: 40,
|
|
18410
|
+
size: 8,
|
|
18411
|
+
name: "cdSize"
|
|
18412
|
+
}, {
|
|
18413
|
+
offset: 48,
|
|
18414
|
+
size: 8,
|
|
18415
|
+
name: "cdOffset"
|
|
18416
|
+
}];
|
|
18302
18417
|
|
|
18303
18418
|
// ../zip/src/parse-zip/cd-file-header.ts
|
|
18304
18419
|
var CD_COMPRESSED_SIZE_OFFSET = 20n;
|
|
@@ -18510,6 +18625,52 @@ var __exports__ = (() => {
|
|
|
18510
18625
|
compressionMethod
|
|
18511
18626
|
};
|
|
18512
18627
|
};
|
|
18628
|
+
var ZIP_HEADER_FIELDS2 = [{
|
|
18629
|
+
offset: 0,
|
|
18630
|
+
size: 4,
|
|
18631
|
+
default: new DataView(signature2.buffer).getUint32(0, true)
|
|
18632
|
+
}, {
|
|
18633
|
+
offset: 4,
|
|
18634
|
+
size: 2,
|
|
18635
|
+
default: 45
|
|
18636
|
+
}, {
|
|
18637
|
+
offset: 6,
|
|
18638
|
+
size: 2,
|
|
18639
|
+
default: 0
|
|
18640
|
+
}, {
|
|
18641
|
+
offset: 8,
|
|
18642
|
+
size: 2,
|
|
18643
|
+
default: 0
|
|
18644
|
+
}, {
|
|
18645
|
+
offset: 10,
|
|
18646
|
+
size: 2,
|
|
18647
|
+
default: 0
|
|
18648
|
+
}, {
|
|
18649
|
+
offset: 12,
|
|
18650
|
+
size: 2,
|
|
18651
|
+
default: 0
|
|
18652
|
+
}, {
|
|
18653
|
+
offset: 14,
|
|
18654
|
+
size: 4,
|
|
18655
|
+
name: "crc32"
|
|
18656
|
+
}, {
|
|
18657
|
+
offset: 18,
|
|
18658
|
+
size: 4,
|
|
18659
|
+
name: "length"
|
|
18660
|
+
}, {
|
|
18661
|
+
offset: 22,
|
|
18662
|
+
size: 4,
|
|
18663
|
+
name: "length"
|
|
18664
|
+
}, {
|
|
18665
|
+
offset: 26,
|
|
18666
|
+
size: 2,
|
|
18667
|
+
name: "fnlength"
|
|
18668
|
+
}, {
|
|
18669
|
+
offset: 28,
|
|
18670
|
+
size: 2,
|
|
18671
|
+
default: 0,
|
|
18672
|
+
name: "extraLength"
|
|
18673
|
+
}];
|
|
18513
18674
|
|
|
18514
18675
|
// ../crypto/src/lib/hash.ts
|
|
18515
18676
|
var Hash = class {
|
|
@@ -19045,6 +19206,9 @@ var __exports__ = (() => {
|
|
|
19045
19206
|
}
|
|
19046
19207
|
async function makeHashTableFromZipHeaders(fileProvider) {
|
|
19047
19208
|
const zipCDIterator = makeZipCDHeaderIterator(fileProvider);
|
|
19209
|
+
return getHashTable(zipCDIterator);
|
|
19210
|
+
}
|
|
19211
|
+
async function getHashTable(zipCDIterator) {
|
|
19048
19212
|
const md5Hash = new MD5Hash();
|
|
19049
19213
|
const textEncoder = new TextEncoder();
|
|
19050
19214
|
const hashTable = {};
|
|
@@ -19379,7 +19543,7 @@ var __exports__ = (() => {
|
|
|
19379
19543
|
};
|
|
19380
19544
|
|
|
19381
19545
|
// src/3d-tiles-archive-loader.ts
|
|
19382
|
-
var VERSION8 =
|
|
19546
|
+
var VERSION8 = true ? "4.1.0-alpha.11" : "latest";
|
|
19383
19547
|
var Tiles3DArchiveFileLoader = {
|
|
19384
19548
|
name: "3tz",
|
|
19385
19549
|
id: "3tz",
|
package/dist/index.cjs
CHANGED
|
@@ -1548,8 +1548,9 @@ async function loadExplicitBitstream(subtree, availabilityObject, internalBinary
|
|
|
1548
1548
|
);
|
|
1549
1549
|
return;
|
|
1550
1550
|
}
|
|
1551
|
+
const bufferStart = subtree.buffers.slice(0, bufferView.buffer).reduce((offset, buf) => offset + buf.byteLength, 0);
|
|
1551
1552
|
availabilityObject.explicitBitstream = new Uint8Array(
|
|
1552
|
-
internalBinaryBuffer,
|
|
1553
|
+
internalBinaryBuffer.slice(bufferStart, bufferStart + buffer.byteLength),
|
|
1553
1554
|
bufferView.byteOffset,
|
|
1554
1555
|
bufferView.byteLength
|
|
1555
1556
|
);
|
|
@@ -1886,11 +1887,11 @@ function convertS2BoundingVolumetoOBB(s2VolumeInfo) {
|
|
|
1886
1887
|
}
|
|
1887
1888
|
|
|
1888
1889
|
// src/lib/parsers/helpers/parse-3d-implicit-tiles.ts
|
|
1889
|
-
var
|
|
1890
|
-
var
|
|
1890
|
+
var QUADTREE_DIVISION_COUNT = 4;
|
|
1891
|
+
var OCTREE_DIVISION_COUNT = 8;
|
|
1891
1892
|
var SUBDIVISION_COUNT_MAP = {
|
|
1892
|
-
QUADTREE:
|
|
1893
|
-
OCTREE:
|
|
1893
|
+
QUADTREE: QUADTREE_DIVISION_COUNT,
|
|
1894
|
+
OCTREE: OCTREE_DIVISION_COUNT
|
|
1894
1895
|
};
|
|
1895
1896
|
function getChildS2VolumeBox(s2VolumeBox, index, subdivisionScheme) {
|
|
1896
1897
|
if (s2VolumeBox == null ? void 0 : s2VolumeBox.box) {
|
|
@@ -1930,17 +1931,20 @@ async function parseImplicitTiles(params) {
|
|
|
1930
1931
|
z: 0
|
|
1931
1932
|
},
|
|
1932
1933
|
childIndex = 0,
|
|
1934
|
+
s2VolumeBox,
|
|
1935
|
+
loaderOptions
|
|
1936
|
+
} = params;
|
|
1937
|
+
let {
|
|
1938
|
+
subtree,
|
|
1939
|
+
level = 0,
|
|
1933
1940
|
globalData = {
|
|
1934
1941
|
level: 0,
|
|
1935
1942
|
mortonIndex: 0,
|
|
1936
1943
|
x: 0,
|
|
1937
1944
|
y: 0,
|
|
1938
1945
|
z: 0
|
|
1939
|
-
}
|
|
1940
|
-
s2VolumeBox,
|
|
1941
|
-
loaderOptions
|
|
1946
|
+
}
|
|
1942
1947
|
} = params;
|
|
1943
|
-
let { subtree, level = 0 } = params;
|
|
1944
1948
|
const {
|
|
1945
1949
|
subdivisionScheme,
|
|
1946
1950
|
subtreeLevels,
|
|
@@ -1978,19 +1982,21 @@ async function parseImplicitTiles(params) {
|
|
|
1978
1982
|
childTileMortonIndex
|
|
1979
1983
|
);
|
|
1980
1984
|
}
|
|
1981
|
-
const x = concatBits(globalData.x, childTileX, level
|
|
1982
|
-
const y = concatBits(globalData.y, childTileY, level
|
|
1983
|
-
const z = concatBits(globalData.z, childTileZ, level
|
|
1985
|
+
const x = concatBits(globalData.x, childTileX, level);
|
|
1986
|
+
const y = concatBits(globalData.y, childTileY, level);
|
|
1987
|
+
const z = concatBits(globalData.z, childTileZ, level);
|
|
1984
1988
|
if (isChildSubtreeAvailable) {
|
|
1985
1989
|
const subtreePath = `${basePath}/${subtreesUriTemplate}`;
|
|
1986
1990
|
const childSubtreeUrl = replaceContentUrlTemplate(subtreePath, lev, x, y, z);
|
|
1987
1991
|
const childSubtree = await (0, import_core7.load)(childSubtreeUrl, Tile3DSubtreeLoader, loaderOptions);
|
|
1988
1992
|
subtree = childSubtree;
|
|
1989
|
-
globalData
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1993
|
+
globalData = {
|
|
1994
|
+
mortonIndex: childTileMortonIndex,
|
|
1995
|
+
x: childTileX,
|
|
1996
|
+
y: childTileY,
|
|
1997
|
+
z: childTileZ,
|
|
1998
|
+
level
|
|
1999
|
+
};
|
|
1994
2000
|
childTileMortonIndex = 0;
|
|
1995
2001
|
tileAvailabilityIndex = 0;
|
|
1996
2002
|
childTileX = 0;
|
|
@@ -2167,7 +2173,7 @@ function getRefine(refine) {
|
|
|
2167
2173
|
return refine;
|
|
2168
2174
|
}
|
|
2169
2175
|
}
|
|
2170
|
-
function resolveUri(uri
|
|
2176
|
+
function resolveUri(uri, basePath) {
|
|
2171
2177
|
const urlSchemeRegex = /^[a-z][0-9a-z+.-]*:/i;
|
|
2172
2178
|
if (urlSchemeRegex.test(basePath)) {
|
|
2173
2179
|
const url = new URL(uri, `${basePath}/`);
|
|
@@ -2185,7 +2191,9 @@ function normalizeTileData(tile, basePath) {
|
|
|
2185
2191
|
let tileContentUrl;
|
|
2186
2192
|
if (tile.content) {
|
|
2187
2193
|
const contentUri = tile.content.uri || ((_a = tile.content) == null ? void 0 : _a.url);
|
|
2188
|
-
|
|
2194
|
+
if (typeof contentUri !== "undefined") {
|
|
2195
|
+
tileContentUrl = resolveUri(contentUri, basePath);
|
|
2196
|
+
}
|
|
2189
2197
|
}
|
|
2190
2198
|
const tilePostprocessed = {
|
|
2191
2199
|
...tile,
|
|
@@ -2254,7 +2262,8 @@ async function normalizeImplicitTileHeaders(tile, tileset, basePath, implicitTil
|
|
|
2254
2262
|
const replacedUrlTemplate = replaceContentUrlTemplate(subtreesUriTemplate, 0, 0, 0, 0);
|
|
2255
2263
|
const subtreeUrl = resolveUri(replacedUrlTemplate, basePath);
|
|
2256
2264
|
const subtree = await (0, import_core8.load)(subtreeUrl, Tile3DSubtreeLoader, options);
|
|
2257
|
-
const
|
|
2265
|
+
const tileContentUri = (_a = tile.content) == null ? void 0 : _a.uri;
|
|
2266
|
+
const contentUrlTemplate = tileContentUri ? resolveUri(tileContentUri, basePath) : "";
|
|
2258
2267
|
const refine = (_b = tileset == null ? void 0 : tileset.root) == null ? void 0 : _b.refine;
|
|
2259
2268
|
const rootLodMetricValue = tile.geometricError;
|
|
2260
2269
|
const s2VolumeInfo = (_c = tile.boundingVolume.extensions) == null ? void 0 : _c["3DTILES_bounding_volume_S2"];
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EAAC,+BAA+B,EAAC,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAC,wBAAwB,EAAC,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAC,wBAAwB,EAAC,MAAM,gDAAgD,CAAC;AAGxF,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,mCAAmC,CAAC;AAG9E,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,qBAAqB,IAAI,sBAAsB,EAAC,MAAM,eAAe,CAAC;AAC9E,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,4BAA4B,EAC5B,kBAAkB,EAClB,+BAA+B,EAC/B,kBAAkB,EAClB,0BAA0B,EAC3B,MAAM,SAAS,CAAC;AACjB,YAAY,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAC"}
|