@loaders.gl/3d-tiles 4.1.0-alpha.2 → 4.1.0-alpha.4

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 (152) hide show
  1. package/dist/3d-tiles-archive/3d-tiles-archive-archive.d.ts.map +1 -1
  2. package/dist/3d-tiles-archive/3d-tiles-archive-archive.js.map +1 -1
  3. package/dist/3d-tiles-archive/3d-tiles-archive-parser.d.ts.map +1 -1
  4. package/dist/3d-tiles-archive/3d-tiles-archive-parser.js.map +1 -1
  5. package/dist/3d-tiles-archive-loader.d.ts.map +1 -1
  6. package/dist/3d-tiles-archive-loader.js +1 -1
  7. package/dist/3d-tiles-archive-loader.js.map +1 -1
  8. package/dist/cesium-ion-loader.d.ts.map +1 -1
  9. package/dist/cesium-ion-loader.js.map +1 -1
  10. package/dist/dist.dev.js +111 -44
  11. package/dist/index.cjs +29 -20
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/lib/classes/helpers/tile-3d-accessor-utils.d.ts.map +1 -1
  15. package/dist/lib/classes/helpers/tile-3d-accessor-utils.js.map +1 -1
  16. package/dist/lib/classes/tile-3d-batch-table-hierarchy.d.ts.map +1 -1
  17. package/dist/lib/classes/tile-3d-batch-table-hierarchy.js.map +1 -1
  18. package/dist/lib/classes/tile-3d-batch-table.d.ts.map +1 -1
  19. package/dist/lib/classes/tile-3d-batch-table.js.map +1 -1
  20. package/dist/lib/classes/tile-3d-feature-table.d.ts.map +1 -1
  21. package/dist/lib/classes/tile-3d-feature-table.js.map +1 -1
  22. package/dist/lib/constants.d.ts.map +1 -1
  23. package/dist/lib/constants.js.map +1 -1
  24. package/dist/lib/encoders/encode-3d-tile-batched-model.d.ts.map +1 -1
  25. package/dist/lib/encoders/encode-3d-tile-batched-model.js.map +1 -1
  26. package/dist/lib/encoders/encode-3d-tile-composite.d.ts.map +1 -1
  27. package/dist/lib/encoders/encode-3d-tile-composite.js.map +1 -1
  28. package/dist/lib/encoders/encode-3d-tile-instanced-model.d.ts.map +1 -1
  29. package/dist/lib/encoders/encode-3d-tile-instanced-model.js.map +1 -1
  30. package/dist/lib/encoders/encode-3d-tile-point-cloud.d.ts.map +1 -1
  31. package/dist/lib/encoders/encode-3d-tile-point-cloud.js.map +1 -1
  32. package/dist/lib/encoders/encode-3d-tile.d.ts.map +1 -1
  33. package/dist/lib/encoders/encode-3d-tile.js.map +1 -1
  34. package/dist/lib/encoders/helpers/encode-3d-tile-header.d.ts.map +1 -1
  35. package/dist/lib/encoders/helpers/encode-3d-tile-header.js.map +1 -1
  36. package/dist/lib/filesystems/tiles-3d-archive-file-system.d.ts.map +1 -1
  37. package/dist/lib/filesystems/tiles-3d-archive-file-system.js.map +1 -1
  38. package/dist/lib/ion/ion.d.ts.map +1 -1
  39. package/dist/lib/ion/ion.js.map +1 -1
  40. package/dist/lib/parsers/helpers/normalize-3d-tile-colors.d.ts.map +1 -1
  41. package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js.map +1 -1
  42. package/dist/lib/parsers/helpers/normalize-3d-tile-normals.d.ts.map +1 -1
  43. package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js.map +1 -1
  44. package/dist/lib/parsers/helpers/normalize-3d-tile-positions.d.ts.map +1 -1
  45. package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js.map +1 -1
  46. package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.d.ts.map +1 -1
  47. package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.js +21 -19
  48. package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +1 -1
  49. package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.d.ts.map +1 -1
  50. package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -1
  51. package/dist/lib/parsers/helpers/parse-3d-tile-header.d.ts.map +1 -1
  52. package/dist/lib/parsers/helpers/parse-3d-tile-header.js.map +1 -1
  53. package/dist/lib/parsers/helpers/parse-3d-tile-subtree.d.ts +9 -1
  54. package/dist/lib/parsers/helpers/parse-3d-tile-subtree.d.ts.map +1 -1
  55. package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js +3 -2
  56. package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js.map +1 -1
  57. package/dist/lib/parsers/helpers/parse-3d-tile-tables.d.ts.map +1 -1
  58. package/dist/lib/parsers/helpers/parse-3d-tile-tables.js.map +1 -1
  59. package/dist/lib/parsers/helpers/parse-utils.d.ts.map +1 -1
  60. package/dist/lib/parsers/helpers/parse-utils.js.map +1 -1
  61. package/dist/lib/parsers/parse-3d-tile-batched-model.d.ts.map +1 -1
  62. package/dist/lib/parsers/parse-3d-tile-batched-model.js.map +1 -1
  63. package/dist/lib/parsers/parse-3d-tile-composite.d.ts.map +1 -1
  64. package/dist/lib/parsers/parse-3d-tile-composite.js.map +1 -1
  65. package/dist/lib/parsers/parse-3d-tile-gltf.d.ts.map +1 -1
  66. package/dist/lib/parsers/parse-3d-tile-gltf.js.map +1 -1
  67. package/dist/lib/parsers/parse-3d-tile-header.d.ts.map +1 -1
  68. package/dist/lib/parsers/parse-3d-tile-header.js +6 -5
  69. package/dist/lib/parsers/parse-3d-tile-header.js.map +1 -1
  70. package/dist/lib/parsers/parse-3d-tile-instanced-model.d.ts.map +1 -1
  71. package/dist/lib/parsers/parse-3d-tile-instanced-model.js.map +1 -1
  72. package/dist/lib/parsers/parse-3d-tile-point-cloud.d.ts.map +1 -1
  73. package/dist/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -1
  74. package/dist/lib/parsers/parse-3d-tile.d.ts.map +1 -1
  75. package/dist/lib/parsers/parse-3d-tile.js.map +1 -1
  76. package/dist/lib/utils/obb/s2-corners-to-obb.d.ts.map +1 -1
  77. package/dist/lib/utils/obb/s2-corners-to-obb.js.map +1 -1
  78. package/dist/lib/utils/s2/converters/s2-to-boundary.d.ts.map +1 -1
  79. package/dist/lib/utils/s2/converters/s2-to-boundary.js.map +1 -1
  80. package/dist/lib/utils/s2/converters/s2-to-obb-points.d.ts.map +1 -1
  81. package/dist/lib/utils/s2/converters/s2-to-obb-points.js.map +1 -1
  82. package/dist/lib/utils/s2/converters/s2-to-region.d.ts.map +1 -1
  83. package/dist/lib/utils/s2/converters/s2-to-region.js.map +1 -1
  84. package/dist/lib/utils/s2/index.d.ts.map +1 -1
  85. package/dist/lib/utils/s2/index.js.map +1 -1
  86. package/dist/lib/utils/s2/s2-geometry-functions.d.ts.map +1 -1
  87. package/dist/lib/utils/s2/s2-geometry-functions.js.map +1 -1
  88. package/dist/lib/utils/s2/s2-token-functions.d.ts.map +1 -1
  89. package/dist/lib/utils/s2/s2-token-functions.js.map +1 -1
  90. package/dist/lib/utils/s2/s2geometry/s2-cell-utils.d.ts.map +1 -1
  91. package/dist/lib/utils/s2/s2geometry/s2-cell-utils.js.map +1 -1
  92. package/dist/lib/utils/s2/s2geometry/s2-geometry.d.ts.map +1 -1
  93. package/dist/lib/utils/s2/s2geometry/s2-geometry.js.map +1 -1
  94. package/dist/lib/utils/version.js +1 -1
  95. package/dist/lib/utils/version.js.map +1 -1
  96. package/dist/tile-3d-subtree-loader.d.ts.map +1 -1
  97. package/dist/tile-3d-subtree-loader.js.map +1 -1
  98. package/dist/tile-3d-writer.d.ts.map +1 -1
  99. package/dist/tile-3d-writer.js.map +1 -1
  100. package/dist/tiles-3d-loader.d.ts.map +1 -1
  101. package/dist/tiles-3d-loader.js.map +1 -1
  102. package/dist/types.d.ts +4 -4
  103. package/dist/types.d.ts.map +1 -1
  104. package/dist/types.js.map +1 -1
  105. package/package.json +8 -8
  106. package/src/3d-tiles-archive/3d-tiles-archive-archive.ts +4 -0
  107. package/src/3d-tiles-archive/3d-tiles-archive-parser.ts +4 -0
  108. package/src/3d-tiles-archive-loader.ts +4 -0
  109. package/src/cesium-ion-loader.ts +4 -0
  110. package/src/index.ts +4 -0
  111. package/src/lib/classes/helpers/tile-3d-accessor-utils.ts +4 -0
  112. package/src/lib/classes/tile-3d-batch-table-hierarchy.ts +4 -0
  113. package/src/lib/classes/tile-3d-batch-table.ts +4 -0
  114. package/src/lib/classes/tile-3d-feature-table.ts +4 -0
  115. package/src/lib/constants.ts +4 -0
  116. package/src/lib/encoders/encode-3d-tile-batched-model.ts +4 -0
  117. package/src/lib/encoders/encode-3d-tile-composite.ts +4 -0
  118. package/src/lib/encoders/encode-3d-tile-instanced-model.ts +4 -0
  119. package/src/lib/encoders/encode-3d-tile-point-cloud.ts +4 -0
  120. package/src/lib/encoders/encode-3d-tile.ts +4 -0
  121. package/src/lib/encoders/helpers/encode-3d-tile-header.ts +4 -0
  122. package/src/lib/filesystems/tiles-3d-archive-file-system.ts +4 -0
  123. package/src/lib/ion/ion.ts +4 -0
  124. package/src/lib/parsers/helpers/normalize-3d-tile-colors.ts +4 -0
  125. package/src/lib/parsers/helpers/normalize-3d-tile-normals.ts +4 -0
  126. package/src/lib/parsers/helpers/normalize-3d-tile-positions.ts +4 -0
  127. package/src/lib/parsers/helpers/parse-3d-implicit-tiles.ts +25 -16
  128. package/src/lib/parsers/helpers/parse-3d-tile-gltf-view.ts +4 -0
  129. package/src/lib/parsers/helpers/parse-3d-tile-header.ts +4 -0
  130. package/src/lib/parsers/helpers/parse-3d-tile-subtree.ts +11 -2
  131. package/src/lib/parsers/helpers/parse-3d-tile-tables.ts +4 -0
  132. package/src/lib/parsers/helpers/parse-utils.ts +4 -0
  133. package/src/lib/parsers/parse-3d-tile-batched-model.ts +4 -0
  134. package/src/lib/parsers/parse-3d-tile-composite.ts +4 -0
  135. package/src/lib/parsers/parse-3d-tile-gltf.ts +2 -1
  136. package/src/lib/parsers/parse-3d-tile-header.ts +11 -3
  137. package/src/lib/parsers/parse-3d-tile-instanced-model.ts +4 -0
  138. package/src/lib/parsers/parse-3d-tile-point-cloud.ts +4 -0
  139. package/src/lib/parsers/parse-3d-tile.ts +4 -0
  140. package/src/lib/utils/obb/s2-corners-to-obb.ts +4 -0
  141. package/src/lib/utils/s2/converters/s2-to-boundary.ts +4 -0
  142. package/src/lib/utils/s2/converters/s2-to-obb-points.ts +4 -0
  143. package/src/lib/utils/s2/converters/s2-to-region.ts +4 -0
  144. package/src/lib/utils/s2/index.ts +3 -1
  145. package/src/lib/utils/s2/s2-geometry-functions.ts +3 -1
  146. package/src/lib/utils/s2/s2-token-functions.ts +3 -2
  147. package/src/lib/utils/s2/s2geometry/s2-cell-utils.ts +3 -1
  148. package/src/lib/utils/s2/s2geometry/s2-geometry.ts +4 -1
  149. package/src/tile-3d-subtree-loader.ts +4 -0
  150. package/src/tile-3d-writer.ts +4 -0
  151. package/src/tiles-3d-loader.ts +4 -0
  152. 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":"AAAA,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
