@loaders.gl/i3s 4.2.0-alpha.5 → 4.2.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/arcgis-webscene-loader.d.ts +19 -2
  2. package/dist/arcgis-webscene-loader.d.ts.map +1 -1
  3. package/dist/arcgis-webscene-loader.js +3 -1
  4. package/dist/dist.dev.js +192 -144
  5. package/dist/dist.min.js +1 -1
  6. package/dist/i3s-attribute-loader.d.ts +14 -3
  7. package/dist/i3s-attribute-loader.d.ts.map +1 -1
  8. package/dist/i3s-attribute-loader.js +3 -1
  9. package/dist/i3s-building-scene-layer-loader.d.ts +15 -3
  10. package/dist/i3s-building-scene-layer-loader.d.ts.map +1 -1
  11. package/dist/i3s-building-scene-layer-loader.js +3 -1
  12. package/dist/i3s-content-loader.d.ts +18 -2
  13. package/dist/i3s-content-loader.d.ts.map +1 -1
  14. package/dist/i3s-content-loader.js +6 -1
  15. package/dist/i3s-content-worker-node.js +51 -51
  16. package/dist/i3s-content-worker-node.js.map +4 -4
  17. package/dist/i3s-content-worker.js +1722 -1702
  18. package/dist/i3s-loader.d.ts +30 -2
  19. package/dist/i3s-loader.d.ts.map +1 -1
  20. package/dist/i3s-loader.js +8 -2
  21. package/dist/i3s-node-page-loader.d.ts +17 -3
  22. package/dist/i3s-node-page-loader.d.ts.map +1 -1
  23. package/dist/i3s-node-page-loader.js +6 -1
  24. package/dist/i3s-slpk-loader.d.ts +13 -2
  25. package/dist/i3s-slpk-loader.d.ts.map +1 -1
  26. package/dist/i3s-slpk-loader.js +6 -1
  27. package/dist/index.cjs +43 -35
  28. package/dist/index.cjs.map +2 -2
  29. package/dist/lib/helpers/i3s-nodepages-tiles.d.ts.map +1 -1
  30. package/dist/lib/helpers/i3s-nodepages-tiles.js +11 -7
  31. package/dist/lib/parsers/parse-arcgis-webscene.js +1 -0
  32. package/dist/lib/parsers/parse-i3s-tile-content.d.ts.map +1 -1
  33. package/dist/lib/parsers/parse-i3s-tile-content.js +3 -25
  34. package/dist/lib/parsers/parse-slpk/slpk-archieve.js +5 -3
  35. package/package.json +12 -10
  36. package/src/arcgis-webscene-loader.ts +4 -6
  37. package/src/i3s-attribute-loader.ts +4 -2
  38. package/src/i3s-building-scene-layer-loader.ts +6 -6
  39. package/src/i3s-content-loader.ts +9 -2
  40. package/src/i3s-loader.ts +11 -3
  41. package/src/i3s-node-page-loader.ts +9 -2
  42. package/src/i3s-slpk-loader.ts +9 -2
  43. package/src/lib/helpers/i3s-nodepages-tiles.ts +1 -3
  44. package/src/lib/parsers/parse-i3s-tile-content.ts +7 -30
@@ -1,5 +1,6 @@
1
- import type { LoaderWithParser, LoaderOptions } from '@loaders.gl/loader-utils';
1
+ import type { LoaderOptions } from '@loaders.gl/loader-utils';
2
2
  import type { I3STilesetHeader } from "./types.js";
3
+ import { COORDINATE_SYSTEM } from "./lib/parsers/constants.js";
3
4
  import { I3SParseOptions } from "./types.js";
