@loaders.gl/i3s 3.4.0-alpha.4 → 3.4.0
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 +659 -94
- package/dist/es5/arcgis-webscene-loader.js +1 -1
- package/dist/es5/arcgis-webscene-loader.js.map +1 -1
- package/dist/es5/i3s-attribute-loader.js +1 -1
- package/dist/es5/i3s-attribute-loader.js.map +1 -1
- package/dist/es5/i3s-building-scene-layer-loader.js +1 -1
- package/dist/es5/i3s-building-scene-layer-loader.js.map +1 -1
- package/dist/es5/i3s-content-loader.js +1 -1
- package/dist/es5/i3s-content-loader.js.map +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-node-page-loader.js.map +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 +7 -0
- package/dist/es5/index.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 +112 -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/esm/arcgis-webscene-loader.js +1 -1
- package/dist/esm/arcgis-webscene-loader.js.map +1 -1
- package/dist/esm/i3s-attribute-loader.js +1 -1
- package/dist/esm/i3s-attribute-loader.js.map +1 -1
- package/dist/esm/i3s-building-scene-layer-loader.js +1 -1
- package/dist/esm/i3s-building-scene-layer-loader.js.map +1 -1
- package/dist/esm/i3s-content-loader.js +1 -1
- package/dist/esm/i3s-content-loader.js.map +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-node-page-loader.js.map +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 +1 -0
- package/dist/esm/index.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 +58 -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/i3s-content-nodejs-worker.js +48 -48
- package/dist/i3s-content-nodejs-worker.js.map +3 -3
- package/dist/i3s-content-worker.js +68 -46
- package/dist/i3s-slpk-loader.d.ts +10 -0
- package/dist/i3s-slpk-loader.d.ts.map +1 -0
- package/dist/i3s-slpk-loader.js +20 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- 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 +32 -0
- package/dist/lib/parsers/parse-slpk/slpk-archieve.d.ts.map +1 -0
- package/dist/lib/parsers/parse-slpk/slpk-archieve.js +79 -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/package.json +9 -8
- package/src/i3s-slpk-loader.ts +25 -0
- package/src/index.ts +1 -0
- package/src/lib/parsers/parse-slpk/parse-slpk.ts +61 -0
- package/src/lib/parsers/parse-slpk/slpk-archieve.ts +108 -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/dist/dist.min.js
CHANGED
|
@@ -234,6 +234,22 @@
|
|
|
234
234
|
}
|
|
235
235
|
return false;
|
|
236
236
|
}
|
|
237
|
+
function getTransferListForWriter(object) {
|
|
238
|
+
if (object === null) {
|
|
239
|
+
return {};
|
|
240
|
+
}
|
|
241
|
+
const clone3 = Object.assign({}, object);
|
|
242
|
+
Object.keys(clone3).forEach((key) => {
|
|
243
|
+
if (typeof object[key] === "object" && !ArrayBuffer.isView(object[key]) && !(object[key] instanceof Array)) {
|
|
244
|
+
clone3[key] = getTransferListForWriter(object[key]);
|
|
245
|
+
} else if (typeof clone3[key] === "function" || clone3[key] instanceof RegExp) {
|
|
246
|
+
clone3[key] = {};
|
|
247
|
+
} else {
|
|
248
|
+
clone3[key] = object[key];
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
return clone3;
|
|
252
|
+
}
|
|
237
253
|
var init_get_transfer_list = __esm({
|
|
238
254
|
"../worker-utils/src/lib/worker-utils/get-transfer-list.ts"() {
|
|
239
255
|
}
|
|
@@ -381,9 +397,9 @@
|
|
|
381
397
|
this.onDebug = props.onDebug;
|
|
382
398
|
}
|
|
383
399
|
}
|
|
384
|
-
async startJob(name,
|
|
400
|
+
async startJob(name, onMessage3 = (job, type, data) => job.done(data), onError = (job, error) => job.error(error)) {
|
|
385
401
|
const startPromise = new Promise((onStart) => {
|
|
386
|
-
this.jobQueue.push({ name, onMessage:
|
|
402
|
+
this.jobQueue.push({ name, onMessage: onMessage3, onError, onStart });
|
|
387
403
|
return this;
|
|
388
404
|
});
|
|
389
405
|
this._startQueuedJob();
|
|
@@ -513,6 +529,10 @@
|
|
|
513
529
|
});
|
|
514
530
|
|
|
515
531
|
// ../worker-utils/src/lib/worker-api/get-worker-url.ts
|
|
532
|
+
function getWorkerName(worker) {
|
|
533
|
+
const warning = worker.version !== VERSION2 ? ` (worker-utils@${VERSION2})` : "";
|
|
534
|
+
return `${worker.name}@${worker.version}${warning}`;
|
|
535
|
+
}
|
|
516
536
|
function getWorkerURL(worker, options = {}) {
|
|
517
537
|
const workerOptions = options[worker.id] || {};
|
|
518
538
|
const workerFile = `${worker.id}-worker.js`;
|
|
@@ -534,11 +554,64 @@
|
|
|
534
554
|
assert2(url);
|
|
535
555
|
return url;
|
|
536
556
|
}
|
|
537
|
-
var NPM_TAG;
|
|
557
|
+
var NPM_TAG, VERSION2;
|
|
538
558
|
var init_get_worker_url = __esm({
|
|
539
559
|
"../worker-utils/src/lib/worker-api/get-worker-url.ts"() {
|
|
540
560
|
init_assert2();
|
|
561
|
+
init_version();
|
|
541
562
|
NPM_TAG = "beta";
|
|
563
|
+
VERSION2 = typeof VERSION !== "undefined" ? VERSION : NPM_TAG;
|
|
564
|
+
}
|
|
565
|
+
});
|
|
566
|
+
|
|
567
|
+
// ../worker-utils/src/lib/worker-api/process-on-worker.ts
|
|
568
|
+
async function processOnWorker(worker, data, options = {}, context = {}) {
|
|
569
|
+
const name = getWorkerName(worker);
|
|
570
|
+
const workerFarm = WorkerFarm.getWorkerFarm(options);
|
|
571
|
+
const { source } = options;
|
|
572
|
+
const workerPoolProps = { name, source };
|
|
573
|
+
if (!source) {
|
|
574
|
+
workerPoolProps.url = getWorkerURL(worker, options);
|
|
575
|
+
}
|
|
576
|
+
const workerPool = workerFarm.getWorkerPool(workerPoolProps);
|
|
577
|
+
const jobName = options.jobName || worker.name;
|
|
578
|
+
const job = await workerPool.startJob(jobName, onMessage.bind(null, context));
|
|
579
|
+
const transferableOptions = getTransferListForWriter(options);
|
|
580
|
+
job.postMessage("process", { input: data, options: transferableOptions });
|
|
581
|
+
const result = await job.result;
|
|
582
|
+
return result.result;
|
|
583
|
+
}
|
|
584
|
+
async function onMessage(context, job, type, payload) {
|
|
585
|
+
switch (type) {
|
|
586
|
+
case "done":
|
|
587
|
+
job.done(payload);
|
|
588
|
+
break;
|
|
589
|
+
case "error":
|
|
590
|
+
job.error(new Error(payload.error));
|
|
591
|
+
break;
|
|
592
|
+
case "process":
|
|
593
|
+
const { id, input, options } = payload;
|
|
594
|
+
try {
|
|
595
|
+
if (!context.process) {
|
|
596
|
+
job.postMessage("error", { id, error: "Worker not set up to process on main thread" });
|
|
597
|
+
return;
|
|
598
|
+
}
|
|
599
|
+
const result = await context.process(input, options);
|
|
600
|
+
job.postMessage("done", { id, result });
|
|
601
|
+
} catch (error) {
|
|
602
|
+
const message = error instanceof Error ? error.message : "unknown error";
|
|
603
|
+
job.postMessage("error", { id, error: message });
|
|
604
|
+
}
|
|
605
|
+
break;
|
|
606
|
+
default:
|
|
607
|
+
console.warn(`process-on-worker: unknown message ${type}`);
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
var init_process_on_worker = __esm({
|
|
611
|
+
"../worker-utils/src/lib/worker-api/process-on-worker.ts"() {
|
|
612
|
+
init_worker_farm();
|
|
613
|
+
init_get_worker_url();
|
|
614
|
+
init_get_transfer_list();
|
|
542
615
|
}
|
|
543
616
|
});
|
|
544
617
|
|
|
@@ -585,7 +658,7 @@
|
|
|
585
658
|
}
|
|
586
659
|
if (options.CDN) {
|
|
587
660
|
assert2(options.CDN.startsWith("http"));
|
|
588
|
-
return `${options.CDN}/${moduleName}@${
|
|
661
|
+
return `${options.CDN}/${moduleName}@${VERSION3}/dist/libs/${library}`;
|
|
589
662
|
}
|
|
590
663
|
if (isWorker) {
|
|
591
664
|
return `../src/libs/${library}`;
|
|
@@ -629,7 +702,7 @@
|
|
|
629
702
|
document.body.appendChild(script);
|
|
630
703
|
return null;
|
|
631
704
|
}
|
|
632
|
-
var node, LATEST,
|
|
705
|
+
var node, LATEST, VERSION3, loadLibraryPromises;
|
|
633
706
|
var init_library_utils = __esm({
|
|
634
707
|
"../worker-utils/src/lib/library-utils/library-utils.ts"() {
|
|
635
708
|
init_globals2();
|
|
@@ -637,7 +710,7 @@
|
|
|
637
710
|
init_assert2();
|
|
638
711
|
init_version();
|
|
639
712
|
LATEST = "beta";
|
|
640
|
-
|
|
713
|
+
VERSION3 = typeof VERSION !== "undefined" ? VERSION : LATEST;
|
|
641
714
|
loadLibraryPromises = {};
|
|
642
715
|
}
|
|
643
716
|
});
|
|
@@ -648,6 +721,7 @@
|
|
|
648
721
|
init_assert2();
|
|
649
722
|
init_globals2();
|
|
650
723
|
init_worker_farm();
|
|
724
|
+
init_process_on_worker();
|
|
651
725
|
init_get_worker_url();
|
|
652
726
|
init_validate_worker_version();
|
|
653
727
|
init_library_utils();
|
|
@@ -671,7 +745,7 @@
|
|
|
671
745
|
const workerPool = workerFarm.getWorkerPool({ name, url });
|
|
672
746
|
options = JSON.parse(JSON.stringify(options));
|
|
673
747
|
context = JSON.parse(JSON.stringify(context || {}));
|
|
674
|
-
const job = await workerPool.startJob("process-on-worker",
|
|
748
|
+
const job = await workerPool.startJob("process-on-worker", onMessage2.bind(null, parseOnMainThread));
|
|
675
749
|
job.postMessage("process", {
|
|
676
750
|
input: data,
|
|
677
751
|
options,
|
|
@@ -680,7 +754,7 @@
|
|
|
680
754
|
const result = await job.result;
|
|
681
755
|
return await result.result;
|
|
682
756
|
}
|
|
683
|
-
async function
|
|
757
|
+
async function onMessage2(parseOnMainThread, job, type, payload) {
|
|
684
758
|
switch (type) {
|
|
685
759
|
case "done":
|
|
686
760
|
job.done(payload);
|
|
@@ -845,15 +919,15 @@
|
|
|
845
919
|
function parseTextSync(text) {
|
|
846
920
|
return JSON.parse(text);
|
|
847
921
|
}
|
|
848
|
-
var
|
|
922
|
+
var VERSION4, JSONLoader;
|
|
849
923
|
var init_json_loader = __esm({
|
|
850
924
|
"../loader-utils/src/json-loader.ts"() {
|
|
851
|
-
|
|
925
|
+
VERSION4 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
852
926
|
JSONLoader = {
|
|
853
927
|
name: "JSON",
|
|
854
928
|
id: "json",
|
|
855
929
|
module: "json",
|
|
856
|
-
version:
|
|
930
|
+
version: VERSION4,
|
|
857
931
|
extensions: ["json", "geojson"],
|
|
858
932
|
mimeTypes: ["application/json"],
|
|
859
933
|
category: "json",
|
|
@@ -1115,39 +1189,60 @@
|
|
|
1115
1189
|
}
|
|
1116
1190
|
});
|
|
1117
1191
|
|
|
1192
|
+
// ../core/src/lib/utils/url-utils.ts
|
|
1193
|
+
function extractQueryString(url) {
|
|
1194
|
+
const matches3 = url.match(QUERY_STRING_PATTERN);
|
|
1195
|
+
return matches3 && matches3[0];
|
|
1196
|
+
}
|
|
1197
|
+
function stripQueryString(url) {
|
|
1198
|
+
return url.replace(QUERY_STRING_PATTERN, "");
|
|
1199
|
+
}
|
|
1200
|
+
var QUERY_STRING_PATTERN;
|
|
1201
|
+
var init_url_utils = __esm({
|
|
1202
|
+
"../core/src/lib/utils/url-utils.ts"() {
|
|
1203
|
+
QUERY_STRING_PATTERN = /\?.*/;
|
|
1204
|
+
}
|
|
1205
|
+
});
|
|
1206
|
+
|
|
1118
1207
|
// ../core/src/lib/utils/resource-utils.ts
|
|
1119
|
-
function
|
|
1208
|
+
function getResourceUrl(resource) {
|
|
1120
1209
|
if (isResponse(resource)) {
|
|
1121
|
-
const
|
|
1122
|
-
|
|
1123
|
-
return {
|
|
1124
|
-
url,
|
|
1125
|
-
type: parseMIMEType(contentTypeHeader) || parseMIMETypeFromURL(url)
|
|
1126
|
-
};
|
|
1210
|
+
const response = resource;
|
|
1211
|
+
return response.url;
|
|
1127
1212
|
}
|
|
1128
1213
|
if (isBlob(resource)) {
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
type: resource.type || ""
|
|
1132
|
-
};
|
|
1214
|
+
const blob = resource;
|
|
1215
|
+
return blob.name || "";
|
|
1133
1216
|
}
|
|
1134
1217
|
if (typeof resource === "string") {
|
|
1135
|
-
return
|
|
1136
|
-
url: stripQueryString(resource),
|
|
1137
|
-
type: parseMIMETypeFromURL(resource)
|
|
1138
|
-
};
|
|
1218
|
+
return resource;
|
|
1139
1219
|
}
|
|
1140
|
-
return
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1220
|
+
return "";
|
|
1221
|
+
}
|
|
1222
|
+
function getResourceMIMEType(resource) {
|
|
1223
|
+
if (isResponse(resource)) {
|
|
1224
|
+
const response = resource;
|
|
1225
|
+
const contentTypeHeader = response.headers.get("content-type") || "";
|
|
1226
|
+
const noQueryUrl = stripQueryString(response.url);
|
|
1227
|
+
return parseMIMEType(contentTypeHeader) || parseMIMETypeFromURL(noQueryUrl);
|
|
1228
|
+
}
|
|
1229
|
+
if (isBlob(resource)) {
|
|
1230
|
+
const blob = resource;
|
|
1231
|
+
return blob.type || "";
|
|
1232
|
+
}
|
|
1233
|
+
if (typeof resource === "string") {
|
|
1234
|
+
return parseMIMETypeFromURL(resource);
|
|
1235
|
+
}
|
|
1236
|
+
return "";
|
|
1144
1237
|
}
|
|
1145
1238
|
function getResourceContentLength(resource) {
|
|
1146
1239
|
if (isResponse(resource)) {
|
|
1147
|
-
|
|
1240
|
+
const response = resource;
|
|
1241
|
+
return response.headers["content-length"] || -1;
|
|
1148
1242
|
}
|
|
1149
1243
|
if (isBlob(resource)) {
|
|
1150
|
-
|
|
1244
|
+
const blob = resource;
|
|
1245
|
+
return blob.size;
|
|
1151
1246
|
}
|
|
1152
1247
|
if (typeof resource === "string") {
|
|
1153
1248
|
return resource.length;
|
|
@@ -1160,15 +1255,11 @@
|
|
|
1160
1255
|
}
|
|
1161
1256
|
return -1;
|
|
1162
1257
|
}
|
|
1163
|
-
function stripQueryString(url) {
|
|
1164
|
-
return url.replace(QUERY_STRING_PATTERN, "");
|
|
1165
|
-
}
|
|
1166
|
-
var QUERY_STRING_PATTERN;
|
|
1167
1258
|
var init_resource_utils = __esm({
|
|
1168
1259
|
"../core/src/lib/utils/resource-utils.ts"() {
|
|
1169
1260
|
init_is_type();
|
|
1170
1261
|
init_mime_type_utils();
|
|
1171
|
-
|
|
1262
|
+
init_url_utils();
|
|
1172
1263
|
}
|
|
1173
1264
|
});
|
|
1174
1265
|
|
|
@@ -1182,7 +1273,8 @@
|
|
|
1182
1273
|
if (contentLength >= 0) {
|
|
1183
1274
|
headers["content-length"] = String(contentLength);
|
|
1184
1275
|
}
|
|
1185
|
-
const
|
|
1276
|
+
const url = getResourceUrl(resource);
|
|
1277
|
+
const type = getResourceMIMEType(resource);
|
|
1186
1278
|
if (type) {
|
|
1187
1279
|
headers["content-type"] = type;
|
|
1188
1280
|
}
|
|
@@ -1316,11 +1408,11 @@
|
|
|
1316
1408
|
});
|
|
1317
1409
|
|
|
1318
1410
|
// ../../node_modules/@probe.gl/env/dist/utils/globals.js
|
|
1319
|
-
var
|
|
1411
|
+
var VERSION5, isBrowser4;
|
|
1320
1412
|
var init_globals4 = __esm({
|
|
1321
1413
|
"../../node_modules/@probe.gl/env/dist/utils/globals.js"() {
|
|
1322
1414
|
init_is_browser();
|
|
1323
|
-
|
|
1415
|
+
VERSION5 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "untranspiled source";
|
|
1324
1416
|
isBrowser4 = isBrowser3();
|
|
1325
1417
|
}
|
|
1326
1418
|
});
|
|
@@ -1657,7 +1749,7 @@
|
|
|
1657
1749
|
id: ""
|
|
1658
1750
|
};
|
|
1659
1751
|
_defineProperty(this, "id", void 0);
|
|
1660
|
-
_defineProperty(this, "VERSION",
|
|
1752
|
+
_defineProperty(this, "VERSION", VERSION5);
|
|
1661
1753
|
_defineProperty(this, "_startTs", getHiResTimestamp());
|
|
1662
1754
|
_defineProperty(this, "_deltaTs", getHiResTimestamp());
|
|
1663
1755
|
_defineProperty(this, "_storage", void 0);
|
|
@@ -1860,7 +1952,7 @@
|
|
|
1860
1952
|
return noop;
|
|
1861
1953
|
}
|
|
1862
1954
|
};
|
|
1863
|
-
_defineProperty(Log, "VERSION",
|
|
1955
|
+
_defineProperty(Log, "VERSION", VERSION5);
|
|
1864
1956
|
}
|
|
1865
1957
|
});
|
|
1866
1958
|
|
|
@@ -2168,8 +2260,9 @@
|
|
|
2168
2260
|
return loader;
|
|
2169
2261
|
}
|
|
2170
2262
|
function selectLoaderInternal(data, loaders, options, context) {
|
|
2171
|
-
const
|
|
2172
|
-
const
|
|
2263
|
+
const url = getResourceUrl(data);
|
|
2264
|
+
const type = getResourceMIMEType(data);
|
|
2265
|
+
const testUrl = stripQueryString(url) || context?.url;
|
|
2173
2266
|
let loader = null;
|
|
2174
2267
|
let reason = "";
|
|
2175
2268
|
if (options?.mimeType) {
|
|
@@ -2198,7 +2291,8 @@
|
|
|
2198
2291
|
return true;
|
|
2199
2292
|
}
|
|
2200
2293
|
function getNoValidLoaderMessage(data) {
|
|
2201
|
-
const
|
|
2294
|
+
const url = getResourceUrl(data);
|
|
2295
|
+
const type = getResourceMIMEType(data);
|
|
2202
2296
|
let message = "No valid loader found (";
|
|
2203
2297
|
message += url ? `${path_exports.filename(url)}, ` : "no url provided, ";
|
|
2204
2298
|
message += `MIME type: ${type ? `"${type}"` : "not provided"}, `;
|
|
@@ -2317,6 +2411,7 @@
|
|
|
2317
2411
|
init_resource_utils();
|
|
2318
2412
|
init_register_loaders();
|
|
2319
2413
|
init_is_type();
|
|
2414
|
+
init_url_utils();
|
|
2320
2415
|
EXT_PATTERN = /\.([^.]+)$/;
|
|
2321
2416
|
}
|
|
2322
2417
|
});
|
|
@@ -2529,18 +2624,25 @@
|
|
|
2529
2624
|
});
|
|
2530
2625
|
|
|
2531
2626
|
// ../core/src/lib/loader-utils/loader-context.ts
|
|
2532
|
-
function getLoaderContext(context, options,
|
|
2533
|
-
if (
|
|
2534
|
-
return
|
|
2627
|
+
function getLoaderContext(context, options, parentContext) {
|
|
2628
|
+
if (parentContext) {
|
|
2629
|
+
return parentContext;
|
|
2535
2630
|
}
|
|
2536
|
-
const
|
|
2631
|
+
const newContext = {
|
|
2537
2632
|
fetch: getFetchFunction(options, context),
|
|
2538
2633
|
...context
|
|
2539
2634
|
};
|
|
2540
|
-
if (
|
|
2541
|
-
|
|
2635
|
+
if (newContext.url) {
|
|
2636
|
+
const baseUrl = stripQueryString(newContext.url);
|
|
2637
|
+
newContext.baseUrl = baseUrl;
|
|
2638
|
+
newContext.queryString = extractQueryString(newContext.url);
|
|
2639
|
+
newContext.filename = path_exports.filename(baseUrl);
|
|
2640
|
+
newContext.baseUrl = path_exports.dirname(baseUrl);
|
|
2641
|
+
}
|
|
2642
|
+
if (!Array.isArray(newContext.loaders)) {
|
|
2643
|
+
newContext.loaders = null;
|
|
2542
2644
|
}
|
|
2543
|
-
return
|
|
2645
|
+
return newContext;
|
|
2544
2646
|
}
|
|
2545
2647
|
function getLoadersFromContext(loaders, context) {
|
|
2546
2648
|
if (!context && loaders && !Array.isArray(loaders)) {
|
|
@@ -2559,6 +2661,8 @@
|
|
|
2559
2661
|
var init_loader_context = __esm({
|
|
2560
2662
|
"../core/src/lib/loader-utils/loader-context.ts"() {
|
|
2561
2663
|
init_get_fetch_function();
|
|
2664
|
+
init_url_utils();
|
|
2665
|
+
init_src2();
|
|
2562
2666
|
}
|
|
2563
2667
|
});
|
|
2564
2668
|
|
|
@@ -2572,7 +2676,7 @@
|
|
|
2572
2676
|
}
|
|
2573
2677
|
data = await data;
|
|
2574
2678
|
options = options || {};
|
|
2575
|
-
const
|
|
2679
|
+
const url = getResourceUrl(data);
|
|
2576
2680
|
const typedLoaders = loaders;
|
|
2577
2681
|
const candidateLoaders = getLoadersFromContext(typedLoaders, context);
|
|
2578
2682
|
const loader = await selectLoader(data, candidateLoaders, options);
|
|
@@ -2580,7 +2684,7 @@
|
|
|
2580
2684
|
return null;
|
|
2581
2685
|
}
|
|
2582
2686
|
options = normalizeOptions(options, loader, candidateLoaders, url);
|
|
2583
|
-
context = getLoaderContext({ url, parse, loaders: candidateLoaders }, options, context);
|
|
2687
|
+
context = getLoaderContext({ url, parse, loaders: candidateLoaders }, options, context || null);
|
|
2584
2688
|
return await parseWithLoader(loader, data, options, context);
|
|
2585
2689
|
}
|
|
2586
2690
|
async function parseWithLoader(loader, data, options, context) {
|
|
@@ -5973,10 +6077,10 @@
|
|
|
5973
6077
|
});
|
|
5974
6078
|
|
|
5975
6079
|
// ../images/src/lib/utils/version.ts
|
|
5976
|
-
var
|
|
6080
|
+
var VERSION6;
|
|
5977
6081
|
var init_version2 = __esm({
|
|
5978
6082
|
"../images/src/lib/utils/version.ts"() {
|
|
5979
|
-
|
|
6083
|
+
VERSION6 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
5980
6084
|
}
|
|
5981
6085
|
});
|
|
5982
6086
|
|
|
@@ -6425,7 +6529,7 @@
|
|
|
6425
6529
|
id: "image",
|
|
6426
6530
|
module: "images",
|
|
6427
6531
|
name: "Images",
|
|
6428
|
-
version:
|
|
6532
|
+
version: VERSION6,
|
|
6429
6533
|
mimeTypes: MIME_TYPES,
|
|
6430
6534
|
extensions: EXTENSIONS,
|
|
6431
6535
|
parse: parseImage,
|
|
@@ -6443,10 +6547,10 @@
|
|
|
6443
6547
|
});
|
|
6444
6548
|
|
|
6445
6549
|
// ../draco/src/lib/utils/version.ts
|
|
6446
|
-
var
|
|
6550
|
+
var VERSION7;
|
|
6447
6551
|
var init_version3 = __esm({
|
|
6448
6552
|
"../draco/src/lib/utils/version.ts"() {
|
|
6449
|
-
|
|
6553
|
+
VERSION7 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
6450
6554
|
}
|
|
6451
6555
|
});
|
|
6452
6556
|
|
|
@@ -6469,7 +6573,7 @@
|
|
|
6469
6573
|
id: isBrowser2 ? "draco" : "draco-nodejs",
|
|
6470
6574
|
module: "draco",
|
|
6471
6575
|
shapes: ["mesh"],
|
|
6472
|
-
version:
|
|
6576
|
+
version: VERSION7,
|
|
6473
6577
|
worker: true,
|
|
6474
6578
|
extensions: ["drc"],
|
|
6475
6579
|
mimeTypes: ["application/octet-stream"],
|
|
@@ -7525,10 +7629,10 @@
|
|
|
7525
7629
|
});
|
|
7526
7630
|
|
|
7527
7631
|
// ../textures/src/lib/utils/version.ts
|
|
7528
|
-
var
|
|
7632
|
+
var VERSION8;
|
|
7529
7633
|
var init_version4 = __esm({
|
|
7530
7634
|
"../textures/src/lib/utils/version.ts"() {
|
|
7531
|
-
|
|
7635
|
+
VERSION8 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
7532
7636
|
}
|
|
7533
7637
|
});
|
|
7534
7638
|
|
|
@@ -7595,13 +7699,13 @@
|
|
|
7595
7699
|
});
|
|
7596
7700
|
});
|
|
7597
7701
|
}
|
|
7598
|
-
var
|
|
7702
|
+
var VERSION9, BASIS_CDN_ENCODER_WASM, BASIS_CDN_ENCODER_JS, loadBasisTranscoderPromise, loadBasisEncoderPromise;
|
|
7599
7703
|
var init_basis_module_loader = __esm({
|
|
7600
7704
|
"../textures/src/lib/parsers/basis-module-loader.ts"() {
|
|
7601
7705
|
init_src();
|
|
7602
|
-
|
|
7603
|
-
BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${
|
|
7604
|
-
BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${
|
|
7706
|
+
VERSION9 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
7707
|
+
BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION9}/dist/libs/basis_encoder.wasm`;
|
|
7708
|
+
BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION9}/dist/libs/basis_encoder.js`;
|
|
7605
7709
|
}
|
|
7606
7710
|
});
|
|
7607
7711
|
|
|
@@ -8169,7 +8273,7 @@
|
|
|
8169
8273
|
name: "Basis",
|
|
8170
8274
|
id: isBrowser2 ? "basis" : "basis-nodejs",
|
|
8171
8275
|
module: "textures",
|
|
8172
|
-
version:
|
|
8276
|
+
version: VERSION8,
|
|
8173
8277
|
worker: true,
|
|
8174
8278
|
extensions: ["basis", "ktx2"],
|
|
8175
8279
|
mimeTypes: ["application/octet-stream", "image/ktx2"],
|
|
@@ -8512,7 +8616,7 @@
|
|
|
8512
8616
|
name: "Texture Containers",
|
|
8513
8617
|
id: "compressed-texture",
|
|
8514
8618
|
module: "textures",
|
|
8515
|
-
version:
|
|
8619
|
+
version: VERSION8,
|
|
8516
8620
|
worker: true,
|
|
8517
8621
|
extensions: [
|
|
8518
8622
|
"ktx",
|
|
@@ -8605,7 +8709,7 @@
|
|
|
8605
8709
|
}
|
|
8606
8710
|
return attributeUrls;
|
|
8607
8711
|
}
|
|
8608
|
-
var
|
|
8712
|
+
var init_url_utils2 = __esm({
|
|
8609
8713
|
"src/lib/utils/url-utils.ts"() {
|
|
8610
8714
|
}
|
|
8611
8715
|
});
|
|
@@ -9448,20 +9552,20 @@
|
|
|
9448
9552
|
}
|
|
9449
9553
|
return value;
|
|
9450
9554
|
}
|
|
9451
|
-
var
|
|
9555
|
+
var VERSION10, EMPTY_VALUE, REJECTED_STATUS, I3SAttributeLoader;
|
|
9452
9556
|
var init_i3s_attribute_loader = __esm({
|
|
9453
9557
|
"src/i3s-attribute-loader.ts"() {
|
|
9454
9558
|
init_src3();
|
|
9455
9559
|
init_parse_i3s_attribute();
|
|
9456
|
-
|
|
9457
|
-
|
|
9560
|
+
init_url_utils2();
|
|
9561
|
+
VERSION10 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
9458
9562
|
EMPTY_VALUE = "";
|
|
9459
9563
|
REJECTED_STATUS = "rejected";
|
|
9460
9564
|
I3SAttributeLoader = {
|
|
9461
9565
|
name: "I3S Attribute",
|
|
9462
9566
|
id: "i3s-attribute",
|
|
9463
9567
|
module: "i3s",
|
|
9464
|
-
version:
|
|
9568
|
+
version: VERSION10,
|
|
9465
9569
|
mimeTypes: ["application/binary"],
|
|
9466
9570
|
parse: parse3,
|
|
9467
9571
|
extensions: ["bin"],
|
|
@@ -9534,7 +9638,7 @@
|
|
|
9534
9638
|
"src/lib/utils/customizeColors.ts"() {
|
|
9535
9639
|
init_src3();
|
|
9536
9640
|
init_i3s_attribute_loader();
|
|
9537
|
-
|
|
9641
|
+
init_url_utils2();
|
|
9538
9642
|
}
|
|
9539
9643
|
});
|
|
9540
9644
|
|
|
@@ -9920,7 +10024,7 @@
|
|
|
9920
10024
|
init_src6();
|
|
9921
10025
|
init_src7();
|
|
9922
10026
|
init_types();
|
|
9923
|
-
|
|
10027
|
+
init_url_utils2();
|
|
9924
10028
|
init_constants2();
|
|
9925
10029
|
init_customizeColors();
|
|
9926
10030
|
scratchVector5 = new Vector3([0, 0, 0]);
|
|
@@ -9938,18 +10042,18 @@
|
|
|
9938
10042
|
}
|
|
9939
10043
|
return await parseI3STileContent(data, tileOptions, tilesetOptions, options, context);
|
|
9940
10044
|
}
|
|
9941
|
-
var
|
|
10045
|
+
var VERSION11, I3SContentLoader;
|
|
9942
10046
|
var init_i3s_content_loader = __esm({
|
|
9943
10047
|
"src/i3s-content-loader.ts"() {
|
|
9944
10048
|
init_src();
|
|
9945
10049
|
init_parse_i3s_tile_content();
|
|
9946
|
-
|
|
10050
|
+
VERSION11 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
9947
10051
|
I3SContentLoader = {
|
|
9948
10052
|
name: "I3S Content (Indexed Scene Layers)",
|
|
9949
10053
|
id: isBrowser2 ? "i3s-content" : "i3s-content-nodejs",
|
|
9950
10054
|
module: "i3s",
|
|
9951
10055
|
worker: true,
|
|
9952
|
-
version:
|
|
10056
|
+
version: VERSION11,
|
|
9953
10057
|
mimeTypes: ["application/octet-stream"],
|
|
9954
10058
|
parse: parse4,
|
|
9955
10059
|
extensions: ["bin"],
|
|
@@ -10553,15 +10657,15 @@
|
|
|
10553
10657
|
data = parseNodePage(data);
|
|
10554
10658
|
return data;
|
|
10555
10659
|
}
|
|
10556
|
-
var
|
|
10660
|
+
var VERSION12, I3SNodePageLoader;
|
|
10557
10661
|
var init_i3s_node_page_loader = __esm({
|
|
10558
10662
|
"src/i3s-node-page-loader.ts"() {
|
|
10559
|
-
|
|
10663
|
+
VERSION12 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
10560
10664
|
I3SNodePageLoader = {
|
|
10561
10665
|
name: "I3S Node Page",
|
|
10562
10666
|
id: "i3s-node-page",
|
|
10563
10667
|
module: "i3s",
|
|
10564
|
-
version:
|
|
10668
|
+
version: VERSION12,
|
|
10565
10669
|
mimeTypes: ["application/json"],
|
|
10566
10670
|
parse: parse5,
|
|
10567
10671
|
extensions: ["json"],
|
|
@@ -10578,7 +10682,7 @@
|
|
|
10578
10682
|
init_src7();
|
|
10579
10683
|
init_i3s_node_page_loader();
|
|
10580
10684
|
init_parse_i3s();
|
|
10581
|
-
|
|
10685
|
+
init_url_utils2();
|
|
10582
10686
|
I3SNodePagesTiles = class {
|
|
10583
10687
|
constructor(tileset, options) {
|
|
10584
10688
|
this.nodePages = [];
|
|
@@ -10830,7 +10934,7 @@
|
|
|
10830
10934
|
init_src3();
|
|
10831
10935
|
init_src8();
|
|
10832
10936
|
init_i3s_nodepages_tiles();
|
|
10833
|
-
|
|
10937
|
+
init_url_utils2();
|
|
10834
10938
|
}
|
|
10835
10939
|
});
|
|
10836
10940
|
|
|
@@ -10885,14 +10989,14 @@
|
|
|
10885
10989
|
}
|
|
10886
10990
|
return null;
|
|
10887
10991
|
}
|
|
10888
|
-
var
|
|
10992
|
+
var VERSION13, TILESET_REGEX, TILE_HEADER_REGEX, SLPK_HEX, POINT_CLOUD, I3SLoader;
|
|
10889
10993
|
var init_i3s_loader = __esm({
|
|
10890
10994
|
"src/i3s-loader.ts"() {
|
|
10891
10995
|
init_src3();
|
|
10892
10996
|
init_i3s_content_loader();
|
|
10893
10997
|
init_parse_i3s();
|
|
10894
10998
|
init_constants2();
|
|
10895
|
-
|
|
10999
|
+
VERSION13 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
10896
11000
|
TILESET_REGEX = /layers\/[0-9]+$/;
|
|
10897
11001
|
TILE_HEADER_REGEX = /nodes\/([0-9-]+|root)$/;
|
|
10898
11002
|
SLPK_HEX = "504b0304";
|
|
@@ -10901,7 +11005,7 @@
|
|
|
10901
11005
|
name: "I3S (Indexed Scene Layers)",
|
|
10902
11006
|
id: "i3s",
|
|
10903
11007
|
module: "i3s",
|
|
10904
|
-
version:
|
|
11008
|
+
version: VERSION13,
|
|
10905
11009
|
mimeTypes: ["application/octet-stream"],
|
|
10906
11010
|
parse: parseI3S,
|
|
10907
11011
|
extensions: ["bin"],
|
|
@@ -10925,6 +11029,459 @@
|
|
|
10925
11029
|
}
|
|
10926
11030
|
});
|
|
10927
11031
|
|
|
11032
|
+
// src/lib/parsers/parse-zip/cd-file-header.ts
|
|
11033
|
+
var parseZipCDFileHeader;
|
|
11034
|
+
var init_cd_file_header = __esm({
|
|
11035
|
+
"src/lib/parsers/parse-zip/cd-file-header.ts"() {
|
|
11036
|
+
parseZipCDFileHeader = (headerOffset, buffer) => {
|
|
11037
|
+
const offsets = {
|
|
11038
|
+
CD_COMPRESSED_SIZE_OFFSET: 20,
|
|
11039
|
+
CD_UNCOMPRESSED_SIZE_OFFSET: 24,
|
|
11040
|
+
CD_FILE_NAME_LENGTH_OFFSET: 28,
|
|
11041
|
+
CD_EXTRA_FIELD_LENGTH_OFFSET: 30,
|
|
11042
|
+
CD_LOCAL_HEADER_OFFSET_OFFSET: 42,
|
|
11043
|
+
CD_FILE_NAME_OFFSET: 46
|
|
11044
|
+
};
|
|
11045
|
+
const compressedSize = buffer.getUint32(headerOffset + offsets.CD_COMPRESSED_SIZE_OFFSET, true);
|
|
11046
|
+
const uncompressedSize = buffer.getUint32(headerOffset + offsets.CD_UNCOMPRESSED_SIZE_OFFSET, true);
|
|
11047
|
+
const fileNameLength = buffer.getUint16(headerOffset + offsets.CD_FILE_NAME_LENGTH_OFFSET, true);
|
|
11048
|
+
const fileName = buffer.buffer.slice(headerOffset + offsets.CD_FILE_NAME_OFFSET, headerOffset + offsets.CD_FILE_NAME_OFFSET + fileNameLength);
|
|
11049
|
+
const extraOffset = headerOffset + offsets.CD_FILE_NAME_OFFSET + fileNameLength;
|
|
11050
|
+
const oldFormatOffset = buffer.getUint32(headerOffset + offsets.CD_LOCAL_HEADER_OFFSET_OFFSET, true);
|
|
11051
|
+
let fileDataOffset = oldFormatOffset;
|
|
11052
|
+
if (fileDataOffset === 4294967295) {
|
|
11053
|
+
let offsetInZip64Data = 4;
|
|
11054
|
+
if (compressedSize === 4294967295) {
|
|
11055
|
+
offsetInZip64Data += 8;
|
|
11056
|
+
}
|
|
11057
|
+
if (uncompressedSize === 4294967295) {
|
|
11058
|
+
offsetInZip64Data += 8;
|
|
11059
|
+
}
|
|
11060
|
+
fileDataOffset = buffer.getUint32(extraOffset + offsetInZip64Data, true);
|
|
11061
|
+
}
|
|
11062
|
+
const localHeaderOffset = fileDataOffset;
|
|
11063
|
+
return {
|
|
11064
|
+
compressedSize,
|
|
11065
|
+
uncompressedSize,
|
|
11066
|
+
fileNameLength,
|
|
11067
|
+
fileName,
|
|
11068
|
+
extraOffset,
|
|
11069
|
+
localHeaderOffset
|
|
11070
|
+
};
|
|
11071
|
+
};
|
|
11072
|
+
}
|
|
11073
|
+
});
|
|
11074
|
+
|
|
11075
|
+
// src/lib/parsers/parse-zip/local-file-header.ts
|
|
11076
|
+
var parseZipLocalFileHeader;
|
|
11077
|
+
var init_local_file_header = __esm({
|
|
11078
|
+
"src/lib/parsers/parse-zip/local-file-header.ts"() {
|
|
11079
|
+
parseZipLocalFileHeader = (headerOffset, buffer) => {
|
|
11080
|
+
const offsets = {
|
|
11081
|
+
COMPRESSED_SIZE_OFFSET: 18,
|
|
11082
|
+
FILE_NAME_LENGTH_OFFSET: 26,
|
|
11083
|
+
EXTRA_FIELD_LENGTH_OFFSET: 28,
|
|
11084
|
+
FILE_NAME_OFFSET: 30
|
|
11085
|
+
};
|
|
11086
|
+
const fileNameLength = buffer.getUint16(headerOffset + offsets.FILE_NAME_LENGTH_OFFSET, true);
|
|
11087
|
+
const extraFieldLength = buffer.getUint16(headerOffset + offsets.EXTRA_FIELD_LENGTH_OFFSET, true);
|
|
11088
|
+
const fileDataOffset = headerOffset + offsets.FILE_NAME_OFFSET + fileNameLength + extraFieldLength;
|
|
11089
|
+
const compressedSize = buffer.getUint32(headerOffset + offsets.COMPRESSED_SIZE_OFFSET, true);
|
|
11090
|
+
return {
|
|
11091
|
+
fileNameLength,
|
|
11092
|
+
extraFieldLength,
|
|
11093
|
+
fileDataOffset,
|
|
11094
|
+
compressedSize
|
|
11095
|
+
};
|
|
11096
|
+
};
|
|
11097
|
+
}
|
|
11098
|
+
});
|
|
11099
|
+
|
|
11100
|
+
// ../../node_modules/crypt/crypt.js
|
|
11101
|
+
var require_crypt = __commonJS({
|
|
11102
|
+
"../../node_modules/crypt/crypt.js"(exports, module) {
|
|
11103
|
+
(function() {
|
|
11104
|
+
var base64map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", crypt = {
|
|
11105
|
+
rotl: function(n2, b) {
|
|
11106
|
+
return n2 << b | n2 >>> 32 - b;
|
|
11107
|
+
},
|
|
11108
|
+
rotr: function(n2, b) {
|
|
11109
|
+
return n2 << 32 - b | n2 >>> b;
|
|
11110
|
+
},
|
|
11111
|
+
endian: function(n2) {
|
|
11112
|
+
if (n2.constructor == Number) {
|
|
11113
|
+
return crypt.rotl(n2, 8) & 16711935 | crypt.rotl(n2, 24) & 4278255360;
|
|
11114
|
+
}
|
|
11115
|
+
for (var i2 = 0; i2 < n2.length; i2++)
|
|
11116
|
+
n2[i2] = crypt.endian(n2[i2]);
|
|
11117
|
+
return n2;
|
|
11118
|
+
},
|
|
11119
|
+
randomBytes: function(n2) {
|
|
11120
|
+
for (var bytes = []; n2 > 0; n2--)
|
|
11121
|
+
bytes.push(Math.floor(Math.random() * 256));
|
|
11122
|
+
return bytes;
|
|
11123
|
+
},
|
|
11124
|
+
bytesToWords: function(bytes) {
|
|
11125
|
+
for (var words = [], i2 = 0, b = 0; i2 < bytes.length; i2++, b += 8)
|
|
11126
|
+
words[b >>> 5] |= bytes[i2] << 24 - b % 32;
|
|
11127
|
+
return words;
|
|
11128
|
+
},
|
|
11129
|
+
wordsToBytes: function(words) {
|
|
11130
|
+
for (var bytes = [], b = 0; b < words.length * 32; b += 8)
|
|
11131
|
+
bytes.push(words[b >>> 5] >>> 24 - b % 32 & 255);
|
|
11132
|
+
return bytes;
|
|
11133
|
+
},
|
|
11134
|
+
bytesToHex: function(bytes) {
|
|
11135
|
+
for (var hex = [], i2 = 0; i2 < bytes.length; i2++) {
|
|
11136
|
+
hex.push((bytes[i2] >>> 4).toString(16));
|
|
11137
|
+
hex.push((bytes[i2] & 15).toString(16));
|
|
11138
|
+
}
|
|
11139
|
+
return hex.join("");
|
|
11140
|
+
},
|
|
11141
|
+
hexToBytes: function(hex) {
|
|
11142
|
+
for (var bytes = [], c2 = 0; c2 < hex.length; c2 += 2)
|
|
11143
|
+
bytes.push(parseInt(hex.substr(c2, 2), 16));
|
|
11144
|
+
return bytes;
|
|
11145
|
+
},
|
|
11146
|
+
bytesToBase64: function(bytes) {
|
|
11147
|
+
for (var base64 = [], i2 = 0; i2 < bytes.length; i2 += 3) {
|
|
11148
|
+
var triplet = bytes[i2] << 16 | bytes[i2 + 1] << 8 | bytes[i2 + 2];
|
|
11149
|
+
for (var j = 0; j < 4; j++)
|
|
11150
|
+
if (i2 * 8 + j * 6 <= bytes.length * 8)
|
|
11151
|
+
base64.push(base64map.charAt(triplet >>> 6 * (3 - j) & 63));
|
|
11152
|
+
else
|
|
11153
|
+
base64.push("=");
|
|
11154
|
+
}
|
|
11155
|
+
return base64.join("");
|
|
11156
|
+
},
|
|
11157
|
+
base64ToBytes: function(base64) {
|
|
11158
|
+
base64 = base64.replace(/[^A-Z0-9+\/]/ig, "");
|
|
11159
|
+
for (var bytes = [], i2 = 0, imod4 = 0; i2 < base64.length; imod4 = ++i2 % 4) {
|
|
11160
|
+
if (imod4 == 0)
|
|
11161
|
+
continue;
|
|
11162
|
+
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);
|
|
11163
|
+
}
|
|
11164
|
+
return bytes;
|
|
11165
|
+
}
|
|
11166
|
+
};
|
|
11167
|
+
module.exports = crypt;
|
|
11168
|
+
})();
|
|
11169
|
+
}
|
|
11170
|
+
});
|
|
11171
|
+
|
|
11172
|
+
// ../../node_modules/charenc/charenc.js
|
|
11173
|
+
var require_charenc = __commonJS({
|
|
11174
|
+
"../../node_modules/charenc/charenc.js"(exports, module) {
|
|
11175
|
+
var charenc = {
|
|
11176
|
+
utf8: {
|
|
11177
|
+
stringToBytes: function(str) {
|
|
11178
|
+
return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));
|
|
11179
|
+
},
|
|
11180
|
+
bytesToString: function(bytes) {
|
|
11181
|
+
return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));
|
|
11182
|
+
}
|
|
11183
|
+
},
|
|
11184
|
+
bin: {
|
|
11185
|
+
stringToBytes: function(str) {
|
|
11186
|
+
for (var bytes = [], i2 = 0; i2 < str.length; i2++)
|
|
11187
|
+
bytes.push(str.charCodeAt(i2) & 255);
|
|
11188
|
+
return bytes;
|
|
11189
|
+
},
|
|
11190
|
+
bytesToString: function(bytes) {
|
|
11191
|
+
for (var str = [], i2 = 0; i2 < bytes.length; i2++)
|
|
11192
|
+
str.push(String.fromCharCode(bytes[i2]));
|
|
11193
|
+
return str.join("");
|
|
11194
|
+
}
|
|
11195
|
+
}
|
|
11196
|
+
};
|
|
11197
|
+
module.exports = charenc;
|
|
11198
|
+
}
|
|
11199
|
+
});
|
|
11200
|
+
|
|
11201
|
+
// ../../node_modules/is-buffer/index.js
|
|
11202
|
+
var require_is_buffer = __commonJS({
|
|
11203
|
+
"../../node_modules/is-buffer/index.js"(exports, module) {
|
|
11204
|
+
module.exports = function(obj) {
|
|
11205
|
+
return obj != null && (isBuffer3(obj) || isSlowBuffer(obj) || !!obj._isBuffer);
|
|
11206
|
+
};
|
|
11207
|
+
function isBuffer3(obj) {
|
|
11208
|
+
return !!obj.constructor && typeof obj.constructor.isBuffer === "function" && obj.constructor.isBuffer(obj);
|
|
11209
|
+
}
|
|
11210
|
+
function isSlowBuffer(obj) {
|
|
11211
|
+
return typeof obj.readFloatLE === "function" && typeof obj.slice === "function" && isBuffer3(obj.slice(0, 0));
|
|
11212
|
+
}
|
|
11213
|
+
}
|
|
11214
|
+
});
|
|
11215
|
+
|
|
11216
|
+
// ../../node_modules/md5/md5.js
|
|
11217
|
+
var require_md5 = __commonJS({
|
|
11218
|
+
"../../node_modules/md5/md5.js"(exports, module) {
|
|
11219
|
+
(function() {
|
|
11220
|
+
var crypt = require_crypt(), utf8 = require_charenc().utf8, isBuffer3 = require_is_buffer(), bin = require_charenc().bin, md52 = function(message, options) {
|
|
11221
|
+
if (message.constructor == String)
|
|
11222
|
+
if (options && options.encoding === "binary")
|
|
11223
|
+
message = bin.stringToBytes(message);
|
|
11224
|
+
else
|
|
11225
|
+
message = utf8.stringToBytes(message);
|
|
11226
|
+
else if (isBuffer3(message))
|
|
11227
|
+
message = Array.prototype.slice.call(message, 0);
|
|
11228
|
+
else if (!Array.isArray(message) && message.constructor !== Uint8Array)
|
|
11229
|
+
message = message.toString();
|
|
11230
|
+
var m = crypt.bytesToWords(message), l2 = message.length * 8, a2 = 1732584193, b = -271733879, c2 = -1732584194, d = 271733878;
|
|
11231
|
+
for (var i2 = 0; i2 < m.length; i2++) {
|
|
11232
|
+
m[i2] = (m[i2] << 8 | m[i2] >>> 24) & 16711935 | (m[i2] << 24 | m[i2] >>> 8) & 4278255360;
|
|
11233
|
+
}
|
|
11234
|
+
m[l2 >>> 5] |= 128 << l2 % 32;
|
|
11235
|
+
m[(l2 + 64 >>> 9 << 4) + 14] = l2;
|
|
11236
|
+
var FF = md52._ff, GG = md52._gg, HH = md52._hh, II = md52._ii;
|
|
11237
|
+
for (var i2 = 0; i2 < m.length; i2 += 16) {
|
|
11238
|
+
var aa = a2, bb = b, cc = c2, dd = d;
|
|
11239
|
+
a2 = FF(a2, b, c2, d, m[i2 + 0], 7, -680876936);
|
|
11240
|
+
d = FF(d, a2, b, c2, m[i2 + 1], 12, -389564586);
|
|
11241
|
+
c2 = FF(c2, d, a2, b, m[i2 + 2], 17, 606105819);
|
|
11242
|
+
b = FF(b, c2, d, a2, m[i2 + 3], 22, -1044525330);
|
|
11243
|
+
a2 = FF(a2, b, c2, d, m[i2 + 4], 7, -176418897);
|
|
11244
|
+
d = FF(d, a2, b, c2, m[i2 + 5], 12, 1200080426);
|
|
11245
|
+
c2 = FF(c2, d, a2, b, m[i2 + 6], 17, -1473231341);
|
|
11246
|
+
b = FF(b, c2, d, a2, m[i2 + 7], 22, -45705983);
|
|
11247
|
+
a2 = FF(a2, b, c2, d, m[i2 + 8], 7, 1770035416);
|
|
11248
|
+
d = FF(d, a2, b, c2, m[i2 + 9], 12, -1958414417);
|
|
11249
|
+
c2 = FF(c2, d, a2, b, m[i2 + 10], 17, -42063);
|
|
11250
|
+
b = FF(b, c2, d, a2, m[i2 + 11], 22, -1990404162);
|
|
11251
|
+
a2 = FF(a2, b, c2, d, m[i2 + 12], 7, 1804603682);
|
|
11252
|
+
d = FF(d, a2, b, c2, m[i2 + 13], 12, -40341101);
|
|
11253
|
+
c2 = FF(c2, d, a2, b, m[i2 + 14], 17, -1502002290);
|
|
11254
|
+
b = FF(b, c2, d, a2, m[i2 + 15], 22, 1236535329);
|
|
11255
|
+
a2 = GG(a2, b, c2, d, m[i2 + 1], 5, -165796510);
|
|
11256
|
+
d = GG(d, a2, b, c2, m[i2 + 6], 9, -1069501632);
|
|
11257
|
+
c2 = GG(c2, d, a2, b, m[i2 + 11], 14, 643717713);
|
|
11258
|
+
b = GG(b, c2, d, a2, m[i2 + 0], 20, -373897302);
|
|
11259
|
+
a2 = GG(a2, b, c2, d, m[i2 + 5], 5, -701558691);
|
|
11260
|
+
d = GG(d, a2, b, c2, m[i2 + 10], 9, 38016083);
|
|
11261
|
+
c2 = GG(c2, d, a2, b, m[i2 + 15], 14, -660478335);
|
|
11262
|
+
b = GG(b, c2, d, a2, m[i2 + 4], 20, -405537848);
|
|
11263
|
+
a2 = GG(a2, b, c2, d, m[i2 + 9], 5, 568446438);
|
|
11264
|
+
d = GG(d, a2, b, c2, m[i2 + 14], 9, -1019803690);
|
|
11265
|
+
c2 = GG(c2, d, a2, b, m[i2 + 3], 14, -187363961);
|
|
11266
|
+
b = GG(b, c2, d, a2, m[i2 + 8], 20, 1163531501);
|
|
11267
|
+
a2 = GG(a2, b, c2, d, m[i2 + 13], 5, -1444681467);
|
|
11268
|
+
d = GG(d, a2, b, c2, m[i2 + 2], 9, -51403784);
|
|
11269
|
+
c2 = GG(c2, d, a2, b, m[i2 + 7], 14, 1735328473);
|
|
11270
|
+
b = GG(b, c2, d, a2, m[i2 + 12], 20, -1926607734);
|
|
11271
|
+
a2 = HH(a2, b, c2, d, m[i2 + 5], 4, -378558);
|
|
11272
|
+
d = HH(d, a2, b, c2, m[i2 + 8], 11, -2022574463);
|
|
11273
|
+
c2 = HH(c2, d, a2, b, m[i2 + 11], 16, 1839030562);
|
|
11274
|
+
b = HH(b, c2, d, a2, m[i2 + 14], 23, -35309556);
|
|
11275
|
+
a2 = HH(a2, b, c2, d, m[i2 + 1], 4, -1530992060);
|
|
11276
|
+
d = HH(d, a2, b, c2, m[i2 + 4], 11, 1272893353);
|
|
11277
|
+
c2 = HH(c2, d, a2, b, m[i2 + 7], 16, -155497632);
|
|
11278
|
+
b = HH(b, c2, d, a2, m[i2 + 10], 23, -1094730640);
|
|
11279
|
+
a2 = HH(a2, b, c2, d, m[i2 + 13], 4, 681279174);
|
|
11280
|
+
d = HH(d, a2, b, c2, m[i2 + 0], 11, -358537222);
|
|
11281
|
+
c2 = HH(c2, d, a2, b, m[i2 + 3], 16, -722521979);
|
|
11282
|
+
b = HH(b, c2, d, a2, m[i2 + 6], 23, 76029189);
|
|
11283
|
+
a2 = HH(a2, b, c2, d, m[i2 + 9], 4, -640364487);
|
|
11284
|
+
d = HH(d, a2, b, c2, m[i2 + 12], 11, -421815835);
|
|
11285
|
+
c2 = HH(c2, d, a2, b, m[i2 + 15], 16, 530742520);
|
|
11286
|
+
b = HH(b, c2, d, a2, m[i2 + 2], 23, -995338651);
|
|
11287
|
+
a2 = II(a2, b, c2, d, m[i2 + 0], 6, -198630844);
|
|
11288
|
+
d = II(d, a2, b, c2, m[i2 + 7], 10, 1126891415);
|
|
11289
|
+
c2 = II(c2, d, a2, b, m[i2 + 14], 15, -1416354905);
|
|
11290
|
+
b = II(b, c2, d, a2, m[i2 + 5], 21, -57434055);
|
|
11291
|
+
a2 = II(a2, b, c2, d, m[i2 + 12], 6, 1700485571);
|
|
11292
|
+
d = II(d, a2, b, c2, m[i2 + 3], 10, -1894986606);
|
|
11293
|
+
c2 = II(c2, d, a2, b, m[i2 + 10], 15, -1051523);
|
|
11294
|
+
b = II(b, c2, d, a2, m[i2 + 1], 21, -2054922799);
|
|
11295
|
+
a2 = II(a2, b, c2, d, m[i2 + 8], 6, 1873313359);
|
|
11296
|
+
d = II(d, a2, b, c2, m[i2 + 15], 10, -30611744);
|
|
11297
|
+
c2 = II(c2, d, a2, b, m[i2 + 6], 15, -1560198380);
|
|
11298
|
+
b = II(b, c2, d, a2, m[i2 + 13], 21, 1309151649);
|
|
11299
|
+
a2 = II(a2, b, c2, d, m[i2 + 4], 6, -145523070);
|
|
11300
|
+
d = II(d, a2, b, c2, m[i2 + 11], 10, -1120210379);
|
|
11301
|
+
c2 = II(c2, d, a2, b, m[i2 + 2], 15, 718787259);
|
|
11302
|
+
b = II(b, c2, d, a2, m[i2 + 9], 21, -343485551);
|
|
11303
|
+
a2 = a2 + aa >>> 0;
|
|
11304
|
+
b = b + bb >>> 0;
|
|
11305
|
+
c2 = c2 + cc >>> 0;
|
|
11306
|
+
d = d + dd >>> 0;
|
|
11307
|
+
}
|
|
11308
|
+
return crypt.endian([a2, b, c2, d]);
|
|
11309
|
+
};
|
|
11310
|
+
md52._ff = function(a2, b, c2, d, x, s2, t2) {
|
|
11311
|
+
var n2 = a2 + (b & c2 | ~b & d) + (x >>> 0) + t2;
|
|
11312
|
+
return (n2 << s2 | n2 >>> 32 - s2) + b;
|
|
11313
|
+
};
|
|
11314
|
+
md52._gg = function(a2, b, c2, d, x, s2, t2) {
|
|
11315
|
+
var n2 = a2 + (b & d | c2 & ~d) + (x >>> 0) + t2;
|
|
11316
|
+
return (n2 << s2 | n2 >>> 32 - s2) + b;
|
|
11317
|
+
};
|
|
11318
|
+
md52._hh = function(a2, b, c2, d, x, s2, t2) {
|
|
11319
|
+
var n2 = a2 + (b ^ c2 ^ d) + (x >>> 0) + t2;
|
|
11320
|
+
return (n2 << s2 | n2 >>> 32 - s2) + b;
|
|
11321
|
+
};
|
|
11322
|
+
md52._ii = function(a2, b, c2, d, x, s2, t2) {
|
|
11323
|
+
var n2 = a2 + (c2 ^ (b | ~d)) + (x >>> 0) + t2;
|
|
11324
|
+
return (n2 << s2 | n2 >>> 32 - s2) + b;
|
|
11325
|
+
};
|
|
11326
|
+
md52._blocksize = 16;
|
|
11327
|
+
md52._digestsize = 16;
|
|
11328
|
+
module.exports = function(message, options) {
|
|
11329
|
+
if (message === void 0 || message === null)
|
|
11330
|
+
throw new Error("Illegal argument " + message);
|
|
11331
|
+
var digestbytes = crypt.wordsToBytes(md52(message, options));
|
|
11332
|
+
return options && options.asBytes ? digestbytes : options && options.asString ? bin.bytesToString(digestbytes) : crypt.bytesToHex(digestbytes);
|
|
11333
|
+
};
|
|
11334
|
+
})();
|
|
11335
|
+
}
|
|
11336
|
+
});
|
|
11337
|
+
|
|
11338
|
+
// ../compression/src/compression-worker.ts
|
|
11339
|
+
var VERSION14, CompressionWorker;
|
|
11340
|
+
var init_compression_worker = __esm({
|
|
11341
|
+
"../compression/src/compression-worker.ts"() {
|
|
11342
|
+
VERSION14 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
11343
|
+
CompressionWorker = {
|
|
11344
|
+
id: "compression",
|
|
11345
|
+
name: "compression",
|
|
11346
|
+
module: "compression",
|
|
11347
|
+
version: VERSION14,
|
|
11348
|
+
options: {}
|
|
11349
|
+
};
|
|
11350
|
+
}
|
|
11351
|
+
});
|
|
11352
|
+
|
|
11353
|
+
// ../compression/src/index.ts
|
|
11354
|
+
var init_src9 = __esm({
|
|
11355
|
+
"../compression/src/index.ts"() {
|
|
11356
|
+
init_compression_worker();
|
|
11357
|
+
}
|
|
11358
|
+
});
|
|
11359
|
+
|
|
11360
|
+
// src/lib/parsers/parse-slpk/slpk-archieve.ts
|
|
11361
|
+
var import_md5, SLPKArchive;
|
|
11362
|
+
var init_slpk_archieve = __esm({
|
|
11363
|
+
"src/lib/parsers/parse-slpk/slpk-archieve.ts"() {
|
|
11364
|
+
init_src();
|
|
11365
|
+
import_md5 = __toModule(require_md5());
|
|
11366
|
+
init_src9();
|
|
11367
|
+
init_local_file_header();
|
|
11368
|
+
SLPKArchive = class {
|
|
11369
|
+
constructor(slpkArchiveBuffer, hashFile) {
|
|
11370
|
+
this.slpkArchive = new DataView(slpkArchiveBuffer);
|
|
11371
|
+
this.hashArray = this.parseHashFile(hashFile);
|
|
11372
|
+
}
|
|
11373
|
+
parseHashFile(hashFile) {
|
|
11374
|
+
const hashFileBuffer = Buffer.from(hashFile);
|
|
11375
|
+
const hashArray = [];
|
|
11376
|
+
for (let i2 = 0; i2 < hashFileBuffer.buffer.byteLength; i2 = i2 + 24) {
|
|
11377
|
+
const offsetBuffer = new DataView(hashFileBuffer.buffer.slice(hashFileBuffer.byteOffset + i2 + 16, hashFileBuffer.byteOffset + i2 + 24));
|
|
11378
|
+
const offset = offsetBuffer.getUint32(offsetBuffer.byteOffset, true);
|
|
11379
|
+
hashArray.push({
|
|
11380
|
+
hash: Buffer.from(hashFileBuffer.subarray(hashFileBuffer.byteOffset + i2, hashFileBuffer.byteOffset + i2 + 16)),
|
|
11381
|
+
offset
|
|
11382
|
+
});
|
|
11383
|
+
}
|
|
11384
|
+
return hashArray;
|
|
11385
|
+
}
|
|
11386
|
+
async getFile(path, mode = "raw") {
|
|
11387
|
+
if (mode === "http") {
|
|
11388
|
+
throw new Error("http mode is not supported");
|
|
11389
|
+
}
|
|
11390
|
+
const fileToDecompress = this.getFileBytes(`${path}.gz`);
|
|
11391
|
+
if (fileToDecompress) {
|
|
11392
|
+
const decompressedData = await processOnWorker(CompressionWorker, fileToDecompress, {
|
|
11393
|
+
compression: "gzip",
|
|
11394
|
+
operation: "decompress",
|
|
11395
|
+
_workerType: "test",
|
|
11396
|
+
gzip: {}
|
|
11397
|
+
});
|
|
11398
|
+
return decompressedData;
|
|
11399
|
+
}
|
|
11400
|
+
const fileWithoutCompression = this.getFileBytes(path);
|
|
11401
|
+
if (fileWithoutCompression) {
|
|
11402
|
+
return Promise.resolve(Buffer.from(fileWithoutCompression));
|
|
11403
|
+
}
|
|
11404
|
+
throw new Error("No such file in the archieve");
|
|
11405
|
+
}
|
|
11406
|
+
getFileBytes(path) {
|
|
11407
|
+
const nameHash = Buffer.from((0, import_md5.default)(path), "hex");
|
|
11408
|
+
const fileInfo = this.hashArray.find((val) => Buffer.compare(val.hash, nameHash) === 0);
|
|
11409
|
+
if (!fileInfo) {
|
|
11410
|
+
return void 0;
|
|
11411
|
+
}
|
|
11412
|
+
const localFileHeader = parseZipLocalFileHeader(this.slpkArchive.byteOffset + fileInfo?.offset, this.slpkArchive);
|
|
11413
|
+
const compressedFile = this.slpkArchive.buffer.slice(localFileHeader.fileDataOffset, localFileHeader.fileDataOffset + localFileHeader.compressedSize);
|
|
11414
|
+
return compressedFile;
|
|
11415
|
+
}
|
|
11416
|
+
};
|
|
11417
|
+
}
|
|
11418
|
+
});
|
|
11419
|
+
|
|
11420
|
+
// src/lib/parsers/parse-slpk/parse-slpk.ts
|
|
11421
|
+
async function parseSLPK(data, options = {}) {
|
|
11422
|
+
const archive = new DataView(data);
|
|
11423
|
+
const cdFileHeaderSignature = [80, 75, 1, 2];
|
|
11424
|
+
const searchWindow = [
|
|
11425
|
+
getByteAt(archive.byteLength - 1, archive),
|
|
11426
|
+
getByteAt(archive.byteLength - 2, archive),
|
|
11427
|
+
getByteAt(archive.byteLength - 3, archive),
|
|
11428
|
+
void 0
|
|
11429
|
+
];
|
|
11430
|
+
let hashCDOffset = 0;
|
|
11431
|
+
for (let i2 = archive.byteLength - 4; i2 > -1; i2--) {
|
|
11432
|
+
searchWindow[3] = searchWindow[2];
|
|
11433
|
+
searchWindow[2] = searchWindow[1];
|
|
11434
|
+
searchWindow[1] = searchWindow[0];
|
|
11435
|
+
searchWindow[0] = getByteAt(i2, archive);
|
|
11436
|
+
if (searchWindow.every((val, index) => val === cdFileHeaderSignature[index])) {
|
|
11437
|
+
hashCDOffset = i2;
|
|
11438
|
+
break;
|
|
11439
|
+
}
|
|
11440
|
+
}
|
|
11441
|
+
const cdFileHeader = parseZipCDFileHeader(hashCDOffset, archive);
|
|
11442
|
+
const textDecoder = new TextDecoder();
|
|
11443
|
+
if (textDecoder.decode(cdFileHeader.fileName) !== "@specialIndexFileHASH128@") {
|
|
11444
|
+
throw new Error("No hash file in slpk");
|
|
11445
|
+
}
|
|
11446
|
+
const localFileHeader = parseZipLocalFileHeader(cdFileHeader.localHeaderOffset, archive);
|
|
11447
|
+
const fileDataOffset = localFileHeader.fileDataOffset;
|
|
11448
|
+
const hashFile = archive.buffer.slice(fileDataOffset, fileDataOffset + localFileHeader.compressedSize);
|
|
11449
|
+
if (!hashFile) {
|
|
11450
|
+
throw new Error("No hash file in slpk");
|
|
11451
|
+
}
|
|
11452
|
+
return await new SLPKArchive(data, hashFile).getFile(options.path ?? "");
|
|
11453
|
+
}
|
|
11454
|
+
var getByteAt;
|
|
11455
|
+
var init_parse_slpk = __esm({
|
|
11456
|
+
"src/lib/parsers/parse-slpk/parse-slpk.ts"() {
|
|
11457
|
+
init_cd_file_header();
|
|
11458
|
+
init_local_file_header();
|
|
11459
|
+
init_slpk_archieve();
|
|
11460
|
+
getByteAt = (offset, buffer) => {
|
|
11461
|
+
return buffer.getUint8(buffer.byteOffset + offset);
|
|
11462
|
+
};
|
|
11463
|
+
}
|
|
11464
|
+
});
|
|
11465
|
+
|
|
11466
|
+
// src/i3s-slpk-loader.ts
|
|
11467
|
+
var VERSION15, SLPKLoader;
|
|
11468
|
+
var init_i3s_slpk_loader = __esm({
|
|
11469
|
+
"src/i3s-slpk-loader.ts"() {
|
|
11470
|
+
init_parse_slpk();
|
|
11471
|
+
VERSION15 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
11472
|
+
SLPKLoader = {
|
|
11473
|
+
name: "I3S SLPK (Scene Layer Package)",
|
|
11474
|
+
id: "slpk",
|
|
11475
|
+
module: "i3s",
|
|
11476
|
+
version: VERSION15,
|
|
11477
|
+
mimeTypes: ["application/octet-stream"],
|
|
11478
|
+
parse: parseSLPK,
|
|
11479
|
+
extensions: ["slpk"],
|
|
11480
|
+
options: {}
|
|
11481
|
+
};
|
|
11482
|
+
}
|
|
11483
|
+
});
|
|
11484
|
+
|
|
10928
11485
|
// src/lib/parsers/parse-i3s-building-scene-layer.ts
|
|
10929
11486
|
async function parseBuildingSceneLayer(data, url) {
|
|
10930
11487
|
const layer0 = JSON.parse(new TextDecoder().decode(data));
|
|
@@ -10969,16 +11526,16 @@
|
|
|
10969
11526
|
}
|
|
10970
11527
|
return parseBuildingSceneLayer(data, context.url);
|
|
10971
11528
|
}
|
|
10972
|
-
var
|
|
11529
|
+
var VERSION16, I3SBuildingSceneLayerLoader;
|
|
10973
11530
|
var init_i3s_building_scene_layer_loader = __esm({
|
|
10974
11531
|
"src/i3s-building-scene-layer-loader.ts"() {
|
|
10975
11532
|
init_parse_i3s_building_scene_layer();
|
|
10976
|
-
|
|
11533
|
+
VERSION16 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
10977
11534
|
I3SBuildingSceneLayerLoader = {
|
|
10978
11535
|
name: "I3S Building Scene Layer",
|
|
10979
11536
|
id: "i3s-building-scene-layer",
|
|
10980
11537
|
module: "i3s",
|
|
10981
|
-
version:
|
|
11538
|
+
version: VERSION16,
|
|
10982
11539
|
mimeTypes: ["application/json"],
|
|
10983
11540
|
parse: parse6,
|
|
10984
11541
|
extensions: ["json"],
|
|
@@ -11059,16 +11616,16 @@
|
|
|
11059
11616
|
async function parse7(data) {
|
|
11060
11617
|
return parseWebscene(data);
|
|
11061
11618
|
}
|
|
11062
|
-
var
|
|
11619
|
+
var VERSION17, ArcGisWebSceneLoader;
|
|
11063
11620
|
var init_arcgis_webscene_loader = __esm({
|
|
11064
11621
|
"src/arcgis-webscene-loader.ts"() {
|
|
11065
11622
|
init_parse_arcgis_webscene();
|
|
11066
|
-
|
|
11623
|
+
VERSION17 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
11067
11624
|
ArcGisWebSceneLoader = {
|
|
11068
11625
|
name: "ArcGIS Web Scene Loader",
|
|
11069
11626
|
id: "arcgis-web-scene",
|
|
11070
11627
|
module: "i3s",
|
|
11071
|
-
version:
|
|
11628
|
+
version: VERSION17,
|
|
11072
11629
|
mimeTypes: ["application/json"],
|
|
11073
11630
|
parse: parse7,
|
|
11074
11631
|
extensions: ["json"],
|
|
@@ -11086,11 +11643,13 @@
|
|
|
11086
11643
|
I3SBuildingSceneLayerLoader: () => I3SBuildingSceneLayerLoader,
|
|
11087
11644
|
I3SContentLoader: () => I3SContentLoader,
|
|
11088
11645
|
I3SLoader: () => I3SLoader,
|
|
11646
|
+
SLPKLoader: () => SLPKLoader,
|
|
11089
11647
|
loadFeatureAttributes: () => loadFeatureAttributes
|
|
11090
11648
|
});
|
|
11091
|
-
var
|
|
11649
|
+
var init_src10 = __esm({
|
|
11092
11650
|
"src/index.ts"() {
|
|
11093
11651
|
init_i3s_loader();
|
|
11652
|
+
init_i3s_slpk_loader();
|
|
11094
11653
|
init_i3s_content_loader();
|
|
11095
11654
|
init_i3s_attribute_loader();
|
|
11096
11655
|
init_i3s_building_scene_layer_loader();
|
|
@@ -11102,10 +11661,16 @@
|
|
|
11102
11661
|
// src/bundle.ts
|
|
11103
11662
|
var require_bundle = __commonJS({
|
|
11104
11663
|
"src/bundle.ts"(exports, module) {
|
|
11105
|
-
var moduleExports = (
|
|
11664
|
+
var moduleExports = (init_src10(), src_exports);
|
|
11106
11665
|
globalThis.loaders = globalThis.loaders || {};
|
|
11107
11666
|
module.exports = Object.assign(globalThis.loaders, moduleExports);
|
|
11108
11667
|
}
|
|
11109
11668
|
});
|
|
11110
11669
|
require_bundle();
|
|
11111
11670
|
})();
|
|
11671
|
+
/*!
|
|
11672
|
+
* Determine if an object is a Buffer
|
|
11673
|
+
*
|
|
11674
|
+
* @author Feross Aboukhadijeh <https://feross.org>
|
|
11675
|
+
* @license MIT
|
|
11676
|
+
*/
|