@loaders.gl/i3s 4.2.0-alpha.3 → 4.2.0-alpha.5

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 (86) hide show
  1. package/dist/arcgis-webscene-loader.d.ts +1 -1
  2. package/dist/arcgis-webscene-loader.d.ts.map +1 -1
  3. package/dist/arcgis-webscene-loader.js +20 -11
  4. package/dist/dist.dev.js +1244 -731
  5. package/dist/dist.min.js +9 -0
  6. package/dist/i3s-attribute-loader.d.ts +2 -2
  7. package/dist/i3s-attribute-loader.d.ts.map +1 -1
  8. package/dist/i3s-attribute-loader.js +146 -95
  9. package/dist/i3s-building-scene-layer-loader.d.ts +2 -2
  10. package/dist/i3s-building-scene-layer-loader.d.ts.map +1 -1
  11. package/dist/i3s-building-scene-layer-loader.js +18 -14
  12. package/dist/i3s-content-loader.d.ts +2 -2
  13. package/dist/i3s-content-loader.d.ts.map +1 -1
  14. package/dist/i3s-content-loader.js +24 -25
  15. package/dist/i3s-content-worker-node.js +2 -2
  16. package/dist/i3s-content-worker-node.js.map +2 -2
  17. package/dist/i3s-content-worker.js +9 -7
  18. package/dist/i3s-loader.d.ts +2 -2
  19. package/dist/i3s-loader.d.ts.map +1 -1
  20. package/dist/i3s-loader.js +77 -66
  21. package/dist/i3s-node-page-loader.d.ts +2 -2
  22. package/dist/i3s-node-page-loader.d.ts.map +1 -1
  23. package/dist/i3s-node-page-loader.js +17 -13
  24. package/dist/i3s-slpk-loader.js +19 -15
  25. package/dist/index.cjs +73 -138
  26. package/dist/index.cjs.map +7 -0
  27. package/dist/index.d.ts +14 -14
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +3 -1
  30. package/dist/lib/helpers/i3s-nodepages-tiles.d.ts +1 -1
  31. package/dist/lib/helpers/i3s-nodepages-tiles.d.ts.map +1 -1
  32. package/dist/lib/helpers/i3s-nodepages-tiles.js +226 -184
  33. package/dist/lib/parsers/constants.js +72 -45
  34. package/dist/lib/parsers/parse-arcgis-webscene.d.ts +1 -1
  35. package/dist/lib/parsers/parse-arcgis-webscene.d.ts.map +1 -1
  36. package/dist/lib/parsers/parse-arcgis-webscene.js +79 -59
  37. package/dist/lib/parsers/parse-i3s-attribute.js +83 -46
  38. package/dist/lib/parsers/parse-i3s-building-scene-layer.d.ts +1 -1
  39. package/dist/lib/parsers/parse-i3s-building-scene-layer.d.ts.map +1 -1
  40. package/dist/lib/parsers/parse-i3s-building-scene-layer.js +36 -33
  41. package/dist/lib/parsers/parse-i3s-tile-content.d.ts +1 -1
  42. package/dist/lib/parsers/parse-i3s-tile-content.d.ts.map +1 -1
  43. package/dist/lib/parsers/parse-i3s-tile-content.js +460 -394
  44. package/dist/lib/parsers/parse-i3s.d.ts +1 -1
  45. package/dist/lib/parsers/parse-i3s.d.ts.map +1 -1
  46. package/dist/lib/parsers/parse-i3s.js +84 -81
  47. package/dist/lib/parsers/parse-slpk/parse-slpk.d.ts +1 -1
  48. package/dist/lib/parsers/parse-slpk/parse-slpk.d.ts.map +1 -1
  49. package/dist/lib/parsers/parse-slpk/parse-slpk.js +23 -16
  50. package/dist/lib/parsers/parse-slpk/slpk-archieve.js +132 -97
  51. package/dist/lib/utils/convert-i3s-obb-to-mbs.js +12 -5
  52. package/dist/lib/utils/customize-colors.d.ts +1 -1
  53. package/dist/lib/utils/customize-colors.d.ts.map +1 -1
  54. package/dist/lib/utils/customize-colors.js +95 -81
  55. package/dist/lib/utils/url-utils.d.ts +1 -1
  56. package/dist/lib/utils/url-utils.d.ts.map +1 -1
  57. package/dist/lib/utils/url-utils.js +48 -28
  58. package/dist/types.d.ts +1 -1
  59. package/dist/types.d.ts.map +1 -1
  60. package/dist/types.js +5 -6
  61. package/dist/workers/i3s-content-worker-node.js +1 -1
  62. package/dist/workers/i3s-content-worker.js +0 -1
  63. package/package.json +13 -12
  64. package/dist/arcgis-webscene-loader.js.map +0 -1
  65. package/dist/i3s-attribute-loader.js.map +0 -1
  66. package/dist/i3s-building-scene-layer-loader.js.map +0 -1
  67. package/dist/i3s-content-loader.js.map +0 -1
  68. package/dist/i3s-loader.js.map +0 -1
  69. package/dist/i3s-node-page-loader.js.map +0 -1
  70. package/dist/i3s-slpk-loader.js.map +0 -1
  71. package/dist/index.js.map +0 -1
  72. package/dist/lib/helpers/i3s-nodepages-tiles.js.map +0 -1
  73. package/dist/lib/parsers/constants.js.map +0 -1
  74. package/dist/lib/parsers/parse-arcgis-webscene.js.map +0 -1
  75. package/dist/lib/parsers/parse-i3s-attribute.js.map +0 -1
  76. package/dist/lib/parsers/parse-i3s-building-scene-layer.js.map +0 -1
  77. package/dist/lib/parsers/parse-i3s-tile-content.js.map +0 -1
  78. package/dist/lib/parsers/parse-i3s.js.map +0 -1
  79. package/dist/lib/parsers/parse-slpk/parse-slpk.js.map +0 -1
  80. package/dist/lib/parsers/parse-slpk/slpk-archieve.js.map +0 -1
  81. package/dist/lib/utils/convert-i3s-obb-to-mbs.js.map +0 -1
  82. package/dist/lib/utils/customize-colors.js.map +0 -1
  83. package/dist/lib/utils/url-utils.js.map +0 -1
  84. package/dist/types.js.map +0 -1
  85. package/dist/workers/i3s-content-worker-node.js.map +0 -1
  86. package/dist/workers/i3s-content-worker.js.map +0 -1
