@loaders.gl/textures 4.0.0-beta.2 → 4.0.0-beta.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/{esm/basis-loader.js → basis-loader.js} +2 -2
- package/dist/basis-loader.js.map +1 -0
- package/dist/basis-worker-node.js +5203 -3479
- package/dist/basis-worker.js +105 -31
- package/dist/{esm/compressed-texture-loader.js → compressed-texture-loader.js} +3 -3
- package/dist/compressed-texture-loader.js.map +1 -0
- package/dist/compressed-texture-worker.js +158 -34
- package/dist/{esm/compressed-texture-writer.js → compressed-texture-writer.js} +2 -2
- package/dist/compressed-texture-writer.js.map +1 -0
- package/dist/{esm/crunch-loader.js → crunch-loader.js} +1 -1
- package/dist/crunch-loader.js.map +1 -0
- package/dist/crunch-worker.js +60 -26
- package/dist/{dist.min.js → dist.dev.js} +953 -1100
- package/dist/index.cjs +1360 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -0
- package/dist/ktx2-basis-writer-worker-node.js +4887 -3214
- package/dist/ktx2-basis-writer-worker.js +52 -26
- package/dist/{esm/ktx2-basis-writer.js → ktx2-basis-writer.js} +2 -2
- package/dist/ktx2-basis-writer.js.map +1 -0
- package/dist/lib/encoders/encode-ktx.js.map +1 -0
- package/dist/{esm/lib → lib}/encoders/encode-ktx2-basis-texture.js +1 -1
- package/dist/lib/encoders/encode-ktx2-basis-texture.js.map +1 -0
- package/dist/lib/encoders/encode-texture.js.map +1 -0
- package/dist/lib/gl-extensions.js.map +1 -0
- package/dist/lib/parsers/basis-module-loader.js.map +1 -0
- package/dist/lib/parsers/crunch-module-loader.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/parse-basis.js +4 -4
- package/dist/lib/parsers/parse-basis.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/parse-compressed-texture.js +3 -3
- package/dist/lib/parsers/parse-compressed-texture.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/parse-crunch.js +4 -4
- package/dist/lib/parsers/parse-crunch.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/parse-dds.js +3 -3
- package/dist/lib/parsers/parse-dds.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/parse-ktx.js +2 -2
- package/dist/lib/parsers/parse-ktx.js.map +1 -0
- package/dist/lib/parsers/parse-npy.d.ts.map +1 -1
- package/dist/{esm/lib → lib}/parsers/parse-npy.js +1 -1
- package/dist/lib/parsers/parse-npy.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/parse-pvr.js +2 -2
- package/dist/lib/parsers/parse-pvr.js.map +1 -0
- package/dist/lib/texture-api/async-deep-map.js.map +1 -0
- package/dist/{esm/lib → lib}/texture-api/deep-load.js +1 -1
- package/dist/lib/texture-api/deep-load.js.map +1 -0
- package/dist/{esm/lib → lib}/texture-api/generate-url.js +1 -1
- package/dist/lib/texture-api/generate-url.js.map +1 -0
- package/dist/{esm/lib → lib}/texture-api/load-image-array.js +2 -2
- package/dist/lib/texture-api/load-image-array.js.map +1 -0
- package/dist/{esm/lib → lib}/texture-api/load-image-cube.js +2 -2
- package/dist/lib/texture-api/load-image-cube.js.map +1 -0
- package/dist/{esm/lib → lib}/texture-api/load-image.js +2 -2
- package/dist/lib/texture-api/load-image.js.map +1 -0
- package/dist/lib/texture-api/texture-api-types.js.map +1 -0
- package/dist/lib/utils/extract-mipmap-images.js.map +1 -0
- package/dist/{esm/lib → lib}/utils/ktx-format-helper.js +1 -1
- package/dist/lib/utils/ktx-format-helper.js.map +1 -0
- package/dist/{esm/lib → lib}/utils/texture-formats.js +1 -1
- package/dist/lib/utils/texture-formats.js.map +1 -0
- package/dist/lib/utils/version.js +2 -0
- package/dist/lib/utils/version.js.map +1 -0
- package/dist/libs/basis_encoder.js +5435 -19
- package/dist/libs/basis_encoder.js.map +1 -0
- package/dist/libs/basis_transcoder.js +2523 -20
- package/dist/libs/basis_transcoder.js.map +1 -0
- package/dist/libs/crunch.js +10043 -129
- package/dist/libs/crunch.js.map +1 -0
- package/dist/{esm/npy-loader.js → npy-loader.js} +2 -2
- package/dist/npy-loader.js.map +1 -0
- package/dist/npy-worker.js +17 -4
- package/dist/types.js.map +1 -0
- package/dist/{esm/workers → workers}/basis-worker-node.js +1 -1
- package/dist/workers/basis-worker-node.js.map +1 -0
- package/dist/{esm/workers → workers}/basis-worker.js +1 -1
- package/dist/workers/basis-worker.js.map +1 -0
- package/dist/workers/compressed-texture-worker.js +4 -0
- package/dist/workers/compressed-texture-worker.js.map +1 -0
- package/dist/{esm/workers → workers}/crunch-worker.js +2 -2
- package/dist/workers/crunch-worker.js.map +1 -0
- package/dist/{esm/workers → workers}/ktx2-basis-writer-worker-node.js +1 -1
- package/dist/workers/ktx2-basis-writer-worker-node.js.map +1 -0
- package/dist/{esm/workers → workers}/ktx2-basis-writer-worker.js +1 -1
- package/dist/workers/ktx2-basis-writer-worker.js.map +1 -0
- package/dist/{esm/workers → workers}/npy-worker.js +1 -1
- package/dist/workers/npy-worker.js.map +1 -0
- package/package.json +19 -11
- package/src/lib/parsers/parse-npy.ts +0 -2
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/es5/basis-loader.js +0 -37
- package/dist/es5/basis-loader.js.map +0 -1
- package/dist/es5/bundle.js +0 -6
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/compressed-texture-loader.js +0 -74
- package/dist/es5/compressed-texture-loader.js.map +0 -1
- package/dist/es5/compressed-texture-writer.js +0 -28
- package/dist/es5/compressed-texture-writer.js.map +0 -1
- package/dist/es5/crunch-loader.js +0 -24
- package/dist/es5/crunch-loader.js.map +0 -1
- package/dist/es5/index.js +0 -145
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/ktx2-basis-writer.js +0 -26
- package/dist/es5/ktx2-basis-writer.js.map +0 -1
- package/dist/es5/lib/encoders/encode-ktx.js +0 -12
- package/dist/es5/lib/encoders/encode-ktx.js.map +0 -1
- package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js +0 -75
- package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js.map +0 -1
- package/dist/es5/lib/encoders/encode-texture.js +0 -38
- package/dist/es5/lib/encoders/encode-texture.js.map +0 -1
- package/dist/es5/lib/gl-extensions.js +0 -68
- package/dist/es5/lib/gl-extensions.js.map +0 -1
- package/dist/es5/lib/parsers/basis-module-loader.js +0 -199
- package/dist/es5/lib/parsers/basis-module-loader.js.map +0 -1
- package/dist/es5/lib/parsers/crunch-module-loader.js +0 -72
- package/dist/es5/lib/parsers/crunch-module-loader.js.map +0 -1
- package/dist/es5/lib/parsers/parse-basis.js +0 -270
- package/dist/es5/lib/parsers/parse-basis.js.map +0 -1
- package/dist/es5/lib/parsers/parse-compressed-texture.js +0 -22
- package/dist/es5/lib/parsers/parse-compressed-texture.js.map +0 -1
- package/dist/es5/lib/parsers/parse-crunch.js +0 -100
- package/dist/es5/lib/parsers/parse-crunch.js.map +0 -1
- package/dist/es5/lib/parsers/parse-dds.js +0 -84
- package/dist/es5/lib/parsers/parse-dds.js.map +0 -1
- package/dist/es5/lib/parsers/parse-ktx.js +0 -34
- package/dist/es5/lib/parsers/parse-ktx.js.map +0 -1
- package/dist/es5/lib/parsers/parse-npy.js +0 -70
- package/dist/es5/lib/parsers/parse-npy.js.map +0 -1
- package/dist/es5/lib/parsers/parse-pvr.js +0 -161
- package/dist/es5/lib/parsers/parse-pvr.js.map +0 -1
- package/dist/es5/lib/texture-api/async-deep-map.js +0 -156
- package/dist/es5/lib/texture-api/async-deep-map.js.map +0 -1
- package/dist/es5/lib/texture-api/deep-load.js +0 -63
- package/dist/es5/lib/texture-api/deep-load.js.map +0 -1
- package/dist/es5/lib/texture-api/generate-url.js +0 -20
- package/dist/es5/lib/texture-api/generate-url.js.map +0 -1
- package/dist/es5/lib/texture-api/load-image-array.js +0 -75
- package/dist/es5/lib/texture-api/load-image-array.js.map +0 -1
- package/dist/es5/lib/texture-api/load-image-cube.js +0 -136
- package/dist/es5/lib/texture-api/load-image-cube.js.map +0 -1
- package/dist/es5/lib/texture-api/load-image.js +0 -129
- package/dist/es5/lib/texture-api/load-image.js.map +0 -1
- package/dist/es5/lib/texture-api/texture-api-types.js +0 -2
- package/dist/es5/lib/texture-api/texture-api-types.js.map +0 -1
- package/dist/es5/lib/utils/extract-mipmap-images.js +0 -41
- package/dist/es5/lib/utils/extract-mipmap-images.js.map +0 -1
- package/dist/es5/lib/utils/ktx-format-helper.js +0 -79
- package/dist/es5/lib/utils/ktx-format-helper.js.map +0 -1
- package/dist/es5/lib/utils/texture-formats.js +0 -54
- package/dist/es5/lib/utils/texture-formats.js.map +0 -1
- package/dist/es5/lib/utils/version.js +0 -9
- package/dist/es5/lib/utils/version.js.map +0 -1
- package/dist/es5/npy-loader.js +0 -51
- package/dist/es5/npy-loader.js.map +0 -1
- package/dist/es5/types.js +0 -2
- package/dist/es5/types.js.map +0 -1
- package/dist/es5/workers/basis-worker-node.js +0 -7
- package/dist/es5/workers/basis-worker-node.js.map +0 -1
- package/dist/es5/workers/basis-worker.js +0 -6
- package/dist/es5/workers/basis-worker.js.map +0 -1
- package/dist/es5/workers/compressed-texture-worker.js +0 -6
- package/dist/es5/workers/compressed-texture-worker.js.map +0 -1
- package/dist/es5/workers/crunch-worker.js +0 -19
- package/dist/es5/workers/crunch-worker.js.map +0 -1
- package/dist/es5/workers/ktx2-basis-writer-worker-node.js +0 -54
- package/dist/es5/workers/ktx2-basis-writer-worker-node.js.map +0 -1
- package/dist/es5/workers/ktx2-basis-writer-worker.js +0 -53
- package/dist/es5/workers/ktx2-basis-writer-worker.js.map +0 -1
- package/dist/es5/workers/npy-worker.js +0 -6
- package/dist/es5/workers/npy-worker.js.map +0 -1
- package/dist/esm/basis-loader.js.map +0 -1
- package/dist/esm/bundle.js +0 -4
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/compressed-texture-loader.js.map +0 -1
- package/dist/esm/compressed-texture-writer.js.map +0 -1
- package/dist/esm/crunch-loader.js.map +0 -1
- package/dist/esm/index.js +0 -31
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/ktx2-basis-writer.js.map +0 -1
- package/dist/esm/lib/encoders/encode-ktx.js.map +0 -1
- package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js.map +0 -1
- package/dist/esm/lib/encoders/encode-texture.js.map +0 -1
- package/dist/esm/lib/gl-extensions.js.map +0 -1
- package/dist/esm/lib/parsers/basis-module-loader.js.map +0 -1
- package/dist/esm/lib/parsers/crunch-module-loader.js.map +0 -1
- package/dist/esm/lib/parsers/parse-basis.js.map +0 -1
- package/dist/esm/lib/parsers/parse-compressed-texture.js.map +0 -1
- package/dist/esm/lib/parsers/parse-crunch.js.map +0 -1
- package/dist/esm/lib/parsers/parse-dds.js.map +0 -1
- package/dist/esm/lib/parsers/parse-ktx.js.map +0 -1
- package/dist/esm/lib/parsers/parse-npy.js.map +0 -1
- package/dist/esm/lib/parsers/parse-pvr.js.map +0 -1
- package/dist/esm/lib/texture-api/async-deep-map.js.map +0 -1
- package/dist/esm/lib/texture-api/deep-load.js.map +0 -1
- package/dist/esm/lib/texture-api/generate-url.js.map +0 -1
- package/dist/esm/lib/texture-api/load-image-array.js.map +0 -1
- package/dist/esm/lib/texture-api/load-image-cube.js.map +0 -1
- package/dist/esm/lib/texture-api/load-image.js.map +0 -1
- package/dist/esm/lib/texture-api/texture-api-types.js.map +0 -1
- package/dist/esm/lib/utils/extract-mipmap-images.js.map +0 -1
- package/dist/esm/lib/utils/ktx-format-helper.js.map +0 -1
- package/dist/esm/lib/utils/texture-formats.js.map +0 -1
- package/dist/esm/lib/utils/version.js +0 -2
- package/dist/esm/lib/utils/version.js.map +0 -1
- package/dist/esm/libs/README.md +0 -9
- package/dist/esm/libs/basis_encoder.js +0 -21
- package/dist/esm/libs/basis_encoder.wasm +0 -0
- package/dist/esm/libs/basis_transcoder.js +0 -22
- package/dist/esm/libs/basis_transcoder.wasm +0 -0
- package/dist/esm/libs/crunch.js +0 -136
- package/dist/esm/npy-loader.js.map +0 -1
- package/dist/esm/types.js.map +0 -1
- package/dist/esm/workers/basis-worker-node.js.map +0 -1
- package/dist/esm/workers/basis-worker.js.map +0 -1
- package/dist/esm/workers/compressed-texture-worker.js +0 -4
- package/dist/esm/workers/compressed-texture-worker.js.map +0 -1
- package/dist/esm/workers/crunch-worker.js.map +0 -1
- package/dist/esm/workers/ktx2-basis-writer-worker-node.js.map +0 -1
- package/dist/esm/workers/ktx2-basis-writer-worker.js.map +0 -1
- package/dist/esm/workers/npy-worker.js.map +0 -1
- package/src/bundle.ts +0 -4
- /package/dist/{esm/lib → lib}/encoders/encode-ktx.js +0 -0
- /package/dist/{esm/lib → lib}/encoders/encode-texture.js +0 -0
- /package/dist/{esm/lib → lib}/gl-extensions.js +0 -0
- /package/dist/{esm/lib → lib}/parsers/basis-module-loader.js +0 -0
- /package/dist/{esm/lib → lib}/parsers/crunch-module-loader.js +0 -0
- /package/dist/{esm/lib → lib}/texture-api/async-deep-map.js +0 -0
- /package/dist/{esm/lib → lib}/texture-api/texture-api-types.js +0 -0
- /package/dist/{esm/lib → lib}/utils/extract-mipmap-images.js +0 -0
- /package/dist/{es5 → libs}/libs/README.md +0 -0
- /package/dist/{es5 → libs}/libs/basis_encoder.js +0 -0
- /package/dist/{es5 → libs}/libs/basis_encoder.wasm +0 -0
- /package/dist/{es5 → libs}/libs/basis_transcoder.js +0 -0
- /package/dist/{es5 → libs}/libs/basis_transcoder.wasm +0 -0
- /package/dist/{es5 → libs}/libs/crunch.js +0 -0
- /package/dist/{esm/types.js → types.js} +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
(() => {
|
|
2
3
|
var __create = Object.create;
|
|
3
4
|
var __defProp = Object.defineProperty;
|
|
@@ -5,25 +6,30 @@
|
|
|
5
6
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
7
|
var __getProtoOf = Object.getPrototypeOf;
|
|
7
8
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
9
9
|
var __commonJS = (cb, mod) => function __require() {
|
|
10
|
-
return mod || (0, cb[
|
|
10
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
11
11
|
};
|
|
12
|
-
var
|
|
13
|
-
if (
|
|
14
|
-
for (let key of __getOwnPropNames(
|
|
15
|
-
if (!__hasOwnProp.call(
|
|
16
|
-
__defProp(
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
17
|
}
|
|
18
|
-
return
|
|
19
|
-
};
|
|
20
|
-
var __toModule = (module) => {
|
|
21
|
-
return __reExport(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? { get: () => module.default, enumerable: true } : { value: module, enumerable: true })), module);
|
|
18
|
+
return to;
|
|
22
19
|
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
23
28
|
|
|
24
29
|
// (disabled):../worker-utils/src/lib/node/require-utils.node
|
|
25
30
|
var require_require_utils = __commonJS({
|
|
26
31
|
"(disabled):../worker-utils/src/lib/node/require-utils.node"() {
|
|
32
|
+
"use strict";
|
|
27
33
|
}
|
|
28
34
|
});
|
|
29
35
|
|
|
@@ -39,10 +45,12 @@
|
|
|
39
45
|
if (!globalThis._loadersgl_?.version) {
|
|
40
46
|
globalThis._loadersgl_ = globalThis._loadersgl_ || {};
|
|
41
47
|
if (false) {
|
|
42
|
-
console.error(
|
|
48
|
+
console.error(
|
|
49
|
+
"loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN."
|
|
50
|
+
);
|
|
43
51
|
globalThis._loadersgl_.version = NPM_TAG;
|
|
44
52
|
} else {
|
|
45
|
-
globalThis._loadersgl_.version = "4.0.0-beta.
|
|
53
|
+
globalThis._loadersgl_.version = "4.0.0-beta.3";
|
|
46
54
|
}
|
|
47
55
|
}
|
|
48
56
|
return globalThis._loadersgl_.version;
|
|
@@ -67,7 +75,10 @@
|
|
|
67
75
|
var window_ = globals.window || globals.self || globals.global || {};
|
|
68
76
|
var global_ = globals.global || globals.self || globals.window || {};
|
|
69
77
|
var document_ = globals.document || {};
|
|
70
|
-
var isBrowser =
|
|
78
|
+
var isBrowser = (
|
|
79
|
+
// @ts-ignore process.browser
|
|
80
|
+
typeof process !== "object" || String(process) !== "[object process]" || process.browser
|
|
81
|
+
);
|
|
71
82
|
var isWorker = typeof importScripts === "function";
|
|
72
83
|
var isMobile = typeof window !== "undefined" && typeof window.orientation !== "undefined";
|
|
73
84
|
var matches = typeof process !== "undefined" && process.version && /v([0-9]*)/.exec(process.version);
|
|
@@ -75,7 +86,7 @@
|
|
|
75
86
|
|
|
76
87
|
// ../worker-utils/src/lib/worker-utils/get-transfer-list.ts
|
|
77
88
|
function getTransferList(object, recursive = true, transfers) {
|
|
78
|
-
const transfersSet = transfers || new Set();
|
|
89
|
+
const transfersSet = transfers || /* @__PURE__ */ new Set();
|
|
79
90
|
if (!object) {
|
|
80
91
|
} else if (isTransferable(object)) {
|
|
81
92
|
transfersSet.add(object);
|
|
@@ -118,11 +129,15 @@
|
|
|
118
129
|
}
|
|
119
130
|
return parentPort;
|
|
120
131
|
}
|
|
121
|
-
var onMessageWrapperMap = new Map();
|
|
132
|
+
var onMessageWrapperMap = /* @__PURE__ */ new Map();
|
|
122
133
|
var WorkerBody = class {
|
|
134
|
+
/** Check that we are actually in a worker thread */
|
|
123
135
|
static inWorkerThread() {
|
|
124
136
|
return typeof self !== "undefined" || Boolean(getParentPort());
|
|
125
137
|
}
|
|
138
|
+
/*
|
|
139
|
+
* (type: WorkerMessageType, payload: WorkerMessagePayload) => any
|
|
140
|
+
*/
|
|
126
141
|
static set onmessage(onMessage) {
|
|
127
142
|
function handleMessage(message) {
|
|
128
143
|
const parentPort3 = getParentPort();
|
|
@@ -166,6 +181,11 @@
|
|
|
166
181
|
globalThis.removeEventListener("message", onMessageWrapper);
|
|
167
182
|
}
|
|
168
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* Send a message from a worker to creating thread (main thread)
|
|
186
|
+
* @param type
|
|
187
|
+
* @param payload
|
|
188
|
+
*/
|
|
169
189
|
static postMessage(type, payload) {
|
|
170
190
|
const data = { source: "loaders.gl", type, payload };
|
|
171
191
|
const transferList = getTransferList(payload);
|
|
@@ -183,13 +203,14 @@
|
|
|
183
203
|
}
|
|
184
204
|
|
|
185
205
|
// ../worker-utils/src/lib/library-utils/library-utils.ts
|
|
186
|
-
var node =
|
|
206
|
+
var node = __toESM(require_require_utils(), 1);
|
|
187
207
|
var loadLibraryPromises = {};
|
|
188
208
|
async function loadLibrary(libraryUrl, moduleName = null, options = {}, libraryName = null) {
|
|
189
209
|
if (moduleName) {
|
|
190
210
|
libraryUrl = getLibraryUrl(libraryUrl, moduleName, options, libraryName);
|
|
191
211
|
}
|
|
192
|
-
loadLibraryPromises[libraryUrl] =
|
|
212
|
+
loadLibraryPromises[libraryUrl] = // eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
213
|
+
loadLibraryPromises[libraryUrl] || loadLibraryFromFile(libraryUrl);
|
|
193
214
|
return await loadLibraryPromises[libraryUrl];
|
|
194
215
|
}
|
|
195
216
|
function getLibraryUrl(library, moduleName, options = {}, libraryName = null) {
|
|
@@ -219,8 +240,9 @@
|
|
|
219
240
|
}
|
|
220
241
|
if (!isBrowser) {
|
|
221
242
|
try {
|
|
222
|
-
return node &&
|
|
223
|
-
} catch {
|
|
243
|
+
return node && void 0 && await (void 0)(libraryUrl);
|
|
244
|
+
} catch (error) {
|
|
245
|
+
console.error(error);
|
|
224
246
|
return null;
|
|
225
247
|
}
|
|
226
248
|
}
|
|
@@ -232,7 +254,7 @@
|
|
|
232
254
|
}
|
|
233
255
|
function loadLibraryFromString(scriptSource, id) {
|
|
234
256
|
if (!isBrowser) {
|
|
235
|
-
return
|
|
257
|
+
return void 0 && (void 0)(scriptSource, id);
|
|
236
258
|
}
|
|
237
259
|
if (isWorker) {
|
|
238
260
|
eval.call(global_, scriptSource);
|
|
@@ -249,18 +271,18 @@
|
|
|
249
271
|
return null;
|
|
250
272
|
}
|
|
251
273
|
async function loadAsArrayBuffer(url) {
|
|
252
|
-
if (!
|
|
274
|
+
if (!void 0 || url.startsWith("http")) {
|
|
253
275
|
const response = await fetch(url);
|
|
254
276
|
return await response.arrayBuffer();
|
|
255
277
|
}
|
|
256
|
-
return await
|
|
278
|
+
return await (void 0)(url);
|
|
257
279
|
}
|
|
258
280
|
async function loadAsText(url) {
|
|
259
|
-
if (!
|
|
281
|
+
if (!void 0 || url.startsWith("http")) {
|
|
260
282
|
const response = await fetch(url);
|
|
261
283
|
return await response.text();
|
|
262
284
|
}
|
|
263
|
-
return await
|
|
285
|
+
return await (void 0)(url);
|
|
264
286
|
}
|
|
265
287
|
|
|
266
288
|
// ../loader-utils/src/lib/worker-loader-utils/create-loader-worker.ts
|
|
@@ -278,6 +300,7 @@
|
|
|
278
300
|
loader,
|
|
279
301
|
arrayBuffer: input,
|
|
280
302
|
options,
|
|
303
|
+
// @ts-expect-error fetch missing
|
|
281
304
|
context: {
|
|
282
305
|
...context,
|
|
283
306
|
_parse: parseOnMainThread
|
|
@@ -344,7 +367,7 @@
|
|
|
344
367
|
}
|
|
345
368
|
|
|
346
369
|
// src/lib/utils/version.ts
|
|
347
|
-
var VERSION2 = true ? "4.0.0-beta.
|
|
370
|
+
var VERSION2 = true ? "4.0.0-beta.3" : "beta";
|
|
348
371
|
|
|
349
372
|
// ../../node_modules/ktx-parse/dist/ktx-parse.modern.js
|
|
350
373
|
var t = new Uint8Array([0]);
|
|
@@ -411,7 +434,7 @@
|
|
|
411
434
|
}
|
|
412
435
|
};
|
|
413
436
|
function _(t2) {
|
|
414
|
-
return typeof TextDecoder
|
|
437
|
+
return "undefined" != typeof TextDecoder ? new TextDecoder().decode(t2) : Buffer.from(t2).toString("utf8");
|
|
415
438
|
}
|
|
416
439
|
function p(t2) {
|
|
417
440
|
const n2 = new Uint8Array(t2.buffer, t2.byteOffset, e.length);
|
|
@@ -480,10 +503,12 @@
|
|
|
480
503
|
|
|
481
504
|
// src/lib/gl-extensions.ts
|
|
482
505
|
var GL_EXTENSIONS_CONSTANTS = {
|
|
506
|
+
// WEBGL_compressed_texture_s3tc
|
|
483
507
|
COMPRESSED_RGB_S3TC_DXT1_EXT: 33776,
|
|
484
508
|
COMPRESSED_RGBA_S3TC_DXT1_EXT: 33777,
|
|
485
509
|
COMPRESSED_RGBA_S3TC_DXT3_EXT: 33778,
|
|
486
510
|
COMPRESSED_RGBA_S3TC_DXT5_EXT: 33779,
|
|
511
|
+
// WEBGL_compressed_texture_es3
|
|
487
512
|
COMPRESSED_R11_EAC: 37488,
|
|
488
513
|
COMPRESSED_SIGNED_R11_EAC: 37489,
|
|
489
514
|
COMPRESSED_RG11_EAC: 37490,
|
|
@@ -494,14 +519,18 @@
|
|
|
494
519
|
COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 37495,
|
|
495
520
|
COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37496,
|
|
496
521
|
COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37497,
|
|
522
|
+
// WEBGL_compressed_texture_pvrtc
|
|
497
523
|
COMPRESSED_RGB_PVRTC_4BPPV1_IMG: 35840,
|
|
498
524
|
COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: 35842,
|
|
499
525
|
COMPRESSED_RGB_PVRTC_2BPPV1_IMG: 35841,
|
|
500
526
|
COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: 35843,
|
|
527
|
+
// WEBGL_compressed_texture_etc1
|
|
501
528
|
COMPRESSED_RGB_ETC1_WEBGL: 36196,
|
|
529
|
+
// WEBGL_compressed_texture_atc
|
|
502
530
|
COMPRESSED_RGB_ATC_WEBGL: 35986,
|
|
503
531
|
COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL: 35987,
|
|
504
532
|
COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL: 34798,
|
|
533
|
+
// WEBGL_compressed_texture_astc
|
|
505
534
|
COMPRESSED_RGBA_ASTC_4X4_KHR: 37808,
|
|
506
535
|
COMPRESSED_RGBA_ASTC_5X4_KHR: 37809,
|
|
507
536
|
COMPRESSED_RGBA_ASTC_5X5_KHR: 37810,
|
|
@@ -530,10 +559,12 @@
|
|
|
530
559
|
COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR: 37851,
|
|
531
560
|
COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR: 37852,
|
|
532
561
|
COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR: 37853,
|
|
562
|
+
// EXT_texture_compression_rgtc
|
|
533
563
|
COMPRESSED_RED_RGTC1_EXT: 36283,
|
|
534
564
|
COMPRESSED_SIGNED_RED_RGTC1_EXT: 36284,
|
|
535
565
|
COMPRESSED_RED_GREEN_RGTC2_EXT: 36285,
|
|
536
566
|
COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: 36286,
|
|
567
|
+
// WEBGL_compressed_texture_s3tc_srgb
|
|
537
568
|
COMPRESSED_SRGB_S3TC_DXT1_EXT: 35916,
|
|
538
569
|
COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: 35917,
|
|
539
570
|
COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: 35918,
|
|
@@ -564,49 +595,91 @@
|
|
|
564
595
|
154: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_R11_EAC,
|
|
565
596
|
155: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC,
|
|
566
597
|
156: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RG11_EAC,
|
|
598
|
+
// @ts-ignore
|
|
567
599
|
157: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
|
|
600
|
+
// @ts-ignore
|
|
568
601
|
158: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
|
|
602
|
+
// @ts-ignore
|
|
569
603
|
159: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
|
|
604
|
+
// @ts-ignore
|
|
570
605
|
160: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,
|
|
606
|
+
// @ts-ignore
|
|
571
607
|
161: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
|
|
608
|
+
// @ts-ignore
|
|
572
609
|
162: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
|
|
610
|
+
// @ts-ignore
|
|
573
611
|
163: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
|
|
612
|
+
// @ts-ignore
|
|
574
613
|
164: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
|
|
614
|
+
// @ts-ignore
|
|
575
615
|
165: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
|
|
616
|
+
// @ts-ignore
|
|
576
617
|
166: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
|
|
618
|
+
// @ts-ignore
|
|
577
619
|
167: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
|
|
620
|
+
// @ts-ignore
|
|
578
621
|
168: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
|
|
622
|
+
// @ts-ignore
|
|
579
623
|
169: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
|
|
624
|
+
// @ts-ignore
|
|
580
625
|
170: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
|
|
626
|
+
// @ts-ignore
|
|
581
627
|
171: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
|
|
628
|
+
// @ts-ignore
|
|
582
629
|
172: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
|
|
630
|
+
// @ts-ignore
|
|
583
631
|
173: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
|
|
632
|
+
// @ts-ignore
|
|
584
633
|
174: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
|
|
634
|
+
// @ts-ignore
|
|
585
635
|
175: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
|
|
636
|
+
// @ts-ignore
|
|
586
637
|
176: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
|
|
638
|
+
// @ts-ignore
|
|
587
639
|
177: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
|
|
640
|
+
// @ts-ignore
|
|
588
641
|
178: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
|
|
642
|
+
// @ts-ignore
|
|
589
643
|
179: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
|
|
644
|
+
// @ts-ignore
|
|
590
645
|
180: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
|
|
646
|
+
// @ts-ignore
|
|
591
647
|
181: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
|
|
648
|
+
// @ts-ignore
|
|
592
649
|
182: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
|
|
650
|
+
// @ts-ignore
|
|
593
651
|
183: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR,
|
|
652
|
+
// @ts-ignore
|
|
594
653
|
184: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
|
|
595
654
|
1000054e3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
|
|
596
655
|
1000054001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
|
|
656
|
+
// @ts-ignore
|
|
597
657
|
1000066e3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
|
|
658
|
+
// @ts-ignore
|
|
598
659
|
1000066001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
|
|
660
|
+
// @ts-ignore
|
|
599
661
|
1000066002: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
|
|
662
|
+
// @ts-ignore
|
|
600
663
|
1000066003: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
|
|
664
|
+
// @ts-ignore
|
|
601
665
|
1000066004: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
|
|
666
|
+
// @ts-ignore
|
|
602
667
|
1000066005: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
|
|
668
|
+
// @ts-ignore
|
|
603
669
|
1000066006: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
|
|
670
|
+
// @ts-ignore
|
|
604
671
|
1000066007: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
|
|
672
|
+
// @ts-ignore
|
|
605
673
|
1000066008: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
|
|
674
|
+
// @ts-ignore
|
|
606
675
|
1000066009: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
|
|
676
|
+
// @ts-ignore
|
|
607
677
|
1000066010: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
|
|
678
|
+
// @ts-ignore
|
|
608
679
|
1000066011: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
|
|
680
|
+
// @ts-ignore
|
|
609
681
|
1000066012: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
|
|
682
|
+
// @ts-ignore
|
|
610
683
|
1000066013: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR
|
|
611
684
|
};
|
|
612
685
|
function mapVkFormatToWebGL(vkFormat) {
|
|
@@ -615,6 +688,7 @@
|
|
|
615
688
|
|
|
616
689
|
// src/lib/parsers/parse-ktx.ts
|
|
617
690
|
var KTX2_ID = [
|
|
691
|
+
// '´', 'K', 'T', 'X', '2', '0', 'ª', '\r', '\n', '\x1A', '\n'
|
|
618
692
|
171,
|
|
619
693
|
75,
|
|
620
694
|
84,
|
|
@@ -630,7 +704,18 @@
|
|
|
630
704
|
];
|
|
631
705
|
function isKTX(data) {
|
|
632
706
|
const id = new Uint8Array(data);
|
|
633
|
-
const notKTX = id.byteLength < KTX2_ID.length || id[0] !== KTX2_ID[0] ||
|
|
707
|
+
const notKTX = id.byteLength < KTX2_ID.length || id[0] !== KTX2_ID[0] || // '´'
|
|
708
|
+
id[1] !== KTX2_ID[1] || // 'K'
|
|
709
|
+
id[2] !== KTX2_ID[2] || // 'T'
|
|
710
|
+
id[3] !== KTX2_ID[3] || // 'X'
|
|
711
|
+
id[4] !== KTX2_ID[4] || // ' '
|
|
712
|
+
id[5] !== KTX2_ID[5] || // '2'
|
|
713
|
+
id[6] !== KTX2_ID[6] || // '0'
|
|
714
|
+
id[7] !== KTX2_ID[7] || // 'ª'
|
|
715
|
+
id[8] !== KTX2_ID[8] || // '\r'
|
|
716
|
+
id[9] !== KTX2_ID[9] || // '\n'
|
|
717
|
+
id[10] !== KTX2_ID[10] || // '\x1A'
|
|
718
|
+
id[11] !== KTX2_ID[11];
|
|
634
719
|
return !notKTX;
|
|
635
720
|
}
|
|
636
721
|
function parseKTX(arrayBuffer) {
|
|
@@ -691,7 +776,10 @@
|
|
|
691
776
|
function parseDDS(data) {
|
|
692
777
|
const header = new Int32Array(data, 0, DDS_CONSTANTS.HEADER_LENGTH);
|
|
693
778
|
const pixelFormatNumber = header[DDS_CONSTANTS.HEADER_PF_FOURCC_INDEX];
|
|
694
|
-
assert(
|
|
779
|
+
assert(
|
|
780
|
+
Boolean(header[DDS_CONSTANTS.HEADER_PF_FLAGS_INDEX] & DDS_CONSTANTS.DDPF_FOURCC),
|
|
781
|
+
"DDS: Unsupported format, must contain a FourCC code"
|
|
782
|
+
);
|
|
695
783
|
const fourCC = int32ToFourCC(pixelFormatNumber);
|
|
696
784
|
const internalFormat = DDS_PIXEL_FORMATS[fourCC];
|
|
697
785
|
const sizeFunction = DDS_SIZE_FUNCTIONS[fourCC];
|
|
@@ -719,7 +807,12 @@
|
|
|
719
807
|
return (width + 3 >> 2) * (height + 3 >> 2) * 16;
|
|
720
808
|
}
|
|
721
809
|
function int32ToFourCC(value) {
|
|
722
|
-
return String.fromCharCode(
|
|
810
|
+
return String.fromCharCode(
|
|
811
|
+
value & 255,
|
|
812
|
+
value >> 8 & 255,
|
|
813
|
+
value >> 16 & 255,
|
|
814
|
+
value >> 24 & 255
|
|
815
|
+
);
|
|
723
816
|
}
|
|
724
817
|
|
|
725
818
|
// src/lib/parsers/parse-pvr.ts
|
|
@@ -933,9 +1026,13 @@
|
|
|
933
1026
|
|
|
934
1027
|
// src/lib/parsers/basis-module-loader.ts
|
|
935
1028
|
var BASIS_EXTERNAL_LIBRARIES = {
|
|
1029
|
+
/** Basis transcoder, javascript wrapper part */
|
|
936
1030
|
TRANSCODER: "basis_transcoder.js",
|
|
1031
|
+
/** Basis transcoder, compiled web assembly part */
|
|
937
1032
|
TRANSCODER_WASM: "basis_transcoder.wasm",
|
|
1033
|
+
/** Basis encoder, javascript wrapper part */
|
|
938
1034
|
ENCODER: "basis_encoder.js",
|
|
1035
|
+
/** Basis encoder, compiled web assembly part */
|
|
939
1036
|
ENCODER_WASM: "basis_encoder.wasm"
|
|
940
1037
|
};
|
|
941
1038
|
var loadBasisTranscoderPromise;
|
|
@@ -1006,6 +1103,7 @@
|
|
|
1006
1103
|
// src/lib/utils/texture-formats.ts
|
|
1007
1104
|
var BROWSER_PREFIXES = ["", "WEBKIT_", "MOZ_"];
|
|
1008
1105
|
var WEBGL_EXTENSIONS = {
|
|
1106
|
+
/* eslint-disable camelcase */
|
|
1009
1107
|
WEBGL_compressed_texture_s3tc: "dxt",
|
|
1010
1108
|
WEBGL_compressed_texture_s3tc_srgb: "dxt-srgb",
|
|
1011
1109
|
WEBGL_compressed_texture_etc1: "etc1",
|
|
@@ -1014,12 +1112,13 @@
|
|
|
1014
1112
|
WEBGL_compressed_texture_atc: "atc",
|
|
1015
1113
|
WEBGL_compressed_texture_astc: "astc",
|
|
1016
1114
|
EXT_texture_compression_rgtc: "rgtc"
|
|
1115
|
+
/* eslint-enable camelcase */
|
|
1017
1116
|
};
|
|
1018
1117
|
var formats = null;
|
|
1019
1118
|
function getSupportedGPUTextureFormats(gl) {
|
|
1020
1119
|
if (!formats) {
|
|
1021
1120
|
gl = gl || getWebGLContext() || void 0;
|
|
1022
|
-
formats = new Set();
|
|
1121
|
+
formats = /* @__PURE__ */ new Set();
|
|
1023
1122
|
for (const prefix of BROWSER_PREFIXES) {
|
|
1024
1123
|
for (const extension in WEBGL_EXTENSIONS) {
|
|
1025
1124
|
if (gl && gl.getExtension(`${prefix}${extension}`)) {
|
|
@@ -1134,7 +1233,9 @@
|
|
|
1134
1233
|
function transcodeImage(basisFile, imageIndex, levelIndex, options) {
|
|
1135
1234
|
const width = basisFile.getImageWidth(imageIndex, levelIndex);
|
|
1136
1235
|
const height = basisFile.getImageHeight(imageIndex, levelIndex);
|
|
1137
|
-
const hasAlpha = basisFile.getHasAlpha(
|
|
1236
|
+
const hasAlpha = basisFile.getHasAlpha(
|
|
1237
|
+
/* imageIndex, levelIndex */
|
|
1238
|
+
);
|
|
1138
1239
|
const { compressed, format, basisFormat } = getBasisOptions(options, hasAlpha);
|
|
1139
1240
|
const decodedSize = basisFile.getImageTranscodedSizeInBytes(imageIndex, levelIndex, basisFormat);
|
|
1140
1241
|
const decodedData = new Uint8Array(decodedSize);
|
|
@@ -1142,11 +1243,14 @@
|
|
|
1142
1243
|
throw new Error("failed to start Basis transcoding");
|
|
1143
1244
|
}
|
|
1144
1245
|
return {
|
|
1246
|
+
// standard loaders.gl image category payload
|
|
1145
1247
|
width,
|
|
1146
1248
|
height,
|
|
1147
1249
|
data: decodedData,
|
|
1148
1250
|
compressed,
|
|
1149
1251
|
format,
|
|
1252
|
+
// Additional fields
|
|
1253
|
+
// Add levelSize field.
|
|
1150
1254
|
hasAlpha
|
|
1151
1255
|
};
|
|
1152
1256
|
}
|
|
@@ -1171,16 +1275,33 @@
|
|
|
1171
1275
|
function transcodeKTX2Image(ktx2File, levelIndex, options) {
|
|
1172
1276
|
const { alphaFlag, height, width } = ktx2File.getImageLevelInfo(levelIndex, 0, 0);
|
|
1173
1277
|
const { compressed, format, basisFormat } = getBasisOptions(options, alphaFlag);
|
|
1174
|
-
const decodedSize = ktx2File.getImageTranscodedSizeInBytes(
|
|
1278
|
+
const decodedSize = ktx2File.getImageTranscodedSizeInBytes(
|
|
1279
|
+
levelIndex,
|
|
1280
|
+
0,
|
|
1281
|
+
0,
|
|
1282
|
+
basisFormat
|
|
1283
|
+
);
|
|
1175
1284
|
const decodedData = new Uint8Array(decodedSize);
|
|
1176
|
-
if (!ktx2File.transcodeImage(
|
|
1285
|
+
if (!ktx2File.transcodeImage(
|
|
1286
|
+
decodedData,
|
|
1287
|
+
levelIndex,
|
|
1288
|
+
0,
|
|
1289
|
+
0,
|
|
1290
|
+
basisFormat,
|
|
1291
|
+
0,
|
|
1292
|
+
-1,
|
|
1293
|
+
-1
|
|
1294
|
+
/* channel1 */
|
|
1295
|
+
)) {
|
|
1177
1296
|
throw new Error("Failed to transcode KTX2 image");
|
|
1178
1297
|
}
|
|
1179
1298
|
return {
|
|
1299
|
+
// standard loaders.gl image category payload
|
|
1180
1300
|
width,
|
|
1181
1301
|
height,
|
|
1182
1302
|
data: decodedData,
|
|
1183
1303
|
compressed,
|
|
1304
|
+
// Additional fields
|
|
1184
1305
|
levelSize: decodedSize,
|
|
1185
1306
|
hasAlpha: alphaFlag,
|
|
1186
1307
|
format
|
|
@@ -1230,7 +1351,9 @@
|
|
|
1230
1351
|
"ktx",
|
|
1231
1352
|
"ktx2",
|
|
1232
1353
|
"dds",
|
|
1354
|
+
// WEBGL_compressed_texture_s3tc, WEBGL_compressed_texture_atc
|
|
1233
1355
|
"pvr"
|
|
1356
|
+
// WEBGL_compressed_texture_pvrtc
|
|
1234
1357
|
],
|
|
1235
1358
|
mimeTypes: [
|
|
1236
1359
|
"image/ktx2",
|
|
@@ -1256,6 +1379,7 @@
|
|
|
1256
1379
|
alpha: "BC3",
|
|
1257
1380
|
noAlpha: "BC1"
|
|
1258
1381
|
},
|
|
1382
|
+
// @ts-expect-error TODO not allowed to modify inputs
|
|
1259
1383
|
...options.basis,
|
|
1260
1384
|
containerFormat: "ktx2",
|
|
1261
1385
|
module: "encoder"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { VERSION } from
|
|
2
|
-
import { encodeImageURLToCompressedTextureURL } from
|
|
1
|
+
import { VERSION } from "./lib/utils/version.js";
|
|
2
|
+
import { encodeImageURLToCompressedTextureURL } from "./lib/encoders/encode-texture.js";
|
|
3
3
|
export const CompressedTextureWriter = {
|
|
4
4
|
name: 'DDS Texture Container',
|
|
5
5
|
id: 'dds',
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compressed-texture-writer.js","names":["VERSION","encodeImageURLToCompressedTextureURL","CompressedTextureWriter","name","id","module","version","extensions","options","texture","format","compression","quality","mipmap","flipY","toolFlags","encodeURLtoURL"],"sources":["../src/compressed-texture-writer.ts"],"sourcesContent":["import type {Writer, WriterOptions} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport {encodeImageURLToCompressedTextureURL} from './lib/encoders/encode-texture';\n\nexport type CompressedTextureWriterOptions = WriterOptions & {\n cwd?: string;\n texture?: {\n format: string;\n compression: string;\n quality: string;\n mipmap: boolean;\n flipY: boolean;\n toolFlags: string;\n };\n};\n\n/**\n * DDS Texture Container Exporter\n */\nexport const CompressedTextureWriter: Writer<unknown, unknown, CompressedTextureWriterOptions> = {\n name: 'DDS Texture Container',\n id: 'dds',\n module: 'textures',\n version: VERSION,\n\n extensions: ['dds'],\n\n options: {\n texture: {\n format: 'auto',\n compression: 'auto',\n quality: 'auto',\n mipmap: false,\n flipY: false,\n toolFlags: ''\n }\n },\n\n encodeURLtoURL: encodeImageURLToCompressedTextureURL\n};\n\n// TYPE TESTS - TODO find a better way than exporting junk\n// export const _TypecheckCompressedTextureWriter: typeof CompressedTextureWriter & {\n// encodeURLtoURL: (\n// inputUrl: string,\n// outputUrl: string,\n// options?: CompressedTextureWriterOptions\n// ) => Promise<string>;\n// } = CompressedTextureWriter;\n"],"mappings":"SACQA,OAAO;AAAA,SACPC,oCAAoC;AAiB5C,OAAO,MAAMC,uBAAiF,GAAG;EAC/FC,IAAI,EAAE,uBAAuB;EAC7BC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEN,OAAO;EAEhBO,UAAU,EAAE,CAAC,KAAK,CAAC;EAEnBC,OAAO,EAAE;IACPC,OAAO,EAAE;MACPC,MAAM,EAAE,MAAM;MACdC,WAAW,EAAE,MAAM;MACnBC,OAAO,EAAE,MAAM;MACfC,MAAM,EAAE,KAAK;MACbC,KAAK,EAAE,KAAK;MACZC,SAAS,EAAE;IACb;EACF,CAAC;EAEDC,cAAc,EAAEf;AAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crunch-loader.js","names":["VERSION","CrunchLoader","id","name","module","version","worker","extensions","mimeTypes","binary","options","crunch","libraryPath"],"sources":["../src/crunch-loader.ts"],"sourcesContent":["import type {Loader, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {TextureLevel} from '@loaders.gl/schema';\nimport {VERSION} from './lib/utils/version';\n\nexport type CrunchLoaderOptions = LoaderOptions & {\n crunch?: {\n libraryPath?: string;\n };\n};\n\n/**\n * Worker loader for the Crunch compressed texture container format\n * @note We avoid bundling crunch - it is a rare format and large lib, so we only offer worker loader\n */\nexport const CrunchLoader: Loader<TextureLevel[], never, CrunchLoaderOptions> = {\n id: 'crunch',\n name: 'Crunch',\n module: 'textures',\n version: VERSION,\n worker: true,\n extensions: ['crn'],\n mimeTypes: ['image/crn', 'image/x-crn', 'application/octet-stream'],\n binary: true,\n options: {\n crunch: {\n libraryPath: 'libs/'\n }\n }\n};\n"],"mappings":"SAEQA,OAAO;AAYf,OAAO,MAAMC,YAAgE,GAAG;EAC9EC,EAAE,EAAE,QAAQ;EACZC,IAAI,EAAE,QAAQ;EACdC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEL,OAAO;EAChBM,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,0BAA0B,CAAC;EACnEC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE;IACPC,MAAM,EAAE;MACNC,WAAW,EAAE;IACf;EACF;AACF,CAAC"}
|