@loaders.gl/draco 4.4.0-alpha.1 → 4.4.0-alpha.11
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 +110 -26
- package/dist/dist.min.js +6 -6
- package/dist/draco-arrow-loader.d.ts +1 -1
- package/dist/draco-arrow-loader.js +1 -0
- package/dist/draco-arrow-loader.js.map +1 -0
- package/dist/draco-format.js +1 -0
- package/dist/draco-format.js.map +1 -0
- package/dist/draco-loader.d.ts +4 -4
- package/dist/draco-loader.d.ts.map +1 -1
- package/dist/draco-loader.js +2 -1
- package/dist/draco-loader.js.map +1 -0
- package/dist/draco-worker-node.js +197 -91
- package/dist/draco-worker-node.js.map +4 -4
- package/dist/draco-worker.js +98 -26
- package/dist/draco-worker.js.map +2 -2
- package/dist/draco-writer-worker-node.js +158 -72
- package/dist/draco-writer-worker-node.js.map +4 -4
- package/dist/draco-writer-worker.js +60 -7
- package/dist/draco-writer-worker.js.map +2 -2
- package/dist/draco-writer.js +2 -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 +49 -11
- package/dist/index.cjs.map +3 -3
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- 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.js +1 -0
- 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.js +1 -0
- 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 -7
- package/src/draco-loader.ts +6 -3
- package/src/draco-writer.ts +1 -1
- package/src/lib/draco-module-loader.ts +87 -23
- package/src/workers/draco-writer-worker-node.cjs +18 -0
package/dist/dist.dev.js
CHANGED
|
@@ -62,14 +62,16 @@ var __exports__ = (() => {
|
|
|
62
62
|
var NPM_TAG = "beta";
|
|
63
63
|
|
|
64
64
|
// ../worker-utils/src/lib/env-utils/version.ts
|
|
65
|
+
var warningIssued = false;
|
|
65
66
|
function getVersion() {
|
|
66
67
|
if (!globalThis._loadersgl_?.version) {
|
|
67
68
|
globalThis._loadersgl_ = globalThis._loadersgl_ || {};
|
|
68
|
-
if (typeof __VERSION__ === "undefined") {
|
|
69
|
+
if (typeof __VERSION__ === "undefined" && !warningIssued) {
|
|
69
70
|
console.warn(
|
|
70
71
|
"loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN."
|
|
71
72
|
);
|
|
72
73
|
globalThis._loadersgl_.version = NPM_TAG;
|
|
74
|
+
warningIssued = true;
|
|
73
75
|
} else {
|
|
74
76
|
globalThis._loadersgl_.version = __VERSION__;
|
|
75
77
|
}
|
|
@@ -116,6 +118,9 @@ var __exports__ = (() => {
|
|
|
116
118
|
return await loadLibraryPromises[libraryUrl];
|
|
117
119
|
}
|
|
118
120
|
function getLibraryUrl(library, moduleName, options = {}, libraryName = null) {
|
|
121
|
+
if (options?.core) {
|
|
122
|
+
throw new Error("loadLibrary: options.core must be pre-normalized");
|
|
123
|
+
}
|
|
119
124
|
if (!options.useLocalLibraries && library.startsWith("http")) {
|
|
120
125
|
return library;
|
|
121
126
|
}
|
|
@@ -141,10 +146,20 @@ var __exports__ = (() => {
|
|
|
141
146
|
return await loadAsArrayBuffer(libraryUrl);
|
|
142
147
|
}
|
|
143
148
|
if (!isBrowser) {
|
|
149
|
+
const { requireFromFile } = globalThis.loaders || {};
|
|
144
150
|
try {
|
|
145
|
-
const
|
|
146
|
-
|
|
151
|
+
const result = await requireFromFile?.(libraryUrl);
|
|
152
|
+
if (result || !libraryUrl.includes("/dist/libs/")) {
|
|
153
|
+
return result;
|
|
154
|
+
}
|
|
155
|
+
return await requireFromFile?.(libraryUrl.replace("/dist/libs/", "/src/libs/"));
|
|
147
156
|
} catch (error) {
|
|
157
|
+
if (libraryUrl.includes("/dist/libs/")) {
|
|
158
|
+
try {
|
|
159
|
+
return await requireFromFile?.(libraryUrl.replace("/dist/libs/", "/src/libs/"));
|
|
160
|
+
} catch {
|
|
161
|
+
}
|
|
162
|
+
}
|
|
148
163
|
console.error(error);
|
|
149
164
|
return null;
|
|
150
165
|
}
|
|
@@ -180,7 +195,14 @@ var __exports__ = (() => {
|
|
|
180
195
|
const response = await fetch(url);
|
|
181
196
|
return await response.arrayBuffer();
|
|
182
197
|
}
|
|
183
|
-
|
|
198
|
+
try {
|
|
199
|
+
return await readFileAsArrayBuffer(url);
|
|
200
|
+
} catch {
|
|
201
|
+
if (url.includes("/dist/libs/")) {
|
|
202
|
+
return await readFileAsArrayBuffer(url.replace("/dist/libs/", "/src/libs/"));
|
|
203
|
+
}
|
|
204
|
+
throw new Error(`Failed to load ArrayBuffer from ${url}`);
|
|
205
|
+
}
|
|
184
206
|
}
|
|
185
207
|
async function loadAsText(url) {
|
|
186
208
|
const { readFileAsText } = globalThis.loaders || {};
|
|
@@ -188,7 +210,14 @@ var __exports__ = (() => {
|
|
|
188
210
|
const response = await fetch(url);
|
|
189
211
|
return await response.text();
|
|
190
212
|
}
|
|
191
|
-
|
|
213
|
+
try {
|
|
214
|
+
return await readFileAsText(url);
|
|
215
|
+
} catch {
|
|
216
|
+
if (url.includes("/dist/libs/")) {
|
|
217
|
+
return await readFileAsText(url.replace("/dist/libs/", "/src/libs/"));
|
|
218
|
+
}
|
|
219
|
+
throw new Error(`Failed to load text from ${url}`);
|
|
220
|
+
}
|
|
192
221
|
}
|
|
193
222
|
|
|
194
223
|
// src/lib/draco-module-loader.ts
|
|
@@ -213,14 +242,14 @@ var __exports__ = (() => {
|
|
|
213
242
|
};
|
|
214
243
|
var loadDecoderPromise;
|
|
215
244
|
var loadEncoderPromise;
|
|
216
|
-
async function loadDracoDecoderModule(options) {
|
|
245
|
+
async function loadDracoDecoderModule(options = {}, type) {
|
|
217
246
|
const modules = options.modules || {};
|
|
218
247
|
if (modules.draco3d) {
|
|
219
248
|
loadDecoderPromise ||= modules.draco3d.createDecoderModule({}).then((draco) => {
|
|
220
249
|
return { draco };
|
|
221
250
|
});
|
|
222
251
|
} else {
|
|
223
|
-
loadDecoderPromise ||= loadDracoDecoder(options);
|
|
252
|
+
loadDecoderPromise ||= loadDracoDecoder(options, type);
|
|
224
253
|
}
|
|
225
254
|
return await loadDecoderPromise;
|
|
226
255
|
}
|
|
@@ -235,10 +264,21 @@ var __exports__ = (() => {
|
|
|
235
264
|
}
|
|
236
265
|
return await loadEncoderPromise;
|
|
237
266
|
}
|
|
238
|
-
|
|
267
|
+
function getLibraryExport(library, exportName) {
|
|
268
|
+
if (library && typeof library === "object") {
|
|
269
|
+
if (library.default) {
|
|
270
|
+
return library.default;
|
|
271
|
+
}
|
|
272
|
+
if (library[exportName]) {
|
|
273
|
+
return library[exportName];
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
return library;
|
|
277
|
+
}
|
|
278
|
+
async function loadDracoDecoder(options, type) {
|
|
239
279
|
let DracoDecoderModule;
|
|
240
280
|
let wasmBinary;
|
|
241
|
-
switch (
|
|
281
|
+
switch (type) {
|
|
242
282
|
case "js":
|
|
243
283
|
DracoDecoderModule = await loadLibrary(
|
|
244
284
|
DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.FALLBACK_DECODER],
|
|
@@ -249,25 +289,52 @@ var __exports__ = (() => {
|
|
|
249
289
|
break;
|
|
250
290
|
case "wasm":
|
|
251
291
|
default:
|
|
252
|
-
|
|
253
|
-
await
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
292
|
+
try {
|
|
293
|
+
[DracoDecoderModule, wasmBinary] = await Promise.all([
|
|
294
|
+
await loadLibrary(
|
|
295
|
+
DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER],
|
|
296
|
+
"draco",
|
|
297
|
+
options,
|
|
298
|
+
DRACO_EXTERNAL_LIBRARIES.DECODER
|
|
299
|
+
),
|
|
300
|
+
await loadLibrary(
|
|
301
|
+
DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER_WASM],
|
|
302
|
+
"draco",
|
|
303
|
+
options,
|
|
304
|
+
DRACO_EXTERNAL_LIBRARIES.DECODER_WASM
|
|
305
|
+
)
|
|
306
|
+
]);
|
|
307
|
+
} catch {
|
|
308
|
+
DracoDecoderModule = null;
|
|
309
|
+
wasmBinary = null;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
DracoDecoderModule = getLibraryExport(DracoDecoderModule, "DracoDecoderModule");
|
|
267
313
|
DracoDecoderModule = DracoDecoderModule || globalThis.DracoDecoderModule;
|
|
314
|
+
if (!DracoDecoderModule && !isBrowser) {
|
|
315
|
+
[DracoDecoderModule, wasmBinary] = await Promise.all([
|
|
316
|
+
await loadLibrary(
|
|
317
|
+
DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER],
|
|
318
|
+
"draco",
|
|
319
|
+
{ ...options, useLocalLibraries: true },
|
|
320
|
+
DRACO_EXTERNAL_LIBRARIES.DECODER
|
|
321
|
+
),
|
|
322
|
+
await loadLibrary(
|
|
323
|
+
DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.DECODER_WASM],
|
|
324
|
+
"draco",
|
|
325
|
+
{ ...options, useLocalLibraries: true },
|
|
326
|
+
DRACO_EXTERNAL_LIBRARIES.DECODER_WASM
|
|
327
|
+
)
|
|
328
|
+
]);
|
|
329
|
+
DracoDecoderModule = getLibraryExport(DracoDecoderModule, "DracoDecoderModule");
|
|
330
|
+
DracoDecoderModule = DracoDecoderModule || globalThis.DracoDecoderModule;
|
|
331
|
+
}
|
|
268
332
|
return await initializeDracoDecoder(DracoDecoderModule, wasmBinary);
|
|
269
333
|
}
|
|
270
334
|
function initializeDracoDecoder(DracoDecoderModule, wasmBinary) {
|
|
335
|
+
if (typeof DracoDecoderModule !== "function") {
|
|
336
|
+
throw new Error("DracoDecoderModule could not be loaded");
|
|
337
|
+
}
|
|
271
338
|
const options = {};
|
|
272
339
|
if (wasmBinary) {
|
|
273
340
|
options.wasmBinary = wasmBinary;
|
|
@@ -287,7 +354,21 @@ var __exports__ = (() => {
|
|
|
287
354
|
options,
|
|
288
355
|
DRACO_EXTERNAL_LIBRARIES.ENCODER
|
|
289
356
|
);
|
|
357
|
+
DracoEncoderModule = getLibraryExport(DracoEncoderModule, "DracoEncoderModule");
|
|
290
358
|
DracoEncoderModule = DracoEncoderModule || globalThis.DracoEncoderModule;
|
|
359
|
+
if (!DracoEncoderModule && !isBrowser) {
|
|
360
|
+
DracoEncoderModule = await loadLibrary(
|
|
361
|
+
DRACO_EXTERNAL_LIBRARY_URLS[DRACO_EXTERNAL_LIBRARIES.ENCODER],
|
|
362
|
+
"draco",
|
|
363
|
+
{ ...options, useLocalLibraries: true },
|
|
364
|
+
DRACO_EXTERNAL_LIBRARIES.ENCODER
|
|
365
|
+
);
|
|
366
|
+
DracoEncoderModule = getLibraryExport(DracoEncoderModule, "DracoEncoderModule");
|
|
367
|
+
DracoEncoderModule = DracoEncoderModule || globalThis.DracoEncoderModule;
|
|
368
|
+
}
|
|
369
|
+
if (typeof DracoEncoderModule !== "function") {
|
|
370
|
+
throw new Error("DracoEncoderModule could not be loaded");
|
|
371
|
+
}
|
|
291
372
|
return new Promise((resolve) => {
|
|
292
373
|
DracoEncoderModule({
|
|
293
374
|
onModuleLoaded: (draco) => resolve({ draco })
|
|
@@ -663,7 +744,7 @@ var __exports__ = (() => {
|
|
|
663
744
|
encode
|
|
664
745
|
};
|
|
665
746
|
async function encode(data, options = {}) {
|
|
666
|
-
const { draco } = await loadDracoEncoderModule(options);
|
|
747
|
+
const { draco } = await loadDracoEncoderModule(options.core || {});
|
|
667
748
|
const dracoBuilder = new DracoBuilder(draco);
|
|
668
749
|
try {
|
|
669
750
|
return dracoBuilder.encodeSync(data, options.draco);
|
|
@@ -13212,7 +13293,10 @@ return true;`);
|
|
|
13212
13293
|
parse
|
|
13213
13294
|
};
|
|
13214
13295
|
async function parse(arrayBuffer, options) {
|
|
13215
|
-
const { draco } = await loadDracoDecoderModule(
|
|
13296
|
+
const { draco } = await loadDracoDecoderModule(
|
|
13297
|
+
options?.core,
|
|
13298
|
+
options?.draco?.decoderType || "wasm"
|
|
13299
|
+
);
|
|
13216
13300
|
const dracoParser = new DracoParser(draco);
|
|
13217
13301
|
try {
|
|
13218
13302
|
return dracoParser.parseSync(arrayBuffer, options?.draco);
|