4
5
  export type I3SLoaderOptions = LoaderOptions & {
5
6
  i3s?: I3SParseOptions;
@@ -7,5 +8,32 @@ export type I3SLoaderOptions = LoaderOptions & {
7
8
  /**
8
9
  * Loader for I3S - Indexed 3D Scene Layer
9
10
  */
10
- export declare const I3SLoader: LoaderWithParser<I3STilesetHeader, never, LoaderOptions>;
11
+ export declare const I3SLoader: {
12
+ readonly dataType: I3STilesetHeader;
13
+ readonly batchType: never;
14
+ readonly name: "I3S (Indexed Scene Layers)";
15
+ readonly id: "i3s";
16
+ readonly module: "i3s";
17
+ readonly version: any;
18
+ readonly mimeTypes: ["application/octet-stream"];
19
+ readonly parse: typeof parseI3S;
20
+ readonly extensions: ["bin"];
21
+ readonly options: {
22
+ readonly i3s: {
23
+ readonly token: null;
24
+ readonly isTileset: "auto";
25
+ readonly isTileHeader: "auto";
26
+ readonly tile: null;
27
+ readonly tileset: null;
28
+ readonly _tileOptions: null;
29
+ readonly _tilesetOptions: null;
30
+ readonly useDracoGeometry: true;
31
+ readonly useCompressedTextures: true;
32
+ readonly decodeTextures: true;
33
+ readonly coordinateSystem: COORDINATE_SYSTEM.METER_OFFSETS;
34
+ };
35
+ };
36
+ };
37
+ declare function parseI3S(data: any, options: I3SLoaderOptions | undefined, context: any): Promise<I3STilesetHeader>;
38
+ export {};
11
39
  //# sourceMappingURL=i3s-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i3s-loader.d.ts","sourceRoot":"","sources":["../src/i3s-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAE9E,OAAO,KAAK,EAAC,gBAAgB,EAAC,mBAAgB;AAI9C,OAAO,EAAC,eAAe,EAAC,mBAAgB;AAYxC,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,GAAG,CAAC,EAAE,eAAe,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,EAAE,aAAa,CAuB9E,CAAC"}
1
+ {"version":3,"file":"i3s-loader.d.ts","sourceRoot":"","sources":["../src/i3s-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAE9E,OAAO,KAAK,EAAC,gBAAgB,EAAC,mBAAgB;AAG9C,OAAO,EAAC,iBAAiB,EAAC,mCAAgC;AAC1D,OAAO,EAAC,eAAe,EAAC,mBAAgB;AAaxC,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,GAAG,CAAC,EAAE,eAAe,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;CA0BuD,CAAC;AAE9E,iBAAe,QAAQ,CAAC,IAAI,KAAA,EAAE,OAAO,8BAAuB,EAAE,OAAO,KAAA,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoChG"}
@@ -1,3 +1,6 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright vis.gl contributors
1
4
  import { parse } from '@loaders.gl/core';
2
5
  import { I3SContentLoader } from "./i3s-content-loader.js";
3
6
  import { normalizeTileData, normalizeTilesetData } from "./lib/parsers/parse-i3s.js";
@@ -5,8 +8,9 @@ import { COORDINATE_SYSTEM } from "./lib/parsers/constants.js";
5
8
  import { getUrlWithoutParams } from "./lib/utils/url-utils.js";
6
9
  // __VERSION__ is injected by babel-plugin-version-inline
7
10
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
8
- const VERSION = typeof "4.2.0-alpha.4" !== 'undefined' ? "4.2.0-alpha.4" : 'latest';
11
+ const VERSION = typeof "4.2.0-alpha.6" !== 'undefined' ? "4.2.0-alpha.6" : 'latest';
9
12
  const TILESET_REGEX = /layers\/[0-9]+$/;
13
+ const LOCAL_SLPK_REGEX = /\.slpk$/;
10
14
  const TILE_HEADER_REGEX = /nodes\/([0-9-]+|root)$/;
11
15
  const SLPK_HEX = '504b0304';
12
16
  const POINT_CLOUD = 'PointCloud';
@@ -14,6 +18,8 @@ const POINT_CLOUD = 'PointCloud';
14
18
  * Loader for I3S - Indexed 3D Scene Layer
15
19
  */
16
20
  export const I3SLoader = {
21
+ dataType: null,
22
+ batchType: null,
17
23
  name: 'I3S (Indexed Scene Layers)',
18
24
  id: 'i3s',
19
25
  module: 'i3s',
@@ -49,7 +55,7 @@ async function parseI3S(data, options = {}, context) {
49
55
  // auto detect file type based on url
50
56
  let isTileset;
51
57
  if (options.i3s.isTileset === 'auto') {
52
- isTileset = TILESET_REGEX.test(urlWithoutParams);
58
+ isTileset = TILESET_REGEX.test(urlWithoutParams) || LOCAL_SLPK_REGEX.test(urlWithoutParams);
53
59
  }
54
60
  else {
55
61
  isTileset = options.i3s.isTileset;
@@ -1,8 +1,22 @@
1
- import type { LoaderWithParser } from '@loaders.gl/loader-utils';
2
- import type { I3SLoaderOptions } from "./i3s-loader.js";
1
+ import type { LoaderOptions } from '@loaders.gl/loader-utils';
3
2
  import type { NodePage } from "./types.js";
4
3
  /**
5
4
  * Loader for I3S node pages
6
5
  */
7
- export declare const I3SNodePageLoader: LoaderWithParser<NodePage, never, I3SLoaderOptions>;
6
+ export declare const I3SNodePageLoader: {
7
+ readonly dataType: NodePage;
8
+ readonly batchType: never;
9
+ readonly name: "I3S Node Page";
10
+ readonly id: "i3s-node-page";
11
+ readonly module: "i3s";
12
+ readonly version: any;
13
+ readonly mimeTypes: ["application/json"];
14
+ readonly parse: typeof parseNodePage;
15
+ readonly extensions: ["json"];
16
+ readonly options: {
17
+ readonly i3s: {};
18
+ };
19
+ };
20
+ declare function parseNodePage(data: ArrayBuffer, options?: LoaderOptions): Promise<NodePage>;
21
+ export {};
8
22
  //# sourceMappingURL=i3s-node-page-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i3s-node-page-loader.d.ts","sourceRoot":"","sources":["../src/i3s-node-page-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAC,gBAAgB,EAAC,wBAAqB;AACnD,OAAO,KAAK,EAAC,QAAQ,EAAC,mBAAgB;AAMtC;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,gBAAgB,CAWjF,CAAC"}
1
+ {"version":3,"file":"i3s-node-page-loader.d.ts","sourceRoot":"","sources":["../src/i3s-node-page-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAmB,MAAM,0BAA0B,CAAC;AAE9E,OAAO,KAAK,EAAC,QAAQ,EAAC,mBAAgB;AAMtC;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;CAc0C,CAAC;AAEzE,iBAAe,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,CAE1F"}
@@ -1,10 +1,15 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright vis.gl contributors
1
4
  // __VERSION__ is injected by babel-plugin-version-inline
2
5
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
3
- const VERSION = typeof "4.2.0-alpha.4" !== 'undefined' ? "4.2.0-alpha.4" : 'latest';
6
+ const VERSION = typeof "4.2.0-alpha.6" !== 'undefined' ? "4.2.0-alpha.6" : 'latest';
4
7
  /**
5
8
  * Loader for I3S node pages
6
9
  */
7
10
  export const I3SNodePageLoader = {
11
+ dataType: null,
12
+ batchType: null,
8
13
  name: 'I3S Node Page',
9
14
  id: 'i3s-node-page',
10
15
  module: 'i3s',
@@ -1,4 +1,4 @@
1
- import type { LoaderOptions, LoaderWithParser } from '@loaders.gl/loader-utils';
1
+ import type { LoaderOptions } from '@loaders.gl/loader-utils';
2
2
  /** options to load data from SLPK */
3
3
  export type SLPKLoaderOptions = LoaderOptions & {
4
4
  slpk?: {
@@ -13,5 +13,16 @@ export type SLPKLoaderOptions = LoaderOptions & {
13
13
  * @todo - this reloads the entire archive for every tile, should be optimized
14
14
  * @todo - this should be updated to use `parseFile` and ReadableFile
15
15
  */
16
- export declare const SLPKLoader: LoaderWithParser<ArrayBuffer, never, SLPKLoaderOptions>;
16
+ export declare const SLPKLoader: {
17
+ readonly dataType: ArrayBuffer;
18
+ readonly batchType: never;
19
+ readonly name: "I3S SLPK (Scene Layer Package)";
20
+ readonly id: "slpk";
21
+ readonly module: "i3s";
22
+ readonly version: any;
23
+ readonly mimeTypes: ["application/octet-stream"];
24
+ readonly extensions: ["slpk"];
25
+ readonly options: {};
26
+ readonly parse: (data: ArrayBuffer, options?: SLPKLoaderOptions) => Promise<ArrayBuffer>;
27
+ };
17
28
  //# sourceMappingURL=i3s-slpk-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i3s-slpk-loader.d.ts","sourceRoot":"","sources":["../src/i3s-slpk-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAE,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAQ9E,qCAAqC;AACrC,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG;IAC9C,IAAI,CAAC,EAAE;QACL,mCAAmC;QACnC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,uBAAuB;QACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,gBAAgB,CAAC,WAAW,EAAE,KAAK,EAAE,iBAAiB,CAY9E,CAAC"}
1
+ {"version":3,"file":"i3s-slpk-loader.d.ts","sourceRoot":"","sources":["../src/i3s-slpk-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAmB,MAAM,0BAA0B,CAAC;AAQ9E,qCAAqC;AACrC,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG;IAC9C,IAAI,CAAC,EAAE;QACL,mCAAmC;QACnC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,uBAAuB;QACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;KAC3B,CAAC;CACH,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;2BAWD,WAAW,YAAW,iBAAiB,KAAQ,QAAQ,WAAW,CAAC;CAIb,CAAC"}
@@ -1,14 +1,19 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright vis.gl contributors
1
4
  import { DataViewFile } from '@loaders.gl/loader-utils';
2
5
  import { parseSLPKArchive } from "./lib/parsers/parse-slpk/parse-slpk.js";
3
6
  // __VERSION__ is injected by babel-plugin-version-inline
4
7
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
5
- const VERSION = typeof "4.2.0-alpha.4" !== 'undefined' ? "4.2.0-alpha.4" : 'latest';
8
+ const VERSION = typeof "4.2.0-alpha.6" !== 'undefined' ? "4.2.0-alpha.6" : 'latest';
6
9
  /**
7
10
  * Loader for SLPK - Scene Layer Package (Archive I3S format)
8
11
  * @todo - this reloads the entire archive for every tile, should be optimized
9
12
  * @todo - this should be updated to use `parseFile` and ReadableFile
10
13
  */
11
14
  export const SLPKLoader = {
15
+ dataType: null,
16
+ batchType: null,
12
17
  name: 'I3S SLPK (Scene Layer Package)',
13
18
  id: 'slpk',
14
19
  module: 'i3s',
package/dist/index.cjs CHANGED
@@ -173,11 +173,7 @@ async function parseI3STileContent(arrayBuffer, tileOptions, tilesetOptions, opt
173
173
  texture: null
174
174
  };
175
175
  if (tileOptions.textureUrl) {
176
- const url = getUrlWithToken(
177
- getInternalPathFromUrl(tileOptions.textureUrl),
178
- // @ts-expect-error options is not properly typed
179
- (_a = options == null ? void 0 : options.i3s) == null ? void 0 : _a.token
180
- );
176
+ const url = getUrlWithToken(tileOptions.textureUrl, (_a = options == null ? void 0 : options.i3s) == null ? void 0 : _a.token);
181
177
  const loader = getLoaderForTextureFormat(tileOptions.textureFormat);
182
178
  const fetchFunc = (context == null ? void 0 : context.fetch) || fetch;
183
179
  const response = await fetchFunc(url);
@@ -215,18 +211,6 @@ async function parseI3STileContent(arrayBuffer, tileOptions, tilesetOptions, opt
215
211
  }
216
212
  return await parseI3SNodeGeometry(arrayBuffer, content, tileOptions, tilesetOptions, options);
217
213
  }
218
- function getInternalPathFromUrl(url) {
219
- const slpkUrlParts = url.split(".slpk");
220
- let filename;
221
- if (slpkUrlParts.length === 1) {
222
- filename = url;
223
- } else if (slpkUrlParts.length === 2) {
224
- filename = slpkUrlParts[1].slice(1);
225
- } else {
226
- filename = url;
227
- }
228
- return filename;
229
- }
230
214
  async function parseI3SNodeGeometry(arrayBuffer, content, tileOptions, tilesetOptions, options) {
231
215
  var _a, _b;
232
216
  const contentByteLength = arrayBuffer.byteLength;
@@ -331,11 +315,11 @@ function parseHeaders(arrayBuffer, options) {
331
315
  for (const { property, type } of options.store.defaultGeometrySchema.header) {
332
316
  const TypedArrayTypeHeader = getConstructorForDataFormat(type);
333
317
  switch (property) {
334
- case HeaderAttributeProperty.vertexCount:
318
+ case HeaderAttributeProperty.vertexCount.toString():
335
319
  vertexCount = new TypedArrayTypeHeader(arrayBuffer, 0, 4)[0];
336
320
  byteOffset += sizeOf(type);
337
321
  break;
338
- case HeaderAttributeProperty.featureCount:
322
+ case HeaderAttributeProperty.featureCount.toString():
339
323
  featureCount = new TypedArrayTypeHeader(arrayBuffer, 4, 4)[0];
340
324
  byteOffset += sizeOf(type);
341
325
  break;
@@ -533,8 +517,10 @@ function getFeatureIdsFromFeatureIndexMetadata(featureIndex) {
533
517
  }
534
518
 
535
519
  // dist/i3s-content-loader.js
536
- var VERSION = true ? "4.2.0-alpha.4" : "latest";
520
+ var VERSION = true ? "4.2.0-alpha.6" : "latest";
537
521
  var I3SContentLoader = {
522
+ dataType: null,
523
+ batchType: null,
538
524
  name: "I3S Content (Indexed Scene Layers)",
539
525
  id: "i3s-content",
540
526
  module: "i3s",
@@ -568,8 +554,10 @@ var import_core3 = require("@loaders.gl/core");
568
554
  var import_textures2 = require("@loaders.gl/textures");
569
555
 
570
556
  // dist/i3s-node-page-loader.js
571
- var VERSION2 = true ? "4.2.0-alpha.4" : "latest";
557
+ var VERSION2 = true ? "4.2.0-alpha.6" : "latest";
572
558
  var I3SNodePageLoader = {
559
+ dataType: null,
560
+ batchType: null,
573
561
  name: "I3S Node Page",
574
562
  id: "i3s-node-page",
575
563
  module: "i3s",
@@ -587,6 +575,16 @@ async function parseNodePage(data, options) {
587
575
 
588
576
  // dist/lib/helpers/i3s-nodepages-tiles.js
589
577
  var I3SNodePagesTiles = class {
578
+ tileset;
579
+ nodePages = [];
580
+ pendingNodePages = [];
581
+ nodesPerPage;
582
+ options;
583
+ lodSelectionMetricType;
584
+ textureDefinitionsSelectedFormats = [];
585
+ nodesInNodePages;
586
+ url;
587
+ textureLoaderOptions = {};
590
588
  /**
591
589
  * @constructs
592
590
  * Create a I3SNodePagesTiles instance.
@@ -596,10 +594,6 @@ var I3SNodePagesTiles = class {
596
594
  */
597
595
  constructor(tileset, url = "", options) {
598
596
  var _a, _b;
599
- this.nodePages = [];
600
- this.pendingNodePages = [];
601
- this.textureDefinitionsSelectedFormats = [];
602
- this.textureLoaderOptions = {};
603
597
  this.tileset = { ...tileset };
604
598
  this.url = url;
605
599
  this.nodesPerPage = ((_a = tileset.nodePages) == null ? void 0 : _a.nodesPerPage) || 64;
@@ -617,7 +611,7 @@ var I3SNodePagesTiles = class {
617
611
  const pageIndex = Math.floor(id / this.nodesPerPage);
618
612
  if (!this.nodePages[pageIndex] && !this.pendingNodePages[pageIndex]) {
619
613
  const nodePageUrl = getUrlWithToken(
620
- this.url.indexOf(".slpk") !== -1 ? `nodepages/${pageIndex}` : `${this.url}/nodepages/${pageIndex}`,
614
+ `${this.url}/nodepages/${pageIndex}`,
621
615
  // @ts-expect-error this.options is not properly typed
622
616
  (_a = this.options.i3s) == null ? void 0 : _a.token
623
617
  );
@@ -906,12 +900,15 @@ async function normalizeTilesetData(tileset, options, context) {
906
900
  }
907
901
 
908
902
  // dist/i3s-loader.js
909
- var VERSION3 = true ? "4.2.0-alpha.4" : "latest";
903
+ var VERSION3 = true ? "4.2.0-alpha.6" : "latest";
910
904
  var TILESET_REGEX = /layers\/[0-9]+$/;
905
+ var LOCAL_SLPK_REGEX = /\.slpk$/;
911
906
  var TILE_HEADER_REGEX = /nodes\/([0-9-]+|root)$/;
912
907
  var SLPK_HEX = "504b0304";
913
908
  var POINT_CLOUD = "PointCloud";
914
909
  var I3SLoader = {
910
+ dataType: null,
911
+ batchType: null,
915
912
  name: "I3S (Indexed Scene Layers)",
916
913
  id: "i3s",
917
914
  module: "i3s",
@@ -945,7 +942,7 @@ async function parseI3S(data, options = {}, context) {
945
942
  const urlWithoutParams = getUrlWithoutParams(url);
946
943
  let isTileset;
947
944
  if (options.i3s.isTileset === "auto") {
948
- isTileset = TILESET_REGEX.test(urlWithoutParams);
945
+ isTileset = TILESET_REGEX.test(urlWithoutParams) || LOCAL_SLPK_REGEX.test(urlWithoutParams);
949
946
  } else {
950
947
  isTileset = options.i3s.isTileset;
951
948
  }
@@ -1031,6 +1028,11 @@ var PATH_DESCRIPTIONS = [
1031
1028
  }
1032
1029
  ];
1033
1030
  var SLPKArchive = class extends import_zip.IndexedArchive {
1031
+ // Maps hex-encoded md5 filename hashes to bigint offsets into the archive
1032
+ hashTable;
1033
+ _textEncoder = new TextEncoder();
1034
+ _textDecoder = new TextDecoder();
1035
+ _md5Hash = new import_crypto.MD5Hash();
1034
1036
  /**
1035
1037
  * Constructor
1036
1038
  * @param fileProvider - instance of a binary data reader
@@ -1039,9 +1041,6 @@ var SLPKArchive = class extends import_zip.IndexedArchive {
1039
1041
  */
1040
1042
  constructor(fileProvider, hashTable, fileName) {
1041
1043
  super(fileProvider, hashTable, fileName);
1042
- this._textEncoder = new TextEncoder();
1043
- this._textDecoder = new TextDecoder();
1044
- this._md5Hash = new import_crypto.MD5Hash();
1045
1044
  this.hashTable = hashTable;
1046
1045
  }
1047
1046
  /**
@@ -1150,8 +1149,10 @@ async function parseSLPKArchive(fileProvider, cb, fileName) {
1150
1149
  }
1151
1150
 
1152
1151
  // dist/i3s-slpk-loader.js
1153
- var VERSION4 = true ? "4.2.0-alpha.4" : "latest";
1152
+ var VERSION4 = true ? "4.2.0-alpha.6" : "latest";
1154
1153
  var SLPKLoader = {
1154
+ dataType: null,
1155
+ batchType: null,
1155
1156
  name: "I3S SLPK (Scene Layer Package)",
1156
1157
  id: "slpk",
1157
1158
  module: "i3s",
@@ -1227,10 +1228,12 @@ function parseStringsAttribute(arrayBuffer) {
1227
1228
  }
1228
1229
 
1229
1230
  // dist/i3s-attribute-loader.js
1230
- var VERSION5 = true ? "4.2.0-alpha.4" : "latest";
1231
+ var VERSION5 = true ? "4.2.0-alpha.6" : "latest";
1231
1232
  var EMPTY_VALUE = "";
1232
1233
  var REJECTED_STATUS = "rejected";
1233
1234
  var I3SAttributeLoader = {
1235
+ dataType: null,
1236
+ batchType: null,
1234
1237
  name: "I3S Attribute",
1235
1238
  id: "i3s-attribute",
1236
1239
  module: "i3s",
@@ -1365,8 +1368,10 @@ function parseSublayersTree(sublayers, url) {
1365
1368
  }
1366
1369
 
1367
1370
  // dist/i3s-building-scene-layer-loader.js
1368
- var VERSION6 = true ? "4.2.0-alpha.4" : "latest";
1371
+ var VERSION6 = true ? "4.2.0-alpha.6" : "latest";
1369
1372
  var I3SBuildingSceneLayerLoader = {
1373
+ dataType: null,
1374
+ batchType: null,
1370
1375
  name: "I3S Building Scene Layer",
1371
1376
  id: "i3s-building-scene-layer",
1372
1377
  module: "i3s",
@@ -1399,6 +1404,7 @@ var SUPPORTED_LAYERS_TYPES = [
1399
1404
  var NO_AVAILABLE_SUPPORTED_LAYERS_ERROR = "NO_AVAILABLE_SUPPORTED_LAYERS_ERROR";
1400
1405
  var NOT_SUPPORTED_CRS_ERROR = "NOT_SUPPORTED_CRS_ERROR";
1401
1406
  var LayerError = class extends Error {
1407
+ details;
1402
1408
  constructor(message, details) {
1403
1409
  super(message);
1404
1410
  this.details = details;
@@ -1456,8 +1462,10 @@ async function checkSupportedIndexCRS(layer) {
1456
1462
  }
1457
1463
 
1458
1464
  // dist/arcgis-webscene-loader.js
1459
- var VERSION7 = true ? "4.2.0-alpha.4" : "latest";
1465
+ var VERSION7 = true ? "4.2.0-alpha.6" : "latest";
1460
1466
  var ArcGISWebSceneLoader = {
1467
+ dataType: null,
1468
+ batchType: null,
1461
1469
  name: "ArcGIS Web Scene Loader",
1462
1470
  id: "arcgis-web-scene",
1463
1471
  module: "i3s",