@loaders.gl/textures 3.1.0-alpha.5 → 3.1.0-beta.5
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-loader.d.ts +1 -0
- package/dist/basis-loader.d.ts.map +1 -0
- package/dist/basis-loader.js +40 -0
- package/dist/basis-worker.js +675 -2
- package/dist/bundle.d.ts +1 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +2107 -0
- package/dist/compressed-texture-loader.d.ts +1 -0
- package/dist/compressed-texture-loader.d.ts.map +1 -0
- package/dist/compressed-texture-loader.js +64 -0
- package/dist/compressed-texture-worker.js +1179 -2
- package/dist/compressed-texture-writer.d.ts +1 -0
- package/dist/compressed-texture-writer.d.ts.map +1 -0
- package/dist/compressed-texture-writer.js +28 -0
- package/dist/crunch-loader.d.ts +1 -0
- package/dist/crunch-loader.d.ts.map +1 -0
- package/dist/crunch-loader.js +25 -0
- package/dist/crunch-worker.js +486 -2
- package/dist/es5/index.js +3 -3
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/{gl-constants.js → gl-extensions.js} +4 -4
- package/dist/es5/lib/gl-extensions.js.map +1 -0
- 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/crunch-module-loader.js.map +1 -1
- package/dist/es5/lib/parsers/parse-basis.js +9 -9
- package/dist/es5/lib/parsers/parse-basis.js.map +1 -1
- package/dist/es5/lib/parsers/parse-crunch.js +4 -4
- package/dist/es5/lib/parsers/parse-crunch.js.map +1 -1
- package/dist/es5/lib/parsers/parse-dds.js +23 -23
- package/dist/es5/lib/parsers/parse-dds.js.map +1 -1
- package/dist/es5/lib/parsers/parse-ktx.js +2 -2
- package/dist/es5/lib/parsers/parse-ktx.js.map +1 -1
- package/dist/es5/lib/parsers/parse-npy.js +3 -1
- package/dist/es5/lib/parsers/parse-npy.js.map +1 -1
- package/dist/es5/lib/parsers/parse-pvr.js +28 -28
- package/dist/es5/lib/parsers/parse-pvr.js.map +1 -1
- package/dist/es5/lib/texture-api/async-deep-map.js.map +1 -1
- package/dist/es5/lib/texture-api/deep-load.js.map +1 -1
- package/dist/es5/lib/texture-api/generate-url.js +4 -12
- package/dist/es5/lib/texture-api/generate-url.js.map +1 -1
- package/dist/es5/lib/texture-api/load-image-array.js.map +1 -1
- package/dist/es5/lib/texture-api/load-image-cube.js.map +1 -1
- package/dist/es5/lib/texture-api/load-image.js +2 -5
- package/dist/es5/lib/texture-api/load-image.js.map +1 -1
- package/dist/es5/lib/texture-api/texture-api-types.js +2 -0
- package/dist/es5/lib/texture-api/texture-api-types.js.map +1 -0
- package/dist/es5/lib/utils/extract-mipmap-images.js.map +1 -1
- package/dist/es5/lib/utils/ktx-format-helper.js +67 -67
- package/dist/es5/lib/utils/ktx-format-helper.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/README.md +2 -2
- package/dist/es5/libs/basis_encoder.js +1 -1
- package/dist/es5/libs/basis_transcoder.js +1 -1
- package/dist/es5/libs/crunch.js +1 -0
- package/dist/es5/npy-loader.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/{gl-constants.js → gl-extensions.js} +2 -2
- package/dist/esm/lib/gl-extensions.js.map +1 -0
- 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/crunch-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-crunch.js +4 -4
- package/dist/esm/lib/parsers/parse-crunch.js.map +1 -1
- package/dist/esm/lib/parsers/parse-dds.js +23 -23
- package/dist/esm/lib/parsers/parse-dds.js.map +1 -1
- package/dist/esm/lib/parsers/parse-ktx.js +2 -2
- package/dist/esm/lib/parsers/parse-ktx.js.map +1 -1
- package/dist/esm/lib/parsers/parse-npy.js +3 -1
- package/dist/esm/lib/parsers/parse-npy.js.map +1 -1
- package/dist/esm/lib/parsers/parse-pvr.js +28 -28
- package/dist/esm/lib/parsers/parse-pvr.js.map +1 -1
- package/dist/esm/lib/texture-api/async-deep-map.js.map +1 -1
- package/dist/esm/lib/texture-api/deep-load.js.map +1 -1
- package/dist/esm/lib/texture-api/generate-url.js +5 -13
- package/dist/esm/lib/texture-api/generate-url.js.map +1 -1
- package/dist/esm/lib/texture-api/load-image-array.js.map +1 -1
- package/dist/esm/lib/texture-api/load-image-cube.js.map +1 -1
- package/dist/esm/lib/texture-api/load-image.js +2 -5
- package/dist/esm/lib/texture-api/load-image.js.map +1 -1
- package/dist/esm/lib/texture-api/texture-api-types.js +2 -0
- package/dist/esm/lib/texture-api/texture-api-types.js.map +1 -0
- package/dist/esm/lib/utils/extract-mipmap-images.js.map +1 -1
- package/dist/esm/lib/utils/ktx-format-helper.js +67 -67
- package/dist/esm/lib/utils/ktx-format-helper.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/README.md +2 -2
- package/dist/esm/libs/basis_encoder.js +1 -1
- package/dist/esm/libs/basis_transcoder.js +1 -1
- package/dist/esm/libs/crunch.js +1 -0
- package/dist/esm/npy-loader.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/ktx2-basis-universal-texture-writer.d.ts +1 -0
- package/dist/ktx2-basis-universal-texture-writer.d.ts.map +1 -0
- package/dist/ktx2-basis-universal-texture-writer.js +25 -0
- package/dist/lib/encoders/encode-ktx.d.ts +1 -0
- package/dist/lib/encoders/encode-ktx.d.ts.map +1 -0
- package/dist/lib/encoders/encode-ktx.js +10 -0
- package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts +1 -0
- package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts.map +1 -0
- package/dist/lib/encoders/encode-ktx2-basis-texture.js +41 -0
- package/dist/lib/encoders/encode-texture.d.ts +1 -0
- package/dist/lib/encoders/encode-texture.d.ts.map +1 -0
- package/dist/lib/encoders/encode-texture.js +30 -0
- package/dist/lib/{gl-constants.d.ts → gl-extensions.d.ts} +2 -1
- package/dist/lib/gl-extensions.d.ts.map +1 -0
- package/dist/lib/gl-extensions.js +72 -0
- package/dist/lib/parsers/basis-module-loader.d.ts +1 -0
- package/dist/lib/parsers/basis-module-loader.d.ts.map +1 -0
- package/dist/lib/parsers/basis-module-loader.js +114 -0
- package/dist/lib/parsers/crunch-module-loader.d.ts +1 -0
- package/dist/lib/parsers/crunch-module-loader.d.ts.map +1 -0
- package/dist/lib/parsers/crunch-module-loader.js +35 -0
- package/dist/lib/parsers/parse-basis.d.ts +1 -0
- package/dist/lib/parsers/parse-basis.d.ts.map +1 -0
- package/dist/lib/parsers/parse-basis.js +245 -0
- package/dist/lib/parsers/parse-compressed-texture.d.ts +1 -0
- package/dist/lib/parsers/parse-compressed-texture.d.ts.map +1 -0
- package/dist/lib/parsers/parse-compressed-texture.js +26 -0
- package/dist/lib/parsers/parse-crunch.d.ts +1 -0
- package/dist/lib/parsers/parse-crunch.d.ts.map +1 -0
- package/dist/lib/parsers/parse-crunch.js +105 -0
- package/dist/lib/parsers/parse-dds.d.ts +1 -0
- package/dist/lib/parsers/parse-dds.d.ts.map +1 -0
- package/dist/lib/parsers/parse-dds.js +108 -0
- package/dist/lib/parsers/parse-ktx.d.ts +3 -2
- package/dist/lib/parsers/parse-ktx.d.ts.map +1 -0
- package/dist/lib/parsers/parse-ktx.js +46 -0
- package/dist/lib/parsers/parse-npy.d.ts +8 -2
- package/dist/lib/parsers/parse-npy.d.ts.map +1 -0
- package/dist/lib/parsers/parse-npy.js +85 -0
- package/dist/lib/parsers/parse-pvr.d.ts +1 -0
- package/dist/lib/parsers/parse-pvr.d.ts.map +1 -0
- package/dist/lib/parsers/parse-pvr.js +250 -0
- package/dist/lib/texture-api/async-deep-map.d.ts +5 -2
- package/dist/lib/texture-api/async-deep-map.d.ts.map +1 -0
- package/dist/lib/texture-api/async-deep-map.js +41 -0
- package/dist/lib/texture-api/deep-load.d.ts +5 -2
- package/dist/lib/texture-api/deep-load.d.ts.map +1 -0
- package/dist/lib/texture-api/deep-load.js +16 -0
- package/dist/lib/texture-api/generate-url.d.ts +3 -1
- package/dist/lib/texture-api/generate-url.d.ts.map +1 -0
- package/dist/lib/texture-api/generate-url.js +17 -0
- package/dist/lib/texture-api/load-image-array.d.ts +4 -2
- package/dist/lib/texture-api/load-image-array.d.ts.map +1 -0
- package/dist/lib/texture-api/load-image-array.js +21 -0
- package/dist/lib/texture-api/load-image-cube.d.ts +12 -2
- package/dist/lib/texture-api/load-image-cube.d.ts.map +1 -0
- package/dist/lib/texture-api/load-image-cube.js +47 -0
- package/dist/lib/texture-api/load-image.d.ts +7 -5
- package/dist/lib/texture-api/load-image.d.ts.map +1 -0
- package/dist/lib/texture-api/load-image.js +43 -0
- package/dist/lib/texture-api/texture-api-types.d.ts +10 -0
- package/dist/lib/texture-api/texture-api-types.d.ts.map +1 -0
- package/dist/lib/texture-api/texture-api-types.js +3 -0
- package/dist/lib/utils/extract-mipmap-images.d.ts +2 -1
- package/dist/lib/utils/extract-mipmap-images.d.ts.map +1 -0
- package/dist/lib/utils/extract-mipmap-images.js +50 -0
- package/dist/lib/utils/ktx-format-helper.d.ts +4 -3
- package/dist/lib/utils/ktx-format-helper.d.ts.map +1 -0
- package/dist/lib/utils/ktx-format-helper.js +125 -0
- package/dist/lib/utils/texture-formats.d.ts +1 -0
- package/dist/lib/utils/texture-formats.d.ts.map +1 -0
- package/dist/lib/utils/texture-formats.js +51 -0
- package/dist/lib/utils/version.d.ts +1 -0
- package/dist/lib/utils/version.d.ts.map +1 -0
- package/dist/lib/utils/version.js +8 -0
- package/dist/libs/README.md +2 -2
- package/dist/libs/basis_encoder.js +1 -1
- package/dist/libs/basis_transcoder.js +1 -1
- package/dist/libs/crunch.js +1 -0
- package/dist/npy-loader.d.ts +7 -3
- package/dist/npy-loader.d.ts.map +1 -0
- package/dist/npy-loader.js +34 -0
- package/dist/npy-worker.js +240 -2
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/workers/basis-worker.d.ts +1 -0
- package/dist/workers/basis-worker.d.ts.map +1 -0
- package/dist/workers/basis-worker.js +5 -0
- package/dist/workers/compressed-texture-worker.d.ts +1 -0
- package/dist/workers/compressed-texture-worker.d.ts.map +1 -0
- package/dist/workers/compressed-texture-worker.js +5 -0
- package/dist/workers/crunch-worker.d.ts +1 -0
- package/dist/workers/crunch-worker.d.ts.map +1 -0
- package/dist/workers/crunch-worker.js +14 -0
- package/dist/workers/npy-worker.d.ts +1 -0
- package/dist/workers/npy-worker.d.ts.map +1 -0
- package/dist/workers/npy-worker.js +5 -0
- package/package.json +10 -11
- package/src/index.ts +1 -1
- package/src/lib/{gl-constants.ts → gl-extensions.ts} +1 -1
- package/src/lib/parsers/crunch-module-loader.ts +1 -0
- package/src/lib/parsers/parse-basis.js +32 -8
- package/src/lib/parsers/parse-crunch.ts +4 -4
- package/src/lib/parsers/parse-dds.ts +29 -26
- package/src/lib/parsers/parse-ktx.js +3 -6
- package/src/lib/parsers/parse-ktx.ts +47 -0
- package/src/lib/parsers/parse-npy.js +3 -17
- package/src/lib/parsers/parse-npy.ts +98 -0
- package/src/lib/parsers/parse-pvr.ts +90 -48
- package/src/lib/texture-api/async-deep-map.ts +15 -8
- package/src/lib/texture-api/deep-load.ts +7 -3
- package/src/lib/texture-api/generate-url.ts +10 -8
- package/src/lib/texture-api/load-image-array.ts +8 -2
- package/src/lib/texture-api/load-image-cube.ts +18 -4
- package/src/lib/texture-api/load-image.ts +15 -5
- package/src/lib/texture-api/texture-api-types.ts +12 -0
- package/src/lib/utils/extract-mipmap-images.ts +16 -3
- package/src/lib/utils/ktx-format-helper.ts +71 -71
- package/src/libs/README.md +2 -2
- package/src/libs/basis_encoder.js +1 -1
- package/src/libs/basis_transcoder.js +1 -1
- package/src/libs/crunch.js +1 -0
- package/src/npy-loader.ts +2 -2
- package/dist/basis-worker.js.map +0 -1
- package/dist/compressed-texture-worker.js.map +0 -1
- package/dist/crunch-worker.js.map +0 -1
- package/dist/dist.min.js +0 -2
- package/dist/dist.min.js.map +0 -1
- package/dist/es5/lib/gl-constants.js.map +0 -1
- package/dist/esm/lib/gl-constants.js.map +0 -1
- package/dist/npy-worker.js.map +0 -1
|
@@ -0,0 +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;AAErD,OAAO,EAAC,oCAAoC,EAAC,MAAM,+BAA+B,CAAC;AAEnF;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;CAoBnC,CAAC;AAGF,eAAO,MAAM,iCAAiC,EAAE,MAAgC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._TypecheckCompressedTextureWriter = exports.CompressedTextureWriter = void 0;
|
|
4
|
+
const version_1 = require("./lib/utils/version");
|
|
5
|
+
const encode_texture_1 = require("./lib/encoders/encode-texture");
|
|
6
|
+
/**
|
|
7
|
+
* DDS Texture Container Exporter
|
|
8
|
+
*/
|
|
9
|
+
exports.CompressedTextureWriter = {
|
|
10
|
+
name: 'DDS Texture Container',
|
|
11
|
+
id: 'dds',
|
|
12
|
+
module: 'textures',
|
|
13
|
+
version: version_1.VERSION,
|
|
14
|
+
extensions: ['dds'],
|
|
15
|
+
options: {
|
|
16
|
+
texture: {
|
|
17
|
+
format: 'auto',
|
|
18
|
+
compression: 'auto',
|
|
19
|
+
quality: 'auto',
|
|
20
|
+
mipmap: false,
|
|
21
|
+
flipY: false,
|
|
22
|
+
toolFlags: ''
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
encodeURLtoURL: encode_texture_1.encodeImageURLToCompressedTextureURL
|
|
26
|
+
};
|
|
27
|
+
// TYPE TESTS - TODO find a better way than exporting junk
|
|
28
|
+
exports._TypecheckCompressedTextureWriter = exports.CompressedTextureWriter;
|
package/dist/crunch-loader.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crunch-loader.d.ts","sourceRoot":"","sources":["../src/crunch-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAGrD;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;CAcxB,CAAC;AAKF,eAAO,MAAM,sBAAsB,EAAE,MAAqB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._TypecheckCrunchLoader = exports.CrunchLoader = void 0;
|
|
4
|
+
const version_1 = require("./lib/utils/version");
|
|
5
|
+
/**
|
|
6
|
+
* Worker loader for the Crunch compressed texture container format
|
|
7
|
+
*/
|
|
8
|
+
exports.CrunchLoader = {
|
|
9
|
+
id: 'crunch',
|
|
10
|
+
name: 'Crunch',
|
|
11
|
+
module: 'textures',
|
|
12
|
+
version: version_1.VERSION,
|
|
13
|
+
worker: true,
|
|
14
|
+
extensions: ['crn'],
|
|
15
|
+
mimeTypes: ['image/crn', 'image/x-crn', 'application/octet-stream'],
|
|
16
|
+
binary: true,
|
|
17
|
+
options: {
|
|
18
|
+
crunch: {
|
|
19
|
+
libraryPath: 'libs/'
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
// We avoid bundling crunch - rare format, only offer worker loader
|
|
24
|
+
// TYPE TESTS - TODO find a better way than exporting junk
|
|
25
|
+
exports._TypecheckCrunchLoader = exports.CrunchLoader;
|
package/dist/crunch-worker.js
CHANGED
|
@@ -1,2 +1,486 @@
|
|
|
1
|
-
!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=13)}([function(e,t,r){e.exports=r(10)},function(e,t){function r(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}e.exports=function(e){return function(){var t=this,n=arguments;return new Promise((function(o,i){var a=e.apply(t,n);function u(e){r(a,o,i,u,c,"next",e)}function c(e){r(a,o,i,u,c,"throw",e)}u(void 0)}))}},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t,r){"use strict";(function(e,n){r.d(t,"a",(function(){return a})),r.d(t,"b",(function(){return u})),r.d(t,"c",(function(){return c}));var o=r(5),i={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:void 0!==e&&e,document:"undefined"!=typeof document&&document},a=i.global||i.self||i.window||{},u="object"!==(void 0===n?"undefined":r.n(o)()(n))||"[object process]"!==String(n)||n.browser,c="function"==typeof importScripts,s=("undefined"!=typeof window&&window.orientation,void 0!==n&&n.version&&/v([0-9]*)/.exec(n.version));s&&parseFloat(s[1])}).call(this,r(11),r(12))},function(e,t){},function(e,t){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function r(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(e.exports=r=function(e){return typeof e},e.exports.default=e.exports,e.exports.__esModule=!0):(e.exports=r=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.default=e.exports,e.exports.__esModule=!0),r(t)}e.exports=r,e.exports.default=e.exports,e.exports.__esModule=!0},,function(e,t){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.default=e.exports,e.exports.__esModule=!0},function(e,t){function r(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}e.exports=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e},e.exports.default=e.exports,e.exports.__esModule=!0},,function(e,t,r){var n=function(e){"use strict";var t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag";function u(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,r){return e[t]=r}}function c(e,t,r,n){var o=t&&t.prototype instanceof l?t:l,i=Object.create(o.prototype),a=new _(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return E()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=w(a,r);if(u){if(u===f)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=s(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===f)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}(e,r,a),i}function s(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var f={};function l(){}function p(){}function h(){}var d={};d[o]=function(){return this};var y=Object.getPrototypeOf,v=y&&y(y(j([])));v&&v!==t&&r.call(v,o)&&(d=v);var m=h.prototype=l.prototype=Object.create(d);function g(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(o,i){function a(){return new t((function(n,a){!function n(o,i,a,u){var c=s(e[o],e,i);if("throw"!==c.type){var f=c.arg,l=f.value;return l&&"object"==typeof l&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,a,u)}),(function(e){n("throw",e,a,u)})):t.resolve(l).then((function(e){f.value=e,a(f)}),(function(e){return n("throw",e,a,u)}))}u(c.arg)}(o,i,n,a)}))}return n=n?n.then(a,a):a()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return f;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var n=s(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,f;var o=n.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,f):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function O(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function _(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function j(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:E}}function E(){return{value:void 0,done:!0}}return p.prototype=m.constructor=h,h.constructor=p,p.displayName=u(h,a,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===p||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,u(e,a,"GeneratorFunction")),e.prototype=Object.create(m),e},e.awrap=function(e){return{__await:e}},g(b.prototype),b.prototype[i]=function(){return this},e.AsyncIterator=b,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new b(c(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},g(m),u(m,a,"Generator"),m[o]=function(){return this},m.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=j,_.prototype={constructor:_,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(O),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(u&&c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,f):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),f},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),O(r),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;O(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:j(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},e}(e.exports);try{regeneratorRuntime=n}catch(e){Function("r","regeneratorRuntime = r")(n)}},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t){var r,n,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function u(e){if(r===setTimeout)return setTimeout(e,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:i}catch(e){r=i}try{n="function"==typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var c,s=[],f=!1,l=-1;function p(){f&&c&&(f=!1,c.length?s=c.concat(s):l=-1,s.length&&h())}function h(){if(!f){var e=u(p);f=!0;for(var t=s.length;t;){for(c=s,s=[];++l<t;)c&&c[l].run();l=-1,t=s.length}c=null,f=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===a||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function d(e,t){this.fun=e,this.array=t}function y(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];s.push(new d(e,t)),1!==s.length||f||u(h)},d.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=y,o.addListener=y,o.once=y,o.off=y,o.removeListener=y,o.removeAllListeners=y,o.emit=y,o.prependListener=y,o.prependOnceListener=y,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(e,t,r){"use strict";r.r(t),r.d(t,"CrunchLoaderWithParser",(function(){return ie}));var n=r(4),o=r.n(n),i=r(1),a=r.n(i),u=r(0),c=r.n(u),s=r(7),f=r.n(s),l=r(8),p=r.n(l),h=r(5),d=r.n(h);function y(e){return!!e&&(e instanceof ArrayBuffer||("undefined"!=typeof MessagePort&&e instanceof MessagePort||("undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas)))}var v=new Map,m=function(){function e(){f()(this,e)}return p()(e,null,[{key:"onmessage",set:function(e){self.onmessage=function(t){if(g(t)){var r=t.data,n=r.type,o=r.payload;e(n,o)}}}},{key:"addEventListener",value:function(e){var t=v.get(e);t||(t=function(t){if(g(t)){var r=t.data,n=r.type,o=r.payload;e(n,o)}}),self.addEventListener("message",t)}},{key:"removeEventListener",value:function(e){var t=v.get(e);v.delete(e),self.removeEventListener("message",t)}},{key:"postMessage",value:function(e,t){if(self){var r={source:"loaders.gl",type:e,payload:t},n=function e(t){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,o=n||new Set;if(t){if(y(t))o.add(t);else if(y(t.buffer))o.add(t.buffer);else if(ArrayBuffer.isView(t));else if(r&&"object"===d()(t))for(var i in t)e(t[i],r,o)}else;return void 0===n?Array.from(o):[]}(t);self.postMessage(r,n)}}}]),e}();function g(e){var t=e.type,r=e.data;return"message"===t&&r&&"string"==typeof r.source&&r.source.startsWith("loaders.gl")}function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?b(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):b(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var x=0;function O(e,t){return new Promise((function(r,n){var o=x++;m.addEventListener((function e(t,i){if(i.id===o)switch(t){case"done":m.removeEventListener(e),r(i.result);break;case"error":m.removeEventListener(e),n(i.error)}}));var i={id:o,input:e,options:t};m.postMessage("process",i)}))}function _(e){return j.apply(this,arguments)}function j(){return(j=a()(c.a.mark((function e(t){var r,n,o,i,a,u,s;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.loader,n=t.arrayBuffer,o=t.options,i=t.context,!r.parseSync&&!r.parse){e.next=6;break}a=n,u=r.parseSync||r.parse,e.next=13;break;case 6:if(!r.parseTextSync){e.next=12;break}s=new TextDecoder,a=s.decode(n),u=r.parseTextSync,e.next=13;break;case 12:throw new Error("Could not load data with ".concat(r.name," loader"));case 13:return o=w(w({},o),{},{modules:r&&r.options&&r.options.modules||{},worker:!1}),e.next=16,u(a,w({},o),i,r);case 16:return e.abrupt("return",e.sent);case 17:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var E={id:"crunch",name:"Crunch",module:"textures",version:"3.1.0-alpha.5",worker:!0,extensions:["crn"],mimeTypes:["image/crn","image/x-crn","application/octet-stream"],binary:!0,options:{crunch:{libraryPath:"libs/"}}},L=r(2),k=r(3);var P,S={};function T(e){return F.apply(this,arguments)}function F(){return(F=a()(c.a.mark((function e(t){var r,n,o=arguments;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=o.length>1&&void 0!==o[1]?o[1]:null,n=o.length>2&&void 0!==o[2]?o[2]:{},r&&(t=M(t,r,n)),S[t]=S[t]||A(t),e.next=6,S[t];case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function M(e,t,r){if(e.startsWith("http"))return e;var n=r.modules||{};return n[e]?n[e]:L.b?r.CDN?(function(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}(r.CDN.startsWith("http")),"".concat(r.CDN,"/").concat(t,"@").concat("3.1.0-alpha.5","/dist/libs/").concat(e)):L.c?"../src/libs/".concat(e):"modules/".concat(t,"/src/libs/").concat(e):"modules/".concat(t,"/dist/libs/").concat(e)}function A(e){return D.apply(this,arguments)}function D(){return(D=a()(c.a.mark((function e(t){var r,n,o;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.endsWith("wasm")){e.next=7;break}return e.next=3,fetch(t);case 3:return r=e.sent,e.next=6,r.arrayBuffer();case 6:return e.abrupt("return",e.sent);case 7:if(L.b){e.next=14;break}if(e.t0=k.requireFromFile,!e.t0){e.next=13;break}return e.next=12,k.requireFromFile(t);case 12:e.t0=e.sent;case 13:return e.abrupt("return",e.t0);case 14:if(!L.c){e.next=16;break}return e.abrupt("return",importScripts(t));case 16:return e.next=18,fetch(t);case 18:return n=e.sent,e.next=21,n.text();case 21:return o=e.sent,e.abrupt("return",C(o,t));case 23:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function C(e,t){if(!L.b)return k.requireFromString&&k.requireFromString(e,t);if(L.c)return eval.call(L.a,e),null;var r=document.createElement("script");r.id=t;try{r.appendChild(document.createTextNode(e))}catch(t){r.text=e}return document.body.appendChild(r),null}function N(e){return z.apply(this,arguments)}function z(){return(z=a()(c.a.mark((function e(t){var r;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r=t.modules||{}).crunch){e.next=3;break}return e.abrupt("return",r.crunch);case 3:return e.abrupt("return",B(t));case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function B(e){return G.apply(this,arguments)}function G(){return(G=a()(c.a.mark((function e(t){var r;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!P){e.next=2;break}return e.abrupt("return",P);case 2:return e.next=4,T("crunch.js","textures",t);case 4:return r=(r=e.sent)||globalThis.loadCrunchDecoder,P=r(),e.abrupt("return",P);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var U=33776,I=33778,W=33779;function q(e,t){if(!e)throw new Error(t||"loader assertion failed.")}function H(e,t){for(var r=new Array(t.mipMapLevels),n=t.width,o=t.height,i=0,a=0;a<t.mipMapLevels;++a){var u=Y(t,n,o,e,a),c=R(e,a,i,u);r[a]={compressed:!0,format:t.internalFormat,data:c,width:n,height:o,levelSize:u},n=Math.max(1,n>>1),o=Math.max(1,o>>1),i+=u}return r}function R(e,t,r,n){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,n)}function Y(e,t,r,n,o){return Array.isArray(n)?e.sizeFunction(n[o]):e.sizeFunction(t,r)}function V(e,t){return(e+3>>2)*(t+3>>2)*8}function J(e,t){return(e+3>>2)*(t+3>>2)*16}var K=1,Q=2,X={};X[0]={pixelFormat:U,sizeFunction:V},X[K]={pixelFormat:I,sizeFunction:J},X[Q]={pixelFormat:W,sizeFunction:J};var Z,$=0;function ee(){return(ee=a()(c.a.mark((function e(t,r){var n,o,i,a,u,s,f,l,p,h,d,y;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,N(r);case 2:for(n=e.sent,o=t.byteLength,i=new Uint8Array(t),a=n._malloc(o),te(i,n.HEAPU8,a,o),u=n._crn_get_dxt_format(a,o),q(Boolean(X[u]),"Unsupported format"),s=n._crn_get_levels(a,o),f=n._crn_get_width(a,o),l=n._crn_get_height(a,o),p=X[u].sizeFunction,h=0,d=0;d<s;++d)h+=p(f>>d,l>>d);return $<h&&(Z&&n._free(Z),Z=n._malloc(h),$=h),n._crn_decompress(a,o,Z,h,0,s),n._free(a),y=new Uint8Array(n.HEAPU8.buffer,Z,h).slice(),e.abrupt("return",H(y,{mipMapLevels:s,width:f,height:l,sizeFunction:p,internalFormat:X[u].pixelFormat}));case 20:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function te(e,t,r,n){var o,i=r/4,a=n%4,u=new Uint32Array(e.buffer,0,(n-a)/4),c=new Uint32Array(t.buffer);for(o=0;o<u.length;o++)c[i+o]=u[o];for(o=n-a;o<n;o++)t[r+o]=e[o]}function re(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function ne(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?re(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):re(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var oe,ie=ne(ne({},E),{},{parse:function(e,t){return ee.apply(this,arguments)}});oe=ie,"undefined"!=typeof self&&(m.onmessage=function(){var e=a()(c.a.mark((function e(t,r){var n,o,i,a,u;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=t,e.next="process"===e.t0?3:16;break;case 3:return e.prev=3,n=r.input,o=r.options,i=void 0===o?{}:o,e.next=7,_({loader:oe,arrayBuffer:n,options:i,context:{parse:O}});case 7:a=e.sent,m.postMessage("done",{result:a}),e.next=15;break;case 11:e.prev=11,e.t1=e.catch(3),u=e.t1 instanceof Error?e.t1.message:"",m.postMessage("error",{error:u});case 15:return e.abrupt("break",16);case 16:case"end":return e.stop()}}),e,null,[[3,11]])})));return function(t,r){return e.apply(this,arguments)}}())}]);
|
|
2
|
-
|
|
1
|
+
(() => {
|
|
2
|
+
// ../loader-utils/src/lib/env-utils/assert.ts
|
|
3
|
+
function assert(condition, message) {
|
|
4
|
+
if (!condition) {
|
|
5
|
+
throw new Error(message || "loader assertion failed.");
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
// ../worker-utils/src/lib/env-utils/version.ts
|
|
10
|
+
var DEFAULT_VERSION = "beta";
|
|
11
|
+
var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : DEFAULT_VERSION;
|
|
12
|
+
if (typeof __VERSION__ === "undefined") {
|
|
13
|
+
console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// ../worker-utils/src/lib/env-utils/assert.ts
|
|
17
|
+
function assert2(condition, message) {
|
|
18
|
+
if (!condition) {
|
|
19
|
+
throw new Error(message || "loaders.gl assertion failed.");
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// ../worker-utils/src/lib/env-utils/globals.ts
|
|
24
|
+
var globals = {
|
|
25
|
+
self: typeof self !== "undefined" && self,
|
|
26
|
+
window: typeof window !== "undefined" && window,
|
|
27
|
+
global: typeof global !== "undefined" && global,
|
|
28
|
+
document: typeof document !== "undefined" && document
|
|
29
|
+
};
|
|
30
|
+
var self_ = globals.self || globals.window || globals.global || {};
|
|
31
|
+
var window_ = globals.window || globals.self || globals.global || {};
|
|
32
|
+
var global_ = globals.global || globals.self || globals.window || {};
|
|
33
|
+
var document_ = globals.document || {};
|
|
34
|
+
var isBrowser = typeof process !== "object" || String(process) !== "[object process]" || process.browser;
|
|
35
|
+
var isWorker = typeof importScripts === "function";
|
|
36
|
+
var isMobile = typeof window !== "undefined" && typeof window.orientation !== "undefined";
|
|
37
|
+
var matches = typeof process !== "undefined" && process.version && /v([0-9]*)/.exec(process.version);
|
|
38
|
+
var nodeVersion = matches && parseFloat(matches[1]) || 0;
|
|
39
|
+
|
|
40
|
+
// ../worker-utils/src/lib/worker-utils/get-transfer-list.ts
|
|
41
|
+
function getTransferList(object, recursive = true, transfers) {
|
|
42
|
+
const transfersSet = transfers || new Set();
|
|
43
|
+
if (!object) {
|
|
44
|
+
} else if (isTransferable(object)) {
|
|
45
|
+
transfersSet.add(object);
|
|
46
|
+
} else if (isTransferable(object.buffer)) {
|
|
47
|
+
transfersSet.add(object.buffer);
|
|
48
|
+
} else if (ArrayBuffer.isView(object)) {
|
|
49
|
+
} else if (recursive && typeof object === "object") {
|
|
50
|
+
for (const key in object) {
|
|
51
|
+
getTransferList(object[key], recursive, transfersSet);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return transfers === void 0 ? Array.from(transfersSet) : [];
|
|
55
|
+
}
|
|
56
|
+
function isTransferable(object) {
|
|
57
|
+
if (!object) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
if (object instanceof ArrayBuffer) {
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
if (typeof MessagePort !== "undefined" && object instanceof MessagePort) {
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
if (typeof ImageBitmap !== "undefined" && object instanceof ImageBitmap) {
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
if (typeof OffscreenCanvas !== "undefined" && object instanceof OffscreenCanvas) {
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// ../worker-utils/src/lib/worker-farm/worker-body.ts
|
|
76
|
+
var onMessageWrapperMap = new Map();
|
|
77
|
+
var WorkerBody = class {
|
|
78
|
+
static set onmessage(onMessage) {
|
|
79
|
+
self.onmessage = (message) => {
|
|
80
|
+
if (!isKnownMessage(message)) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const { type, payload } = message.data;
|
|
84
|
+
onMessage(type, payload);
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
static addEventListener(onMessage) {
|
|
88
|
+
let onMessageWrapper = onMessageWrapperMap.get(onMessage);
|
|
89
|
+
if (!onMessageWrapper) {
|
|
90
|
+
onMessageWrapper = (message) => {
|
|
91
|
+
if (!isKnownMessage(message)) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const { type, payload } = message.data;
|
|
95
|
+
onMessage(type, payload);
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
self.addEventListener("message", onMessageWrapper);
|
|
99
|
+
}
|
|
100
|
+
static removeEventListener(onMessage) {
|
|
101
|
+
const onMessageWrapper = onMessageWrapperMap.get(onMessage);
|
|
102
|
+
onMessageWrapperMap.delete(onMessage);
|
|
103
|
+
self.removeEventListener("message", onMessageWrapper);
|
|
104
|
+
}
|
|
105
|
+
static postMessage(type, payload) {
|
|
106
|
+
if (self) {
|
|
107
|
+
const data = { source: "loaders.gl", type, payload };
|
|
108
|
+
const transferList = getTransferList(payload);
|
|
109
|
+
self.postMessage(data, transferList);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
function isKnownMessage(message) {
|
|
114
|
+
const { type, data } = message;
|
|
115
|
+
return type === "message" && data && typeof data.source === "string" && data.source.startsWith("loaders.gl");
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// ../worker-utils/src/lib/library-utils/library-utils.ts
|
|
119
|
+
var LATEST = "beta";
|
|
120
|
+
var VERSION2 = typeof VERSION !== "undefined" ? VERSION : LATEST;
|
|
121
|
+
var loadLibraryPromises = {};
|
|
122
|
+
async function loadLibrary(libraryUrl, moduleName = null, options = {}) {
|
|
123
|
+
if (moduleName) {
|
|
124
|
+
libraryUrl = getLibraryUrl(libraryUrl, moduleName, options);
|
|
125
|
+
}
|
|
126
|
+
loadLibraryPromises[libraryUrl] = loadLibraryPromises[libraryUrl] || loadLibraryFromFile(libraryUrl);
|
|
127
|
+
return await loadLibraryPromises[libraryUrl];
|
|
128
|
+
}
|
|
129
|
+
function getLibraryUrl(library, moduleName, options) {
|
|
130
|
+
if (library.startsWith("http")) {
|
|
131
|
+
return library;
|
|
132
|
+
}
|
|
133
|
+
const modules = options.modules || {};
|
|
134
|
+
if (modules[library]) {
|
|
135
|
+
return modules[library];
|
|
136
|
+
}
|
|
137
|
+
if (!isBrowser) {
|
|
138
|
+
return `modules/${moduleName}/dist/libs/${library}`;
|
|
139
|
+
}
|
|
140
|
+
if (options.CDN) {
|
|
141
|
+
assert2(options.CDN.startsWith("http"));
|
|
142
|
+
return `${options.CDN}/${moduleName}@${VERSION2}/dist/libs/${library}`;
|
|
143
|
+
}
|
|
144
|
+
if (isWorker) {
|
|
145
|
+
return `../src/libs/${library}`;
|
|
146
|
+
}
|
|
147
|
+
return `modules/${moduleName}/src/libs/${library}`;
|
|
148
|
+
}
|
|
149
|
+
async function loadLibraryFromFile(libraryUrl) {
|
|
150
|
+
if (libraryUrl.endsWith("wasm")) {
|
|
151
|
+
const response2 = await fetch(libraryUrl);
|
|
152
|
+
return await response2.arrayBuffer();
|
|
153
|
+
}
|
|
154
|
+
if (!isBrowser) {
|
|
155
|
+
return node.requireFromFile && await node.requireFromFile(libraryUrl);
|
|
156
|
+
}
|
|
157
|
+
if (isWorker) {
|
|
158
|
+
return importScripts(libraryUrl);
|
|
159
|
+
}
|
|
160
|
+
const response = await fetch(libraryUrl);
|
|
161
|
+
const scriptSource = await response.text();
|
|
162
|
+
return loadLibraryFromString(scriptSource, libraryUrl);
|
|
163
|
+
}
|
|
164
|
+
function loadLibraryFromString(scriptSource, id) {
|
|
165
|
+
if (!isBrowser) {
|
|
166
|
+
return node.requireFromString && node.requireFromString(scriptSource, id);
|
|
167
|
+
}
|
|
168
|
+
if (isWorker) {
|
|
169
|
+
eval.call(global_, scriptSource);
|
|
170
|
+
return null;
|
|
171
|
+
}
|
|
172
|
+
const script = document.createElement("script");
|
|
173
|
+
script.id = id;
|
|
174
|
+
try {
|
|
175
|
+
script.appendChild(document.createTextNode(scriptSource));
|
|
176
|
+
} catch (e) {
|
|
177
|
+
script.text = scriptSource;
|
|
178
|
+
}
|
|
179
|
+
document.body.appendChild(script);
|
|
180
|
+
return null;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// ../loader-utils/src/lib/worker-loader-utils/create-loader-worker.ts
|
|
184
|
+
var requestId = 0;
|
|
185
|
+
function createLoaderWorker(loader) {
|
|
186
|
+
if (typeof self === "undefined") {
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
WorkerBody.onmessage = async (type, payload) => {
|
|
190
|
+
switch (type) {
|
|
191
|
+
case "process":
|
|
192
|
+
try {
|
|
193
|
+
const { input, options = {} } = payload;
|
|
194
|
+
const result = await parseData({
|
|
195
|
+
loader,
|
|
196
|
+
arrayBuffer: input,
|
|
197
|
+
options,
|
|
198
|
+
context: {
|
|
199
|
+
parse: parseOnMainThread
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
WorkerBody.postMessage("done", { result });
|
|
203
|
+
} catch (error) {
|
|
204
|
+
const message = error instanceof Error ? error.message : "";
|
|
205
|
+
WorkerBody.postMessage("error", { error: message });
|
|
206
|
+
}
|
|
207
|
+
break;
|
|
208
|
+
default:
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
function parseOnMainThread(arrayBuffer, options) {
|
|
213
|
+
return new Promise((resolve, reject) => {
|
|
214
|
+
const id = requestId++;
|
|
215
|
+
const onMessage = (type, payload2) => {
|
|
216
|
+
if (payload2.id !== id) {
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
switch (type) {
|
|
220
|
+
case "done":
|
|
221
|
+
WorkerBody.removeEventListener(onMessage);
|
|
222
|
+
resolve(payload2.result);
|
|
223
|
+
break;
|
|
224
|
+
case "error":
|
|
225
|
+
WorkerBody.removeEventListener(onMessage);
|
|
226
|
+
reject(payload2.error);
|
|
227
|
+
break;
|
|
228
|
+
default:
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
WorkerBody.addEventListener(onMessage);
|
|
232
|
+
const payload = { id, input: arrayBuffer, options };
|
|
233
|
+
WorkerBody.postMessage("process", payload);
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
async function parseData({ loader, arrayBuffer, options, context }) {
|
|
237
|
+
let data;
|
|
238
|
+
let parser;
|
|
239
|
+
if (loader.parseSync || loader.parse) {
|
|
240
|
+
data = arrayBuffer;
|
|
241
|
+
parser = loader.parseSync || loader.parse;
|
|
242
|
+
} else if (loader.parseTextSync) {
|
|
243
|
+
const textDecoder = new TextDecoder();
|
|
244
|
+
data = textDecoder.decode(arrayBuffer);
|
|
245
|
+
parser = loader.parseTextSync;
|
|
246
|
+
} else {
|
|
247
|
+
throw new Error(`Could not load data with ${loader.name} loader`);
|
|
248
|
+
}
|
|
249
|
+
options = {
|
|
250
|
+
...options,
|
|
251
|
+
modules: loader && loader.options && loader.options.modules || {},
|
|
252
|
+
worker: false
|
|
253
|
+
};
|
|
254
|
+
return await parser(data, { ...options }, context, loader);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
// src/lib/utils/version.ts
|
|
258
|
+
var VERSION3 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
259
|
+
|
|
260
|
+
// src/crunch-loader.ts
|
|
261
|
+
var CrunchLoader = {
|
|
262
|
+
id: "crunch",
|
|
263
|
+
name: "Crunch",
|
|
264
|
+
module: "textures",
|
|
265
|
+
version: VERSION3,
|
|
266
|
+
worker: true,
|
|
267
|
+
extensions: ["crn"],
|
|
268
|
+
mimeTypes: ["image/crn", "image/x-crn", "application/octet-stream"],
|
|
269
|
+
binary: true,
|
|
270
|
+
options: {
|
|
271
|
+
crunch: {
|
|
272
|
+
libraryPath: "libs/"
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
// src/lib/parsers/crunch-module-loader.ts
|
|
278
|
+
async function loadCrunchModule(options) {
|
|
279
|
+
const modules = options.modules || {};
|
|
280
|
+
if (modules.crunch) {
|
|
281
|
+
return modules.crunch;
|
|
282
|
+
}
|
|
283
|
+
return loadCrunch(options);
|
|
284
|
+
}
|
|
285
|
+
var crunchModule;
|
|
286
|
+
async function loadCrunch(options) {
|
|
287
|
+
if (crunchModule) {
|
|
288
|
+
return crunchModule;
|
|
289
|
+
}
|
|
290
|
+
let loadCrunchDecoder = await loadLibrary("crunch.js", "textures", options);
|
|
291
|
+
loadCrunchDecoder = loadCrunchDecoder || globalThis.loadCrunchDecoder;
|
|
292
|
+
crunchModule = loadCrunchDecoder();
|
|
293
|
+
return crunchModule;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
// src/lib/gl-extensions.ts
|
|
297
|
+
var GL_EXTENSIONS_CONSTANTS = {
|
|
298
|
+
COMPRESSED_RGB_S3TC_DXT1_EXT: 33776,
|
|
299
|
+
COMPRESSED_RGBA_S3TC_DXT1_EXT: 33777,
|
|
300
|
+
COMPRESSED_RGBA_S3TC_DXT3_EXT: 33778,
|
|
301
|
+
COMPRESSED_RGBA_S3TC_DXT5_EXT: 33779,
|
|
302
|
+
COMPRESSED_R11_EAC: 37488,
|
|
303
|
+
COMPRESSED_SIGNED_R11_EAC: 37489,
|
|
304
|
+
COMPRESSED_RG11_EAC: 37490,
|
|
305
|
+
COMPRESSED_SIGNED_RG11_EAC: 37491,
|
|
306
|
+
COMPRESSED_RGB8_ETC2: 37492,
|
|
307
|
+
COMPRESSED_RGBA8_ETC2_EAC: 37493,
|
|
308
|
+
COMPRESSED_SRGB8_ETC2: 37494,
|
|
309
|
+
COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 37495,
|
|
310
|
+
COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37496,
|
|
311
|
+
COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37497,
|
|
312
|
+
COMPRESSED_RGB_PVRTC_4BPPV1_IMG: 35840,
|
|
313
|
+
COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: 35842,
|
|
314
|
+
COMPRESSED_RGB_PVRTC_2BPPV1_IMG: 35841,
|
|
315
|
+
COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: 35843,
|
|
316
|
+
COMPRESSED_RGB_ETC1_WEBGL: 36196,
|
|
317
|
+
COMPRESSED_RGB_ATC_WEBGL: 35986,
|
|
318
|
+
COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL: 35987,
|
|
319
|
+
COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL: 34798,
|
|
320
|
+
COMPRESSED_RGBA_ASTC_4X4_KHR: 37808,
|
|
321
|
+
COMPRESSED_RGBA_ASTC_5X4_KHR: 37809,
|
|
322
|
+
COMPRESSED_RGBA_ASTC_5X5_KHR: 37810,
|
|
323
|
+
COMPRESSED_RGBA_ASTC_6X5_KHR: 37811,
|
|
324
|
+
COMPRESSED_RGBA_ASTC_6X6_KHR: 37812,
|
|
325
|
+
COMPRESSED_RGBA_ASTC_8X5_KHR: 37813,
|
|
326
|
+
COMPRESSED_RGBA_ASTC_8X6_KHR: 37814,
|
|
327
|
+
COMPRESSED_RGBA_ASTC_8X8_KHR: 37815,
|
|
328
|
+
COMPRESSED_RGBA_ASTC_10X5_KHR: 37816,
|
|
329
|
+
COMPRESSED_RGBA_ASTC_10X6_KHR: 37817,
|
|
330
|
+
COMPRESSED_RGBA_ASTC_10X8_KHR: 37818,
|
|
331
|
+
COMPRESSED_RGBA_ASTC_10X10_KHR: 37819,
|
|
332
|
+
COMPRESSED_RGBA_ASTC_12X10_KHR: 37820,
|
|
333
|
+
COMPRESSED_RGBA_ASTC_12X12_KHR: 37821,
|
|
334
|
+
COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR: 37840,
|
|
335
|
+
COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR: 37841,
|
|
336
|
+
COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR: 37842,
|
|
337
|
+
COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR: 37843,
|
|
338
|
+
COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR: 37844,
|
|
339
|
+
COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR: 37845,
|
|
340
|
+
COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR: 37846,
|
|
341
|
+
COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR: 37847,
|
|
342
|
+
COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR: 37848,
|
|
343
|
+
COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR: 37849,
|
|
344
|
+
COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR: 37850,
|
|
345
|
+
COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR: 37851,
|
|
346
|
+
COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR: 37852,
|
|
347
|
+
COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR: 37853,
|
|
348
|
+
COMPRESSED_RED_RGTC1_EXT: 36283,
|
|
349
|
+
COMPRESSED_SIGNED_RED_RGTC1_EXT: 36284,
|
|
350
|
+
COMPRESSED_RED_GREEN_RGTC2_EXT: 36285,
|
|
351
|
+
COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: 36286,
|
|
352
|
+
COMPRESSED_SRGB_S3TC_DXT1_EXT: 35916,
|
|
353
|
+
COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: 35917,
|
|
354
|
+
COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: 35918,
|
|
355
|
+
COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: 35919
|
|
356
|
+
};
|
|
357
|
+
|
|
358
|
+
// src/lib/utils/extract-mipmap-images.ts
|
|
359
|
+
function extractMipmapImages(data, options) {
|
|
360
|
+
const images = new Array(options.mipMapLevels);
|
|
361
|
+
let levelWidth = options.width;
|
|
362
|
+
let levelHeight = options.height;
|
|
363
|
+
let offset = 0;
|
|
364
|
+
for (let i = 0; i < options.mipMapLevels; ++i) {
|
|
365
|
+
const levelSize = getLevelSize(options, levelWidth, levelHeight, data, i);
|
|
366
|
+
const levelData = getLevelData(data, i, offset, levelSize);
|
|
367
|
+
images[i] = {
|
|
368
|
+
compressed: true,
|
|
369
|
+
format: options.internalFormat,
|
|
370
|
+
data: levelData,
|
|
371
|
+
width: levelWidth,
|
|
372
|
+
height: levelHeight,
|
|
373
|
+
levelSize
|
|
374
|
+
};
|
|
375
|
+
levelWidth = Math.max(1, levelWidth >> 1);
|
|
376
|
+
levelHeight = Math.max(1, levelHeight >> 1);
|
|
377
|
+
offset += levelSize;
|
|
378
|
+
}
|
|
379
|
+
return images;
|
|
380
|
+
}
|
|
381
|
+
function getLevelData(data, index, offset, levelSize) {
|
|
382
|
+
if (!Array.isArray(data)) {
|
|
383
|
+
return new Uint8Array(data.buffer, data.byteOffset + offset, levelSize);
|
|
384
|
+
}
|
|
385
|
+
return data[index].levelData;
|
|
386
|
+
}
|
|
387
|
+
function getLevelSize(options, levelWidth, levelHeight, data, index) {
|
|
388
|
+
if (!Array.isArray(data)) {
|
|
389
|
+
return options.sizeFunction(levelWidth, levelHeight);
|
|
390
|
+
}
|
|
391
|
+
return options.sizeFunction(data[index]);
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
// src/lib/parsers/parse-dds.ts
|
|
395
|
+
var DDS_PIXEL_FORMATS = {
|
|
396
|
+
DXT1: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
|
|
397
|
+
DXT3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
|
|
398
|
+
DXT5: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
|
|
399
|
+
"ATC ": GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ATC_WEBGL,
|
|
400
|
+
ATCA: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,
|
|
401
|
+
ATCI: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL
|
|
402
|
+
};
|
|
403
|
+
function getDxt1LevelSize(width, height) {
|
|
404
|
+
return (width + 3 >> 2) * (height + 3 >> 2) * 8;
|
|
405
|
+
}
|
|
406
|
+
function getDxtXLevelSize(width, height) {
|
|
407
|
+
return (width + 3 >> 2) * (height + 3 >> 2) * 16;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
// src/lib/parsers/parse-crunch.ts
|
|
411
|
+
var CRN_FORMAT = {
|
|
412
|
+
cCRNFmtInvalid: -1,
|
|
413
|
+
cCRNFmtDXT1: 0,
|
|
414
|
+
cCRNFmtDXT3: 1,
|
|
415
|
+
cCRNFmtDXT5: 2
|
|
416
|
+
};
|
|
417
|
+
var DXT_FORMAT_MAP = {};
|
|
418
|
+
DXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT1] = {
|
|
419
|
+
pixelFormat: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
|
|
420
|
+
sizeFunction: getDxt1LevelSize
|
|
421
|
+
};
|
|
422
|
+
DXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT3] = {
|
|
423
|
+
pixelFormat: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
|
|
424
|
+
sizeFunction: getDxtXLevelSize
|
|
425
|
+
};
|
|
426
|
+
DXT_FORMAT_MAP[CRN_FORMAT.cCRNFmtDXT5] = {
|
|
427
|
+
pixelFormat: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
|
|
428
|
+
sizeFunction: getDxtXLevelSize
|
|
429
|
+
};
|
|
430
|
+
var cachedDstSize = 0;
|
|
431
|
+
var dst;
|
|
432
|
+
async function parseCrunch(data, options) {
|
|
433
|
+
const crunchModule2 = await loadCrunchModule(options);
|
|
434
|
+
const srcSize = data.byteLength;
|
|
435
|
+
const bytes = new Uint8Array(data);
|
|
436
|
+
const src = crunchModule2._malloc(srcSize);
|
|
437
|
+
arrayBufferCopy(bytes, crunchModule2.HEAPU8, src, srcSize);
|
|
438
|
+
const format = crunchModule2._crn_get_dxt_format(src, srcSize);
|
|
439
|
+
assert(Boolean(DXT_FORMAT_MAP[format]), "Unsupported format");
|
|
440
|
+
const mipMapLevels = crunchModule2._crn_get_levels(src, srcSize);
|
|
441
|
+
const width = crunchModule2._crn_get_width(src, srcSize);
|
|
442
|
+
const height = crunchModule2._crn_get_height(src, srcSize);
|
|
443
|
+
const sizeFunction = DXT_FORMAT_MAP[format].sizeFunction;
|
|
444
|
+
let dstSize = 0;
|
|
445
|
+
for (let i = 0; i < mipMapLevels; ++i) {
|
|
446
|
+
dstSize += sizeFunction(width >> i, height >> i);
|
|
447
|
+
}
|
|
448
|
+
if (cachedDstSize < dstSize) {
|
|
449
|
+
if (dst) {
|
|
450
|
+
crunchModule2._free(dst);
|
|
451
|
+
}
|
|
452
|
+
dst = crunchModule2._malloc(dstSize);
|
|
453
|
+
cachedDstSize = dstSize;
|
|
454
|
+
}
|
|
455
|
+
crunchModule2._crn_decompress(src, srcSize, dst, dstSize, 0, mipMapLevels);
|
|
456
|
+
crunchModule2._free(src);
|
|
457
|
+
const image = new Uint8Array(crunchModule2.HEAPU8.buffer, dst, dstSize).slice();
|
|
458
|
+
return extractMipmapImages(image, {
|
|
459
|
+
mipMapLevels,
|
|
460
|
+
width,
|
|
461
|
+
height,
|
|
462
|
+
sizeFunction,
|
|
463
|
+
internalFormat: DXT_FORMAT_MAP[format].pixelFormat
|
|
464
|
+
});
|
|
465
|
+
}
|
|
466
|
+
function arrayBufferCopy(srcData, dstData, dstByteOffset, numBytes) {
|
|
467
|
+
let i;
|
|
468
|
+
const dst32Offset = dstByteOffset / 4;
|
|
469
|
+
const tail = numBytes % 4;
|
|
470
|
+
const src32 = new Uint32Array(srcData.buffer, 0, (numBytes - tail) / 4);
|
|
471
|
+
const dst32 = new Uint32Array(dstData.buffer);
|
|
472
|
+
for (i = 0; i < src32.length; i++) {
|
|
473
|
+
dst32[dst32Offset + i] = src32[i];
|
|
474
|
+
}
|
|
475
|
+
for (i = numBytes - tail; i < numBytes; i++) {
|
|
476
|
+
dstData[dstByteOffset + i] = srcData[i];
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
// src/workers/crunch-worker.ts
|
|
481
|
+
var CrunchLoaderWithParser = {
|
|
482
|
+
...CrunchLoader,
|
|
483
|
+
parse: parseCrunch
|
|
484
|
+
};
|
|
485
|
+
createLoaderWorker(CrunchLoaderWithParser);
|
|
486
|
+
})();
|
package/dist/es5/index.js
CHANGED
|
@@ -81,10 +81,10 @@ Object.defineProperty(exports, "loadImageTextureCube", {
|
|
|
81
81
|
return _loadImageCube.loadImageTextureCube;
|
|
82
82
|
}
|
|
83
83
|
});
|
|
84
|
-
Object.defineProperty(exports, "
|
|
84
|
+
Object.defineProperty(exports, "GL_EXTENSIONS_CONSTANTS", {
|
|
85
85
|
enumerable: true,
|
|
86
86
|
get: function () {
|
|
87
|
-
return
|
|
87
|
+
return _glExtensions.GL_EXTENSIONS_CONSTANTS;
|
|
88
88
|
}
|
|
89
89
|
});
|
|
90
90
|
Object.defineProperty(exports, "selectSupportedBasisFormat", {
|
|
@@ -118,7 +118,7 @@ var _loadImageArray = require("./lib/texture-api/load-image-array");
|
|
|
118
118
|
|
|
119
119
|
var _loadImageCube = require("./lib/texture-api/load-image-cube");
|
|
120
120
|
|
|
121
|
-
var
|
|
121
|
+
var _glExtensions = require("./lib/gl-extensions");
|
|
122
122
|
|
|
123
123
|
var _parseBasis = require("./lib/parsers/parse-basis");
|
|
124
124
|
|
package/dist/es5/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AAGA;;AACA;;AACA;;AAGA;;AACA;;AACA","sourcesContent":["// Types\nexport type {GPUTextureFormat} from './types';\nexport type {TextureLoaderOptions} from './compressed-texture-loader';\n\n// Loaders\nexport {BasisLoader, BasisWorkerLoader} from './basis-loader';\nexport {CompressedTextureLoader, CompressedTextureWorkerLoader} from './compressed-texture-loader';\nexport {CrunchLoader} from './crunch-loader';\nexport {NPYLoader, NPYWorkerLoader} from './npy-loader';\n\n// Writers\nexport {CompressedTextureWriter} from './compressed-texture-writer';\nexport {KTX2BasisUniversalTextureWriter} from './ktx2-basis-universal-texture-writer';\n\n// Texture Loading API\nexport {loadImageTexture} from './lib/texture-api/load-image';\nexport {loadImageTextureArray} from './lib/texture-api/load-image-array';\nexport {loadImageTextureCube} from './lib/texture-api/load-image-cube';\n\n// Utilities\nexport {
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AAGA;;AACA;;AACA;;AAGA;;AACA;;AACA","sourcesContent":["// Types\nexport type {GPUTextureFormat} from './types';\nexport type {TextureLoaderOptions} from './compressed-texture-loader';\n\n// Loaders\nexport {BasisLoader, BasisWorkerLoader} from './basis-loader';\nexport {CompressedTextureLoader, CompressedTextureWorkerLoader} from './compressed-texture-loader';\nexport {CrunchLoader} from './crunch-loader';\nexport {NPYLoader, NPYWorkerLoader} from './npy-loader';\n\n// Writers\nexport {CompressedTextureWriter} from './compressed-texture-writer';\nexport {KTX2BasisUniversalTextureWriter} from './ktx2-basis-universal-texture-writer';\n\n// Texture Loading API\nexport {loadImageTexture} from './lib/texture-api/load-image';\nexport {loadImageTextureArray} from './lib/texture-api/load-image-array';\nexport {loadImageTextureCube} from './lib/texture-api/load-image-cube';\n\n// Utilities\nexport {GL_EXTENSIONS_CONSTANTS} from './lib/gl-extensions';\nexport {selectSupportedBasisFormat} from './lib/parsers/parse-basis';\nexport {getSupportedGPUTextureFormats} from './lib/utils/texture-formats';\n\n// DEPRECATED\nexport {CrunchLoader as CrunchWorkerLoader} from './crunch-loader';\n"],"file":"index.js"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
const
|
|
6
|
+
exports.GL_EXTENSIONS_CONSTANTS = void 0;
|
|
7
|
+
const GL_EXTENSIONS_CONSTANTS = {
|
|
8
8
|
COMPRESSED_RGB_S3TC_DXT1_EXT: 0x83f0,
|
|
9
9
|
COMPRESSED_RGBA_S3TC_DXT1_EXT: 0x83f1,
|
|
10
10
|
COMPRESSED_RGBA_S3TC_DXT3_EXT: 0x83f2,
|
|
@@ -64,5 +64,5 @@ const GL = {
|
|
|
64
64
|
COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: 0x8c4e,
|
|
65
65
|
COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: 0x8c4f
|
|
66
66
|
};
|
|
67
|
-
exports.
|
|
68
|
-
//# sourceMappingURL=gl-
|
|
67
|
+
exports.GL_EXTENSIONS_CONSTANTS = GL_EXTENSIONS_CONSTANTS;
|
|
68
|
+
//# sourceMappingURL=gl-extensions.js.map
|