@loaders.gl/textures 3.1.8 → 3.2.0-alpha.3
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.js +59 -27
- package/dist/compressed-texture-loader.d.ts +1 -1
- package/dist/compressed-texture-loader.js +1 -1
- package/dist/compressed-texture-worker.js +60 -28
- package/dist/compressed-texture-writer.d.ts +15 -2
- package/dist/compressed-texture-writer.d.ts.map +1 -1
- package/dist/crunch-worker.js +63 -30
- package/dist/dist.min.js +148 -130
- package/dist/es5/compressed-texture-loader.js +1 -1
- package/dist/es5/compressed-texture-loader.js.map +1 -1
- package/dist/es5/compressed-texture-writer.js.map +1 -1
- package/dist/es5/index.js +24 -3
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/ktx2-basis-writer-nodejs.js +16 -0
- package/dist/es5/ktx2-basis-writer-nodejs.js.map +1 -0
- package/dist/es5/{ktx2-basis-universal-texture-writer.js → ktx2-basis-writer.js} +6 -6
- package/dist/es5/ktx2-basis-writer.js.map +1 -0
- package/dist/es5/lib/encoders/encode-texture.js.map +1 -1
- package/dist/es5/lib/parsers/basis-module-loader.js +1 -1
- package/dist/es5/lib/parsers/basis-module-loader.js.map +1 -1
- package/dist/es5/lib/parsers/parse-basis.js +8 -8
- package/dist/es5/lib/parsers/parse-basis.js.map +1 -1
- package/dist/es5/lib/parsers/parse-compressed-texture.js.map +1 -1
- package/dist/es5/lib/parsers/parse-crunch.js +8 -7
- package/dist/es5/lib/parsers/parse-crunch.js.map +1 -1
- package/dist/es5/lib/parsers/parse-dds.js.map +1 -1
- package/dist/es5/lib/parsers/parse-ktx.js.map +1 -1
- package/dist/es5/lib/parsers/parse-npy.js.map +1 -1
- package/dist/es5/lib/parsers/parse-pvr.js.map +1 -1
- package/dist/es5/lib/utils/extract-mipmap-images.js.map +1 -1
- package/dist/es5/lib/utils/texture-formats.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/libs/basis_encoder.js +20 -21
- package/dist/es5/libs/basis_encoder.wasm +0 -0
- package/dist/es5/libs/basis_transcoder.js +14 -13
- package/dist/es5/libs/basis_transcoder.wasm +0 -0
- package/dist/es5/workers/ktx2-basis-writer-nodejs-worker.js +70 -0
- package/dist/es5/workers/ktx2-basis-writer-nodejs-worker.js.map +1 -0
- package/dist/es5/workers/ktx2-basis-writer-worker.js +70 -0
- package/dist/es5/workers/ktx2-basis-writer-worker.js.map +1 -0
- package/dist/esm/compressed-texture-loader.js +1 -1
- package/dist/esm/compressed-texture-loader.js.map +1 -1
- package/dist/esm/compressed-texture-writer.js.map +1 -1
- package/dist/esm/index.js +17 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/ktx2-basis-writer-nodejs.js +3 -0
- package/dist/esm/ktx2-basis-writer-nodejs.js.map +1 -0
- package/dist/esm/{ktx2-basis-universal-texture-writer.js → ktx2-basis-writer.js} +4 -4
- package/dist/esm/ktx2-basis-writer.js.map +1 -0
- package/dist/esm/lib/encoders/encode-texture.js.map +1 -1
- package/dist/esm/lib/parsers/basis-module-loader.js +1 -1
- package/dist/esm/lib/parsers/basis-module-loader.js.map +1 -1
- package/dist/esm/lib/parsers/parse-basis.js +8 -8
- package/dist/esm/lib/parsers/parse-basis.js.map +1 -1
- package/dist/esm/lib/parsers/parse-compressed-texture.js.map +1 -1
- package/dist/esm/lib/parsers/parse-crunch.js +13 -12
- package/dist/esm/lib/parsers/parse-crunch.js.map +1 -1
- package/dist/esm/lib/parsers/parse-dds.js.map +1 -1
- package/dist/esm/lib/parsers/parse-ktx.js.map +1 -1
- package/dist/esm/lib/parsers/parse-npy.js.map +1 -1
- package/dist/esm/lib/parsers/parse-pvr.js.map +1 -1
- package/dist/esm/lib/utils/extract-mipmap-images.js.map +1 -1
- package/dist/esm/lib/utils/texture-formats.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/libs/basis_encoder.js +20 -21
- package/dist/esm/libs/basis_encoder.wasm +0 -0
- package/dist/esm/libs/basis_transcoder.js +14 -13
- package/dist/esm/libs/basis_transcoder.wasm +0 -0
- package/dist/esm/types.js +1 -1
- package/dist/esm/workers/ktx2-basis-writer-nodejs-worker.js +34 -0
- package/dist/esm/workers/ktx2-basis-writer-nodejs-worker.js.map +1 -0
- package/dist/esm/workers/ktx2-basis-writer-worker.js +34 -0
- package/dist/esm/workers/ktx2-basis-writer-worker.js.map +1 -0
- package/dist/index.d.ts +16 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -3
- package/dist/ktx2-basis-writer-nodejs-worker.js +66438 -0
- package/dist/ktx2-basis-writer-nodejs.d.ts +3 -0
- package/dist/ktx2-basis-writer-nodejs.d.ts.map +1 -0
- package/dist/ktx2-basis-writer-nodejs.js +7 -0
- package/dist/ktx2-basis-writer-worker.js +343 -0
- package/dist/{ktx2-basis-universal-texture-writer.d.ts → ktx2-basis-writer.d.ts} +2 -2
- package/dist/ktx2-basis-writer.d.ts.map +1 -0
- package/dist/{ktx2-basis-universal-texture-writer.js → ktx2-basis-writer.js} +4 -4
- package/dist/lib/encoders/encode-texture.d.ts +2 -3
- package/dist/lib/encoders/encode-texture.d.ts.map +1 -1
- package/dist/lib/parsers/basis-module-loader.js +1 -1
- package/dist/lib/parsers/parse-basis.d.ts +8 -6
- package/dist/lib/parsers/parse-basis.d.ts.map +1 -1
- package/dist/lib/parsers/parse-basis.js +25 -25
- package/dist/lib/parsers/parse-compressed-texture.d.ts +1 -1
- package/dist/lib/parsers/parse-compressed-texture.d.ts.map +1 -1
- package/dist/lib/parsers/parse-crunch.d.ts +1 -1
- package/dist/lib/parsers/parse-crunch.d.ts.map +1 -1
- package/dist/lib/parsers/parse-crunch.js +14 -13
- package/dist/lib/parsers/parse-dds.d.ts +1 -1
- package/dist/lib/parsers/parse-dds.d.ts.map +1 -1
- package/dist/lib/parsers/parse-ktx.d.ts +2 -1
- package/dist/lib/parsers/parse-ktx.d.ts.map +1 -1
- package/dist/lib/parsers/parse-npy.d.ts.map +1 -1
- package/dist/lib/parsers/parse-npy.js +1 -0
- package/dist/lib/parsers/parse-pvr.d.ts +1 -1
- package/dist/lib/parsers/parse-pvr.d.ts.map +1 -1
- package/dist/lib/parsers/parse-pvr.js +2 -2
- package/dist/lib/utils/extract-mipmap-images.d.ts +8 -1
- package/dist/lib/utils/extract-mipmap-images.d.ts.map +1 -1
- package/dist/lib/utils/version.d.ts.map +1 -1
- package/dist/lib/utils/version.js +2 -1
- package/dist/libs/basis_encoder.js +20 -21
- package/dist/libs/basis_encoder.wasm +0 -0
- package/dist/libs/basis_transcoder.js +14 -13
- package/dist/libs/basis_transcoder.wasm +0 -0
- package/dist/npy-worker.js +48 -16
- package/dist/types.d.ts +0 -20
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -1
- package/dist/workers/ktx2-basis-writer-nodejs-worker.d.ts +2 -0
- package/dist/workers/ktx2-basis-writer-nodejs-worker.d.ts.map +1 -0
- package/dist/workers/ktx2-basis-writer-nodejs-worker.js +26 -0
- package/dist/workers/ktx2-basis-writer-worker.d.ts +2 -0
- package/dist/workers/ktx2-basis-writer-worker.d.ts.map +1 -0
- package/dist/workers/ktx2-basis-writer-worker.js +26 -0
- package/package.json +13 -7
- package/src/compressed-texture-loader.ts +1 -1
- package/src/compressed-texture-writer.ts +20 -2
- package/src/index.ts +20 -2
- package/src/ktx2-basis-writer-nodejs.ts +4 -0
- package/src/{ktx2-basis-universal-texture-writer.ts → ktx2-basis-writer.ts} +3 -3
- package/src/lib/encoders/encode-texture.ts +2 -1
- package/src/lib/parsers/basis-module-loader.ts +1 -1
- package/src/lib/parsers/parse-basis.ts +68 -36
- package/src/lib/parsers/parse-compressed-texture.ts +1 -1
- package/src/lib/parsers/parse-crunch.ts +15 -14
- package/src/lib/parsers/parse-dds.ts +1 -1
- package/src/lib/parsers/parse-ktx.ts +2 -1
- package/src/lib/parsers/parse-npy.ts +2 -0
- package/src/lib/parsers/parse-pvr.ts +2 -1
- package/src/lib/utils/extract-mipmap-images.ts +9 -1
- package/src/lib/utils/texture-formats.ts +1 -1
- package/src/lib/utils/version.ts +2 -1
- package/src/libs/basis_encoder.js +20 -21
- package/src/libs/basis_encoder.wasm +0 -0
- package/src/libs/basis_transcoder.js +14 -13
- package/src/libs/basis_transcoder.wasm +0 -0
- package/src/types.ts +0 -30
- package/src/workers/ktx2-basis-writer-nodejs-worker.ts +25 -0
- package/src/workers/ktx2-basis-writer-worker.ts +25 -0
- package/dist/es5/ktx2-basis-universal-texture-writer.js.map +0 -1
- package/dist/esm/ktx2-basis-universal-texture-writer.js.map +0 -1
- package/dist/ktx2-basis-universal-texture-writer.d.ts.map +0 -1
package/dist/basis-worker.js
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
});
|
|
29
29
|
|
|
30
30
|
// ../worker-utils/src/lib/env-utils/version.ts
|
|
31
|
-
var VERSION = true ? "3.
|
|
31
|
+
var VERSION = true ? "3.2.0-alpha.3" : DEFAULT_VERSION;
|
|
32
32
|
if (false) {
|
|
33
33
|
console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
|
|
34
34
|
}
|
|
@@ -93,16 +93,33 @@
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
// ../worker-utils/src/lib/worker-farm/worker-body.ts
|
|
96
|
+
function getParentPort() {
|
|
97
|
+
let parentPort;
|
|
98
|
+
try {
|
|
99
|
+
eval("globalThis.parentPort = require('worker_threads').parentPort");
|
|
100
|
+
parentPort = globalThis.parentPort;
|
|
101
|
+
} catch {
|
|
102
|
+
}
|
|
103
|
+
return parentPort;
|
|
104
|
+
}
|
|
96
105
|
var onMessageWrapperMap = new Map();
|
|
97
106
|
var WorkerBody = class {
|
|
107
|
+
static inWorkerThread() {
|
|
108
|
+
return typeof self !== "undefined" || Boolean(getParentPort());
|
|
109
|
+
}
|
|
98
110
|
static set onmessage(onMessage) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
-
const { type, payload } = message.data;
|
|
111
|
+
function handleMessage(message) {
|
|
112
|
+
const parentPort3 = getParentPort();
|
|
113
|
+
const { type, payload } = parentPort3 ? message : message.data;
|
|
104
114
|
onMessage(type, payload);
|
|
105
|
-
}
|
|
115
|
+
}
|
|
116
|
+
const parentPort2 = getParentPort();
|
|
117
|
+
if (parentPort2) {
|
|
118
|
+
parentPort2.on("message", handleMessage);
|
|
119
|
+
parentPort2.on("exit", () => console.debug("Node worker closing"));
|
|
120
|
+
} else {
|
|
121
|
+
globalThis.onmessage = handleMessage;
|
|
122
|
+
}
|
|
106
123
|
}
|
|
107
124
|
static addEventListener(onMessage) {
|
|
108
125
|
let onMessageWrapper = onMessageWrapperMap.get(onMessage);
|
|
@@ -111,22 +128,36 @@
|
|
|
111
128
|
if (!isKnownMessage(message)) {
|
|
112
129
|
return;
|
|
113
130
|
}
|
|
114
|
-
const
|
|
131
|
+
const parentPort3 = getParentPort();
|
|
132
|
+
const { type, payload } = parentPort3 ? message : message.data;
|
|
115
133
|
onMessage(type, payload);
|
|
116
134
|
};
|
|
117
135
|
}
|
|
118
|
-
|
|
136
|
+
const parentPort2 = getParentPort();
|
|
137
|
+
if (parentPort2) {
|
|
138
|
+
console.error("not implemented");
|
|
139
|
+
} else {
|
|
140
|
+
globalThis.addEventListener("message", onMessageWrapper);
|
|
141
|
+
}
|
|
119
142
|
}
|
|
120
143
|
static removeEventListener(onMessage) {
|
|
121
144
|
const onMessageWrapper = onMessageWrapperMap.get(onMessage);
|
|
122
145
|
onMessageWrapperMap.delete(onMessage);
|
|
123
|
-
|
|
146
|
+
const parentPort2 = getParentPort();
|
|
147
|
+
if (parentPort2) {
|
|
148
|
+
console.error("not implemented");
|
|
149
|
+
} else {
|
|
150
|
+
globalThis.removeEventListener("message", onMessageWrapper);
|
|
151
|
+
}
|
|
124
152
|
}
|
|
125
153
|
static postMessage(type, payload) {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
154
|
+
const data = { source: "loaders.gl", type, payload };
|
|
155
|
+
const transferList = getTransferList(payload);
|
|
156
|
+
const parentPort2 = getParentPort();
|
|
157
|
+
if (parentPort2) {
|
|
158
|
+
parentPort2.postMessage(data, transferList);
|
|
159
|
+
} else {
|
|
160
|
+
globalThis.postMessage(data, transferList);
|
|
130
161
|
}
|
|
131
162
|
}
|
|
132
163
|
};
|
|
@@ -137,7 +168,7 @@
|
|
|
137
168
|
|
|
138
169
|
// ../worker-utils/src/lib/library-utils/library-utils.ts
|
|
139
170
|
var node = __toModule(require_require_utils());
|
|
140
|
-
var LATEST = "
|
|
171
|
+
var LATEST = "beta";
|
|
141
172
|
var VERSION2 = typeof VERSION !== "undefined" ? VERSION : LATEST;
|
|
142
173
|
var loadLibraryPromises = {};
|
|
143
174
|
async function loadLibrary(libraryUrl, moduleName = null, options = {}) {
|
|
@@ -208,19 +239,20 @@
|
|
|
208
239
|
// ../loader-utils/src/lib/worker-loader-utils/create-loader-worker.ts
|
|
209
240
|
var requestId = 0;
|
|
210
241
|
function createLoaderWorker(loader) {
|
|
211
|
-
if (
|
|
242
|
+
if (!WorkerBody.inWorkerThread()) {
|
|
212
243
|
return;
|
|
213
244
|
}
|
|
214
245
|
WorkerBody.onmessage = async (type, payload) => {
|
|
215
246
|
switch (type) {
|
|
216
247
|
case "process":
|
|
217
248
|
try {
|
|
218
|
-
const { input, options = {} } = payload;
|
|
249
|
+
const { input, options = {}, context = {} } = payload;
|
|
219
250
|
const result = await parseData({
|
|
220
251
|
loader,
|
|
221
252
|
arrayBuffer: input,
|
|
222
253
|
options,
|
|
223
254
|
context: {
|
|
255
|
+
...context,
|
|
224
256
|
parse: parseOnMainThread
|
|
225
257
|
}
|
|
226
258
|
});
|
|
@@ -280,10 +312,10 @@
|
|
|
280
312
|
}
|
|
281
313
|
|
|
282
314
|
// src/lib/utils/version.ts
|
|
283
|
-
var VERSION3 = true ? "3.
|
|
315
|
+
var VERSION3 = true ? "3.2.0-alpha.3" : "beta";
|
|
284
316
|
|
|
285
317
|
// src/lib/parsers/basis-module-loader.ts
|
|
286
|
-
var VERSION4 = true ? "3.
|
|
318
|
+
var VERSION4 = true ? "3.2.0-alpha.3" : "beta";
|
|
287
319
|
var BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.wasm`;
|
|
288
320
|
var BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.js`;
|
|
289
321
|
var loadBasisTranscoderPromise;
|
|
@@ -572,7 +604,7 @@
|
|
|
572
604
|
const basisFile = new BasisFile(new Uint8Array(data));
|
|
573
605
|
try {
|
|
574
606
|
if (!basisFile.startTranscoding()) {
|
|
575
|
-
|
|
607
|
+
throw new Error("Failed to start basis transcoding");
|
|
576
608
|
}
|
|
577
609
|
const imageCount = basisFile.getNumImages();
|
|
578
610
|
const images = [];
|
|
@@ -598,22 +630,22 @@
|
|
|
598
630
|
const decodedSize = basisFile.getImageTranscodedSizeInBytes(imageIndex, levelIndex, basisFormat);
|
|
599
631
|
const decodedData = new Uint8Array(decodedSize);
|
|
600
632
|
if (!basisFile.transcodeImage(decodedData, imageIndex, levelIndex, basisFormat, 0, 0)) {
|
|
601
|
-
|
|
633
|
+
throw new Error("failed to start Basis transcoding");
|
|
602
634
|
}
|
|
603
635
|
return {
|
|
604
636
|
width,
|
|
605
637
|
height,
|
|
606
638
|
data: decodedData,
|
|
607
639
|
compressed,
|
|
608
|
-
|
|
609
|
-
|
|
640
|
+
format,
|
|
641
|
+
hasAlpha
|
|
610
642
|
};
|
|
611
643
|
}
|
|
612
644
|
function parseKTX2File(KTX2File, data, options) {
|
|
613
645
|
const ktx2File = new KTX2File(new Uint8Array(data));
|
|
614
646
|
try {
|
|
615
647
|
if (!ktx2File.startTranscoding()) {
|
|
616
|
-
|
|
648
|
+
throw new Error("failed to start KTX2 transcoding");
|
|
617
649
|
}
|
|
618
650
|
const levelsCount = ktx2File.getLevels();
|
|
619
651
|
const levels = [];
|
|
@@ -621,7 +653,7 @@
|
|
|
621
653
|
levels.push(transcodeKTX2Image(ktx2File, levelIndex, options));
|
|
622
654
|
break;
|
|
623
655
|
}
|
|
624
|
-
return levels;
|
|
656
|
+
return [levels];
|
|
625
657
|
} finally {
|
|
626
658
|
ktx2File.close();
|
|
627
659
|
ktx2File.delete();
|
|
@@ -633,14 +665,14 @@
|
|
|
633
665
|
const decodedSize = ktx2File.getImageTranscodedSizeInBytes(levelIndex, 0, 0, basisFormat);
|
|
634
666
|
const decodedData = new Uint8Array(decodedSize);
|
|
635
667
|
if (!ktx2File.transcodeImage(decodedData, levelIndex, 0, 0, basisFormat, 0, -1, -1)) {
|
|
636
|
-
|
|
668
|
+
throw new Error("Failed to transcode KTX2 image");
|
|
637
669
|
}
|
|
638
670
|
return {
|
|
639
671
|
width,
|
|
640
672
|
height,
|
|
641
673
|
data: decodedData,
|
|
642
674
|
compressed,
|
|
643
|
-
alphaFlag,
|
|
675
|
+
hasAlpha: alphaFlag,
|
|
644
676
|
format
|
|
645
677
|
};
|
|
646
678
|
}
|
|
@@ -28,7 +28,7 @@ export declare const CompressedTextureWorkerLoader: {
|
|
|
28
28
|
* Loader for KTX, DDS, and PVR texture container formats
|
|
29
29
|
*/
|
|
30
30
|
export declare const CompressedTextureLoader: {
|
|
31
|
-
parse: (arrayBuffer: any, options: any) => Promise<
|
|
31
|
+
parse: (arrayBuffer: any, options: any) => Promise<import("@loaders.gl/schema").TextureLevel[]>;
|
|
32
32
|
name: string;
|
|
33
33
|
id: string;
|
|
34
34
|
module: string;
|
|
@@ -54,7 +54,7 @@ exports.CompressedTextureLoader = {
|
|
|
54
54
|
containerFormat: 'ktx2',
|
|
55
55
|
module: 'encoder'
|
|
56
56
|
};
|
|
57
|
-
return await (0, parse_basis_1.default)(arrayBuffer, options);
|
|
57
|
+
return (await (0, parse_basis_1.default)(arrayBuffer, options))[0];
|
|
58
58
|
}
|
|
59
59
|
return (0, parse_compressed_texture_1.parseCompressedTexture)(arrayBuffer);
|
|
60
60
|
}
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
// ../worker-utils/src/lib/env-utils/version.ts
|
|
38
|
-
var VERSION = true ? "3.
|
|
38
|
+
var VERSION = true ? "3.2.0-alpha.3" : DEFAULT_VERSION;
|
|
39
39
|
if (false) {
|
|
40
40
|
console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
|
|
41
41
|
}
|
|
@@ -100,16 +100,33 @@
|
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
// ../worker-utils/src/lib/worker-farm/worker-body.ts
|
|
103
|
+
function getParentPort() {
|
|
104
|
+
let parentPort;
|
|
105
|
+
try {
|
|
106
|
+
eval("globalThis.parentPort = require('worker_threads').parentPort");
|
|
107
|
+
parentPort = globalThis.parentPort;
|
|
108
|
+
} catch {
|
|
109
|
+
}
|
|
110
|
+
return parentPort;
|
|
111
|
+
}
|
|
103
112
|
var onMessageWrapperMap = new Map();
|
|
104
113
|
var WorkerBody = class {
|
|
114
|
+
static inWorkerThread() {
|
|
115
|
+
return typeof self !== "undefined" || Boolean(getParentPort());
|
|
116
|
+
}
|
|
105
117
|
static set onmessage(onMessage) {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
}
|
|
110
|
-
const { type, payload } = message.data;
|
|
118
|
+
function handleMessage(message) {
|
|
119
|
+
const parentPort3 = getParentPort();
|
|
120
|
+
const { type, payload } = parentPort3 ? message : message.data;
|
|
111
121
|
onMessage(type, payload);
|
|
112
|
-
}
|
|
122
|
+
}
|
|
123
|
+
const parentPort2 = getParentPort();
|
|
124
|
+
if (parentPort2) {
|
|
125
|
+
parentPort2.on("message", handleMessage);
|
|
126
|
+
parentPort2.on("exit", () => console.debug("Node worker closing"));
|
|
127
|
+
} else {
|
|
128
|
+
globalThis.onmessage = handleMessage;
|
|
129
|
+
}
|
|
113
130
|
}
|
|
114
131
|
static addEventListener(onMessage) {
|
|
115
132
|
let onMessageWrapper = onMessageWrapperMap.get(onMessage);
|
|
@@ -118,22 +135,36 @@
|
|
|
118
135
|
if (!isKnownMessage(message)) {
|
|
119
136
|
return;
|
|
120
137
|
}
|
|
121
|
-
const
|
|
138
|
+
const parentPort3 = getParentPort();
|
|
139
|
+
const { type, payload } = parentPort3 ? message : message.data;
|
|
122
140
|
onMessage(type, payload);
|
|
123
141
|
};
|
|
124
142
|
}
|
|
125
|
-
|
|
143
|
+
const parentPort2 = getParentPort();
|
|
144
|
+
if (parentPort2) {
|
|
145
|
+
console.error("not implemented");
|
|
146
|
+
} else {
|
|
147
|
+
globalThis.addEventListener("message", onMessageWrapper);
|
|
148
|
+
}
|
|
126
149
|
}
|
|
127
150
|
static removeEventListener(onMessage) {
|
|
128
151
|
const onMessageWrapper = onMessageWrapperMap.get(onMessage);
|
|
129
152
|
onMessageWrapperMap.delete(onMessage);
|
|
130
|
-
|
|
153
|
+
const parentPort2 = getParentPort();
|
|
154
|
+
if (parentPort2) {
|
|
155
|
+
console.error("not implemented");
|
|
156
|
+
} else {
|
|
157
|
+
globalThis.removeEventListener("message", onMessageWrapper);
|
|
158
|
+
}
|
|
131
159
|
}
|
|
132
160
|
static postMessage(type, payload) {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
161
|
+
const data = { source: "loaders.gl", type, payload };
|
|
162
|
+
const transferList = getTransferList(payload);
|
|
163
|
+
const parentPort2 = getParentPort();
|
|
164
|
+
if (parentPort2) {
|
|
165
|
+
parentPort2.postMessage(data, transferList);
|
|
166
|
+
} else {
|
|
167
|
+
globalThis.postMessage(data, transferList);
|
|
137
168
|
}
|
|
138
169
|
}
|
|
139
170
|
};
|
|
@@ -144,7 +175,7 @@
|
|
|
144
175
|
|
|
145
176
|
// ../worker-utils/src/lib/library-utils/library-utils.ts
|
|
146
177
|
var node = __toModule(require_require_utils());
|
|
147
|
-
var LATEST = "
|
|
178
|
+
var LATEST = "beta";
|
|
148
179
|
var VERSION2 = typeof VERSION !== "undefined" ? VERSION : LATEST;
|
|
149
180
|
var loadLibraryPromises = {};
|
|
150
181
|
async function loadLibrary(libraryUrl, moduleName = null, options = {}) {
|
|
@@ -215,19 +246,20 @@
|
|
|
215
246
|
// ../loader-utils/src/lib/worker-loader-utils/create-loader-worker.ts
|
|
216
247
|
var requestId = 0;
|
|
217
248
|
function createLoaderWorker(loader) {
|
|
218
|
-
if (
|
|
249
|
+
if (!WorkerBody.inWorkerThread()) {
|
|
219
250
|
return;
|
|
220
251
|
}
|
|
221
252
|
WorkerBody.onmessage = async (type, payload) => {
|
|
222
253
|
switch (type) {
|
|
223
254
|
case "process":
|
|
224
255
|
try {
|
|
225
|
-
const { input, options = {} } = payload;
|
|
256
|
+
const { input, options = {}, context = {} } = payload;
|
|
226
257
|
const result = await parseData({
|
|
227
258
|
loader,
|
|
228
259
|
arrayBuffer: input,
|
|
229
260
|
options,
|
|
230
261
|
context: {
|
|
262
|
+
...context,
|
|
231
263
|
parse: parseOnMainThread
|
|
232
264
|
}
|
|
233
265
|
});
|
|
@@ -287,7 +319,7 @@
|
|
|
287
319
|
}
|
|
288
320
|
|
|
289
321
|
// src/lib/utils/version.ts
|
|
290
|
-
var VERSION3 = true ? "3.
|
|
322
|
+
var VERSION3 = true ? "3.2.0-alpha.3" : "beta";
|
|
291
323
|
|
|
292
324
|
// ../../node_modules/ktx-parse/dist/ktx-parse.modern.js
|
|
293
325
|
var t = new Uint8Array([0]);
|
|
@@ -875,7 +907,7 @@
|
|
|
875
907
|
}
|
|
876
908
|
|
|
877
909
|
// src/lib/parsers/basis-module-loader.ts
|
|
878
|
-
var VERSION4 = true ? "3.
|
|
910
|
+
var VERSION4 = true ? "3.2.0-alpha.3" : "beta";
|
|
879
911
|
var BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.wasm`;
|
|
880
912
|
var BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.js`;
|
|
881
913
|
var loadBasisTranscoderPromise;
|
|
@@ -1053,7 +1085,7 @@
|
|
|
1053
1085
|
const basisFile = new BasisFile(new Uint8Array(data));
|
|
1054
1086
|
try {
|
|
1055
1087
|
if (!basisFile.startTranscoding()) {
|
|
1056
|
-
|
|
1088
|
+
throw new Error("Failed to start basis transcoding");
|
|
1057
1089
|
}
|
|
1058
1090
|
const imageCount = basisFile.getNumImages();
|
|
1059
1091
|
const images = [];
|
|
@@ -1079,22 +1111,22 @@
|
|
|
1079
1111
|
const decodedSize = basisFile.getImageTranscodedSizeInBytes(imageIndex, levelIndex, basisFormat);
|
|
1080
1112
|
const decodedData = new Uint8Array(decodedSize);
|
|
1081
1113
|
if (!basisFile.transcodeImage(decodedData, imageIndex, levelIndex, basisFormat, 0, 0)) {
|
|
1082
|
-
|
|
1114
|
+
throw new Error("failed to start Basis transcoding");
|
|
1083
1115
|
}
|
|
1084
1116
|
return {
|
|
1085
1117
|
width,
|
|
1086
1118
|
height,
|
|
1087
1119
|
data: decodedData,
|
|
1088
1120
|
compressed,
|
|
1089
|
-
|
|
1090
|
-
|
|
1121
|
+
format,
|
|
1122
|
+
hasAlpha
|
|
1091
1123
|
};
|
|
1092
1124
|
}
|
|
1093
1125
|
function parseKTX2File(KTX2File, data, options) {
|
|
1094
1126
|
const ktx2File = new KTX2File(new Uint8Array(data));
|
|
1095
1127
|
try {
|
|
1096
1128
|
if (!ktx2File.startTranscoding()) {
|
|
1097
|
-
|
|
1129
|
+
throw new Error("failed to start KTX2 transcoding");
|
|
1098
1130
|
}
|
|
1099
1131
|
const levelsCount = ktx2File.getLevels();
|
|
1100
1132
|
const levels = [];
|
|
@@ -1102,7 +1134,7 @@
|
|
|
1102
1134
|
levels.push(transcodeKTX2Image(ktx2File, levelIndex, options));
|
|
1103
1135
|
break;
|
|
1104
1136
|
}
|
|
1105
|
-
return levels;
|
|
1137
|
+
return [levels];
|
|
1106
1138
|
} finally {
|
|
1107
1139
|
ktx2File.close();
|
|
1108
1140
|
ktx2File.delete();
|
|
@@ -1114,14 +1146,14 @@
|
|
|
1114
1146
|
const decodedSize = ktx2File.getImageTranscodedSizeInBytes(levelIndex, 0, 0, basisFormat);
|
|
1115
1147
|
const decodedData = new Uint8Array(decodedSize);
|
|
1116
1148
|
if (!ktx2File.transcodeImage(decodedData, levelIndex, 0, 0, basisFormat, 0, -1, -1)) {
|
|
1117
|
-
|
|
1149
|
+
throw new Error("Failed to transcode KTX2 image");
|
|
1118
1150
|
}
|
|
1119
1151
|
return {
|
|
1120
1152
|
width,
|
|
1121
1153
|
height,
|
|
1122
1154
|
data: decodedData,
|
|
1123
1155
|
compressed,
|
|
1124
|
-
alphaFlag,
|
|
1156
|
+
hasAlpha: alphaFlag,
|
|
1125
1157
|
format
|
|
1126
1158
|
};
|
|
1127
1159
|
}
|
|
@@ -1200,7 +1232,7 @@
|
|
|
1200
1232
|
containerFormat: "ktx2",
|
|
1201
1233
|
module: "encoder"
|
|
1202
1234
|
};
|
|
1203
|
-
return await parseBasis(arrayBuffer, options);
|
|
1235
|
+
return (await parseBasis(arrayBuffer, options))[0];
|
|
1204
1236
|
}
|
|
1205
1237
|
return parseCompressedTexture(arrayBuffer);
|
|
1206
1238
|
}
|
|
@@ -1,5 +1,16 @@
|
|
|
1
|
-
import type { Writer } from '@loaders.gl/loader-utils';
|
|
1
|
+
import type { Writer, WriterOptions } from '@loaders.gl/loader-utils';
|
|
2
2
|
import { encodeImageURLToCompressedTextureURL } from './lib/encoders/encode-texture';
|
|
3
|
+
export declare type CompressedTextureWriterOptions = WriterOptions & {
|
|
4
|
+
cwd?: string;
|
|
5
|
+
texture?: {
|
|
6
|
+
format: string;
|
|
7
|
+
compression: string;
|
|
8
|
+
quality: string;
|
|
9
|
+
mipmap: boolean;
|
|
10
|
+
flipY: boolean;
|
|
11
|
+
toolFlags: string;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
3
14
|
/**
|
|
4
15
|
* DDS Texture Container Exporter
|
|
5
16
|
*/
|
|
@@ -21,5 +32,7 @@ export declare const CompressedTextureWriter: {
|
|
|
21
32
|
};
|
|
22
33
|
encodeURLtoURL: typeof encodeImageURLToCompressedTextureURL;
|
|
23
34
|
};
|
|
24
|
-
export declare const _TypecheckCompressedTextureWriter: Writer
|
|
35
|
+
export declare const _TypecheckCompressedTextureWriter: Writer & {
|
|
36
|
+
encodeURLtoURL: (inputUrl: string, outputUrl: string, options?: CompressedTextureWriterOptions) => Promise<string>;
|
|
37
|
+
};
|
|
25
38
|
//# sourceMappingURL=compressed-texture-writer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compressed-texture-writer.d.ts","sourceRoot":"","sources":["../src/compressed-texture-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"compressed-texture-writer.d.ts","sourceRoot":"","sources":["../src/compressed-texture-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAEpE,OAAO,EAAC,oCAAoC,EAAC,MAAM,+BAA+B,CAAC;AAEnF,oBAAY,8BAA8B,GAAG,aAAa,GAAG;IAC3D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,OAAO,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;CAoBnC,CAAC;AAGF,eAAO,MAAM,iCAAiC,EAAE,MAAM,GAAG;IACvD,cAAc,EAAE,CACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,8BAA8B,KACrC,OAAO,CAAC,MAAM,CAAC,CAAC;CACI,CAAC"}
|
package/dist/crunch-worker.js
CHANGED
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
// ../worker-utils/src/lib/env-utils/version.ts
|
|
38
|
-
var VERSION = true ? "3.
|
|
38
|
+
var VERSION = true ? "3.2.0-alpha.3" : DEFAULT_VERSION;
|
|
39
39
|
if (false) {
|
|
40
40
|
console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
|
|
41
41
|
}
|
|
@@ -100,16 +100,33 @@
|
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
// ../worker-utils/src/lib/worker-farm/worker-body.ts
|
|
103
|
+
function getParentPort() {
|
|
104
|
+
let parentPort;
|
|
105
|
+
try {
|
|
106
|
+
eval("globalThis.parentPort = require('worker_threads').parentPort");
|
|
107
|
+
parentPort = globalThis.parentPort;
|
|
108
|
+
} catch {
|
|
109
|
+
}
|
|
110
|
+
return parentPort;
|
|
111
|
+
}
|
|
103
112
|
var onMessageWrapperMap = new Map();
|
|
104
113
|
var WorkerBody = class {
|
|
114
|
+
static inWorkerThread() {
|
|
115
|
+
return typeof self !== "undefined" || Boolean(getParentPort());
|
|
116
|
+
}
|
|
105
117
|
static set onmessage(onMessage) {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
}
|
|
110
|
-
const { type, payload } = message.data;
|
|
118
|
+
function handleMessage(message) {
|
|
119
|
+
const parentPort3 = getParentPort();
|
|
120
|
+
const { type, payload } = parentPort3 ? message : message.data;
|
|
111
121
|
onMessage(type, payload);
|
|
112
|
-
}
|
|
122
|
+
}
|
|
123
|
+
const parentPort2 = getParentPort();
|
|
124
|
+
if (parentPort2) {
|
|
125
|
+
parentPort2.on("message", handleMessage);
|
|
126
|
+
parentPort2.on("exit", () => console.debug("Node worker closing"));
|
|
127
|
+
} else {
|
|
128
|
+
globalThis.onmessage = handleMessage;
|
|
129
|
+
}
|
|
113
130
|
}
|
|
114
131
|
static addEventListener(onMessage) {
|
|
115
132
|
let onMessageWrapper = onMessageWrapperMap.get(onMessage);
|
|
@@ -118,22 +135,36 @@
|
|
|
118
135
|
if (!isKnownMessage(message)) {
|
|
119
136
|
return;
|
|
120
137
|
}
|
|
121
|
-
const
|
|
138
|
+
const parentPort3 = getParentPort();
|
|
139
|
+
const { type, payload } = parentPort3 ? message : message.data;
|
|
122
140
|
onMessage(type, payload);
|
|
123
141
|
};
|
|
124
142
|
}
|
|
125
|
-
|
|
143
|
+
const parentPort2 = getParentPort();
|
|
144
|
+
if (parentPort2) {
|
|
145
|
+
console.error("not implemented");
|
|
146
|
+
} else {
|
|
147
|
+
globalThis.addEventListener("message", onMessageWrapper);
|
|
148
|
+
}
|
|
126
149
|
}
|
|
127
150
|
static removeEventListener(onMessage) {
|
|
128
151
|
const onMessageWrapper = onMessageWrapperMap.get(onMessage);
|
|
129
152
|
onMessageWrapperMap.delete(onMessage);
|
|
130
|
-
|
|
153
|
+
const parentPort2 = getParentPort();
|
|
154
|
+
if (parentPort2) {
|
|
155
|
+
console.error("not implemented");
|
|
156
|
+
} else {
|
|
157
|
+
globalThis.removeEventListener("message", onMessageWrapper);
|
|
158
|
+
}
|
|
131
159
|
}
|
|
132
160
|
static postMessage(type, payload) {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
161
|
+
const data = { source: "loaders.gl", type, payload };
|
|
162
|
+
const transferList = getTransferList(payload);
|
|
163
|
+
const parentPort2 = getParentPort();
|
|
164
|
+
if (parentPort2) {
|
|
165
|
+
parentPort2.postMessage(data, transferList);
|
|
166
|
+
} else {
|
|
167
|
+
globalThis.postMessage(data, transferList);
|
|
137
168
|
}
|
|
138
169
|
}
|
|
139
170
|
};
|
|
@@ -144,7 +175,7 @@
|
|
|
144
175
|
|
|
145
176
|
// ../worker-utils/src/lib/library-utils/library-utils.ts
|
|
146
177
|
var node = __toModule(require_require_utils());
|
|
147
|
-
var LATEST = "
|
|
178
|
+
var LATEST = "beta";
|
|
148
179
|
var VERSION2 = typeof VERSION !== "undefined" ? VERSION : LATEST;
|
|
149
180
|
var loadLibraryPromises = {};
|
|
150
181
|
async function loadLibrary(libraryUrl, moduleName = null, options = {}) {
|
|
@@ -215,19 +246,20 @@
|
|
|
215
246
|
// ../loader-utils/src/lib/worker-loader-utils/create-loader-worker.ts
|
|
216
247
|
var requestId = 0;
|
|
217
248
|
function createLoaderWorker(loader) {
|
|
218
|
-
if (
|
|
249
|
+
if (!WorkerBody.inWorkerThread()) {
|
|
219
250
|
return;
|
|
220
251
|
}
|
|
221
252
|
WorkerBody.onmessage = async (type, payload) => {
|
|
222
253
|
switch (type) {
|
|
223
254
|
case "process":
|
|
224
255
|
try {
|
|
225
|
-
const { input, options = {} } = payload;
|
|
256
|
+
const { input, options = {}, context = {} } = payload;
|
|
226
257
|
const result = await parseData({
|
|
227
258
|
loader,
|
|
228
259
|
arrayBuffer: input,
|
|
229
260
|
options,
|
|
230
261
|
context: {
|
|
262
|
+
...context,
|
|
231
263
|
parse: parseOnMainThread
|
|
232
264
|
}
|
|
233
265
|
});
|
|
@@ -287,7 +319,7 @@
|
|
|
287
319
|
}
|
|
288
320
|
|
|
289
321
|
// src/lib/utils/version.ts
|
|
290
|
-
var VERSION3 = true ? "3.
|
|
322
|
+
var VERSION3 = true ? "3.2.0-alpha.3" : "beta";
|
|
291
323
|
|
|
292
324
|
// src/crunch-loader.ts
|
|
293
325
|
var CrunchLoader = {
|
|
@@ -446,18 +478,19 @@
|
|
|
446
478
|
cCRNFmtDXT3: 1,
|
|
447
479
|
cCRNFmtDXT5: 2
|
|
448
480
|
};
|
|
449
|
-
var DXT_FORMAT_MAP = {
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
481
|
+
var DXT_FORMAT_MAP = {
|
|
482
|
+
[CRN_FORMAT.cCRNFmtDXT1]: {
|
|
483
|
+
pixelFormat: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
|
|
484
|
+
sizeFunction: getDxt1LevelSize
|
|
485
|
+
},
|
|
486
|
+
[CRN_FORMAT.cCRNFmtDXT3]: {
|
|
487
|
+
pixelFormat: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
|
|
488
|
+
sizeFunction: getDxtXLevelSize
|
|
489
|
+
},
|
|
490
|
+
[CRN_FORMAT.cCRNFmtDXT5]: {
|
|
491
|
+
pixelFormat: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
|
|
492
|
+
sizeFunction: getDxtXLevelSize
|
|
493
|
+
}
|
|
461
494
|
};
|
|
462
495
|
var cachedDstSize = 0;
|
|
463
496
|
var dst;
|