@loaders.gl/gltf 3.2.0-alpha.1 → 3.2.0-alpha.4

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 (40) hide show
  1. package/dist/dist.min.js +212 -216
  2. package/dist/es5/gltf-writer.js.map +1 -1
  3. package/dist/es5/index.js.map +1 -1
  4. package/dist/es5/lib/api/normalize-gltf-v1.js +3 -1
  5. package/dist/es5/lib/api/normalize-gltf-v1.js.map +1 -1
  6. package/dist/es5/lib/extensions/EXT_meshopt_compression.js +6 -15
  7. package/dist/es5/lib/extensions/EXT_meshopt_compression.js.map +1 -1
  8. package/dist/es5/lib/parsers/parse-gltf.js +15 -4
  9. package/dist/es5/lib/parsers/parse-gltf.js.map +1 -1
  10. package/dist/es5/lib/utils/version.js +1 -1
  11. package/dist/esm/gltf-writer.js.map +1 -1
  12. package/dist/esm/index.js.map +1 -1
  13. package/dist/esm/lib/api/normalize-gltf-v1.js +3 -1
  14. package/dist/esm/lib/api/normalize-gltf-v1.js.map +1 -1
  15. package/dist/esm/lib/extensions/EXT_meshopt_compression.js +7 -13
  16. package/dist/esm/lib/extensions/EXT_meshopt_compression.js.map +1 -1
  17. package/dist/esm/lib/parsers/parse-gltf.js +6 -0
  18. package/dist/esm/lib/parsers/parse-gltf.js.map +1 -1
  19. package/dist/esm/lib/utils/version.js +1 -1
  20. package/dist/gltf-writer.d.ts +2 -2
  21. package/dist/gltf-writer.d.ts.map +1 -1
  22. package/dist/index.d.ts +1 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/lib/api/normalize-gltf-v1.js +1 -1
  25. package/dist/lib/extensions/EXT_meshopt_compression.d.ts +0 -3
  26. package/dist/lib/extensions/EXT_meshopt_compression.d.ts.map +1 -1
  27. package/dist/lib/extensions/EXT_meshopt_compression.js +6 -15
  28. package/dist/lib/parsers/parse-gltf.js +7 -0
  29. package/dist/lib/types/gltf-postprocessed-schema.d.ts +9 -9
  30. package/dist/lib/types/gltf-postprocessed-schema.d.ts.map +1 -1
  31. package/dist/lib/types/gltf-types.d.ts +2 -2
  32. package/dist/lib/types/gltf-types.d.ts.map +1 -1
  33. package/package.json +6 -6
  34. package/src/gltf-writer.ts +2 -2
  35. package/src/index.ts +3 -0
  36. package/src/lib/api/normalize-gltf-v1.ts +1 -1
  37. package/src/lib/extensions/EXT_meshopt_compression.ts +11 -18
  38. package/src/lib/parsers/parse-gltf.ts +6 -0
  39. package/src/lib/types/gltf-postprocessed-schema.ts +9 -9
  40. package/src/lib/types/gltf-types.ts +16 -2
package/dist/dist.min.js CHANGED
@@ -37,20 +37,43 @@
37
37
  }
38
38
  });
39
39
 
