@galacean/engine-loader 1.4.14 → 1.5.0-alpha.0

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/main.js CHANGED
@@ -292,7 +292,7 @@ var FileHeader = /*#__PURE__*/ function() {
292
292
  exports.MeshDecoder = /*#__PURE__*/ function() {
293
293
  function MeshDecoder() {}
294
294
  MeshDecoder.decode = function decode(engine, bufferReader) {
295
- return new Promise(function(resolve) {
295
+ return new engineCore.AssetPromise(function(resolve) {
296
296
  var modelMesh = new engineCore.ModelMesh(engine);
297
297
  var jsonDataString = bufferReader.nextStr();
298
298
  var encodedMeshData = JSON.parse(jsonDataString);
@@ -426,7 +426,7 @@ function float32ArrayToVector2(float32Array, vertexCount) {
426
426
  exports.Texture2DDecoder = /*#__PURE__*/ function() {
427
427
  function Texture2DDecoder() {}
428
428
  Texture2DDecoder.decode = function decode(engine, bufferReader) {
429
- return new Promise(function(resolve, reject) {
429
+ return new engineCore.AssetPromise(function(resolve, reject) {
430
430
  var objectId = bufferReader.nextStr();
431
431
  var mipmap = !!bufferReader.nextUint8();
432
432
  var filterMode = bufferReader.nextUint8();
@@ -437,9 +437,10 @@ exports.Texture2DDecoder = /*#__PURE__*/ function() {
437
437
  var width = bufferReader.nextUint16();
438
438
  var height = bufferReader.nextUint16();
439
439
  var isPixelBuffer = bufferReader.nextUint8();
440
+ var isSRGBColorSpace = !!bufferReader.nextUint8();
440
441
  var mipCount = bufferReader.nextUint8();
441
442
  var imagesData = bufferReader.nextImagesData(mipCount);
442
- var texture2D = new engineCore.Texture2D(engine, width, height, format, mipmap);
443
+ var texture2D = new engineCore.Texture2D(engine, width, height, format, mipmap, isSRGBColorSpace);
443
444
  texture2D.filterMode = filterMode;
444
445
  texture2D.anisoLevel = anisoLevel;
445
446
  texture2D.wrapModeU = wrapModeU;
@@ -798,7 +799,7 @@ var InterpolableValueType = /*#__PURE__*/ function(InterpolableValueType) {
798
799
  exports.AnimationClipDecoder = /*#__PURE__*/ function() {
799
800
  function AnimationClipDecoder() {}
800
801
  AnimationClipDecoder.decode = function decode(engine, bufferReader) {
801
- return new Promise(function(resolve) {
802
+ return new engineCore.AssetPromise(function(resolve) {
802
803
  var name = bufferReader.nextStr();
803
804
  var clip = new engineCore.AnimationClip(name);
804
805
  var eventsLen = bufferReader.nextUint16();
@@ -1690,7 +1691,7 @@ var EnvLoader = /*#__PURE__*/ function(Loader) {
1690
1691
  var _this;
1691
1692
  var shByteLength = 27 * 4;
1692
1693
  var size = (_this = new Uint16Array(buffer, shByteLength, 1)) == null ? void 0 : _this[0];
1693
- texture || (texture = new engineCore.TextureCube(engine, size));
1694
+ texture || (texture = new engineCore.TextureCube(engine, size, undefined, undefined, false));
1694
1695
  texture.filterMode = engineCore.TextureFilterMode.Trilinear;
1695
1696
  var mipmapCount = texture.mipmapCount;
1696
1697
  var offset = shByteLength + 2;
@@ -1824,6 +1825,203 @@ FontLoader = __decorate([
1824
1825
  ], false)
1825
1826
  ], FontLoader);
1826
1827
 
1828
+ // Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
1829
+ var ready;
1830
+ function getMeshoptDecoder() {
1831
+ if (ready) return ready;
1832
+ var wasm_base = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb";
1833
+ var wasm_simd = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb";
1834
+ var wasmpack = new Uint8Array([
1835
+ 32,
1836
+ 0,
1837
+ 65,
1838
+ 2,
1839
+ 1,
1840
+ 106,
1841
+ 34,
1842
+ 33,
1843
+ 3,
1844
+ 128,
1845
+ 11,
1846
+ 4,
1847
+ 13,
1848
+ 64,
1849
+ 6,
1850
+ 253,
1851
+ 10,
1852
+ 7,
1853
+ 15,
1854
+ 116,
1855
+ 127,
1856
+ 5,
1857
+ 8,
1858
+ 12,
1859
+ 40,
1860
+ 16,
1861
+ 19,
1862
+ 54,
1863
+ 20,
1864
+ 9,
1865
+ 27,
1866
+ 255,
1867
+ 113,
1868
+ 17,
1869
+ 42,
1870
+ 67,
1871
+ 24,
1872
+ 23,
1873
+ 146,
1874
+ 148,
1875
+ 18,
1876
+ 14,
1877
+ 22,
1878
+ 45,
1879
+ 70,
1880
+ 69,
1881
+ 56,
1882
+ 114,
1883
+ 101,
1884
+ 21,
1885
+ 25,
1886
+ 63,
1887
+ 75,
1888
+ 136,
1889
+ 108,
1890
+ 28,
1891
+ 118,
1892
+ 29,
1893
+ 73,
1894
+ 115
1895
+ ]);
1896
+ // @ts-ignore
1897
+ var wasm = engineCore.SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
1898
+ var instance;
1899
+ ready = WebAssembly.instantiate(unpack(wasm)).then(function(result) {
1900
+ instance = result.instance;
1901
+ instance.exports.__wasm_call_ctors();
1902
+ }).then(function() {
1903
+ return {
1904
+ workerCount: 4,
1905
+ ready: ready,
1906
+ useWorkers: function useWorkers(workerCount) {
1907
+ this.workerCount = workerCount != null ? workerCount : this.workerCount;
1908
+ initWorkers(this.workerCount);
1909
+ },
1910
+ decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
1911
+ if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
1912
+ if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
1913
+ return ready.then(function() {
1914
+ var target = new Uint8Array(count * stride);
1915
+ decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
1916
+ return target;
1917
+ });
1918
+ },
1919
+ release: function release() {
1920
+ for(var i = 0; i < workers.length; i++){
1921
+ workers[i].object.terminate();
1922
+ }
1923
+ }
1924
+ };
1925
+ });
1926
+ function unpack(data) {
1927
+ var result = new Uint8Array(data.length);
1928
+ for(var i = 0; i < data.length; ++i){
1929
+ var ch = data.charCodeAt(i);
1930
+ result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
1931
+ }
1932
+ var write = 0;
1933
+ for(var i1 = 0; i1 < data.length; ++i1){
1934
+ result[write++] = result[i1] < 60 ? wasmpack[result[i1]] : (result[i1] - 60) * 64 + result[++i1];
1935
+ }
1936
+ return result.buffer.slice(0, write);
1937
+ }
1938
+ function decode(fun, target, count, size, source, filter) {
1939
+ var sbrk = instance.exports.sbrk;
1940
+ var count4 = count + 3 & ~3;
1941
+ var tp = sbrk(count4 * size);
1942
+ var sp = sbrk(source.length);
1943
+ var heap = new Uint8Array(instance.exports.memory.buffer);
1944
+ heap.set(source, sp);
1945
+ var res = fun(tp, count, size, sp, source.length);
1946
+ if (res == 0 && filter) {
1947
+ filter(tp, count4, size);
1948
+ }
1949
+ target.set(heap.subarray(tp, tp + count * size));
1950
+ sbrk(tp - sbrk(0));
1951
+ if (res != 0) {
1952
+ throw new Error("Malformed buffer data: " + res);
1953
+ }
1954
+ }
1955
+ var filters = {
1956
+ NONE: "",
1957
+ OCTAHEDRAL: "meshopt_decodeFilterOct",
1958
+ QUATERNION: "meshopt_decodeFilterQuat",
1959
+ EXPONENTIAL: "meshopt_decodeFilterExp"
1960
+ };
1961
+ var decoders = {
1962
+ ATTRIBUTES: "meshopt_decodeVertexBuffer",
1963
+ TRIANGLES: "meshopt_decodeIndexBuffer",
1964
+ INDICES: "meshopt_decodeIndexSequence"
1965
+ };
1966
+ var workers = [];
1967
+ var requestId = 0;
1968
+ function createWorker(url) {
1969
+ var worker = {
1970
+ object: new Worker(url),
1971
+ pending: 0,
1972
+ requests: {}
1973
+ };
1974
+ worker.object.onmessage = function(event) {
1975
+ var data = event.data;
1976
+ worker.pending -= data.count;
1977
+ worker.requests[data.id][data.action](data.value);
1978
+ delete worker.requests[data.id];
1979
+ };
1980
+ return worker;
1981
+ }
1982
+ function initWorkers(count) {
1983
+ var source = "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(unpack(wasm)) + "]), {})" + ".then(function(result) {instance = result.instance; instance.exports.__wasm_call_ctors();});\n" + "self.onmessage = workerProcess;\n" + 'function decode(fun, target, count, size, source, filter) {\n const sbrk = instance.exports.sbrk;\n const count4 = (count + 3) & ~3;\n const tp = sbrk(count4 * size);\n const sp = sbrk(source.length);\n const heap = new Uint8Array(instance.exports.memory.buffer);\n heap.set(source, sp);\n const res = fun(tp, count, size, sp, source.length);\n if (res == 0 && filter) {\n filter(tp, count4, size);\n }\n target.set(heap.subarray(tp, tp + count * size));\n sbrk(tp - sbrk(0));\n if (res != 0) {\n throw new Error("Malformed buffer data: " + res);\n }\n }\n' + 'function workerProcess(event) {\n ready.then(function () {\n const data = event.data;\n try {\n const target = new Uint8Array(data.count * data.size);\n decode(instance.exports[data.mode], target, data.count, data.size, data.source, instance.exports[data.filter]);\n self.postMessage({ id: data.id, count: data.count, action: "resolve", value: target }, [target.buffer]);\n } catch (error) {\n self.postMessage({\n id: data.id,\n count: data.count,\n action: "reject",\n value: error\n });\n }\n });\n }';
1984
+ var blob = new Blob([
1985
+ source
1986
+ ], {
1987
+ type: "text/javascript"
1988
+ });
1989
+ var url = URL.createObjectURL(blob);
1990
+ for(var i = 0; i < count; ++i){
1991
+ workers[i] = createWorker(url);
1992
+ }
1993
+ URL.revokeObjectURL(url);
1994
+ }
1995
+ function decodeWorker(count, size, source, mode, filter) {
1996
+ var worker = workers[0];
1997
+ for(var i = 1; i < workers.length; ++i){
1998
+ if (workers[i].pending < worker.pending) {
1999
+ worker = workers[i];
2000
+ }
2001
+ }
2002
+ return new Promise(function(resolve, reject) {
2003
+ var data = new Uint8Array(source);
2004
+ var id = requestId++;
2005
+ worker.pending += count;
2006
+ worker.requests[id] = {
2007
+ resolve: resolve,
2008
+ reject: reject
2009
+ };
2010
+ worker.object.postMessage({
2011
+ id: id,
2012
+ count: count,
2013
+ size: size,
2014
+ source: data,
2015
+ mode: mode,
2016
+ filter: filter
2017
+ }, [
2018
+ data.buffer
2019
+ ]);
2020
+ });
2021
+ }
2022
+ return ready;
2023
+ }
2024
+
1827
2025
  /**
1828
2026
  * The glTF resource.
1829
2027
  */ var GLTFResource = /*#__PURE__*/ function(ReferResource) {
@@ -1850,14 +2048,16 @@ FontLoader = __decorate([
1850
2048
  materials && this._disassociationSuperResource(materials);
1851
2049
  if (meshes) {
1852
2050
  for(var i = 0, n = meshes.length; i < n; i++){
1853
- this._disassociationSuperResource(meshes[i]);
2051
+ var meshArr = meshes[i];
2052
+ meshArr && this._disassociationSuperResource(meshArr);
1854
2053
  }
1855
2054
  }
1856
2055
  };
1857
2056
  _proto._disassociationSuperResource = function _disassociationSuperResource(resources) {
1858
2057
  for(var i = 0, n = resources.length; i < n; i++){
1859
- // @ts-ignore
1860
- resources[i]._disassociationSuperResource(this);
2058
+ var // @ts-ignore
2059
+ _resources_i;
2060
+ (_resources_i = resources[i]) == null ? void 0 : _resources_i._disassociationSuperResource(this);
1861
2061
  }
1862
2062
  };
1863
2063
  _create_class(GLTFResource, [
@@ -2057,6 +2257,7 @@ FontLoader = __decorate([
2057
2257
  this.params = params;
2058
2258
  this.accessorBufferCache = {};
2059
2259
  this.needAnimatorController = false;
2260
+ this./** @internal */ _getPromises = [];
2060
2261
  this._resourceCache = new Map();
2061
2262
  this._progress = {
2062
2263
  taskDetail: {},
@@ -2081,7 +2282,7 @@ FontLoader = __decorate([
2081
2282
  var _this = this;
2082
2283
  var parser = GLTFParserContext._parsers[type];
2083
2284
  if (!parser) {
2084
- return Promise.resolve(null);
2285
+ return engineCore.AssetPromise.resolve(null);
2085
2286
  }
2086
2287
  var cache = this._resourceCache;
2087
2288
  var cacheKey = index === undefined ? "" + type : type + ":" + index;
@@ -2097,7 +2298,7 @@ FontLoader = __decorate([
2097
2298
  if (index === undefined) {
2098
2299
  resource = type === 8 ? glTFItems.map(function(_, index) {
2099
2300
  return _this.get(type, index);
2100
- }) : Promise.all(glTFItems.map(function(_, index) {
2301
+ }) : engineCore.AssetPromise.all(glTFItems.map(function(_, index) {
2101
2302
  return _this.get(type, index);
2102
2303
  }));
2103
2304
  } else {
@@ -2105,12 +2306,15 @@ FontLoader = __decorate([
2105
2306
  isSubAsset && this._handleSubAsset(resource, type, index);
2106
2307
  }
2107
2308
  } else {
2108
- resource = Promise.resolve(null);
2309
+ resource = engineCore.AssetPromise.resolve(null);
2109
2310
  }
2110
2311
  } else {
2111
2312
  resource = parser.parse(this, index);
2112
2313
  isSubAsset && this._handleSubAsset(resource, type, index);
2113
2314
  }
2315
+ if (_instanceof(resource, engineCore.AssetPromise)) {
2316
+ this._getPromises.push(resource);
2317
+ }
2114
2318
  cache.set(cacheKey, resource);
2115
2319
  return resource;
2116
2320
  };
@@ -2119,7 +2323,7 @@ FontLoader = __decorate([
2119
2323
  var promise = this.get(0).then(function(json) {
2120
2324
  _this.glTF = json;
2121
2325
  _this.needAnimatorController = !!(json.skins || json.animations);
2122
- return Promise.all([
2326
+ return engineCore.AssetPromise.all([
2123
2327
  _this.get(1),
2124
2328
  _this.get(5),
2125
2329
  _this.get(6),
@@ -2182,6 +2386,8 @@ FontLoader = __decorate([
2182
2386
  _this.resourceManager._onSubAssetSuccess(url, "defaultSceneRoot", item);
2183
2387
  }
2184
2388
  }
2389
+ }).catch(function(e) {
2390
+ engineCore.Logger.error("GLTFParserContext", "Failed to load " + glTFResourceKey + " " + index + ": " + e);
2185
2391
  });
2186
2392
  }
2187
2393
  };
@@ -2216,8 +2422,8 @@ var GLTFParserType = /*#__PURE__*/ function(GLTFParserType) {
2216
2422
  }({});
2217
2423
  var _obj$3;
2218
2424
  var glTFSchemaMap = (_obj$3 = {}, _obj$3[2] = "scenes", _obj$3[3] = "buffers", _obj$3[5] = "textures", _obj$3[6] = "materials", _obj$3[7] = "meshes", _obj$3[8] = "nodes", _obj$3[9] = "skins", _obj$3[10] = "animations", _obj$3[4] = "bufferViews", _obj$3);
2219
- var _obj1;
2220
- var glTFResourceMap = (_obj1 = {}, _obj1[2] = "_sceneRoots", _obj1[5] = "textures", _obj1[6] = "materials", _obj1[7] = "meshes", _obj1[8] = "entities", _obj1[9] = "skins", _obj1[10] = "animations", _obj1[11] = "animatorController", _obj1);
2425
+ var _obj1$1;
2426
+ var glTFResourceMap = (_obj1$1 = {}, _obj1$1[2] = "_sceneRoots", _obj1$1[5] = "textures", _obj1$1[6] = "materials", _obj1$1[7] = "meshes", _obj1$1[8] = "entities", _obj1$1[9] = "skins", _obj1$1[10] = "animations", _obj1$1[11] = "animatorController", _obj1$1);
2221
2427
  function registerGLTFParser(pipeline) {
2222
2428
  return function(Parser) {
2223
2429
  var parser = new Parser();
@@ -2360,13 +2566,15 @@ function registerGLTFParser(pipeline) {
2360
2566
  bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset1, count1));
2361
2567
  }
2362
2568
  return bufferInfo;
2569
+ }).catch(function(e) {
2570
+ engineCore.Logger.error("GLTFUtil getAccessorBuffer error", e);
2363
2571
  });
2364
2572
  } else {
2365
2573
  var count = accessorCount * dataElementSize;
2366
2574
  var data = new TypedArray(count);
2367
2575
  var bufferInfo = new BufferInfo(data, false, elementStride);
2368
2576
  bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(undefined, TypedArray, undefined, count));
2369
- promise = Promise.resolve(bufferInfo);
2577
+ promise = engineCore.AssetPromise.resolve(bufferInfo);
2370
2578
  }
2371
2579
  return accessor.sparse ? promise.then(function(bufferInfo) {
2372
2580
  return GLTFUtils.processingSparseData(context, accessor, bufferInfo).then(function() {
@@ -2401,7 +2609,7 @@ function registerGLTFParser(pipeline) {
2401
2609
  var _accessor_sparse = accessor.sparse, count = _accessor_sparse.count, indices = _accessor_sparse.indices, values = _accessor_sparse.values;
2402
2610
  var indicesBufferView = bufferViews[indices.bufferView];
2403
2611
  var valuesBufferView = bufferViews[values.bufferView];
2404
- return Promise.all([
2612
+ return engineCore.AssetPromise.all([
2405
2613
  context.get(GLTFParserType.BufferView, indices.bufferView),
2406
2614
  context.get(GLTFParserType.BufferView, values.bufferView)
2407
2615
  ]).then(function(param) {
@@ -2428,6 +2636,8 @@ function registerGLTFParser(pipeline) {
2428
2636
  }
2429
2637
  }
2430
2638
  bufferInfo.data = data;
2639
+ }).catch(function(e) {
2640
+ engineCore.Logger.error("GLTFUtil processingSparseData error", e);
2431
2641
  });
2432
2642
  };
2433
2643
  GLTFUtils.getIndexFormat = function getIndexFormat(type) {
@@ -2608,6 +2818,11 @@ function registerGLTFParser(pipeline) {
2608
2818
  return GLTFUtils;
2609
2819
  }();
2610
2820
 
2821
+ var DFDTransferFunction = /*#__PURE__*/ function(DFDTransferFunction) {
2822
+ DFDTransferFunction[DFDTransferFunction["linear"] = 1] = "linear";
2823
+ DFDTransferFunction[DFDTransferFunction["sRGB"] = 2] = "sRGB";
2824
+ return DFDTransferFunction;
2825
+ }({});
2611
2826
  var SupercompressionScheme = /*#__PURE__*/ function(SupercompressionScheme) {
2612
2827
  SupercompressionScheme[SupercompressionScheme["None"] = 0] = "None";
2613
2828
  SupercompressionScheme[SupercompressionScheme["BasisLZ"] = 1] = "BasisLZ";
@@ -3402,8 +3617,8 @@ exports.KTX2Loader = /*#__PURE__*/ function(Loader) {
3402
3617
  type: "arraybuffer"
3403
3618
  }).onProgress(setTaskCompleteProgress, setTaskDetailProgress).then(function(buffer) {
3404
3619
  return KTX2Loader._parseBuffer(new Uint8Array(buffer), resourceManager.engine, item.params).then(function(param) {
3405
- var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
3406
- return KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
3620
+ var ktx2Container = param.ktx2Container, engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
3621
+ return KTX2Loader._createTextureByBuffer(engine, ktx2Container.isSRGB, result, targetFormat, params);
3407
3622
  });
3408
3623
  }).then(resolve).catch(reject);
3409
3624
  });
@@ -3437,6 +3652,7 @@ exports.KTX2Loader = /*#__PURE__*/ function(Loader) {
3437
3652
  }
3438
3653
  return transcodeResultPromise.then(function(result) {
3439
3654
  return {
3655
+ ktx2Container: ktx2Container,
3440
3656
  engine: engine,
3441
3657
  result: result,
3442
3658
  targetFormat: targetFormat,
@@ -3444,7 +3660,7 @@ exports.KTX2Loader = /*#__PURE__*/ function(Loader) {
3444
3660
  };
3445
3661
  });
3446
3662
  };
3447
- /** @internal */ KTX2Loader._createTextureByBuffer = function _createTextureByBuffer(engine, transcodeResult, targetFormat, params) {
3663
+ /** @internal */ KTX2Loader._createTextureByBuffer = function _createTextureByBuffer(engine, isSRGB, transcodeResult, targetFormat, params) {
3448
3664
  var width = transcodeResult.width, height = transcodeResult.height, faces = transcodeResult.faces;
3449
3665
  var faceCount = faces.length;
3450
3666
  var mipmaps = faces[0];
@@ -3452,13 +3668,13 @@ exports.KTX2Loader = /*#__PURE__*/ function(Loader) {
3452
3668
  var engineFormat = this._getEngineTextureFormat(targetFormat, transcodeResult);
3453
3669
  var texture;
3454
3670
  if (faceCount !== 6) {
3455
- texture = new engineCore.Texture2D(engine, width, height, engineFormat, mipmap);
3671
+ texture = new engineCore.Texture2D(engine, width, height, engineFormat, mipmap, isSRGB);
3456
3672
  for(var mipLevel = 0; mipLevel < mipmaps.length; mipLevel++){
3457
3673
  var data = mipmaps[mipLevel].data;
3458
3674
  texture.setPixelBuffer(data, mipLevel);
3459
3675
  }
3460
3676
  } else {
3461
- texture = new engineCore.TextureCube(engine, height, engineFormat, mipmap);
3677
+ texture = new engineCore.TextureCube(engine, height, engineFormat, mipmap, isSRGB);
3462
3678
  for(var i = 0; i < faces.length; i++){
3463
3679
  var faceData = faces[i];
3464
3680
  for(var mipLevel1 = 0; mipLevel1 < mipmaps.length; mipLevel1++){
@@ -3476,8 +3692,9 @@ exports.KTX2Loader = /*#__PURE__*/ function(Loader) {
3476
3692
  };
3477
3693
  KTX2Loader._decideTargetFormat = function _decideTargetFormat(engine, ktx2Container, priorityFormats) {
3478
3694
  var renderer = engine._hardwareRenderer;
3479
- var targetFormat = this._detectSupportedFormat(renderer, priorityFormats);
3480
- if (targetFormat === KTX2TargetFormat.PVRTC && (!engineMath.MathUtil.isPowerOf2(ktx2Container.pixelWidth) || !engineMath.MathUtil.isPowerOf2(ktx2Container.pixelHeight) || ktx2Container.pixelWidth !== ktx2Container.pixelHeight)) {
3695
+ var isSRGB = ktx2Container.isSRGB, pixelWidth = ktx2Container.pixelWidth, pixelHeight = ktx2Container.pixelHeight;
3696
+ var targetFormat = this._detectSupportedFormat(renderer, priorityFormats, isSRGB);
3697
+ if (targetFormat === KTX2TargetFormat.PVRTC && (!engineMath.MathUtil.isPowerOf2(pixelWidth) || !engineMath.MathUtil.isPowerOf2(pixelHeight) || pixelWidth !== pixelHeight)) {
3481
3698
  engineCore.Logger.warn("PVRTC image need power of 2 and width===height, downgrade to RGBA8");
3482
3699
  return KTX2TargetFormat.R8G8B8A8;
3483
3700
  }
@@ -3487,10 +3704,11 @@ exports.KTX2Loader = /*#__PURE__*/ function(Loader) {
3487
3704
  }
3488
3705
  return targetFormat;
3489
3706
  };
3490
- KTX2Loader._detectSupportedFormat = function _detectSupportedFormat(renderer, priorityFormats) {
3707
+ KTX2Loader._detectSupportedFormat = function _detectSupportedFormat(renderer, priorityFormats, isSRGB) {
3491
3708
  for(var i = 0; i < priorityFormats.length; i++){
3709
+ var _this__capabilityMap_format;
3492
3710
  var format = priorityFormats[i];
3493
- var capabilities = this._supportedMap[format];
3711
+ var capabilities = (_this__capabilityMap_format = this._capabilityMap[format]) == null ? void 0 : _this__capabilityMap_format[isSRGB ? DFDTransferFunction.sRGB : DFDTransferFunction.linear];
3494
3712
  if (capabilities) {
3495
3713
  for(var j = 0; j < capabilities.length; j++){
3496
3714
  if (renderer.canIUse(capabilities[j])) {
@@ -3556,19 +3774,31 @@ exports.KTX2Loader._priorityFormats = {
3556
3774
  KTX2TargetFormat.PVRTC
3557
3775
  ]
3558
3776
  };
3559
- var _obj$1;
3560
- exports.KTX2Loader._supportedMap = (_obj$1 = {}, _obj$1[KTX2TargetFormat.ASTC] = [
3561
- engineCore.GLCapabilityType.astc
3562
- ], _obj$1[KTX2TargetFormat.ETC] = [
3563
- engineCore.GLCapabilityType.etc
3564
- ], _obj$1[KTX2TargetFormat.BC7] = [
3777
+ var _obj$1, _obj1, _obj2, _obj3, _obj4, _obj5;
3778
+ exports.KTX2Loader._capabilityMap = (_obj5 = {}, _obj5[KTX2TargetFormat.ASTC] = (_obj$1 = {}, _obj$1[DFDTransferFunction.linear] = [
3779
+ engineCore.GLCapabilityType.astc,
3780
+ engineCore.GLCapabilityType.astc_webkit
3781
+ ], _obj$1[DFDTransferFunction.sRGB] = [
3782
+ engineCore.GLCapabilityType.astc,
3783
+ engineCore.GLCapabilityType.astc_webkit
3784
+ ], _obj$1), _obj5[KTX2TargetFormat.ETC] = (_obj1 = {}, _obj1[DFDTransferFunction.linear] = [
3785
+ engineCore.GLCapabilityType.etc,
3786
+ engineCore.GLCapabilityType.etc_webkit
3787
+ ], _obj1[DFDTransferFunction.sRGB] = [
3788
+ engineCore.GLCapabilityType.etc,
3789
+ engineCore.GLCapabilityType.etc_webkit
3790
+ ], _obj1), _obj5[KTX2TargetFormat.BC7] = (_obj2 = {}, _obj2[DFDTransferFunction.linear] = [
3565
3791
  engineCore.GLCapabilityType.bptc
3566
- ], _obj$1[KTX2TargetFormat.BC1_BC3] = [
3792
+ ], _obj2[DFDTransferFunction.sRGB] = [
3793
+ engineCore.GLCapabilityType.bptc
3794
+ ], _obj2), _obj5[KTX2TargetFormat.BC1_BC3] = (_obj3 = {}, _obj3[DFDTransferFunction.linear] = [
3567
3795
  engineCore.GLCapabilityType.s3tc
3568
- ], _obj$1[KTX2TargetFormat.PVRTC] = [
3796
+ ], _obj3[DFDTransferFunction.sRGB] = [
3797
+ engineCore.GLCapabilityType.s3tc_srgb
3798
+ ], _obj3), _obj5[KTX2TargetFormat.PVRTC] = (_obj4 = {}, _obj4[DFDTransferFunction.linear] = [
3569
3799
  engineCore.GLCapabilityType.pvrtc,
3570
3800
  engineCore.GLCapabilityType.pvrtc_webkit
3571
- ], _obj$1);
3801
+ ], _obj4), _obj5);
3572
3802
  exports.KTX2Loader = __decorate([
3573
3803
  engineCore.resourceLoader(engineCore.AssetType.KTX2, [
3574
3804
  "ktx2"
@@ -3910,16 +4140,14 @@ exports.KTX2Loader = __decorate([
3910
4140
  for(var _len = arguments.length, extra = new Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++){
3911
4141
  extra[_key - 5] = arguments[_key];
3912
4142
  }
4143
+ var _parser;
3913
4144
  var parser = GLTFParser.getExtensionParser(extensionName, GLTFExtensionMode.AdditiveParse);
3914
- if (parser) {
3915
- var _parser;
3916
- (_parser = parser).additiveParse.apply(_parser, [].concat([
3917
- context,
3918
- parseResource,
3919
- extensionSchema,
3920
- ownerSchema
3921
- ], extra));
3922
- }
4145
+ parser == null ? void 0 : (_parser = parser).additiveParse.apply(_parser, [].concat([
4146
+ context,
4147
+ parseResource,
4148
+ extensionSchema,
4149
+ ownerSchema
4150
+ ], extra));
3923
4151
  };
3924
4152
  return GLTFParser;
3925
4153
  }();
@@ -3985,7 +4213,7 @@ exports.GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
3985
4213
  var animationInfo = context.glTF.animations[index];
3986
4214
  var _animationInfo_name = animationInfo.name, name = _animationInfo_name === void 0 ? "AnimationClip" + index : _animationInfo_name;
3987
4215
  var animationClipPromise = GLTFParser.executeExtensionsCreateAndParse(animationInfo.extensions, context, animationInfo) || GLTFAnimationParser._parseStandardProperty(context, new engineCore.AnimationClip(name), animationInfo);
3988
- return Promise.resolve(animationClipPromise).then(function(animationClip) {
4216
+ return engineCore.AssetPromise.resolve(animationClipPromise).then(function(animationClip) {
3989
4217
  GLTFParser.executeExtensionsAdditiveAndParse(animationInfo.extensions, context, animationClip, animationInfo);
3990
4218
  return animationClip;
3991
4219
  });
@@ -3997,7 +4225,7 @@ exports.GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
3997
4225
  var glTFSampler = samplers[j];
3998
4226
  var inputAccessor = accessors[glTFSampler.input];
3999
4227
  var outputAccessor = accessors[glTFSampler.output];
4000
- var promise = Promise.all([
4228
+ var promise = engineCore.AssetPromise.all([
4001
4229
  GLTFUtils.getAccessorBuffer(context, bufferViews, inputAccessor),
4002
4230
  GLTFUtils.getAccessorBuffer(context, bufferViews, outputAccessor)
4003
4231
  ]).then(function(bufferInfos) {
@@ -4048,7 +4276,7 @@ exports.GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
4048
4276
  // parse samplers
4049
4277
  for(var j = 0, m = len; j < m; j++)_loop(j);
4050
4278
  promises.push(context.get(GLTFParserType.Scene));
4051
- return Promise.all(promises).then(function() {
4279
+ return engineCore.AssetPromise.all(promises).then(function() {
4052
4280
  for(var j = 0, m = channels.length; j < m; j++){
4053
4281
  var glTFChannel = channels[j];
4054
4282
  var target = glTFChannel.target;
@@ -4178,7 +4406,7 @@ exports.GLTFBufferParser = /*#__PURE__*/ function(GLTFParser) {
4178
4406
  var _proto = GLTFBufferParser.prototype;
4179
4407
  _proto.parse = function parse(context, index) {
4180
4408
  var buffers = context.glTF.buffers;
4181
- return context.buffers ? Promise.resolve(context.buffers[index]) : this._parseSingleBuffer(context, buffers[index]);
4409
+ return context.buffers ? engineCore.AssetPromise.resolve(context.buffers[index]) : this._parseSingleBuffer(context, buffers[index]);
4182
4410
  };
4183
4411
  _proto._parseSingleBuffer = function _parseSingleBuffer(context, bufferInfo) {
4184
4412
  var glTFResource = context.glTFResource, contentRestorer = context.contentRestorer, resourceManager = context.resourceManager;
@@ -4265,7 +4493,7 @@ exports.GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4265
4493
  material.name = materialInfo.name;
4266
4494
  GLTFMaterialParser._parseStandardProperty(context, material, materialInfo);
4267
4495
  }
4268
- return Promise.resolve(material).then(function(material) {
4496
+ return engineCore.AssetPromise.resolve(material).then(function(material) {
4269
4497
  // @ts-ignore
4270
4498
  material || (material = engine._basicResources._getBlinnPhongMaterial());
4271
4499
  GLTFParser.executeExtensionsAdditiveAndParse(materialInfo.extensions, context, material, materialInfo);
@@ -4289,12 +4517,14 @@ exports.GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4289
4517
  if (pbrMetallicRoughness) {
4290
4518
  var baseColorFactor = pbrMetallicRoughness.baseColorFactor, baseColorTexture = pbrMetallicRoughness.baseColorTexture, metallicFactor = pbrMetallicRoughness.metallicFactor, roughnessFactor = pbrMetallicRoughness.roughnessFactor, metallicRoughnessTexture = pbrMetallicRoughness.metallicRoughnessTexture;
4291
4519
  if (baseColorFactor) {
4292
- material.baseColor = new engineMath.Color(engineMath.Color.linearToGammaSpace(baseColorFactor[0]), engineMath.Color.linearToGammaSpace(baseColorFactor[1]), engineMath.Color.linearToGammaSpace(baseColorFactor[2]), baseColorFactor[3]);
4520
+ material.baseColor = new engineMath.Color(engineMath.Color.linearToSRGBSpace(baseColorFactor[0]), engineMath.Color.linearToSRGBSpace(baseColorFactor[1]), engineMath.Color.linearToSRGBSpace(baseColorFactor[2]), baseColorFactor[3]);
4293
4521
  }
4294
4522
  if (baseColorTexture) {
4295
4523
  context.get(GLTFParserType.Texture, baseColorTexture.index).then(function(texture) {
4296
4524
  material.baseTexture = texture;
4297
4525
  GLTFParser.executeExtensionsAdditiveAndParse(baseColorTexture.extensions, context, material, baseColorTexture);
4526
+ }).catch(function(e) {
4527
+ engineCore.Logger.error("GLTFMaterialParser: baseColorTexture error", e);
4298
4528
  });
4299
4529
  }
4300
4530
  if (material.constructor === engineCore.PBRMaterial) {
@@ -4304,6 +4534,8 @@ exports.GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4304
4534
  GLTFMaterialParser._checkOtherTextureTransform(metallicRoughnessTexture, "Roughness metallic");
4305
4535
  context.get(GLTFParserType.Texture, metallicRoughnessTexture.index).then(function(texture) {
4306
4536
  material.roughnessMetallicTexture = texture;
4537
+ }).catch(function(e) {
4538
+ engineCore.Logger.error("GLTFMaterialParser: metallicRoughnessTexture error", e);
4307
4539
  });
4308
4540
  }
4309
4541
  }
@@ -4313,16 +4545,20 @@ exports.GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4313
4545
  GLTFMaterialParser._checkOtherTextureTransform(emissiveTexture, "Emissive");
4314
4546
  context.get(GLTFParserType.Texture, emissiveTexture.index).then(function(texture) {
4315
4547
  material.emissiveTexture = texture;
4548
+ }).catch(function(e) {
4549
+ engineCore.Logger.error("GLTFMaterialParser: emissiveTexture error", e);
4316
4550
  });
4317
4551
  }
4318
4552
  if (emissiveFactor) {
4319
- material.emissiveColor = new engineMath.Color(engineMath.Color.linearToGammaSpace(emissiveFactor[0]), engineMath.Color.linearToGammaSpace(emissiveFactor[1]), engineMath.Color.linearToGammaSpace(emissiveFactor[2]));
4553
+ material.emissiveColor = new engineMath.Color(engineMath.Color.linearToSRGBSpace(emissiveFactor[0]), engineMath.Color.linearToSRGBSpace(emissiveFactor[1]), engineMath.Color.linearToSRGBSpace(emissiveFactor[2]));
4320
4554
  }
4321
4555
  if (normalTexture) {
4322
4556
  var index = normalTexture.index, scale = normalTexture.scale;
4323
4557
  GLTFMaterialParser._checkOtherTextureTransform(normalTexture, "Normal");
4324
4558
  context.get(GLTFParserType.Texture, index).then(function(texture) {
4325
4559
  material.normalTexture = texture;
4560
+ }).catch(function(e) {
4561
+ engineCore.Logger.error("GLTFMaterialParser: emissiveTexture error", e);
4326
4562
  });
4327
4563
  if (scale !== undefined) {
4328
4564
  material.normalTextureIntensity = scale;
@@ -4333,6 +4569,8 @@ exports.GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4333
4569
  GLTFMaterialParser._checkOtherTextureTransform(occlusionTexture, "Occlusion");
4334
4570
  context.get(GLTFParserType.Texture, index1).then(function(texture) {
4335
4571
  material.occlusionTexture = texture;
4572
+ }).catch(function(e) {
4573
+ engineCore.Logger.error("GLTFMaterialParser: occlusionTexture error", e);
4336
4574
  });
4337
4575
  if (strength !== undefined) {
4338
4576
  material.occlusionTextureIntensity = strength;
@@ -4376,7 +4614,7 @@ exports.GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
4376
4614
  _proto.parse = function parse(context, index) {
4377
4615
  var _loop = function(i, length) {
4378
4616
  var gltfPrimitive = meshInfo.primitives[i];
4379
- primitivePromises[i] = new Promise(function(resolve) {
4617
+ primitivePromises[i] = new engineCore.AssetPromise(function(resolve, reject) {
4380
4618
  var mesh = GLTFParser.executeExtensionsCreateAndParse(gltfPrimitive.extensions, context, gltfPrimitive, meshInfo);
4381
4619
  if (mesh) {
4382
4620
  if (_instanceof(mesh, engineCore.ModelMesh)) {
@@ -4397,7 +4635,7 @@ exports.GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
4397
4635
  var meshRestoreInfo = new ModelMeshRestoreInfo();
4398
4636
  meshRestoreInfo.mesh = mesh1;
4399
4637
  context.contentRestorer.meshes.push(meshRestoreInfo);
4400
- GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve);
4638
+ GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve, reject);
4401
4639
  }
4402
4640
  });
4403
4641
  };
@@ -4406,7 +4644,7 @@ exports.GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
4406
4644
  var engine = glTFResource.engine;
4407
4645
  var primitivePromises = new Array();
4408
4646
  for(var i = 0, length = meshInfo.primitives.length; i < length; i++)_loop(i);
4409
- return Promise.all(primitivePromises);
4647
+ return engineCore.AssetPromise.all(primitivePromises);
4410
4648
  };
4411
4649
  /**
4412
4650
  * @internal
@@ -4489,7 +4727,7 @@ exports.GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
4489
4727
  var bufferBindIndex = 0;
4490
4728
  var promises = new Array();
4491
4729
  for(var attribute in attributes)_loop(attribute);
4492
- return Promise.all(promises).then(function() {
4730
+ return engineCore.AssetPromise.all(promises).then(function() {
4493
4731
  mesh.setVertexElements(vertexElements);
4494
4732
  // Indices
4495
4733
  if (indices !== undefined) {
@@ -4539,7 +4777,7 @@ exports.GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
4539
4777
  var tangentTarget = targets["TANGENT"];
4540
4778
  var hasNormal = normalTarget !== undefined;
4541
4779
  var hasTangent = tangentTarget !== undefined;
4542
- var promise = Promise.all([
4780
+ var promise = engineCore.AssetPromise.all([
4543
4781
  _this._getBlendShapeData(context, glTF, accessors[targets["POSITION"]]),
4544
4782
  hasNormal ? _this._getBlendShapeData(context, glTF, accessors[normalTarget]) : null,
4545
4783
  hasTangent ? _this._getBlendShapeData(context, glTF, accessors[tangentTarget]) : null
@@ -4559,7 +4797,7 @@ exports.GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
4559
4797
  var blendShapeCount = glTFTargets.length;
4560
4798
  var blendShapeCollection = new Array(blendShapeCount);
4561
4799
  for(var i = 0; i < blendShapeCount; i++)_this = this, _loop(i);
4562
- return Promise.all(promises).then(function() {
4800
+ return engineCore.AssetPromise.all(promises).then(function() {
4563
4801
  for(var _iterator = _create_for_of_iterator_helper_loose(blendShapeCollection), _step; !(_step = _iterator()).done;){
4564
4802
  var blendShape = _step.value;
4565
4803
  mesh.addBlendShape(blendShape.blendShape);
@@ -4606,7 +4844,7 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4606
4844
  for(var i1 = 0; i1 < sceneNodes.length; i1++){
4607
4845
  promises.push(this._parseEntityComponent(context, sceneNodes[i1]));
4608
4846
  }
4609
- return Promise.all(promises).then(function() {
4847
+ return engineCore.AssetPromise.all(promises).then(function() {
4610
4848
  GLTFParser.executeExtensionsAdditiveAndParse(sceneExtensions, context, sceneRoot, sceneInfo);
4611
4849
  return sceneRoot;
4612
4850
  });
@@ -4624,7 +4862,7 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4624
4862
  if (meshID !== undefined) {
4625
4863
  promise = this._createRenderer(context, entityInfo, entity);
4626
4864
  }
4627
- return Promise.resolve(promise).then(function() {
4865
+ return engineCore.AssetPromise.resolve(promise).then(function() {
4628
4866
  var promises = [];
4629
4867
  var children = entityInfo.children;
4630
4868
  if (children) {
@@ -4632,7 +4870,7 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4632
4870
  promises.push(_this._parseEntityComponent(context, children[i]));
4633
4871
  }
4634
4872
  }
4635
- return Promise.all(promises);
4873
+ return engineCore.AssetPromise.all(promises);
4636
4874
  });
4637
4875
  };
4638
4876
  _proto._createCamera = function _createCamera(resource, cameraSchema, entity) {
@@ -4681,10 +4919,10 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4681
4919
  var _glTFMeshPrimitives_i_material;
4682
4920
  materialPromises[i] = context.get(GLTFParserType.Material, (_glTFMeshPrimitives_i_material = glTFMeshPrimitives[i].material) != null ? _glTFMeshPrimitives_i_material : -1);
4683
4921
  }
4684
- return Promise.all([
4922
+ return engineCore.AssetPromise.all([
4685
4923
  context.get(GLTFParserType.Mesh, meshID),
4686
4924
  skinID !== undefined && context.get(GLTFParserType.Skin, skinID),
4687
- Promise.all(materialPromises)
4925
+ engineCore.AssetPromise.all(materialPromises)
4688
4926
  ]).then(function(param) {
4689
4927
  var _loop = function(i) {
4690
4928
  var material = materials[i] || basicResources._getBlinnPhongMaterial();
@@ -4719,6 +4957,8 @@ exports.GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4719
4957
  // @ts-ignore
4720
4958
  var basicResources = context.glTFResource.engine._basicResources;
4721
4959
  for(var i = 0; i < rendererCount; i++)_loop(i);
4960
+ }).catch(function(e) {
4961
+ engineCore.Logger.error("GLTFSceneParser: create renderer error", e);
4722
4962
  });
4723
4963
  };
4724
4964
  _proto._computeLocalBounds = function _computeLocalBounds(skinnedMeshRenderer, mesh, bones, rootBone, inverseBindMatrices) {
@@ -4803,7 +5043,7 @@ exports.GLTFSkinParser = /*#__PURE__*/ function(GLTFParser) {
4803
5043
  }
4804
5044
  return skin;
4805
5045
  });
4806
- return Promise.resolve(skinPromise);
5046
+ return engineCore.AssetPromise.resolve(skinPromise);
4807
5047
  };
4808
5048
  _proto._findSkeletonRootBone = function _findSkeletonRootBone(joints, entities) {
4809
5049
  var paths = {};
@@ -4849,18 +5089,39 @@ exports.GLTFTextureParser = /*#__PURE__*/ function(GLTFParser1) {
4849
5089
  var textureInfo = context.glTF.textures[textureIndex];
4850
5090
  var glTFResource = context.glTFResource;
4851
5091
  var sampler = textureInfo.sampler, tmp = textureInfo.source, imageIndex = tmp === void 0 ? 0 : tmp, textureName = textureInfo.name, extensions = textureInfo.extensions;
4852
- var texture = GLTFParser.executeExtensionsCreateAndParse(extensions, context, textureInfo, textureIndex);
5092
+ var isSRGBColorSpace = this._isSRGBColorSpace(textureIndex, context.glTF.materials);
5093
+ var texture = GLTFParser.executeExtensionsCreateAndParse(extensions, context, textureInfo, textureIndex, isSRGBColorSpace);
4853
5094
  if (!texture) {
4854
- texture = GLTFTextureParser._parseTexture(context, imageIndex, textureIndex, sampler, textureName);
5095
+ texture = GLTFTextureParser._parseTexture(context, imageIndex, textureIndex, sampler, textureName, isSRGBColorSpace);
4855
5096
  }
4856
- return Promise.resolve(texture).then(function(texture) {
5097
+ return engineCore.AssetPromise.resolve(texture).then(function(texture) {
4857
5098
  GLTFParser.executeExtensionsAdditiveAndParse(extensions, context, texture, textureInfo);
4858
5099
  // @ts-ignore
4859
5100
  texture._associationSuperResource(glTFResource);
4860
5101
  return texture;
4861
5102
  });
4862
5103
  };
4863
- /** @internal */ GLTFTextureParser._parseTexture = function _parseTexture(context, imageIndex, textureIndex, sampler, textureName) {
5104
+ _proto._isSRGBColorSpace = function _isSRGBColorSpace(textureIndex, materials) {
5105
+ return materials == null ? void 0 : materials.some(function(material) {
5106
+ var _material_emissiveTexture, _material_pbrMetallicRoughness_baseColorTexture, _material_pbrMetallicRoughness, _material_extensions_KHR_materials_sheen_sheenColorTexture, _material_extensions_KHR_materials_sheen, _material_extensions, _material_extensions_KHR_materials_pbrSpecularGlossiness_diffuseTexture, _material_extensions_KHR_materials_pbrSpecularGlossiness, _material_extensions1, _material_extensions_KHR_materials_pbrSpecularGlossiness_specularGlossinessTexture, _material_extensions_KHR_materials_pbrSpecularGlossiness1, _material_extensions2;
5107
+ if (((_material_emissiveTexture = material.emissiveTexture) == null ? void 0 : _material_emissiveTexture.index) === textureIndex) {
5108
+ return true;
5109
+ }
5110
+ if (((_material_pbrMetallicRoughness = material.pbrMetallicRoughness) == null ? void 0 : (_material_pbrMetallicRoughness_baseColorTexture = _material_pbrMetallicRoughness.baseColorTexture) == null ? void 0 : _material_pbrMetallicRoughness_baseColorTexture.index) === textureIndex) {
5111
+ return true;
5112
+ }
5113
+ if (((_material_extensions = material.extensions) == null ? void 0 : (_material_extensions_KHR_materials_sheen = _material_extensions.KHR_materials_sheen) == null ? void 0 : (_material_extensions_KHR_materials_sheen_sheenColorTexture = _material_extensions_KHR_materials_sheen.sheenColorTexture) == null ? void 0 : _material_extensions_KHR_materials_sheen_sheenColorTexture.index) === textureIndex) {
5114
+ return true;
5115
+ }
5116
+ if (((_material_extensions1 = material.extensions) == null ? void 0 : (_material_extensions_KHR_materials_pbrSpecularGlossiness = _material_extensions1.KHR_materials_pbrSpecularGlossiness) == null ? void 0 : (_material_extensions_KHR_materials_pbrSpecularGlossiness_diffuseTexture = _material_extensions_KHR_materials_pbrSpecularGlossiness.diffuseTexture) == null ? void 0 : _material_extensions_KHR_materials_pbrSpecularGlossiness_diffuseTexture.index) === textureIndex) {
5117
+ return true;
5118
+ }
5119
+ if (((_material_extensions2 = material.extensions) == null ? void 0 : (_material_extensions_KHR_materials_pbrSpecularGlossiness1 = _material_extensions2.KHR_materials_pbrSpecularGlossiness) == null ? void 0 : (_material_extensions_KHR_materials_pbrSpecularGlossiness_specularGlossinessTexture = _material_extensions_KHR_materials_pbrSpecularGlossiness1.specularGlossinessTexture) == null ? void 0 : _material_extensions_KHR_materials_pbrSpecularGlossiness_specularGlossinessTexture.index) === textureIndex) {
5120
+ return true;
5121
+ }
5122
+ });
5123
+ };
5124
+ /** @internal */ GLTFTextureParser._parseTexture = function _parseTexture(context, imageIndex, textureIndex, sampler, textureName, isSRGBColorSpace) {
4864
5125
  var glTFResource = context.glTFResource, glTF = context.glTF;
4865
5126
  var engine = glTFResource.engine, url = glTFResource.url;
4866
5127
  var _glTF_images_imageIndex = glTF.images[imageIndex], uri = _glTF_images_imageIndex.uri, bufferViewIndex = _glTF_images_imageIndex.bufferView, mimeType = _glTF_images_imageIndex.mimeType, imageName = _glTF_images_imageIndex.name;
@@ -4875,7 +5136,8 @@ exports.GLTFTextureParser = /*#__PURE__*/ function(GLTFParser1) {
4875
5136
  url: engineCore.Utils.resolveAbsoluteUrl(url, uri),
4876
5137
  type: type,
4877
5138
  params: {
4878
- mipmap: samplerInfo == null ? void 0 : samplerInfo.mipmap
5139
+ mipmap: samplerInfo == null ? void 0 : samplerInfo.mipmap,
5140
+ isSRGBColorSpace: isSRGBColorSpace
4879
5141
  }
4880
5142
  }).onProgress(undefined, context._onTaskDetail).then(function(texture) {
4881
5143
  texture.name = textureName || imageName || texture.name || "texture_" + textureIndex;
@@ -4889,7 +5151,7 @@ exports.GLTFTextureParser = /*#__PURE__*/ function(GLTFParser1) {
4889
5151
  var buffer = buffers[bufferView.buffer];
4890
5152
  var imageBuffer = new Uint8Array(buffer, bufferView.byteOffset, bufferView.byteLength);
4891
5153
  return GLTFUtils.loadImageBuffer(imageBuffer, mimeType).then(function(image) {
4892
- var texture = new engineCore.Texture2D(engine, image.width, image.height, undefined, samplerInfo == null ? void 0 : samplerInfo.mipmap);
5154
+ var texture = new engineCore.Texture2D(engine, image.width, image.height, undefined, samplerInfo == null ? void 0 : samplerInfo.mipmap, isSRGBColorSpace);
4893
5155
  texture.setImageSource(image);
4894
5156
  texture.generateMipmaps();
4895
5157
  texture.name = textureName || imageName || "texture_" + textureIndex;
@@ -4898,6 +5160,8 @@ exports.GLTFTextureParser = /*#__PURE__*/ function(GLTFParser1) {
4898
5160
  context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
4899
5161
  return texture;
4900
5162
  });
5163
+ }).catch(function(e) {
5164
+ engineCore.Logger.error("GLTFTextureParser: image buffer error", e);
4901
5165
  });
4902
5166
  }
4903
5167
  return texture;
@@ -4940,7 +5204,7 @@ exports.GLTFValidator = /*#__PURE__*/ function(GLTFParser1) {
4940
5204
  }
4941
5205
  }
4942
5206
  }
4943
- return Promise.resolve(null);
5207
+ return engineCore.AssetPromise.resolve(null);
4944
5208
  };
4945
5209
  return GLTFValidator;
4946
5210
  }(GLTFParser);
@@ -4959,6 +5223,8 @@ exports.GLTFBufferViewParser = /*#__PURE__*/ function(GLTFParser1) {
4959
5223
  var extensions = bufferView.extensions, _bufferView_byteOffset = bufferView.byteOffset, byteOffset = _bufferView_byteOffset === void 0 ? 0 : _bufferView_byteOffset, byteLength = bufferView.byteLength, bufferIndex = bufferView.buffer;
4960
5224
  return extensions ? GLTFParser.executeExtensionsCreateAndParse(extensions, context, bufferView) : context.get(GLTFParserType.Buffer, bufferIndex).then(function(buffer) {
4961
5225
  return new Uint8Array(buffer, byteOffset, byteLength);
5226
+ }).catch(function(e) {
5227
+ engineCore.Logger.error("GLTFBufferViewParser: buffer error", e);
4962
5228
  });
4963
5229
  };
4964
5230
  return GLTFBufferViewParser;
@@ -4976,11 +5242,13 @@ exports.GLTFAnimatorControllerParser = /*#__PURE__*/ function(GLTFParser) {
4976
5242
  _proto.parse = function parse(context) {
4977
5243
  var _this = this;
4978
5244
  if (!context.needAnimatorController) {
4979
- return Promise.resolve(null);
5245
+ return engineCore.AssetPromise.resolve(null);
4980
5246
  }
4981
5247
  return context.get(GLTFParserType.Animation).then(function(animations) {
4982
5248
  var animatorController = _this._createAnimatorController(context, animations);
4983
- return Promise.resolve(animatorController);
5249
+ return engineCore.AssetPromise.resolve(animatorController);
5250
+ }).catch(function(e) {
5251
+ engineCore.Logger.error("GLTFAnimatorControllerParser: animator controller error", e);
4984
5252
  });
4985
5253
  };
4986
5254
  _proto._createAnimatorController = function _createAnimatorController(context, animations) {
@@ -5011,203 +5279,6 @@ exports.GLTFAnimatorControllerParser = __decorate([
5011
5279
  registerGLTFParser(GLTFParserType.AnimatorController)
5012
5280
  ], exports.GLTFAnimatorControllerParser);
5013
5281
 
5014
- // Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
5015
- var ready;
5016
- function getMeshoptDecoder() {
5017
- if (ready) return ready;
5018
- var wasm_base = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb";
5019
- var wasm_simd = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb";
5020
- var wasmpack = new Uint8Array([
5021
- 32,
5022
- 0,
5023
- 65,
5024
- 2,
5025
- 1,
5026
- 106,
5027
- 34,
5028
- 33,
5029
- 3,
5030
- 128,
5031
- 11,
5032
- 4,
5033
- 13,
5034
- 64,
5035
- 6,
5036
- 253,
5037
- 10,
5038
- 7,
5039
- 15,
5040
- 116,
5041
- 127,
5042
- 5,
5043
- 8,
5044
- 12,
5045
- 40,
5046
- 16,
5047
- 19,
5048
- 54,
5049
- 20,
5050
- 9,
5051
- 27,
5052
- 255,
5053
- 113,
5054
- 17,
5055
- 42,
5056
- 67,
5057
- 24,
5058
- 23,
5059
- 146,
5060
- 148,
5061
- 18,
5062
- 14,
5063
- 22,
5064
- 45,
5065
- 70,
5066
- 69,
5067
- 56,
5068
- 114,
5069
- 101,
5070
- 21,
5071
- 25,
5072
- 63,
5073
- 75,
5074
- 136,
5075
- 108,
5076
- 28,
5077
- 118,
5078
- 29,
5079
- 73,
5080
- 115
5081
- ]);
5082
- // @ts-ignore
5083
- var wasm = engineCore.SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
5084
- var instance;
5085
- ready = WebAssembly.instantiate(unpack(wasm)).then(function(result) {
5086
- instance = result.instance;
5087
- instance.exports.__wasm_call_ctors();
5088
- }).then(function() {
5089
- return {
5090
- workerCount: 4,
5091
- ready: ready,
5092
- useWorkers: function useWorkers(workerCount) {
5093
- this.workerCount = workerCount != null ? workerCount : this.workerCount;
5094
- initWorkers(this.workerCount);
5095
- },
5096
- decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
5097
- if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
5098
- if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
5099
- return ready.then(function() {
5100
- var target = new Uint8Array(count * stride);
5101
- decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
5102
- return target;
5103
- });
5104
- },
5105
- release: function release() {
5106
- for(var i = 0; i < workers.length; i++){
5107
- workers[i].object.terminate();
5108
- }
5109
- }
5110
- };
5111
- });
5112
- function unpack(data) {
5113
- var result = new Uint8Array(data.length);
5114
- for(var i = 0; i < data.length; ++i){
5115
- var ch = data.charCodeAt(i);
5116
- result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
5117
- }
5118
- var write = 0;
5119
- for(var i1 = 0; i1 < data.length; ++i1){
5120
- result[write++] = result[i1] < 60 ? wasmpack[result[i1]] : (result[i1] - 60) * 64 + result[++i1];
5121
- }
5122
- return result.buffer.slice(0, write);
5123
- }
5124
- function decode(fun, target, count, size, source, filter) {
5125
- var sbrk = instance.exports.sbrk;
5126
- var count4 = count + 3 & ~3;
5127
- var tp = sbrk(count4 * size);
5128
- var sp = sbrk(source.length);
5129
- var heap = new Uint8Array(instance.exports.memory.buffer);
5130
- heap.set(source, sp);
5131
- var res = fun(tp, count, size, sp, source.length);
5132
- if (res == 0 && filter) {
5133
- filter(tp, count4, size);
5134
- }
5135
- target.set(heap.subarray(tp, tp + count * size));
5136
- sbrk(tp - sbrk(0));
5137
- if (res != 0) {
5138
- throw new Error("Malformed buffer data: " + res);
5139
- }
5140
- }
5141
- var filters = {
5142
- NONE: "",
5143
- OCTAHEDRAL: "meshopt_decodeFilterOct",
5144
- QUATERNION: "meshopt_decodeFilterQuat",
5145
- EXPONENTIAL: "meshopt_decodeFilterExp"
5146
- };
5147
- var decoders = {
5148
- ATTRIBUTES: "meshopt_decodeVertexBuffer",
5149
- TRIANGLES: "meshopt_decodeIndexBuffer",
5150
- INDICES: "meshopt_decodeIndexSequence"
5151
- };
5152
- var workers = [];
5153
- var requestId = 0;
5154
- function createWorker(url) {
5155
- var worker = {
5156
- object: new Worker(url),
5157
- pending: 0,
5158
- requests: {}
5159
- };
5160
- worker.object.onmessage = function(event) {
5161
- var data = event.data;
5162
- worker.pending -= data.count;
5163
- worker.requests[data.id][data.action](data.value);
5164
- delete worker.requests[data.id];
5165
- };
5166
- return worker;
5167
- }
5168
- function initWorkers(count) {
5169
- var source = "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(unpack(wasm)) + "]), {})" + ".then(function(result) {instance = result.instance; instance.exports.__wasm_call_ctors();});\n" + "self.onmessage = workerProcess;\n" + 'function decode(fun, target, count, size, source, filter) {\n const sbrk = instance.exports.sbrk;\n const count4 = (count + 3) & ~3;\n const tp = sbrk(count4 * size);\n const sp = sbrk(source.length);\n const heap = new Uint8Array(instance.exports.memory.buffer);\n heap.set(source, sp);\n const res = fun(tp, count, size, sp, source.length);\n if (res == 0 && filter) {\n filter(tp, count4, size);\n }\n target.set(heap.subarray(tp, tp + count * size));\n sbrk(tp - sbrk(0));\n if (res != 0) {\n throw new Error("Malformed buffer data: " + res);\n }\n }\n' + 'function workerProcess(event) {\n ready.then(function () {\n const data = event.data;\n try {\n const target = new Uint8Array(data.count * data.size);\n decode(instance.exports[data.mode], target, data.count, data.size, data.source, instance.exports[data.filter]);\n self.postMessage({ id: data.id, count: data.count, action: "resolve", value: target }, [target.buffer]);\n } catch (error) {\n self.postMessage({\n id: data.id,\n count: data.count,\n action: "reject",\n value: error\n });\n }\n });\n }';
5170
- var blob = new Blob([
5171
- source
5172
- ], {
5173
- type: "text/javascript"
5174
- });
5175
- var url = URL.createObjectURL(blob);
5176
- for(var i = 0; i < count; ++i){
5177
- workers[i] = createWorker(url);
5178
- }
5179
- URL.revokeObjectURL(url);
5180
- }
5181
- function decodeWorker(count, size, source, mode, filter) {
5182
- var worker = workers[0];
5183
- for(var i = 1; i < workers.length; ++i){
5184
- if (workers[i].pending < worker.pending) {
5185
- worker = workers[i];
5186
- }
5187
- }
5188
- return new Promise(function(resolve, reject) {
5189
- var data = new Uint8Array(source);
5190
- var id = requestId++;
5191
- worker.pending += count;
5192
- worker.requests[id] = {
5193
- resolve: resolve,
5194
- reject: reject
5195
- };
5196
- worker.object.postMessage({
5197
- id: id,
5198
- count: count,
5199
- size: size,
5200
- source: data,
5201
- mode: mode,
5202
- filter: filter
5203
- }, [
5204
- data.buffer
5205
- ]);
5206
- });
5207
- }
5208
- return ready;
5209
- }
5210
-
5211
5282
  exports.GLTFLoader = /*#__PURE__*/ function(Loader) {
5212
5283
  _inherits(GLTFLoader, Loader);
5213
5284
  function GLTFLoader() {
@@ -5231,10 +5302,19 @@ exports.GLTFLoader = /*#__PURE__*/ function(Loader) {
5231
5302
  var context = new GLTFParserContext(glTFResource, resourceManager, _extends({
5232
5303
  keepMeshData: false
5233
5304
  }, params));
5234
- return new engineCore.AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress) {
5305
+ return new engineCore.AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress, onTaskCancel) {
5235
5306
  context._setTaskCompleteProgress = setTaskCompleteProgress;
5236
5307
  context._setTaskDetailProgress = setTaskDetailProgress;
5237
- context.parse().then(resolve).catch(reject);
5308
+ onTaskCancel(function() {
5309
+ var getPromises = context._getPromises;
5310
+ for(var i = 0, n = getPromises.length; i < n; i++){
5311
+ getPromises[i].cancel();
5312
+ }
5313
+ });
5314
+ context.parse().then(resolve).catch(function(e) {
5315
+ glTFResource.destroy();
5316
+ reject(e);
5317
+ });
5238
5318
  });
5239
5319
  };
5240
5320
  /**
@@ -5336,7 +5416,7 @@ var HDRLoader = /*#__PURE__*/ function(Loader) {
5336
5416
  var bufferArray = new Uint8Array(buffer);
5337
5417
  var _HDRLoader__parseHeader = HDRLoader._parseHeader(bufferArray), width = _HDRLoader__parseHeader.width, height = _HDRLoader__parseHeader.height, dataPosition = _HDRLoader__parseHeader.dataPosition;
5338
5418
  var cubeSize = height >> 1;
5339
- texture || (texture = new engineCore.TextureCube(engine, cubeSize));
5419
+ texture || (texture = new engineCore.TextureCube(engine, cubeSize, undefined, undefined, false));
5340
5420
  var pixels = HDRLoader._readPixels(bufferArray.subarray(dataPosition), width, height);
5341
5421
  var cubeMapData = HDRLoader._convertToCubemap(pixels, width, height, cubeSize);
5342
5422
  for(var faceIndex = 0; faceIndex < 6; faceIndex++){
@@ -5896,7 +5976,7 @@ var KTXLoader = /*#__PURE__*/ function(Loader) {
5896
5976
  var parsedData = parseSingleKTX(bin);
5897
5977
  var width = parsedData.width, height = parsedData.height, mipmaps = parsedData.mipmaps, engineFormat = parsedData.engineFormat;
5898
5978
  var mipmap = mipmaps.length > 1;
5899
- var texture = new engineCore.Texture2D(resourceManager.engine, width, height, engineFormat, mipmap);
5979
+ var texture = new engineCore.Texture2D(resourceManager.engine, width, height, engineFormat, mipmap, false);
5900
5980
  for(var miplevel = 0; miplevel < mipmaps.length; miplevel++){
5901
5981
  var _mipmaps_miplevel = mipmaps[miplevel], width1 = _mipmaps_miplevel.width, height1 = _mipmaps_miplevel.height, data = _mipmaps_miplevel.data;
5902
5982
  texture.setPixelBuffer(data, miplevel, 0, 0, width1, height1);
@@ -6338,14 +6418,18 @@ var Texture2DLoader = /*#__PURE__*/ function(Loader) {
6338
6418
  resourceManager// @ts-ignore
6339
6419
  ._request(url, requestConfig).onProgress(setTaskCompleteProgress, setTaskDetailProgress).then(function(image) {
6340
6420
  var _item_params;
6341
- var _ref = (_item_params = item.params) != null ? _item_params : {}, format = _ref.format, mipmap = _ref.mipmap, anisoLevel = _ref.anisoLevel, wrapModeU = _ref.wrapModeU, wrapModeV = _ref.wrapModeV, filterMode = _ref.filterMode;
6342
- var texture = new engineCore.Texture2D(resourceManager.engine, image.width, image.height, format, mipmap);
6421
+ var _ref = (_item_params = item.params) != null ? _item_params : {}, _ref_format = _ref.format, format = _ref_format === void 0 ? engineCore.TextureFormat.R8G8B8A8 : _ref_format, anisoLevel = _ref.anisoLevel, wrapModeU = _ref.wrapModeU, wrapModeV = _ref.wrapModeV, filterMode = _ref.filterMode, _ref_isSRGBColorSpace = _ref.isSRGBColorSpace, isSRGBColorSpace = _ref_isSRGBColorSpace === void 0 ? true : _ref_isSRGBColorSpace, _ref_mipmap = _ref.mipmap, mipmap = _ref_mipmap === void 0 ? true : _ref_mipmap;
6422
+ var width = image.width, height = image.height;
6423
+ // @ts-ignore
6424
+ var isWebGL2 = resourceManager.engine._hardwareRenderer._isWebGL2;
6425
+ var generateMipmap = engineCore.TextureUtils.supportGenerateMipmapsWithCorrection(width, height, format, mipmap, isSRGBColorSpace, isWebGL2);
6426
+ var texture = new engineCore.Texture2D(resourceManager.engine, width, height, format, generateMipmap, isSRGBColorSpace);
6343
6427
  texture.anisoLevel = anisoLevel != null ? anisoLevel : texture.anisoLevel;
6344
6428
  texture.filterMode = filterMode != null ? filterMode : texture.filterMode;
6345
6429
  texture.wrapModeU = wrapModeU != null ? wrapModeU : texture.wrapModeU;
6346
6430
  texture.wrapModeV = wrapModeV != null ? wrapModeV : texture.wrapModeV;
6347
6431
  texture.setImageSource(image);
6348
- texture.generateMipmaps();
6432
+ generateMipmap && texture.generateMipmaps();
6349
6433
  if (url.indexOf("data:") !== 0) {
6350
6434
  var index = url.lastIndexOf("/");
6351
6435
  texture.name = url.substring(index + 1);
@@ -6414,16 +6498,25 @@ var TextureCubeLoader = /*#__PURE__*/ function(Loader) {
6414
6498
  Promise.all(urls.map(function(url) {
6415
6499
  return resourceManager._request(url, requestConfig);
6416
6500
  })).then(function(images) {
6501
+ var _item_params;
6502
+ var _ref = (_item_params = item.params) != null ? _item_params : {}, _ref_format = _ref.format, format = _ref_format === void 0 ? engineCore.TextureFormat.R8G8B8A8 : _ref_format, anisoLevel = _ref.anisoLevel, wrapModeU = _ref.wrapModeU, wrapModeV = _ref.wrapModeV, filterMode = _ref.filterMode, _ref_isSRGBColorSpace = _ref.isSRGBColorSpace, isSRGBColorSpace = _ref_isSRGBColorSpace === void 0 ? true : _ref_isSRGBColorSpace, _ref_mipmap = _ref.mipmap, mipmap = _ref_mipmap === void 0 ? true : _ref_mipmap;
6417
6503
  var _images_ = images[0], width = _images_.width, height = _images_.height;
6504
+ // @ts-ignore
6505
+ var isWebGL2 = resourceManager.engine._hardwareRenderer._isWebGL2;
6418
6506
  if (width !== height) {
6419
6507
  console.error("The cube texture must have the same width and height");
6420
6508
  return;
6421
6509
  }
6422
- var texture = new engineCore.TextureCube(resourceManager.engine, width);
6510
+ var generateMipmap = engineCore.TextureUtils.supportGenerateMipmapsWithCorrection(width, height, format, mipmap, isSRGBColorSpace, isWebGL2);
6511
+ var texture = new engineCore.TextureCube(resourceManager.engine, width, format, generateMipmap, isSRGBColorSpace);
6512
+ texture.anisoLevel = anisoLevel != null ? anisoLevel : texture.anisoLevel;
6513
+ texture.filterMode = filterMode != null ? filterMode : texture.filterMode;
6514
+ texture.wrapModeU = wrapModeU != null ? wrapModeU : texture.wrapModeU;
6515
+ texture.wrapModeV = wrapModeV != null ? wrapModeV : texture.wrapModeV;
6423
6516
  for(var faceIndex = 0; faceIndex < 6; faceIndex++){
6424
6517
  texture.setImageSource(engineCore.TextureCubeFace.PositiveX + faceIndex, images[faceIndex], 0);
6425
6518
  }
6426
- texture.generateMipmaps();
6519
+ generateMipmap && texture.generateMipmaps();
6427
6520
  resourceManager.addContentRestorer(new TextureCubeContentRestorer(texture, urls, requestConfig));
6428
6521
  resolve(texture);
6429
6522
  }).catch(function(e) {
@@ -6782,18 +6875,24 @@ var KHR_materials_clearcoat = /*#__PURE__*/ function(GLTFExtensionParser) {
6782
6875
  exports.GLTFMaterialParser._checkOtherTextureTransform(clearcoatTexture, "Clear coat");
6783
6876
  context.get(GLTFParserType.Texture, clearcoatTexture.index).then(function(texture) {
6784
6877
  material.clearCoatTexture = texture;
6878
+ }).catch(function(e) {
6879
+ engineCore.Logger.error("KHR_materials_clearcoat: clearcoat texture error", e);
6785
6880
  });
6786
6881
  }
6787
6882
  if (clearcoatRoughnessTexture) {
6788
6883
  exports.GLTFMaterialParser._checkOtherTextureTransform(clearcoatRoughnessTexture, "Clear coat roughness");
6789
6884
  context.get(GLTFParserType.Texture, clearcoatRoughnessTexture.index).then(function(texture) {
6790
6885
  material.clearCoatRoughnessTexture = texture;
6886
+ }).catch(function(e) {
6887
+ engineCore.Logger.error("KHR_materials_clearcoat: clearcoat roughness texture error", e);
6791
6888
  });
6792
6889
  }
6793
6890
  if (clearcoatNormalTexture) {
6794
6891
  exports.GLTFMaterialParser._checkOtherTextureTransform(clearcoatNormalTexture, "Clear coat normal");
6795
6892
  context.get(GLTFParserType.Texture, clearcoatNormalTexture.index).then(function(texture) {
6796
6893
  material.clearCoatNormalTexture = texture;
6894
+ }).catch(function(e) {
6895
+ engineCore.Logger.error("KHR_materials_clearcoat: clearcoat normal texture error", e);
6797
6896
  });
6798
6897
  }
6799
6898
  };
@@ -6830,16 +6929,18 @@ var KHR_materials_pbrSpecularGlossiness = /*#__PURE__*/ function(GLTFExtensionPa
6830
6929
  var material = new engineCore.PBRSpecularMaterial(engine);
6831
6930
  var diffuseFactor = schema.diffuseFactor, diffuseTexture = schema.diffuseTexture, specularFactor = schema.specularFactor, glossinessFactor = schema.glossinessFactor, specularGlossinessTexture = schema.specularGlossinessTexture;
6832
6931
  if (diffuseFactor) {
6833
- material.baseColor = new engineMath.Color(engineMath.Color.linearToGammaSpace(diffuseFactor[0]), engineMath.Color.linearToGammaSpace(diffuseFactor[1]), engineMath.Color.linearToGammaSpace(diffuseFactor[2]), diffuseFactor[3]);
6932
+ material.baseColor = new engineMath.Color(engineMath.Color.linearToSRGBSpace(diffuseFactor[0]), engineMath.Color.linearToSRGBSpace(diffuseFactor[1]), engineMath.Color.linearToSRGBSpace(diffuseFactor[2]), diffuseFactor[3]);
6834
6933
  }
6835
6934
  if (diffuseTexture) {
6836
6935
  context.get(GLTFParserType.Texture, diffuseTexture.index).then(function(texture) {
6837
6936
  material.baseTexture = texture;
6838
6937
  GLTFParser.executeExtensionsAdditiveAndParse(diffuseTexture.extensions, context, material, diffuseTexture);
6938
+ }).catch(function(e) {
6939
+ engineCore.Logger.error("KHR_materials_pbrSpecularGlossiness: diffuse texture error", e);
6839
6940
  });
6840
6941
  }
6841
6942
  if (specularFactor) {
6842
- material.specularColor = new engineMath.Color(engineMath.Color.linearToGammaSpace(specularFactor[0]), engineMath.Color.linearToGammaSpace(specularFactor[1]), engineMath.Color.linearToGammaSpace(specularFactor[2]));
6943
+ material.specularColor = new engineMath.Color(engineMath.Color.linearToSRGBSpace(specularFactor[0]), engineMath.Color.linearToSRGBSpace(specularFactor[1]), engineMath.Color.linearToSRGBSpace(specularFactor[2]));
6843
6944
  }
6844
6945
  if (glossinessFactor !== undefined) {
6845
6946
  material.glossiness = glossinessFactor;
@@ -6848,6 +6949,8 @@ var KHR_materials_pbrSpecularGlossiness = /*#__PURE__*/ function(GLTFExtensionPa
6848
6949
  exports.GLTFMaterialParser._checkOtherTextureTransform(specularGlossinessTexture, "Specular glossiness");
6849
6950
  context.get(GLTFParserType.Texture, specularGlossinessTexture.index).then(function(texture) {
6850
6951
  material.specularGlossinessTexture = texture;
6952
+ }).catch(function(e) {
6953
+ engineCore.Logger.error("KHR_materials_pbrSpecularGlossiness: specular glossiness texture error", e);
6851
6954
  });
6852
6955
  }
6853
6956
  material.name = ownerSchema.name;
@@ -6869,19 +6972,23 @@ var KHR_materials_sheen = /*#__PURE__*/ function(GLTFExtensionParser) {
6869
6972
  _proto.additiveParse = function additiveParse(context, material, schema) {
6870
6973
  var sheenColorFactor = schema.sheenColorFactor, sheenColorTexture = schema.sheenColorTexture, _schema_sheenRoughnessFactor = schema.sheenRoughnessFactor, sheenRoughnessFactor = _schema_sheenRoughnessFactor === void 0 ? 0 : _schema_sheenRoughnessFactor, sheenRoughnessTexture = schema.sheenRoughnessTexture;
6871
6974
  if (sheenColorFactor) {
6872
- material.sheenColor.set(engineMath.Color.linearToGammaSpace(sheenColorFactor[0]), engineMath.Color.linearToGammaSpace(sheenColorFactor[1]), engineMath.Color.linearToGammaSpace(sheenColorFactor[2]), undefined);
6975
+ material.sheenColor.set(engineMath.Color.linearToSRGBSpace(sheenColorFactor[0]), engineMath.Color.linearToSRGBSpace(sheenColorFactor[1]), engineMath.Color.linearToSRGBSpace(sheenColorFactor[2]), undefined);
6873
6976
  }
6874
6977
  material.sheenRoughness = sheenRoughnessFactor;
6875
6978
  if (sheenColorTexture) {
6876
6979
  exports.GLTFMaterialParser._checkOtherTextureTransform(sheenColorTexture, "Sheen texture");
6877
6980
  context.get(GLTFParserType.Texture, sheenColorTexture.index).then(function(texture) {
6878
6981
  material.sheenColorTexture = texture;
6982
+ }).catch(function(e) {
6983
+ engineCore.Logger.error("KHR_materials_sheen: sheenColorTexture error", e);
6879
6984
  });
6880
6985
  }
6881
6986
  if (sheenRoughnessTexture) {
6882
6987
  exports.GLTFMaterialParser._checkOtherTextureTransform(sheenRoughnessTexture, "SheenRoughness texture");
6883
6988
  context.get(GLTFParserType.Texture, sheenRoughnessTexture.index).then(function(texture) {
6884
6989
  material.sheenRoughnessTexture = texture;
6990
+ }).catch(function(e) {
6991
+ engineCore.Logger.error("KHR_materials_sheen: sheenRoughnessTexture error", e);
6885
6992
  });
6886
6993
  }
6887
6994
  };
@@ -6904,6 +7011,8 @@ var KHR_materials_transmission = /*#__PURE__*/ function(GLTFExtensionParser) {
6904
7011
  exports.GLTFMaterialParser._checkOtherTextureTransform(transmissionTexture, "Transmission texture");
6905
7012
  context.get(GLTFParserType.Texture, transmissionTexture.index).then(function(texture) {
6906
7013
  material.transmissionTexture = texture;
7014
+ }).catch(function(e) {
7015
+ engineCore.Logger.error("KHR_materials_transmission: transmission texture error", e);
6907
7016
  });
6908
7017
  }
6909
7018
  };
@@ -6949,6 +7058,8 @@ var KHR_materials_variants = /*#__PURE__*/ function(GLTFExtensionParser) {
6949
7058
  return variantNames[index].name;
6950
7059
  })
6951
7060
  });
7061
+ }).catch(function(e) {
7062
+ engineCore.Logger.error("KHR_materials_variants: material error", e);
6952
7063
  });
6953
7064
  };
6954
7065
  var _glTFResource;
@@ -6976,12 +7087,14 @@ var KHR_materials_volume = /*#__PURE__*/ function(GLTFExtensionParser) {
6976
7087
  material.thickness = thicknessFactor;
6977
7088
  material.attenuationDistance = attenuationDistance;
6978
7089
  if (attenuationColor) {
6979
- material.attenuationColor.set(engineMath.Color.linearToGammaSpace(attenuationColor[0]), engineMath.Color.linearToGammaSpace(attenuationColor[1]), engineMath.Color.linearToGammaSpace(attenuationColor[2]), undefined);
7090
+ material.attenuationColor.set(engineMath.Color.linearToSRGBSpace(attenuationColor[0]), engineMath.Color.linearToSRGBSpace(attenuationColor[1]), engineMath.Color.linearToSRGBSpace(attenuationColor[2]), undefined);
6980
7091
  }
6981
7092
  if (thicknessTexture) {
6982
7093
  exports.GLTFMaterialParser._checkOtherTextureTransform(thicknessTexture, "Thickness texture");
6983
7094
  context.get(GLTFParserType.Texture, thicknessTexture.index).then(function(texture) {
6984
7095
  material.thicknessTexture = texture;
7096
+ }).catch(function(e) {
7097
+ engineCore.Logger.error("KHR_materials_volume: thickness texture error", e);
6985
7098
  });
6986
7099
  }
6987
7100
  };
@@ -7009,57 +7122,48 @@ var KHR_texture_basisu = /*#__PURE__*/ function(GLTFExtensionParser) {
7009
7122
  }
7010
7123
  var _proto = KHR_texture_basisu.prototype;
7011
7124
  _proto.createAndParse = function createAndParse(context, schema, textureInfo) {
7012
- return _async_to_generator(function() {
7013
- var glTF, glTFResource, engine, url, sampler, textureName, source, _glTF_images_source, uri, bufferViewIndex, mimeType, imageName, samplerInfo, index, promise, bufferView;
7014
- return __generator(this, function(_state) {
7015
- glTF = context.glTF, glTFResource = context.glTFResource;
7016
- engine = glTFResource.engine, url = glTFResource.url;
7017
- sampler = textureInfo.sampler, textureName = textureInfo.name;
7018
- source = schema.source;
7019
- _glTF_images_source = glTF.images[source], uri = _glTF_images_source.uri, bufferViewIndex = _glTF_images_source.bufferView, mimeType = _glTF_images_source.mimeType, imageName = _glTF_images_source.name;
7020
- samplerInfo = sampler !== undefined && GLTFUtils.getSamplerInfo(glTF.samplers[sampler]);
7021
- if (uri) {
7022
- index = uri.lastIndexOf(".");
7023
- promise = engine.resourceManager.load({
7024
- url: engineCore.Utils.resolveAbsoluteUrl(url, uri),
7025
- type: engineCore.AssetType.KTX2
7026
- }).onProgress(undefined, context._onTaskDetail).then(function(texture) {
7027
- if (!texture.name) {
7028
- texture.name = textureName || imageName || "texture_" + index;
7029
- }
7030
- if (sampler !== undefined) {
7031
- GLTFUtils.parseSampler(texture, samplerInfo);
7032
- }
7033
- return texture;
7034
- });
7035
- context._addTaskCompletePromise(promise);
7036
- return [
7037
- 2,
7038
- promise
7039
- ];
7040
- } else {
7041
- bufferView = glTF.bufferViews[bufferViewIndex];
7042
- return [
7043
- 2,
7044
- context.get(GLTFParserType.Buffer, bufferView.buffer).then(function(buffer) {
7045
- var imageBuffer = new Uint8Array(buffer, bufferView.byteOffset, bufferView.byteLength);
7046
- return exports.KTX2Loader._parseBuffer(imageBuffer, engine).then(function(param) {
7047
- var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
7048
- return exports.KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
7049
- }).then(function(texture) {
7050
- texture.name = textureName || imageName || "texture_" + bufferViewIndex;
7051
- if (sampler !== undefined) {
7052
- GLTFUtils.parseSampler(texture, samplerInfo);
7053
- }
7054
- var bufferTextureRestoreInfo = new BufferTextureRestoreInfo(texture, bufferView, mimeType);
7055
- context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
7056
- return texture;
7057
- });
7058
- })
7059
- ];
7125
+ var glTF = context.glTF, glTFResource = context.glTFResource;
7126
+ var engine = glTFResource.engine, url = glTFResource.url;
7127
+ var sampler = textureInfo.sampler, textureName = textureInfo.name;
7128
+ var source = schema.source;
7129
+ var _glTF_images_source = glTF.images[source], uri = _glTF_images_source.uri, bufferViewIndex = _glTF_images_source.bufferView, mimeType = _glTF_images_source.mimeType, imageName = _glTF_images_source.name;
7130
+ var samplerInfo = sampler !== undefined && GLTFUtils.getSamplerInfo(glTF.samplers[sampler]);
7131
+ if (uri) {
7132
+ var index = uri.lastIndexOf(".");
7133
+ var promise = engine.resourceManager.load({
7134
+ url: engineCore.Utils.resolveAbsoluteUrl(url, uri),
7135
+ type: engineCore.AssetType.KTX2
7136
+ }).onProgress(undefined, context._onTaskDetail).then(function(texture) {
7137
+ if (!texture.name) {
7138
+ texture.name = textureName || imageName || "texture_" + index;
7139
+ }
7140
+ if (sampler !== undefined) {
7141
+ GLTFUtils.parseSampler(texture, samplerInfo);
7060
7142
  }
7143
+ return texture;
7061
7144
  });
7062
- })();
7145
+ context._addTaskCompletePromise(promise);
7146
+ return promise;
7147
+ } else {
7148
+ var bufferView = glTF.bufferViews[bufferViewIndex];
7149
+ return context.get(GLTFParserType.Buffer, bufferView.buffer).then(function(buffer) {
7150
+ var imageBuffer = new Uint8Array(buffer, bufferView.byteOffset, bufferView.byteLength);
7151
+ return exports.KTX2Loader._parseBuffer(imageBuffer, engine).then(function(param) {
7152
+ var ktx2Container = param.ktx2Container, engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
7153
+ return exports.KTX2Loader._createTextureByBuffer(engine, ktx2Container.isSRGB, result, targetFormat, params);
7154
+ }).then(function(texture) {
7155
+ texture.name = textureName || imageName || "texture_" + bufferViewIndex;
7156
+ if (sampler !== undefined) {
7157
+ GLTFUtils.parseSampler(texture, samplerInfo);
7158
+ }
7159
+ var bufferTextureRestoreInfo = new BufferTextureRestoreInfo(texture, bufferView, mimeType);
7160
+ context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
7161
+ return texture;
7162
+ });
7163
+ }).catch(function(e) {
7164
+ engineCore.Logger.error("KHR_texture_basisu: buffer error", e);
7165
+ });
7166
+ }
7063
7167
  };
7064
7168
  return KHR_texture_basisu;
7065
7169
  }(GLTFExtensionParser);
@@ -7149,6 +7253,8 @@ var EXT_meshopt_compression = /*#__PURE__*/ function(GLTFExtensionParser) {
7149
7253
  return getMeshoptDecoder().then(function(decoder) {
7150
7254
  return decoder.decodeGltfBuffer(schema.count, schema.byteStride, new Uint8Array(arrayBuffer, schema.byteOffset, schema.byteLength), schema.mode, schema.filter);
7151
7255
  });
7256
+ }).catch(function(e) {
7257
+ engineCore.Logger.error("EXT_meshopt_compression: buffer error", e);
7152
7258
  });
7153
7259
  };
7154
7260
  return EXT_meshopt_compression;
@@ -7171,6 +7277,8 @@ var KHR_materials_anisotropy = /*#__PURE__*/ function(GLTFExtensionParser) {
7171
7277
  exports.GLTFMaterialParser._checkOtherTextureTransform(anisotropyTexture, "Anisotropy texture");
7172
7278
  context.get(GLTFParserType.Texture, anisotropyTexture.index).then(function(texture) {
7173
7279
  material.anisotropyTexture = texture;
7280
+ }).catch(function(e) {
7281
+ engineCore.Logger.error("KHR_materials_anisotropy: anisotropy texture error", e);
7174
7282
  });
7175
7283
  }
7176
7284
  };
@@ -7195,12 +7303,16 @@ var KHR_materials_iridescence = /*#__PURE__*/ function(GLTFExtensionParser) {
7195
7303
  exports.GLTFMaterialParser._checkOtherTextureTransform(iridescenceTexture, "Iridescence texture");
7196
7304
  context.get(GLTFParserType.Texture, iridescenceTexture.index).then(function(texture) {
7197
7305
  material.iridescenceTexture = texture;
7306
+ }).catch(function(e) {
7307
+ engineCore.Logger.error("KHR_materials_iridescence: iridescence texture error", e);
7198
7308
  });
7199
7309
  }
7200
7310
  if (iridescenceThicknessTexture) {
7201
7311
  exports.GLTFMaterialParser._checkOtherTextureTransform(iridescenceThicknessTexture, "IridescenceThickness texture");
7202
7312
  context.get(GLTFParserType.Texture, iridescenceThicknessTexture.index).then(function(texture) {
7203
7313
  material.iridescenceThicknessTexture = texture;
7314
+ }).catch(function(e) {
7315
+ engineCore.Logger.error("KHR_materials_iridescence: iridescence thickness error", e);
7204
7316
  });
7205
7317
  }
7206
7318
  };
@@ -7226,20 +7338,11 @@ var EXT_texture_webp = /*#__PURE__*/ function(GLTFExtensionParser) {
7226
7338
  return _this;
7227
7339
  }
7228
7340
  var _proto = EXT_texture_webp.prototype;
7229
- _proto.createAndParse = function createAndParse(context, schema, textureInfo, textureIndex) {
7230
- var _this = this;
7231
- return _async_to_generator(function() {
7232
- var webPIndex, sampler, tmp, fallbackIndex, textureName, texture;
7233
- return __generator(this, function(_state) {
7234
- webPIndex = schema.source;
7235
- sampler = textureInfo.sampler, tmp = textureInfo.source, fallbackIndex = tmp === void 0 ? 0 : tmp, textureName = textureInfo.name;
7236
- texture = exports.GLTFTextureParser._parseTexture(context, _this._supportWebP ? webPIndex : fallbackIndex, textureIndex, sampler, textureName);
7237
- return [
7238
- 2,
7239
- texture
7240
- ];
7241
- });
7242
- })();
7341
+ _proto.createAndParse = function createAndParse(context, schema, textureInfo, textureIndex, isSRGBColorSpace) {
7342
+ var webPIndex = schema.source;
7343
+ var sampler = textureInfo.sampler, tmp = textureInfo.source, fallbackIndex = tmp === void 0 ? 0 : tmp, textureName = textureInfo.name;
7344
+ var texture = exports.GLTFTextureParser._parseTexture(context, this._supportWebP ? webPIndex : fallbackIndex, textureIndex, sampler, textureName, isSRGBColorSpace);
7345
+ return texture;
7243
7346
  };
7244
7347
  return EXT_texture_webp;
7245
7348
  }(GLTFExtensionParser);