@loaders.gl/i3s 3.4.0-alpha.1 → 3.4.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/dist.min.js +241 -195
  2. package/dist/es5/arcgis-webscene-loader.js +1 -1
  3. package/dist/es5/i3s-attribute-loader.js +1 -1
  4. package/dist/es5/i3s-building-scene-layer-loader.js +1 -1
  5. package/dist/es5/i3s-content-loader.js +1 -1
  6. package/dist/es5/i3s-loader.js +1 -1
  7. package/dist/es5/i3s-node-page-loader.js +1 -1
  8. package/dist/es5/lib/helpers/i3s-nodepages-tiles.js.map +1 -1
  9. package/dist/es5/lib/parsers/parse-i3s-tile-content.js.map +1 -1
  10. package/dist/es5/lib/parsers/parse-i3s.js.map +1 -1
  11. package/dist/es5/types.js.map +1 -1
  12. package/dist/esm/arcgis-webscene-loader.js +1 -1
  13. package/dist/esm/i3s-attribute-loader.js +1 -1
  14. package/dist/esm/i3s-building-scene-layer-loader.js +1 -1
  15. package/dist/esm/i3s-content-loader.js +1 -1
  16. package/dist/esm/i3s-loader.js +1 -1
  17. package/dist/esm/i3s-node-page-loader.js +1 -1
  18. package/dist/esm/lib/helpers/i3s-nodepages-tiles.js.map +1 -1
  19. package/dist/esm/lib/parsers/parse-i3s-tile-content.js +1 -0
  20. package/dist/esm/lib/parsers/parse-i3s-tile-content.js.map +1 -1
  21. package/dist/esm/lib/parsers/parse-i3s.js.map +1 -1
  22. package/dist/esm/types.js.map +1 -1
  23. package/dist/i3s-content-nodejs-worker.js +59 -62
  24. package/dist/i3s-content-nodejs-worker.js.map +3 -3
  25. package/dist/i3s-content-worker.js +166 -129
  26. package/dist/lib/helpers/i3s-nodepages-tiles.d.ts.map +1 -1
  27. package/dist/lib/helpers/i3s-nodepages-tiles.js +5 -1
  28. package/dist/lib/parsers/parse-i3s-tile-content.d.ts.map +1 -1
  29. package/dist/lib/parsers/parse-i3s-tile-content.js +2 -0
  30. package/dist/lib/parsers/parse-i3s.d.ts.map +1 -1
  31. package/dist/lib/parsers/parse-i3s.js +2 -0
  32. package/dist/types.d.ts +5 -5
  33. package/dist/types.d.ts.map +1 -1
  34. package/package.json +8 -8
  35. package/src/lib/helpers/i3s-nodepages-tiles.ts +3 -0
  36. package/src/lib/parsers/parse-i3s-tile-content.ts +2 -0
  37. package/src/lib/parsers/parse-i3s.ts +2 -0
  38. package/src/types.ts +6 -5
@@ -55,7 +55,7 @@
55
55
  var nodeVersion = matches && parseFloat(matches[1]) || 0;
56
56
 
57
57
  // ../worker-utils/src/lib/env-utils/version.ts
58
- var VERSION = true ? "3.4.0-alpha.1" : DEFAULT_VERSION;
58
+ var VERSION = true ? "3.4.0-alpha.2" : DEFAULT_VERSION;
59
59
  if (false) {
60
60
  console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
61
61
  }
@@ -747,42 +747,7 @@
747
747
  }
748
748
  }
749
749
 
750
- // ../loader-utils/src/lib/binary-utils/buffer-utils.ts
751
- function isBuffer(value) {
752
- return value && typeof value === "object" && value.isBuffer;
753
- }
754
- function bufferToArrayBuffer(buffer) {
755
- if (isBuffer(buffer)) {
756
- const typedArray = new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.length);
757
- return typedArray.slice().buffer;
758
- }
759
- return buffer;
760
- }
761
-
762
750
  // ../loader-utils/src/lib/binary-utils/array-buffer-utils.ts