@@ -106,7 +106,7 @@
106
106
  );
107
107
  globalThis._loadersgl_.version = NPM_TAG;
108
108
  } else {
109
- globalThis._loadersgl_.version = "4.2.0-alpha.3";
109
+ globalThis._loadersgl_.version = "4.2.0-alpha.4";
110
110
  }
111
111
  }
112
112
  return globalThis._loadersgl_.version;
@@ -1442,7 +1442,7 @@
1442
1442
  var navigator_ = globalThis.navigator || {};
1443
1443
 
1444
1444
  // ../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/utils/globals.js
1445
- var VERSION2 = true ? "4.2.0-alpha.3" : "untranspiled source";
1445
+ var VERSION2 = true ? "4.2.0-alpha.4" : "untranspiled source";
1446
1446
  var isBrowser4 = isBrowser3();
1447
1447
 
1448
1448
  // ../../node_modules/@probe.gl/log/dist/utils/local-storage.js
@@ -2031,7 +2031,9 @@
2031
2031
  function getGlobalLoaderState() {
2032
2032
  globalThis.loaders = globalThis.loaders || {};
2033
2033
  const { loaders } = globalThis;
2034
- loaders._state = loaders._state || {};
2034
+ if (!loaders._state) {
2035
+ loaders._state = {};
2036
+ }
2035
2037
  return loaders._state;
2036
2038
  }
2037
2039
  function getGlobalLoaderOptions() {
@@ -5310,7 +5312,7 @@
5310
5312
  _defineProperty(Ellipsoid, "WGS84", new Ellipsoid(WGS84_RADIUS_X, WGS84_RADIUS_Y, WGS84_RADIUS_Z));
5311
5313
 
5312
5314
  // ../images/src/lib/utils/version.ts
5313
- var VERSION3 = true ? "4.2.0-alpha.3" : "latest";
5315
+ var VERSION3 = true ? "4.2.0-alpha.4" : "latest";
5314
5316
 
5315
5317
  // ../images/src/lib/category-api/image-type.ts
5316
5318
  var parseImageNode = globalThis.loaders?.parseImageNode;
@@ -5716,7 +5718,7 @@
5716
5718
  };
5717
5719
 
5718
5720
  // ../draco/src/lib/utils/version.ts
5719
- var VERSION4 = true ? "4.2.0-alpha.3" : "latest";
5721
+ var VERSION4 = true ? "4.2.0-alpha.4" : "latest";
5720
5722
 
5721
5723
  // ../draco/src/draco-loader.ts
