@loaders.gl/textures 3.1.6 → 3.2.0-alpha.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.js +57 -26
- package/dist/compressed-texture-loader.d.ts +1 -1
- package/dist/compressed-texture-loader.js +1 -1
- package/dist/compressed-texture-worker.js +58 -27
- package/dist/crunch-worker.js +61 -29
- package/dist/dist.min.js +13 -13
- package/dist/es5/compressed-texture-loader.js +1 -1
- package/dist/es5/compressed-texture-loader.js.map +1 -1
- package/dist/es5/index.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/esm/compressed-texture-loader.js +1 -1
- package/dist/esm/compressed-texture-loader.js.map +1 -1
- package/dist/esm/index.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/types.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.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/npy-worker.js +46 -15
- package/dist/types.d.ts +0 -20
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -1
- package/package.json +6 -5
- package/src/compressed-texture-loader.ts +1 -1
- package/src/index.ts +1 -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/types.ts +0 -30
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.1
|
|
31
|
+
var VERSION = true ? "3.2.0-alpha.1" : 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,7 +239,7 @@
|
|
|
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) => {
|
|
@@ -280,10 +311,10 @@
|
|
|
280
311
|
}
|
|
281
312
|
|
|
282
313
|
// src/lib/utils/version.ts
|
|
283
|
-
var VERSION3 = true ? "3.1
|
|
314
|
+
var VERSION3 = true ? "3.2.0-alpha.1" : "beta";
|
|
284
315
|
|
|
285
316
|
// src/lib/parsers/basis-module-loader.ts
|
|
286
|
-
var VERSION4 = true ? "3.1
|
|
317
|
+
var VERSION4 = true ? "3.2.0-alpha.1" : "beta";
|
|
287
318
|
var BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.wasm`;
|
|
288
319
|
var BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.js`;
|
|
289
320
|
var loadBasisTranscoderPromise;
|
|
@@ -572,7 +603,7 @@
|
|
|
572
603
|
const basisFile = new BasisFile(new Uint8Array(data));
|
|
573
604
|
try {
|
|
574
605
|
if (!basisFile.startTranscoding()) {
|
|
575
|
-
|
|
606
|
+
throw new Error("Failed to start basis transcoding");
|
|
576
607
|
}
|
|
577
608
|
const imageCount = basisFile.getNumImages();
|
|
578
609
|
const images = [];
|
|
@@ -598,22 +629,22 @@
|
|
|
598
629
|
const decodedSize = basisFile.getImageTranscodedSizeInBytes(imageIndex, levelIndex, basisFormat);
|
|
599
630
|
const decodedData = new Uint8Array(decodedSize);
|
|
600
631
|
if (!basisFile.transcodeImage(decodedData, imageIndex, levelIndex, basisFormat, 0, 0)) {
|
|
601
|
-
|
|
632
|
+
throw new Error("failed to start Basis transcoding");
|
|
602
633
|
}
|
|
603
634
|
return {
|
|
604
635
|
width,
|
|
605
636
|
height,
|
|
606
637
|
data: decodedData,
|
|
607
638
|
compressed,
|
|
608
|
-
|
|
609
|
-
|
|
639
|
+
format,
|
|
640
|
+
hasAlpha
|
|
610
641
|
};
|
|
611
642
|
}
|
|
612
643
|
function parseKTX2File(KTX2File, data, options) {
|
|
613
644
|
const ktx2File = new KTX2File(new Uint8Array(data));
|
|
614
645
|
try {
|
|
615
646
|
if (!ktx2File.startTranscoding()) {
|
|
616
|
-
|
|
647
|
+
throw new Error("failed to start KTX2 transcoding");
|
|
617
648
|
}
|
|
618
649
|
const levelsCount = ktx2File.getLevels();
|
|
619
650
|
const levels = [];
|
|
@@ -621,7 +652,7 @@
|
|
|
621
652
|
levels.push(transcodeKTX2Image(ktx2File, levelIndex, options));
|
|
622
653
|
break;
|
|
623
654
|
}
|
|
624
|
-
return levels;
|
|
655
|
+
return [levels];
|
|
625
656
|
} finally {
|
|
626
657
|
ktx2File.close();
|
|
627
658
|
ktx2File.delete();
|
|
@@ -633,14 +664,14 @@
|
|
|
633
664
|
const decodedSize = ktx2File.getImageTranscodedSizeInBytes(levelIndex, 0, 0, basisFormat);
|
|
634
665
|
const decodedData = new Uint8Array(decodedSize);
|
|
635
666
|
if (!ktx2File.transcodeImage(decodedData, levelIndex, 0, 0, basisFormat, 0, -1, -1)) {
|
|
636
|
-
|
|
667
|
+
throw new Error("Failed to transcode KTX2 image");
|
|
637
668
|
}
|
|
638
669
|
return {
|
|
639
670
|
width,
|
|
640
671
|
height,
|
|
641
672
|
data: decodedData,
|
|
642
673
|
compressed,
|
|
643
|
-
alphaFlag,
|
|
674
|
+
hasAlpha: alphaFlag,
|
|
644
675
|
format
|
|
645
676
|
};
|
|
646
677
|
}
|
|
@@ -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.1
|
|
38
|
+
var VERSION = true ? "3.2.0-alpha.1" : 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,7 +246,7 @@
|
|
|
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) => {
|
|
@@ -287,7 +318,7 @@
|
|
|
287
318
|
}
|
|
288
319
|
|
|
289
320
|
// src/lib/utils/version.ts
|
|
290
|
-
var VERSION3 = true ? "3.1
|
|
321
|
+
var VERSION3 = true ? "3.2.0-alpha.1" : "beta";
|
|
291
322
|
|
|
292
323
|
// ../../node_modules/ktx-parse/dist/ktx-parse.modern.js
|
|
293
324
|
var t = new Uint8Array([0]);
|
|
@@ -875,7 +906,7 @@
|
|
|
875
906
|
}
|
|
876
907
|
|
|
877
908
|
// src/lib/parsers/basis-module-loader.ts
|
|
878
|
-
var VERSION4 = true ? "3.1
|
|
909
|
+
var VERSION4 = true ? "3.2.0-alpha.1" : "beta";
|
|
879
910
|
var BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.wasm`;
|
|
880
911
|
var BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.js`;
|
|
881
912
|
var loadBasisTranscoderPromise;
|
|
@@ -1053,7 +1084,7 @@
|
|
|
1053
1084
|
const basisFile = new BasisFile(new Uint8Array(data));
|
|
1054
1085
|
try {
|
|
1055
1086
|
if (!basisFile.startTranscoding()) {
|
|
1056
|
-
|
|
1087
|
+
throw new Error("Failed to start basis transcoding");
|
|
1057
1088
|
}
|
|
1058
1089
|
const imageCount = basisFile.getNumImages();
|
|
1059
1090
|
const images = [];
|
|
@@ -1079,22 +1110,22 @@
|
|
|
1079
1110
|
const decodedSize = basisFile.getImageTranscodedSizeInBytes(imageIndex, levelIndex, basisFormat);
|
|
1080
1111
|
const decodedData = new Uint8Array(decodedSize);
|
|
1081
1112
|
if (!basisFile.transcodeImage(decodedData, imageIndex, levelIndex, basisFormat, 0, 0)) {
|
|
1082
|
-
|
|
1113
|
+
throw new Error("failed to start Basis transcoding");
|
|
1083
1114
|
}
|
|
1084
1115
|
return {
|
|
1085
1116
|
width,
|
|
1086
1117
|
height,
|
|
1087
1118
|
data: decodedData,
|
|
1088
1119
|
compressed,
|
|
1089
|
-
|
|
1090
|
-
|
|
1120
|
+
format,
|
|
1121
|
+
hasAlpha
|
|
1091
1122
|
};
|
|
1092
1123
|
}
|
|
1093
1124
|
function parseKTX2File(KTX2File, data, options) {
|
|
1094
1125
|
const ktx2File = new KTX2File(new Uint8Array(data));
|
|
1095
1126
|
try {
|
|
1096
1127
|
if (!ktx2File.startTranscoding()) {
|
|
1097
|
-
|
|
1128
|
+
throw new Error("failed to start KTX2 transcoding");
|
|
1098
1129
|
}
|
|
1099
1130
|
const levelsCount = ktx2File.getLevels();
|
|
1100
1131
|
const levels = [];
|
|
@@ -1102,7 +1133,7 @@
|
|
|
1102
1133
|
levels.push(transcodeKTX2Image(ktx2File, levelIndex, options));
|
|
1103
1134
|
break;
|
|
1104
1135
|
}
|
|
1105
|
-
return levels;
|
|
1136
|
+
return [levels];
|
|
1106
1137
|
} finally {
|
|
1107
1138
|
ktx2File.close();
|
|
1108
1139
|
ktx2File.delete();
|
|
@@ -1114,14 +1145,14 @@
|
|
|
1114
1145
|
const decodedSize = ktx2File.getImageTranscodedSizeInBytes(levelIndex, 0, 0, basisFormat);
|
|
1115
1146
|
const decodedData = new Uint8Array(decodedSize);
|
|
1116
1147
|
if (!ktx2File.transcodeImage(decodedData, levelIndex, 0, 0, basisFormat, 0, -1, -1)) {
|
|
1117
|
-
|
|
1148
|
+
throw new Error("Failed to transcode KTX2 image");
|
|
1118
1149
|
}
|
|
1119
1150
|
return {
|
|
1120
1151
|
width,
|
|
1121
1152
|
height,
|
|
1122
1153
|
data: decodedData,
|
|
1123
1154
|
compressed,
|
|
1124
|
-
alphaFlag,
|
|
1155
|
+
hasAlpha: alphaFlag,
|
|
1125
1156
|
format
|
|
1126
1157
|
};
|
|
1127
1158
|
}
|
|
@@ -1200,7 +1231,7 @@
|
|
|
1200
1231
|
containerFormat: "ktx2",
|
|
1201
1232
|
module: "encoder"
|
|
1202
1233
|
};
|
|
1203
|
-
return await parseBasis(arrayBuffer, options);
|
|
1234
|
+
return (await parseBasis(arrayBuffer, options))[0];
|
|
1204
1235
|
}
|
|
1205
1236
|
return parseCompressedTexture(arrayBuffer);
|
|
1206
1237
|
}
|
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.1
|
|
38
|
+
var VERSION = true ? "3.2.0-alpha.1" : 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,7 +246,7 @@
|
|
|
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) => {
|
|
@@ -287,7 +318,7 @@
|
|
|
287
318
|
}
|
|
288
319
|
|
|
289
320
|
// src/lib/utils/version.ts
|
|
290
|
-
var VERSION3 = true ? "3.1
|
|
321
|
+
var VERSION3 = true ? "3.2.0-alpha.1" : "beta";
|
|
291
322
|
|
|
292
323
|
// src/crunch-loader.ts
|
|
293
324
|
var CrunchLoader = {
|
|
@@ -446,18 +477,19 @@
|
|
|
446
477
|
cCRNFmtDXT3: 1,
|
|
447
478
|
cCRNFmtDXT5: 2
|
|
448
479
|
};
|
|
449
|
-
var DXT_FORMAT_MAP = {
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
480
|
+
var DXT_FORMAT_MAP = {
|
|
481
|
+
[CRN_FORMAT.cCRNFmtDXT1]: {
|
|
482
|
+
pixelFormat: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
|
|
483
|
+
sizeFunction: getDxt1LevelSize
|
|
484
|
+
},
|
|
485
|
+
[CRN_FORMAT.cCRNFmtDXT3]: {
|
|
486
|
+
pixelFormat: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
|
|
487
|
+
sizeFunction: getDxtXLevelSize
|
|
488
|
+
},
|
|
489
|
+
[CRN_FORMAT.cCRNFmtDXT5]: {
|
|
490
|
+
pixelFormat: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
|
|
491
|
+
sizeFunction: getDxtXLevelSize
|
|
492
|
+
}
|
|
461
493
|
};
|
|
462
494
|
var cachedDstSize = 0;
|
|
463
495
|
var dst;
|
package/dist/dist.min.js
CHANGED
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
var VERSION;
|
|
34
34
|
var init_version = __esm({
|
|
35
35
|
"src/lib/utils/version.ts"() {
|
|
36
|
-
VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "
|
|
36
|
+
VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
37
37
|
}
|
|
38
38
|
});
|
|
39
39
|
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
var DEFAULT_VERSION, VERSION2;
|
|
42
42
|
var init_version2 = __esm({
|
|
43
43
|
"../worker-utils/src/lib/env-utils/version.ts"() {
|
|
44
|
-
DEFAULT_VERSION = "
|
|
44
|
+
DEFAULT_VERSION = "beta";
|
|
45
45
|
VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : DEFAULT_VERSION;
|
|
46
46
|
if (typeof __VERSION__ === "undefined") {
|
|
47
47
|
console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
node = __toModule(require_require_utils());
|
|
161
161
|
init_assert();
|
|
162
162
|
init_version2();
|
|
163
|
-
LATEST = "
|
|
163
|
+
LATEST = "beta";
|
|
164
164
|
VERSION3 = typeof VERSION2 !== "undefined" ? VERSION2 : LATEST;
|
|
165
165
|
loadLibraryPromises = {};
|
|
166
166
|
}
|
|
@@ -247,7 +247,7 @@
|
|
|
247
247
|
var init_basis_module_loader = __esm({
|
|
248
248
|
"src/lib/parsers/basis-module-loader.ts"() {
|
|
249
249
|
init_src();
|
|
250
|
-
VERSION4 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "
|
|
250
|
+
VERSION4 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
251
251
|
BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.wasm`;
|
|
252
252
|
BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.js`;
|
|
253
253
|
}
|
|
@@ -648,7 +648,7 @@
|
|
|
648
648
|
const basisFile = new BasisFile(new Uint8Array(data));
|
|
649
649
|
try {
|
|
650
650
|
if (!basisFile.startTranscoding()) {
|
|
651
|
-
|
|
651
|
+
throw new Error("Failed to start basis transcoding");
|
|
652
652
|
}
|
|
653
653
|
const imageCount = basisFile.getNumImages();
|
|
654
654
|
const images = [];
|
|
@@ -674,22 +674,22 @@
|
|
|
674
674
|
const decodedSize = basisFile.getImageTranscodedSizeInBytes(imageIndex, levelIndex, basisFormat);
|
|
675
675
|
const decodedData = new Uint8Array(decodedSize);
|
|
676
676
|
if (!basisFile.transcodeImage(decodedData, imageIndex, levelIndex, basisFormat, 0, 0)) {
|
|
677
|
-
|
|
677
|
+
throw new Error("failed to start Basis transcoding");
|
|
678
678
|
}
|
|
679
679
|
return {
|
|
680
680
|
width,
|
|
681
681
|
height,
|
|
682
682
|
data: decodedData,
|
|
683
683
|
compressed,
|
|
684
|
-
|
|
685
|
-
|
|
684
|
+
format,
|
|
685
|
+
hasAlpha
|
|
686
686
|
};
|
|
687
687
|
}
|
|
688
688
|
function parseKTX2File(KTX2File, data, options) {
|
|
689
689
|
const ktx2File = new KTX2File(new Uint8Array(data));
|
|
690
690
|
try {
|
|
691
691
|
if (!ktx2File.startTranscoding()) {
|
|
692
|
-
|
|
692
|
+
throw new Error("failed to start KTX2 transcoding");
|
|
693
693
|
}
|
|
694
694
|
const levelsCount = ktx2File.getLevels();
|
|
695
695
|
const levels = [];
|
|
@@ -697,7 +697,7 @@
|
|
|
697
697
|
levels.push(transcodeKTX2Image(ktx2File, levelIndex, options));
|
|
698
698
|
break;
|
|
699
699
|
}
|
|
700
|
-
return levels;
|
|
700
|
+
return [levels];
|
|
701
701
|
} finally {
|
|
702
702
|
ktx2File.close();
|
|
703
703
|
ktx2File.delete();
|
|
@@ -709,14 +709,14 @@
|
|
|
709
709
|
const decodedSize = ktx2File.getImageTranscodedSizeInBytes(levelIndex, 0, 0, basisFormat);
|
|
710
710
|
const decodedData = new Uint8Array(decodedSize);
|
|
711
711
|
if (!ktx2File.transcodeImage(decodedData, levelIndex, 0, 0, basisFormat, 0, -1, -1)) {
|
|
712
|
-
|
|
712
|
+
throw new Error("Failed to transcode KTX2 image");
|
|
713
713
|
}
|
|
714
714
|
return {
|
|
715
715
|
width,
|
|
716
716
|
height,
|
|
717
717
|
data: decodedData,
|
|
718
718
|
compressed,
|
|
719
|
-
alphaFlag,
|
|
719
|
+
hasAlpha: alphaFlag,
|
|
720
720
|
format
|
|
721
721
|
};
|
|
722
722
|
}
|
|
@@ -1250,7 +1250,7 @@
|
|
|
1250
1250
|
containerFormat: "ktx2",
|
|
1251
1251
|
module: "encoder"
|
|
1252
1252
|
};
|
|
1253
|
-
return await parseBasis(arrayBuffer, options);
|
|
1253
|
+
return (await parseBasis(arrayBuffer, options))[0];
|
|
1254
1254
|
}
|
|
1255
1255
|
return parseCompressedTexture(arrayBuffer);
|
|
1256
1256
|
}
|
|
@@ -67,7 +67,7 @@ var CompressedTextureLoader = _objectSpread(_objectSpread({}, CompressedTextureW
|
|
|
67
67
|
return (0, _parseBasis.default)(arrayBuffer, options);
|
|
68
68
|
|
|
69
69
|
case 4:
|
|
70
|
-
return _context.abrupt("return", _context.sent);
|
|
70
|
+
return _context.abrupt("return", _context.sent[0]);
|
|
71
71
|
|
|
72
72
|
case 5:
|
|
73
73
|
return _context.abrupt("return", (0, _parseCompressedTexture.parseCompressedTexture)(arrayBuffer));
|