+ {"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":["import {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":"AACA,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
+ {"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":"AAAA,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
+ {"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":["import {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":"AACA,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
+ {"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":"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"}
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 __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
3
+ const VERSION = typeof "4.1.0-alpha.4" !== 'undefined' ? "4.1.0-alpha.4" : '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","__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":["import 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":"AACA,SAAQA,YAAY,QAAO,0BAA0B;AAAC,SAC9CC,mBAAmB,IAAIC,+BAA+B;AAI9D,MAAMC,OAAO,GAAG,OAAOC,WAAW,KAAK,WAAW,GAAGA,WAAW,GAAG,QAAQ;AAa3E,OAAO,MAAMC,wBAIZ,GAAG;EACFC,IAAI,EAAE,KAAK;EACXC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEN,OAAO;EAChBO,SAAS,EAAE,CAAC,0BAA0B,EAAE,uCAAuC,CAAC;EAChFC,KAAK,EAAEV,mBAAmB;EAC1BW,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,OAAO,EAAE,CAAC;AACZ,CAAC;AAQD,eAAeZ,mBAAmBA,CAChCa,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,MAAMlB,+BAA+B,CAAC,IAAIF,YAAY,CAAC,IAAIqB,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
+ {"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,sBAAkB,KAAK,WAAW,qBAAiB,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":"AAAA,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
+ {"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":["import 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":"SACQA,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"}
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 (typeof __VERSION__ === "undefined") {
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 = __VERSION__;
4312
+ globalThis._loadersgl_.version = "4.1.0-alpha.4";
4314
4313
  }
4315
4314
  }
4316
4315
  return globalThis._loadersgl_.version;
@@ -4815,6 +4814,12 @@ var __exports__ = (() => {
4815
4814
  async stat() {
4816
4815
  throw NOT_IMPLEMENTED;
4817
4816
  }
4817
+ async truncate(length4) {
4818
+ throw NOT_IMPLEMENTED;
4819
+ }
4820
+ async append(data) {
4821
+ throw NOT_IMPLEMENTED;
4822
+ }
4818
4823
  async close() {
4819
4824
  }
4820
4825
  };
@@ -4826,9 +4831,14 @@ var __exports__ = (() => {
4826
4831
 
4827
4832
  // ../loader-utils/src/lib/file-provider/file-handle-file.ts
4828
4833
  var FileHandleFile = class {
4829
- constructor(path) {
4830
- this.file = new NodeFileFacade(path, "r");
4831
- this.size = this.file.bigsize;
4834
+ constructor(path, append = false) {
4835
+ this.file = new NodeFileFacade(path, append ? "a+" : "r");
4836
+ }
4837
+ async truncate(length4) {
4838
+ await this.file.truncate(length4);
4839
+ }
4840
+ async append(buffer) {
4841
+ await this.file.append(buffer);
4832
4842
  }
4833
4843
  async destroy() {
4834
4844
  await this.file.close();
@@ -4874,7 +4884,7 @@ var __exports__ = (() => {
4874
4884
  return await this.file.read(startOffset, length4);
4875
4885
  }
4876
4886
  get length() {
4877
- return this.size;
4887
+ return this.file.bigsize;
4878
4888
  }
4879
4889
  };
4880
4890
 
@@ -10073,7 +10083,7 @@ var __exports__ = (() => {
10073
10083
  }({});
10074
10084
 
10075
10085
  // src/lib/utils/version.ts
10076
- var VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
10086
+ var VERSION2 = true ? "4.1.0-alpha.4" : "latest";
10077
10087
 
10078
10088
  // src/lib/constants.ts
10079
10089
  var TILE3D_TYPE = {
@@ -10107,7 +10117,7 @@ var __exports__ = (() => {
10107
10117
  }
10108
10118
 
10109
10119
  // ../draco/src/lib/utils/version.ts
10110
- var VERSION3 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
10120
+ var VERSION3 = true ? "4.1.0-alpha.4" : "latest";
10111
10121
 
10112
10122
  // ../draco/src/draco-loader.ts
10113
10123
  var DracoLoader = {
@@ -11809,7 +11819,7 @@ var __exports__ = (() => {
11809
11819
  });
11810
11820
 
11811
11821
  // ../images/src/lib/utils/version.ts
11812
- var VERSION4 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
11822
+ var VERSION4 = true ? "4.1.0-alpha.4" : "latest";
11813
11823
 
11814
11824
  // ../images/src/lib/category-api/image-type.ts
11815
11825
  var parseImageNode = globalThis.loaders?.parseImageNode;
@@ -13518,10 +13528,10 @@ var __exports__ = (() => {
13518
13528
  }
13519
13529
 
13520
13530
  // ../gltf/src/lib/utils/version.ts
13521
- var VERSION5 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
13531
+ var VERSION5 = true ? "4.1.0-alpha.4" : "latest";
13522
13532
 
13523
13533
  // ../textures/src/lib/utils/version.ts
13524
- var VERSION6 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
13534
+ var VERSION6 = true ? "4.1.0-alpha.4" : "latest";
13525
13535
 
13526
13536
  // ../textures/src/lib/parsers/basis-module-loader.ts
13527
13537
  var BASIS_EXTERNAL_LIBRARIES = {
@@ -15906,7 +15916,8 @@ var __exports__ = (() => {
15906
15916
  availabilityObject.explicitBitstream = new Uint8Array(data, bufferView.byteOffset, bufferView.byteLength);
15907
15917
  return;
15908
15918
  }
15909
- availabilityObject.explicitBitstream = new Uint8Array(internalBinaryBuffer, bufferView.byteOffset, bufferView.byteLength);
15919
+ const bufferStart = subtree.buffers.slice(0, bufferView.buffer).reduce((offset, buf) => offset + buf.byteLength, 0);
15920
+ availabilityObject.explicitBitstream = new Uint8Array(internalBinaryBuffer.slice(bufferStart, bufferStart + buffer.byteLength), bufferView.byteOffset, bufferView.byteLength);
15910
15921
  }
15911
15922
  function parseUint64Value(buffer) {
15912
15923
  const dataView = new DataView(buffer);
@@ -17658,11 +17669,11 @@ var __exports__ = (() => {
17658
17669
  }
17659
17670
 
17660
17671
  // src/lib/parsers/helpers/parse-3d-implicit-tiles.ts
17661
- var QUADTREE_DEVISION_COUNT = 4;
17662
- var OCTREE_DEVISION_COUNT = 8;
17672
+ var QUADTREE_DIVISION_COUNT = 4;
17673
+ var OCTREE_DIVISION_COUNT = 8;
17663
17674
  var SUBDIVISION_COUNT_MAP = {
17664
- QUADTREE: QUADTREE_DEVISION_COUNT,
17665
- OCTREE: OCTREE_DEVISION_COUNT
17675
+ QUADTREE: QUADTREE_DIVISION_COUNT,
17676
+ OCTREE: OCTREE_DIVISION_COUNT
17666
17677
  };
17667
17678
  function getChildS2VolumeBox(s2VolumeBox, index, subdivisionScheme) {
17668
17679
  if (s2VolumeBox?.box) {
@@ -17704,19 +17715,19 @@ var __exports__ = (() => {
17704
17715
  z: 0
17705
17716
  },
17706
17717
  childIndex = 0,
17718
+ s2VolumeBox,
17719
+ loaderOptions
17720
+ } = params;
17721
+ let {
17722
+ subtree,
17723
+ level = 0,
17707
17724
  globalData = {
17708
17725
  level: 0,
17709
17726
  mortonIndex: 0,
17710
17727
  x: 0,
17711
17728
  y: 0,
17712
17729
  z: 0
17713
- },
17714
- s2VolumeBox,
17715
- loaderOptions
17716
- } = params;
17717
- let {
17718
- subtree,
17719
- level = 0
17730
+ }
17720
17731
  } = params;
17721
17732
  const {
17722
17733
  subdivisionScheme,
@@ -17754,19 +17765,21 @@ var __exports__ = (() => {
17754
17765
  if (level >= subtreeLevels) {
17755
17766
  isChildSubtreeAvailable = getAvailabilityResult(subtree.childSubtreeAvailability, childTileMortonIndex);
17756
17767
  }
17757
- const x = concatBits(globalData.x, childTileX, level * bitsPerTile);
17758
- const y = concatBits(globalData.y, childTileY, level * bitsPerTile);
17759
- const z = concatBits(globalData.z, childTileZ, level * bitsPerTile);
17768
+ const x = concatBits(globalData.x, childTileX, level);
17769
+ const y = concatBits(globalData.y, childTileY, level);
17770
+ const z = concatBits(globalData.z, childTileZ, level);
17760
17771
  if (isChildSubtreeAvailable) {
17761
17772
  const subtreePath = `${basePath}/${subtreesUriTemplate}`;
17762
17773
  const childSubtreeUrl = replaceContentUrlTemplate(subtreePath, lev, x, y, z);
17763
17774
  const childSubtree = await (0, import_core22.load)(childSubtreeUrl, Tile3DSubtreeLoader, loaderOptions);
17764
17775
  subtree = childSubtree;
17765
- globalData.mortonIndex = childTileMortonIndex;
17766
- globalData.x = childTileX;
17767
- globalData.y = childTileY;
17768
- globalData.z = childTileZ;
17769
- globalData.level = level;
17776
+ globalData = {
17777
+ mortonIndex: childTileMortonIndex,
17778
+ x: childTileX,
17779
+ y: childTileY,
17780
+ z: childTileZ,
17781
+ level
17782
+ };
17770
17783
  childTileMortonIndex = 0;
17771
17784
  tileAvailabilityIndex = 0;
17772
17785
  childTileX = 0;
@@ -17947,7 +17960,7 @@ var __exports__ = (() => {
17947
17960
  return refine;
17948
17961
  }
17949
17962
  }
17950
- function resolveUri(uri = "", basePath) {
17963
+ function resolveUri(uri, basePath) {
17951
17964
  const urlSchemeRegex = /^[a-z][0-9a-z+.-]*:/i;
17952
17965
  if (urlSchemeRegex.test(basePath)) {
17953
17966
  const url = new URL(uri, `${basePath}/`);
@@ -17964,7 +17977,9 @@ var __exports__ = (() => {
17964
17977
  let tileContentUrl;
17965
17978
  if (tile.content) {
17966
17979
  const contentUri = tile.content.uri || tile.content?.url;
17967
- tileContentUrl = resolveUri(contentUri, basePath);
17980
+ if (typeof contentUri !== "undefined") {
17981
+ tileContentUrl = resolveUri(contentUri, basePath);
17982
+ }
17968
17983
  }
17969
17984
  const tilePostprocessed = {
17970
17985
  ...tile,
@@ -18022,7 +18037,8 @@ var __exports__ = (() => {
18022
18037
  const replacedUrlTemplate = replaceContentUrlTemplate(subtreesUriTemplate, 0, 0, 0, 0);
18023
18038
  const subtreeUrl = resolveUri(replacedUrlTemplate, basePath);
18024
18039
  const subtree = await (0, import_core23.load)(subtreeUrl, Tile3DSubtreeLoader, options);
18025
- const contentUrlTemplate = resolveUri(tile.content?.uri, basePath);
18040
+ const tileContentUri = tile.content?.uri;
18041
+ const contentUrlTemplate = tileContentUri ? resolveUri(tileContentUri, basePath) : "";
18026
18042
  const refine = tileset?.root?.refine;
18027
18043
  const rootLodMetricValue = tile.geometricError;
18028
18044
  const s2VolumeInfo = tile.boundingVolume.extensions?.["3DTILES_bounding_volume_S2"];
@@ -18280,23 +18296,28 @@ var __exports__ = (() => {
18280
18296
  const zipEoCDOffset = await searchFromTheEnd(file, eoCDSignature);
18281
18297
  let cdRecordsNumber = BigInt(await file.getUint16(zipEoCDOffset + CD_RECORDS_NUMBER_OFFSET));
18282
18298
  let cdStartOffset = BigInt(await file.getUint32(zipEoCDOffset + CD_START_OFFSET_OFFSET));
18283
- if (cdStartOffset === BigInt(4294967295) || cdRecordsNumber === BigInt(4294967295)) {
18284
- const zip64EoCDLocatorOffset = zipEoCDOffset - 20n;
18285
- const magicBytes = await file.slice(zip64EoCDLocatorOffset, zip64EoCDLocatorOffset + 4n);
18286
- if (!compareArrayBuffers(magicBytes, zip64EoCDLocatorSignature)) {
18287
- throw new Error("zip64 EoCD locator not found");
18288
- }
18289
- const zip64EoCDOffset = await file.getBigUint64(zip64EoCDLocatorOffset + ZIP64_EOCD_START_OFFSET_OFFSET);
18299
+ let zip64EoCDLocatorOffset = zipEoCDOffset - 20n;
18300
+ let zip64EoCDOffset = 0n;
18301
+ const magicBytes = await file.slice(zip64EoCDLocatorOffset, zip64EoCDLocatorOffset + 4n);
18302
+ if (compareArrayBuffers(magicBytes, zip64EoCDLocatorSignature)) {
18303
+ zip64EoCDOffset = await file.getBigUint64(zip64EoCDLocatorOffset + ZIP64_EOCD_START_OFFSET_OFFSET);
18290
18304
  const endOfCDMagicBytes = await file.slice(zip64EoCDOffset, zip64EoCDOffset + 4n);
18291
18305
  if (!compareArrayBuffers(endOfCDMagicBytes, zip64EoCDSignature.buffer)) {
18292
18306
  throw new Error("zip64 EoCD not found");
18293
18307
  }
18294
18308
  cdRecordsNumber = await file.getBigUint64(zip64EoCDOffset + ZIP64_CD_RECORDS_NUMBER_OFFSET);
18295
18309
  cdStartOffset = await file.getBigUint64(zip64EoCDOffset + ZIP64_CD_START_OFFSET_OFFSET);
18310
+ } else {
18311
+ zip64EoCDLocatorOffset = 0n;
18296
18312
  }
18297
18313
  return {
18298
18314
  cdRecordsNumber,
18299
- cdStartOffset
18315
+ cdStartOffset,
18316
+ offsets: {
18317
+ zip64EoCDOffset,
18318
+ zip64EoCDLocatorOffset,
18319
+ zipEoCDOffset
18320
+ }
18300
18321
  };
18301
18322
  };
18302
18323
 
@@ -18510,6 +18531,52 @@ var __exports__ = (() => {
18510
18531
  compressionMethod
18511
18532
  };
18512
18533
  };
18534
+ var ZIP_HEADER_FIELDS2 = [{
18535
+ offset: 0,
18536
+ size: 4,
18537
+ default: new DataView(signature2.buffer).getUint32(0, true)
18538
+ }, {
18539
+ offset: 4,
18540
+ size: 2,
18541
+ default: 45
18542
+ }, {
18543
+ offset: 6,
18544
+ size: 2,
18545
+ default: 0
18546
+ }, {
18547
+ offset: 8,
18548
+ size: 2,
18549
+ default: 0
18550
+ }, {
18551
+ offset: 10,
18552
+ size: 2,
18553
+ default: 0
18554
+ }, {
18555
+ offset: 12,
18556
+ size: 2,
18557
+ default: 0
18558
+ }, {
18559
+ offset: 14,
18560
+ size: 4,
18561
+ name: "crc32"
18562
+ }, {
18563
+ offset: 18,
18564
+ size: 4,
18565
+ name: "length"
18566
+ }, {
18567
+ offset: 22,
18568
+ size: 4,
18569
+ name: "length"
18570
+ }, {
18571
+ offset: 26,
18572
+ size: 2,
18573
+ name: "fnlength"
18574
+ }, {
18575
+ offset: 28,
18576
+ size: 2,
18577
+ default: 0,
18578
+ name: "extraLength"
18579
+ }];
18513
18580
 
18514
18581
  // ../crypto/src/lib/hash.ts
18515
18582
  var Hash = class {
@@ -19379,7 +19446,7 @@ var __exports__ = (() => {
19379
19446
  };
19380
19447
 
19381
19448
  // src/3d-tiles-archive-loader.ts
19382
- var VERSION8 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
19449
+ var VERSION8 = true ? "4.1.0-alpha.4" : "latest";
19383
19450
  var Tiles3DArchiveFileLoader = {
19384
19451
  name: "3tz",
19385
19452
  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 QUADTREE_DEVISION_COUNT = 4;
1890
- var OCTREE_DEVISION_COUNT = 8;
1890
+ var QUADTREE_DIVISION_COUNT = 4;
1891
+ var OCTREE_DIVISION_COUNT = 8;
1891
1892
  var SUBDIVISION_COUNT_MAP = {
1892
- QUADTREE: QUADTREE_DEVISION_COUNT,
1893
- OCTREE: OCTREE_DEVISION_COUNT
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 * bitsPerTile);
1982
- const y = concatBits(globalData.y, childTileY, level * bitsPerTile);
1983
- const z = concatBits(globalData.z, childTileZ, level * bitsPerTile);
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.mortonIndex = childTileMortonIndex;
1990
- globalData.x = childTileX;
1991
- globalData.y = childTileY;
1992
- globalData.z = childTileZ;
1993
- globalData.level = level;
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 = "", basePath) {
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
- tileContentUrl = resolveUri(contentUri, basePath);
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 contentUrlTemplate = resolveUri((_a = tile.content) == null ? void 0 : _a.uri, basePath);
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"];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,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"}
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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Tiles3DLoader","CesiumIonLoader","Tile3DSubtreeLoader","Tiles3DArchiveFileLoader","Tiles3DArchiveFileSystem","Tile3DWriter","default","Tile3DFeatureTable","Tile3DBatchTable","TILE3D_TYPE","getIonTilesetMetadata","_getIonTilesetMetadata"],"sources":["../src/index.ts"],"sourcesContent":["// LOADERS\nexport {Tiles3DLoader} from './tiles-3d-loader';\nexport {CesiumIonLoader} from './cesium-ion-loader';\nexport {Tile3DSubtreeLoader} from './tile-3d-subtree-loader';\nexport type {Tiles3DArchiveFileLoaderOptions} from './3d-tiles-archive-loader';\nexport {Tiles3DArchiveFileLoader} from './3d-tiles-archive-loader';\nexport {Tiles3DArchiveFileSystem} from './lib/filesystems/tiles-3d-archive-file-system';\n\n// WRITERS\nexport {Tile3DWriter} from './tile-3d-writer';\n\n// CLASSES\nexport {default as Tile3DFeatureTable} from './lib/classes/tile-3d-feature-table';\nexport {default as Tile3DBatchTable} from './lib/classes/tile-3d-batch-table';\n\n// EXPERIMENTAL\nexport {TILE3D_TYPE} from './lib/constants';\nexport {getIonTilesetMetadata as _getIonTilesetMetadata} from './lib/ion/ion';\nexport type {\n FeatureTableJson,\n B3DMContent,\n Tile3DBoundingVolume,\n Tiles3DTileJSON,\n Tiles3DTileJSONPostprocessed,\n Tiles3DTilesetJSON,\n Tiles3DTilesetJSONPostprocessed,\n Tiles3DTileContent,\n ImplicitTilingExensionData\n} from './types';\nexport type {Tiles3DLoaderOptions} from './tiles-3d-loader';\n"],"mappings":"SACQA,aAAa;AAAA,SACbC,eAAe;AAAA,SACfC,mBAAmB;AAAA,SAEnBC,wBAAwB;AAAA,SACxBC,wBAAwB;AAAA,SAGxBC,YAAY;AAAA,SAGZC,OAAO,IAAIC,kBAAkB;AAAA,SAC7BD,OAAO,IAAIE,gBAAgB;AAAA,SAG3BC,WAAW;AAAA,SACXC,qBAAqB,IAAIC,sBAAsB"}
1
+ {"version":3,"file":"index.js","names":["Tiles3DLoader","CesiumIonLoader","Tile3DSubtreeLoader","Tiles3DArchiveFileLoader","Tiles3DArchiveFileSystem","Tile3DWriter","default","Tile3DFeatureTable","Tile3DBatchTable","TILE3D_TYPE","getIonTilesetMetadata","_getIonTilesetMetadata"],"sources":["../src/index.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright vis.gl contributors\n\n// LOADERS\nexport {Tiles3DLoader} from './tiles-3d-loader';\nexport {CesiumIonLoader} from './cesium-ion-loader';\nexport {Tile3DSubtreeLoader} from './tile-3d-subtree-loader';\nexport type {Tiles3DArchiveFileLoaderOptions} from './3d-tiles-archive-loader';\nexport {Tiles3DArchiveFileLoader} from './3d-tiles-archive-loader';\nexport {Tiles3DArchiveFileSystem} from './lib/filesystems/tiles-3d-archive-file-system';\n\n// WRITERS\nexport {Tile3DWriter} from './tile-3d-writer';\n\n// CLASSES\nexport {default as Tile3DFeatureTable} from './lib/classes/tile-3d-feature-table';\nexport {default as Tile3DBatchTable} from './lib/classes/tile-3d-batch-table';\n\n// EXPERIMENTAL\nexport {TILE3D_TYPE} from './lib/constants';\nexport {getIonTilesetMetadata as _getIonTilesetMetadata} from './lib/ion/ion';\nexport type {\n FeatureTableJson,\n B3DMContent,\n Tile3DBoundingVolume,\n Tiles3DTileJSON,\n Tiles3DTileJSONPostprocessed,\n Tiles3DTilesetJSON,\n Tiles3DTilesetJSONPostprocessed,\n Tiles3DTileContent,\n ImplicitTilingExensionData\n} from './types';\nexport type {Tiles3DLoaderOptions} from './tiles-3d-loader';\n"],"mappings":"SAKQA,aAAa;AAAA,SACbC,eAAe;AAAA,SACfC,mBAAmB;AAAA,SAEnBC,wBAAwB;AAAA,SACxBC,wBAAwB;AAAA,SAGxBC,YAAY;AAAA,SAGZC,OAAO,IAAIC,kBAAkB;AAAA,SAC7BD,OAAO,IAAIE,gBAAgB;AAAA,SAG3BC,WAAW;AAAA,SACXC,qBAAqB,IAAIC,sBAAsB"}
@@ -1 +1 @@
1
- {"version":3,"file":"tile-3d-accessor-utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/classes/helpers/tile-3d-accessor-utils.ts"],"names":[],"mappings":"AAgGA,wBAAgB,4BAA4B,CAAC,cAAc,KAAA,EAAE,MAAM,KAAA,EAAE,UAAU,KAAA,EAAE,MAAM,KAAA;;;;;;EAkBtF"}
1
+ {"version":3,"file":"tile-3d-accessor-utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/classes/helpers/tile-3d-accessor-utils.ts"],"names":[],"mappings":"AAoGA,wBAAgB,4BAA4B,CAAC,cAAc,KAAA,EAAE,MAAM,KAAA,EAAE,UAAU,KAAA,EAAE,MAAM,KAAA;;;;;;EAkBtF"}
@@ -1 +1 @@
1
- {"version":3,"file":"tile-3d-accessor-utils.js","names":["GLType","assert","COMPONENTS_PER_ATTRIBUTE","SCALAR","VEC2","VEC3","VEC4","MAT2","MAT3","MAT4","UNPACKER","values","i","PACKER","x","createTypedArrayFromAccessor","tile3DAccessor","buffer","byteOffset","length","componentType","type","fromName","size","unpacker","packer","createTypedArray"],"sources":["../../../../src/lib/classes/helpers/tile-3d-accessor-utils.ts"],"sourcesContent":["import {GLType} from '@loaders.gl/math'; // '@math.gl/geometry';\nimport {assert} from '@loaders.gl/loader-utils';\n\nconst COMPONENTS_PER_ATTRIBUTE = {\n SCALAR: 1,\n VEC2: 2,\n VEC3: 3,\n VEC4: 4,\n MAT2: 4,\n MAT3: 9,\n MAT4: 16\n};\n\n// TODO - could just return typed array views...\n// prettier-ignore\nconst UNPACKER = {\n SCALAR: (values, i) => values[i],\n VEC2: (values, i) => [values[2 * i + 0], values[2 * i + 1]],\n VEC3: (values, i) => [values[3 * i + 0], values[3 * i + 1], values[3 * i + 2]],\n VEC4: (values, i) => [values[4 * i + 0], values[4 * i + 1], values[4 * i + 2], values[4 * i + 3]],\n // TODO: check column major\n MAT2: (values, i) => [\n values[4 * i + 0], values[4 * i + 1],\n values[4 * i + 2], values[4 * i + 3]\n ],\n MAT3: (values, i) => [\n values[9 * i + 0], values[9 * i + 1], values[9 * i + 2],\n values[9 * i + 3], values[9 * i + 4], values[9 * i + 5],\n values[9 * i + 6], values[9 * i + 7], values[9 * i + 8]\n ],\n MAT4: (values, i) => [\n values[16 * i + 0], values[16 * i + 1], values[16 * i + 2], values[16 * i + 3],\n values[16 * i + 4], values[16 * i + 5], values[16 * i + 6], values[16 * i + 7],\n values[16 * i + 8], values[16 * i + 9], values[16 * i + 10], values[16 * i + 11],\n values[16 * i + 12], values[16 * i + 13], values[16 * i + 14], values[16 * i + 15]\n ]\n};\n\nconst PACKER = {\n SCALAR: (x, values, i) => {\n values[i] = x;\n },\n VEC2: (x, values, i) => {\n values[2 * i + 0] = x[0];\n values[2 * i + 1] = x[1];\n },\n VEC3: (x, values, i) => {\n values[3 * i + 0] = x[0];\n values[3 * i + 1] = x[1];\n values[3 * i + 2] = x[2];\n },\n VEC4: (x, values, i) => {\n values[4 * i + 0] = x[0];\n values[4 * i + 1] = x[1];\n values[4 * i + 2] = x[2];\n values[4 * i + 3] = x[3];\n },\n // TODO: check column major correctness\n MAT2: (x, values, i) => {\n values[4 * i + 0] = x[0];\n values[4 * i + 1] = x[1];\n values[4 * i + 2] = x[2];\n values[4 * i + 3] = x[3];\n },\n MAT3: (x, values, i) => {\n values[9 * i + 0] = x[0];\n values[9 * i + 1] = x[1];\n values[9 * i + 2] = x[2];\n values[9 * i + 3] = x[3];\n values[9 * i + 4] = x[4];\n values[9 * i + 5] = x[5];\n values[9 * i + 6] = x[6];\n values[9 * i + 7] = x[7];\n values[9 * i + 8] = x[8];\n values[9 * i + 9] = x[9];\n },\n MAT4: (x, values, i) => {\n values[16 * i + 0] = x[0];\n values[16 * i + 1] = x[1];\n values[16 * i + 2] = x[2];\n values[16 * i + 3] = x[3];\n values[16 * i + 4] = x[4];\n values[16 * i + 5] = x[5];\n values[16 * i + 6] = x[6];\n values[16 * i + 7] = x[7];\n values[16 * i + 8] = x[8];\n values[16 * i + 9] = x[9];\n values[16 * i + 10] = x[10];\n values[16 * i + 11] = x[11];\n values[16 * i + 12] = x[12];\n values[16 * i + 13] = x[13];\n values[16 * i + 14] = x[14];\n values[16 * i + 15] = x[15];\n }\n};\n\nexport function createTypedArrayFromAccessor(tile3DAccessor, buffer, byteOffset, length) {\n const {componentType} = tile3DAccessor;\n assert(tile3DAccessor.componentType);\n const type = typeof componentType === 'string' ? GLType.fromName(componentType) : componentType;\n const size = COMPONENTS_PER_ATTRIBUTE[tile3DAccessor.type];\n const unpacker = UNPACKER[tile3DAccessor.type];\n const packer = PACKER[tile3DAccessor.type];\n\n byteOffset += tile3DAccessor.byteOffset;\n const values = GLType.createTypedArray(type, buffer, byteOffset, size * length);\n\n return {\n values,\n type,\n size,\n unpacker,\n packer\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"tile-3d-accessor-utils.js","names":["GLType","assert","COMPONENTS_PER_ATTRIBUTE","SCALAR","VEC2","VEC3","VEC4","MAT2","MAT3","MAT4","UNPACKER","values","i","PACKER","x","createTypedArrayFromAccessor","tile3DAccessor","buffer","byteOffset","length","componentType","type","fromName","size","unpacker","packer","createTypedArray"],"sources":["../../../../src/lib/classes/helpers/tile-3d-accessor-utils.ts"],"sourcesContent":["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright vis.gl contributors\n\nimport {GLType} from '@loaders.gl/math'; // '@math.gl/geometry';\nimport {assert} from '@loaders.gl/loader-utils';\n\nconst COMPONENTS_PER_ATTRIBUTE = {\n SCALAR: 1,\n VEC2: 2,\n VEC3: 3,\n VEC4: 4,\n MAT2: 4,\n MAT3: 9,\n MAT4: 16\n};\n\n// TODO - could just return typed array views...\n// prettier-ignore\nconst UNPACKER = {\n SCALAR: (values, i) => values[i],\n VEC2: (values, i) => [values[2 * i + 0], values[2 * i + 1]],\n VEC3: (values, i) => [values[3 * i + 0], values[3 * i + 1], values[3 * i + 2]],\n VEC4: (values, i) => [values[4 * i + 0], values[4 * i + 1], values[4 * i + 2], values[4 * i + 3]],\n // TODO: check column major\n MAT2: (values, i) => [\n values[4 * i + 0], values[4 * i + 1],\n values[4 * i + 2], values[4 * i + 3]\n ],\n MAT3: (values, i) => [\n values[9 * i + 0], values[9 * i + 1], values[9 * i + 2],\n values[9 * i + 3], values[9 * i + 4], values[9 * i + 5],\n values[9 * i + 6], values[9 * i + 7], values[9 * i + 8]\n ],\n MAT4: (values, i) => [\n values[16 * i + 0], values[16 * i + 1], values[16 * i + 2], values[16 * i + 3],\n values[16 * i + 4], values[16 * i + 5], values[16 * i + 6], values[16 * i + 7],\n values[16 * i + 8], values[16 * i + 9], values[16 * i + 10], values[16 * i + 11],\n values[16 * i + 12], values[16 * i + 13], values[16 * i + 14], values[16 * i + 15]\n ]\n};\n\nconst PACKER = {\n SCALAR: (x, values, i) => {\n values[i] = x;\n },\n VEC2: (x, values, i) => {\n values[2 * i + 0] = x[0];\n values[2 * i + 1] = x[1];\n },\n VEC3: (x, values, i) => {\n values[3 * i + 0] = x[0];\n values[3 * i + 1] = x[1];\n values[3 * i + 2] = x[2];\n },\n VEC4: (x, values, i) => {\n values[4 * i + 0] = x[0];\n values[4 * i + 1] = x[1];\n values[4 * i + 2] = x[2];\n values[4 * i + 3] = x[3];\n },\n // TODO: check column major correctness\n MAT2: (x, values, i) => {\n values[4 * i + 0] = x[0];\n values[4 * i + 1] = x[1];\n values[4 * i + 2] = x[2];\n values[4 * i + 3] = x[3];\n },\n MAT3: (x, values, i) => {\n values[9 * i + 0] = x[0];\n values[9 * i + 1] = x[1];\n values[9 * i + 2] = x[2];\n values[9 * i + 3] = x[3];\n values[9 * i + 4] = x[4];\n values[9 * i + 5] = x[5];\n values[9 * i + 6] = x[6];\n values[9 * i + 7] = x[7];\n values[9 * i + 8] = x[8];\n values[9 * i + 9] = x[9];\n },\n MAT4: (x, values, i) => {\n values[16 * i + 0] = x[0];\n values[16 * i + 1] = x[1];\n values[16 * i + 2] = x[2];\n values[16 * i + 3] = x[3];\n values[16 * i + 4] = x[4];\n values[16 * i + 5] = x[5];\n values[16 * i + 6] = x[6];\n values[16 * i + 7] = x[7];\n values[16 * i + 8] = x[8];\n values[16 * i + 9] = x[9];\n values[16 * i + 10] = x[10];\n values[16 * i + 11] = x[11];\n values[16 * i + 12] = x[12];\n values[16 * i + 13] = x[13];\n values[16 * i + 14] = x[14];\n values[16 * i + 15] = x[15];\n }\n};\n\nexport function createTypedArrayFromAccessor(tile3DAccessor, buffer, byteOffset, length) {\n const {componentType} = tile3DAccessor;\n assert(tile3DAccessor.componentType);\n const type = typeof componentType === 'string' ? GLType.fromName(componentType) : componentType;\n const size = COMPONENTS_PER_ATTRIBUTE[tile3DAccessor.type];\n const unpacker = UNPACKER[tile3DAccessor.type];\n const packer = PACKER[tile3DAccessor.type];\n\n byteOffset += tile3DAccessor.byteOffset;\n const values = GLType.createTypedArray(type, buffer, byteOffset, size * length);\n\n return {\n values,\n type,\n size,\n unpacker,\n packer\n };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tile-3d-batch-table-hierarchy.d.ts","sourceRoot":"","sources":["../../../src/lib/classes/tile-3d-batch-table-hierarchy.ts"],"names":[],"mappings":"AAQA,wBAAgB,mBAAmB,CAAC,UAAU,KAAA,EAAE,UAAU,KAAA,EAAE,UAAU,KAAA;;;;;;;SAqBrE;AA2FD,wBAAgB,iBAAiB,CAAC,SAAS,KAAA,EAAE,aAAa,KAAA,EAAE,oBAAoB,KAAA,OAc/E"}
1
+ {"version":3,"file":"tile-3d-batch-table-hierarchy.d.ts","sourceRoot":"","sources":["../../../src/lib/classes/tile-3d-batch-table-hierarchy.ts"],"names":[],"mappings":"AAYA,wBAAgB,mBAAmB,CAAC,UAAU,KAAA,EAAE,UAAU,KAAA,EAAE,UAAU,KAAA;;;;;;;SAqBrE;AA2FD,wBAAgB,iBAAiB,CAAC,SAAS,KAAA,EAAE,aAAa,KAAA,EAAE,oBAAoB,KAAA,OAc/E"}