5722
5724
  var DracoLoader = {
@@ -6319,7 +6321,7 @@
6319
6321
  }
6320
6322
 
6321
6323
  // ../textures/src/lib/utils/version.ts
6322
- var VERSION5 = true ? "4.2.0-alpha.3" : "latest";
6324
+ var VERSION5 = true ? "4.2.0-alpha.4" : "latest";
6323
6325
 
6324
6326
  // ../textures/src/lib/parsers/basis-module-loader.ts
6325
6327
  var BASIS_EXTERNAL_LIBRARIES = {
@@ -7864,7 +7866,7 @@
7864
7866
  }
7865
7867
 
7866
7868
  // src/i3s-content-loader.ts
7867
- var VERSION6 = true ? "4.2.0-alpha.3" : "latest";
7869
+ var VERSION6 = true ? "4.2.0-alpha.4" : "latest";
7868
7870
  var I3SContentLoader = {
7869
7871
  name: "I3S Content (Indexed Scene Layers)",
7870
7872
  id: "i3s-content",
@@ -1,6 +1,6 @@
1
1
  import type { LoaderWithParser, LoaderOptions } from '@loaders.gl/loader-utils';
2
- import type { I3STilesetHeader } from './types';
3
- import { I3SParseOptions } from './types';
2
+ import type { I3STilesetHeader } from "./types.js";
3
+ import { I3SParseOptions } from "./types.js";
4
4
  export type I3SLoaderOptions = LoaderOptions & {
5
5
  i3s?: I3SParseOptions;
6
6
  };
@@ -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,MAAM,SAAS,CAAC;AAI9C,OAAO,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;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":"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"}
@@ -3,85 +3,96 @@ import { I3SContentLoader } from "./i3s-content-loader.js";
3
3
  import { normalizeTileData, normalizeTilesetData } from "./lib/parsers/parse-i3s.js";
4
4
  import { COORDINATE_SYSTEM } from "./lib/parsers/constants.js";
5
5
  import { getUrlWithoutParams } from "./lib/utils/url-utils.js";
6
- const VERSION = typeof "4.2.0-alpha.3" !== 'undefined' ? "4.2.0-alpha.3" : 'latest';
6
+ // __VERSION__ is injected by babel-plugin-version-inline
7
+ // @ts-ignore TS2304: Cannot find name '__VERSION__'.
8
+ const VERSION = typeof "4.2.0-alpha.4" !== 'undefined' ? "4.2.0-alpha.4" : 'latest';
7
9
  const TILESET_REGEX = /layers\/[0-9]+$/;
8
10
  const TILE_HEADER_REGEX = /nodes\/([0-9-]+|root)$/;
9
11
  const SLPK_HEX = '504b0304';
10
12
  const POINT_CLOUD = 'PointCloud';
13
+ /**
14
+ * Loader for I3S - Indexed 3D Scene Layer
15
+ */
11
16
  export const I3SLoader = {
12
- name: 'I3S (Indexed Scene Layers)',
13
- id: 'i3s',
14
- module: 'i3s',
15
- version: VERSION,
16
- mimeTypes: ['application/octet-stream'],
17
- parse: parseI3S,
18
- extensions: ['bin'],
19
- options: {
20
- i3s: {
21
- token: null,
22
- isTileset: 'auto',
23
- isTileHeader: 'auto',
24
- tile: null,
25
- tileset: null,
26
- _tileOptions: null,
27
- _tilesetOptions: null,
28
- useDracoGeometry: true,
29
- useCompressedTextures: true,
30
- decodeTextures: true,
31
- coordinateSystem: COORDINATE_SYSTEM.METER_OFFSETS
17
+ name: 'I3S (Indexed Scene Layers)',
18
+ id: 'i3s',
19
+ module: 'i3s',
20
+ version: VERSION,
21
+ mimeTypes: ['application/octet-stream'],
22
+ parse: parseI3S,
23
+ extensions: ['bin'],
24
+ options: {
25
+ i3s: {
26
+ token: null,
27
+ isTileset: 'auto',
28
+ isTileHeader: 'auto',
29
+ tile: null,
30
+ tileset: null,
31
+ _tileOptions: null,
32
+ _tilesetOptions: null,
33
+ useDracoGeometry: true,
34
+ useCompressedTextures: true,
35
+ decodeTextures: true,
36
+ coordinateSystem: COORDINATE_SYSTEM.METER_OFFSETS
37
+ }
32
38
  }
33
- }
34
39
  };
35
- async function parseI3S(data) {
36
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
37
- let context = arguments.length > 2 ? arguments[2] : undefined;
38
- const url = context.url;
39
- options.i3s = options.i3s || {};
40
- const magicNumber = getMagicNumber(data);
41
- if (magicNumber === SLPK_HEX) {
42
- throw new Error('Files with .slpk extention currently are not supported by I3SLoader');
43
- }
44
- const urlWithoutParams = getUrlWithoutParams(url);
45
- let isTileset;
46
- if (options.i3s.isTileset === 'auto') {
47
- isTileset = TILESET_REGEX.test(urlWithoutParams);
48
- } else {
49
- isTileset = options.i3s.isTileset;
50
- }
51
- let isTileHeader;
52
- if (options.isTileHeader === 'auto') {
53
- isTileHeader = TILE_HEADER_REGEX.test(urlWithoutParams);
54
- } else {
55
- isTileHeader = options.i3s.isTileHeader;
56
- }
57
- if (isTileset) {
58
- data = await parseTileset(data, options, context);
59
- } else if (isTileHeader) {
60
- data = await parseTile(data, context);
61
- } else {
62
- data = await parseTileContent(data, options);
63
- }
64
- return data;
40
+ async function parseI3S(data, options = {}, context) {
41
+ const url = context.url;
42
+ options.i3s = options.i3s || {};
43
+ const magicNumber = getMagicNumber(data);
44
+ // check if file is slpk
45
+ if (magicNumber === SLPK_HEX) {
46
+ throw new Error('Files with .slpk extention currently are not supported by I3SLoader');
47
+ }
48
+ const urlWithoutParams = getUrlWithoutParams(url);
49
+ // auto detect file type based on url
50
+ let isTileset;
51
+ if (options.i3s.isTileset === 'auto') {
52
+ isTileset = TILESET_REGEX.test(urlWithoutParams);
53
+ }
54
+ else {
55
+ isTileset = options.i3s.isTileset;
56
+ }
57
+ let isTileHeader;
58
+ if (options.isTileHeader === 'auto') {
59
+ isTileHeader = TILE_HEADER_REGEX.test(urlWithoutParams);
60
+ }
61
+ else {
62
+ isTileHeader = options.i3s.isTileHeader;
63
+ }
64
+ if (isTileset) {
65
+ data = await parseTileset(data, options, context);
66
+ }
67
+ else if (isTileHeader) {
68
+ data = await parseTile(data, context);
69
+ }
70
+ else {
71
+ data = await parseTileContent(data, options);
72
+ }
73
+ return data;
65
74
  }
66
75
  async function parseTileContent(arrayBuffer, options) {
67
- return await parse(arrayBuffer, I3SContentLoader, options);
76
+ return await parse(arrayBuffer, I3SContentLoader, options);
68
77
  }
69
78
  async function parseTileset(data, options, context) {
70
- const tilesetJson = JSON.parse(new TextDecoder().decode(data));
71
- if ((tilesetJson === null || tilesetJson === void 0 ? void 0 : tilesetJson.layerType) === POINT_CLOUD) {
72
- throw new Error('Point Cloud layers currently are not supported by I3SLoader');
73
- }
74
- const tilesetPostprocessed = await normalizeTilesetData(tilesetJson, options, context);
75
- return tilesetPostprocessed;
79
+ const tilesetJson = JSON.parse(new TextDecoder().decode(data));
80
+ if (tilesetJson?.layerType === POINT_CLOUD) {
81
+ throw new Error('Point Cloud layers currently are not supported by I3SLoader');
82
+ }
83
+ const tilesetPostprocessed = await normalizeTilesetData(tilesetJson, options, context);
84
+ return tilesetPostprocessed;
76
85
  }
77
86
  async function parseTile(data, context) {
78
- data = JSON.parse(new TextDecoder().decode(data));
79
- return normalizeTileData(data, context);
87
+ data = JSON.parse(new TextDecoder().decode(data));
88
+ return normalizeTileData(data, context);
80
89
  }
81
90
  function getMagicNumber(data) {
82
- if (data instanceof ArrayBuffer) {
83
- return [...new Uint8Array(data, 0, 4)].map(value => value.toString(16).padStart(2, '0')).join('');
84
- }
85
- return null;
91
+ if (data instanceof ArrayBuffer) {
92
+ // slice binary data (4 bytes from the beginning) and transform it to hexadecimal numeral system
93
+ return [...new Uint8Array(data, 0, 4)]
94
+ .map((value) => value.toString(16).padStart(2, '0'))
95
+ .join('');
96
+ }
97
+ return null;
86
98
  }
87
- //# sourceMappingURL=i3s-loader.js.map
@@ -1,6 +1,6 @@
1
1
  import type { LoaderWithParser } from '@loaders.gl/loader-utils';
2
- import type { I3SLoaderOptions } from './i3s-loader';
3
- import type { NodePage } from './types';
2
+ import type { I3SLoaderOptions } from "./i3s-loader.js";
3
+ import type { NodePage } from "./types.js";
4
4
  /**
5
5
  * Loader for I3S node pages
6
6
  */
@@ -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,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;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":"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,17 +1,21 @@
1
- const VERSION = typeof "4.2.0-alpha.3" !== 'undefined' ? "4.2.0-alpha.3" : 'latest';
1
+ // __VERSION__ is injected by babel-plugin-version-inline
2
+ // @ts-ignore TS2304: Cannot find name '__VERSION__'.
3
+ const VERSION = typeof "4.2.0-alpha.4" !== 'undefined' ? "4.2.0-alpha.4" : 'latest';
4
+ /**
5
+ * Loader for I3S node pages
6
+ */
2
7
  export const I3SNodePageLoader = {
3
- name: 'I3S Node Page',
4
- id: 'i3s-node-page',
5
- module: 'i3s',
6
- version: VERSION,
7
- mimeTypes: ['application/json'],
8
- parse: parseNodePage,
9
- extensions: ['json'],
10
- options: {
11
- i3s: {}
12
- }
8
+ name: 'I3S Node Page',
9
+ id: 'i3s-node-page',
10
+ module: 'i3s',
11
+ version: VERSION,
12
+ mimeTypes: ['application/json'],
13
+ parse: parseNodePage,
14
+ extensions: ['json'],
15
+ options: {
16
+ i3s: {}
17
+ }
13
18
  };
14
19
  async function parseNodePage(data, options) {
15
- return JSON.parse(new TextDecoder().decode(data));
20
+ return JSON.parse(new TextDecoder().decode(data));
16
21
  }
17
- //# sourceMappingURL=i3s-node-page-loader.js.map
@@ -1,19 +1,23 @@
1
1
  import { DataViewFile } from '@loaders.gl/loader-utils';
2
2
  import { parseSLPKArchive } from "./lib/parsers/parse-slpk/parse-slpk.js";
3
- const VERSION = typeof "4.2.0-alpha.3" !== 'undefined' ? "4.2.0-alpha.3" : 'latest';
3
+ // __VERSION__ is injected by babel-plugin-version-inline
4
+ // @ts-ignore TS2304: Cannot find name '__VERSION__'.
5
+ const VERSION = typeof "4.2.0-alpha.4" !== 'undefined' ? "4.2.0-alpha.4" : 'latest';
6
+ /**
7
+ * Loader for SLPK - Scene Layer Package (Archive I3S format)
8
+ * @todo - this reloads the entire archive for every tile, should be optimized
9
+ * @todo - this should be updated to use `parseFile` and ReadableFile
10
+ */
4
11
  export const SLPKLoader = {
5
- name: 'I3S SLPK (Scene Layer Package)',
6
- id: 'slpk',
7
- module: 'i3s',
8
- version: VERSION,
9
- mimeTypes: ['application/octet-stream'],
10
- extensions: ['slpk'],
11
- options: {},
12
- parse: async function (data) {
13
- var _options$slpk$path, _options$slpk, _options$slpk2;
14
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
15
- const archive = await parseSLPKArchive(new DataViewFile(new DataView(data)));
16
- return archive.getFile((_options$slpk$path = (_options$slpk = options.slpk) === null || _options$slpk === void 0 ? void 0 : _options$slpk.path) !== null && _options$slpk$path !== void 0 ? _options$slpk$path : '', (_options$slpk2 = options.slpk) === null || _options$slpk2 === void 0 ? void 0 : _options$slpk2.pathMode);
17
- }
12
+ name: 'I3S SLPK (Scene Layer Package)',
13
+ id: 'slpk',
14
+ module: 'i3s',
15
+ version: VERSION,
16
+ mimeTypes: ['application/octet-stream'],
17
+ extensions: ['slpk'],
18
+ options: {},
19
+ parse: async (data, options = {}) => {
20
+ const archive = await parseSLPKArchive(new DataViewFile(new DataView(data)));
21
+ return archive.getFile(options.slpk?.path ?? '', options.slpk?.pathMode);
22
+ }
18
23
  };
19
- //# sourceMappingURL=i3s-slpk-loader.js.map