@loaders.gl/textures 4.0.0-alpha.9 → 4.0.0-beta.1
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/basis-worker-node.js +91 -79
- package/dist/basis-worker.js +66 -38
- package/dist/compressed-texture-loader.d.ts +2 -35
- package/dist/compressed-texture-loader.d.ts.map +1 -1
- package/dist/compressed-texture-worker.js +75 -47
- package/dist/crunch-loader.d.ts +9 -17
- package/dist/crunch-loader.d.ts.map +1 -1
- package/dist/crunch-worker.js +53 -25
- package/dist/dist.min.js +99 -55
- package/dist/es5/compressed-texture-loader.js +15 -17
- package/dist/es5/compressed-texture-loader.js.map +1 -1
- package/dist/es5/crunch-loader.js +1 -3
- package/dist/es5/crunch-loader.js.map +1 -1
- package/dist/es5/index.js +14 -0
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/ktx2-basis-writer.js +5 -5
- package/dist/es5/ktx2-basis-writer.js.map +1 -1
- package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js +6 -5
- package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
- package/dist/es5/lib/parsers/basis-module-loader.js +26 -21
- package/dist/es5/lib/parsers/basis-module-loader.js.map +1 -1
- package/dist/es5/lib/parsers/crunch-module-loader.js +6 -1
- package/dist/es5/lib/parsers/crunch-module-loader.js.map +1 -1
- package/dist/es5/lib/parsers/parse-basis.js +7 -7
- package/dist/es5/lib/parsers/parse-basis.js.map +1 -1
- package/dist/es5/lib/texture-api/deep-load.js.map +1 -1
- package/dist/es5/lib/utils/version.js +1 -1
- package/dist/es5/lib/utils/version.js.map +1 -1
- package/dist/es5/workers/compressed-texture-worker.js.map +1 -1
- package/dist/es5/workers/ktx2-basis-writer-worker-node.js.map +1 -1
- package/dist/es5/workers/ktx2-basis-writer-worker.js.map +1 -1
- package/dist/esm/compressed-texture-loader.js +10 -11
- package/dist/esm/compressed-texture-loader.js.map +1 -1
- package/dist/esm/crunch-loader.js +0 -1
- package/dist/esm/crunch-loader.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/ktx2-basis-writer.js +6 -5
- package/dist/esm/ktx2-basis-writer.js.map +1 -1
- package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js +1 -1
- package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
- package/dist/esm/lib/parsers/basis-module-loader.js +13 -10
- package/dist/esm/lib/parsers/basis-module-loader.js.map +1 -1
- package/dist/esm/lib/parsers/crunch-module-loader.js +4 -1
- package/dist/esm/lib/parsers/crunch-module-loader.js.map +1 -1
- package/dist/esm/lib/parsers/parse-basis.js +3 -3
- package/dist/esm/lib/parsers/parse-basis.js.map +1 -1
- package/dist/esm/lib/texture-api/deep-load.js.map +1 -1
- package/dist/esm/lib/utils/version.js +1 -1
- package/dist/esm/lib/utils/version.js.map +1 -1
- package/dist/esm/workers/compressed-texture-worker.js.map +1 -1
- package/dist/esm/workers/ktx2-basis-writer-worker-node.js.map +1 -1
- package/dist/esm/workers/ktx2-basis-writer-worker.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/ktx2-basis-writer-worker-node.js +86 -72
- package/dist/ktx2-basis-writer-worker.js +61 -31
- package/dist/ktx2-basis-writer.d.ts +8 -7
- package/dist/ktx2-basis-writer.d.ts.map +1 -1
- package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts.map +1 -1
- package/dist/lib/parsers/basis-module-loader.d.ts +11 -1
- package/dist/lib/parsers/basis-module-loader.d.ts.map +1 -1
- package/dist/lib/parsers/crunch-module-loader.d.ts +4 -0
- package/dist/lib/parsers/crunch-module-loader.d.ts.map +1 -1
- package/dist/lib/texture-api/deep-load.d.ts.map +1 -1
- package/dist/npy-worker.js +9 -4
- package/dist/workers/crunch-worker.d.ts +13 -9
- package/dist/workers/crunch-worker.d.ts.map +1 -1
- package/package.json +7 -7
- package/src/compressed-texture-loader.ts +14 -17
- package/src/crunch-loader.ts +10 -7
- package/src/index.ts +4 -0
- package/src/ktx2-basis-writer.ts +14 -13
- package/src/lib/encoders/encode-ktx2-basis-texture.ts +6 -1
- package/src/lib/parsers/basis-module-loader.ts +19 -16
- package/src/lib/parsers/crunch-module-loader.ts +6 -1
- package/src/lib/parsers/parse-basis.ts +3 -3
- package/src/lib/texture-api/deep-load.ts +0 -1
- package/src/workers/compressed-texture-worker.ts +1 -0
- package/src/workers/ktx2-basis-writer-worker-node.ts +2 -2
- package/src/workers/ktx2-basis-writer-worker.ts +2 -2
- package/dist/basis-loader.js +0 -37
- package/dist/bundle.js +0 -5
- package/dist/compressed-texture-loader.js +0 -64
- package/dist/compressed-texture-writer.js +0 -34
- package/dist/crunch-loader.js +0 -25
- package/dist/index.js +0 -52
- package/dist/ktx2-basis-writer.js +0 -26
- package/dist/lib/encoders/encode-ktx.js +0 -10
- package/dist/lib/encoders/encode-ktx2-basis-texture.js +0 -41
- package/dist/lib/encoders/encode-texture.js +0 -27
- package/dist/lib/gl-extensions.js +0 -72
- package/dist/lib/parsers/basis-module-loader.js +0 -114
- package/dist/lib/parsers/crunch-module-loader.js +0 -35
- package/dist/lib/parsers/parse-basis.js +0 -245
- package/dist/lib/parsers/parse-compressed-texture.js +0 -26
- package/dist/lib/parsers/parse-crunch.js +0 -106
- package/dist/lib/parsers/parse-dds.js +0 -108
- package/dist/lib/parsers/parse-ktx.js +0 -46
- package/dist/lib/parsers/parse-npy.js +0 -81
- package/dist/lib/parsers/parse-pvr.js +0 -250
- package/dist/lib/texture-api/async-deep-map.js +0 -41
- package/dist/lib/texture-api/deep-load.js +0 -16
- package/dist/lib/texture-api/generate-url.js +0 -17
- package/dist/lib/texture-api/load-image-array.js +0 -21
- package/dist/lib/texture-api/load-image-cube.js +0 -47
- package/dist/lib/texture-api/load-image.js +0 -43
- package/dist/lib/texture-api/texture-api-types.js +0 -3
- package/dist/lib/utils/extract-mipmap-images.js +0 -50
- package/dist/lib/utils/ktx-format-helper.js +0 -125
- package/dist/lib/utils/texture-formats.js +0 -51
- package/dist/lib/utils/version.js +0 -8
- package/dist/npy-loader.js +0 -31
- package/dist/types.js +0 -1
- package/dist/workers/basis-worker-node.js +0 -7
- package/dist/workers/basis-worker.js +0 -5
- package/dist/workers/compressed-texture-worker.js +0 -5
- package/dist/workers/crunch-worker.js +0 -14
- package/dist/workers/ktx2-basis-writer-worker-node.js +0 -28
- package/dist/workers/ktx2-basis-writer-worker.js +0 -26
- package/dist/workers/npy-worker.js +0 -5
|
@@ -35,10 +35,19 @@
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
// ../worker-utils/src/lib/env-utils/version.ts
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
function getVersion() {
|
|
39
|
+
if (!globalThis._loadersgl_?.version) {
|
|
40
|
+
globalThis._loadersgl_ = globalThis._loadersgl_ || {};
|
|
41
|
+
if (false) {
|
|
42
|
+
console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
|
|
43
|
+
globalThis._loadersgl_.version = NPM_TAG;
|
|
44
|
+
} else {
|
|
45
|
+
globalThis._loadersgl_.version = "4.0.0-beta.1";
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return globalThis._loadersgl_.version;
|
|
41
49
|
}
|
|
50
|
+
var VERSION = getVersion();
|
|
42
51
|
|
|
43
52
|
// ../worker-utils/src/lib/env-utils/assert.ts
|
|
44
53
|
function assert2(condition, message) {
|
|
@@ -175,40 +184,38 @@
|
|
|
175
184
|
|
|
176
185
|
// ../worker-utils/src/lib/library-utils/library-utils.ts
|
|
177
186
|
var node = __toModule(require_require_utils());
|
|
178
|
-
var LATEST = "beta";
|
|
179
|
-
var VERSION2 = typeof VERSION !== "undefined" ? VERSION : LATEST;
|
|
180
187
|
var loadLibraryPromises = {};
|
|
181
|
-
async function loadLibrary(libraryUrl, moduleName = null, options = {}) {
|
|
188
|
+
async function loadLibrary(libraryUrl, moduleName = null, options = {}, libraryName = null) {
|
|
182
189
|
if (moduleName) {
|
|
183
|
-
libraryUrl = getLibraryUrl(libraryUrl, moduleName, options);
|
|
190
|
+
libraryUrl = getLibraryUrl(libraryUrl, moduleName, options, libraryName);
|
|
184
191
|
}
|
|
185
192
|
loadLibraryPromises[libraryUrl] = loadLibraryPromises[libraryUrl] || loadLibraryFromFile(libraryUrl);
|
|
186
193
|
return await loadLibraryPromises[libraryUrl];
|
|
187
194
|
}
|
|
188
|
-
function getLibraryUrl(library, moduleName, options) {
|
|
189
|
-
if (library.startsWith("http")) {
|
|
195
|
+
function getLibraryUrl(library, moduleName, options = {}, libraryName = null) {
|
|
196
|
+
if (!options.useLocalLibraries && library.startsWith("http")) {
|
|
190
197
|
return library;
|
|
191
198
|
}
|
|
199
|
+
libraryName = libraryName || library;
|
|
192
200
|
const modules = options.modules || {};
|
|
193
|
-
if (modules[
|
|
194
|
-
return modules[
|
|
201
|
+
if (modules[libraryName]) {
|
|
202
|
+
return modules[libraryName];
|
|
195
203
|
}
|
|
196
204
|
if (!isBrowser) {
|
|
197
|
-
return `modules/${moduleName}/dist/libs/${
|
|
205
|
+
return `modules/${moduleName}/dist/libs/${libraryName}`;
|
|
198
206
|
}
|
|
199
207
|
if (options.CDN) {
|
|
200
208
|
assert2(options.CDN.startsWith("http"));
|
|
201
|
-
return `${options.CDN}/${moduleName}@${
|
|
209
|
+
return `${options.CDN}/${moduleName}@${VERSION}/dist/libs/${libraryName}`;
|
|
202
210
|
}
|
|
203
211
|
if (isWorker) {
|
|
204
|
-
return `../src/libs/${
|
|
212
|
+
return `../src/libs/${libraryName}`;
|
|
205
213
|
}
|
|
206
|
-
return `modules/${moduleName}/src/libs/${
|
|
214
|
+
return `modules/${moduleName}/src/libs/${libraryName}`;
|
|
207
215
|
}
|
|
208
216
|
async function loadLibraryFromFile(libraryUrl) {
|
|
209
217
|
if (libraryUrl.endsWith("wasm")) {
|
|
210
|
-
|
|
211
|
-
return await response2.arrayBuffer();
|
|
218
|
+
return await loadAsArrayBuffer(libraryUrl);
|
|
212
219
|
}
|
|
213
220
|
if (!isBrowser) {
|
|
214
221
|
try {
|
|
@@ -220,8 +227,7 @@
|
|
|
220
227
|
if (isWorker) {
|
|
221
228
|
return importScripts(libraryUrl);
|
|
222
229
|
}
|
|
223
|
-
const
|
|
224
|
-
const scriptSource = await response.text();
|
|
230
|
+
const scriptSource = await loadAsText(libraryUrl);
|
|
225
231
|
return loadLibraryFromString(scriptSource, libraryUrl);
|
|
226
232
|
}
|
|
227
233
|
function loadLibraryFromString(scriptSource, id) {
|
|
@@ -242,6 +248,20 @@
|
|
|
242
248
|
document.body.appendChild(script);
|
|
243
249
|
return null;
|
|
244
250
|
}
|
|
251
|
+
async function loadAsArrayBuffer(url) {
|
|
252
|
+
if (!node.readFileAsArrayBuffer || url.startsWith("http")) {
|
|
253
|
+
const response = await fetch(url);
|
|
254
|
+
return await response.arrayBuffer();
|
|
255
|
+
}
|
|
256
|
+
return await node.readFileAsArrayBuffer(url);
|
|
257
|
+
}
|
|
258
|
+
async function loadAsText(url) {
|
|
259
|
+
if (!node.readFileAsText || url.startsWith("http")) {
|
|
260
|
+
const response = await fetch(url);
|
|
261
|
+
return await response.text();
|
|
262
|
+
}
|
|
263
|
+
return await node.readFileAsText(url);
|
|
264
|
+
}
|
|
245
265
|
|
|
246
266
|
// ../loader-utils/src/lib/worker-loader-utils/create-loader-worker.ts
|
|
247
267
|
var requestId = 0;
|
|
@@ -260,7 +280,7 @@
|
|
|
260
280
|
options,
|
|
261
281
|
context: {
|
|
262
282
|
...context,
|
|
263
|
-
|
|
283
|
+
_parse: parseOnMainThread
|
|
264
284
|
}
|
|
265
285
|
});
|
|
266
286
|
WorkerBody.postMessage("done", { result });
|
|
@@ -273,7 +293,7 @@
|
|
|
273
293
|
}
|
|
274
294
|
};
|
|
275
295
|
}
|
|
276
|
-
function parseOnMainThread(arrayBuffer, options) {
|
|
296
|
+
function parseOnMainThread(arrayBuffer, loader, options, context) {
|
|
277
297
|
return new Promise((resolve, reject) => {
|
|
278
298
|
const id = requestId++;
|
|
279
299
|
const onMessage = (type, payload2) => {
|
|
@@ -297,7 +317,12 @@
|
|
|
297
317
|
WorkerBody.postMessage("process", payload);
|
|
298
318
|
});
|
|
299
319
|
}
|
|
300
|
-
async function parseData({
|
|
320
|
+
async function parseData({
|
|
321
|
+
loader,
|
|
322
|
+
arrayBuffer,
|
|
323
|
+
options,
|
|
324
|
+
context
|
|
325
|
+
}) {
|
|
301
326
|
let data;
|
|
302
327
|
let parser;
|
|
303
328
|
if (loader.parseSync || loader.parse) {
|
|
@@ -319,7 +344,7 @@
|
|
|
319
344
|
}
|
|
320
345
|
|
|
321
346
|
// src/lib/utils/version.ts
|
|
322
|
-
var
|
|
347
|
+
var VERSION2 = true ? "4.0.0-beta.1" : "beta";
|
|
323
348
|
|
|
324
349
|
// ../../node_modules/ktx-parse/dist/ktx-parse.modern.js
|
|
325
350
|
var t = new Uint8Array([0]);
|
|
@@ -907,29 +932,32 @@
|
|
|
907
932
|
}
|
|
908
933
|
|
|
909
934
|
// src/lib/parsers/basis-module-loader.ts
|
|
910
|
-
var
|
|
911
|
-
|
|
912
|
-
|
|
935
|
+
var BASIS_EXTERNAL_LIBRARIES = {
|
|
936
|
+
TRANSCODER: "basis_transcoder.js",
|
|
937
|
+
TRANSCODER_WASM: "basis_transcoder.wasm",
|
|
938
|
+
ENCODER: "basis_encoder.js",
|
|
939
|
+
ENCODER_WASM: "basis_encoder.wasm"
|
|
940
|
+
};
|
|
913
941
|
var loadBasisTranscoderPromise;
|
|
914
|
-
async function
|
|
942
|
+
async function loadBasisTranscoderModule(options) {
|
|
915
943
|
const modules = options.modules || {};
|
|
916
944
|
if (modules.basis) {
|
|
917
945
|
return modules.basis;
|
|
918
946
|
}
|
|
919
|
-
loadBasisTranscoderPromise = loadBasisTranscoderPromise ||
|
|
947
|
+
loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTranscoder(options);
|
|
920
948
|
return await loadBasisTranscoderPromise;
|
|
921
949
|
}
|
|
922
|
-
async function
|
|
950
|
+
async function loadBasisTranscoder(options) {
|
|
923
951
|
let BASIS = null;
|
|
924
952
|
let wasmBinary = null;
|
|
925
953
|
[BASIS, wasmBinary] = await Promise.all([
|
|
926
|
-
await loadLibrary(
|
|
927
|
-
await loadLibrary(
|
|
954
|
+
await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER, "textures", options),
|
|
955
|
+
await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER_WASM, "textures", options)
|
|
928
956
|
]);
|
|
929
957
|
BASIS = BASIS || globalThis.BASIS;
|
|
930
|
-
return await
|
|
958
|
+
return await initializeBasisTranscoderModule(BASIS, wasmBinary);
|
|
931
959
|
}
|
|
932
|
-
function
|
|
960
|
+
function initializeBasisTranscoderModule(BasisModule, wasmBinary) {
|
|
933
961
|
const options = {};
|
|
934
962
|
if (wasmBinary) {
|
|
935
963
|
options.wasmBinary = wasmBinary;
|
|
@@ -955,8 +983,8 @@
|
|
|
955
983
|
let BASIS_ENCODER = null;
|
|
956
984
|
let wasmBinary = null;
|
|
957
985
|
[BASIS_ENCODER, wasmBinary] = await Promise.all([
|
|
958
|
-
await loadLibrary(
|
|
959
|
-
await loadLibrary(
|
|
986
|
+
await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER, "textures", options),
|
|
987
|
+
await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER_WASM, "textures", options)
|
|
960
988
|
]);
|
|
961
989
|
BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;
|
|
962
990
|
return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);
|
|
@@ -1062,7 +1090,7 @@
|
|
|
1062
1090
|
const fileConstructors = await loadBasisEncoderModule(options);
|
|
1063
1091
|
return parseKTX2File(fileConstructors.KTX2File, data, options);
|
|
1064
1092
|
}
|
|
1065
|
-
const { BasisFile } = await
|
|
1093
|
+
const { BasisFile } = await loadBasisTranscoderModule(options);
|
|
1066
1094
|
return parseBasisFile(BasisFile, data, options);
|
|
1067
1095
|
}
|
|
1068
1096
|
switch (options.basis.module) {
|
|
@@ -1077,7 +1105,7 @@
|
|
|
1077
1105
|
}
|
|
1078
1106
|
case "transcoder":
|
|
1079
1107
|
default:
|
|
1080
|
-
const { BasisFile } = await
|
|
1108
|
+
const { BasisFile } = await loadBasisTranscoderModule(options);
|
|
1081
1109
|
return parseBasisFile(BasisFile, data, options);
|
|
1082
1110
|
}
|
|
1083
1111
|
}
|
|
@@ -1192,17 +1220,11 @@
|
|
|
1192
1220
|
}
|
|
1193
1221
|
|
|
1194
1222
|
// src/compressed-texture-loader.ts
|
|
1195
|
-
var DEFAULT_TEXTURE_LOADER_OPTIONS = {
|
|
1196
|
-
"compressed-texture": {
|
|
1197
|
-
libraryPath: "libs/",
|
|
1198
|
-
useBasis: false
|
|
1199
|
-
}
|
|
1200
|
-
};
|
|
1201
1223
|
var CompressedTextureWorkerLoader = {
|
|
1202
1224
|
name: "Texture Containers",
|
|
1203
1225
|
id: "compressed-texture",
|
|
1204
1226
|
module: "textures",
|
|
1205
|
-
version:
|
|
1227
|
+
version: VERSION2,
|
|
1206
1228
|
worker: true,
|
|
1207
1229
|
extensions: [
|
|
1208
1230
|
"ktx",
|
|
@@ -1218,12 +1240,17 @@
|
|
|
1218
1240
|
"application/octet-stream"
|
|
1219
1241
|
],
|
|
1220
1242
|
binary: true,
|
|
1221
|
-
options:
|
|
1243
|
+
options: {
|
|
1244
|
+
"compressed-texture": {
|
|
1245
|
+
libraryPath: "libs/",
|
|
1246
|
+
useBasis: false
|
|
1247
|
+
}
|
|
1248
|
+
}
|
|
1222
1249
|
};
|
|
1223
1250
|
var CompressedTextureLoader = {
|
|
1224
1251
|
...CompressedTextureWorkerLoader,
|
|
1225
1252
|
parse: async (arrayBuffer, options) => {
|
|
1226
|
-
if (options["compressed-texture"]
|
|
1253
|
+
if (options?.["compressed-texture"]?.useBasis) {
|
|
1227
1254
|
options.basis = {
|
|
1228
1255
|
format: {
|
|
1229
1256
|
alpha: "BC3",
|
|
@@ -1233,7 +1260,8 @@
|
|
|
1233
1260
|
containerFormat: "ktx2",
|
|
1234
1261
|
module: "encoder"
|
|
1235
1262
|
};
|
|
1236
|
-
|
|
1263
|
+
const result = await parseBasis(arrayBuffer, options);
|
|
1264
|
+
return result[0];
|
|
1237
1265
|
}
|
|
1238
1266
|
return parseCompressedTexture(arrayBuffer);
|
|
1239
1267
|
}
|
package/dist/crunch-loader.d.ts
CHANGED
|
@@ -1,21 +1,13 @@
|
|
|
1
|
-
import type { Loader } from '@loaders.gl/loader-utils';
|
|
1
|
+
import type { Loader, LoaderOptions } from '@loaders.gl/loader-utils';
|
|
2
|
+
import type { TextureLevel } from '@loaders.gl/schema';
|
|
3
|
+
export type CrunchLoaderOptions = LoaderOptions & {
|
|
4
|
+
crunch?: {
|
|
5
|
+
libraryPath?: string;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
2
8
|
/**
|
|
3
9
|
* Worker loader for the Crunch compressed texture container format
|
|
10
|
+
* @note We avoid bundling crunch - it is a rare format and large lib, so we only offer worker loader
|
|
4
11
|
*/
|
|
5
|
-
export declare const CrunchLoader:
|
|
6
|
-
id: string;
|
|
7
|
-
name: string;
|
|
8
|
-
module: string;
|
|
9
|
-
version: any;
|
|
10
|
-
worker: boolean;
|
|
11
|
-
extensions: string[];
|
|
12
|
-
mimeTypes: string[];
|
|
13
|
-
binary: boolean;
|
|
14
|
-
options: {
|
|
15
|
-
crunch: {
|
|
16
|
-
libraryPath: string;
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
export declare const _TypecheckCrunchLoader: Loader;
|
|
12
|
+
export declare const CrunchLoader: Loader<TextureLevel[], never, CrunchLoaderOptions>;
|
|
21
13
|
//# sourceMappingURL=crunch-loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crunch-loader.d.ts","sourceRoot":"","sources":["../src/crunch-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAGrD
|
|
1
|
+
{"version":3,"file":"crunch-loader.d.ts","sourceRoot":"","sources":["../src/crunch-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAGrD,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,MAAM,CAAC,EAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,mBAAmB,CAc3E,CAAC"}
|
package/dist/crunch-worker.js
CHANGED
|
@@ -35,10 +35,19 @@
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
// ../worker-utils/src/lib/env-utils/version.ts
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
function getVersion() {
|
|
39
|
+
if (!globalThis._loadersgl_?.version) {
|
|
40
|
+
globalThis._loadersgl_ = globalThis._loadersgl_ || {};
|
|
41
|
+
if (false) {
|
|
42
|
+
console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
|
|
43
|
+
globalThis._loadersgl_.version = NPM_TAG;
|
|
44
|
+
} else {
|
|
45
|
+
globalThis._loadersgl_.version = "4.0.0-beta.1";
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return globalThis._loadersgl_.version;
|
|
41
49
|
}
|
|
50
|
+
var VERSION = getVersion();
|
|
42
51
|
|
|
43
52
|
// ../worker-utils/src/lib/env-utils/assert.ts
|
|
44
53
|
function assert2(condition, message) {
|
|
@@ -175,40 +184,38 @@
|
|
|
175
184
|
|
|
176
185
|
// ../worker-utils/src/lib/library-utils/library-utils.ts
|
|
177
186
|
var node = __toModule(require_require_utils());
|
|
178
|
-
var LATEST = "beta";
|
|
179
|
-
var VERSION2 = typeof VERSION !== "undefined" ? VERSION : LATEST;
|
|
180
187
|
var loadLibraryPromises = {};
|
|
181
|
-
async function loadLibrary(libraryUrl, moduleName = null, options = {}) {
|
|
188
|
+
async function loadLibrary(libraryUrl, moduleName = null, options = {}, libraryName = null) {
|
|
182
189
|
if (moduleName) {
|
|
183
|
-
libraryUrl = getLibraryUrl(libraryUrl, moduleName, options);
|
|
190
|
+
libraryUrl = getLibraryUrl(libraryUrl, moduleName, options, libraryName);
|
|
184
191
|
}
|
|
185
192
|
loadLibraryPromises[libraryUrl] = loadLibraryPromises[libraryUrl] || loadLibraryFromFile(libraryUrl);
|
|
186
193
|
return await loadLibraryPromises[libraryUrl];
|
|
187
194
|
}
|
|
188
|
-
function getLibraryUrl(library, moduleName, options) {
|
|
189
|
-
if (library.startsWith("http")) {
|
|
195
|
+
function getLibraryUrl(library, moduleName, options = {}, libraryName = null) {
|
|
196
|
+
if (!options.useLocalLibraries && library.startsWith("http")) {
|
|
190
197
|
return library;
|
|
191
198
|
}
|
|
199
|
+
libraryName = libraryName || library;
|
|
192
200
|
const modules = options.modules || {};
|
|
193
|
-
if (modules[
|
|
194
|
-
return modules[
|
|
201
|
+
if (modules[libraryName]) {
|
|
202
|
+
return modules[libraryName];
|
|
195
203
|
}
|
|
196
204
|
if (!isBrowser) {
|
|
197
|
-
return `modules/${moduleName}/dist/libs/${
|
|
205
|
+
return `modules/${moduleName}/dist/libs/${libraryName}`;
|
|
198
206
|
}
|
|
199
207
|
if (options.CDN) {
|
|
200
208
|
assert2(options.CDN.startsWith("http"));
|
|
201
|
-
return `${options.CDN}/${moduleName}@${
|
|
209
|
+
return `${options.CDN}/${moduleName}@${VERSION}/dist/libs/${libraryName}`;
|
|
202
210
|
}
|
|
203
211
|
if (isWorker) {
|
|
204
|
-
return `../src/libs/${
|
|
212
|
+
return `../src/libs/${libraryName}`;
|
|
205
213
|
}
|
|
206
|
-
return `modules/${moduleName}/src/libs/${
|
|
214
|
+
return `modules/${moduleName}/src/libs/${libraryName}`;
|
|
207
215
|
}
|
|
208
216
|
async function loadLibraryFromFile(libraryUrl) {
|
|
209
217
|
if (libraryUrl.endsWith("wasm")) {
|
|
210
|
-
|
|
211
|
-
return await response2.arrayBuffer();
|
|
218
|
+
return await loadAsArrayBuffer(libraryUrl);
|
|
212
219
|
}
|
|
213
220
|
if (!isBrowser) {
|
|
214
221
|
try {
|
|
@@ -220,8 +227,7 @@
|
|
|
220
227
|
if (isWorker) {
|
|
221
228
|
return importScripts(libraryUrl);
|
|
222
229
|
}
|
|
223
|
-
const
|
|
224
|
-
const scriptSource = await response.text();
|
|
230
|
+
const scriptSource = await loadAsText(libraryUrl);
|
|
225
231
|
return loadLibraryFromString(scriptSource, libraryUrl);
|
|
226
232
|
}
|
|
227
233
|
function loadLibraryFromString(scriptSource, id) {
|
|
@@ -242,6 +248,20 @@
|
|
|
242
248
|
document.body.appendChild(script);
|
|
243
249
|
return null;
|
|
244
250
|
}
|
|
251
|
+
async function loadAsArrayBuffer(url) {
|
|
252
|
+
if (!node.readFileAsArrayBuffer || url.startsWith("http")) {
|
|
253
|
+
const response = await fetch(url);
|
|
254
|
+
return await response.arrayBuffer();
|
|
255
|
+
}
|
|
256
|
+
return await node.readFileAsArrayBuffer(url);
|
|
257
|
+
}
|
|
258
|
+
async function loadAsText(url) {
|
|
259
|
+
if (!node.readFileAsText || url.startsWith("http")) {
|
|
260
|
+
const response = await fetch(url);
|
|
261
|
+
return await response.text();
|
|
262
|
+
}
|
|
263
|
+
return await node.readFileAsText(url);
|
|
264
|
+
}
|
|
245
265
|
|
|
246
266
|
// ../loader-utils/src/lib/worker-loader-utils/create-loader-worker.ts
|
|
247
267
|
var requestId = 0;
|
|
@@ -260,7 +280,7 @@
|
|
|
260
280
|
options,
|
|
261
281
|
context: {
|
|
262
282
|
...context,
|
|
263
|
-
|
|
283
|
+
_parse: parseOnMainThread
|
|
264
284
|
}
|
|
265
285
|
});
|
|
266
286
|
WorkerBody.postMessage("done", { result });
|
|
@@ -273,7 +293,7 @@
|
|
|
273
293
|
}
|
|
274
294
|
};
|
|
275
295
|
}
|
|
276
|
-
function parseOnMainThread(arrayBuffer, options) {
|
|
296
|
+
function parseOnMainThread(arrayBuffer, loader, options, context) {
|
|
277
297
|
return new Promise((resolve, reject) => {
|
|
278
298
|
const id = requestId++;
|
|
279
299
|
const onMessage = (type, payload2) => {
|
|
@@ -297,7 +317,12 @@
|
|
|
297
317
|
WorkerBody.postMessage("process", payload);
|
|
298
318
|
});
|
|
299
319
|
}
|
|
300
|
-
async function parseData({
|
|
320
|
+
async function parseData({
|
|
321
|
+
loader,
|
|
322
|
+
arrayBuffer,
|
|
323
|
+
options,
|
|
324
|
+
context
|
|
325
|
+
}) {
|
|
301
326
|
let data;
|
|
302
327
|
let parser;
|
|
303
328
|
if (loader.parseSync || loader.parse) {
|
|
@@ -319,14 +344,14 @@
|
|
|
319
344
|
}
|
|
320
345
|
|
|
321
346
|
// src/lib/utils/version.ts
|
|
322
|
-
var
|
|
347
|
+
var VERSION2 = true ? "4.0.0-beta.1" : "beta";
|
|
323
348
|
|
|
324
349
|
// src/crunch-loader.ts
|
|
325
350
|
var CrunchLoader = {
|
|
326
351
|
id: "crunch",
|
|
327
352
|
name: "Crunch",
|
|
328
353
|
module: "textures",
|
|
329
|
-
version:
|
|
354
|
+
version: VERSION2,
|
|
330
355
|
worker: true,
|
|
331
356
|
extensions: ["crn"],
|
|
332
357
|
mimeTypes: ["image/crn", "image/x-crn", "application/octet-stream"],
|
|
@@ -339,6 +364,9 @@
|
|
|
339
364
|
};
|
|
340
365
|
|
|
341
366
|
// src/lib/parsers/crunch-module-loader.ts
|
|
367
|
+
var CRUNCH_EXTERNAL_LIBRARIES = {
|
|
368
|
+
DECODER: "crunch.js"
|
|
369
|
+
};
|
|
342
370
|
async function loadCrunchModule(options) {
|
|
343
371
|
const modules = options.modules || {};
|
|
344
372
|
if (modules.crunch) {
|
|
@@ -351,7 +379,7 @@
|
|
|
351
379
|
if (crunchModule) {
|
|
352
380
|
return crunchModule;
|
|
353
381
|
}
|
|
354
|
-
let loadCrunchDecoder = await loadLibrary(
|
|
382
|
+
let loadCrunchDecoder = await loadLibrary(CRUNCH_EXTERNAL_LIBRARIES.DECODER, "textures", options);
|
|
355
383
|
loadCrunchDecoder = loadCrunchDecoder || globalThis.LoadCrunchDecoder;
|
|
356
384
|
crunchModule = loadCrunchDecoder();
|
|
357
385
|
return crunchModule;
|