@loaders.gl/i3s 4.0.0-alpha.6 → 4.0.0-alpha.8
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 +764 -133
- 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 +2 -3
- package/dist/es5/i3s-content-loader.js.map +1 -1
- package/dist/es5/i3s-loader.js +1 -1
- package/dist/es5/i3s-node-page-loader.js +1 -1
- package/dist/es5/i3s-slpk-loader.js +20 -0
- package/dist/es5/i3s-slpk-loader.js.map +1 -0
- package/dist/es5/index.js +8 -1
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/parsers/parse-i3s-tile-content.js +2 -2
- package/dist/es5/lib/parsers/parse-i3s-tile-content.js.map +1 -1
- package/dist/es5/lib/parsers/parse-slpk/parse-slpk.js +94 -0
- package/dist/es5/lib/parsers/parse-slpk/parse-slpk.js.map +1 -0
- package/dist/es5/lib/parsers/parse-slpk/slpk-archieve.js +229 -0
- package/dist/es5/lib/parsers/parse-slpk/slpk-archieve.js.map +1 -0
- package/dist/es5/lib/parsers/parse-zip/cd-file-header.js +44 -0
- package/dist/es5/lib/parsers/parse-zip/cd-file-header.js.map +1 -0
- package/dist/es5/lib/parsers/parse-zip/local-file-header.js +26 -0
- package/dist/es5/lib/parsers/parse-zip/local-file-header.js.map +1 -0
- package/dist/es5/lib/utils/{customizeColors.js → customize-/321/201olors.js} +65 -40
- package/dist/es5/lib/utils/customize-/321/201olors.js.map +1 -0
- package/dist/es5/types.js.map +1 -1
- package/dist/es5/workers/{i3s-content-nodejs-worker.js → i3s-content-worker-node.js} +2 -2
- package/dist/es5/workers/i3s-content-worker-node.js.map +1 -0
- 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 +2 -3
- package/dist/esm/i3s-content-loader.js.map +1 -1
- package/dist/esm/i3s-loader.js +1 -1
- package/dist/esm/i3s-node-page-loader.js +1 -1
- package/dist/esm/i3s-slpk-loader.js +13 -0
- package/dist/esm/i3s-slpk-loader.js.map +1 -0
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/parsers/parse-i3s-tile-content.js +1 -1
- package/dist/esm/lib/parsers/parse-i3s-tile-content.js.map +1 -1
- package/dist/esm/lib/parsers/parse-slpk/parse-slpk.js +37 -0
- package/dist/esm/lib/parsers/parse-slpk/parse-slpk.js.map +1 -0
- package/dist/esm/lib/parsers/parse-slpk/slpk-archieve.js +108 -0
- package/dist/esm/lib/parsers/parse-slpk/slpk-archieve.js.map +1 -0
- package/dist/esm/lib/parsers/parse-zip/cd-file-header.js +37 -0
- package/dist/esm/lib/parsers/parse-zip/cd-file-header.js.map +1 -0
- package/dist/esm/lib/parsers/parse-zip/local-file-header.js +19 -0
- package/dist/esm/lib/parsers/parse-zip/local-file-header.js.map +1 -0
- package/dist/esm/lib/utils/{customizeColors.js → customize-/321/201olors.js} +9 -3
- package/dist/esm/lib/utils/customize-/321/201olors.js.map +1 -0
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/workers/{i3s-content-nodejs-worker.js → i3s-content-worker-node.js} +2 -2
- package/dist/esm/workers/i3s-content-worker-node.js.map +1 -0
- package/dist/i3s-content-loader.d.ts.map +1 -1
- package/dist/i3s-content-loader.js +1 -2
- package/dist/i3s-content-worker-node.js +197 -0
- package/dist/{i3s-content-nodejs-worker.js.map → i3s-content-worker-node.js.map} +3 -3
- package/dist/i3s-content-worker.js +85 -57
- package/dist/i3s-slpk-loader.d.ts +13 -0
- package/dist/i3s-slpk-loader.d.ts.map +1 -0
- package/dist/i3s-slpk-loader.js +20 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/lib/parsers/parse-i3s-tile-content.js +2 -2
- package/dist/lib/parsers/parse-slpk/parse-slpk.d.ts +4 -0
- package/dist/lib/parsers/parse-slpk/parse-slpk.d.ts.map +1 -0
- package/dist/lib/parsers/parse-slpk/parse-slpk.js +50 -0
- package/dist/lib/parsers/parse-slpk/slpk-archieve.d.ts +38 -0
- package/dist/lib/parsers/parse-slpk/slpk-archieve.d.ts.map +1 -0
- package/dist/lib/parsers/parse-slpk/slpk-archieve.js +142 -0
- package/dist/lib/parsers/parse-zip/cd-file-header.d.ts +38 -0
- package/dist/lib/parsers/parse-zip/cd-file-header.d.ts.map +1 -0
- package/dist/lib/parsers/parse-zip/cd-file-header.js +48 -0
- package/dist/lib/parsers/parse-zip/local-file-header.d.ts +30 -0
- package/dist/lib/parsers/parse-zip/local-file-header.d.ts.map +1 -0
- package/dist/lib/parsers/parse-zip/local-file-header.js +28 -0
- package/dist/lib/utils/{customizeColors.d.ts → customize-/321/201olors.d.ts} +1 -1
- package/dist/lib/utils/customize-/321/201olors.d.ts.map +1 -0
- package/dist/lib/utils/{customizeColors.js → customize-/321/201olors.js} +12 -2
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/workers/i3s-content-worker-node.d.ts +2 -0
- package/dist/workers/i3s-content-worker-node.d.ts.map +1 -0
- package/dist/workers/{i3s-content-nodejs-worker.js → i3s-content-worker-node.js} +2 -1
- package/package.json +15 -13
- package/src/i3s-content-loader.ts +1 -2
- package/src/i3s-slpk-loader.ts +27 -0
- package/src/index.ts +4 -3
- package/src/lib/parsers/parse-i3s-tile-content.ts +1 -1
- package/src/lib/parsers/parse-slpk/parse-slpk.ts +64 -0
- package/src/lib/parsers/parse-slpk/slpk-archieve.ts +172 -0
- package/src/lib/parsers/parse-zip/cd-file-header.ts +93 -0
- package/src/lib/parsers/parse-zip/local-file-header.ts +56 -0
- package/src/lib/utils/{customizeColors.ts → customize-/321/201olors.ts} +12 -2
- package/src/types.ts +1 -0
- package/src/workers/{i3s-content-nodejs-worker.ts → i3s-content-worker-node.ts} +2 -1
- package/dist/es5/lib/utils/customizeColors.js.map +0 -1
- package/dist/es5/workers/i3s-content-nodejs-worker.js.map +0 -1
- package/dist/esm/lib/utils/customizeColors.js.map +0 -1
- package/dist/esm/workers/i3s-content-nodejs-worker.js.map +0 -1
- package/dist/i3s-content-nodejs-worker.js +0 -198
- package/dist/lib/utils/customizeColors.d.ts.map +0 -1
- package/dist/workers/i3s-content-nodejs-worker.d.ts +0 -2
- package/dist/workers/i3s-content-nodejs-worker.d.ts.map +0 -1
package/dist/dist.min.js
CHANGED
|
@@ -941,6 +941,22 @@
|
|
|
941
941
|
}
|
|
942
942
|
return false;
|
|
943
943
|
}
|
|
944
|
+
function getTransferListForWriter(object) {
|
|
945
|
+
if (object === null) {
|
|
946
|
+
return {};
|
|
947
|
+
}
|
|
948
|
+
const clone3 = Object.assign({}, object);
|
|
949
|
+
Object.keys(clone3).forEach((key) => {
|
|
950
|
+
if (typeof object[key] === "object" && !ArrayBuffer.isView(object[key]) && !(object[key] instanceof Array)) {
|
|
951
|
+
clone3[key] = getTransferListForWriter(object[key]);
|
|
952
|
+
} else if (typeof clone3[key] === "function" || clone3[key] instanceof RegExp) {
|
|
953
|
+
clone3[key] = {};
|
|
954
|
+
} else {
|
|
955
|
+
clone3[key] = object[key];
|
|
956
|
+
}
|
|
957
|
+
});
|
|
958
|
+
return clone3;
|
|
959
|
+
}
|
|
944
960
|
var init_get_transfer_list = __esm({
|
|
945
961
|
"../worker-utils/src/lib/worker-utils/get-transfer-list.ts"() {
|
|
946
962
|
}
|
|
@@ -1088,9 +1104,9 @@
|
|
|
1088
1104
|
this.onDebug = props.onDebug;
|
|
1089
1105
|
}
|
|
1090
1106
|
}
|
|
1091
|
-
async startJob(name,
|
|
1107
|
+
async startJob(name, onMessage3 = (job, type, data) => job.done(data), onError = (job, error) => job.error(error)) {
|
|
1092
1108
|
const startPromise = new Promise((onStart) => {
|
|
1093
|
-
this.jobQueue.push({ name, onMessage:
|
|
1109
|
+
this.jobQueue.push({ name, onMessage: onMessage3, onError, onStart });
|
|
1094
1110
|
return this;
|
|
1095
1111
|
});
|
|
1096
1112
|
this._startQueuedJob();
|
|
@@ -1124,7 +1140,7 @@
|
|
|
1124
1140
|
}
|
|
1125
1141
|
}
|
|
1126
1142
|
returnWorkerToQueue(worker) {
|
|
1127
|
-
const shouldDestroyWorker = this.isDestroyed || !this.reuseWorkers || this.count > this._getMaxConcurrency();
|
|
1143
|
+
const shouldDestroyWorker = !isBrowser2 || this.isDestroyed || !this.reuseWorkers || this.count > this._getMaxConcurrency();
|
|
1128
1144
|
if (shouldDestroyWorker) {
|
|
1129
1145
|
worker.destroy();
|
|
1130
1146
|
this.count--;
|
|
@@ -1220,9 +1236,13 @@
|
|
|
1220
1236
|
});
|
|
1221
1237
|
|
|
1222
1238
|
// ../worker-utils/src/lib/worker-api/get-worker-url.ts
|
|
1239
|
+
function getWorkerName(worker) {
|
|
1240
|
+
const warning = worker.version !== VERSION2 ? ` (worker-utils@${VERSION2})` : "";
|
|
1241
|
+
return `${worker.name}@${worker.version}${warning}`;
|
|
1242
|
+
}
|
|
1223
1243
|
function getWorkerURL(worker, options = {}) {
|
|
1224
1244
|
const workerOptions = options[worker.id] || {};
|
|
1225
|
-
const workerFile = `${worker.id}-worker.js`;
|
|
1245
|
+
const workerFile = isBrowser2 ? `${worker.id}-worker.js` : `${worker.id}-worker-node.js`;
|
|
1226
1246
|
let url = workerOptions.workerUrl;
|
|
1227
1247
|
if (!url && worker.id === "compression") {
|
|
1228
1248
|
url = options.workerUrl;
|
|
@@ -1241,11 +1261,65 @@
|
|
|
1241
1261
|
assert2(url);
|
|
1242
1262
|
return url;
|
|
1243
1263
|
}
|
|
1244
|
-
var NPM_TAG;
|
|
1264
|
+
var NPM_TAG, VERSION2;
|
|
1245
1265
|
var init_get_worker_url = __esm({
|
|
1246
1266
|
"../worker-utils/src/lib/worker-api/get-worker-url.ts"() {
|
|
1247
1267
|
init_assert2();
|
|
1268
|
+
init_globals2();
|
|
1269
|
+
init_version();
|
|
1248
1270
|
NPM_TAG = "beta";
|
|
1271
|
+
VERSION2 = typeof VERSION !== "undefined" ? VERSION : NPM_TAG;
|
|
1272
|
+
}
|
|
1273
|
+
});
|
|
1274
|
+
|
|
1275
|
+
// ../worker-utils/src/lib/worker-api/process-on-worker.ts
|
|
1276
|
+
async function processOnWorker(worker, data, options = {}, context = {}) {
|
|
1277
|
+
const name = getWorkerName(worker);
|
|
1278
|
+
const workerFarm = WorkerFarm.getWorkerFarm(options);
|
|
1279
|
+
const { source } = options;
|
|
1280
|
+
const workerPoolProps = { name, source };
|
|
1281
|
+
if (!source) {
|
|
1282
|
+
workerPoolProps.url = getWorkerURL(worker, options);
|
|
1283
|
+
}
|
|
1284
|
+
const workerPool = workerFarm.getWorkerPool(workerPoolProps);
|
|
1285
|
+
const jobName = options.jobName || worker.name;
|
|
1286
|
+
const job = await workerPool.startJob(jobName, onMessage.bind(null, context));
|
|
1287
|
+
const transferableOptions = getTransferListForWriter(options);
|
|
1288
|
+
job.postMessage("process", { input: data, options: transferableOptions });
|
|
1289
|
+
const result = await job.result;
|
|
1290
|
+
return result.result;
|
|
1291
|
+
}
|
|
1292
|
+
async function onMessage(context, job, type, payload) {
|
|
1293
|
+
switch (type) {
|
|
1294
|
+
case "done":
|
|
1295
|
+
job.done(payload);
|
|
1296
|
+
break;
|
|
1297
|
+
case "error":
|
|
1298
|
+
job.error(new Error(payload.error));
|
|
1299
|
+
break;
|
|
1300
|
+
case "process":
|
|
1301
|
+
const { id, input, options } = payload;
|
|
1302
|
+
try {
|
|
1303
|
+
if (!context.process) {
|
|
1304
|
+
job.postMessage("error", { id, error: "Worker not set up to process on main thread" });
|
|
1305
|
+
return;
|
|
1306
|
+
}
|
|
1307
|
+
const result = await context.process(input, options);
|
|
1308
|
+
job.postMessage("done", { id, result });
|
|
1309
|
+
} catch (error) {
|
|
1310
|
+
const message = error instanceof Error ? error.message : "unknown error";
|
|
1311
|
+
job.postMessage("error", { id, error: message });
|
|
1312
|
+
}
|
|
1313
|
+
break;
|
|
1314
|
+
default:
|
|
1315
|
+
console.warn(`process-on-worker: unknown message ${type}`);
|
|
1316
|
+
}
|
|
1317
|
+
}
|
|
1318
|
+
var init_process_on_worker = __esm({
|
|
1319
|
+
"../worker-utils/src/lib/worker-api/process-on-worker.ts"() {
|
|
1320
|
+
init_worker_farm();
|
|
1321
|
+
init_get_worker_url();
|
|
1322
|
+
init_get_transfer_list();
|
|
1249
1323
|
}
|
|
1250
1324
|
});
|
|
1251
1325
|
|
|
@@ -1292,7 +1366,7 @@
|
|
|
1292
1366
|
}
|
|
1293
1367
|
if (options.CDN) {
|
|
1294
1368
|
assert2(options.CDN.startsWith("http"));
|
|
1295
|
-
return `${options.CDN}/${moduleName}@${
|
|
1369
|
+
return `${options.CDN}/${moduleName}@${VERSION3}/dist/libs/${library}`;
|
|
1296
1370
|
}
|
|
1297
1371
|
if (isWorker) {
|
|
1298
1372
|
return `../src/libs/${library}`;
|
|
@@ -1336,7 +1410,7 @@
|
|
|
1336
1410
|
document.body.appendChild(script);
|
|
1337
1411
|
return null;
|
|
1338
1412
|
}
|
|
1339
|
-
var node, LATEST,
|
|
1413
|
+
var node, LATEST, VERSION3, loadLibraryPromises;
|
|
1340
1414
|
var init_library_utils = __esm({
|
|
1341
1415
|
"../worker-utils/src/lib/library-utils/library-utils.ts"() {
|
|
1342
1416
|
init_globals2();
|
|
@@ -1344,7 +1418,7 @@
|
|
|
1344
1418
|
init_assert2();
|
|
1345
1419
|
init_version();
|
|
1346
1420
|
LATEST = "beta";
|
|
1347
|
-
|
|
1421
|
+
VERSION3 = typeof VERSION !== "undefined" ? VERSION : LATEST;
|
|
1348
1422
|
loadLibraryPromises = {};
|
|
1349
1423
|
}
|
|
1350
1424
|
});
|
|
@@ -1355,6 +1429,7 @@
|
|
|
1355
1429
|
init_assert2();
|
|
1356
1430
|
init_globals2();
|
|
1357
1431
|
init_worker_farm();
|
|
1432
|
+
init_process_on_worker();
|
|
1358
1433
|
init_get_worker_url();
|
|
1359
1434
|
init_validate_worker_version();
|
|
1360
1435
|
init_library_utils();
|
|
@@ -1378,7 +1453,7 @@
|
|
|
1378
1453
|
const workerPool = workerFarm.getWorkerPool({ name, url });
|
|
1379
1454
|
options = JSON.parse(JSON.stringify(options));
|
|
1380
1455
|
context = JSON.parse(JSON.stringify(context || {}));
|
|
1381
|
-
const job = await workerPool.startJob("process-on-worker",
|
|
1456
|
+
const job = await workerPool.startJob("process-on-worker", onMessage2.bind(null, parseOnMainThread));
|
|
1382
1457
|
job.postMessage("process", {
|
|
1383
1458
|
input: data,
|
|
1384
1459
|
options,
|
|
@@ -1387,7 +1462,7 @@
|
|
|
1387
1462
|
const result = await job.result;
|
|
1388
1463
|
return await result.result;
|
|
1389
1464
|
}
|
|
1390
|
-
async function
|
|
1465
|
+
async function onMessage2(parseOnMainThread, job, type, payload) {
|
|
1391
1466
|
switch (type) {
|
|
1392
1467
|
case "done":
|
|
1393
1468
|
job.done(payload);
|
|
@@ -1552,15 +1627,15 @@
|
|
|
1552
1627
|
function parseTextSync(text) {
|
|
1553
1628
|
return JSON.parse(text);
|
|
1554
1629
|
}
|
|
1555
|
-
var
|
|
1630
|
+
var VERSION4, JSONLoader;
|
|
1556
1631
|
var init_json_loader = __esm({
|
|
1557
1632
|
"../loader-utils/src/json-loader.ts"() {
|
|
1558
|
-
|
|
1633
|
+
VERSION4 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
1559
1634
|
JSONLoader = {
|
|
1560
1635
|
name: "JSON",
|
|
1561
1636
|
id: "json",
|
|
1562
1637
|
module: "json",
|
|
1563
|
-
version:
|
|
1638
|
+
version: VERSION4,
|
|
1564
1639
|
extensions: ["json", "geojson"],
|
|
1565
1640
|
mimeTypes: ["application/json"],
|
|
1566
1641
|
category: "json",
|
|
@@ -1822,39 +1897,60 @@
|
|
|
1822
1897
|
}
|
|
1823
1898
|
});
|
|
1824
1899
|
|
|
1900
|
+
// ../core/src/lib/utils/url-utils.ts
|
|
1901
|
+
function extractQueryString(url) {
|
|
1902
|
+
const matches3 = url.match(QUERY_STRING_PATTERN);
|
|
1903
|
+
return matches3 && matches3[0];
|
|
1904
|
+
}
|
|
1905
|
+
function stripQueryString(url) {
|
|
1906
|
+
return url.replace(QUERY_STRING_PATTERN, "");
|
|
1907
|
+
}
|
|
1908
|
+
var QUERY_STRING_PATTERN;
|
|
1909
|
+
var init_url_utils = __esm({
|
|
1910
|
+
"../core/src/lib/utils/url-utils.ts"() {
|
|
1911
|
+
QUERY_STRING_PATTERN = /\?.*/;
|
|
1912
|
+
}
|
|
1913
|
+
});
|
|
1914
|
+
|
|
1825
1915
|
// ../core/src/lib/utils/resource-utils.ts
|
|
1826
|
-
function
|
|
1916
|
+
function getResourceUrl(resource) {
|
|
1827
1917
|
if (isResponse(resource)) {
|
|
1828
|
-
const
|
|
1829
|
-
|
|
1830
|
-
return {
|
|
1831
|
-
url,
|
|
1832
|
-
type: parseMIMEType(contentTypeHeader) || parseMIMETypeFromURL(url)
|
|
1833
|
-
};
|
|
1918
|
+
const response = resource;
|
|
1919
|
+
return response.url;
|
|
1834
1920
|
}
|
|
1835
1921
|
if (isBlob(resource)) {
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
type: resource.type || ""
|
|
1839
|
-
};
|
|
1922
|
+
const blob = resource;
|
|
1923
|
+
return blob.name || "";
|
|
1840
1924
|
}
|
|
1841
1925
|
if (typeof resource === "string") {
|
|
1842
|
-
return
|
|
1843
|
-
url: stripQueryString(resource),
|
|
1844
|
-
type: parseMIMETypeFromURL(resource)
|
|
1845
|
-
};
|
|
1926
|
+
return resource;
|
|
1846
1927
|
}
|
|
1847
|
-
return
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1928
|
+
return "";
|
|
1929
|
+
}
|
|
1930
|
+
function getResourceMIMEType(resource) {
|
|
1931
|
+
if (isResponse(resource)) {
|
|
1932
|
+
const response = resource;
|
|
1933
|
+
const contentTypeHeader = response.headers.get("content-type") || "";
|
|
1934
|
+
const noQueryUrl = stripQueryString(response.url);
|
|
1935
|
+
return parseMIMEType(contentTypeHeader) || parseMIMETypeFromURL(noQueryUrl);
|
|
1936
|
+
}
|
|
1937
|
+
if (isBlob(resource)) {
|
|
1938
|
+
const blob = resource;
|
|
1939
|
+
return blob.type || "";
|
|
1940
|
+
}
|
|
1941
|
+
if (typeof resource === "string") {
|
|
1942
|
+
return parseMIMETypeFromURL(resource);
|
|
1943
|
+
}
|
|
1944
|
+
return "";
|
|
1851
1945
|
}
|
|
1852
1946
|
function getResourceContentLength(resource) {
|
|
1853
1947
|
if (isResponse(resource)) {
|
|
1854
|
-
|
|
1948
|
+
const response = resource;
|
|
1949
|
+
return response.headers["content-length"] || -1;
|
|
1855
1950
|
}
|
|
1856
1951
|
if (isBlob(resource)) {
|
|
1857
|
-
|
|
1952
|
+
const blob = resource;
|
|
1953
|
+
return blob.size;
|
|
1858
1954
|
}
|
|
1859
1955
|
if (typeof resource === "string") {
|
|
1860
1956
|
return resource.length;
|
|
@@ -1867,15 +1963,11 @@
|
|
|
1867
1963
|
}
|
|
1868
1964
|
return -1;
|
|
1869
1965
|
}
|
|
1870
|
-
function stripQueryString(url) {
|
|
1871
|
-
return url.replace(QUERY_STRING_PATTERN, "");
|
|
1872
|
-
}
|
|
1873
|
-
var QUERY_STRING_PATTERN;
|
|
1874
1966
|
var init_resource_utils = __esm({
|
|
1875
1967
|
"../core/src/lib/utils/resource-utils.ts"() {
|
|
1876
1968
|
init_is_type();
|
|
1877
1969
|
init_mime_type_utils();
|
|
1878
|
-
|
|
1970
|
+
init_url_utils();
|
|
1879
1971
|
}
|
|
1880
1972
|
});
|
|
1881
1973
|
|
|
@@ -1889,7 +1981,8 @@
|
|
|
1889
1981
|
if (contentLength >= 0) {
|
|
1890
1982
|
headers["content-length"] = String(contentLength);
|
|
1891
1983
|
}
|
|
1892
|
-
const
|
|
1984
|
+
const url = getResourceUrl(resource);
|
|
1985
|
+
const type = getResourceMIMEType(resource);
|
|
1893
1986
|
if (type) {
|
|
1894
1987
|
headers["content-type"] = type;
|
|
1895
1988
|
}
|
|
@@ -1978,7 +2071,7 @@
|
|
|
1978
2071
|
}
|
|
1979
2072
|
});
|
|
1980
2073
|
|
|
1981
|
-
// ../../node_modules/@probe.gl/env/dist/lib/is-electron.js
|
|
2074
|
+
// ../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/lib/is-electron.js
|
|
1982
2075
|
function isElectron(mockUserAgent) {
|
|
1983
2076
|
if (typeof window !== "undefined" && typeof window.process === "object" && window.process.type === "renderer") {
|
|
1984
2077
|
return true;
|
|
@@ -1994,25 +2087,25 @@
|
|
|
1994
2087
|
return false;
|
|
1995
2088
|
}
|
|
1996
2089
|
var init_is_electron = __esm({
|
|
1997
|
-
"../../node_modules/@probe.gl/env/dist/lib/is-electron.js"() {
|
|
2090
|
+
"../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/lib/is-electron.js"() {
|
|
1998
2091
|
}
|
|
1999
2092
|
});
|
|
2000
2093
|
|
|
2001
|
-
// ../../node_modules/@probe.gl/env/dist/lib/is-browser.js
|
|
2094
|
+
// ../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/lib/is-browser.js
|
|
2002
2095
|
function isBrowser3() {
|
|
2003
2096
|
const isNode = typeof process === "object" && String(process) === "[object process]" && !process.browser;
|
|
2004
2097
|
return !isNode || isElectron();
|
|
2005
2098
|
}
|
|
2006
2099
|
var init_is_browser = __esm({
|
|
2007
|
-
"../../node_modules/@probe.gl/env/dist/lib/is-browser.js"() {
|
|
2100
|
+
"../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/lib/is-browser.js"() {
|
|
2008
2101
|
init_is_electron();
|
|
2009
2102
|
}
|
|
2010
2103
|
});
|
|
2011
2104
|
|
|
2012
|
-
// ../../node_modules/@probe.gl/env/dist/lib/globals.js
|
|
2105
|
+
// ../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/lib/globals.js
|
|
2013
2106
|
var self_3, window_3, document_3, process_, console_, navigator_;
|
|
2014
2107
|
var init_globals3 = __esm({
|
|
2015
|
-
"../../node_modules/@probe.gl/env/dist/lib/globals.js"() {
|
|
2108
|
+
"../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/lib/globals.js"() {
|
|
2016
2109
|
self_3 = globalThis.self || globalThis.window || globalThis.global;
|
|
2017
2110
|
window_3 = globalThis.window || globalThis.self || globalThis.global;
|
|
2018
2111
|
document_3 = globalThis.document || {};
|
|
@@ -2022,19 +2115,19 @@
|
|
|
2022
2115
|
}
|
|
2023
2116
|
});
|
|
2024
2117
|
|
|
2025
|
-
// ../../node_modules/@probe.gl/env/dist/utils/globals.js
|
|
2026
|
-
var
|
|
2118
|
+
// ../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/utils/globals.js
|
|
2119
|
+
var VERSION5, isBrowser4;
|
|
2027
2120
|
var init_globals4 = __esm({
|
|
2028
|
-
"../../node_modules/@probe.gl/env/dist/utils/globals.js"() {
|
|
2121
|
+
"../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/utils/globals.js"() {
|
|
2029
2122
|
init_is_browser();
|
|
2030
|
-
|
|
2123
|
+
VERSION5 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "untranspiled source";
|
|
2031
2124
|
isBrowser4 = isBrowser3();
|
|
2032
2125
|
}
|
|
2033
2126
|
});
|
|
2034
2127
|
|
|
2035
|
-
// ../../node_modules/@probe.gl/env/dist/index.js
|
|
2128
|
+
// ../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/index.js
|
|
2036
2129
|
var init_dist = __esm({
|
|
2037
|
-
"../../node_modules/@probe.gl/env/dist/index.js"() {
|
|
2130
|
+
"../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/index.js"() {
|
|
2038
2131
|
init_globals4();
|
|
2039
2132
|
init_globals3();
|
|
2040
2133
|
init_is_browser();
|
|
@@ -2364,7 +2457,7 @@
|
|
|
2364
2457
|
id: ""
|
|
2365
2458
|
};
|
|
2366
2459
|
_defineProperty(this, "id", void 0);
|
|
2367
|
-
_defineProperty(this, "VERSION",
|
|
2460
|
+
_defineProperty(this, "VERSION", VERSION5);
|
|
2368
2461
|
_defineProperty(this, "_startTs", getHiResTimestamp());
|
|
2369
2462
|
_defineProperty(this, "_deltaTs", getHiResTimestamp());
|
|
2370
2463
|
_defineProperty(this, "_storage", void 0);
|
|
@@ -2567,7 +2660,7 @@
|
|
|
2567
2660
|
return noop;
|
|
2568
2661
|
}
|
|
2569
2662
|
};
|
|
2570
|
-
_defineProperty(Log, "VERSION",
|
|
2663
|
+
_defineProperty(Log, "VERSION", VERSION5);
|
|
2571
2664
|
}
|
|
2572
2665
|
});
|
|
2573
2666
|
|
|
@@ -2875,8 +2968,9 @@
|
|
|
2875
2968
|
return loader;
|
|
2876
2969
|
}
|
|
2877
2970
|
function selectLoaderInternal(data, loaders, options, context) {
|
|
2878
|
-
const
|
|
2879
|
-
const
|
|
2971
|
+
const url = getResourceUrl(data);
|
|
2972
|
+
const type = getResourceMIMEType(data);
|
|
2973
|
+
const testUrl = stripQueryString(url) || context?.url;
|
|
2880
2974
|
let loader = null;
|
|
2881
2975
|
let reason = "";
|
|
2882
2976
|
if (options?.mimeType) {
|
|
@@ -2905,7 +2999,8 @@
|
|
|
2905
2999
|
return true;
|
|
2906
3000
|
}
|
|
2907
3001
|
function getNoValidLoaderMessage(data) {
|
|
2908
|
-
const
|
|
3002
|
+
const url = getResourceUrl(data);
|
|
3003
|
+
const type = getResourceMIMEType(data);
|
|
2909
3004
|
let message = "No valid loader found (";
|
|
2910
3005
|
message += url ? `${path_exports.filename(url)}, ` : "no url provided, ";
|
|
2911
3006
|
message += `MIME type: ${type ? `"${type}"` : "not provided"}, `;
|
|
@@ -3024,6 +3119,7 @@
|
|
|
3024
3119
|
init_resource_utils();
|
|
3025
3120
|
init_register_loaders();
|
|
3026
3121
|
init_is_type();
|
|
3122
|
+
init_url_utils();
|
|
3027
3123
|
EXT_PATTERN = /\.([^.]+)$/;
|
|
3028
3124
|
}
|
|
3029
3125
|
});
|
|
@@ -3236,18 +3332,25 @@
|
|
|
3236
3332
|
});
|
|
3237
3333
|
|
|
3238
3334
|
// ../core/src/lib/loader-utils/loader-context.ts
|
|
3239
|
-
function getLoaderContext(context, options,
|
|
3240
|
-
if (
|
|
3241
|
-
return
|
|
3335
|
+
function getLoaderContext(context, options, parentContext) {
|
|
3336
|
+
if (parentContext) {
|
|
3337
|
+
return parentContext;
|
|
3242
3338
|
}
|
|
3243
|
-
const
|
|
3339
|
+
const newContext = {
|
|
3244
3340
|
fetch: getFetchFunction(options, context),
|
|
3245
3341
|
...context
|
|
3246
3342
|
};
|
|
3247
|
-
if (
|
|
3248
|
-
|
|
3343
|
+
if (newContext.url) {
|
|
3344
|
+
const baseUrl = stripQueryString(newContext.url);
|
|
3345
|
+
newContext.baseUrl = baseUrl;
|
|
3346
|
+
newContext.queryString = extractQueryString(newContext.url);
|
|
3347
|
+
newContext.filename = path_exports.filename(baseUrl);
|
|
3348
|
+
newContext.baseUrl = path_exports.dirname(baseUrl);
|
|
3349
|
+
}
|
|
3350
|
+
if (!Array.isArray(newContext.loaders)) {
|
|
3351
|
+
newContext.loaders = null;
|
|
3249
3352
|
}
|
|
3250
|
-
return
|
|
3353
|
+
return newContext;
|
|
3251
3354
|
}
|
|
3252
3355
|
function getLoadersFromContext(loaders, context) {
|
|
3253
3356
|
if (!context && loaders && !Array.isArray(loaders)) {
|
|
@@ -3266,6 +3369,8 @@
|
|
|
3266
3369
|
var init_loader_context = __esm({
|
|
3267
3370
|
"../core/src/lib/loader-utils/loader-context.ts"() {
|
|
3268
3371
|
init_get_fetch_function();
|
|
3372
|
+
init_url_utils();
|
|
3373
|
+
init_src2();
|
|
3269
3374
|
}
|
|
3270
3375
|
});
|
|
3271
3376
|
|
|
@@ -3279,7 +3384,7 @@
|
|
|
3279
3384
|
}
|
|
3280
3385
|
data = await data;
|
|
3281
3386
|
options = options || {};
|
|
3282
|
-
const
|
|
3387
|
+
const url = getResourceUrl(data);
|
|
3283
3388
|
const typedLoaders = loaders;
|
|
3284
3389
|
const candidateLoaders = getLoadersFromContext(typedLoaders, context);
|
|
3285
3390
|
const loader = await selectLoader(data, candidateLoaders, options);
|
|
@@ -3287,7 +3392,7 @@
|
|
|
3287
3392
|
return null;
|
|
3288
3393
|
}
|
|
3289
3394
|
options = normalizeOptions(options, loader, candidateLoaders, url);
|
|
3290
|
-
context = getLoaderContext({ url, parse, loaders: candidateLoaders }, options, context);
|
|
3395
|
+
context = getLoaderContext({ url, parse, loaders: candidateLoaders }, options, context || null);
|
|
3291
3396
|
return await parseWithLoader(loader, data, options, context);
|
|
3292
3397
|
}
|
|
3293
3398
|
async function parseWithLoader(loader, data, options, context) {
|
|
@@ -6685,10 +6790,10 @@
|
|
|
6685
6790
|
});
|
|
6686
6791
|
|
|
6687
6792
|
// ../images/src/lib/utils/version.ts
|
|
6688
|
-
var
|
|
6793
|
+
var VERSION6;
|
|
6689
6794
|
var init_version2 = __esm({
|
|
6690
6795
|
"../images/src/lib/utils/version.ts"() {
|
|
6691
|
-
|
|
6796
|
+
VERSION6 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
6692
6797
|
}
|
|
6693
6798
|
});
|
|
6694
6799
|
|
|
@@ -7137,7 +7242,7 @@
|
|
|
7137
7242
|
id: "image",
|
|
7138
7243
|
module: "images",
|
|
7139
7244
|
name: "Images",
|
|
7140
|
-
version:
|
|
7245
|
+
version: VERSION6,
|
|
7141
7246
|
mimeTypes: MIME_TYPES,
|
|
7142
7247
|
extensions: EXTENSIONS,
|
|
7143
7248
|
parse: parseImage,
|
|
@@ -7155,10 +7260,10 @@
|
|
|
7155
7260
|
});
|
|
7156
7261
|
|
|
7157
7262
|
// ../draco/src/lib/utils/version.ts
|
|
7158
|
-
var
|
|
7263
|
+
var VERSION7;
|
|
7159
7264
|
var init_version3 = __esm({
|
|
7160
7265
|
"../draco/src/lib/utils/version.ts"() {
|
|
7161
|
-
|
|
7266
|
+
VERSION7 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
7162
7267
|
}
|
|
7163
7268
|
});
|
|
7164
7269
|
|
|
@@ -7166,7 +7271,6 @@
|
|
|
7166
7271
|
var DEFAULT_DRACO_OPTIONS, DracoLoader;
|
|
7167
7272
|
var init_draco_loader = __esm({
|
|
7168
7273
|
"../draco/src/draco-loader.ts"() {
|
|
7169
|
-
init_src();
|
|
7170
7274
|
init_version3();
|
|
7171
7275
|
DEFAULT_DRACO_OPTIONS = {
|
|
7172
7276
|
draco: {
|
|
@@ -7178,9 +7282,9 @@
|
|
|
7178
7282
|
};
|
|
7179
7283
|
DracoLoader = {
|
|
7180
7284
|
name: "Draco",
|
|
7181
|
-
id:
|
|
7285
|
+
id: "draco",
|
|
7182
7286
|
module: "draco",
|
|
7183
|
-
version:
|
|
7287
|
+
version: VERSION7,
|
|
7184
7288
|
worker: true,
|
|
7185
7289
|
extensions: ["drc"],
|
|
7186
7290
|
mimeTypes: ["application/octet-stream"],
|
|
@@ -7758,10 +7862,10 @@
|
|
|
7758
7862
|
});
|
|
7759
7863
|
|
|
7760
7864
|
// ../textures/src/lib/utils/version.ts
|
|
7761
|
-
var
|
|
7865
|
+
var VERSION8;
|
|
7762
7866
|
var init_version4 = __esm({
|
|
7763
7867
|
"../textures/src/lib/utils/version.ts"() {
|
|
7764
|
-
|
|
7868
|
+
VERSION8 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
7765
7869
|
}
|
|
7766
7870
|
});
|
|
7767
7871
|
|
|
@@ -7828,13 +7932,13 @@
|
|
|
7828
7932
|
});
|
|
7829
7933
|
});
|
|
7830
7934
|
}
|
|
7831
|
-
var
|
|
7935
|
+
var VERSION9, BASIS_CDN_ENCODER_WASM, BASIS_CDN_ENCODER_JS, loadBasisTranscoderPromise, loadBasisEncoderPromise;
|
|
7832
7936
|
var init_basis_module_loader = __esm({
|
|
7833
7937
|
"../textures/src/lib/parsers/basis-module-loader.ts"() {
|
|
7834
7938
|
init_src();
|
|
7835
|
-
|
|
7836
|
-
BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${
|
|
7837
|
-
BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${
|
|
7939
|
+
VERSION9 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
7940
|
+
BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION9}/dist/libs/basis_encoder.wasm`;
|
|
7941
|
+
BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION9}/dist/libs/basis_encoder.js`;
|
|
7838
7942
|
}
|
|
7839
7943
|
});
|
|
7840
7944
|
|
|
@@ -8395,14 +8499,13 @@
|
|
|
8395
8499
|
var BasisWorkerLoader, BasisLoader;
|
|
8396
8500
|
var init_basis_loader = __esm({
|
|
8397
8501
|
"../textures/src/basis-loader.ts"() {
|
|
8398
|
-
init_src();
|
|
8399
8502
|
init_version4();
|
|
8400
8503
|
init_parse_basis();
|
|
8401
8504
|
BasisWorkerLoader = {
|
|
8402
8505
|
name: "Basis",
|
|
8403
|
-
id:
|
|
8506
|
+
id: "basis",
|
|
8404
8507
|
module: "textures",
|
|
8405
|
-
version:
|
|
8508
|
+
version: VERSION8,
|
|
8406
8509
|
worker: true,
|
|
8407
8510
|
extensions: ["basis", "ktx2"],
|
|
8408
8511
|
mimeTypes: ["application/octet-stream", "image/ktx2"],
|
|
@@ -8745,7 +8848,7 @@
|
|
|
8745
8848
|
name: "Texture Containers",
|
|
8746
8849
|
id: "compressed-texture",
|
|
8747
8850
|
module: "textures",
|
|
8748
|
-
version:
|
|
8851
|
+
version: VERSION8,
|
|
8749
8852
|
worker: true,
|
|
8750
8853
|
extensions: [
|
|
8751
8854
|
"ktx",
|
|
@@ -8816,7 +8919,7 @@
|
|
|
8816
8919
|
}
|
|
8817
8920
|
return attributeUrls;
|
|
8818
8921
|
}
|
|
8819
|
-
var
|
|
8922
|
+
var init_url_utils2 = __esm({
|
|
8820
8923
|
"src/lib/utils/url-utils.ts"() {
|
|
8821
8924
|
}
|
|
8822
8925
|
});
|
|
@@ -8970,20 +9073,20 @@
|
|
|
8970
9073
|
}
|
|
8971
9074
|
return value;
|
|
8972
9075
|
}
|
|
8973
|
-
var
|
|
9076
|
+
var VERSION10, EMPTY_VALUE, REJECTED_STATUS, I3SAttributeLoader;
|
|
8974
9077
|
var init_i3s_attribute_loader = __esm({
|
|
8975
9078
|
"src/i3s-attribute-loader.ts"() {
|
|
8976
9079
|
init_src3();
|
|
8977
9080
|
init_parse_i3s_attribute();
|
|
8978
|
-
|
|
8979
|
-
|
|
9081
|
+
init_url_utils2();
|
|
9082
|
+
VERSION10 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
8980
9083
|
EMPTY_VALUE = "";
|
|
8981
9084
|
REJECTED_STATUS = "rejected";
|
|
8982
9085
|
I3SAttributeLoader = {
|
|
8983
9086
|
name: "I3S Attribute",
|
|
8984
9087
|
id: "i3s-attribute",
|
|
8985
9088
|
module: "i3s",
|
|
8986
|
-
version:
|
|
9089
|
+
version: VERSION10,
|
|
8987
9090
|
mimeTypes: ["application/binary"],
|
|
8988
9091
|
parse: async (arrayBuffer, options) => parseI3STileAttribute(arrayBuffer, options),
|
|
8989
9092
|
extensions: ["bin"],
|
|
@@ -8993,7 +9096,7 @@
|
|
|
8993
9096
|
}
|
|
8994
9097
|
});
|
|
8995
9098
|
|
|
8996
|
-
// src/lib/utils/
|
|
9099
|
+
// src/lib/utils/customize-сolors.ts
|
|
8997
9100
|
async function customizeColors(colors, featureIds, tileOptions, tilesetOptions, options) {
|
|
8998
9101
|
if (!options?.i3s?.colorsByAttribute) {
|
|
8999
9102
|
return colors;
|
|
@@ -9023,7 +9126,13 @@
|
|
|
9023
9126
|
if (!color) {
|
|
9024
9127
|
continue;
|
|
9025
9128
|
}
|
|
9026
|
-
|
|
9129
|
+
if (options.i3s.colorsByAttribute.mode === "multiply") {
|
|
9130
|
+
color.forEach((colorItem, index) => {
|
|
9131
|
+
colors.value[i2 * 4 + index] = colors.value[i2 * 4 + index] * colorItem / 255;
|
|
9132
|
+
});
|
|
9133
|
+
} else {
|
|
9134
|
+
colors.value.set(color, i2 * 4);
|
|
9135
|
+
}
|
|
9027
9136
|
}
|
|
9028
9137
|
return colors;
|
|
9029
9138
|
}
|
|
@@ -9052,11 +9161,11 @@
|
|
|
9052
9161
|
});
|
|
9053
9162
|
return objectIdAttributeData;
|
|
9054
9163
|
}
|
|
9055
|
-
var
|
|
9056
|
-
"src/lib/utils/
|
|
9164
|
+
var init_customize_olors = __esm({
|
|
9165
|
+
"src/lib/utils/customize-\u0441olors.ts"() {
|
|
9057
9166
|
init_src3();
|
|
9058
9167
|
init_i3s_attribute_loader();
|
|
9059
|
-
|
|
9168
|
+
init_url_utils2();
|
|
9060
9169
|
}
|
|
9061
9170
|
});
|
|
9062
9171
|
|
|
@@ -9442,9 +9551,9 @@
|
|
|
9442
9551
|
init_src6();
|
|
9443
9552
|
init_src7();
|
|
9444
9553
|
init_types();
|
|
9445
|
-
|
|
9554
|
+
init_url_utils2();
|
|
9446
9555
|
init_constants();
|
|
9447
|
-
|
|
9556
|
+
init_customize_olors();
|
|
9448
9557
|
scratchVector5 = new Vector3([0, 0, 0]);
|
|
9449
9558
|
I3S_ATTRIBUTE_TYPE = "i3s-attribute-type";
|
|
9450
9559
|
}
|
|
@@ -9460,18 +9569,17 @@
|
|
|
9460
9569
|
}
|
|
9461
9570
|
return await parseI3STileContent(data, tileOptions, tilesetOptions, options, context);
|
|
9462
9571
|
}
|
|
9463
|
-
var
|
|
9572
|
+
var VERSION11, I3SContentLoader;
|
|
9464
9573
|
var init_i3s_content_loader = __esm({
|
|
9465
9574
|
"src/i3s-content-loader.ts"() {
|
|
9466
|
-
init_src();
|
|
9467
9575
|
init_parse_i3s_tile_content();
|
|
9468
|
-
|
|
9576
|
+
VERSION11 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
9469
9577
|
I3SContentLoader = {
|
|
9470
9578
|
name: "I3S Content (Indexed Scene Layers)",
|
|
9471
|
-
id:
|
|
9579
|
+
id: "i3s-content",
|
|
9472
9580
|
module: "i3s",
|
|
9473
9581
|
worker: true,
|
|
9474
|
-
version:
|
|
9582
|
+
version: VERSION11,
|
|
9475
9583
|
mimeTypes: ["application/octet-stream"],
|
|
9476
9584
|
parse: parse3,
|
|
9477
9585
|
extensions: ["bin"],
|
|
@@ -10040,23 +10148,27 @@
|
|
|
10040
10148
|
});
|
|
10041
10149
|
|
|
10042
10150
|
// ../tiles/src/constants.ts
|
|
10043
|
-
var TILE_REFINEMENT, TILE_TYPE, TILESET_TYPE;
|
|
10151
|
+
var TILE_REFINEMENT, TILE_TYPE, TILESET_TYPE, LOD_METRIC_TYPE;
|
|
10044
10152
|
var init_constants4 = __esm({
|
|
10045
10153
|
"../tiles/src/constants.ts"() {
|
|
10046
|
-
|
|
10047
|
-
ADD
|
|
10048
|
-
REPLACE
|
|
10049
|
-
};
|
|
10050
|
-
|
|
10051
|
-
EMPTY
|
|
10052
|
-
SCENEGRAPH
|
|
10053
|
-
POINTCLOUD
|
|
10054
|
-
MESH
|
|
10055
|
-
};
|
|
10056
|
-
|
|
10057
|
-
I3S
|
|
10058
|
-
TILES3D
|
|
10059
|
-
};
|
|
10154
|
+
(function(TILE_REFINEMENT2) {
|
|
10155
|
+
TILE_REFINEMENT2[TILE_REFINEMENT2["ADD"] = 1] = "ADD";
|
|
10156
|
+
TILE_REFINEMENT2[TILE_REFINEMENT2["REPLACE"] = 2] = "REPLACE";
|
|
10157
|
+
})(TILE_REFINEMENT || (TILE_REFINEMENT = {}));
|
|
10158
|
+
(function(TILE_TYPE2) {
|
|
10159
|
+
TILE_TYPE2["EMPTY"] = "empty";
|
|
10160
|
+
TILE_TYPE2["SCENEGRAPH"] = "scenegraph";
|
|
10161
|
+
TILE_TYPE2["POINTCLOUD"] = "pointcloud";
|
|
10162
|
+
TILE_TYPE2["MESH"] = "mesh";
|
|
10163
|
+
})(TILE_TYPE || (TILE_TYPE = {}));
|
|
10164
|
+
(function(TILESET_TYPE2) {
|
|
10165
|
+
TILESET_TYPE2["I3S"] = "I3S";
|
|
10166
|
+
TILESET_TYPE2["TILES3D"] = "TILES3D";
|
|
10167
|
+
})(TILESET_TYPE || (TILESET_TYPE = {}));
|
|
10168
|
+
(function(LOD_METRIC_TYPE2) {
|
|
10169
|
+
LOD_METRIC_TYPE2["GEOMETRIC_ERROR"] = "geometricError";
|
|
10170
|
+
LOD_METRIC_TYPE2["MAX_SCREEN_THRESHOLD"] = "maxScreenThreshold";
|
|
10171
|
+
})(LOD_METRIC_TYPE || (LOD_METRIC_TYPE = {}));
|
|
10060
10172
|
}
|
|
10061
10173
|
});
|
|
10062
10174
|
|
|
@@ -10071,15 +10183,15 @@
|
|
|
10071
10183
|
async function parseNodePage(data, options) {
|
|
10072
10184
|
return JSON.parse(new TextDecoder().decode(data));
|
|
10073
10185
|
}
|
|
10074
|
-
var
|
|
10186
|
+
var VERSION12, I3SNodePageLoader;
|
|
10075
10187
|
var init_i3s_node_page_loader = __esm({
|
|
10076
10188
|
"src/i3s-node-page-loader.ts"() {
|
|
10077
|
-
|
|
10189
|
+
VERSION12 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
10078
10190
|
I3SNodePageLoader = {
|
|
10079
10191
|
name: "I3S Node Page",
|
|
10080
10192
|
id: "i3s-node-page",
|
|
10081
10193
|
module: "i3s",
|
|
10082
|
-
version:
|
|
10194
|
+
version: VERSION12,
|
|
10083
10195
|
mimeTypes: ["application/json"],
|
|
10084
10196
|
parse: parseNodePage,
|
|
10085
10197
|
extensions: ["json"],
|
|
@@ -10096,7 +10208,7 @@
|
|
|
10096
10208
|
init_src7();
|
|
10097
10209
|
init_i3s_node_page_loader();
|
|
10098
10210
|
init_parse_i3s();
|
|
10099
|
-
|
|
10211
|
+
init_url_utils2();
|
|
10100
10212
|
I3SNodePagesTiles = class {
|
|
10101
10213
|
constructor(tileset, options) {
|
|
10102
10214
|
this.nodePages = [];
|
|
@@ -10348,7 +10460,7 @@
|
|
|
10348
10460
|
init_src3();
|
|
10349
10461
|
init_src8();
|
|
10350
10462
|
init_i3s_nodepages_tiles();
|
|
10351
|
-
|
|
10463
|
+
init_url_utils2();
|
|
10352
10464
|
}
|
|
10353
10465
|
});
|
|
10354
10466
|
|
|
@@ -10403,14 +10515,14 @@
|
|
|
10403
10515
|
}
|
|
10404
10516
|
return null;
|
|
10405
10517
|
}
|
|
10406
|
-
var
|
|
10518
|
+
var VERSION13, TILESET_REGEX, TILE_HEADER_REGEX, SLPK_HEX, POINT_CLOUD, I3SLoader;
|
|
10407
10519
|
var init_i3s_loader = __esm({
|
|
10408
10520
|
"src/i3s-loader.ts"() {
|
|
10409
10521
|
init_src3();
|
|
10410
10522
|
init_i3s_content_loader();
|
|
10411
10523
|
init_parse_i3s();
|
|
10412
10524
|
init_constants();
|
|
10413
|
-
|
|
10525
|
+
VERSION13 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
10414
10526
|
TILESET_REGEX = /layers\/[0-9]+$/;
|
|
10415
10527
|
TILE_HEADER_REGEX = /nodes\/([0-9-]+|root)$/;
|
|
10416
10528
|
SLPK_HEX = "504b0304";
|
|
@@ -10419,7 +10531,7 @@
|
|
|
10419
10531
|
name: "I3S (Indexed Scene Layers)",
|
|
10420
10532
|
id: "i3s",
|
|
10421
10533
|
module: "i3s",
|
|
10422
|
-
version:
|
|
10534
|
+
version: VERSION13,
|
|
10423
10535
|
mimeTypes: ["application/octet-stream"],
|
|
10424
10536
|
parse: parseI3S,
|
|
10425
10537
|
extensions: ["bin"],
|
|
@@ -10443,6 +10555,517 @@
|
|
|
10443
10555
|
}
|
|
10444
10556
|
});
|
|
10445
10557
|
|
|
10558
|
+
// src/lib/parsers/parse-zip/cd-file-header.ts
|
|
10559
|
+
var parseZipCDFileHeader;
|
|
10560
|
+
var init_cd_file_header = __esm({
|
|
10561
|
+
"src/lib/parsers/parse-zip/cd-file-header.ts"() {
|
|
10562
|
+
parseZipCDFileHeader = (headerOffset, buffer) => {
|
|
10563
|
+
const offsets = {
|
|
10564
|
+
CD_COMPRESSED_SIZE_OFFSET: 20,
|
|
10565
|
+
CD_UNCOMPRESSED_SIZE_OFFSET: 24,
|
|
10566
|
+
CD_FILE_NAME_LENGTH_OFFSET: 28,
|
|
10567
|
+
CD_EXTRA_FIELD_LENGTH_OFFSET: 30,
|
|
10568
|
+
CD_LOCAL_HEADER_OFFSET_OFFSET: 42,
|
|
10569
|
+
CD_FILE_NAME_OFFSET: 46
|
|
10570
|
+
};
|
|
10571
|
+
const compressedSize = buffer.getUint32(headerOffset + offsets.CD_COMPRESSED_SIZE_OFFSET, true);
|
|
10572
|
+
const uncompressedSize = buffer.getUint32(headerOffset + offsets.CD_UNCOMPRESSED_SIZE_OFFSET, true);
|
|
10573
|
+
const fileNameLength = buffer.getUint16(headerOffset + offsets.CD_FILE_NAME_LENGTH_OFFSET, true);
|
|
10574
|
+
const fileName = buffer.buffer.slice(headerOffset + offsets.CD_FILE_NAME_OFFSET, headerOffset + offsets.CD_FILE_NAME_OFFSET + fileNameLength);
|
|
10575
|
+
const extraOffset = headerOffset + offsets.CD_FILE_NAME_OFFSET + fileNameLength;
|
|
10576
|
+
const oldFormatOffset = buffer.getUint32(headerOffset + offsets.CD_LOCAL_HEADER_OFFSET_OFFSET, true);
|
|
10577
|
+
let fileDataOffset = oldFormatOffset;
|
|
10578
|
+
if (fileDataOffset === 4294967295) {
|
|
10579
|
+
let offsetInZip64Data = 4;
|
|
10580
|
+
if (compressedSize === 4294967295) {
|
|
10581
|
+
offsetInZip64Data += 8;
|
|
10582
|
+
}
|
|
10583
|
+
if (uncompressedSize === 4294967295) {
|
|
10584
|
+
offsetInZip64Data += 8;
|
|
10585
|
+
}
|
|
10586
|
+
fileDataOffset = buffer.getUint32(extraOffset + offsetInZip64Data, true);
|
|
10587
|
+
}
|
|
10588
|
+
const localHeaderOffset = fileDataOffset;
|
|
10589
|
+
return {
|
|
10590
|
+
compressedSize,
|
|
10591
|
+
uncompressedSize,
|
|
10592
|
+
fileNameLength,
|
|
10593
|
+
fileName,
|
|
10594
|
+
extraOffset,
|
|
10595
|
+
localHeaderOffset
|
|
10596
|
+
};
|
|
10597
|
+
};
|
|
10598
|
+
}
|
|
10599
|
+
});
|
|
10600
|
+
|
|
10601
|
+
// src/lib/parsers/parse-zip/local-file-header.ts
|
|
10602
|
+
var parseZipLocalFileHeader;
|
|
10603
|
+
var init_local_file_header = __esm({
|
|
10604
|
+
"src/lib/parsers/parse-zip/local-file-header.ts"() {
|
|
10605
|
+
parseZipLocalFileHeader = (headerOffset, buffer) => {
|
|
10606
|
+
const offsets = {
|
|
10607
|
+
COMPRESSED_SIZE_OFFSET: 18,
|
|
10608
|
+
FILE_NAME_LENGTH_OFFSET: 26,
|
|
10609
|
+
EXTRA_FIELD_LENGTH_OFFSET: 28,
|
|
10610
|
+
FILE_NAME_OFFSET: 30
|
|
10611
|
+
};
|
|
10612
|
+
const fileNameLength = buffer.getUint16(headerOffset + offsets.FILE_NAME_LENGTH_OFFSET, true);
|
|
10613
|
+
const extraFieldLength = buffer.getUint16(headerOffset + offsets.EXTRA_FIELD_LENGTH_OFFSET, true);
|
|
10614
|
+
const fileDataOffset = headerOffset + offsets.FILE_NAME_OFFSET + fileNameLength + extraFieldLength;
|
|
10615
|
+
const compressedSize = buffer.getUint32(headerOffset + offsets.COMPRESSED_SIZE_OFFSET, true);
|
|
10616
|
+
return {
|
|
10617
|
+
fileNameLength,
|
|
10618
|
+
extraFieldLength,
|
|
10619
|
+
fileDataOffset,
|
|
10620
|
+
compressedSize
|
|
10621
|
+
};
|
|
10622
|
+
};
|
|
10623
|
+
}
|
|
10624
|
+
});
|
|
10625
|
+
|
|
10626
|
+
// ../../node_modules/crypt/crypt.js
|
|
10627
|
+
var require_crypt = __commonJS({
|
|
10628
|
+
"../../node_modules/crypt/crypt.js"(exports, module) {
|
|
10629
|
+
(function() {
|
|
10630
|
+
var base64map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", crypt = {
|
|
10631
|
+
rotl: function(n2, b) {
|
|
10632
|
+
return n2 << b | n2 >>> 32 - b;
|
|
10633
|
+
},
|
|
10634
|
+
rotr: function(n2, b) {
|
|
10635
|
+
return n2 << 32 - b | n2 >>> b;
|
|
10636
|
+
},
|
|
10637
|
+
endian: function(n2) {
|
|
10638
|
+
if (n2.constructor == Number) {
|
|
10639
|
+
return crypt.rotl(n2, 8) & 16711935 | crypt.rotl(n2, 24) & 4278255360;
|
|
10640
|
+
}
|
|
10641
|
+
for (var i2 = 0; i2 < n2.length; i2++)
|
|
10642
|
+
n2[i2] = crypt.endian(n2[i2]);
|
|
10643
|
+
return n2;
|
|
10644
|
+
},
|
|
10645
|
+
randomBytes: function(n2) {
|
|
10646
|
+
for (var bytes = []; n2 > 0; n2--)
|
|
10647
|
+
bytes.push(Math.floor(Math.random() * 256));
|
|
10648
|
+
return bytes;
|
|
10649
|
+
},
|
|
10650
|
+
bytesToWords: function(bytes) {
|
|
10651
|
+
for (var words = [], i2 = 0, b = 0; i2 < bytes.length; i2++, b += 8)
|
|
10652
|
+
words[b >>> 5] |= bytes[i2] << 24 - b % 32;
|
|
10653
|
+
return words;
|
|
10654
|
+
},
|
|
10655
|
+
wordsToBytes: function(words) {
|
|
10656
|
+
for (var bytes = [], b = 0; b < words.length * 32; b += 8)
|
|
10657
|
+
bytes.push(words[b >>> 5] >>> 24 - b % 32 & 255);
|
|
10658
|
+
return bytes;
|
|
10659
|
+
},
|
|
10660
|
+
bytesToHex: function(bytes) {
|
|
10661
|
+
for (var hex = [], i2 = 0; i2 < bytes.length; i2++) {
|
|
10662
|
+
hex.push((bytes[i2] >>> 4).toString(16));
|
|
10663
|
+
hex.push((bytes[i2] & 15).toString(16));
|
|
10664
|
+
}
|
|
10665
|
+
return hex.join("");
|
|
10666
|
+
},
|
|
10667
|
+
hexToBytes: function(hex) {
|
|
10668
|
+
for (var bytes = [], c2 = 0; c2 < hex.length; c2 += 2)
|
|
10669
|
+
bytes.push(parseInt(hex.substr(c2, 2), 16));
|
|
10670
|
+
return bytes;
|
|
10671
|
+
},
|
|
10672
|
+
bytesToBase64: function(bytes) {
|
|
10673
|
+
for (var base64 = [], i2 = 0; i2 < bytes.length; i2 += 3) {
|
|
10674
|
+
var triplet = bytes[i2] << 16 | bytes[i2 + 1] << 8 | bytes[i2 + 2];
|
|
10675
|
+
for (var j = 0; j < 4; j++)
|
|
10676
|
+
if (i2 * 8 + j * 6 <= bytes.length * 8)
|
|
10677
|
+
base64.push(base64map.charAt(triplet >>> 6 * (3 - j) & 63));
|
|
10678
|
+
else
|
|
10679
|
+
base64.push("=");
|
|
10680
|
+
}
|
|
10681
|
+
return base64.join("");
|
|
10682
|
+
},
|
|
10683
|
+
base64ToBytes: function(base64) {
|
|
10684
|
+
base64 = base64.replace(/[^A-Z0-9+\/]/ig, "");
|
|
10685
|
+
for (var bytes = [], i2 = 0, imod4 = 0; i2 < base64.length; imod4 = ++i2 % 4) {
|
|
10686
|
+
if (imod4 == 0)
|
|
10687
|
+
continue;
|
|
10688
|
+
bytes.push((base64map.indexOf(base64.charAt(i2 - 1)) & Math.pow(2, -2 * imod4 + 8) - 1) << imod4 * 2 | base64map.indexOf(base64.charAt(i2)) >>> 6 - imod4 * 2);
|
|
10689
|
+
}
|
|
10690
|
+
return bytes;
|
|
10691
|
+
}
|
|
10692
|
+
};
|
|
10693
|
+
module.exports = crypt;
|
|
10694
|
+
})();
|
|
10695
|
+
}
|
|
10696
|
+
});
|
|
10697
|
+
|
|
10698
|
+
// ../../node_modules/charenc/charenc.js
|
|
10699
|
+
var require_charenc = __commonJS({
|
|
10700
|
+
"../../node_modules/charenc/charenc.js"(exports, module) {
|
|
10701
|
+
var charenc = {
|
|
10702
|
+
utf8: {
|
|
10703
|
+
stringToBytes: function(str) {
|
|
10704
|
+
return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));
|
|
10705
|
+
},
|
|
10706
|
+
bytesToString: function(bytes) {
|
|
10707
|
+
return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));
|
|
10708
|
+
}
|
|
10709
|
+
},
|
|
10710
|
+
bin: {
|
|
10711
|
+
stringToBytes: function(str) {
|
|
10712
|
+
for (var bytes = [], i2 = 0; i2 < str.length; i2++)
|
|
10713
|
+
bytes.push(str.charCodeAt(i2) & 255);
|
|
10714
|
+
return bytes;
|
|
10715
|
+
},
|
|
10716
|
+
bytesToString: function(bytes) {
|
|
10717
|
+
for (var str = [], i2 = 0; i2 < bytes.length; i2++)
|
|
10718
|
+
str.push(String.fromCharCode(bytes[i2]));
|
|
10719
|
+
return str.join("");
|
|
10720
|
+
}
|
|
10721
|
+
}
|
|
10722
|
+
};
|
|
10723
|
+
module.exports = charenc;
|
|
10724
|
+
}
|
|
10725
|
+
});
|
|
10726
|
+
|
|
10727
|
+
// ../../node_modules/is-buffer/index.js
|
|
10728
|
+
var require_is_buffer = __commonJS({
|
|
10729
|
+
"../../node_modules/is-buffer/index.js"(exports, module) {
|
|
10730
|
+
module.exports = function(obj) {
|
|
10731
|
+
return obj != null && (isBuffer3(obj) || isSlowBuffer(obj) || !!obj._isBuffer);
|
|
10732
|
+
};
|
|
10733
|
+
function isBuffer3(obj) {
|
|
10734
|
+
return !!obj.constructor && typeof obj.constructor.isBuffer === "function" && obj.constructor.isBuffer(obj);
|
|
10735
|
+
}
|
|
10736
|
+
function isSlowBuffer(obj) {
|
|
10737
|
+
return typeof obj.readFloatLE === "function" && typeof obj.slice === "function" && isBuffer3(obj.slice(0, 0));
|
|
10738
|
+
}
|
|
10739
|
+
}
|
|
10740
|
+
});
|
|
10741
|
+
|
|
10742
|
+
// ../../node_modules/md5/md5.js
|
|
10743
|
+
var require_md5 = __commonJS({
|
|
10744
|
+
"../../node_modules/md5/md5.js"(exports, module) {
|
|
10745
|
+
(function() {
|
|
10746
|
+
var crypt = require_crypt(), utf8 = require_charenc().utf8, isBuffer3 = require_is_buffer(), bin = require_charenc().bin, md52 = function(message, options) {
|
|
10747
|
+
if (message.constructor == String)
|
|
10748
|
+
if (options && options.encoding === "binary")
|
|
10749
|
+
message = bin.stringToBytes(message);
|
|
10750
|
+
else
|
|
10751
|
+
message = utf8.stringToBytes(message);
|
|
10752
|
+
else if (isBuffer3(message))
|
|
10753
|
+
message = Array.prototype.slice.call(message, 0);
|
|
10754
|
+
else if (!Array.isArray(message) && message.constructor !== Uint8Array)
|
|
10755
|
+
message = message.toString();
|
|
10756
|
+
var m = crypt.bytesToWords(message), l2 = message.length * 8, a2 = 1732584193, b = -271733879, c2 = -1732584194, d = 271733878;
|
|
10757
|
+
for (var i2 = 0; i2 < m.length; i2++) {
|
|
10758
|
+
m[i2] = (m[i2] << 8 | m[i2] >>> 24) & 16711935 | (m[i2] << 24 | m[i2] >>> 8) & 4278255360;
|
|
10759
|
+
}
|
|
10760
|
+
m[l2 >>> 5] |= 128 << l2 % 32;
|
|
10761
|
+
m[(l2 + 64 >>> 9 << 4) + 14] = l2;
|
|
10762
|
+
var FF = md52._ff, GG = md52._gg, HH = md52._hh, II = md52._ii;
|
|
10763
|
+
for (var i2 = 0; i2 < m.length; i2 += 16) {
|
|
10764
|
+
var aa = a2, bb = b, cc = c2, dd = d;
|
|
10765
|
+
a2 = FF(a2, b, c2, d, m[i2 + 0], 7, -680876936);
|
|
10766
|
+
d = FF(d, a2, b, c2, m[i2 + 1], 12, -389564586);
|
|
10767
|
+
c2 = FF(c2, d, a2, b, m[i2 + 2], 17, 606105819);
|
|
10768
|
+
b = FF(b, c2, d, a2, m[i2 + 3], 22, -1044525330);
|
|
10769
|
+
a2 = FF(a2, b, c2, d, m[i2 + 4], 7, -176418897);
|
|
10770
|
+
d = FF(d, a2, b, c2, m[i2 + 5], 12, 1200080426);
|
|
10771
|
+
c2 = FF(c2, d, a2, b, m[i2 + 6], 17, -1473231341);
|
|
10772
|
+
b = FF(b, c2, d, a2, m[i2 + 7], 22, -45705983);
|
|
10773
|
+
a2 = FF(a2, b, c2, d, m[i2 + 8], 7, 1770035416);
|
|
10774
|
+
d = FF(d, a2, b, c2, m[i2 + 9], 12, -1958414417);
|
|
10775
|
+
c2 = FF(c2, d, a2, b, m[i2 + 10], 17, -42063);
|
|
10776
|
+
b = FF(b, c2, d, a2, m[i2 + 11], 22, -1990404162);
|
|
10777
|
+
a2 = FF(a2, b, c2, d, m[i2 + 12], 7, 1804603682);
|
|
10778
|
+
d = FF(d, a2, b, c2, m[i2 + 13], 12, -40341101);
|
|
10779
|
+
c2 = FF(c2, d, a2, b, m[i2 + 14], 17, -1502002290);
|
|
10780
|
+
b = FF(b, c2, d, a2, m[i2 + 15], 22, 1236535329);
|
|
10781
|
+
a2 = GG(a2, b, c2, d, m[i2 + 1], 5, -165796510);
|
|
10782
|
+
d = GG(d, a2, b, c2, m[i2 + 6], 9, -1069501632);
|
|
10783
|
+
c2 = GG(c2, d, a2, b, m[i2 + 11], 14, 643717713);
|
|
10784
|
+
b = GG(b, c2, d, a2, m[i2 + 0], 20, -373897302);
|
|
10785
|
+
a2 = GG(a2, b, c2, d, m[i2 + 5], 5, -701558691);
|
|
10786
|
+
d = GG(d, a2, b, c2, m[i2 + 10], 9, 38016083);
|
|
10787
|
+
c2 = GG(c2, d, a2, b, m[i2 + 15], 14, -660478335);
|
|
10788
|
+
b = GG(b, c2, d, a2, m[i2 + 4], 20, -405537848);
|
|
10789
|
+
a2 = GG(a2, b, c2, d, m[i2 + 9], 5, 568446438);
|
|
10790
|
+
d = GG(d, a2, b, c2, m[i2 + 14], 9, -1019803690);
|
|
10791
|
+
c2 = GG(c2, d, a2, b, m[i2 + 3], 14, -187363961);
|
|
10792
|
+
b = GG(b, c2, d, a2, m[i2 + 8], 20, 1163531501);
|
|
10793
|
+
a2 = GG(a2, b, c2, d, m[i2 + 13], 5, -1444681467);
|
|
10794
|
+
d = GG(d, a2, b, c2, m[i2 + 2], 9, -51403784);
|
|
10795
|
+
c2 = GG(c2, d, a2, b, m[i2 + 7], 14, 1735328473);
|
|
10796
|
+
b = GG(b, c2, d, a2, m[i2 + 12], 20, -1926607734);
|
|
10797
|
+
a2 = HH(a2, b, c2, d, m[i2 + 5], 4, -378558);
|
|
10798
|
+
d = HH(d, a2, b, c2, m[i2 + 8], 11, -2022574463);
|
|
10799
|
+
c2 = HH(c2, d, a2, b, m[i2 + 11], 16, 1839030562);
|
|
10800
|
+
b = HH(b, c2, d, a2, m[i2 + 14], 23, -35309556);
|
|
10801
|
+
a2 = HH(a2, b, c2, d, m[i2 + 1], 4, -1530992060);
|
|
10802
|
+
d = HH(d, a2, b, c2, m[i2 + 4], 11, 1272893353);
|
|
10803
|
+
c2 = HH(c2, d, a2, b, m[i2 + 7], 16, -155497632);
|
|
10804
|
+
b = HH(b, c2, d, a2, m[i2 + 10], 23, -1094730640);
|
|
10805
|
+
a2 = HH(a2, b, c2, d, m[i2 + 13], 4, 681279174);
|
|
10806
|
+
d = HH(d, a2, b, c2, m[i2 + 0], 11, -358537222);
|
|
10807
|
+
c2 = HH(c2, d, a2, b, m[i2 + 3], 16, -722521979);
|
|
10808
|
+
b = HH(b, c2, d, a2, m[i2 + 6], 23, 76029189);
|
|
10809
|
+
a2 = HH(a2, b, c2, d, m[i2 + 9], 4, -640364487);
|
|
10810
|
+
d = HH(d, a2, b, c2, m[i2 + 12], 11, -421815835);
|
|
10811
|
+
c2 = HH(c2, d, a2, b, m[i2 + 15], 16, 530742520);
|
|
10812
|
+
b = HH(b, c2, d, a2, m[i2 + 2], 23, -995338651);
|
|
10813
|
+
a2 = II(a2, b, c2, d, m[i2 + 0], 6, -198630844);
|
|
10814
|
+
d = II(d, a2, b, c2, m[i2 + 7], 10, 1126891415);
|
|
10815
|
+
c2 = II(c2, d, a2, b, m[i2 + 14], 15, -1416354905);
|
|
10816
|
+
b = II(b, c2, d, a2, m[i2 + 5], 21, -57434055);
|
|
10817
|
+
a2 = II(a2, b, c2, d, m[i2 + 12], 6, 1700485571);
|
|
10818
|
+
d = II(d, a2, b, c2, m[i2 + 3], 10, -1894986606);
|
|
10819
|
+
c2 = II(c2, d, a2, b, m[i2 + 10], 15, -1051523);
|
|
10820
|
+
b = II(b, c2, d, a2, m[i2 + 1], 21, -2054922799);
|
|
10821
|
+
a2 = II(a2, b, c2, d, m[i2 + 8], 6, 1873313359);
|
|
10822
|
+
d = II(d, a2, b, c2, m[i2 + 15], 10, -30611744);
|
|
10823
|
+
c2 = II(c2, d, a2, b, m[i2 + 6], 15, -1560198380);
|
|
10824
|
+
b = II(b, c2, d, a2, m[i2 + 13], 21, 1309151649);
|
|
10825
|
+
a2 = II(a2, b, c2, d, m[i2 + 4], 6, -145523070);
|
|
10826
|
+
d = II(d, a2, b, c2, m[i2 + 11], 10, -1120210379);
|
|
10827
|
+
c2 = II(c2, d, a2, b, m[i2 + 2], 15, 718787259);
|
|
10828
|
+
b = II(b, c2, d, a2, m[i2 + 9], 21, -343485551);
|
|
10829
|
+
a2 = a2 + aa >>> 0;
|
|
10830
|
+
b = b + bb >>> 0;
|
|
10831
|
+
c2 = c2 + cc >>> 0;
|
|
10832
|
+
d = d + dd >>> 0;
|
|
10833
|
+
}
|
|
10834
|
+
return crypt.endian([a2, b, c2, d]);
|
|
10835
|
+
};
|
|
10836
|
+
md52._ff = function(a2, b, c2, d, x, s2, t2) {
|
|
10837
|
+
var n2 = a2 + (b & c2 | ~b & d) + (x >>> 0) + t2;
|
|
10838
|
+
return (n2 << s2 | n2 >>> 32 - s2) + b;
|
|
10839
|
+
};
|
|
10840
|
+
md52._gg = function(a2, b, c2, d, x, s2, t2) {
|
|
10841
|
+
var n2 = a2 + (b & d | c2 & ~d) + (x >>> 0) + t2;
|
|
10842
|
+
return (n2 << s2 | n2 >>> 32 - s2) + b;
|
|
10843
|
+
};
|
|
10844
|
+
md52._hh = function(a2, b, c2, d, x, s2, t2) {
|
|
10845
|
+
var n2 = a2 + (b ^ c2 ^ d) + (x >>> 0) + t2;
|
|
10846
|
+
return (n2 << s2 | n2 >>> 32 - s2) + b;
|
|
10847
|
+
};
|
|
10848
|
+
md52._ii = function(a2, b, c2, d, x, s2, t2) {
|
|
10849
|
+
var n2 = a2 + (c2 ^ (b | ~d)) + (x >>> 0) + t2;
|
|
10850
|
+
return (n2 << s2 | n2 >>> 32 - s2) + b;
|
|
10851
|
+
};
|
|
10852
|
+
md52._blocksize = 16;
|
|
10853
|
+
md52._digestsize = 16;
|
|
10854
|
+
module.exports = function(message, options) {
|
|
10855
|
+
if (message === void 0 || message === null)
|
|
10856
|
+
throw new Error("Illegal argument " + message);
|
|
10857
|
+
var digestbytes = crypt.wordsToBytes(md52(message, options));
|
|
10858
|
+
return options && options.asBytes ? digestbytes : options && options.asString ? bin.bytesToString(digestbytes) : crypt.bytesToHex(digestbytes);
|
|
10859
|
+
};
|
|
10860
|
+
})();
|
|
10861
|
+
}
|
|
10862
|
+
});
|
|
10863
|
+
|
|
10864
|
+
// ../compression/src/compression-worker.ts
|
|
10865
|
+
var VERSION14, CompressionWorker;
|
|
10866
|
+
var init_compression_worker = __esm({
|
|
10867
|
+
"../compression/src/compression-worker.ts"() {
|
|
10868
|
+
VERSION14 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
10869
|
+
CompressionWorker = {
|
|
10870
|
+
id: "compression",
|
|
10871
|
+
name: "compression",
|
|
10872
|
+
module: "compression",
|
|
10873
|
+
version: VERSION14,
|
|
10874
|
+
options: {}
|
|
10875
|
+
};
|
|
10876
|
+
}
|
|
10877
|
+
});
|
|
10878
|
+
|
|
10879
|
+
// ../compression/src/index.ts
|
|
10880
|
+
var init_src9 = __esm({
|
|
10881
|
+
"../compression/src/index.ts"() {
|
|
10882
|
+
init_compression_worker();
|
|
10883
|
+
}
|
|
10884
|
+
});
|
|
10885
|
+
|
|
10886
|
+
// src/lib/parsers/parse-slpk/slpk-archieve.ts
|
|
10887
|
+
var import_md5, PATH_DESCRIPTIONS, SLPKArchive;
|
|
10888
|
+
var init_slpk_archieve = __esm({
|
|
10889
|
+
"src/lib/parsers/parse-slpk/slpk-archieve.ts"() {
|
|
10890
|
+
init_src();
|
|
10891
|
+
import_md5 = __toModule(require_md5());
|
|
10892
|
+
init_src9();
|
|
10893
|
+
init_local_file_header();
|
|
10894
|
+
PATH_DESCRIPTIONS = [
|
|
10895
|
+
{
|
|
10896
|
+
test: /^$/,
|
|
10897
|
+
extensions: ["3dSceneLayer.json.gz"]
|
|
10898
|
+
},
|
|
10899
|
+
{
|
|
10900
|
+
test: /^nodepages\/\d+$/,
|
|
10901
|
+
extensions: [".json.gz"]
|
|
10902
|
+
},
|
|
10903
|
+
{
|
|
10904
|
+
test: /^nodes\/\d+$/,
|
|
10905
|
+
extensions: ["/3dNodeIndexDocument.json.gz"]
|
|
10906
|
+
},
|
|
10907
|
+
{
|
|
10908
|
+
test: /^nodes\/\d+\/textures\/.+$/,
|
|
10909
|
+
extensions: [".jpg", ".png", ".bin.dds.gz", ".ktx"]
|
|
10910
|
+
},
|
|
10911
|
+
{
|
|
10912
|
+
test: /^nodes\/\d+\/geometries\/\d+$/,
|
|
10913
|
+
extensions: [".bin.gz", ".draco.gz"]
|
|
10914
|
+
},
|
|
10915
|
+
{
|
|
10916
|
+
test: /^nodes\/\d+\/attributes\/f_\d+\/\d+$/,
|
|
10917
|
+
extensions: [".bin.gz"]
|
|
10918
|
+
},
|
|
10919
|
+
{
|
|
10920
|
+
test: /^statistics\/f_\d+\/\d+$/,
|
|
10921
|
+
extensions: [".json.gz"]
|
|
10922
|
+
},
|
|
10923
|
+
{
|
|
10924
|
+
test: /^nodes\/\d+\/shared$/,
|
|
10925
|
+
extensions: ["/sharedResource.json.gz"]
|
|
10926
|
+
}
|
|
10927
|
+
];
|
|
10928
|
+
SLPKArchive = class {
|
|
10929
|
+
constructor(slpkArchiveBuffer, hashFile) {
|
|
10930
|
+
this.slpkArchive = new DataView(slpkArchiveBuffer);
|
|
10931
|
+
this.hashArray = this.parseHashFile(hashFile);
|
|
10932
|
+
}
|
|
10933
|
+
parseHashFile(hashFile) {
|
|
10934
|
+
const hashFileBuffer = Buffer.from(hashFile);
|
|
10935
|
+
const hashArray = [];
|
|
10936
|
+
for (let i2 = 0; i2 < hashFileBuffer.buffer.byteLength; i2 = i2 + 24) {
|
|
10937
|
+
const offsetBuffer = new DataView(hashFileBuffer.buffer.slice(hashFileBuffer.byteOffset + i2 + 16, hashFileBuffer.byteOffset + i2 + 24));
|
|
10938
|
+
const offset = offsetBuffer.getUint32(offsetBuffer.byteOffset, true);
|
|
10939
|
+
hashArray.push({
|
|
10940
|
+
hash: Buffer.from(hashFileBuffer.subarray(hashFileBuffer.byteOffset + i2, hashFileBuffer.byteOffset + i2 + 16)),
|
|
10941
|
+
offset
|
|
10942
|
+
});
|
|
10943
|
+
}
|
|
10944
|
+
return hashArray;
|
|
10945
|
+
}
|
|
10946
|
+
async getFile(path, mode = "raw") {
|
|
10947
|
+
if (mode === "http") {
|
|
10948
|
+
const extensions = PATH_DESCRIPTIONS.find((val) => val.test.test(path))?.extensions;
|
|
10949
|
+
if (extensions) {
|
|
10950
|
+
let data;
|
|
10951
|
+
for (const ext of extensions) {
|
|
10952
|
+
data = await this.getDataByPath(`${path}${ext}`);
|
|
10953
|
+
if (data) {
|
|
10954
|
+
break;
|
|
10955
|
+
}
|
|
10956
|
+
}
|
|
10957
|
+
if (data) {
|
|
10958
|
+
return Buffer.from(data);
|
|
10959
|
+
}
|
|
10960
|
+
}
|
|
10961
|
+
}
|
|
10962
|
+
if (mode === "raw") {
|
|
10963
|
+
const decompressedFile = await this.getDataByPath(`${path}.gz`);
|
|
10964
|
+
if (decompressedFile) {
|
|
10965
|
+
return Buffer.from(decompressedFile);
|
|
10966
|
+
}
|
|
10967
|
+
const fileWithoutCompression = this.getFileBytes(path);
|
|
10968
|
+
if (fileWithoutCompression) {
|
|
10969
|
+
return Buffer.from(fileWithoutCompression);
|
|
10970
|
+
}
|
|
10971
|
+
}
|
|
10972
|
+
throw new Error("No such file in the archieve");
|
|
10973
|
+
}
|
|
10974
|
+
async getDataByPath(path) {
|
|
10975
|
+
const data = this.getFileBytes(path);
|
|
10976
|
+
if (!data) {
|
|
10977
|
+
return void 0;
|
|
10978
|
+
}
|
|
10979
|
+
if (/\.gz$/.test(path)) {
|
|
10980
|
+
const decompressedData = await processOnWorker(CompressionWorker, data, {
|
|
10981
|
+
compression: "gzip",
|
|
10982
|
+
operation: "decompress",
|
|
10983
|
+
_workerType: "test",
|
|
10984
|
+
gzip: {}
|
|
10985
|
+
});
|
|
10986
|
+
return decompressedData;
|
|
10987
|
+
}
|
|
10988
|
+
return Buffer.from(data);
|
|
10989
|
+
}
|
|
10990
|
+
getFileBytes(path) {
|
|
10991
|
+
const nameHash = Buffer.from((0, import_md5.default)(path), "hex");
|
|
10992
|
+
const fileInfo = this.hashArray.find((val) => Buffer.compare(val.hash, nameHash) === 0);
|
|
10993
|
+
if (!fileInfo) {
|
|
10994
|
+
return void 0;
|
|
10995
|
+
}
|
|
10996
|
+
const localFileHeader = parseZipLocalFileHeader(this.slpkArchive.byteOffset + fileInfo?.offset, this.slpkArchive);
|
|
10997
|
+
const compressedFile = this.slpkArchive.buffer.slice(localFileHeader.fileDataOffset, localFileHeader.fileDataOffset + localFileHeader.compressedSize);
|
|
10998
|
+
return compressedFile;
|
|
10999
|
+
}
|
|
11000
|
+
};
|
|
11001
|
+
}
|
|
11002
|
+
});
|
|
11003
|
+
|
|
11004
|
+
// src/lib/parsers/parse-slpk/parse-slpk.ts
|
|
11005
|
+
async function parseSLPK(data, options = {}) {
|
|
11006
|
+
const archive = new DataView(data);
|
|
11007
|
+
const cdFileHeaderSignature = [80, 75, 1, 2];
|
|
11008
|
+
const searchWindow = [
|
|
11009
|
+
getByteAt(archive.byteLength - 1, archive),
|
|
11010
|
+
getByteAt(archive.byteLength - 2, archive),
|
|
11011
|
+
getByteAt(archive.byteLength - 3, archive),
|
|
11012
|
+
void 0
|
|
11013
|
+
];
|
|
11014
|
+
let hashCDOffset = 0;
|
|
11015
|
+
for (let i2 = archive.byteLength - 4; i2 > -1; i2--) {
|
|
11016
|
+
searchWindow[3] = searchWindow[2];
|
|
11017
|
+
searchWindow[2] = searchWindow[1];
|
|
11018
|
+
searchWindow[1] = searchWindow[0];
|
|
11019
|
+
searchWindow[0] = getByteAt(i2, archive);
|
|
11020
|
+
if (searchWindow.every((val, index) => val === cdFileHeaderSignature[index])) {
|
|
11021
|
+
hashCDOffset = i2;
|
|
11022
|
+
break;
|
|
11023
|
+
}
|
|
11024
|
+
}
|
|
11025
|
+
const cdFileHeader = parseZipCDFileHeader(hashCDOffset, archive);
|
|
11026
|
+
const textDecoder = new TextDecoder();
|
|
11027
|
+
if (textDecoder.decode(cdFileHeader.fileName) !== "@specialIndexFileHASH128@") {
|
|
11028
|
+
throw new Error("No hash file in slpk");
|
|
11029
|
+
}
|
|
11030
|
+
const localFileHeader = parseZipLocalFileHeader(cdFileHeader.localHeaderOffset, archive);
|
|
11031
|
+
const fileDataOffset = localFileHeader.fileDataOffset;
|
|
11032
|
+
const hashFile = archive.buffer.slice(fileDataOffset, fileDataOffset + localFileHeader.compressedSize);
|
|
11033
|
+
if (!hashFile) {
|
|
11034
|
+
throw new Error("No hash file in slpk");
|
|
11035
|
+
}
|
|
11036
|
+
return await new SLPKArchive(data, hashFile).getFile(options.slpk?.path ?? "", options.slpk?.pathMode);
|
|
11037
|
+
}
|
|
11038
|
+
var getByteAt;
|
|
11039
|
+
var init_parse_slpk = __esm({
|
|
11040
|
+
"src/lib/parsers/parse-slpk/parse-slpk.ts"() {
|
|
11041
|
+
init_cd_file_header();
|
|
11042
|
+
init_local_file_header();
|
|
11043
|
+
init_slpk_archieve();
|
|
11044
|
+
getByteAt = (offset, buffer) => {
|
|
11045
|
+
return buffer.getUint8(buffer.byteOffset + offset);
|
|
11046
|
+
};
|
|
11047
|
+
}
|
|
11048
|
+
});
|
|
11049
|
+
|
|
11050
|
+
// src/i3s-slpk-loader.ts
|
|
11051
|
+
var VERSION15, SLPKLoader;
|
|
11052
|
+
var init_i3s_slpk_loader = __esm({
|
|
11053
|
+
"src/i3s-slpk-loader.ts"() {
|
|
11054
|
+
init_parse_slpk();
|
|
11055
|
+
VERSION15 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
11056
|
+
SLPKLoader = {
|
|
11057
|
+
name: "I3S SLPK (Scene Layer Package)",
|
|
11058
|
+
id: "slpk",
|
|
11059
|
+
module: "i3s",
|
|
11060
|
+
version: VERSION15,
|
|
11061
|
+
mimeTypes: ["application/octet-stream"],
|
|
11062
|
+
parse: parseSLPK,
|
|
11063
|
+
extensions: ["slpk"],
|
|
11064
|
+
options: {}
|
|
11065
|
+
};
|
|
11066
|
+
}
|
|
11067
|
+
});
|
|
11068
|
+
|
|
10446
11069
|
// src/lib/parsers/parse-i3s-building-scene-layer.ts
|
|
10447
11070
|
async function parseBuildingSceneLayer(data, url) {
|
|
10448
11071
|
const layer0 = JSON.parse(new TextDecoder().decode(data));
|
|
@@ -10487,16 +11110,16 @@
|
|
|
10487
11110
|
}
|
|
10488
11111
|
return parseBuildingSceneLayer(data, context.url);
|
|
10489
11112
|
}
|
|
10490
|
-
var
|
|
11113
|
+
var VERSION16, I3SBuildingSceneLayerLoader;
|
|
10491
11114
|
var init_i3s_building_scene_layer_loader = __esm({
|
|
10492
11115
|
"src/i3s-building-scene-layer-loader.ts"() {
|
|
10493
11116
|
init_parse_i3s_building_scene_layer();
|
|
10494
|
-
|
|
11117
|
+
VERSION16 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
10495
11118
|
I3SBuildingSceneLayerLoader = {
|
|
10496
11119
|
name: "I3S Building Scene Layer",
|
|
10497
11120
|
id: "i3s-building-scene-layer",
|
|
10498
11121
|
module: "i3s",
|
|
10499
|
-
version:
|
|
11122
|
+
version: VERSION16,
|
|
10500
11123
|
mimeTypes: ["application/json"],
|
|
10501
11124
|
parse: parse4,
|
|
10502
11125
|
extensions: ["json"],
|
|
@@ -10577,16 +11200,16 @@
|
|
|
10577
11200
|
async function parse5(data) {
|
|
10578
11201
|
return parseWebscene(data);
|
|
10579
11202
|
}
|
|
10580
|
-
var
|
|
11203
|
+
var VERSION17, ArcGisWebSceneLoader;
|
|
10581
11204
|
var init_arcgis_webscene_loader = __esm({
|
|
10582
11205
|
"src/arcgis-webscene-loader.ts"() {
|
|
10583
11206
|
init_parse_arcgis_webscene();
|
|
10584
|
-
|
|
11207
|
+
VERSION17 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
10585
11208
|
ArcGisWebSceneLoader = {
|
|
10586
11209
|
name: "ArcGIS Web Scene Loader",
|
|
10587
11210
|
id: "arcgis-web-scene",
|
|
10588
11211
|
module: "i3s",
|
|
10589
|
-
version:
|
|
11212
|
+
version: VERSION17,
|
|
10590
11213
|
mimeTypes: ["application/json"],
|
|
10591
11214
|
parse: parse5,
|
|
10592
11215
|
extensions: ["json"],
|
|
@@ -10605,16 +11228,18 @@
|
|
|
10605
11228
|
I3SContentLoader: () => I3SContentLoader,
|
|
10606
11229
|
I3SLoader: () => I3SLoader,
|
|
10607
11230
|
I3SNodePageLoader: () => I3SNodePageLoader,
|
|
11231
|
+
SLPKLoader: () => SLPKLoader,
|
|
10608
11232
|
loadFeatureAttributes: () => loadFeatureAttributes
|
|
10609
11233
|
});
|
|
10610
|
-
var
|
|
11234
|
+
var init_src10 = __esm({
|
|
10611
11235
|
"src/index.ts"() {
|
|
10612
11236
|
init_constants();
|
|
10613
11237
|
init_i3s_loader();
|
|
11238
|
+
init_i3s_slpk_loader();
|
|
10614
11239
|
init_i3s_content_loader();
|
|
10615
11240
|
init_i3s_attribute_loader();
|
|
10616
|
-
init_i3s_node_page_loader();
|
|
10617
11241
|
init_i3s_building_scene_layer_loader();
|
|
11242
|
+
init_i3s_node_page_loader();
|
|
10618
11243
|
init_arcgis_webscene_loader();
|
|
10619
11244
|
}
|
|
10620
11245
|
});
|
|
@@ -10622,10 +11247,16 @@
|
|
|
10622
11247
|
// src/bundle.ts
|
|
10623
11248
|
var require_bundle = __commonJS({
|
|
10624
11249
|
"src/bundle.ts"(exports, module) {
|
|
10625
|
-
var moduleExports = (
|
|
11250
|
+
var moduleExports = (init_src10(), src_exports);
|
|
10626
11251
|
globalThis.loaders = globalThis.loaders || {};
|
|
10627
11252
|
module.exports = Object.assign(globalThis.loaders, moduleExports);
|
|
10628
11253
|
}
|
|
10629
11254
|
});
|
|
10630
11255
|
require_bundle();
|
|
10631
11256
|
})();
|
|
11257
|
+
/*!
|
|
11258
|
+
* Determine if an object is a Buffer
|
|
11259
|
+
*
|
|
11260
|
+
* @author Feross Aboukhadijeh <https://feross.org>
|
|
11261
|
+
* @license MIT
|
|
11262
|
+
*/
|