@loaders.gl/i3s 3.4.0-alpha.3 → 3.4.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.min.js +696 -131
- package/dist/es5/arcgis-webscene-loader.js +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-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/helpers/i3s-nodepages-tiles.js.map +1 -1
- package/dist/es5/lib/parsers/constants.js.map +1 -1
- package/dist/es5/lib/parsers/parse-arcgis-webscene.js.map +1 -1
- package/dist/es5/lib/parsers/parse-i3s-attribute.js.map +1 -1
- package/dist/es5/lib/parsers/parse-i3s-building-scene-layer.js.map +1 -1
- package/dist/es5/lib/parsers/parse-i3s-tile-content.js.map +1 -1
- package/dist/es5/lib/parsers/parse-i3s.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/es5/lib/utils/convert-i3s-obb-to-mbs.js.map +1 -1
- package/dist/es5/lib/utils/customizeColors.js.map +1 -1
- package/dist/es5/lib/utils/url-utils.js.map +1 -1
- package/dist/esm/arcgis-webscene-loader.js +1 -1
- package/dist/esm/i3s-attribute-loader.js +1 -1
- package/dist/esm/i3s-attribute-loader.js.map +1 -1
- package/dist/esm/i3s-building-scene-layer-loader.js +1 -1
- package/dist/esm/i3s-content-loader.js +1 -1
- package/dist/esm/i3s-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/helpers/i3s-nodepages-tiles.js.map +1 -1
- package/dist/esm/lib/parsers/constants.js.map +1 -1
- package/dist/esm/lib/parsers/parse-arcgis-webscene.js.map +1 -1
- package/dist/esm/lib/parsers/parse-i3s-attribute.js.map +1 -1
- package/dist/esm/lib/parsers/parse-i3s-building-scene-layer.js.map +1 -1
- package/dist/esm/lib/parsers/parse-i3s-tile-content.js.map +1 -1
- package/dist/esm/lib/parsers/parse-i3s.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/esm/lib/utils/convert-i3s-obb-to-mbs.js.map +1 -1
- package/dist/esm/lib/utils/customizeColors.js.map +1 -1
- package/dist/esm/lib/utils/url-utils.js.map +1 -1
- 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 +90 -68
- 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
|
}
|
|
@@ -1271,7 +1363,7 @@
|
|
|
1271
1363
|
}
|
|
1272
1364
|
});
|
|
1273
1365
|
|
|
1274
|
-
//
|
|
1366
|
+
// ../../node_modules/@probe.gl/env/dist/lib/is-electron.js
|
|
1275
1367
|
function isElectron(mockUserAgent) {
|
|
1276
1368
|
if (typeof window !== "undefined" && typeof window.process === "object" && window.process.type === "renderer") {
|
|
1277
1369
|
return true;
|
|
@@ -1287,54 +1379,54 @@
|
|
|
1287
1379
|
return false;
|
|
1288
1380
|
}
|
|
1289
1381
|
var init_is_electron = __esm({
|
|
1290
|
-
"
|
|
1382
|
+
"../../node_modules/@probe.gl/env/dist/lib/is-electron.js"() {
|
|
1291
1383
|
}
|
|
1292
1384
|
});
|
|
1293
1385
|
|
|
1294
|
-
//
|
|
1386
|
+
// ../../node_modules/@probe.gl/env/dist/lib/is-browser.js
|
|
1295
1387
|
function isBrowser3() {
|
|
1296
1388
|
const isNode = typeof process === "object" && String(process) === "[object process]" && !process.browser;
|
|
1297
1389
|
return !isNode || isElectron();
|
|
1298
1390
|
}
|
|
1299
1391
|
var init_is_browser = __esm({
|
|
1300
|
-
"
|
|
1392
|
+
"../../node_modules/@probe.gl/env/dist/lib/is-browser.js"() {
|
|
1301
1393
|
init_is_electron();
|
|
1302
1394
|
}
|
|
1303
1395
|
});
|
|
1304
1396
|
|
|
1305
|
-
//
|
|
1306
|
-
var
|
|
1397
|
+
// ../../node_modules/@probe.gl/env/dist/lib/globals.js
|
|
1398
|
+
var self_3, window_3, document_3, process_, console_, navigator_;
|
|
1307
1399
|
var init_globals3 = __esm({
|
|
1308
|
-
"
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1400
|
+
"../../node_modules/@probe.gl/env/dist/lib/globals.js"() {
|
|
1401
|
+
self_3 = globalThis.self || globalThis.window || globalThis.global;
|
|
1402
|
+
window_3 = globalThis.window || globalThis.self || globalThis.global;
|
|
1403
|
+
document_3 = globalThis.document || {};
|
|
1404
|
+
process_ = globalThis.process || {};
|
|
1405
|
+
console_ = globalThis.console;
|
|
1406
|
+
navigator_ = globalThis.navigator || {};
|
|
1315
1407
|
}
|
|
1316
1408
|
});
|
|
1317
1409
|
|
|
1318
|
-
//
|
|
1319
|
-
var
|
|
1410
|
+
// ../../node_modules/@probe.gl/env/dist/utils/globals.js
|
|
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
|
});
|
|
1327
1419
|
|
|
1328
|
-
//
|
|
1420
|
+
// ../../node_modules/@probe.gl/env/dist/index.js
|
|
1329
1421
|
var init_dist = __esm({
|
|
1330
|
-
"
|
|
1422
|
+
"../../node_modules/@probe.gl/env/dist/index.js"() {
|
|
1331
1423
|
init_globals4();
|
|
1332
1424
|
init_globals3();
|
|
1333
1425
|
init_is_browser();
|
|
1334
1426
|
}
|
|
1335
1427
|
});
|
|
1336
1428
|
|
|
1337
|
-
//
|
|
1429
|
+
// ../../node_modules/@probe.gl/log/dist/utils/local-storage.js
|
|
1338
1430
|
function getStorage(type) {
|
|
1339
1431
|
try {
|
|
1340
1432
|
const storage = window[type];
|
|
@@ -1348,7 +1440,7 @@
|
|
|
1348
1440
|
}
|
|
1349
1441
|
var LocalStorage;
|
|
1350
1442
|
var init_local_storage = __esm({
|
|
1351
|
-
"
|
|
1443
|
+
"../../node_modules/@probe.gl/log/dist/utils/local-storage.js"() {
|
|
1352
1444
|
init_defineProperty();
|
|
1353
1445
|
LocalStorage = class {
|
|
1354
1446
|
constructor(id, defaultConfig) {
|
|
@@ -1384,7 +1476,7 @@
|
|
|
1384
1476
|
}
|
|
1385
1477
|
});
|
|
1386
1478
|
|
|
1387
|
-
//
|
|
1479
|
+
// ../../node_modules/@probe.gl/log/dist/utils/formatters.js
|
|
1388
1480
|
function formatTime(ms) {
|
|
1389
1481
|
let formatted;
|
|
1390
1482
|
if (ms < 10) {
|
|
@@ -1415,11 +1507,11 @@
|
|
|
1415
1507
|
return ["".concat(message, " %c+"), style];
|
|
1416
1508
|
}
|
|
1417
1509
|
var init_formatters = __esm({
|
|
1418
|
-
"
|
|
1510
|
+
"../../node_modules/@probe.gl/log/dist/utils/formatters.js"() {
|
|
1419
1511
|
}
|
|
1420
1512
|
});
|
|
1421
1513
|
|
|
1422
|
-
//
|
|
1514
|
+
// ../../node_modules/@probe.gl/log/dist/utils/color.js
|
|
1423
1515
|
function getColor(color) {
|
|
1424
1516
|
if (typeof color !== "string") {
|
|
1425
1517
|
return color;
|
|
@@ -1442,7 +1534,7 @@
|
|
|
1442
1534
|
}
|
|
1443
1535
|
var COLOR, BACKGROUND_INCREMENT;
|
|
1444
1536
|
var init_color = __esm({
|
|
1445
|
-
"
|
|
1537
|
+
"../../node_modules/@probe.gl/log/dist/utils/color.js"() {
|
|
1446
1538
|
init_dist();
|
|
1447
1539
|
(function(COLOR2) {
|
|
1448
1540
|
COLOR2[COLOR2["BLACK"] = 30] = "BLACK";
|
|
@@ -1466,7 +1558,7 @@
|
|
|
1466
1558
|
}
|
|
1467
1559
|
});
|
|
1468
1560
|
|
|
1469
|
-
//
|
|
1561
|
+
// ../../node_modules/@probe.gl/log/dist/utils/autobind.js
|
|
1470
1562
|
function autobind(obj) {
|
|
1471
1563
|
let predefined = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ["constructor"];
|
|
1472
1564
|
const proto = Object.getPrototypeOf(obj);
|
|
@@ -1482,30 +1574,30 @@
|
|
|
1482
1574
|
}
|
|
1483
1575
|
}
|
|
1484
1576
|
var init_autobind = __esm({
|
|
1485
|
-
"
|
|
1577
|
+
"../../node_modules/@probe.gl/log/dist/utils/autobind.js"() {
|
|
1486
1578
|
}
|
|
1487
1579
|
});
|
|
1488
1580
|
|
|
1489
|
-
//
|
|
1581
|
+
// ../../node_modules/@probe.gl/log/dist/utils/assert.js
|
|
1490
1582
|
function assert3(condition, message) {
|
|
1491
1583
|
if (!condition) {
|
|
1492
1584
|
throw new Error(message || "Assertion failed");
|
|
1493
1585
|
}
|
|
1494
1586
|
}
|
|
1495
1587
|
var init_assert3 = __esm({
|
|
1496
|
-
"
|
|
1588
|
+
"../../node_modules/@probe.gl/log/dist/utils/assert.js"() {
|
|
1497
1589
|
}
|
|
1498
1590
|
});
|
|
1499
1591
|
|
|
1500
|
-
//
|
|
1592
|
+
// ../../node_modules/@probe.gl/log/dist/utils/hi-res-timestamp.js
|
|
1501
1593
|
function getHiResTimestamp() {
|
|
1502
1594
|
let timestamp;
|
|
1503
|
-
if (isBrowser3() &&
|
|
1595
|
+
if (isBrowser3() && window_3.performance) {
|
|
1504
1596
|
var _window$performance, _window$performance$n;
|
|
1505
|
-
timestamp =
|
|
1506
|
-
} else if ("hrtime" in
|
|
1597
|
+
timestamp = window_3 === null || window_3 === void 0 ? void 0 : (_window$performance = window_3.performance) === null || _window$performance === void 0 ? void 0 : (_window$performance$n = _window$performance.now) === null || _window$performance$n === void 0 ? void 0 : _window$performance$n.call(_window$performance);
|
|
1598
|
+
} else if ("hrtime" in process_) {
|
|
1507
1599
|
var _process$hrtime;
|
|
1508
|
-
const timeParts =
|
|
1600
|
+
const timeParts = process_ === null || process_ === void 0 ? void 0 : (_process$hrtime = process_.hrtime) === null || _process$hrtime === void 0 ? void 0 : _process$hrtime.call(process_);
|
|
1509
1601
|
timestamp = timeParts[0] * 1e3 + timeParts[1] / 1e6;
|
|
1510
1602
|
} else {
|
|
1511
1603
|
timestamp = Date.now();
|
|
@@ -1513,12 +1605,12 @@
|
|
|
1513
1605
|
return timestamp;
|
|
1514
1606
|
}
|
|
1515
1607
|
var init_hi_res_timestamp = __esm({
|
|
1516
|
-
"
|
|
1608
|
+
"../../node_modules/@probe.gl/log/dist/utils/hi-res-timestamp.js"() {
|
|
1517
1609
|
init_dist();
|
|
1518
1610
|
}
|
|
1519
1611
|
});
|
|
1520
1612
|
|
|
1521
|
-
//
|
|
1613
|
+
// ../../node_modules/@probe.gl/log/dist/log.js
|
|
1522
1614
|
function noop() {
|
|
1523
1615
|
}
|
|
1524
1616
|
function normalizeLogLevel(logLevel) {
|
|
@@ -1625,7 +1717,7 @@
|
|
|
1625
1717
|
}
|
|
1626
1718
|
var originalConsole, DEFAULT_LOG_CONFIGURATION, cache, ONCE, Log;
|
|
1627
1719
|
var init_log = __esm({
|
|
1628
|
-
"
|
|
1720
|
+
"../../node_modules/@probe.gl/log/dist/log.js"() {
|
|
1629
1721
|
init_defineProperty();
|
|
1630
1722
|
init_dist();
|
|
1631
1723
|
init_local_storage();
|
|
@@ -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,14 +1952,14 @@
|
|
|
1860
1952
|
return noop;
|
|
1861
1953
|
}
|
|
1862
1954
|
};
|
|
1863
|
-
_defineProperty(Log, "VERSION",
|
|
1955
|
+
_defineProperty(Log, "VERSION", VERSION5);
|
|
1864
1956
|
}
|
|
1865
1957
|
});
|
|
1866
1958
|
|
|
1867
|
-
//
|
|
1959
|
+
// ../../node_modules/@probe.gl/log/dist/index.js
|
|
1868
1960
|
var dist_default;
|
|
1869
1961
|
var init_dist2 = __esm({
|
|
1870
|
-
"
|
|
1962
|
+
"../../node_modules/@probe.gl/log/dist/index.js"() {
|
|
1871
1963
|
init_log();
|
|
1872
1964
|
init_log();
|
|
1873
1965
|
dist_default = new Log({
|
|
@@ -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
|
+
*/
|