@loaders.gl/draco 4.3.4 → 4.4.0-alpha.10
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.dev.js +13059 -1021
- package/dist/dist.min.js +12 -3
- package/dist/draco-arrow-loader.d.ts +30 -0
- package/dist/draco-arrow-loader.d.ts.map +1 -0
- package/dist/draco-arrow-loader.js +20 -0
- package/dist/draco-arrow-loader.js.map +1 -0
- package/dist/draco-format.d.ts +13 -0
- package/dist/draco-format.d.ts.map +1 -0
- package/dist/draco-format.js +16 -0
- package/dist/draco-format.js.map +1 -0
- package/dist/draco-loader.d.ts +29 -2
- package/dist/draco-loader.d.ts.map +1 -1
- package/dist/draco-loader.js +21 -1
- package/dist/draco-loader.js.map +1 -0
- package/dist/draco-worker-node.js +429 -185
- package/dist/draco-worker-node.js.map +4 -4
- package/dist/draco-worker.js +188 -116
- package/dist/draco-worker.js.map +4 -4
- package/dist/draco-writer-worker-node.js +301 -76
- package/dist/draco-writer-worker-node.js.map +4 -4
- package/dist/draco-writer-worker.js +61 -7
- package/dist/draco-writer-worker.js.map +2 -2
- package/dist/draco-writer.d.ts +16 -0
- package/dist/draco-writer.d.ts.map +1 -1
- package/dist/draco-writer.js +21 -1
- package/dist/draco-writer.js.map +1 -0
- package/dist/draco3d/draco3d-types.js +1 -0
- package/dist/draco3d/draco3d-types.js.map +1 -0
- package/dist/index.cjs +865 -811
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +5 -48
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -38
- package/dist/index.js.map +1 -0
- package/dist/lib/draco-builder.d.ts.map +1 -1
- package/dist/lib/draco-builder.js +1 -0
- package/dist/lib/draco-builder.js.map +1 -0
- package/dist/lib/draco-module-loader.d.ts +3 -2
- package/dist/lib/draco-module-loader.d.ts.map +1 -1
- package/dist/lib/draco-module-loader.js +53 -10
- package/dist/lib/draco-module-loader.js.map +1 -0
- package/dist/lib/draco-parser.d.ts.map +1 -1
- package/dist/lib/draco-parser.js +4 -1
- package/dist/lib/draco-parser.js.map +1 -0
- package/dist/lib/draco-types.js +1 -0
- package/dist/lib/draco-types.js.map +1 -0
- package/dist/lib/utils/get-draco-schema.d.ts.map +1 -1
- package/dist/lib/utils/get-draco-schema.js +2 -1
- package/dist/lib/utils/get-draco-schema.js.map +1 -0
- package/dist/lib/utils/version.js +2 -1
- package/dist/lib/utils/version.js.map +1 -0
- package/dist/libs/libs/draco_decoder.wasm +0 -0
- package/dist/libs/libs/draco_encoder.js +52 -0
- package/dist/libs/libs/draco_wasm_wrapper.js +117 -0
- package/dist/workers/draco-worker-node.js +1 -0
- package/dist/workers/draco-worker-node.js.map +1 -0
- package/dist/workers/draco-worker.js +1 -0
- package/dist/workers/draco-worker.js.map +1 -0
- package/dist/workers/draco-writer-worker-node.cjs +18 -0
- package/dist/workers/draco-writer-worker-node.cjs.map +1 -0
- package/dist/workers/draco-writer-worker-node.d.cts +2 -0
- package/dist/workers/draco-writer-worker-node.d.cts.map +1 -0
- package/dist/workers/draco-writer-worker-node.js +1 -0
- package/dist/workers/draco-writer-worker-node.js.map +1 -0
- package/dist/workers/draco-writer-worker.js +1 -0
- package/dist/workers/draco-writer-worker.js.map +1 -0
- package/package.json +19 -6
- package/src/draco-arrow-loader.ts +25 -0
- package/src/draco-format.ts +18 -0
- package/src/draco-loader.ts +26 -3
- package/src/draco-writer.ts +22 -1
- package/src/index.ts +5 -45
- package/src/lib/draco-module-loader.ts +87 -23
- package/src/lib/draco-parser.ts +3 -1
- package/src/lib/utils/get-draco-schema.ts +2 -1
- package/src/workers/draco-writer-worker-node.cjs +18 -0
package/dist/draco-worker.js
CHANGED
|
@@ -9,8 +9,9 @@
|
|
|
9
9
|
"loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN."
|
|
10
10
|
);
|
|
11
11
|
globalThis._loadersgl_.version = NPM_TAG;
|
|
12
|
+
warningIssued = true;
|
|
12
13
|
} else {
|
|
13
|
-
globalThis._loadersgl_.version = "4.
|
|
14
|
+
globalThis._loadersgl_.version = "4.4.0-alpha.10";
|
|
14
15
|
}
|
|
15
16
|
}
|
|
16
17
|
return globalThis._loadersgl_.version;
|
|
@@ -173,6 +174,9 @@
|
|
|
173
174
|
return await loadLibraryPromises[libraryUrl];
|
|
174
175
|
}
|
|
175
176
|
function getLibraryUrl(library, moduleName, options = {}, libraryName = null) {
|
|
177
|
+
if (options?.core) {
|
|
178
|
+
throw new Error("loadLibrary: options.core must be pre-normalized");
|
|
179
|
+
}
|
|
176
180
|
if (!options.useLocalLibraries && library.startsWith("http")) {
|
|
177
181
|
return library;
|
|
178
182
|
}
|
|
@@ -198,10 +202,20 @@
|
|
|
198
202
|
return await loadAsArrayBuffer(libraryUrl);
|
|
199
203
|
}
|
|
200
204
|
if (!isBrowser) {
|
|
205
|
+
const { requireFromFile } = globalThis.loaders || {};
|
|
201
206
|
try {
|
|
202
|
-
const
|
|
203
|
-
|
|
207
|
+
const result = await requireFromFile?.(libraryUrl);
|
|
208
|
+
if (result || !libraryUrl.includes("/dist/libs/")) {
|
|
209
|
+
return result;
|
|
210
|
+
}
|
|
211
|
+
return await requireFromFile?.(libraryUrl.replace("/dist/libs/", "/src/libs/"));
|
|
204
212
|
} catch (error) {
|
|
213
|
+
if (libraryUrl.includes("/dist/libs/")) {
|
|
214
|
+
try {
|
|
215
|
+
return await requireFromFile?.(libraryUrl.replace("/dist/libs/", "/src/libs/"));
|
|
216
|
+
} catch {
|
|
217
|
+
}
|
|
218
|
+
}
|
|
205
219
|
console.error(error);
|
|
206
220
|
return null;
|
|
207
221
|
}
|
|
@@ -237,7 +251,14 @@
|
|
|
237
251
|
const response = await fetch(url);
|
|
238
252
|
return await response.arrayBuffer();
|
|
239
253
|
}
|
|
240
|
-
|
|
254
|
+
try {
|
|
255
|
+
return await readFileAsArrayBuffer(url);
|
|
256
|
+
} catch {
|
|
257
|
+
if (url.includes("/dist/libs/")) {
|
|
258
|
+
return await readFileAsArrayBuffer(url.replace("/dist/libs/", "/src/libs/"));
|
|
259
|
+
}
|
|
260
|
+
throw new Error(`Failed to load ArrayBuffer from ${url}`);
|
|
261
|
+
}
|
|
241
262
|
}
|
|
242
263
|
async function loadAsText(url) {
|
|
243
264
|
const { readFileAsText } = globalThis.loaders || {};
|
|
@@ -245,7 +266,14 @@
|
|
|
245
266
|
const response = await fetch(url);
|
|
246
267
|
return await response.text();
|
|
247
268
|
}
|
|
248
|
-
|
|
269
|
+
try {
|
|
270
|
+
return await readFileAsText(url);
|
|
271
|
+
} catch {
|
|
272
|
+
if (url.includes("/dist/libs/")) {
|
|
273
|
+
return await readFileAsText(url.replace("/dist/libs/", "/src/libs/"));
|
|
274
|
+
}
|
|
275
|
+
throw new Error(`Failed to load text from ${url}`);
|
|
276
|
+
}
|
|
249
277
|
}
|
|
250
278
|
|
|
251
279
|
// ../loader-utils/src/lib/worker-loader-utils/create-loader-worker.ts
|
|
@@ -324,40 +352,134 @@
|
|
|
324
352
|
options = {
|
|
325
353
|
...options,
|
|
326
354
|
modules: loader && loader.options && loader.options.modules || {},
|
|
327
|
-
|
|
355
|
+
core: {
|
|
356
|
+
...options.core,
|
|
357
|
+
worker: false
|
|
358
|
+
}
|
|
328
359
|
};
|
|
329
360
|
return await parser(data, { ...options }, context, loader);
|
|
330
361
|
}
|
|
331
362
|
|
|
332
|
-
// src/lib/
|
|
333
|
-
var
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
var
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
363
|
+
// src/lib/draco-module-loader.ts
|
|
364
|
+
var DRACO_DECODER_VERSION = "1.5.6";
|
|
365
|
+
var DRACO_ENCODER_VERSION = "1.4.1";
|
|
366
|
+
var STATIC_DECODER_URL = `https://www.gstatic.com/draco/versioned/decoders/${DRACO_DECODER_VERSION}`;
|
|
367
|
+
var DRACO_EXTERNAL_LIBRARIES = {
|
|
368
|
+
/** The primary Draco3D encoder, javascript wrapper part */
|
|
369
|
+
DECODER: "draco_wasm_wrapper.js",
|
|
370
|
+
/** The primary draco decoder, compiled web assembly part */
|
|
371
|
+
DECODER_WASM: "draco_decoder.wasm",
|
|
372
|
+
/** Fallback decoder for non-webassebly environments. Very big bundle, lower performance */
|
|
373
|
+
FALLBACK_DECODER: "draco_decoder.js",
|
|
374
|
+
/** Draco encoder */
|
|
375
|
+
ENCODER: "draco_encoder.js"
|
|
376
|
+
};
|
|
377
|
+
var DRACO_EXTERNAL_LIBRARY_URLS = {
|
|
378
|
+
[DRACO_EXTERNAL_LIBRARIES.DECODER]: `${STATIC_DECODER_URL}/${DRACO_EXTERNAL_LIBRARIES.DECODER}`,
|
|
379
|
+
[DRACO_EXTERNAL_LIBRARIES.DECODER_WASM]: `${STATIC_DECODER_URL}/${DRACO_EXTERNAL_LIBRARIES.DECODER_WASM}`,
|
|
380
|
+
[DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER]: `${STATIC_DECODER_URL}/${DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER}`,
|
|
381
|
+
[DRACO_EXTERNAL_LIBRARIES.ENCODER]: `https://raw.githubusercontent.com/google/draco/${DRACO_ENCODER_VERSION}/javascript/${DRACO_EXTERNAL_LIBRARIES.ENCODER}`
|
|
382
|
+
};
|
|
383
|
+
var loadDecoderPromise;
|
|
384
|
+
async function loadDracoDecoderModule(options = {}, type) {
|
|
385
|
+
const modules = options.modules || {};
|
|
386
|
+
if (modules.draco3d) {
|
|
387
|
+
loadDecoderPromise ||= modules.draco3d.createDecoderModule({}).then((draco) => {
|
|
388
|
+
return { draco };
|
|
389
|
+
});
|
|
390
|
+
} else {
|
|
391
|
+
loadDecoderPromise ||= loadDracoDecoder(options, type);
|
|
392
|
+
}
|
|
393
|
+
return await loadDecoderPromise;
|
|
394
|
+
}
|
|
395
|
+
function getLibraryExport(library, exportName) {
|
|
396
|
+
if (library && typeof library === "object") {
|
|
397
|
+
if (library.default) {
|
|
398
|
+
return library.default;
|
|
399
|
+
}
|
|
400
|
+
if (library[exportName]) {
|
|
401
|
+
return library[exportName];
|
|
356
402
|
}
|
|
357
403
|
}
|
|
358
|
-
|
|
404
|
+
return library;
|
|
405
|
+
}
|
|
406
|
+
async function loadDracoDecoder(options, type) {
|
|
407
|
+
let DracoDecoderModule;
|
|
408
|
+
let wasmBinary;
|
|
409
|
+
switch (type) {
|
|
410
|
+
case "js":
|
|
411
|
+
DracoDecoderModule = await loadLibrary(
|
|
412
|
+
DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER],
|
|
413
|
+
"draco",
|
|
414
|
+
options,
|
|
415
|
+
DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER
|
|
416
|
+
);
|
|
417
|
+
break;
|
|
418
|
+
case "wasm":
|
|
419
|
+
default:
|
|
420
|
+
try {
|
|
421
|
+
[DracoDecoderModule, wasmBinary] = await Promise.all([
|
|
422
|
+
await loadLibrary(
|
|
423
|
+
DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER],
|
|
424
|
+
"draco",
|
|
425
|
+
options,
|
|
426
|
+
DRACO_EXTERNAL_LIBRARIES.DECODER
|
|
427
|
+
),
|
|
428
|
+
await loadLibrary(
|
|
429
|
+
DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER_WASM],
|
|
430
|
+
"draco",
|
|
431
|
+
options,
|
|
432
|
+
DRACO_EXTERNAL_LIBRARIES.DECODER_WASM
|
|
433
|
+
)
|
|
434
|
+
]);
|
|
435
|
+
} catch {
|
|
436
|
+
DracoDecoderModule = null;
|
|
437
|
+
wasmBinary = null;
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
DracoDecoderModule = getLibraryExport(DracoDecoderModule, "DracoDecoderModule");
|
|
441
|
+
DracoDecoderModule = DracoDecoderModule || globalThis.DracoDecoderModule;
|
|
442
|
+
if (!DracoDecoderModule && !isBrowser) {
|
|
443
|
+
[DracoDecoderModule, wasmBinary] = await Promise.all([
|
|
444
|
+
await loadLibrary(
|
|
445
|
+
DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER],
|
|
446
|
+
"draco",
|
|
447
|
+
{ ...options, useLocalLibraries: true },
|
|
448
|
+
DRACO_EXTERNAL_LIBRARIES.DECODER
|
|
449
|
+
),
|
|
450
|
+
await loadLibrary(
|
|
451
|
+
DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER_WASM],
|
|
452
|
+
"draco",
|
|
453
|
+
{ ...options, useLocalLibraries: true },
|
|
454
|
+
DRACO_EXTERNAL_LIBRARIES.DECODER_WASM
|
|
455
|
+
)
|
|
456
|
+
]);
|
|
457
|
+
DracoDecoderModule = getLibraryExport(DracoDecoderModule, "DracoDecoderModule");
|
|
458
|
+
DracoDecoderModule = DracoDecoderModule || globalThis.DracoDecoderModule;
|
|
459
|
+
}
|
|
460
|
+
return await initializeDracoDecoder(DracoDecoderModule, wasmBinary);
|
|
461
|
+
}
|
|
462
|
+
function initializeDracoDecoder(DracoDecoderModule, wasmBinary) {
|
|
463
|
+
if (typeof DracoDecoderModule !== "function") {
|
|
464
|
+
throw new Error("DracoDecoderModule could not be loaded");
|
|
465
|
+
}
|
|
466
|
+
const options = {};
|
|
467
|
+
if (wasmBinary) {
|
|
468
|
+
options.wasmBinary = wasmBinary;
|
|
469
|
+
}
|
|
470
|
+
return new Promise((resolve) => {
|
|
471
|
+
DracoDecoderModule({
|
|
472
|
+
...options,
|
|
473
|
+
onModuleLoaded: (draco) => resolve({ draco })
|
|
474
|
+
// Module is Promise-like. Wrap in object to avoid loop.
|
|
475
|
+
});
|
|
476
|
+
});
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
// src/lib/utils/version.ts
|
|
480
|
+
var VERSION2 = true ? "4.4.0-alpha.10" : "latest";
|
|
359
481
|
|
|
360
|
-
// ../schema/src/lib/
|
|
482
|
+
// ../schema-utils/src/lib/schema/data-type.ts
|
|
361
483
|
function getDataTypeFromTypedArray(array) {
|
|
362
484
|
switch (array.constructor) {
|
|
363
485
|
case Int8Array:
|
|
@@ -382,7 +504,7 @@
|
|
|
382
504
|
}
|
|
383
505
|
}
|
|
384
506
|
|
|
385
|
-
// ../schema/src/lib/mesh/mesh-utils.ts
|
|
507
|
+
// ../schema-utils/src/lib/mesh/mesh-utils.ts
|
|
386
508
|
function getMeshBoundingBox(attributes) {
|
|
387
509
|
let minX = Infinity;
|
|
388
510
|
let minY = Infinity;
|
|
@@ -409,7 +531,7 @@
|
|
|
409
531
|
];
|
|
410
532
|
}
|
|
411
533
|
|
|
412
|
-
// ../schema/src/lib/mesh/deduce-mesh-schema.ts
|
|
534
|
+
// ../schema-utils/src/lib/mesh/deduce-mesh-schema.ts
|
|
413
535
|
function deduceMeshField(name, attribute, optionalMetadata) {
|
|
414
536
|
const type = getDataTypeFromTypedArray(attribute.value);
|
|
415
537
|
const metadata = optionalMetadata ? optionalMetadata : makeMeshAttributeMetadata(attribute);
|
|
@@ -633,6 +755,7 @@
|
|
|
633
755
|
case "triangle-strip":
|
|
634
756
|
return {
|
|
635
757
|
topology: "triangle-strip",
|
|
758
|
+
// TODO - mode is wrong?
|
|
636
759
|
mode: 4,
|
|
637
760
|
// GL.TRIANGLES
|
|
638
761
|
attributes,
|
|
@@ -645,6 +768,7 @@
|
|
|
645
768
|
default:
|
|
646
769
|
return {
|
|
647
770
|
topology: "triangle-list",
|
|
771
|
+
// TODO - mode is wrong?
|
|
648
772
|
mode: 5,
|
|
649
773
|
// GL.TRIANGLE_STRIP
|
|
650
774
|
attributes,
|
|
@@ -929,91 +1053,39 @@
|
|
|
929
1053
|
return intArray;
|
|
930
1054
|
}
|
|
931
1055
|
|
|
932
|
-
// src/
|
|
933
|
-
var
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
const modules = options.modules || {};
|
|
955
|
-
if (modules.draco3d) {
|
|
956
|
-
loadDecoderPromise ||= modules.draco3d.createDecoderModule({}).then((draco) => {
|
|
957
|
-
return { draco };
|
|
958
|
-
});
|
|
959
|
-
} else {
|
|
960
|
-
loadDecoderPromise ||= loadDracoDecoder(options);
|
|
961
|
-
}
|
|
962
|
-
return await loadDecoderPromise;
|
|
963
|
-
}
|
|
964
|
-
async function loadDracoDecoder(options) {
|
|
965
|
-
let DracoDecoderModule;
|
|
966
|
-
let wasmBinary;
|
|
967
|
-
switch (options.draco && options.draco.decoderType) {
|
|
968
|
-
case "js":
|
|
969
|
-
DracoDecoderModule = await loadLibrary(
|
|
970
|
-
DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER],
|
|
971
|
-
"draco",
|
|
972
|
-
options,
|
|
973
|
-
DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER
|
|
974
|
-
);
|
|
975
|
-
break;
|
|
976
|
-
case "wasm":
|
|
977
|
-
default:
|
|
978
|
-
[DracoDecoderModule, wasmBinary] = await Promise.all([
|
|
979
|
-
await loadLibrary(
|
|
980
|
-
DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER],
|
|
981
|
-
"draco",
|
|
982
|
-
options,
|
|
983
|
-
DRACO_EXTERNAL_LIBRARIES.DECODER
|
|
984
|
-
),
|
|
985
|
-
await loadLibrary(
|
|
986
|
-
DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER_WASM],
|
|
987
|
-
"draco",
|
|
988
|
-
options,
|
|
989
|
-
DRACO_EXTERNAL_LIBRARIES.DECODER_WASM
|
|
990
|
-
)
|
|
991
|
-
]);
|
|
992
|
-
}
|
|
993
|
-
DracoDecoderModule = DracoDecoderModule || globalThis.DracoDecoderModule;
|
|
994
|
-
return await initializeDracoDecoder(DracoDecoderModule, wasmBinary);
|
|
995
|
-
}
|
|
996
|
-
function initializeDracoDecoder(DracoDecoderModule, wasmBinary) {
|
|
997
|
-
const options = {};
|
|
998
|
-
if (wasmBinary) {
|
|
999
|
-
options.wasmBinary = wasmBinary;
|
|
1056
|
+
// src/draco-loader.ts
|
|
1057
|
+
var DracoWorkerLoader = {
|
|
1058
|
+
dataType: null,
|
|
1059
|
+
batchType: null,
|
|
1060
|
+
name: "Draco",
|
|
1061
|
+
id: "draco",
|
|
1062
|
+
module: "draco",
|
|
1063
|
+
// shapes: ['mesh'],
|
|
1064
|
+
version: VERSION2,
|
|
1065
|
+
worker: true,
|
|
1066
|
+
extensions: ["drc"],
|
|
1067
|
+
mimeTypes: ["application/octet-stream"],
|
|
1068
|
+
binary: true,
|
|
1069
|
+
tests: ["DRACO"],
|
|
1070
|
+
options: {
|
|
1071
|
+
draco: {
|
|
1072
|
+
decoderType: typeof WebAssembly === "object" ? "wasm" : "js",
|
|
1073
|
+
// 'js' for IE11
|
|
1074
|
+
libraryPath: "libs/",
|
|
1075
|
+
extraAttributes: {},
|
|
1076
|
+
attributeNameEntry: void 0
|
|
1077
|
+
}
|
|
1000
1078
|
}
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
onModuleLoaded: (draco) => resolve({ draco })
|
|
1005
|
-
// Module is Promise-like. Wrap in object to avoid loop.
|
|
1006
|
-
});
|
|
1007
|
-
});
|
|
1008
|
-
}
|
|
1009
|
-
|
|
1010
|
-
// src/index.ts
|
|
1011
|
-
var DracoLoader2 = {
|
|
1012
|
-
...DracoLoader,
|
|
1079
|
+
};
|
|
1080
|
+
var DracoLoader = {
|
|
1081
|
+
...DracoWorkerLoader,
|
|
1013
1082
|
parse
|
|
1014
1083
|
};
|
|
1015
1084
|
async function parse(arrayBuffer, options) {
|
|
1016
|
-
const { draco } = await loadDracoDecoderModule(
|
|
1085
|
+
const { draco } = await loadDracoDecoderModule(
|
|
1086
|
+
options?.core,
|
|
1087
|
+
options?.draco?.decoderType || "wasm"
|
|
1088
|
+
);
|
|
1017
1089
|
const dracoParser = new DracoParser(draco);
|
|
1018
1090
|
try {
|
|
1019
1091
|
return dracoParser.parseSync(arrayBuffer, options?.draco);
|
|
@@ -1023,6 +1095,6 @@
|
|
|
1023
1095
|
}
|
|
1024
1096
|
|
|
1025
1097
|
// src/workers/draco-worker.ts
|
|
1026
|
-
createLoaderWorker(
|
|
1098
|
+
createLoaderWorker(DracoLoader);
|
|
1027
1099
|
})();
|
|
1028
1100
|
//# sourceMappingURL=draco-worker.js.map
|