40
- // ../textures/src/lib/utils/version.ts
41
- var VERSION2;
42
- var init_version2 = __esm({
43
- "../textures/src/lib/utils/version.ts"() {
44
- VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
40
+ // ../loader-utils/src/lib/env-utils/assert.ts
41
+ function assert(condition, message) {
42
+ if (!condition) {
43
+ throw new Error(message || "loader assertion failed.");
44
+ }
45
+ }
46
+ var init_assert = __esm({
47
+ "../loader-utils/src/lib/env-utils/assert.ts"() {
48
+ }
49
+ });
50
+
51
+ // ../loader-utils/src/lib/env-utils/globals.ts
52
+ var globals, self_, window_, global_, document_, isBrowser, matches, nodeVersion;
53
+ var init_globals = __esm({
54
+ "../loader-utils/src/lib/env-utils/globals.ts"() {
55
+ globals = {
56
+ self: typeof self !== "undefined" && self,
57
+ window: typeof window !== "undefined" && window,
58
+ global: typeof global !== "undefined" && global,
59
+ document: typeof document !== "undefined" && document
60
+ };
61
+ self_ = globals.self || globals.window || globals.global || {};
62
+ window_ = globals.window || globals.self || globals.global || {};
63
+ global_ = globals.global || globals.self || globals.window || {};
64
+ document_ = globals.document || {};
65
+ isBrowser = Boolean(typeof process !== "object" || String(process) !== "[object process]" || process.browser);
66
+ matches = typeof process !== "undefined" && process.version && /v([0-9]*)/.exec(process.version);
67
+ nodeVersion = matches && parseFloat(matches[1]) || 0;
45
68
  }
46
69
  });
47
70
 
48
71
  // ../worker-utils/src/lib/env-utils/version.ts
49
- var DEFAULT_VERSION, VERSION3;
50
- var init_version3 = __esm({
72
+ var DEFAULT_VERSION, VERSION2;
73
+ var init_version2 = __esm({
51
74
  "../worker-utils/src/lib/env-utils/version.ts"() {
52
75
  DEFAULT_VERSION = "beta";
53
- VERSION3 = typeof __VERSION__ !== "undefined" ? __VERSION__ : DEFAULT_VERSION;
76
+ VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : DEFAULT_VERSION;
54
77
  if (typeof __VERSION__ === "undefined") {
55
78
  console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
56
79
  }
@@ -58,35 +81,35 @@
58
81
  });
59
82
 
60
83
  // ../worker-utils/src/lib/env-utils/assert.ts
61
- function assert(condition, message) {
84
+ function assert2(condition, message) {
62
85
  if (!condition) {
63
86
  throw new Error(message || "loaders.gl assertion failed.");
64
87
  }
65
88
  }
66
- var init_assert = __esm({
89
+ var init_assert2 = __esm({
67
90
  "../worker-utils/src/lib/env-utils/assert.ts"() {
68
91
  }
69
92
  });
70
93
 
71
94
  // ../worker-utils/src/lib/env-utils/globals.ts
72
- var globals, self_, window_, global_, document_, isBrowser, isWorker, isMobile, matches, nodeVersion;
73
- var init_globals = __esm({
95
+ var globals2, self_2, window_2, global_2, document_2, isBrowser2, isWorker, isMobile, matches2, nodeVersion2;
96
+ var init_globals2 = __esm({
74
97
  "../worker-utils/src/lib/env-utils/globals.ts"() {
75
- globals = {
98
+ globals2 = {
76
99
  self: typeof self !== "undefined" && self,
77
100
  window: typeof window !== "undefined" && window,
78
101
  global: typeof global !== "undefined" && global,
79
102
  document: typeof document !== "undefined" && document
80
103
  };
81
- self_ = globals.self || globals.window || globals.global || {};
82
- window_ = globals.window || globals.self || globals.global || {};
83
- global_ = globals.global || globals.self || globals.window || {};
84
- document_ = globals.document || {};
85
- isBrowser = typeof process !== "object" || String(process) !== "[object process]" || process.browser;
104
+ self_2 = globals2.self || globals2.window || globals2.global || {};
105
+ window_2 = globals2.window || globals2.self || globals2.global || {};
106
+ global_2 = globals2.global || globals2.self || globals2.window || {};
107
+ document_2 = globals2.document || {};
108
+ isBrowser2 = typeof process !== "object" || String(process) !== "[object process]" || process.browser;
86
109
  isWorker = typeof importScripts === "function";
87
110
  isMobile = typeof window !== "undefined" && typeof window.orientation !== "undefined";
88
- matches = typeof process !== "undefined" && process.version && /v([0-9]*)/.exec(process.version);
89
- nodeVersion = matches && parseFloat(matches[1]) || 0;
111
+ matches2 = typeof process !== "undefined" && process.version && /v([0-9]*)/.exec(process.version);
112
+ nodeVersion2 = matches2 && parseFloat(matches2[1]) || 0;
90
113
  }
91
114
  });
92
115
 
@@ -112,12 +135,12 @@
112
135
  if (modules[library]) {
113
136
  return modules[library];
114
137
  }
115
- if (!isBrowser) {
138
+ if (!isBrowser2) {
116
139
  return `modules/${moduleName}/dist/libs/${library}`;
117
140
  }
118
141
  if (options.CDN) {
119
- assert(options.CDN.startsWith("http"));
120
- return `${options.CDN}/${moduleName}@${VERSION4}/dist/libs/${library}`;
142
+ assert2(options.CDN.startsWith("http"));
143
+ return `${options.CDN}/${moduleName}@${VERSION3}/dist/libs/${library}`;
121
144
  }
122
145
  if (isWorker) {
123
146
  return `../src/libs/${library}`;
@@ -129,7 +152,7 @@
129
152
  const response2 = await fetch(libraryUrl);
130
153
  return await response2.arrayBuffer();
131
154
  }
132
- if (!isBrowser) {
155
+ if (!isBrowser2) {
133
156
  try {
134
157
  return node && node.requireFromFile && await node.requireFromFile(libraryUrl);
135
158
  } catch {
@@ -144,11 +167,11 @@
144
167
  return loadLibraryFromString(scriptSource, libraryUrl);
145
168
  }
146
169
  function loadLibraryFromString(scriptSource, id) {
147
- if (!isBrowser) {
170
+ if (!isBrowser2) {
148
171
  return node.requireFromString && node.requireFromString(scriptSource, id);
149
172
  }
150
173
  if (isWorker) {
151
- eval.call(global_, scriptSource);
174
+ eval.call(global_2, scriptSource);
152
175
  return null;
153
176
  }
154
177
  const script = document.createElement("script");
@@ -161,15 +184,15 @@
161
184
  document.body.appendChild(script);
162
185
  return null;
163
186
  }
164
- var node, LATEST, VERSION4, loadLibraryPromises;
187
+ var node, LATEST, VERSION3, loadLibraryPromises;
165
188
  var init_library_utils = __esm({
166
189
  "../worker-utils/src/lib/library-utils/library-utils.ts"() {
167
- init_globals();
190
+ init_globals2();
168
191
  node = __toModule(require_require_utils());
169
- init_assert();
170
- init_version3();
192
+ init_assert2();
193
+ init_version2();
171
194
  LATEST = "beta";
172
- VERSION4 = typeof VERSION3 !== "undefined" ? VERSION3 : LATEST;
195
+ VERSION3 = typeof VERSION2 !== "undefined" ? VERSION2 : LATEST;
173
196
  loadLibraryPromises = {};
174
197
  }
175
198
  });
@@ -181,6 +204,130 @@
181
204
  }
182
205
  });
183
206
 
207
+ // ../loader-utils/src/lib/binary-utils/get-first-characters.ts
208
+ function getFirstCharacters(data, length = 5) {
209
+ if (typeof data === "string") {
210
+ return data.slice(0, length);
211
+ } else if (ArrayBuffer.isView(data)) {
212
+ return getMagicString(data.buffer, data.byteOffset, length);
213
+ } else if (data instanceof ArrayBuffer) {
214
+ const byteOffset = 0;
215
+ return getMagicString(data, byteOffset, length);
216
+ }
217
+ return "";
218
+ }
219
+ function getMagicString(arrayBuffer, byteOffset, length) {
220
+ if (arrayBuffer.byteLength <= byteOffset + length) {
221
+ return "";
222
+ }
223
+ const dataView = new DataView(arrayBuffer);
224
+ let magic = "";
225
+ for (let i2 = 0; i2 < length; i2++) {
226
+ magic += String.fromCharCode(dataView.getUint8(byteOffset + i2));
227
+ }
228
+ return magic;
229
+ }
230
+ var init_get_first_characters = __esm({
231
+ "../loader-utils/src/lib/binary-utils/get-first-characters.ts"() {
232
+ }
233
+ });
234
+
235
+ // ../loader-utils/src/lib/parser-utils/parse-json.ts
236
+ function parseJSON(string) {
237
+ try {
238
+ return JSON.parse(string);
239
+ } catch (_) {
240
+ throw new Error(`Failed to parse JSON from data starting with "${getFirstCharacters(string)}"`);
241
+ }
242
+ }
243
+ var init_parse_json = __esm({
244
+ "../loader-utils/src/lib/parser-utils/parse-json.ts"() {
245
+ init_get_first_characters();
246
+ }
247
+ });
248
+
249
+ // ../loader-utils/src/lib/binary-utils/array-buffer-utils.ts
250
+ function sliceArrayBuffer(arrayBuffer, byteOffset, byteLength) {
251
+ const subArray = byteLength !== void 0 ? new Uint8Array(arrayBuffer).subarray(byteOffset, byteOffset + byteLength) : new Uint8Array(arrayBuffer).subarray(byteOffset);
252
+ const arrayCopy = new Uint8Array(subArray);
253
+ return arrayCopy.buffer;
254
+ }
255
+ var init_array_buffer_utils = __esm({
256
+ "../loader-utils/src/lib/binary-utils/array-buffer-utils.ts"() {
257
+ }
258
+ });
259
+
260
+ // ../loader-utils/src/lib/binary-utils/memory-copy-utils.ts
261
+ function padToNBytes(byteLength, padding) {
262
+ assert(byteLength >= 0);
263
+ assert(padding > 0);
264
+ return byteLength + (padding - 1) & ~(padding - 1);
265
+ }
266
+ function copyToArray(source, target, targetOffset) {
267
+ let sourceArray;
268
+ if (source instanceof ArrayBuffer) {
269
+ sourceArray = new Uint8Array(source);
270
+ } else {
271
+ const srcByteOffset = source.byteOffset;
272
+ const srcByteLength = source.byteLength;
273
+ sourceArray = new Uint8Array(source.buffer || source.arrayBuffer, srcByteOffset, srcByteLength);
274
+ }
275
+ target.set(sourceArray, targetOffset);
276
+ return targetOffset + padToNBytes(sourceArray.byteLength, 4);
277
+ }
278
+ var init_memory_copy_utils = __esm({
279
+ "../loader-utils/src/lib/binary-utils/memory-copy-utils.ts"() {
280
+ init_assert();
281
+ }
282
+ });
283
+
284
+ // ../loader-utils/src/lib/binary-utils/binary-copy-utils.ts
285
+ function copyPaddedArrayBufferToDataView(dataView, byteOffset, sourceBuffer, padding) {
286
+ const paddedLength = padToNBytes(sourceBuffer.byteLength, padding);
287
+ const padLength = paddedLength - sourceBuffer.byteLength;
288
+ if (dataView) {
289
+ const targetArray = new Uint8Array(dataView.buffer, dataView.byteOffset + byteOffset, sourceBuffer.byteLength);
290
+ const sourceArray = new Uint8Array(sourceBuffer);
291
+ targetArray.set(sourceArray);
292
+ for (let i2 = 0; i2 < padLength; ++i2) {
293
+ dataView.setUint8(byteOffset + sourceBuffer.byteLength + i2, 32);
294
+ }
295
+ }
296
+ byteOffset += paddedLength;
297
+ return byteOffset;
298
+ }
299
+ function copyPaddedStringToDataView(dataView, byteOffset, string, padding) {
300
+ const textEncoder = new TextEncoder();
301
+ const stringBuffer = textEncoder.encode(string);
302
+ byteOffset = copyPaddedArrayBufferToDataView(dataView, byteOffset, stringBuffer, padding);
303
+ return byteOffset;
304
+ }
305
+ var init_binary_copy_utils = __esm({
306
+ "../loader-utils/src/lib/binary-utils/binary-copy-utils.ts"() {
307
+ init_memory_copy_utils();
308
+ }
309
+ });
310
+
311
+ // ../loader-utils/src/index.ts
312
+ var init_src2 = __esm({
313
+ "../loader-utils/src/index.ts"() {
314
+ init_assert();
315
+ init_globals();
316
+ init_parse_json();
317
+ init_array_buffer_utils();
318
+ init_memory_copy_utils();
319
+ init_binary_copy_utils();
320
+ }
321
+ });
322
+
323
+ // ../textures/src/lib/utils/version.ts
324
+ var VERSION4;
325
+ var init_version3 = __esm({
326
+ "../textures/src/lib/utils/version.ts"() {
327
+ VERSION4 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
328
+ }
329
+ });
330
+
184
331
  // ../textures/src/lib/parsers/basis-module-loader.ts
185
332
  async function loadBasisTrascoderModule(options) {
186
333
  const modules = options.modules || {};
@@ -606,13 +753,13 @@
606
753
  var BasisWorkerLoader, BasisLoader;
607
754
  var init_basis_loader = __esm({
608
755
  "../textures/src/basis-loader.ts"() {
609
- init_version2();
756
+ init_version3();
610
757
  init_parse_basis();
611
758
  BasisWorkerLoader = {
612
759
  name: "Basis",
613
760
  id: "basis",
614
761
  module: "textures",
615
- version: VERSION2,
762
+ version: VERSION4,
616
763
  worker: true,
617
764
  extensions: ["basis", "ktx2"],
618
765
  mimeTypes: ["application/octet-stream", "image/ktx2"],
@@ -634,153 +781,6 @@
634
781
  }
635
782
  });
636
783
 
637
- // ../loader-utils/src/lib/env-utils/assert.ts
638
- function assert2(condition, message) {
639
- if (!condition) {
640
- throw new Error(message || "loader assertion failed.");
641
- }
642
- }
643
- var init_assert2 = __esm({
644
- "../loader-utils/src/lib/env-utils/assert.ts"() {
645
- }
646
- });
647
-
648
- // ../loader-utils/src/lib/env-utils/globals.ts
649
- var globals2, self_2, window_2, global_2, document_2, isBrowser2, matches2, nodeVersion2;
650
- var init_globals2 = __esm({
651
- "../loader-utils/src/lib/env-utils/globals.ts"() {
652
- globals2 = {
653
- self: typeof self !== "undefined" && self,
654
- window: typeof window !== "undefined" && window,
655
- global: typeof global !== "undefined" && global,
656
- document: typeof document !== "undefined" && document
657
- };
658
- self_2 = globals2.self || globals2.window || globals2.global || {};
659
- window_2 = globals2.window || globals2.self || globals2.global || {};
660
- global_2 = globals2.global || globals2.self || globals2.window || {};
661
- document_2 = globals2.document || {};
662
- isBrowser2 = Boolean(typeof process !== "object" || String(process) !== "[object process]" || process.browser);
663
- matches2 = typeof process !== "undefined" && process.version && /v([0-9]*)/.exec(process.version);
664
- nodeVersion2 = matches2 && parseFloat(matches2[1]) || 0;
665
- }
666
- });
667
-
668
- // ../loader-utils/src/lib/binary-utils/get-first-characters.ts
669
- function getFirstCharacters(data, length = 5) {
670
- if (typeof data === "string") {
671
- return data.slice(0, length);
672
- } else if (ArrayBuffer.isView(data)) {
673
- return getMagicString(data.buffer, data.byteOffset, length);
674
- } else if (data instanceof ArrayBuffer) {
675
- const byteOffset = 0;
676
- return getMagicString(data, byteOffset, length);
677
- }
678
- return "";
679
- }
680
- function getMagicString(arrayBuffer, byteOffset, length) {
681
- if (arrayBuffer.byteLength <= byteOffset + length) {
682
- return "";
683
- }
684
- const dataView = new DataView(arrayBuffer);
685
- let magic = "";
686
- for (let i2 = 0; i2 < length; i2++) {
687
- magic += String.fromCharCode(dataView.getUint8(byteOffset + i2));
688
- }
689
- return magic;
690
- }
691
- var init_get_first_characters = __esm({
692
- "../loader-utils/src/lib/binary-utils/get-first-characters.ts"() {
693
- }
694
- });
695
-
696
- // ../loader-utils/src/lib/parser-utils/parse-json.ts
697
- function parseJSON(string) {
698
- try {
699
- return JSON.parse(string);
700
- } catch (_) {
701
- throw new Error(`Failed to parse JSON from data starting with "${getFirstCharacters(string)}"`);
702
- }
703
- }
704
- var init_parse_json = __esm({
705
- "../loader-utils/src/lib/parser-utils/parse-json.ts"() {
706
- init_get_first_characters();
707
- }
708
- });
709
-
710
- // ../loader-utils/src/lib/binary-utils/array-buffer-utils.ts
711
- function sliceArrayBuffer(arrayBuffer, byteOffset, byteLength) {
712
- const subArray = byteLength !== void 0 ? new Uint8Array(arrayBuffer).subarray(byteOffset, byteOffset + byteLength) : new Uint8Array(arrayBuffer).subarray(byteOffset);
713
- const arrayCopy = new Uint8Array(subArray);
714
- return arrayCopy.buffer;
715
- }
716
- var init_array_buffer_utils = __esm({
717
- "../loader-utils/src/lib/binary-utils/array-buffer-utils.ts"() {
718
- }
719
- });
720
-
721
- // ../loader-utils/src/lib/binary-utils/memory-copy-utils.ts
722
- function padToNBytes(byteLength, padding) {
723
- assert2(byteLength >= 0);
724
- assert2(padding > 0);
725
- return byteLength + (padding - 1) & ~(padding - 1);
726
- }
727
- function copyToArray(source, target, targetOffset) {
728
- let sourceArray;
729
- if (source instanceof ArrayBuffer) {
730
- sourceArray = new Uint8Array(source);
731
- } else {
732
- const srcByteOffset = source.byteOffset;
733
- const srcByteLength = source.byteLength;
734
- sourceArray = new Uint8Array(source.buffer || source.arrayBuffer, srcByteOffset, srcByteLength);
735
- }
736
- target.set(sourceArray, targetOffset);
737
- return targetOffset + padToNBytes(sourceArray.byteLength, 4);
738
- }
739
- var init_memory_copy_utils = __esm({
740
- "../loader-utils/src/lib/binary-utils/memory-copy-utils.ts"() {
741
- init_assert2();
742
- }
743
- });
744
-
745
- // ../loader-utils/src/lib/binary-utils/binary-copy-utils.ts
746
- function copyPaddedArrayBufferToDataView(dataView, byteOffset, sourceBuffer, padding) {
747
- const paddedLength = padToNBytes(sourceBuffer.byteLength, padding);
748
- const padLength = paddedLength - sourceBuffer.byteLength;
749
- if (dataView) {
750
- const targetArray = new Uint8Array(dataView.buffer, dataView.byteOffset + byteOffset, sourceBuffer.byteLength);
751
- const sourceArray = new Uint8Array(sourceBuffer);
752
- targetArray.set(sourceArray);
753
- for (let i2 = 0; i2 < padLength; ++i2) {
754
- dataView.setUint8(byteOffset + sourceBuffer.byteLength + i2, 32);
755
- }
756
- }
757
- byteOffset += paddedLength;
758
- return byteOffset;
759
- }
760
- function copyPaddedStringToDataView(dataView, byteOffset, string, padding) {
761
- const textEncoder = new TextEncoder();
762
- const stringBuffer = textEncoder.encode(string);
763
- byteOffset = copyPaddedArrayBufferToDataView(dataView, byteOffset, stringBuffer, padding);
764
- return byteOffset;
765
- }
766
- var init_binary_copy_utils = __esm({
767
- "../loader-utils/src/lib/binary-utils/binary-copy-utils.ts"() {
768
- init_memory_copy_utils();
769
- }
770
- });
771
-
772
- // ../loader-utils/src/index.ts
773
- var init_src2 = __esm({
774
- "../loader-utils/src/index.ts"() {
775
- init_assert2();
776
- init_globals2();
777
- init_parse_json();
778
- init_array_buffer_utils();
779
- init_memory_copy_utils();
780
- init_binary_copy_utils();
781
- }
782
- });
783
-
784
784
  // ../images/src/lib/utils/version.ts
785
785
  var VERSION6;
786
786
  var init_version4 = __esm({
@@ -824,7 +824,7 @@
824
824
  IMAGE_SUPPORTED = typeof Image !== "undefined";
825
825
  IMAGE_BITMAP_SUPPORTED = typeof ImageBitmap !== "undefined";
826
826
  NODE_IMAGE_SUPPORTED = Boolean(_parseImageNode);
827
- DATA_SUPPORTED = isBrowser2 ? true : NODE_IMAGE_SUPPORTED;
827
+ DATA_SUPPORTED = isBrowser ? true : NODE_IMAGE_SUPPORTED;
828
828
  }
829
829
  });
830
830
 
@@ -1096,7 +1096,7 @@
1096
1096
  async function parseToNodeImage(arrayBuffer, options) {
1097
1097
  const { mimeType } = getBinaryImageMetadata(arrayBuffer) || {};
1098
1098
  const _parseImageNode2 = globalThis._parseImageNode;
1099
- assert2(_parseImageNode2);
1099
+ assert(_parseImageNode2);
1100
1100
  return await _parseImageNode2(arrayBuffer, mimeType);
1101
1101
  }
1102
1102
  var init_parse_to_node_image = __esm({
@@ -1125,7 +1125,7 @@
1125
1125
  image = await parseToNodeImage(arrayBuffer, options);
1126
1126
  break;
1127
1127
  default:
1128
- assert2(false);
1128
+ assert(false);
1129
1129
  }
1130
1130
  if (imageType === "data") {
1131
1131
  image = getImageData(image);
@@ -1202,9 +1202,9 @@
1202
1202
  case "image/webp":
1203
1203
  return checkWebPSupport();
1204
1204
  case "image/svg":
1205
- return isBrowser2;
1205
+ return isBrowser;
1206
1206
  default:
1207
- if (!isBrowser2) {
1207
+ if (!isBrowser) {
1208
1208
  const { _parseImageNode: _parseImageNode2 } = globalThis;
1209
1209
  return Boolean(_parseImageNode2) && NODE_FORMAT_SUPPORT.includes(mimeType);
1210
1210
  }
@@ -1212,7 +1212,7 @@
1212
1212
  }
1213
1213
  }
1214
1214
  function checkWebPSupport() {
1215
- if (!isBrowser2) {
1215
+ if (!isBrowser) {
1216
1216
  return false;
1217
1217
  }
1218
1218
  try {
@@ -1753,9 +1753,6 @@
1753
1753
  });
1754
1754
 
1755
1755
  // src/meshopt/meshopt-decoder.ts
1756
- function isMeshoptSupported() {
1757
- return isWebAssemblySupported;
1758
- }
1759
1756
  async function meshoptDecodeGltfBuffer(target, count, size, source, mode, filter = "NONE") {
1760
1757
  const instance = await loadWasmInstance();
1761
1758
  decode(instance, instance.exports[DECODERS[mode]], target, count, size, source, instance.exports[FILTERS[filter || "NONE"]]);
@@ -1805,10 +1802,9 @@
1805
1802
  throw new Error(`Malformed buffer data: ${res}`);
1806
1803
  }
1807
1804
  }
1808
- var isWebAssemblySupported, wasm_base, wasm_simd, detector, wasmpack, FILTERS, DECODERS, wasmPromise;
1805
+ var wasm_base, wasm_simd, detector, wasmpack, FILTERS, DECODERS, wasmPromise;
1809
1806
  var init_meshopt_decoder = __esm({
1810
1807
  "src/meshopt/meshopt-decoder.ts"() {
1811
- isWebAssemblySupported = typeof WebAssembly !== "object";
1812
1808
  wasm_base = "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";
1813
1809
  wasm_simd = "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";
1814
1810
  detector = new Uint8Array([
@@ -1951,15 +1947,8 @@
1951
1947
  var EXT_meshopt_compression_exports = {};
1952
1948
  __export(EXT_meshopt_compression_exports, {
1953
1949
  decode: () => decode2,
1954
- name: () => name,
1955
- preprocess: () => preprocess
1950
+ name: () => name
1956
1951
  });
1957
- function preprocess(gltfData) {
1958
- const scenegraph = new GLTFScenegraph(gltfData);
1959
- if (scenegraph.getRequiredExtensions().includes(EXT_MESHOPT_COMPRESSION) && !isMeshoptSupported()) {
1960
- throw new Error(`gltf: Required extension ${EXT_MESHOPT_COMPRESSION} not supported by browser`);
1961
- }
1962
- }
1963
1952
  async function decode2(gltfData, options) {
1964
1953
  const scenegraph = new GLTFScenegraph(gltfData);
1965
1954
  if (!options?.gltf?.decompressMeshes) {
@@ -1975,18 +1964,19 @@
1975
1964
  async function decodeMeshoptBufferView(scenegraph, bufferView) {
1976
1965
  const meshoptExtension = scenegraph.getObjectExtension(bufferView, EXT_MESHOPT_COMPRESSION);
1977
1966
  if (meshoptExtension) {
1978
- const buffer = bufferView.buffer;
1979
1967
  const {
1980
1968
  byteOffset = 0,
1981
1969
  byteLength = 0,
1982
1970
  byteStride,
1983
1971
  count,
1984
1972
  mode,
1985
- filter = "NONE"
1973
+ filter = "NONE",
1974
+ buffer: bufferIndex
1986
1975
  } = meshoptExtension;
1987
- const source = new Uint8Array(buffer, byteOffset, byteLength);
1988
- const result = new ArrayBuffer(count * byteStride);
1989
- await meshoptDecodeGltfBuffer(new Uint8Array(result), count, byteStride, source, mode, filter);
1976
+ const buffer = scenegraph.gltf.buffers[bufferIndex];
1977
+ const source = new Uint8Array(buffer.arrayBuffer, buffer.byteOffset + byteOffset, byteLength);
1978
+ const result = new Uint8Array(scenegraph.gltf.buffers[bufferView.buffer].arrayBuffer, bufferView.byteOffset, bufferView.byteLength);
1979
+ await meshoptDecodeGltfBuffer(result, count, byteStride, source, mode, filter);
1990
1980
  return result;
1991
1981
  }
1992
1982
  return null;
@@ -2005,9 +1995,9 @@
2005
1995
  var EXT_texture_webp_exports = {};
2006
1996
  __export(EXT_texture_webp_exports, {
2007
1997
  name: () => name2,
2008
- preprocess: () => preprocess2
1998
+ preprocess: () => preprocess
2009
1999
  });
2010
- function preprocess2(gltfData, options) {
2000
+ function preprocess(gltfData, options) {
2011
2001
  const scenegraph = new GLTFScenegraph(gltfData);
2012
2002
  if (!_isImageFormatSupported("image/webp")) {
2013
2003
  if (scenegraph.getRequiredExtensions().includes(EXT_TEXTURE_WEBP)) {
@@ -2039,9 +2029,9 @@
2039
2029
  var KHR_texture_basisu_exports = {};
2040
2030
  __export(KHR_texture_basisu_exports, {
2041
2031
  name: () => name3,
2042
- preprocess: () => preprocess3
2032
+ preprocess: () => preprocess2
2043
2033
  });
2044
- function preprocess3(gltfData, options) {
2034
+ function preprocess2(gltfData, options) {
2045
2035
  const scene = new GLTFScenegraph(gltfData);
2046
2036
  const { json } = scene;
2047
2037
  for (const texture of json.textures || []) {
@@ -3205,9 +3195,9 @@
3205
3195
  decode: () => decode3,
3206
3196
  encode: () => encode,
3207
3197
  name: () => name4,
3208
- preprocess: () => preprocess4
3198
+ preprocess: () => preprocess3
3209
3199
  });
3210
- function preprocess4(gltfData, options, context) {
3200
+ function preprocess3(gltfData, options, context) {
3211
3201
  const scenegraph = new GLTFScenegraph(gltfData);
3212
3202
  for (const primitive of makeMeshPrimitiveIterator(scenegraph)) {
3213
3203
  if (scenegraph.getObjectExtension(primitive, KHR_DRACO_MESH_COMPRESSION)) {
@@ -3511,7 +3501,7 @@
3511
3501
  });
3512
3502
 
3513
3503
  // src/lib/extensions/KHR_binary_gltf.ts
3514
- function preprocess5(gltfData) {
3504
+ function preprocess4(gltfData) {
3515
3505
  const gltfScenegraph = new GLTFScenegraph(gltfData);
3516
3506
  const { json } = gltfScenegraph;
3517
3507
  for (const image of json.images || []) {
@@ -3606,7 +3596,7 @@
3606
3596
  console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail.");
3607
3597
  this._addAsset(json);
3608
3598
  this._convertTopLevelObjectsToArrays(json);
3609
- preprocess5(gltf);
3599
+ preprocess4(gltf);
3610
3600
  this._convertObjectIdsToArrayIndices(json);
3611
3601
  this._updateObjects(json);
3612
3602
  this._updateMaterial(json);
@@ -3723,7 +3713,7 @@
3723
3713
  metallicFactor: 1,
3724
3714
  roughnessFactor: 1
3725
3715
  };
3726
- const textureId = material.values && material.values.tex;
3716
+ const textureId = material.values?.tex || material.values?.texture2d_0;
3727
3717
  const textureIndex = json.textures.findIndex((texture) => texture.id === textureId);
3728
3718
  if (textureIndex !== -1) {
3729
3719
  material.pbrMetallicRoughness.baseColorTexture = { index: textureIndex };
@@ -4093,18 +4083,18 @@
4093
4083
  }
4094
4084
  }
4095
4085
  function parseGLBV1(glb, dataView, byteOffset) {
4096
- assert2(glb.header.byteLength > GLB_FILE_HEADER_SIZE + GLB_CHUNK_HEADER_SIZE);
4086
+ assert(glb.header.byteLength > GLB_FILE_HEADER_SIZE + GLB_CHUNK_HEADER_SIZE);
4097
4087
  const contentLength = dataView.getUint32(byteOffset + 0, LE);
4098
4088
  const contentFormat = dataView.getUint32(byteOffset + 4, LE);
4099
4089
  byteOffset += GLB_CHUNK_HEADER_SIZE;
4100
- assert2(contentFormat === GLB_V1_CONTENT_FORMAT_JSON);
4090
+ assert(contentFormat === GLB_V1_CONTENT_FORMAT_JSON);
4101
4091
  parseJSONChunk(glb, dataView, byteOffset, contentLength);
4102
4092
  byteOffset += contentLength;
4103
4093
  byteOffset += parseBINChunk(glb, dataView, byteOffset, glb.header.byteLength);
4104
4094
  return byteOffset;
4105
4095
  }
4106
4096
  function parseGLBV2(glb, dataView, byteOffset, options) {
4107
- assert2(glb.header.byteLength > GLB_FILE_HEADER_SIZE + GLB_CHUNK_HEADER_SIZE);
4097
+ assert(glb.header.byteLength > GLB_FILE_HEADER_SIZE + GLB_CHUNK_HEADER_SIZE);
4108
4098
  parseGLBChunksSync(glb, dataView, byteOffset, options);
4109
4099
  return byteOffset + glb.header.byteLength;
4110
4100
  }
@@ -4235,6 +4225,12 @@
4235
4225
  byteLength: arrayBuffer.byteLength
4236
4226
  };
4237
4227
  delete buffer.uri;
4228
+ } else if (gltf.buffers[i2] === null) {
4229
+ gltf.buffers[i2] = {
4230
+ arrayBuffer: new ArrayBuffer(buffer.byteLength),
4231
+ byteOffset: 0,
4232
+ byteLength: buffer.byteLength
4233
+ };
4238
4234
  }
4239
4235
  }
4240
4236
  }