763
- function toArrayBuffer(data) {
764
- if (isBuffer(data)) {
765
- return bufferToArrayBuffer(data);
766
- }
767
- if (data instanceof ArrayBuffer) {
768
- return data;
769
- }
770
- if (ArrayBuffer.isView(data)) {
771
- if (data.byteOffset === 0 && data.byteLength === data.buffer.byteLength) {
772
- return data.buffer;
773
- }
774
- return data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
775
- }
776
- if (typeof data === "string") {
777
- const text = data;
778
- const uint8Array = new TextEncoder().encode(text);
779
- return uint8Array.buffer;
780
- }
781
- if (data && typeof data === "object" && data._toArrayBuffer) {
782
- return data._toArrayBuffer();
783
- }
784
- throw new Error("toArrayBuffer");
785
- }
786
751
  function compareArrayBuffers(arrayBuffer1, arrayBuffer2, byteLength) {
787
752
  byteLength = byteLength || arrayBuffer1.byteLength;
788
753
  if (arrayBuffer1.byteLength < byteLength || arrayBuffer2.byteLength < byteLength) {
@@ -849,6 +814,39 @@
849
814
  return filename2;
850
815
  }
851
816
 
817
+ // ../loader-utils/src/lib/node/buffer.browser.ts
818
+ function toArrayBuffer(buffer) {
819
+ return buffer;
820
+ }
821
+
822
+ // ../loader-utils/src/lib/binary-utils/memory-conversion-utils.ts
823
+ function isBuffer(value) {
824
+ return value && typeof value === "object" && value.isBuffer;
825
+ }
826
+ function toArrayBuffer2(data) {
827
+ if (isBuffer(data)) {
828
+ return toArrayBuffer(data);
829
+ }
830
+ if (data instanceof ArrayBuffer) {
831
+ return data;
832
+ }
833
+ if (ArrayBuffer.isView(data)) {
834
+ if (data.byteOffset === 0 && data.byteLength === data.buffer.byteLength) {
835
+ return data.buffer;
836
+ }
837
+ return data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
838
+ }
839
+ if (typeof data === "string") {
840
+ const text = data;
841
+ const uint8Array = new TextEncoder().encode(text);
842
+ return uint8Array.buffer;
843
+ }
844
+ if (data && typeof data === "object" && data._toArrayBuffer) {
845
+ return data._toArrayBuffer();
846
+ }
847
+ throw new Error("toArrayBuffer");
848
+ }
849
+
852
850
  // ../loader-utils/src/lib/path-utils/path.ts
853
851
  var path_exports = {};
854
852
  __export(path_exports, {
@@ -1047,12 +1045,12 @@
1047
1045
  return await makeResponse(url);
1048
1046
  }
1049
1047
 
1050
- // ../../node_modules/@probe.gl/env/dist/esm/lib/is-electron.js
1048
+ // ../core/node_modules/@probe.gl/env/dist/lib/is-electron.js
1051
1049
  function isElectron(mockUserAgent) {
1052
1050
  if (typeof window !== "undefined" && typeof window.process === "object" && window.process.type === "renderer") {
1053
1051
  return true;
1054
1052
  }
1055
- if (typeof process !== "undefined" && typeof process.versions === "object" && Boolean(process.versions.electron)) {
1053
+ if (typeof process !== "undefined" && typeof process.versions === "object" && Boolean(process.versions["electron"])) {
1056
1054
  return true;
1057
1055
  }
1058
1056
  const realUserAgent = typeof navigator === "object" && typeof navigator.userAgent === "string" && navigator.userAgent;
@@ -1063,30 +1061,25 @@
1063
1061
  return false;
1064
1062
  }
1065
1063
 
1066
- // ../../node_modules/@probe.gl/env/dist/esm/lib/is-browser.js
1064
+ // ../core/node_modules/@probe.gl/env/dist/lib/is-browser.js
1067
1065
  function isBrowser3() {
1068
1066
  const isNode = typeof process === "object" && String(process) === "[object process]" && !process.browser;
1069
1067
  return !isNode || isElectron();
1070
1068
  }
1071
1069
 
1072
- // ../../node_modules/@probe.gl/env/dist/esm/lib/globals.js
1073
- var globals3 = {
1074
- self: typeof self !== "undefined" && self,
1075
- window: typeof window !== "undefined" && window,
1076
- global: typeof global !== "undefined" && global,
1077
- document: typeof document !== "undefined" && document,
1078
- process: typeof process === "object" && process
1079
- };
1080
- var self_3 = globals3.self || globals3.window || globals3.global;
1081
- var window_3 = globals3.window || globals3.self || globals3.global;
1082
- var document_3 = globals3.document || {};
1083
- var process_ = globals3.process || {};
1070
+ // ../core/node_modules/@probe.gl/env/dist/lib/globals.js
1071
+ var self2 = globalThis.self || globalThis.window || globalThis.global;
1072
+ var window2 = globalThis.window || globalThis.self || globalThis.global;
1073
+ var document2 = globalThis.document || {};
1074
+ var process2 = globalThis.process || {};
1075
+ var console2 = globalThis.console;
1076
+ var navigator2 = globalThis.navigator || {};
1084
1077
 
1085
- // ../../node_modules/@probe.gl/env/dist/esm/utils/globals.js
1086
- var VERSION3 = true ? "3.4.0-alpha.1" : "untranspiled source";
1078
+ // ../core/node_modules/@probe.gl/env/dist/utils/globals.js
1079
+ var VERSION3 = true ? "3.4.0-alpha.2" : "untranspiled source";
1087
1080
  var isBrowser4 = isBrowser3();
1088
1081
 
1089
- // ../../node_modules/@probe.gl/log/dist/esm/utils/local-storage.js
1082
+ // ../core/node_modules/@probe.gl/log/dist/utils/local-storage.js
1090
1083
  function getStorage(type) {
1091
1084
  try {
1092
1085
  const storage = window[type];
@@ -1099,32 +1092,25 @@
1099
1092
  }
1100
1093
  }
1101
1094
  var LocalStorage = class {
1102
- constructor(id) {
1103
- let defaultSettings = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
1095
+ constructor(id, defaultConfig) {
1104
1096
  let type = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "sessionStorage";
1105
1097
  _defineProperty(this, "storage", void 0);
1106
1098
  _defineProperty(this, "id", void 0);
1107
- _defineProperty(this, "config", {});
1099
+ _defineProperty(this, "config", void 0);
1108
1100
  this.storage = getStorage(type);
1109
1101
  this.id = id;
1110
- this.config = {};
1111
- Object.assign(this.config, defaultSettings);
1102
+ this.config = defaultConfig;
1112
1103
  this._loadConfiguration();
1113
1104
  }
1114
1105
  getConfiguration() {
1115
1106
  return this.config;
1116
1107
  }
1117
1108
  setConfiguration(configuration) {
1118
- this.config = {};
1119
- return this.updateConfiguration(configuration);
1120
- }
1121
- updateConfiguration(configuration) {
1122
1109
  Object.assign(this.config, configuration);
1123
1110
  if (this.storage) {
1124
1111
  const serialized = JSON.stringify(this.config);
1125
1112
  this.storage.setItem(this.id, serialized);
1126
1113
  }
1127
- return this;
1128
1114
  }
1129
1115
  _loadConfiguration() {
1130
1116
  let configuration = {};
@@ -1137,7 +1123,7 @@
1137
1123
  }
1138
1124
  };
1139
1125
 
1140
- // ../../node_modules/@probe.gl/log/dist/esm/utils/formatters.js
1126
+ // ../core/node_modules/@probe.gl/log/dist/utils/formatters.js
1141
1127
  function formatTime(ms) {
1142
1128
  let formatted;
1143
1129
  if (ms < 10) {
@@ -1168,7 +1154,7 @@
1168
1154
  return ["".concat(message, " %c+"), style];
1169
1155
  }
1170
1156
 
1171
- // ../../node_modules/@probe.gl/log/dist/esm/utils/color.js
1157
+ // ../core/node_modules/@probe.gl/log/dist/utils/color.js
1172
1158
  var COLOR;
1173
1159
  (function(COLOR2) {
1174
1160
  COLOR2[COLOR2["BLACK"] = 30] = "BLACK";
@@ -1188,53 +1174,60 @@
1188
1174
  COLOR2[COLOR2["BRIGHT_CYAN"] = 96] = "BRIGHT_CYAN";
1189
1175
  COLOR2[COLOR2["BRIGHT_WHITE"] = 97] = "BRIGHT_WHITE";
1190
1176
  })(COLOR || (COLOR = {}));
1177
+ var BACKGROUND_INCREMENT = 10;
1191
1178
  function getColor(color) {
1192
- return typeof color === "string" ? COLOR[color.toUpperCase()] || COLOR.WHITE : color;
1179
+ if (typeof color !== "string") {
1180
+ return color;
1181
+ }
1182
+ color = color.toUpperCase();
1183
+ return COLOR[color] || COLOR.WHITE;
1193
1184
  }
1194
1185
  function addColor(string, color, background) {
1195
1186
  if (!isBrowser3 && typeof string === "string") {
1196
1187
  if (color) {
1197
- color = getColor(color);
1198
- string = "[".concat(color, "m").concat(string, "");
1188
+ const colorCode = getColor(color);
1189
+ string = "[".concat(colorCode, "m").concat(string, "");
1199
1190
  }
1200
1191
  if (background) {
1201
- color = getColor(background);
1202
- string = "[".concat(background + 10, "m").concat(string, "");
1192
+ const colorCode = getColor(background);
1193
+ string = "[".concat(colorCode + BACKGROUND_INCREMENT, "m").concat(string, "");
1203
1194
  }
1204
1195
  }
1205
1196
  return string;
1206
1197
  }
1207
1198
 
1208
- // ../../node_modules/@probe.gl/log/dist/esm/utils/autobind.js
1199
+ // ../core/node_modules/@probe.gl/log/dist/utils/autobind.js
1209
1200
  function autobind(obj) {
1210
1201
  let predefined = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : ["constructor"];
1211
1202
  const proto = Object.getPrototypeOf(obj);
1212
1203
  const propNames = Object.getOwnPropertyNames(proto);
1204
+ const object = obj;
1213
1205
  for (const key of propNames) {
1214
- if (typeof obj[key] === "function") {
1206
+ const value = object[key];
1207
+ if (typeof value === "function") {
1215
1208
  if (!predefined.find((name) => key === name)) {
1216
- obj[key] = obj[key].bind(obj);
1209
+ object[key] = value.bind(obj);
1217
1210
  }
1218
1211
  }
1219
1212
  }
1220
1213
  }
1221
1214
 
1222
- // ../../node_modules/@probe.gl/log/dist/esm/utils/assert.js
1215
+ // ../core/node_modules/@probe.gl/log/dist/utils/assert.js
1223
1216
  function assert3(condition, message) {
1224
1217
  if (!condition) {
1225
1218
  throw new Error(message || "Assertion failed");
1226
1219
  }
1227
1220
  }
1228
1221
 
1229
- // ../../node_modules/@probe.gl/log/dist/esm/utils/hi-res-timestamp.js
1222
+ // ../core/node_modules/@probe.gl/log/dist/utils/hi-res-timestamp.js
1230
1223
  function getHiResTimestamp() {
1231
1224
  let timestamp;
1232
- if (isBrowser3 && "performance" in window_3) {
1225
+ if (isBrowser3() && window2.performance) {
1233
1226
  var _window$performance, _window$performance$n;
1234
- 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);
1235
- } else if ("hrtime" in process_) {
1227
+ timestamp = window2 === null || window2 === void 0 ? void 0 : (_window$performance = window2.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);
1228
+ } else if ("hrtime" in process2) {
1236
1229
  var _process$hrtime;
1237
- const timeParts = process_ === null || process_ === void 0 ? void 0 : (_process$hrtime = process_.hrtime) === null || _process$hrtime === void 0 ? void 0 : _process$hrtime.call(process_);
1230
+ const timeParts = process2 === null || process2 === void 0 ? void 0 : (_process$hrtime = process2.hrtime) === null || _process$hrtime === void 0 ? void 0 : _process$hrtime.call(process2);
1238
1231
  timestamp = timeParts[0] * 1e3 + timeParts[1] / 1e6;
1239
1232
  } else {
1240
1233
  timestamp = Date.now();
@@ -1242,15 +1235,15 @@
1242
1235
  return timestamp;
1243
1236
  }
1244
1237
 
1245
- // ../../node_modules/@probe.gl/log/dist/esm/log.js
1238
+ // ../core/node_modules/@probe.gl/log/dist/log.js
1246
1239
  var originalConsole = {
1247
- debug: isBrowser3 ? console.debug || console.log : console.log,
1240
+ debug: isBrowser3() ? console.debug || console.log : console.log,
1248
1241
  log: console.log,
1249
1242
  info: console.info,
1250
1243
  warn: console.warn,
1251
1244
  error: console.error
1252
1245
  };
1253
- var DEFAULT_SETTINGS = {
1246
+ var DEFAULT_LOG_CONFIGURATION = {
1254
1247
  enabled: true,
1255
1248
  level: 0
1256
1249
  };
@@ -1275,8 +1268,8 @@
1275
1268
  _defineProperty(this, "userData", {});
1276
1269
  _defineProperty(this, "LOG_THROTTLE_TIMEOUT", 0);
1277
1270
  this.id = id;
1278
- this._storage = new LocalStorage("__probe-".concat(this.id, "__"), DEFAULT_SETTINGS);
1279
1271
  this.userData = {};
1272
+ this._storage = new LocalStorage("__probe-".concat(this.id, "__"), DEFAULT_LOG_CONFIGURATION);
1280
1273
  this.timeStamp("".concat(this.id, " started"));
1281
1274
  autobind(this);
1282
1275
  Object.seal(this);
@@ -1310,13 +1303,13 @@
1310
1303
  }
1311
1304
  enable() {
1312
1305
  let enabled = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
1313
- this._storage.updateConfiguration({
1306
+ this._storage.setConfiguration({
1314
1307
  enabled
1315
1308
  });
1316
1309
  return this;
1317
1310
  }
1318
1311
  setLevel(level) {
1319
- this._storage.updateConfiguration({
1312
+ this._storage.setConfiguration({
1320
1313
  level
1321
1314
  });
1322
1315
  return this;
@@ -1325,7 +1318,7 @@
1325
1318
  return this._storage.config[setting];
1326
1319
  }
1327
1320
  set(setting, value) {
1328
- this._storage.updateConfiguration({
1321
+ this._storage.setConfiguration({
1329
1322
  [setting]: value
1330
1323
  });
1331
1324
  }
@@ -1364,9 +1357,6 @@
1364
1357
  return this._getLogFunction(logLevel, message, console.info, arguments);
1365
1358
  }
1366
1359
  once(logLevel, message) {
1367
- for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
1368
- args[_key - 2] = arguments[_key];
1369
- }
1370
1360
  return this._getLogFunction(logLevel, message, originalConsole.debug || originalConsole.info, arguments, ONCE);
1371
1361
  }
1372
1362
  table(logLevel, table, columns) {
@@ -1388,7 +1378,7 @@
1388
1378
  if (!this._shouldLog(logLevel || priority)) {
1389
1379
  return noop;
1390
1380
  }
1391
- return isBrowser3 ? logImageInBrowser({
1381
+ return isBrowser3() ? logImageInBrowser({
1392
1382
  image,
1393
1383
  message,
1394
1384
  scale: scale2
@@ -1461,7 +1451,7 @@
1461
1451
  opts.delta = this.getDelta();
1462
1452
  this._deltaTs = getHiResTimestamp();
1463
1453
  const tag = opts.tag || opts.message;
1464
- if (opts.once) {
1454
+ if (opts.once && tag) {
1465
1455
  if (!cache[tag]) {
1466
1456
  cache[tag] = getHiResTimestamp();
1467
1457
  } else {
@@ -1538,11 +1528,7 @@
1538
1528
  message = "",
1539
1529
  scale: scale2 = 1
1540
1530
  } = _ref2;
1541
- asciify.nodeAsciifyImage({
1542
- image,
1543
- message,
1544
- scale: scale2
1545
- });
1531
+ console.warn("removed");
1546
1532
  return noop;
1547
1533
  }
1548
1534
  function logImageInBrowser(_ref3) {
@@ -1582,8 +1568,8 @@
1582
1568
  return "empty";
1583
1569
  }
1584
1570
 
1585
- // ../../node_modules/@probe.gl/log/dist/esm/index.js
1586
- var esm_default = new Log({
1571
+ // ../core/node_modules/@probe.gl/log/dist/index.js
1572
+ var dist_default = new Log({
1587
1573
  id: "@probe.gl/log"
1588
1574
  });
1589
1575
 
@@ -1681,20 +1667,6 @@
1681
1667
  validateOptions(options, loaders);
1682
1668
  return normalizeOptionsInternal(loader, options, url);
1683
1669
  }
1684
- function getFetchFunction(options, context) {
1685
- const globalOptions = getGlobalLoaderOptions();
1686
- const fetchOptions = options || globalOptions;
1687
- if (typeof fetchOptions.fetch === "function") {
1688
- return fetchOptions.fetch;
1689
- }
1690
- if (isObject(fetchOptions.fetch)) {
1691
- return (url) => fetchFile(url, fetchOptions);
1692
- }
1693
- if (context?.fetch) {
1694
- return context?.fetch;
1695
- }
1696
- return fetchFile;
1697
- }
1698
1670
  function validateOptions(options, loaders) {
1699
1671
  validateOptionsObject(options, null, DEFAULT_LOADER_OPTIONS, REMOVED_LOADER_OPTIONS, loaders);
1700
1672
  for (const loader of loaders) {
@@ -2057,7 +2029,7 @@
2057
2029
  if (done) {
2058
2030
  return;
2059
2031
  }
2060
- yield toArrayBuffer(value);
2032
+ yield toArrayBuffer2(value);
2061
2033
  }
2062
2034
  } catch (error) {
2063
2035
  reader.releaseLock();
@@ -2065,7 +2037,7 @@
2065
2037
  }
2066
2038
  async function* makeNodeStreamIterator(stream, options) {
2067
2039
  for await (const chunk of stream) {
2068
- yield toArrayBuffer(chunk);
2040
+ yield toArrayBuffer2(chunk);
2069
2041
  }
2070
2042
  }
2071
2043
 
@@ -2143,6 +2115,22 @@
2143
2115
  throw new Error(ERR_DATA);
2144
2116
  }
2145
2117
 
2118
+ // ../core/src/lib/loader-utils/get-fetch-function.ts
2119
+ function getFetchFunction(options, context) {
2120
+ const globalOptions = getGlobalLoaderOptions();
2121
+ const fetchOptions = options || globalOptions;
2122
+ if (typeof fetchOptions.fetch === "function") {
2123
+ return fetchOptions.fetch;
2124
+ }
2125
+ if (isObject(fetchOptions.fetch)) {
2126
+ return (url) => fetchFile(url, fetchOptions);
2127
+ }
2128
+ if (context?.fetch) {
2129
+ return context?.fetch;
2130
+ }
2131
+ return fetchFile;
2132
+ }
2133
+
2146
2134
  // ../core/src/lib/loader-utils/loader-context.ts
2147
2135
  function getLoaderContext(context, options, previousContext = null) {
2148
2136
  if (previousContext) {
@@ -4422,7 +4410,7 @@
4422
4410
  _defineProperty(Ellipsoid, "WGS84", new Ellipsoid(WGS84_RADIUS_X, WGS84_RADIUS_Y, WGS84_RADIUS_Z));
4423
4411
 
4424
4412
  // ../images/src/lib/utils/version.ts
4425
- var VERSION4 = true ? "3.4.0-alpha.1" : "latest";
4413
+ var VERSION4 = true ? "3.4.0-alpha.2" : "latest";
4426
4414
 
4427
4415
  // ../images/src/lib/category-api/image-type.ts
4428
4416
  var { _parseImageNode } = globalThis;
@@ -4591,12 +4579,60 @@
4591
4579
  return true;
4592
4580
  }
4593
4581
 
4582
+ // ../images/src/lib/category-api/parse-isobmff-binary.ts
4583
+ function getISOBMFFMediaType(buffer) {
4584
+ if (!checkString(buffer, "ftyp", 4)) {
4585
+ return null;
4586
+ }
4587
+ if ((buffer[8] & 96) === 0) {
4588
+ return null;
4589
+ }
4590
+ return decodeMajorBrand(buffer);
4591
+ }
4592
+ function decodeMajorBrand(buffer) {
4593
+ const brandMajor = getUTF8String(buffer, 8, 12).replace("\0", " ").trim();
4594
+ switch (brandMajor) {
4595
+ case "avif":
4596
+ case "avis":
4597
+ return { extension: "avif", mimeType: "image/avif" };
4598
+ default:
4599
+ return null;
4600
+ }
4601
+ }
4602
+ function getUTF8String(array, start, end) {
4603
+ return String.fromCharCode(...array.slice(start, end));
4604
+ }
4605
+ function stringToBytes(string) {
4606
+ return [...string].map((character) => character.charCodeAt(0));
4607
+ }
4608
+ function checkString(buffer, header, offset = 0) {
4609
+ const headerBytes = stringToBytes(header);
4610
+ for (let i2 = 0; i2 < headerBytes.length; ++i2) {
4611
+ if (headerBytes[i2] !== buffer[i2 + offset]) {
4612
+ return false;
4613
+ }
4614
+ }
4615
+ return true;
4616
+ }
4617
+
4594
4618
  // ../images/src/lib/category-api/binary-image-api.ts
4595
4619
  var BIG_ENDIAN = false;
4596
4620
  var LITTLE_ENDIAN = true;
4597
4621
  function getBinaryImageMetadata(binaryData) {
4598
4622
  const dataView = toDataView(binaryData);
4599
- return getPngMetadata(dataView) || getJpegMetadata(dataView) || getGifMetadata(dataView) || getBmpMetadata(dataView);
4623
+ return getPngMetadata(dataView) || getJpegMetadata(dataView) || getGifMetadata(dataView) || getBmpMetadata(dataView) || getISOBMFFMetadata(dataView);
4624
+ }
4625
+ function getISOBMFFMetadata(binaryData) {
4626
+ const buffer = new Uint8Array(binaryData instanceof DataView ? binaryData.buffer : binaryData);
4627
+ const mediaType = getISOBMFFMediaType(buffer);
4628
+ if (!mediaType) {
4629
+ return null;
4630
+ }
4631
+ return {
4632
+ mimeType: mediaType.mimeType,
4633
+ width: 0,
4634
+ height: 0
4635
+ };
4600
4636
  }
4601
4637
  function getPngMetadata(binaryData) {
4602
4638
  const dataView = toDataView(binaryData);
@@ -4741,12 +4777,13 @@
4741
4777
  }
4742
4778
 
4743
4779
  // ../images/src/image-loader.ts
4744
- var EXTENSIONS = ["png", "jpg", "jpeg", "gif", "webp", "bmp", "ico", "svg"];
4780
+ var EXTENSIONS = ["png", "jpg", "jpeg", "gif", "webp", "bmp", "ico", "svg", "avif"];
4745
4781
  var MIME_TYPES = [
4746
4782
  "image/png",
4747
4783
  "image/jpeg",
4748
4784
  "image/gif",
4749
4785
  "image/webp",
4786
+ "image/avif",
4750
4787
  "image/bmp",
4751
4788
  "image/vnd.microsoft.icon",
4752
4789
  "image/svg+xml"
@@ -4770,7 +4807,7 @@
4770
4807
  };
4771
4808
 
4772
4809
  // ../draco/src/lib/utils/version.ts
4773
- var VERSION5 = true ? "3.4.0-alpha.1" : "latest";
4810
+ var VERSION5 = true ? "3.4.0-alpha.2" : "latest";
4774
4811
 
4775
4812
  // ../draco/src/draco-loader.ts
4776
4813
  var DEFAULT_DRACO_OPTIONS = {
@@ -5756,10 +5793,10 @@
5756
5793
  }
5757
5794
 
5758
5795
  // ../textures/src/lib/utils/version.ts
5759
- var VERSION6 = true ? "3.4.0-alpha.1" : "beta";
5796
+ var VERSION6 = true ? "3.4.0-alpha.2" : "beta";
5760
5797
 
5761
5798
  // ../textures/src/lib/parsers/basis-module-loader.ts
5762
- var VERSION7 = true ? "3.4.0-alpha.1" : "beta";
5799
+ var VERSION7 = true ? "3.4.0-alpha.2" : "beta";
5763
5800
  var BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION7}/dist/libs/basis_encoder.wasm`;
5764
5801
  var BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION7}/dist/libs/basis_encoder.js`;
5765
5802
  var loadBasisTranscoderPromise;
@@ -6726,7 +6763,7 @@
6726
6763
  }
6727
6764
 
6728
6765
  // ../../node_modules/@luma.gl/constants/dist/esm/index.js
6729
- var esm_default2 = {
6766
+ var esm_default = {
6730
6767
  DEPTH_BUFFER_BIT: 256,
6731
6768
  STENCIL_BUFFER_BIT: 1024,
6732
6769
  COLOR_BUFFER_BIT: 16384,
@@ -7361,11 +7398,11 @@
7361
7398
  }
7362
7399
  }
7363
7400
  var GL_TYPE_MAP = {
7364
- UInt8: esm_default2.UNSIGNED_BYTE,
7365
- UInt16: esm_default2.UNSIGNED_SHORT,
7366
- Float32: esm_default2.FLOAT,
7367
- UInt32: esm_default2.UNSIGNED_INT,
7368
- UInt64: esm_default2.DOUBLE
7401
+ UInt8: esm_default.UNSIGNED_BYTE,
7402
+ UInt16: esm_default.UNSIGNED_SHORT,
7403
+ Float32: esm_default.FLOAT,
7404
+ UInt32: esm_default.UNSIGNED_INT,
7405
+ UInt64: esm_default.DOUBLE
7369
7406
  };
7370
7407
  function sizeOf(dataType) {
7371
7408
  switch (dataType) {
@@ -7457,7 +7494,7 @@
7457
7494
  }
7458
7495
 
7459
7496
  // src/i3s-attribute-loader.ts
7460
- var VERSION8 = true ? "3.4.0-alpha.1" : "latest";
7497
+ var VERSION8 = true ? "3.4.0-alpha.2" : "latest";
7461
7498
  var I3SAttributeLoader = {
7462
7499
  name: "I3S Attribute",
7463
7500
  id: "i3s-attribute",
@@ -7918,7 +7955,7 @@
7918
7955
  }
7919
7956
 
7920
7957
  // src/i3s-content-loader.ts
7921
- var VERSION9 = true ? "3.4.0-alpha.1" : "beta";
7958
+ var VERSION9 = true ? "3.4.0-alpha.2" : "beta";
7922
7959
  var I3SContentLoader = {
7923
7960
  name: "I3S Content (Indexed Scene Layers)",
7924
7961
  id: isBrowser2 ? "i3s-content" : "i3s-content-nodejs",
@@ -1 +1 @@
1
- {"version":3,"file":"i3s-nodepages-tiles.d.ts","sourceRoot":"","sources":["../../../src/lib/helpers/i3s-nodepages-tiles.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,gBAAgB,EAEhB,QAAQ,EACR,UAAU,EAIV,gBAAgB,EAEhB,aAAa,EACd,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,SAAS,EAAE,QAAQ,EAAE,CAAM;IAC3B,gBAAgB,EAAE;QAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAA;KAAC,EAAE,CAAM;IAClF,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,iCAAiC,EAAE,CAAC;QAAC,MAAM,EAAE,gBAAgB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC,EAAE,CAAM;IAC5F,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,oBAAoB,CAA4B;IAExD;;;;;OAKG;gBACS,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa;IAU7D;;;OAGG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAsBlD;;;OAGG;IAEG,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA4D/D;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IA6BrB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAiBvB;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;IAuBlC;;;;OAIG;IACH,OAAO,CAAC,wCAAwC;IA2BhD;;;OAGG;IACH,OAAO,CAAC,0BAA0B;CAuBnC"}
1
+ {"version":3,"file":"i3s-nodepages-tiles.d.ts","sourceRoot":"","sources":["../../../src/lib/helpers/i3s-nodepages-tiles.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,gBAAgB,EAEhB,QAAQ,EACR,UAAU,EAIV,gBAAgB,EAEhB,aAAa,EACd,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,SAAS,EAAE,QAAQ,EAAE,CAAM;IAC3B,gBAAgB,EAAE;QAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAA;KAAC,EAAE,CAAM;IAClF,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,iCAAiC,EAAE,CAAC;QAAC,MAAM,EAAE,gBAAgB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC,EAAE,CAAM;IAC5F,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,oBAAoB,CAA4B;IAExD;;;;;OAKG;gBACS,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa;IAU7D;;;OAGG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAuBlD;;;OAGG;IAEG,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA4D/D;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IA8BrB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAiBvB;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;IAuBlC;;;;OAIG;IACH,OAAO,CAAC,wCAAwC;IA2BhD;;;OAGG;IACH,OAAO,CAAC,0BAA0B;CAwBnC"}
@@ -34,7 +34,9 @@ class I3SNodePagesTiles {
34
34
  async getNodeById(id) {
35
35
  const pageIndex = Math.floor(id / this.nodesPerPage);
36
36
  if (!this.nodePages[pageIndex] && !this.pendingNodePages[pageIndex]) {
37
- const nodePageUrl = (0, url_utils_1.getUrlWithToken)(`${this.tileset.url}/nodepages/${pageIndex}`, this.options.i3s?.token);
37
+ const nodePageUrl = (0, url_utils_1.getUrlWithToken)(`${this.tileset.url}/nodepages/${pageIndex}`,
38
+ // @ts-expect-error this.options is not properly typed
39
+ this.options.i3s?.token);
38
40
  this.pendingNodePages[pageIndex] = {
39
41
  status: 'Pending',
40
42
  promise: (0, core_1.load)(nodePageUrl, i3s_node_page_loader_1.I3SNodePageLoader, this.options)
@@ -118,6 +120,7 @@ class I3SNodePagesTiles {
118
120
  const geometryDefinition = this.tileset.geometryDefinitions[meshGeometryData.definition];
119
121
  let geometryIndex = -1;
120
122
  // Try to find DRACO geometryDefinition of `useDracoGeometry` option is set
123
+ // @ts-expect-error this.options is not properly typed
121
124
  if (this.options.i3s && this.options.i3s.useDracoGeometry) {
122
125
  geometryIndex = geometryDefinition.geometryBuffers.findIndex((buffer) => buffer.compressedAttributes && buffer.compressedAttributes.encoding === 'draco');
123
126
  }
@@ -215,6 +218,7 @@ class I3SNodePagesTiles {
215
218
  */
216
219
  getSupportedTextureFormats() {
217
220
  const formats = [];
221
+ // @ts-expect-error this.options is not properly typed
218
222
  if (!this.options.i3s || this.options.i3s.useCompressedTextures) {
219
223
  // I3S 1.7 selection
220
224
  const supportedCompressedFormats = (0, textures_1.getSupportedGPUTextureFormats)();
@@ -1 +1 @@
1
- {"version":3,"file":"parse-i3s-tile-content.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-i3s-tile-content.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAK3E,OAAO,EAQL,cAAc,EACd,cAAc,EACd,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAyBrB,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,cAAc,EAC3B,cAAc,EAAE,iBAAiB,EACjC,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,cAAc,CAAC,CAuDzB"}
1
+ {"version":3,"file":"parse-i3s-tile-content.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-i3s-tile-content.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAK3E,OAAO,EAQL,cAAc,EACd,cAAc,EACd,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAyBrB,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,cAAc,EAC3B,cAAc,EAAE,iBAAiB,EACjC,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,cAAc,CAAC,CAyDzB"}
@@ -38,10 +38,12 @@ async function parseI3STileContent(arrayBuffer, tileOptions, tilesetOptions, opt
38
38
  texture: null
39
39
  };
40
40
  if (tileOptions.textureUrl) {
41
+ // @ts-expect-error options is not properly typed
41
42
  const url = (0, url_utils_1.getUrlWithToken)(tileOptions.textureUrl, options?.i3s?.token);
42
43
  const loader = getLoaderForTextureFormat(tileOptions.textureFormat);
43
44
  const response = await fetch(url, options?.fetch);
44
45
  const arrayBuffer = await response.arrayBuffer();
46
+ // @ts-expect-error options is not properly typed
45
47
  if (options?.i3s.decodeTextures) {
46
48
  if (loader === images_1.ImageLoader) {
47
49
  const options = { ...tileOptions.textureLoaderOptions, image: { type: 'data' } };
@@ -1 +1 @@
1
- {"version":3,"file":"parse-i3s.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-i3s.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,gBAAgB,EAChB,aAAa,EAEb,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAC,aAAa,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAE3E,wBAAgB,iBAAiB,CAAC,IAAI,EAAG,mBAAmB,EAAE,OAAO,EAAE,aAAa,GAAG,aAAa,CAyBnG;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAG,kBAAkB,GAAG,aAAa,CAmChF;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAG,gBAAgB,EAAE,OAAO,EAAG,aAAa,EAAE,OAAO,EAAE,aAAa,iBAwBrH"}
1
+ {"version":3,"file":"parse-i3s.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-i3s.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,gBAAgB,EAChB,aAAa,EAEb,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAC,aAAa,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAE3E,wBAAgB,iBAAiB,CAAC,IAAI,EAAG,mBAAmB,EAAE,OAAO,EAAE,aAAa,GAAG,aAAa,CAyBnG;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAG,kBAAkB,GAAG,aAAa,CAmChF;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAG,gBAAgB,EAAE,OAAO,EAAG,aAAa,EAAE,OAAO,EAAE,aAAa,iBA0BrH"}
@@ -73,11 +73,13 @@ async function normalizeTilesetData(tileset, options, context) {
73
73
  tileset.root = tileset.nodePagesTile.formTileFromNodePages(0);
74
74
  }
75
75
  else {
76
+ // @ts-expect-error options is not properly typed
76
77
  const rootNodeUrl = (0, url_utils_1.getUrlWithToken)(`${tileset.url}/nodes/root`, options.i3s?.token);
77
78
  // eslint-disable-next-line no-use-before-define
78
79
  tileset.root = await (0, core_1.load)(rootNodeUrl, tileset.loader, {
79
80
  ...options,
80
81
  i3s: {
82
+ // @ts-expect-error options is not properly typed
81
83
  ...options.i3s,
82
84
  loadContent: false, isTileHeader: true, isTileset: false
83
85
  }