@loaders.gl/i3s 4.0.0-alpha.21 → 4.0.0-alpha.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.min.js +91 -78
- package/dist/es5/arcgis-webscene-loader.js +1 -1
- package/dist/es5/i3s-attribute-loader.js +1 -1
- package/dist/es5/i3s-building-scene-layer-loader.js +1 -1
- package/dist/es5/i3s-content-loader.js +1 -1
- package/dist/es5/i3s-loader.js +1 -1
- package/dist/es5/i3s-loader.js.map +1 -1
- package/dist/es5/i3s-node-page-loader.js +1 -1
- package/dist/es5/i3s-slpk-loader.js +3 -3
- package/dist/es5/i3s-slpk-loader.js.map +1 -1
- package/dist/es5/lib/parsers/parse-i3s-tile-content.js +34 -31
- package/dist/es5/lib/parsers/parse-i3s-tile-content.js.map +1 -1
- package/dist/es5/lib/parsers/parse-slpk/parse-slpk.js.map +1 -1
- package/dist/es5/lib/parsers/parse-slpk/slpk-archieve.js.map +1 -1
- package/dist/esm/arcgis-webscene-loader.js +1 -1
- package/dist/esm/i3s-attribute-loader.js +1 -1
- package/dist/esm/i3s-building-scene-layer-loader.js +1 -1
- package/dist/esm/i3s-content-loader.js +1 -1
- package/dist/esm/i3s-loader.js +1 -1
- package/dist/esm/i3s-loader.js.map +1 -1
- package/dist/esm/i3s-node-page-loader.js +1 -1
- package/dist/esm/i3s-slpk-loader.js +2 -2
- package/dist/esm/i3s-slpk-loader.js.map +1 -1
- package/dist/esm/lib/parsers/parse-i3s-tile-content.js +5 -2
- package/dist/esm/lib/parsers/parse-i3s-tile-content.js.map +1 -1
- package/dist/esm/lib/parsers/parse-slpk/parse-slpk.js.map +1 -1
- package/dist/esm/lib/parsers/parse-slpk/slpk-archieve.js.map +1 -1
- package/dist/i3s-content-worker-node.js +41 -41
- package/dist/i3s-content-worker-node.js.map +3 -3
- package/dist/i3s-content-worker.js +43 -30
- package/dist/i3s-loader.d.ts +1 -2
- package/dist/i3s-loader.d.ts.map +1 -1
- package/dist/i3s-slpk-loader.d.ts +1 -1
- package/dist/i3s-slpk-loader.d.ts.map +1 -1
- package/dist/i3s-slpk-loader.js +2 -2
- package/dist/lib/parsers/parse-i3s-tile-content.d.ts +1 -1
- package/dist/lib/parsers/parse-i3s-tile-content.d.ts.map +1 -1
- package/dist/lib/parsers/parse-i3s-tile-content.js +7 -8
- package/dist/lib/parsers/parse-slpk/parse-slpk.d.ts +1 -1
- package/dist/lib/parsers/parse-slpk/parse-slpk.d.ts.map +1 -1
- package/dist/lib/parsers/parse-slpk/slpk-archieve.d.ts +2 -1
- package/dist/lib/parsers/parse-slpk/slpk-archieve.d.ts.map +1 -1
- package/package.json +9 -9
- package/src/i3s-loader.ts +1 -2
- package/src/i3s-slpk-loader.ts +2 -2
- package/src/lib/parsers/parse-i3s-tile-content.ts +7 -9
- package/src/lib/parsers/parse-slpk/parse-slpk.ts +1 -1
- package/src/lib/parsers/parse-slpk/slpk-archieve.ts +2 -1
|
@@ -38,6 +38,11 @@
|
|
|
38
38
|
}
|
|
39
39
|
});
|
|
40
40
|
|
|
41
|
+
// ../loader-utils/src/loader-types.ts
|
|
42
|
+
async function parseFromContext(data, loaders, options, context) {
|
|
43
|
+
return context._parse(data, loaders, options, context);
|
|
44
|
+
}
|
|
45
|
+
|
|
41
46
|
// ../loader-utils/src/lib/env-utils/assert.ts
|
|
42
47
|
function assert(condition, message) {
|
|
43
48
|
if (!condition) {
|
|
@@ -61,7 +66,7 @@
|
|
|
61
66
|
var nodeVersion = matches && parseFloat(matches[1]) || 0;
|
|
62
67
|
|
|
63
68
|
// ../worker-utils/src/lib/env-utils/version.ts
|
|
64
|
-
var VERSION = true ? "4.0.0-alpha.
|
|
69
|
+
var VERSION = true ? "4.0.0-alpha.23" : DEFAULT_VERSION;
|
|
65
70
|
if (false) {
|
|
66
71
|
console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
|
|
67
72
|
}
|
|
@@ -659,7 +664,7 @@
|
|
|
659
664
|
options,
|
|
660
665
|
context: {
|
|
661
666
|
...context,
|
|
662
|
-
|
|
667
|
+
_parse: parseOnMainThread
|
|
663
668
|
}
|
|
664
669
|
});
|
|
665
670
|
WorkerBody.postMessage("done", { result });
|
|
@@ -672,7 +677,7 @@
|
|
|
672
677
|
}
|
|
673
678
|
};
|
|
674
679
|
}
|
|
675
|
-
function parseOnMainThread(arrayBuffer, options) {
|
|
680
|
+
function parseOnMainThread(arrayBuffer, loader, options, context) {
|
|
676
681
|
return new Promise((resolve2, reject) => {
|
|
677
682
|
const id = requestId++;
|
|
678
683
|
const onMessage2 = (type, payload2) => {
|
|
@@ -696,7 +701,12 @@
|
|
|
696
701
|
WorkerBody.postMessage("process", payload);
|
|
697
702
|
});
|
|
698
703
|
}
|
|
699
|
-
async function parseData({
|
|
704
|
+
async function parseData({
|
|
705
|
+
loader,
|
|
706
|
+
arrayBuffer,
|
|
707
|
+
options,
|
|
708
|
+
context
|
|
709
|
+
}) {
|
|
700
710
|
let data;
|
|
701
711
|
let parser;
|
|
702
712
|
if (loader.parseSync || loader.parse) {
|
|
@@ -1262,7 +1272,7 @@
|
|
|
1262
1272
|
var navigator_ = globalThis.navigator || {};
|
|
1263
1273
|
|
|
1264
1274
|
// ../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/utils/globals.js
|
|
1265
|
-
var VERSION3 = true ? "4.0.0-alpha.
|
|
1275
|
+
var VERSION3 = true ? "4.0.0-alpha.23" : "untranspiled source";
|
|
1266
1276
|
var isBrowser4 = isBrowser3();
|
|
1267
1277
|
|
|
1268
1278
|
// ../../node_modules/@probe.gl/log/dist/utils/local-storage.js
|
|
@@ -1843,11 +1853,11 @@
|
|
|
1843
1853
|
loaders._state = loaders._state || {};
|
|
1844
1854
|
return loaders._state;
|
|
1845
1855
|
}
|
|
1846
|
-
|
|
1856
|
+
function getGlobalLoaderOptions() {
|
|
1847
1857
|
const state = getGlobalLoaderState();
|
|
1848
1858
|
state.globalOptions = state.globalOptions || { ...DEFAULT_LOADER_OPTIONS };
|
|
1849
1859
|
return state.globalOptions;
|
|
1850
|
-
}
|
|
1860
|
+
}
|
|
1851
1861
|
function normalizeOptions(options, loader, loaders, url) {
|
|
1852
1862
|
loaders = loaders || [];
|
|
1853
1863
|
loaders = Array.isArray(loaders) ? loaders : [loaders];
|
|
@@ -2030,8 +2040,10 @@
|
|
|
2030
2040
|
reason = reason || (loader ? `matched MIME type ${type}` : "");
|
|
2031
2041
|
loader = loader || findLoaderByInitialBytes(loaders, data);
|
|
2032
2042
|
reason = reason || (loader ? `matched initial data ${getFirstCharacters(data)}` : "");
|
|
2033
|
-
|
|
2034
|
-
|
|
2043
|
+
if (options?.fallbackMimeType) {
|
|
2044
|
+
loader = loader || findLoaderByMIMEType(loaders, options?.fallbackMimeType);
|
|
2045
|
+
reason = reason || (loader ? `matched fallback MIME type ${type}` : "");
|
|
2046
|
+
}
|
|
2035
2047
|
if (reason) {
|
|
2036
2048
|
log.log(1, `selectLoader selected ${loader?.name}: ${reason}.`);
|
|
2037
2049
|
}
|
|
@@ -2127,7 +2139,7 @@
|
|
|
2127
2139
|
}
|
|
2128
2140
|
switch (typeof test) {
|
|
2129
2141
|
case "function":
|
|
2130
|
-
return test(data
|
|
2142
|
+
return test(data);
|
|
2131
2143
|
case "string":
|
|
2132
2144
|
const magic = getMagicString(data, byteOffset, test.length);
|
|
2133
2145
|
return test === magic;
|
|
@@ -2342,7 +2354,7 @@
|
|
|
2342
2354
|
return newContext;
|
|
2343
2355
|
}
|
|
2344
2356
|
function getLoadersFromContext(loaders, context) {
|
|
2345
|
-
if (
|
|
2357
|
+
if (loaders && !Array.isArray(loaders)) {
|
|
2346
2358
|
return loaders;
|
|
2347
2359
|
}
|
|
2348
2360
|
let candidateLoaders;
|
|
@@ -2353,12 +2365,11 @@
|
|
|
2353
2365
|
const contextLoaders = Array.isArray(context.loaders) ? context.loaders : [context.loaders];
|
|
2354
2366
|
candidateLoaders = candidateLoaders ? [...candidateLoaders, ...contextLoaders] : contextLoaders;
|
|
2355
2367
|
}
|
|
2356
|
-
return candidateLoaders && candidateLoaders.length ? candidateLoaders :
|
|
2368
|
+
return candidateLoaders && candidateLoaders.length ? candidateLoaders : void 0;
|
|
2357
2369
|
}
|
|
2358
2370
|
|
|
2359
2371
|
// ../core/src/lib/api/parse.ts
|
|
2360
2372
|
async function parse(data, loaders, options, context) {
|
|
2361
|
-
assert2(!context || typeof context === "object");
|
|
2362
2373
|
if (loaders && !Array.isArray(loaders) && !isLoaderObject(loaders)) {
|
|
2363
2374
|
context = void 0;
|
|
2364
2375
|
options = loaders;
|
|
@@ -2374,7 +2385,7 @@
|
|
|
2374
2385
|
return null;
|
|
2375
2386
|
}
|
|
2376
2387
|
options = normalizeOptions(options, loader, candidateLoaders, url);
|
|
2377
|
-
context = getLoaderContext({ url, parse, loaders: candidateLoaders }, options, context || null);
|
|
2388
|
+
context = getLoaderContext({ url, _parse: parse, loaders: candidateLoaders }, options, context || null);
|
|
2378
2389
|
return await parseWithLoader(loader, data, options, context);
|
|
2379
2390
|
}
|
|
2380
2391
|
async function parseWithLoader(loader, data, options, context) {
|
|
@@ -4611,7 +4622,7 @@
|
|
|
4611
4622
|
_defineProperty(Ellipsoid, "WGS84", new Ellipsoid(WGS84_RADIUS_X, WGS84_RADIUS_Y, WGS84_RADIUS_Z));
|
|
4612
4623
|
|
|
4613
4624
|
// ../images/src/lib/utils/version.ts
|
|
4614
|
-
var VERSION4 = true ? "4.0.0-alpha.
|
|
4625
|
+
var VERSION4 = true ? "4.0.0-alpha.23" : "latest";
|
|
4615
4626
|
|
|
4616
4627
|
// ../images/src/lib/category-api/image-type.ts
|
|
4617
4628
|
var { _parseImageNode } = globalThis;
|
|
@@ -5008,7 +5019,7 @@
|
|
|
5008
5019
|
};
|
|
5009
5020
|
|
|
5010
5021
|
// ../draco/src/lib/utils/version.ts
|
|
5011
|
-
var VERSION5 = true ? "4.0.0-alpha.
|
|
5022
|
+
var VERSION5 = true ? "4.0.0-alpha.23" : "latest";
|
|
5012
5023
|
|
|
5013
5024
|
// ../draco/src/draco-loader.ts
|
|
5014
5025
|
var DEFAULT_DRACO_OPTIONS = {
|
|
@@ -5561,7 +5572,7 @@
|
|
|
5561
5572
|
}
|
|
5562
5573
|
|
|
5563
5574
|
// ../textures/src/lib/utils/version.ts
|
|
5564
|
-
var VERSION6 = true ? "4.0.0-alpha.
|
|
5575
|
+
var VERSION6 = true ? "4.0.0-alpha.23" : "beta";
|
|
5565
5576
|
|
|
5566
5577
|
// ../textures/src/lib/parsers/basis-module-loader.ts
|
|
5567
5578
|
var BASIS_EXTERNAL_LIBRARIES = {
|
|
@@ -6462,12 +6473,6 @@
|
|
|
6462
6473
|
}
|
|
6463
6474
|
|
|
6464
6475
|
// ../textures/src/compressed-texture-loader.ts
|
|
6465
|
-
var DEFAULT_TEXTURE_LOADER_OPTIONS = {
|
|
6466
|
-
"compressed-texture": {
|
|
6467
|
-
libraryPath: "libs/",
|
|
6468
|
-
useBasis: false
|
|
6469
|
-
}
|
|
6470
|
-
};
|
|
6471
6476
|
var CompressedTextureWorkerLoader = {
|
|
6472
6477
|
name: "Texture Containers",
|
|
6473
6478
|
id: "compressed-texture",
|
|
@@ -6488,12 +6493,17 @@
|
|
|
6488
6493
|
"application/octet-stream"
|
|
6489
6494
|
],
|
|
6490
6495
|
binary: true,
|
|
6491
|
-
options:
|
|
6496
|
+
options: {
|
|
6497
|
+
"compressed-texture": {
|
|
6498
|
+
libraryPath: "libs/",
|
|
6499
|
+
useBasis: false
|
|
6500
|
+
}
|
|
6501
|
+
}
|
|
6492
6502
|
};
|
|
6493
6503
|
var CompressedTextureLoader = {
|
|
6494
6504
|
...CompressedTextureWorkerLoader,
|
|
6495
6505
|
parse: async (arrayBuffer, options) => {
|
|
6496
|
-
if (options["compressed-texture"]
|
|
6506
|
+
if (options?.["compressed-texture"]?.useBasis) {
|
|
6497
6507
|
options.basis = {
|
|
6498
6508
|
format: {
|
|
6499
6509
|
alpha: "BC3",
|
|
@@ -6503,7 +6513,8 @@
|
|
|
6503
6513
|
containerFormat: "ktx2",
|
|
6504
6514
|
module: "encoder"
|
|
6505
6515
|
};
|
|
6506
|
-
|
|
6516
|
+
const result = await parseBasis(arrayBuffer, options);
|
|
6517
|
+
return result[0];
|
|
6507
6518
|
}
|
|
6508
6519
|
return parseCompressedTexture(arrayBuffer);
|
|
6509
6520
|
}
|
|
@@ -7253,7 +7264,7 @@
|
|
|
7253
7264
|
}
|
|
7254
7265
|
|
|
7255
7266
|
// src/i3s-attribute-loader.ts
|
|
7256
|
-
var VERSION7 = true ? "4.0.0-alpha.
|
|
7267
|
+
var VERSION7 = true ? "4.0.0-alpha.23" : "latest";
|
|
7257
7268
|
var I3SAttributeLoader = {
|
|
7258
7269
|
name: "I3S Attribute",
|
|
7259
7270
|
id: "i3s-attribute",
|
|
@@ -7376,9 +7387,11 @@
|
|
|
7376
7387
|
if (loader === ImageLoader) {
|
|
7377
7388
|
const options2 = { ...tileOptions.textureLoaderOptions, image: { type: "data" } };
|
|
7378
7389
|
try {
|
|
7379
|
-
|
|
7390
|
+
const texture = await parseFromContext(arrayBuffer2, [], options2, context);
|
|
7391
|
+
content.texture = texture;
|
|
7380
7392
|
} catch (e2) {
|
|
7381
|
-
|
|
7393
|
+
const texture = await parse(arrayBuffer2, loader, options2, context);
|
|
7394
|
+
content.texture = texture;
|
|
7382
7395
|
}
|
|
7383
7396
|
} else if (loader === CompressedTextureLoader || loader === BasisLoader) {
|
|
7384
7397
|
let texture = await load(arrayBuffer2, loader, tileOptions.textureLoaderOptions);
|
|
@@ -7716,7 +7729,7 @@
|
|
|
7716
7729
|
}
|
|
7717
7730
|
|
|
7718
7731
|
// src/i3s-content-loader.ts
|
|
7719
|
-
var VERSION8 = true ? "4.0.0-alpha.
|
|
7732
|
+
var VERSION8 = true ? "4.0.0-alpha.23" : "beta";
|
|
7720
7733
|
var I3SContentLoader = {
|
|
7721
7734
|
name: "I3S Content (Indexed Scene Layers)",
|
|
7722
7735
|
id: "i3s-content",
|
package/dist/i3s-loader.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type { LoaderWithParser } from '@loaders.gl/loader-utils';
|
|
1
|
+
import type { LoaderWithParser, LoaderOptions } from '@loaders.gl/loader-utils';
|
|
2
2
|
import { I3SParseOptions } from './types';
|
|
3
|
-
import { LoaderOptions } from './../../loader-utils/src/types';
|
|
4
3
|
export type I3SLoaderOptions = LoaderOptions & {
|
|
5
4
|
i3s?: I3SParseOptions;
|
|
6
5
|
};
|
package/dist/i3s-loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i3s-loader.d.ts","sourceRoot":"","sources":["../src/i3s-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,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;AAK9E,OAAO,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AAWxC,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,GAAG,CAAC,EAAE,eAAe,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,gBAwBvB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { LoaderOptions, LoaderWithParser } from '@loaders.gl/loader-utils';
|
|
2
|
+
import type { LoaderOptions, LoaderWithParser } from '@loaders.gl/loader-utils';
|
|
3
3
|
/** options to load data from SLPK */
|
|
4
4
|
export type SLPKLoaderOptions = LoaderOptions & {
|
|
5
5
|
slpk?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i3s-slpk-loader.d.ts","sourceRoot":"","sources":["../src/i3s-slpk-loader.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,aAAa,EAAE,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;
|
|
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;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,iBAAiB,CASzE,CAAC"}
|
package/dist/i3s-slpk-loader.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SLPKLoader = void 0;
|
|
4
|
-
const
|
|
4
|
+
const loader_utils_1 = require("@loaders.gl/loader-utils");
|
|
5
5
|
const parse_slpk_1 = require("./lib/parsers/parse-slpk/parse-slpk");
|
|
6
6
|
// __VERSION__ is injected by babel-plugin-version-inline
|
|
7
7
|
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
@@ -26,5 +26,5 @@ exports.SLPKLoader = {
|
|
|
26
26
|
* @returns requested file
|
|
27
27
|
*/
|
|
28
28
|
async function parseSLPK(data, options = {}) {
|
|
29
|
-
return (await (0, parse_slpk_1.parseSLPK)(new
|
|
29
|
+
return (await (0, parse_slpk_1.parseSLPK)(new loader_utils_1.DataViewFile(new DataView(data)))).getFile(options.slpk?.path ?? '', options.slpk?.pathMode);
|
|
30
30
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { LoaderOptions, LoaderContext } from '@loaders.gl/loader-utils';
|
|
2
2
|
import { I3STileContent, I3STileOptions, I3STilesetOptions } from '../../types';
|
|
3
3
|
export declare function parseI3STileContent(arrayBuffer: ArrayBuffer, tileOptions: I3STileOptions, tilesetOptions: I3STilesetOptions, options?: LoaderOptions, context?: LoaderContext): Promise<I3STileContent>;
|
|
4
4
|
//# sourceMappingURL=parse-i3s-tile-content.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-i3s-tile-content.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-i3s-tile-content.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"parse-i3s-tile-content.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-i3s-tile-content.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,aAAa,EAAE,aAAa,EAAmB,MAAM,0BAA0B,CAAC;AAKxF,OAAO,EAQL,cAAc,EACd,cAAc,EACd,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAyBrB,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,cAAc,EAC3B,cAAc,EAAE,iBAAiB,EACjC,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,cAAc,CAAC,CA4DzB"}
|
|
@@ -4,6 +4,7 @@ exports.parseI3STileContent = void 0;
|
|
|
4
4
|
const core_1 = require("@loaders.gl/core");
|
|
5
5
|
const core_2 = require("@math.gl/core");
|
|
6
6
|
const geospatial_1 = require("@math.gl/geospatial");
|
|
7
|
+
const loader_utils_1 = require("@loaders.gl/loader-utils");
|
|
7
8
|
const images_1 = require("@loaders.gl/images");
|
|
8
9
|
const draco_1 = require("@loaders.gl/draco");
|
|
9
10
|
const textures_1 = require("@loaders.gl/textures");
|
|
@@ -45,35 +46,33 @@ async function parseI3STileContent(arrayBuffer, tileOptions, tilesetOptions, opt
|
|
|
45
46
|
const arrayBuffer = await response.arrayBuffer();
|
|
46
47
|
// @ts-expect-error options is not properly typed
|
|
47
48
|
if (options?.i3s.decodeTextures) {
|
|
49
|
+
// TODO - replace with switch
|
|
48
50
|
if (loader === images_1.ImageLoader) {
|
|
49
51
|
const options = { ...tileOptions.textureLoaderOptions, image: { type: 'data' } };
|
|
50
52
|
try {
|
|
51
|
-
// @ts-ignore context must be defined
|
|
52
53
|
// Image constructor is not supported in worker thread.
|
|
53
54
|
// Do parsing image data on the main thread by using context to avoid worker issues.
|
|
54
|
-
|
|
55
|
+
const texture = await (0, loader_utils_1.parseFromContext)(arrayBuffer, [], options, context);
|
|
56
|
+
// @ts-expect-error
|
|
57
|
+
content.texture = texture;
|
|
55
58
|
}
|
|
56
59
|
catch (e) {
|
|
57
60
|
// context object is different between worker and node.js conversion script.
|
|
58
61
|
// To prevent error we parse data in ordinary way if it is not parsed by using context.
|
|
59
|
-
|
|
60
|
-
content.texture =
|
|
62
|
+
const texture = await (0, core_1.parse)(arrayBuffer, loader, options, context);
|
|
63
|
+
content.texture = texture;
|
|
61
64
|
}
|
|
62
65
|
}
|
|
63
66
|
else if (loader === textures_1.CompressedTextureLoader || loader === textures_1.BasisLoader) {
|
|
64
67
|
let texture = await (0, core_1.load)(arrayBuffer, loader, tileOptions.textureLoaderOptions);
|
|
65
68
|
if (loader === textures_1.BasisLoader) {
|
|
66
|
-
// @ts-expect-error
|
|
67
69
|
texture = texture[0];
|
|
68
70
|
}
|
|
69
71
|
content.texture = {
|
|
70
72
|
compressed: true,
|
|
71
73
|
mipmaps: false,
|
|
72
|
-
// @ts-expect-error
|
|
73
74
|
width: texture[0].width,
|
|
74
|
-
// @ts-expect-error
|
|
75
75
|
height: texture[0].height,
|
|
76
|
-
// @ts-expect-error
|
|
77
76
|
data: texture
|
|
78
77
|
};
|
|
79
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-slpk.d.ts","sourceRoot":"","sources":["../../../../src/lib/parsers/parse-slpk/parse-slpk.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"parse-slpk.d.ts","sourceRoot":"","sources":["../../../../src/lib/parsers/parse-slpk/parse-slpk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAUtD,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,SAAS,iBACN,YAAY,cACf,MAAM,KAAK,IAAI,kBACzB,QAAQ,WAAW,CA8BrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slpk-archieve.d.ts","sourceRoot":"","sources":["../../../../src/lib/parsers/parse-slpk/slpk-archieve.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"slpk-archieve.d.ts","sourceRoot":"","sources":["../../../../src/lib/parsers/parse-slpk/slpk-archieve.ts"],"names":[],"mappings":";AACA,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAA0B,WAAW,EAAU,MAAM,iBAAiB,CAAC;AAuC9E;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,SAAS,CAAgB;gBACrB,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE;IAK9D;;;;;OAKG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,GAAG,KAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IA8B1E;;;;OAIG;YACW,aAAa;IAmB3B;;;;OAIG;YACW,YAAY;IAmB1B,OAAO,CAAC,QAAQ,EAAE,MAAM;CAGzB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/i3s",
|
|
3
|
-
"version": "4.0.0-alpha.
|
|
3
|
+
"version": "4.0.0-alpha.23",
|
|
4
4
|
"description": "i3s .",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -33,13 +33,13 @@
|
|
|
33
33
|
"build-worker-node": "esbuild src/workers/i3s-content-worker-node.ts --outfile=dist/i3s-content-worker-node.js --platform=node --target=node16 --minify --bundle --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\""
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@loaders.gl/compression": "4.0.0-alpha.
|
|
37
|
-
"@loaders.gl/draco": "4.0.0-alpha.
|
|
38
|
-
"@loaders.gl/images": "4.0.0-alpha.
|
|
39
|
-
"@loaders.gl/loader-utils": "4.0.0-alpha.
|
|
40
|
-
"@loaders.gl/schema": "4.0.0-alpha.
|
|
41
|
-
"@loaders.gl/textures": "4.0.0-alpha.
|
|
42
|
-
"@loaders.gl/tiles": "4.0.0-alpha.
|
|
36
|
+
"@loaders.gl/compression": "4.0.0-alpha.23",
|
|
37
|
+
"@loaders.gl/draco": "4.0.0-alpha.23",
|
|
38
|
+
"@loaders.gl/images": "4.0.0-alpha.23",
|
|
39
|
+
"@loaders.gl/loader-utils": "4.0.0-alpha.23",
|
|
40
|
+
"@loaders.gl/schema": "4.0.0-alpha.23",
|
|
41
|
+
"@loaders.gl/textures": "4.0.0-alpha.23",
|
|
42
|
+
"@loaders.gl/tiles": "4.0.0-alpha.23",
|
|
43
43
|
"@luma.gl/constants": "^8.5.4",
|
|
44
44
|
"@math.gl/core": "^3.5.1",
|
|
45
45
|
"@math.gl/culling": "^3.5.1",
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"peerDependencies": {
|
|
50
50
|
"@loaders.gl/core": "^4.0.0-alpha.8"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "e212f2a0c0e342f7cb65ce84fa2ff39f64b7d94b"
|
|
53
53
|
}
|
package/src/i3s-loader.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import type {LoaderWithParser} from '@loaders.gl/loader-utils';
|
|
1
|
+
import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
|
|
2
2
|
import {parse} from '@loaders.gl/core';
|
|
3
3
|
import {I3SContentLoader} from './i3s-content-loader';
|
|
4
4
|
import {normalizeTileData, normalizeTilesetData} from './lib/parsers/parse-i3s';
|
|
5
5
|
import {COORDINATE_SYSTEM} from './lib/parsers/constants';
|
|
6
6
|
import {I3SParseOptions} from './types';
|
|
7
|
-
import {LoaderOptions} from './../../loader-utils/src/types';
|
|
8
7
|
|
|
9
8
|
// __VERSION__ is injected by babel-plugin-version-inline
|
|
10
9
|
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
package/src/i3s-slpk-loader.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';
|
|
2
|
-
import {DataViewFile} from '@loaders.gl/
|
|
1
|
+
import type {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';
|
|
2
|
+
import {DataViewFile} from '@loaders.gl/loader-utils';
|
|
3
3
|
import {parseSLPK as parseSLPKFromProvider} from './lib/parsers/parse-slpk/parse-slpk';
|
|
4
4
|
|
|
5
5
|
// __VERSION__ is injected by babel-plugin-version-inline
|
|
@@ -2,7 +2,7 @@ import type {TypedArray} from '@loaders.gl/schema';
|
|
|
2
2
|
import {load, parse} from '@loaders.gl/core';
|
|
3
3
|
import {Vector3, Matrix4} from '@math.gl/core';
|
|
4
4
|
import {Ellipsoid} from '@math.gl/geospatial';
|
|
5
|
-
import
|
|
5
|
+
import {LoaderOptions, LoaderContext, parseFromContext} from '@loaders.gl/loader-utils';
|
|
6
6
|
import {ImageLoader} from '@loaders.gl/images';
|
|
7
7
|
import {DracoLoader, DracoMesh} from '@loaders.gl/draco';
|
|
8
8
|
import {BasisLoader, CompressedTextureLoader} from '@loaders.gl/textures';
|
|
@@ -70,33 +70,31 @@ export async function parseI3STileContent(
|
|
|
70
70
|
|
|
71
71
|
// @ts-expect-error options is not properly typed
|
|
72
72
|
if (options?.i3s.decodeTextures) {
|
|
73
|
+
// TODO - replace with switch
|
|
73
74
|
if (loader === ImageLoader) {
|
|
74
75
|
const options = {...tileOptions.textureLoaderOptions, image: {type: 'data'}};
|
|
75
76
|
try {
|
|
76
|
-
// @ts-ignore context must be defined
|
|
77
77
|
// Image constructor is not supported in worker thread.
|
|
78
78
|
// Do parsing image data on the main thread by using context to avoid worker issues.
|
|
79
|
-
|
|
79
|
+
const texture = await parseFromContext(arrayBuffer, [], options, context!);
|
|
80
|
+
// @ts-expect-error
|
|
81
|
+
content.texture = texture;
|
|
80
82
|
} catch (e) {
|
|
81
83
|
// context object is different between worker and node.js conversion script.
|
|
82
84
|
// To prevent error we parse data in ordinary way if it is not parsed by using context.
|
|
83
|
-
|
|
84
|
-
content.texture =
|
|
85
|
+
const texture = await parse(arrayBuffer, loader, options, context);
|
|
86
|
+
content.texture = texture;
|
|
85
87
|
}
|
|
86
88
|
} else if (loader === CompressedTextureLoader || loader === BasisLoader) {
|
|
87
89
|
let texture = await load(arrayBuffer, loader, tileOptions.textureLoaderOptions);
|
|
88
90
|
if (loader === BasisLoader) {
|
|
89
|
-
// @ts-expect-error
|
|
90
91
|
texture = texture[0];
|
|
91
92
|
}
|
|
92
93
|
content.texture = {
|
|
93
94
|
compressed: true,
|
|
94
95
|
mipmaps: false,
|
|
95
|
-
// @ts-expect-error
|
|
96
96
|
width: texture[0].width,
|
|
97
|
-
// @ts-expect-error
|
|
98
97
|
height: texture[0].height,
|
|
99
|
-
// @ts-expect-error
|
|
100
98
|
data: texture
|
|
101
99
|
};
|
|
102
100
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import md5 from 'md5';
|
|
2
|
-
import {FileProvider
|
|
2
|
+
import {FileProvider} from '@loaders.gl/loader-utils';
|
|
3
|
+
import {parseZipLocalFileHeader, HashElement, findBin} from '@loaders.gl/zip';
|
|
3
4
|
import {GZipCompression} from '@loaders.gl/compression';
|
|
4
5
|
|
|
5
6
|
/** Description of real paths for different file types */
|