@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/module.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Utils, ModelMesh, BlendShape, Texture2D, Loader, Entity, Transform, AnimationClip, AnimationEvent, AnimationStringCurve, Keyframe, AnimationBoolCurve, AnimationRefCurve, AnimationQuaternionCurve, AnimationColorCurve, AnimationVector4Curve, AnimationVector3Curve, AnimationVector2Curve, AnimationFloatArrayCurve, AnimationArrayCurve, AnimationFloatCurve, ReferResource, Scene, resourceLoader, AssetPromise, AssetType, AnimatorController, AnimatorControllerLayer, AnimatorStateTransition, AmbientLight, DiffuseMode, TextureCube, TextureFilterMode, TextureCubeFace, request, ContentRestorer, Font, Animator, IndexFormat, VertexElementFormat, GLCapabilityType, Logger, TextureFormat, InterpolationType, SkinnedMeshRenderer, PBRMaterial, PBRSpecularMaterial, TextureCoordinate, RenderFace, VertexElement, Buffer, BufferBindFlag, BufferUsage, Camera, MeshRenderer, Skin, TextureWrapMode as TextureWrapMode$1, AnimatorStateMachine, SystemInfo, Shader, Material, PrimitiveMesh, SpriteAtlas, Sprite, AudioClip, AudioManager, ShaderFactory, ShaderLib, PhysicsMaterial, BackgroundMode, DirectLight, PointLight, SpotLight, UnlitMaterial } from '@galacean/engine-core';
1
+ import { Utils, AssetPromise, ModelMesh, BlendShape, Texture2D, Loader, Entity, Transform, AnimationClip, AnimationEvent, AnimationStringCurve, Keyframe, AnimationBoolCurve, AnimationRefCurve, AnimationQuaternionCurve, AnimationColorCurve, AnimationVector4Curve, AnimationVector3Curve, AnimationVector2Curve, AnimationFloatArrayCurve, AnimationArrayCurve, AnimationFloatCurve, ReferResource, Scene, resourceLoader, AssetType, AnimatorController, AnimatorControllerLayer, AnimatorStateTransition, AmbientLight, DiffuseMode, TextureCube, TextureFilterMode, TextureCubeFace, request, ContentRestorer, Font, SystemInfo, Animator, Logger, IndexFormat, VertexElementFormat, GLCapabilityType, TextureFormat, InterpolationType, SkinnedMeshRenderer, PBRMaterial, PBRSpecularMaterial, TextureCoordinate, RenderFace, VertexElement, Buffer, BufferBindFlag, BufferUsage, Camera, MeshRenderer, Skin, TextureWrapMode as TextureWrapMode$1, AnimatorStateMachine, Shader, Material, PrimitiveMesh, SpriteAtlas, Sprite, TextureUtils, AudioClip, AudioManager, ShaderFactory, ShaderLib, PhysicsMaterial, BackgroundMode, DirectLight, PointLight, SpotLight, UnlitMaterial } from '@galacean/engine-core';
2
2
  import { Color, Vector4, Vector3, Vector2, Quaternion, SphericalHarmonics3, MathUtil, BoundingBox, Matrix, Rect } from '@galacean/engine-math';
3
3
  import { GLCompressedTextureInternalFormat } from '@galacean/engine-rhi-webgl';
4
4
 
@@ -288,7 +288,7 @@ var FileHeader = /*#__PURE__*/ function() {
288
288
  var MeshDecoder = /*#__PURE__*/ function() {
289
289
  function MeshDecoder() {}
290
290
  MeshDecoder.decode = function decode(engine, bufferReader) {
291
- return new Promise(function(resolve) {
291
+ return new AssetPromise(function(resolve) {
292
292
  var modelMesh = new ModelMesh(engine);
293
293
  var jsonDataString = bufferReader.nextStr();
294
294
  var encodedMeshData = JSON.parse(jsonDataString);
@@ -422,7 +422,7 @@ function float32ArrayToVector2(float32Array, vertexCount) {
422
422
  var Texture2DDecoder = /*#__PURE__*/ function() {
423
423
  function Texture2DDecoder() {}
424
424
  Texture2DDecoder.decode = function decode(engine, bufferReader) {
425
- return new Promise(function(resolve, reject) {
425
+ return new AssetPromise(function(resolve, reject) {
426
426
  var objectId = bufferReader.nextStr();
427
427
  var mipmap = !!bufferReader.nextUint8();
428
428
  var filterMode = bufferReader.nextUint8();
@@ -433,9 +433,10 @@ var Texture2DDecoder = /*#__PURE__*/ function() {
433
433
  var width = bufferReader.nextUint16();
434
434
  var height = bufferReader.nextUint16();
435
435
  var isPixelBuffer = bufferReader.nextUint8();
436
+ var isSRGBColorSpace = !!bufferReader.nextUint8();
436
437
  var mipCount = bufferReader.nextUint8();
437
438
  var imagesData = bufferReader.nextImagesData(mipCount);
438
- var texture2D = new Texture2D(engine, width, height, format, mipmap);
439
+ var texture2D = new Texture2D(engine, width, height, format, mipmap, isSRGBColorSpace);
439
440
  texture2D.filterMode = filterMode;
440
441
  texture2D.anisoLevel = anisoLevel;
441
442
  texture2D.wrapModeU = wrapModeU;
@@ -794,7 +795,7 @@ var InterpolableValueType = /*#__PURE__*/ function(InterpolableValueType) {
794
795
  var AnimationClipDecoder = /*#__PURE__*/ function() {
795
796
  function AnimationClipDecoder() {}
796
797
  AnimationClipDecoder.decode = function decode(engine, bufferReader) {
797
- return new Promise(function(resolve) {
798
+ return new AssetPromise(function(resolve) {
798
799
  var name = bufferReader.nextStr();
799
800
  var clip = new AnimationClip(name);
800
801
  var eventsLen = bufferReader.nextUint16();
@@ -1686,7 +1687,7 @@ var EnvLoader = /*#__PURE__*/ function(Loader) {
1686
1687
  var _this;
1687
1688
  var shByteLength = 27 * 4;
1688
1689
  var size = (_this = new Uint16Array(buffer, shByteLength, 1)) == null ? void 0 : _this[0];
1689
- texture || (texture = new TextureCube(engine, size));
1690
+ texture || (texture = new TextureCube(engine, size, undefined, undefined, false));
1690
1691
  texture.filterMode = TextureFilterMode.Trilinear;
1691
1692
  var mipmapCount = texture.mipmapCount;
1692
1693
  var offset = shByteLength + 2;
@@ -1820,6 +1821,203 @@ FontLoader = __decorate([
1820
1821
  ], false)
1821
1822
  ], FontLoader);
1822
1823
 
1824
+ // Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
1825
+ var ready;
1826
+ function getMeshoptDecoder() {
1827
+ if (ready) return ready;
1828
+ 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";
1829
+ 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";
1830
+ var wasmpack = new Uint8Array([
1831
+ 32,
1832
+ 0,
1833
+ 65,
1834
+ 2,
1835
+ 1,
1836
+ 106,
1837
+ 34,
1838
+ 33,
1839
+ 3,
1840
+ 128,
1841
+ 11,
1842
+ 4,
1843
+ 13,
1844
+ 64,
1845
+ 6,
1846
+ 253,
1847
+ 10,
1848
+ 7,
1849
+ 15,
1850
+ 116,
1851
+ 127,
1852
+ 5,
1853
+ 8,
1854
+ 12,
1855
+ 40,
1856
+ 16,
1857
+ 19,
1858
+ 54,
1859
+ 20,
1860
+ 9,
1861
+ 27,
1862
+ 255,
1863
+ 113,
1864
+ 17,
1865
+ 42,
1866
+ 67,
1867
+ 24,
1868
+ 23,
1869
+ 146,
1870
+ 148,
1871
+ 18,
1872
+ 14,
1873
+ 22,
1874
+ 45,
1875
+ 70,
1876
+ 69,
1877
+ 56,
1878
+ 114,
1879
+ 101,
1880
+ 21,
1881
+ 25,
1882
+ 63,
1883
+ 75,
1884
+ 136,
1885
+ 108,
1886
+ 28,
1887
+ 118,
1888
+ 29,
1889
+ 73,
1890
+ 115
1891
+ ]);
1892
+ // @ts-ignore
1893
+ var wasm = SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
1894
+ var instance;
1895
+ ready = WebAssembly.instantiate(unpack(wasm)).then(function(result) {
1896
+ instance = result.instance;
1897
+ instance.exports.__wasm_call_ctors();
1898
+ }).then(function() {
1899
+ return {
1900
+ workerCount: 4,
1901
+ ready: ready,
1902
+ useWorkers: function useWorkers(workerCount) {
1903
+ this.workerCount = workerCount != null ? workerCount : this.workerCount;
1904
+ initWorkers(this.workerCount);
1905
+ },
1906
+ decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
1907
+ if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
1908
+ if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
1909
+ return ready.then(function() {
1910
+ var target = new Uint8Array(count * stride);
1911
+ decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
1912
+ return target;
1913
+ });
1914
+ },
1915
+ release: function release() {
1916
+ for(var i = 0; i < workers.length; i++){
1917
+ workers[i].object.terminate();
1918
+ }
1919
+ }
1920
+ };
1921
+ });
1922
+ function unpack(data) {
1923
+ var result = new Uint8Array(data.length);
1924
+ for(var i = 0; i < data.length; ++i){
1925
+ var ch = data.charCodeAt(i);
1926
+ result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
1927
+ }
1928
+ var write = 0;
1929
+ for(var i1 = 0; i1 < data.length; ++i1){
1930
+ result[write++] = result[i1] < 60 ? wasmpack[result[i1]] : (result[i1] - 60) * 64 + result[++i1];
1931
+ }
1932
+ return result.buffer.slice(0, write);
1933
+ }
1934
+ function decode(fun, target, count, size, source, filter) {
1935
+ var sbrk = instance.exports.sbrk;
1936
+ var count4 = count + 3 & ~3;
1937
+ var tp = sbrk(count4 * size);
1938
+ var sp = sbrk(source.length);
1939
+ var heap = new Uint8Array(instance.exports.memory.buffer);
1940
+ heap.set(source, sp);
1941
+ var res = fun(tp, count, size, sp, source.length);
1942
+ if (res == 0 && filter) {
1943
+ filter(tp, count4, size);
1944
+ }
1945
+ target.set(heap.subarray(tp, tp + count * size));
1946
+ sbrk(tp - sbrk(0));
1947
+ if (res != 0) {
1948
+ throw new Error("Malformed buffer data: " + res);
1949
+ }
1950
+ }
1951
+ var filters = {
1952
+ NONE: "",
1953
+ OCTAHEDRAL: "meshopt_decodeFilterOct",
1954
+ QUATERNION: "meshopt_decodeFilterQuat",
1955
+ EXPONENTIAL: "meshopt_decodeFilterExp"
1956
+ };
1957
+ var decoders = {
1958
+ ATTRIBUTES: "meshopt_decodeVertexBuffer",
1959
+ TRIANGLES: "meshopt_decodeIndexBuffer",
1960
+ INDICES: "meshopt_decodeIndexSequence"
1961
+ };
1962
+ var workers = [];
1963
+ var requestId = 0;
1964
+ function createWorker(url) {
1965
+ var worker = {
1966
+ object: new Worker(url),
1967
+ pending: 0,
1968
+ requests: {}
1969
+ };
1970
+ worker.object.onmessage = function(event) {
1971
+ var data = event.data;
1972
+ worker.pending -= data.count;
1973
+ worker.requests[data.id][data.action](data.value);
1974
+ delete worker.requests[data.id];
1975
+ };
1976
+ return worker;
1977
+ }
1978
+ function initWorkers(count) {
1979
+ 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 }';
1980
+ var blob = new Blob([
1981
+ source
1982
+ ], {
1983
+ type: "text/javascript"
1984
+ });
1985
+ var url = URL.createObjectURL(blob);
1986
+ for(var i = 0; i < count; ++i){
1987
+ workers[i] = createWorker(url);
1988
+ }
1989
+ URL.revokeObjectURL(url);
1990
+ }
1991
+ function decodeWorker(count, size, source, mode, filter) {
1992
+ var worker = workers[0];
1993
+ for(var i = 1; i < workers.length; ++i){
1994
+ if (workers[i].pending < worker.pending) {
1995
+ worker = workers[i];
1996
+ }
1997
+ }
1998
+ return new Promise(function(resolve, reject) {
1999
+ var data = new Uint8Array(source);
2000
+ var id = requestId++;
2001
+ worker.pending += count;
2002
+ worker.requests[id] = {
2003
+ resolve: resolve,
2004
+ reject: reject
2005
+ };
2006
+ worker.object.postMessage({
2007
+ id: id,
2008
+ count: count,
2009
+ size: size,
2010
+ source: data,
2011
+ mode: mode,
2012
+ filter: filter
2013
+ }, [
2014
+ data.buffer
2015
+ ]);
2016
+ });
2017
+ }
2018
+ return ready;
2019
+ }
2020
+
1823
2021
  /**
1824
2022
  * The glTF resource.
1825
2023
  */ var GLTFResource = /*#__PURE__*/ function(ReferResource) {
@@ -1846,14 +2044,16 @@ FontLoader = __decorate([
1846
2044
  materials && this._disassociationSuperResource(materials);
1847
2045
  if (meshes) {
1848
2046
  for(var i = 0, n = meshes.length; i < n; i++){
1849
- this._disassociationSuperResource(meshes[i]);
2047
+ var meshArr = meshes[i];
2048
+ meshArr && this._disassociationSuperResource(meshArr);
1850
2049
  }
1851
2050
  }
1852
2051
  };
1853
2052
  _proto._disassociationSuperResource = function _disassociationSuperResource(resources) {
1854
2053
  for(var i = 0, n = resources.length; i < n; i++){
1855
- // @ts-ignore
1856
- resources[i]._disassociationSuperResource(this);
2054
+ var // @ts-ignore
2055
+ _resources_i;
2056
+ (_resources_i = resources[i]) == null ? void 0 : _resources_i._disassociationSuperResource(this);
1857
2057
  }
1858
2058
  };
1859
2059
  _create_class(GLTFResource, [
@@ -2053,6 +2253,7 @@ FontLoader = __decorate([
2053
2253
  this.params = params;
2054
2254
  this.accessorBufferCache = {};
2055
2255
  this.needAnimatorController = false;
2256
+ this./** @internal */ _getPromises = [];
2056
2257
  this._resourceCache = new Map();
2057
2258
  this._progress = {
2058
2259
  taskDetail: {},
@@ -2077,7 +2278,7 @@ FontLoader = __decorate([
2077
2278
  var _this = this;
2078
2279
  var parser = GLTFParserContext._parsers[type];
2079
2280
  if (!parser) {
2080
- return Promise.resolve(null);
2281
+ return AssetPromise.resolve(null);
2081
2282
  }
2082
2283
  var cache = this._resourceCache;
2083
2284
  var cacheKey = index === undefined ? "" + type : type + ":" + index;
@@ -2093,7 +2294,7 @@ FontLoader = __decorate([
2093
2294
  if (index === undefined) {
2094
2295
  resource = type === 8 ? glTFItems.map(function(_, index) {
2095
2296
  return _this.get(type, index);
2096
- }) : Promise.all(glTFItems.map(function(_, index) {
2297
+ }) : AssetPromise.all(glTFItems.map(function(_, index) {
2097
2298
  return _this.get(type, index);
2098
2299
  }));
2099
2300
  } else {
@@ -2101,12 +2302,15 @@ FontLoader = __decorate([
2101
2302
  isSubAsset && this._handleSubAsset(resource, type, index);
2102
2303
  }
2103
2304
  } else {
2104
- resource = Promise.resolve(null);
2305
+ resource = AssetPromise.resolve(null);
2105
2306
  }
2106
2307
  } else {
2107
2308
  resource = parser.parse(this, index);
2108
2309
  isSubAsset && this._handleSubAsset(resource, type, index);
2109
2310
  }
2311
+ if (_instanceof(resource, AssetPromise)) {
2312
+ this._getPromises.push(resource);
2313
+ }
2110
2314
  cache.set(cacheKey, resource);
2111
2315
  return resource;
2112
2316
  };
@@ -2115,7 +2319,7 @@ FontLoader = __decorate([
2115
2319
  var promise = this.get(0).then(function(json) {
2116
2320
  _this.glTF = json;
2117
2321
  _this.needAnimatorController = !!(json.skins || json.animations);
2118
- return Promise.all([
2322
+ return AssetPromise.all([
2119
2323
  _this.get(1),
2120
2324
  _this.get(5),
2121
2325
  _this.get(6),
@@ -2178,6 +2382,8 @@ FontLoader = __decorate([
2178
2382
  _this.resourceManager._onSubAssetSuccess(url, "defaultSceneRoot", item);
2179
2383
  }
2180
2384
  }
2385
+ }).catch(function(e) {
2386
+ Logger.error("GLTFParserContext", "Failed to load " + glTFResourceKey + " " + index + ": " + e);
2181
2387
  });
2182
2388
  }
2183
2389
  };
@@ -2212,8 +2418,8 @@ var GLTFParserType = /*#__PURE__*/ function(GLTFParserType) {
2212
2418
  }({});
2213
2419
  var _obj$3;
2214
2420
  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);
2215
- var _obj1;
2216
- 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);
2421
+ var _obj1$1;
2422
+ 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);
2217
2423
  function registerGLTFParser(pipeline) {
2218
2424
  return function(Parser) {
2219
2425
  var parser = new Parser();
@@ -2356,13 +2562,15 @@ function registerGLTFParser(pipeline) {
2356
2562
  bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset1, count1));
2357
2563
  }
2358
2564
  return bufferInfo;
2565
+ }).catch(function(e) {
2566
+ Logger.error("GLTFUtil getAccessorBuffer error", e);
2359
2567
  });
2360
2568
  } else {
2361
2569
  var count = accessorCount * dataElementSize;
2362
2570
  var data = new TypedArray(count);
2363
2571
  var bufferInfo = new BufferInfo(data, false, elementStride);
2364
2572
  bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(undefined, TypedArray, undefined, count));
2365
- promise = Promise.resolve(bufferInfo);
2573
+ promise = AssetPromise.resolve(bufferInfo);
2366
2574
  }
2367
2575
  return accessor.sparse ? promise.then(function(bufferInfo) {
2368
2576
  return GLTFUtils.processingSparseData(context, accessor, bufferInfo).then(function() {
@@ -2397,7 +2605,7 @@ function registerGLTFParser(pipeline) {
2397
2605
  var _accessor_sparse = accessor.sparse, count = _accessor_sparse.count, indices = _accessor_sparse.indices, values = _accessor_sparse.values;
2398
2606
  var indicesBufferView = bufferViews[indices.bufferView];
2399
2607
  var valuesBufferView = bufferViews[values.bufferView];
2400
- return Promise.all([
2608
+ return AssetPromise.all([
2401
2609
  context.get(GLTFParserType.BufferView, indices.bufferView),
2402
2610
  context.get(GLTFParserType.BufferView, values.bufferView)
2403
2611
  ]).then(function(param) {
@@ -2424,6 +2632,8 @@ function registerGLTFParser(pipeline) {
2424
2632
  }
2425
2633
  }
2426
2634
  bufferInfo.data = data;
2635
+ }).catch(function(e) {
2636
+ Logger.error("GLTFUtil processingSparseData error", e);
2427
2637
  });
2428
2638
  };
2429
2639
  GLTFUtils.getIndexFormat = function getIndexFormat(type) {
@@ -2604,6 +2814,11 @@ function registerGLTFParser(pipeline) {
2604
2814
  return GLTFUtils;
2605
2815
  }();
2606
2816
 
2817
+ var DFDTransferFunction = /*#__PURE__*/ function(DFDTransferFunction) {
2818
+ DFDTransferFunction[DFDTransferFunction["linear"] = 1] = "linear";
2819
+ DFDTransferFunction[DFDTransferFunction["sRGB"] = 2] = "sRGB";
2820
+ return DFDTransferFunction;
2821
+ }({});
2607
2822
  var SupercompressionScheme = /*#__PURE__*/ function(SupercompressionScheme) {
2608
2823
  SupercompressionScheme[SupercompressionScheme["None"] = 0] = "None";
2609
2824
  SupercompressionScheme[SupercompressionScheme["BasisLZ"] = 1] = "BasisLZ";
@@ -3398,8 +3613,8 @@ var KTX2Loader = /*#__PURE__*/ function(Loader) {
3398
3613
  type: "arraybuffer"
3399
3614
  }).onProgress(setTaskCompleteProgress, setTaskDetailProgress).then(function(buffer) {
3400
3615
  return KTX2Loader._parseBuffer(new Uint8Array(buffer), resourceManager.engine, item.params).then(function(param) {
3401
- var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
3402
- return KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
3616
+ var ktx2Container = param.ktx2Container, engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
3617
+ return KTX2Loader._createTextureByBuffer(engine, ktx2Container.isSRGB, result, targetFormat, params);
3403
3618
  });
3404
3619
  }).then(resolve).catch(reject);
3405
3620
  });
@@ -3433,6 +3648,7 @@ var KTX2Loader = /*#__PURE__*/ function(Loader) {
3433
3648
  }
3434
3649
  return transcodeResultPromise.then(function(result) {
3435
3650
  return {
3651
+ ktx2Container: ktx2Container,
3436
3652
  engine: engine,
3437
3653
  result: result,
3438
3654
  targetFormat: targetFormat,
@@ -3440,7 +3656,7 @@ var KTX2Loader = /*#__PURE__*/ function(Loader) {
3440
3656
  };
3441
3657
  });
3442
3658
  };
3443
- /** @internal */ KTX2Loader._createTextureByBuffer = function _createTextureByBuffer(engine, transcodeResult, targetFormat, params) {
3659
+ /** @internal */ KTX2Loader._createTextureByBuffer = function _createTextureByBuffer(engine, isSRGB, transcodeResult, targetFormat, params) {
3444
3660
  var width = transcodeResult.width, height = transcodeResult.height, faces = transcodeResult.faces;
3445
3661
  var faceCount = faces.length;
3446
3662
  var mipmaps = faces[0];
@@ -3448,13 +3664,13 @@ var KTX2Loader = /*#__PURE__*/ function(Loader) {
3448
3664
  var engineFormat = this._getEngineTextureFormat(targetFormat, transcodeResult);
3449
3665
  var texture;
3450
3666
  if (faceCount !== 6) {
3451
- texture = new Texture2D(engine, width, height, engineFormat, mipmap);
3667
+ texture = new Texture2D(engine, width, height, engineFormat, mipmap, isSRGB);
3452
3668
  for(var mipLevel = 0; mipLevel < mipmaps.length; mipLevel++){
3453
3669
  var data = mipmaps[mipLevel].data;
3454
3670
  texture.setPixelBuffer(data, mipLevel);
3455
3671
  }
3456
3672
  } else {
3457
- texture = new TextureCube(engine, height, engineFormat, mipmap);
3673
+ texture = new TextureCube(engine, height, engineFormat, mipmap, isSRGB);
3458
3674
  for(var i = 0; i < faces.length; i++){
3459
3675
  var faceData = faces[i];
3460
3676
  for(var mipLevel1 = 0; mipLevel1 < mipmaps.length; mipLevel1++){
@@ -3472,8 +3688,9 @@ var KTX2Loader = /*#__PURE__*/ function(Loader) {
3472
3688
  };
3473
3689
  KTX2Loader._decideTargetFormat = function _decideTargetFormat(engine, ktx2Container, priorityFormats) {
3474
3690
  var renderer = engine._hardwareRenderer;
3475
- var targetFormat = this._detectSupportedFormat(renderer, priorityFormats);
3476
- if (targetFormat === KTX2TargetFormat.PVRTC && (!MathUtil.isPowerOf2(ktx2Container.pixelWidth) || !MathUtil.isPowerOf2(ktx2Container.pixelHeight) || ktx2Container.pixelWidth !== ktx2Container.pixelHeight)) {
3691
+ var isSRGB = ktx2Container.isSRGB, pixelWidth = ktx2Container.pixelWidth, pixelHeight = ktx2Container.pixelHeight;
3692
+ var targetFormat = this._detectSupportedFormat(renderer, priorityFormats, isSRGB);
3693
+ if (targetFormat === KTX2TargetFormat.PVRTC && (!MathUtil.isPowerOf2(pixelWidth) || !MathUtil.isPowerOf2(pixelHeight) || pixelWidth !== pixelHeight)) {
3477
3694
  Logger.warn("PVRTC image need power of 2 and width===height, downgrade to RGBA8");
3478
3695
  return KTX2TargetFormat.R8G8B8A8;
3479
3696
  }
@@ -3483,10 +3700,11 @@ var KTX2Loader = /*#__PURE__*/ function(Loader) {
3483
3700
  }
3484
3701
  return targetFormat;
3485
3702
  };
3486
- KTX2Loader._detectSupportedFormat = function _detectSupportedFormat(renderer, priorityFormats) {
3703
+ KTX2Loader._detectSupportedFormat = function _detectSupportedFormat(renderer, priorityFormats, isSRGB) {
3487
3704
  for(var i = 0; i < priorityFormats.length; i++){
3705
+ var _this__capabilityMap_format;
3488
3706
  var format = priorityFormats[i];
3489
- var capabilities = this._supportedMap[format];
3707
+ var capabilities = (_this__capabilityMap_format = this._capabilityMap[format]) == null ? void 0 : _this__capabilityMap_format[isSRGB ? DFDTransferFunction.sRGB : DFDTransferFunction.linear];
3490
3708
  if (capabilities) {
3491
3709
  for(var j = 0; j < capabilities.length; j++){
3492
3710
  if (renderer.canIUse(capabilities[j])) {
@@ -3552,19 +3770,31 @@ KTX2Loader._priorityFormats = {
3552
3770
  KTX2TargetFormat.PVRTC
3553
3771
  ]
3554
3772
  };
3555
- var _obj$1;
3556
- KTX2Loader._supportedMap = (_obj$1 = {}, _obj$1[KTX2TargetFormat.ASTC] = [
3557
- GLCapabilityType.astc
3558
- ], _obj$1[KTX2TargetFormat.ETC] = [
3559
- GLCapabilityType.etc
3560
- ], _obj$1[KTX2TargetFormat.BC7] = [
3773
+ var _obj$1, _obj1, _obj2, _obj3, _obj4, _obj5;
3774
+ KTX2Loader._capabilityMap = (_obj5 = {}, _obj5[KTX2TargetFormat.ASTC] = (_obj$1 = {}, _obj$1[DFDTransferFunction.linear] = [
3775
+ GLCapabilityType.astc,
3776
+ GLCapabilityType.astc_webkit
3777
+ ], _obj$1[DFDTransferFunction.sRGB] = [
3778
+ GLCapabilityType.astc,
3779
+ GLCapabilityType.astc_webkit
3780
+ ], _obj$1), _obj5[KTX2TargetFormat.ETC] = (_obj1 = {}, _obj1[DFDTransferFunction.linear] = [
3781
+ GLCapabilityType.etc,
3782
+ GLCapabilityType.etc_webkit
3783
+ ], _obj1[DFDTransferFunction.sRGB] = [
3784
+ GLCapabilityType.etc,
3785
+ GLCapabilityType.etc_webkit
3786
+ ], _obj1), _obj5[KTX2TargetFormat.BC7] = (_obj2 = {}, _obj2[DFDTransferFunction.linear] = [
3561
3787
  GLCapabilityType.bptc
3562
- ], _obj$1[KTX2TargetFormat.BC1_BC3] = [
3788
+ ], _obj2[DFDTransferFunction.sRGB] = [
3789
+ GLCapabilityType.bptc
3790
+ ], _obj2), _obj5[KTX2TargetFormat.BC1_BC3] = (_obj3 = {}, _obj3[DFDTransferFunction.linear] = [
3563
3791
  GLCapabilityType.s3tc
3564
- ], _obj$1[KTX2TargetFormat.PVRTC] = [
3792
+ ], _obj3[DFDTransferFunction.sRGB] = [
3793
+ GLCapabilityType.s3tc_srgb
3794
+ ], _obj3), _obj5[KTX2TargetFormat.PVRTC] = (_obj4 = {}, _obj4[DFDTransferFunction.linear] = [
3565
3795
  GLCapabilityType.pvrtc,
3566
3796
  GLCapabilityType.pvrtc_webkit
3567
- ], _obj$1);
3797
+ ], _obj4), _obj5);
3568
3798
  KTX2Loader = __decorate([
3569
3799
  resourceLoader(AssetType.KTX2, [
3570
3800
  "ktx2"
@@ -3906,16 +4136,14 @@ KTX2Loader = __decorate([
3906
4136
  for(var _len = arguments.length, extra = new Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++){
3907
4137
  extra[_key - 5] = arguments[_key];
3908
4138
  }
4139
+ var _parser;
3909
4140
  var parser = GLTFParser.getExtensionParser(extensionName, GLTFExtensionMode.AdditiveParse);
3910
- if (parser) {
3911
- var _parser;
3912
- (_parser = parser).additiveParse.apply(_parser, [].concat([
3913
- context,
3914
- parseResource,
3915
- extensionSchema,
3916
- ownerSchema
3917
- ], extra));
3918
- }
4141
+ parser == null ? void 0 : (_parser = parser).additiveParse.apply(_parser, [].concat([
4142
+ context,
4143
+ parseResource,
4144
+ extensionSchema,
4145
+ ownerSchema
4146
+ ], extra));
3919
4147
  };
3920
4148
  return GLTFParser;
3921
4149
  }();
@@ -3981,7 +4209,7 @@ var GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
3981
4209
  var animationInfo = context.glTF.animations[index];
3982
4210
  var _animationInfo_name = animationInfo.name, name = _animationInfo_name === void 0 ? "AnimationClip" + index : _animationInfo_name;
3983
4211
  var animationClipPromise = GLTFParser.executeExtensionsCreateAndParse(animationInfo.extensions, context, animationInfo) || GLTFAnimationParser._parseStandardProperty(context, new AnimationClip(name), animationInfo);
3984
- return Promise.resolve(animationClipPromise).then(function(animationClip) {
4212
+ return AssetPromise.resolve(animationClipPromise).then(function(animationClip) {
3985
4213
  GLTFParser.executeExtensionsAdditiveAndParse(animationInfo.extensions, context, animationClip, animationInfo);
3986
4214
  return animationClip;
3987
4215
  });
@@ -3993,7 +4221,7 @@ var GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
3993
4221
  var glTFSampler = samplers[j];
3994
4222
  var inputAccessor = accessors[glTFSampler.input];
3995
4223
  var outputAccessor = accessors[glTFSampler.output];
3996
- var promise = Promise.all([
4224
+ var promise = AssetPromise.all([
3997
4225
  GLTFUtils.getAccessorBuffer(context, bufferViews, inputAccessor),
3998
4226
  GLTFUtils.getAccessorBuffer(context, bufferViews, outputAccessor)
3999
4227
  ]).then(function(bufferInfos) {
@@ -4044,7 +4272,7 @@ var GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
4044
4272
  // parse samplers
4045
4273
  for(var j = 0, m = len; j < m; j++)_loop(j);
4046
4274
  promises.push(context.get(GLTFParserType.Scene));
4047
- return Promise.all(promises).then(function() {
4275
+ return AssetPromise.all(promises).then(function() {
4048
4276
  for(var j = 0, m = channels.length; j < m; j++){
4049
4277
  var glTFChannel = channels[j];
4050
4278
  var target = glTFChannel.target;
@@ -4174,7 +4402,7 @@ var GLTFBufferParser = /*#__PURE__*/ function(GLTFParser) {
4174
4402
  var _proto = GLTFBufferParser.prototype;
4175
4403
  _proto.parse = function parse(context, index) {
4176
4404
  var buffers = context.glTF.buffers;
4177
- return context.buffers ? Promise.resolve(context.buffers[index]) : this._parseSingleBuffer(context, buffers[index]);
4405
+ return context.buffers ? AssetPromise.resolve(context.buffers[index]) : this._parseSingleBuffer(context, buffers[index]);
4178
4406
  };
4179
4407
  _proto._parseSingleBuffer = function _parseSingleBuffer(context, bufferInfo) {
4180
4408
  var glTFResource = context.glTFResource, contentRestorer = context.contentRestorer, resourceManager = context.resourceManager;
@@ -4261,7 +4489,7 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4261
4489
  material.name = materialInfo.name;
4262
4490
  GLTFMaterialParser._parseStandardProperty(context, material, materialInfo);
4263
4491
  }
4264
- return Promise.resolve(material).then(function(material) {
4492
+ return AssetPromise.resolve(material).then(function(material) {
4265
4493
  // @ts-ignore
4266
4494
  material || (material = engine._basicResources._getBlinnPhongMaterial());
4267
4495
  GLTFParser.executeExtensionsAdditiveAndParse(materialInfo.extensions, context, material, materialInfo);
@@ -4285,12 +4513,14 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4285
4513
  if (pbrMetallicRoughness) {
4286
4514
  var baseColorFactor = pbrMetallicRoughness.baseColorFactor, baseColorTexture = pbrMetallicRoughness.baseColorTexture, metallicFactor = pbrMetallicRoughness.metallicFactor, roughnessFactor = pbrMetallicRoughness.roughnessFactor, metallicRoughnessTexture = pbrMetallicRoughness.metallicRoughnessTexture;
4287
4515
  if (baseColorFactor) {
4288
- material.baseColor = new Color(Color.linearToGammaSpace(baseColorFactor[0]), Color.linearToGammaSpace(baseColorFactor[1]), Color.linearToGammaSpace(baseColorFactor[2]), baseColorFactor[3]);
4516
+ material.baseColor = new Color(Color.linearToSRGBSpace(baseColorFactor[0]), Color.linearToSRGBSpace(baseColorFactor[1]), Color.linearToSRGBSpace(baseColorFactor[2]), baseColorFactor[3]);
4289
4517
  }
4290
4518
  if (baseColorTexture) {
4291
4519
  context.get(GLTFParserType.Texture, baseColorTexture.index).then(function(texture) {
4292
4520
  material.baseTexture = texture;
4293
4521
  GLTFParser.executeExtensionsAdditiveAndParse(baseColorTexture.extensions, context, material, baseColorTexture);
4522
+ }).catch(function(e) {
4523
+ Logger.error("GLTFMaterialParser: baseColorTexture error", e);
4294
4524
  });
4295
4525
  }
4296
4526
  if (material.constructor === PBRMaterial) {
@@ -4300,6 +4530,8 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4300
4530
  GLTFMaterialParser._checkOtherTextureTransform(metallicRoughnessTexture, "Roughness metallic");
4301
4531
  context.get(GLTFParserType.Texture, metallicRoughnessTexture.index).then(function(texture) {
4302
4532
  material.roughnessMetallicTexture = texture;
4533
+ }).catch(function(e) {
4534
+ Logger.error("GLTFMaterialParser: metallicRoughnessTexture error", e);
4303
4535
  });
4304
4536
  }
4305
4537
  }
@@ -4309,16 +4541,20 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4309
4541
  GLTFMaterialParser._checkOtherTextureTransform(emissiveTexture, "Emissive");
4310
4542
  context.get(GLTFParserType.Texture, emissiveTexture.index).then(function(texture) {
4311
4543
  material.emissiveTexture = texture;
4544
+ }).catch(function(e) {
4545
+ Logger.error("GLTFMaterialParser: emissiveTexture error", e);
4312
4546
  });
4313
4547
  }
4314
4548
  if (emissiveFactor) {
4315
- material.emissiveColor = new Color(Color.linearToGammaSpace(emissiveFactor[0]), Color.linearToGammaSpace(emissiveFactor[1]), Color.linearToGammaSpace(emissiveFactor[2]));
4549
+ material.emissiveColor = new Color(Color.linearToSRGBSpace(emissiveFactor[0]), Color.linearToSRGBSpace(emissiveFactor[1]), Color.linearToSRGBSpace(emissiveFactor[2]));
4316
4550
  }
4317
4551
  if (normalTexture) {
4318
4552
  var index = normalTexture.index, scale = normalTexture.scale;
4319
4553
  GLTFMaterialParser._checkOtherTextureTransform(normalTexture, "Normal");
4320
4554
  context.get(GLTFParserType.Texture, index).then(function(texture) {
4321
4555
  material.normalTexture = texture;
4556
+ }).catch(function(e) {
4557
+ Logger.error("GLTFMaterialParser: emissiveTexture error", e);
4322
4558
  });
4323
4559
  if (scale !== undefined) {
4324
4560
  material.normalTextureIntensity = scale;
@@ -4329,6 +4565,8 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4329
4565
  GLTFMaterialParser._checkOtherTextureTransform(occlusionTexture, "Occlusion");
4330
4566
  context.get(GLTFParserType.Texture, index1).then(function(texture) {
4331
4567
  material.occlusionTexture = texture;
4568
+ }).catch(function(e) {
4569
+ Logger.error("GLTFMaterialParser: occlusionTexture error", e);
4332
4570
  });
4333
4571
  if (strength !== undefined) {
4334
4572
  material.occlusionTextureIntensity = strength;
@@ -4372,7 +4610,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
4372
4610
  _proto.parse = function parse(context, index) {
4373
4611
  var _loop = function(i, length) {
4374
4612
  var gltfPrimitive = meshInfo.primitives[i];
4375
- primitivePromises[i] = new Promise(function(resolve) {
4613
+ primitivePromises[i] = new AssetPromise(function(resolve, reject) {
4376
4614
  var mesh = GLTFParser.executeExtensionsCreateAndParse(gltfPrimitive.extensions, context, gltfPrimitive, meshInfo);
4377
4615
  if (mesh) {
4378
4616
  if (_instanceof(mesh, ModelMesh)) {
@@ -4393,7 +4631,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
4393
4631
  var meshRestoreInfo = new ModelMeshRestoreInfo();
4394
4632
  meshRestoreInfo.mesh = mesh1;
4395
4633
  context.contentRestorer.meshes.push(meshRestoreInfo);
4396
- GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve);
4634
+ GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve, reject);
4397
4635
  }
4398
4636
  });
4399
4637
  };
@@ -4402,7 +4640,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
4402
4640
  var engine = glTFResource.engine;
4403
4641
  var primitivePromises = new Array();
4404
4642
  for(var i = 0, length = meshInfo.primitives.length; i < length; i++)_loop(i);
4405
- return Promise.all(primitivePromises);
4643
+ return AssetPromise.all(primitivePromises);
4406
4644
  };
4407
4645
  /**
4408
4646
  * @internal
@@ -4485,7 +4723,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
4485
4723
  var bufferBindIndex = 0;
4486
4724
  var promises = new Array();
4487
4725
  for(var attribute in attributes)_loop(attribute);
4488
- return Promise.all(promises).then(function() {
4726
+ return AssetPromise.all(promises).then(function() {
4489
4727
  mesh.setVertexElements(vertexElements);
4490
4728
  // Indices
4491
4729
  if (indices !== undefined) {
@@ -4535,7 +4773,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
4535
4773
  var tangentTarget = targets["TANGENT"];
4536
4774
  var hasNormal = normalTarget !== undefined;
4537
4775
  var hasTangent = tangentTarget !== undefined;
4538
- var promise = Promise.all([
4776
+ var promise = AssetPromise.all([
4539
4777
  _this._getBlendShapeData(context, glTF, accessors[targets["POSITION"]]),
4540
4778
  hasNormal ? _this._getBlendShapeData(context, glTF, accessors[normalTarget]) : null,
4541
4779
  hasTangent ? _this._getBlendShapeData(context, glTF, accessors[tangentTarget]) : null
@@ -4555,7 +4793,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
4555
4793
  var blendShapeCount = glTFTargets.length;
4556
4794
  var blendShapeCollection = new Array(blendShapeCount);
4557
4795
  for(var i = 0; i < blendShapeCount; i++)_this = this, _loop(i);
4558
- return Promise.all(promises).then(function() {
4796
+ return AssetPromise.all(promises).then(function() {
4559
4797
  for(var _iterator = _create_for_of_iterator_helper_loose(blendShapeCollection), _step; !(_step = _iterator()).done;){
4560
4798
  var blendShape = _step.value;
4561
4799
  mesh.addBlendShape(blendShape.blendShape);
@@ -4602,7 +4840,7 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4602
4840
  for(var i1 = 0; i1 < sceneNodes.length; i1++){
4603
4841
  promises.push(this._parseEntityComponent(context, sceneNodes[i1]));
4604
4842
  }
4605
- return Promise.all(promises).then(function() {
4843
+ return AssetPromise.all(promises).then(function() {
4606
4844
  GLTFParser.executeExtensionsAdditiveAndParse(sceneExtensions, context, sceneRoot, sceneInfo);
4607
4845
  return sceneRoot;
4608
4846
  });
@@ -4620,7 +4858,7 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4620
4858
  if (meshID !== undefined) {
4621
4859
  promise = this._createRenderer(context, entityInfo, entity);
4622
4860
  }
4623
- return Promise.resolve(promise).then(function() {
4861
+ return AssetPromise.resolve(promise).then(function() {
4624
4862
  var promises = [];
4625
4863
  var children = entityInfo.children;
4626
4864
  if (children) {
@@ -4628,7 +4866,7 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4628
4866
  promises.push(_this._parseEntityComponent(context, children[i]));
4629
4867
  }
4630
4868
  }
4631
- return Promise.all(promises);
4869
+ return AssetPromise.all(promises);
4632
4870
  });
4633
4871
  };
4634
4872
  _proto._createCamera = function _createCamera(resource, cameraSchema, entity) {
@@ -4677,10 +4915,10 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4677
4915
  var _glTFMeshPrimitives_i_material;
4678
4916
  materialPromises[i] = context.get(GLTFParserType.Material, (_glTFMeshPrimitives_i_material = glTFMeshPrimitives[i].material) != null ? _glTFMeshPrimitives_i_material : -1);
4679
4917
  }
4680
- return Promise.all([
4918
+ return AssetPromise.all([
4681
4919
  context.get(GLTFParserType.Mesh, meshID),
4682
4920
  skinID !== undefined && context.get(GLTFParserType.Skin, skinID),
4683
- Promise.all(materialPromises)
4921
+ AssetPromise.all(materialPromises)
4684
4922
  ]).then(function(param) {
4685
4923
  var _loop = function(i) {
4686
4924
  var material = materials[i] || basicResources._getBlinnPhongMaterial();
@@ -4715,6 +4953,8 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4715
4953
  // @ts-ignore
4716
4954
  var basicResources = context.glTFResource.engine._basicResources;
4717
4955
  for(var i = 0; i < rendererCount; i++)_loop(i);
4956
+ }).catch(function(e) {
4957
+ Logger.error("GLTFSceneParser: create renderer error", e);
4718
4958
  });
4719
4959
  };
4720
4960
  _proto._computeLocalBounds = function _computeLocalBounds(skinnedMeshRenderer, mesh, bones, rootBone, inverseBindMatrices) {
@@ -4799,7 +5039,7 @@ var GLTFSkinParser = /*#__PURE__*/ function(GLTFParser) {
4799
5039
  }
4800
5040
  return skin;
4801
5041
  });
4802
- return Promise.resolve(skinPromise);
5042
+ return AssetPromise.resolve(skinPromise);
4803
5043
  };
4804
5044
  _proto._findSkeletonRootBone = function _findSkeletonRootBone(joints, entities) {
4805
5045
  var paths = {};
@@ -4845,18 +5085,39 @@ var GLTFTextureParser = /*#__PURE__*/ function(GLTFParser1) {
4845
5085
  var textureInfo = context.glTF.textures[textureIndex];
4846
5086
  var glTFResource = context.glTFResource;
4847
5087
  var sampler = textureInfo.sampler, tmp = textureInfo.source, imageIndex = tmp === void 0 ? 0 : tmp, textureName = textureInfo.name, extensions = textureInfo.extensions;
4848
- var texture = GLTFParser.executeExtensionsCreateAndParse(extensions, context, textureInfo, textureIndex);
5088
+ var isSRGBColorSpace = this._isSRGBColorSpace(textureIndex, context.glTF.materials);
5089
+ var texture = GLTFParser.executeExtensionsCreateAndParse(extensions, context, textureInfo, textureIndex, isSRGBColorSpace);
4849
5090
  if (!texture) {
4850
- texture = GLTFTextureParser._parseTexture(context, imageIndex, textureIndex, sampler, textureName);
5091
+ texture = GLTFTextureParser._parseTexture(context, imageIndex, textureIndex, sampler, textureName, isSRGBColorSpace);
4851
5092
  }
4852
- return Promise.resolve(texture).then(function(texture) {
5093
+ return AssetPromise.resolve(texture).then(function(texture) {
4853
5094
  GLTFParser.executeExtensionsAdditiveAndParse(extensions, context, texture, textureInfo);
4854
5095
  // @ts-ignore
4855
5096
  texture._associationSuperResource(glTFResource);
4856
5097
  return texture;
4857
5098
  });
4858
5099
  };
4859
- /** @internal */ GLTFTextureParser._parseTexture = function _parseTexture(context, imageIndex, textureIndex, sampler, textureName) {
5100
+ _proto._isSRGBColorSpace = function _isSRGBColorSpace(textureIndex, materials) {
5101
+ return materials == null ? void 0 : materials.some(function(material) {
5102
+ 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;
5103
+ if (((_material_emissiveTexture = material.emissiveTexture) == null ? void 0 : _material_emissiveTexture.index) === textureIndex) {
5104
+ return true;
5105
+ }
5106
+ if (((_material_pbrMetallicRoughness = material.pbrMetallicRoughness) == null ? void 0 : (_material_pbrMetallicRoughness_baseColorTexture = _material_pbrMetallicRoughness.baseColorTexture) == null ? void 0 : _material_pbrMetallicRoughness_baseColorTexture.index) === textureIndex) {
5107
+ return true;
5108
+ }
5109
+ 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) {
5110
+ return true;
5111
+ }
5112
+ 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) {
5113
+ return true;
5114
+ }
5115
+ 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) {
5116
+ return true;
5117
+ }
5118
+ });
5119
+ };
5120
+ /** @internal */ GLTFTextureParser._parseTexture = function _parseTexture(context, imageIndex, textureIndex, sampler, textureName, isSRGBColorSpace) {
4860
5121
  var glTFResource = context.glTFResource, glTF = context.glTF;
4861
5122
  var engine = glTFResource.engine, url = glTFResource.url;
4862
5123
  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;
@@ -4871,7 +5132,8 @@ var GLTFTextureParser = /*#__PURE__*/ function(GLTFParser1) {
4871
5132
  url: Utils.resolveAbsoluteUrl(url, uri),
4872
5133
  type: type,
4873
5134
  params: {
4874
- mipmap: samplerInfo == null ? void 0 : samplerInfo.mipmap
5135
+ mipmap: samplerInfo == null ? void 0 : samplerInfo.mipmap,
5136
+ isSRGBColorSpace: isSRGBColorSpace
4875
5137
  }
4876
5138
  }).onProgress(undefined, context._onTaskDetail).then(function(texture) {
4877
5139
  texture.name = textureName || imageName || texture.name || "texture_" + textureIndex;
@@ -4885,7 +5147,7 @@ var GLTFTextureParser = /*#__PURE__*/ function(GLTFParser1) {
4885
5147
  var buffer = buffers[bufferView.buffer];
4886
5148
  var imageBuffer = new Uint8Array(buffer, bufferView.byteOffset, bufferView.byteLength);
4887
5149
  return GLTFUtils.loadImageBuffer(imageBuffer, mimeType).then(function(image) {
4888
- var texture = new Texture2D(engine, image.width, image.height, undefined, samplerInfo == null ? void 0 : samplerInfo.mipmap);
5150
+ var texture = new Texture2D(engine, image.width, image.height, undefined, samplerInfo == null ? void 0 : samplerInfo.mipmap, isSRGBColorSpace);
4889
5151
  texture.setImageSource(image);
4890
5152
  texture.generateMipmaps();
4891
5153
  texture.name = textureName || imageName || "texture_" + textureIndex;
@@ -4894,6 +5156,8 @@ var GLTFTextureParser = /*#__PURE__*/ function(GLTFParser1) {
4894
5156
  context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
4895
5157
  return texture;
4896
5158
  });
5159
+ }).catch(function(e) {
5160
+ Logger.error("GLTFTextureParser: image buffer error", e);
4897
5161
  });
4898
5162
  }
4899
5163
  return texture;
@@ -4936,7 +5200,7 @@ var GLTFValidator = /*#__PURE__*/ function(GLTFParser1) {
4936
5200
  }
4937
5201
  }
4938
5202
  }
4939
- return Promise.resolve(null);
5203
+ return AssetPromise.resolve(null);
4940
5204
  };
4941
5205
  return GLTFValidator;
4942
5206
  }(GLTFParser);
@@ -4955,6 +5219,8 @@ var GLTFBufferViewParser = /*#__PURE__*/ function(GLTFParser1) {
4955
5219
  var extensions = bufferView.extensions, _bufferView_byteOffset = bufferView.byteOffset, byteOffset = _bufferView_byteOffset === void 0 ? 0 : _bufferView_byteOffset, byteLength = bufferView.byteLength, bufferIndex = bufferView.buffer;
4956
5220
  return extensions ? GLTFParser.executeExtensionsCreateAndParse(extensions, context, bufferView) : context.get(GLTFParserType.Buffer, bufferIndex).then(function(buffer) {
4957
5221
  return new Uint8Array(buffer, byteOffset, byteLength);
5222
+ }).catch(function(e) {
5223
+ Logger.error("GLTFBufferViewParser: buffer error", e);
4958
5224
  });
4959
5225
  };
4960
5226
  return GLTFBufferViewParser;
@@ -4972,11 +5238,13 @@ var GLTFAnimatorControllerParser = /*#__PURE__*/ function(GLTFParser) {
4972
5238
  _proto.parse = function parse(context) {
4973
5239
  var _this = this;
4974
5240
  if (!context.needAnimatorController) {
4975
- return Promise.resolve(null);
5241
+ return AssetPromise.resolve(null);
4976
5242
  }
4977
5243
  return context.get(GLTFParserType.Animation).then(function(animations) {
4978
5244
  var animatorController = _this._createAnimatorController(context, animations);
4979
- return Promise.resolve(animatorController);
5245
+ return AssetPromise.resolve(animatorController);
5246
+ }).catch(function(e) {
5247
+ Logger.error("GLTFAnimatorControllerParser: animator controller error", e);
4980
5248
  });
4981
5249
  };
4982
5250
  _proto._createAnimatorController = function _createAnimatorController(context, animations) {
@@ -5007,203 +5275,6 @@ GLTFAnimatorControllerParser = __decorate([
5007
5275
  registerGLTFParser(GLTFParserType.AnimatorController)
5008
5276
  ], GLTFAnimatorControllerParser);
5009
5277
 
5010
- // Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
5011
- var ready;
5012
- function getMeshoptDecoder() {
5013
- if (ready) return ready;
5014
- 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";
5015
- 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";
5016
- var wasmpack = new Uint8Array([
5017
- 32,
5018
- 0,
5019
- 65,
5020
- 2,
5021
- 1,
5022
- 106,
5023
- 34,
5024
- 33,
5025
- 3,
5026
- 128,
5027
- 11,
5028
- 4,
5029
- 13,
5030
- 64,
5031
- 6,
5032
- 253,
5033
- 10,
5034
- 7,
5035
- 15,
5036
- 116,
5037
- 127,
5038
- 5,
5039
- 8,
5040
- 12,
5041
- 40,
5042
- 16,
5043
- 19,
5044
- 54,
5045
- 20,
5046
- 9,
5047
- 27,
5048
- 255,
5049
- 113,
5050
- 17,
5051
- 42,
5052
- 67,
5053
- 24,
5054
- 23,
5055
- 146,
5056
- 148,
5057
- 18,
5058
- 14,
5059
- 22,
5060
- 45,
5061
- 70,
5062
- 69,
5063
- 56,
5064
- 114,
5065
- 101,
5066
- 21,
5067
- 25,
5068
- 63,
5069
- 75,
5070
- 136,
5071
- 108,
5072
- 28,
5073
- 118,
5074
- 29,
5075
- 73,
5076
- 115
5077
- ]);
5078
- // @ts-ignore
5079
- var wasm = SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
5080
- var instance;
5081
- ready = WebAssembly.instantiate(unpack(wasm)).then(function(result) {
5082
- instance = result.instance;
5083
- instance.exports.__wasm_call_ctors();
5084
- }).then(function() {
5085
- return {
5086
- workerCount: 4,
5087
- ready: ready,
5088
- useWorkers: function useWorkers(workerCount) {
5089
- this.workerCount = workerCount != null ? workerCount : this.workerCount;
5090
- initWorkers(this.workerCount);
5091
- },
5092
- decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
5093
- if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
5094
- if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
5095
- return ready.then(function() {
5096
- var target = new Uint8Array(count * stride);
5097
- decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
5098
- return target;
5099
- });
5100
- },
5101
- release: function release() {
5102
- for(var i = 0; i < workers.length; i++){
5103
- workers[i].object.terminate();
5104
- }
5105
- }
5106
- };
5107
- });
5108
- function unpack(data) {
5109
- var result = new Uint8Array(data.length);
5110
- for(var i = 0; i < data.length; ++i){
5111
- var ch = data.charCodeAt(i);
5112
- result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
5113
- }
5114
- var write = 0;
5115
- for(var i1 = 0; i1 < data.length; ++i1){
5116
- result[write++] = result[i1] < 60 ? wasmpack[result[i1]] : (result[i1] - 60) * 64 + result[++i1];
5117
- }
5118
- return result.buffer.slice(0, write);
5119
- }
5120
- function decode(fun, target, count, size, source, filter) {
5121
- var sbrk = instance.exports.sbrk;
5122
- var count4 = count + 3 & ~3;
5123
- var tp = sbrk(count4 * size);
5124
- var sp = sbrk(source.length);
5125
- var heap = new Uint8Array(instance.exports.memory.buffer);
5126
- heap.set(source, sp);
5127
- var res = fun(tp, count, size, sp, source.length);
5128
- if (res == 0 && filter) {
5129
- filter(tp, count4, size);
5130
- }
5131
- target.set(heap.subarray(tp, tp + count * size));
5132
- sbrk(tp - sbrk(0));
5133
- if (res != 0) {
5134
- throw new Error("Malformed buffer data: " + res);
5135
- }
5136
- }
5137
- var filters = {
5138
- NONE: "",
5139
- OCTAHEDRAL: "meshopt_decodeFilterOct",
5140
- QUATERNION: "meshopt_decodeFilterQuat",
5141
- EXPONENTIAL: "meshopt_decodeFilterExp"
5142
- };
5143
- var decoders = {
5144
- ATTRIBUTES: "meshopt_decodeVertexBuffer",
5145
- TRIANGLES: "meshopt_decodeIndexBuffer",
5146
- INDICES: "meshopt_decodeIndexSequence"
5147
- };
5148
- var workers = [];
5149
- var requestId = 0;
5150
- function createWorker(url) {
5151
- var worker = {
5152
- object: new Worker(url),
5153
- pending: 0,
5154
- requests: {}
5155
- };
5156
- worker.object.onmessage = function(event) {
5157
- var data = event.data;
5158
- worker.pending -= data.count;
5159
- worker.requests[data.id][data.action](data.value);
5160
- delete worker.requests[data.id];
5161
- };
5162
- return worker;
5163
- }
5164
- function initWorkers(count) {
5165
- 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 }';
5166
- var blob = new Blob([
5167
- source
5168
- ], {
5169
- type: "text/javascript"
5170
- });
5171
- var url = URL.createObjectURL(blob);
5172
- for(var i = 0; i < count; ++i){
5173
- workers[i] = createWorker(url);
5174
- }
5175
- URL.revokeObjectURL(url);
5176
- }
5177
- function decodeWorker(count, size, source, mode, filter) {
5178
- var worker = workers[0];
5179
- for(var i = 1; i < workers.length; ++i){
5180
- if (workers[i].pending < worker.pending) {
5181
- worker = workers[i];
5182
- }
5183
- }
5184
- return new Promise(function(resolve, reject) {
5185
- var data = new Uint8Array(source);
5186
- var id = requestId++;
5187
- worker.pending += count;
5188
- worker.requests[id] = {
5189
- resolve: resolve,
5190
- reject: reject
5191
- };
5192
- worker.object.postMessage({
5193
- id: id,
5194
- count: count,
5195
- size: size,
5196
- source: data,
5197
- mode: mode,
5198
- filter: filter
5199
- }, [
5200
- data.buffer
5201
- ]);
5202
- });
5203
- }
5204
- return ready;
5205
- }
5206
-
5207
5278
  var GLTFLoader = /*#__PURE__*/ function(Loader) {
5208
5279
  _inherits(GLTFLoader, Loader);
5209
5280
  function GLTFLoader() {
@@ -5227,10 +5298,19 @@ var GLTFLoader = /*#__PURE__*/ function(Loader) {
5227
5298
  var context = new GLTFParserContext(glTFResource, resourceManager, _extends({
5228
5299
  keepMeshData: false
5229
5300
  }, params));
5230
- return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress) {
5301
+ return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress, onTaskCancel) {
5231
5302
  context._setTaskCompleteProgress = setTaskCompleteProgress;
5232
5303
  context._setTaskDetailProgress = setTaskDetailProgress;
5233
- context.parse().then(resolve).catch(reject);
5304
+ onTaskCancel(function() {
5305
+ var getPromises = context._getPromises;
5306
+ for(var i = 0, n = getPromises.length; i < n; i++){
5307
+ getPromises[i].cancel();
5308
+ }
5309
+ });
5310
+ context.parse().then(resolve).catch(function(e) {
5311
+ glTFResource.destroy();
5312
+ reject(e);
5313
+ });
5234
5314
  });
5235
5315
  };
5236
5316
  /**
@@ -5332,7 +5412,7 @@ var HDRLoader = /*#__PURE__*/ function(Loader) {
5332
5412
  var bufferArray = new Uint8Array(buffer);
5333
5413
  var _HDRLoader__parseHeader = HDRLoader._parseHeader(bufferArray), width = _HDRLoader__parseHeader.width, height = _HDRLoader__parseHeader.height, dataPosition = _HDRLoader__parseHeader.dataPosition;
5334
5414
  var cubeSize = height >> 1;
5335
- texture || (texture = new TextureCube(engine, cubeSize));
5415
+ texture || (texture = new TextureCube(engine, cubeSize, undefined, undefined, false));
5336
5416
  var pixels = HDRLoader._readPixels(bufferArray.subarray(dataPosition), width, height);
5337
5417
  var cubeMapData = HDRLoader._convertToCubemap(pixels, width, height, cubeSize);
5338
5418
  for(var faceIndex = 0; faceIndex < 6; faceIndex++){
@@ -5892,7 +5972,7 @@ var KTXLoader = /*#__PURE__*/ function(Loader) {
5892
5972
  var parsedData = parseSingleKTX(bin);
5893
5973
  var width = parsedData.width, height = parsedData.height, mipmaps = parsedData.mipmaps, engineFormat = parsedData.engineFormat;
5894
5974
  var mipmap = mipmaps.length > 1;
5895
- var texture = new Texture2D(resourceManager.engine, width, height, engineFormat, mipmap);
5975
+ var texture = new Texture2D(resourceManager.engine, width, height, engineFormat, mipmap, false);
5896
5976
  for(var miplevel = 0; miplevel < mipmaps.length; miplevel++){
5897
5977
  var _mipmaps_miplevel = mipmaps[miplevel], width1 = _mipmaps_miplevel.width, height1 = _mipmaps_miplevel.height, data = _mipmaps_miplevel.data;
5898
5978
  texture.setPixelBuffer(data, miplevel, 0, 0, width1, height1);
@@ -6334,14 +6414,18 @@ var Texture2DLoader = /*#__PURE__*/ function(Loader) {
6334
6414
  resourceManager// @ts-ignore
6335
6415
  ._request(url, requestConfig).onProgress(setTaskCompleteProgress, setTaskDetailProgress).then(function(image) {
6336
6416
  var _item_params;
6337
- 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;
6338
- var texture = new Texture2D(resourceManager.engine, image.width, image.height, format, mipmap);
6417
+ var _ref = (_item_params = item.params) != null ? _item_params : {}, _ref_format = _ref.format, format = _ref_format === void 0 ? 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;
6418
+ var width = image.width, height = image.height;
6419
+ // @ts-ignore
6420
+ var isWebGL2 = resourceManager.engine._hardwareRenderer._isWebGL2;
6421
+ var generateMipmap = TextureUtils.supportGenerateMipmapsWithCorrection(width, height, format, mipmap, isSRGBColorSpace, isWebGL2);
6422
+ var texture = new Texture2D(resourceManager.engine, width, height, format, generateMipmap, isSRGBColorSpace);
6339
6423
  texture.anisoLevel = anisoLevel != null ? anisoLevel : texture.anisoLevel;
6340
6424
  texture.filterMode = filterMode != null ? filterMode : texture.filterMode;
6341
6425
  texture.wrapModeU = wrapModeU != null ? wrapModeU : texture.wrapModeU;
6342
6426
  texture.wrapModeV = wrapModeV != null ? wrapModeV : texture.wrapModeV;
6343
6427
  texture.setImageSource(image);
6344
- texture.generateMipmaps();
6428
+ generateMipmap && texture.generateMipmaps();
6345
6429
  if (url.indexOf("data:") !== 0) {
6346
6430
  var index = url.lastIndexOf("/");
6347
6431
  texture.name = url.substring(index + 1);
@@ -6410,16 +6494,25 @@ var TextureCubeLoader = /*#__PURE__*/ function(Loader) {
6410
6494
  Promise.all(urls.map(function(url) {
6411
6495
  return resourceManager._request(url, requestConfig);
6412
6496
  })).then(function(images) {
6497
+ var _item_params;
6498
+ var _ref = (_item_params = item.params) != null ? _item_params : {}, _ref_format = _ref.format, format = _ref_format === void 0 ? 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;
6413
6499
  var _images_ = images[0], width = _images_.width, height = _images_.height;
6500
+ // @ts-ignore
6501
+ var isWebGL2 = resourceManager.engine._hardwareRenderer._isWebGL2;
6414
6502
  if (width !== height) {
6415
6503
  console.error("The cube texture must have the same width and height");
6416
6504
  return;
6417
6505
  }
6418
- var texture = new TextureCube(resourceManager.engine, width);
6506
+ var generateMipmap = TextureUtils.supportGenerateMipmapsWithCorrection(width, height, format, mipmap, isSRGBColorSpace, isWebGL2);
6507
+ var texture = new TextureCube(resourceManager.engine, width, format, generateMipmap, isSRGBColorSpace);
6508
+ texture.anisoLevel = anisoLevel != null ? anisoLevel : texture.anisoLevel;
6509
+ texture.filterMode = filterMode != null ? filterMode : texture.filterMode;
6510
+ texture.wrapModeU = wrapModeU != null ? wrapModeU : texture.wrapModeU;
6511
+ texture.wrapModeV = wrapModeV != null ? wrapModeV : texture.wrapModeV;
6419
6512
  for(var faceIndex = 0; faceIndex < 6; faceIndex++){
6420
6513
  texture.setImageSource(TextureCubeFace.PositiveX + faceIndex, images[faceIndex], 0);
6421
6514
  }
6422
- texture.generateMipmaps();
6515
+ generateMipmap && texture.generateMipmaps();
6423
6516
  resourceManager.addContentRestorer(new TextureCubeContentRestorer(texture, urls, requestConfig));
6424
6517
  resolve(texture);
6425
6518
  }).catch(function(e) {
@@ -6778,18 +6871,24 @@ var KHR_materials_clearcoat = /*#__PURE__*/ function(GLTFExtensionParser) {
6778
6871
  GLTFMaterialParser._checkOtherTextureTransform(clearcoatTexture, "Clear coat");
6779
6872
  context.get(GLTFParserType.Texture, clearcoatTexture.index).then(function(texture) {
6780
6873
  material.clearCoatTexture = texture;
6874
+ }).catch(function(e) {
6875
+ Logger.error("KHR_materials_clearcoat: clearcoat texture error", e);
6781
6876
  });
6782
6877
  }
6783
6878
  if (clearcoatRoughnessTexture) {
6784
6879
  GLTFMaterialParser._checkOtherTextureTransform(clearcoatRoughnessTexture, "Clear coat roughness");
6785
6880
  context.get(GLTFParserType.Texture, clearcoatRoughnessTexture.index).then(function(texture) {
6786
6881
  material.clearCoatRoughnessTexture = texture;
6882
+ }).catch(function(e) {
6883
+ Logger.error("KHR_materials_clearcoat: clearcoat roughness texture error", e);
6787
6884
  });
6788
6885
  }
6789
6886
  if (clearcoatNormalTexture) {
6790
6887
  GLTFMaterialParser._checkOtherTextureTransform(clearcoatNormalTexture, "Clear coat normal");
6791
6888
  context.get(GLTFParserType.Texture, clearcoatNormalTexture.index).then(function(texture) {
6792
6889
  material.clearCoatNormalTexture = texture;
6890
+ }).catch(function(e) {
6891
+ Logger.error("KHR_materials_clearcoat: clearcoat normal texture error", e);
6793
6892
  });
6794
6893
  }
6795
6894
  };
@@ -6826,16 +6925,18 @@ var KHR_materials_pbrSpecularGlossiness = /*#__PURE__*/ function(GLTFExtensionPa
6826
6925
  var material = new PBRSpecularMaterial(engine);
6827
6926
  var diffuseFactor = schema.diffuseFactor, diffuseTexture = schema.diffuseTexture, specularFactor = schema.specularFactor, glossinessFactor = schema.glossinessFactor, specularGlossinessTexture = schema.specularGlossinessTexture;
6828
6927
  if (diffuseFactor) {
6829
- material.baseColor = new Color(Color.linearToGammaSpace(diffuseFactor[0]), Color.linearToGammaSpace(diffuseFactor[1]), Color.linearToGammaSpace(diffuseFactor[2]), diffuseFactor[3]);
6928
+ material.baseColor = new Color(Color.linearToSRGBSpace(diffuseFactor[0]), Color.linearToSRGBSpace(diffuseFactor[1]), Color.linearToSRGBSpace(diffuseFactor[2]), diffuseFactor[3]);
6830
6929
  }
6831
6930
  if (diffuseTexture) {
6832
6931
  context.get(GLTFParserType.Texture, diffuseTexture.index).then(function(texture) {
6833
6932
  material.baseTexture = texture;
6834
6933
  GLTFParser.executeExtensionsAdditiveAndParse(diffuseTexture.extensions, context, material, diffuseTexture);
6934
+ }).catch(function(e) {
6935
+ Logger.error("KHR_materials_pbrSpecularGlossiness: diffuse texture error", e);
6835
6936
  });
6836
6937
  }
6837
6938
  if (specularFactor) {
6838
- material.specularColor = new Color(Color.linearToGammaSpace(specularFactor[0]), Color.linearToGammaSpace(specularFactor[1]), Color.linearToGammaSpace(specularFactor[2]));
6939
+ material.specularColor = new Color(Color.linearToSRGBSpace(specularFactor[0]), Color.linearToSRGBSpace(specularFactor[1]), Color.linearToSRGBSpace(specularFactor[2]));
6839
6940
  }
6840
6941
  if (glossinessFactor !== undefined) {
6841
6942
  material.glossiness = glossinessFactor;
@@ -6844,6 +6945,8 @@ var KHR_materials_pbrSpecularGlossiness = /*#__PURE__*/ function(GLTFExtensionPa
6844
6945
  GLTFMaterialParser._checkOtherTextureTransform(specularGlossinessTexture, "Specular glossiness");
6845
6946
  context.get(GLTFParserType.Texture, specularGlossinessTexture.index).then(function(texture) {
6846
6947
  material.specularGlossinessTexture = texture;
6948
+ }).catch(function(e) {
6949
+ Logger.error("KHR_materials_pbrSpecularGlossiness: specular glossiness texture error", e);
6847
6950
  });
6848
6951
  }
6849
6952
  material.name = ownerSchema.name;
@@ -6865,19 +6968,23 @@ var KHR_materials_sheen = /*#__PURE__*/ function(GLTFExtensionParser) {
6865
6968
  _proto.additiveParse = function additiveParse(context, material, schema) {
6866
6969
  var sheenColorFactor = schema.sheenColorFactor, sheenColorTexture = schema.sheenColorTexture, _schema_sheenRoughnessFactor = schema.sheenRoughnessFactor, sheenRoughnessFactor = _schema_sheenRoughnessFactor === void 0 ? 0 : _schema_sheenRoughnessFactor, sheenRoughnessTexture = schema.sheenRoughnessTexture;
6867
6970
  if (sheenColorFactor) {
6868
- material.sheenColor.set(Color.linearToGammaSpace(sheenColorFactor[0]), Color.linearToGammaSpace(sheenColorFactor[1]), Color.linearToGammaSpace(sheenColorFactor[2]), undefined);
6971
+ material.sheenColor.set(Color.linearToSRGBSpace(sheenColorFactor[0]), Color.linearToSRGBSpace(sheenColorFactor[1]), Color.linearToSRGBSpace(sheenColorFactor[2]), undefined);
6869
6972
  }
6870
6973
  material.sheenRoughness = sheenRoughnessFactor;
6871
6974
  if (sheenColorTexture) {
6872
6975
  GLTFMaterialParser._checkOtherTextureTransform(sheenColorTexture, "Sheen texture");
6873
6976
  context.get(GLTFParserType.Texture, sheenColorTexture.index).then(function(texture) {
6874
6977
  material.sheenColorTexture = texture;
6978
+ }).catch(function(e) {
6979
+ Logger.error("KHR_materials_sheen: sheenColorTexture error", e);
6875
6980
  });
6876
6981
  }
6877
6982
  if (sheenRoughnessTexture) {
6878
6983
  GLTFMaterialParser._checkOtherTextureTransform(sheenRoughnessTexture, "SheenRoughness texture");
6879
6984
  context.get(GLTFParserType.Texture, sheenRoughnessTexture.index).then(function(texture) {
6880
6985
  material.sheenRoughnessTexture = texture;
6986
+ }).catch(function(e) {
6987
+ Logger.error("KHR_materials_sheen: sheenRoughnessTexture error", e);
6881
6988
  });
6882
6989
  }
6883
6990
  };
@@ -6900,6 +7007,8 @@ var KHR_materials_transmission = /*#__PURE__*/ function(GLTFExtensionParser) {
6900
7007
  GLTFMaterialParser._checkOtherTextureTransform(transmissionTexture, "Transmission texture");
6901
7008
  context.get(GLTFParserType.Texture, transmissionTexture.index).then(function(texture) {
6902
7009
  material.transmissionTexture = texture;
7010
+ }).catch(function(e) {
7011
+ Logger.error("KHR_materials_transmission: transmission texture error", e);
6903
7012
  });
6904
7013
  }
6905
7014
  };
@@ -6945,6 +7054,8 @@ var KHR_materials_variants = /*#__PURE__*/ function(GLTFExtensionParser) {
6945
7054
  return variantNames[index].name;
6946
7055
  })
6947
7056
  });
7057
+ }).catch(function(e) {
7058
+ Logger.error("KHR_materials_variants: material error", e);
6948
7059
  });
6949
7060
  };
6950
7061
  var _glTFResource;
@@ -6972,12 +7083,14 @@ var KHR_materials_volume = /*#__PURE__*/ function(GLTFExtensionParser) {
6972
7083
  material.thickness = thicknessFactor;
6973
7084
  material.attenuationDistance = attenuationDistance;
6974
7085
  if (attenuationColor) {
6975
- material.attenuationColor.set(Color.linearToGammaSpace(attenuationColor[0]), Color.linearToGammaSpace(attenuationColor[1]), Color.linearToGammaSpace(attenuationColor[2]), undefined);
7086
+ material.attenuationColor.set(Color.linearToSRGBSpace(attenuationColor[0]), Color.linearToSRGBSpace(attenuationColor[1]), Color.linearToSRGBSpace(attenuationColor[2]), undefined);
6976
7087
  }
6977
7088
  if (thicknessTexture) {
6978
7089
  GLTFMaterialParser._checkOtherTextureTransform(thicknessTexture, "Thickness texture");
6979
7090
  context.get(GLTFParserType.Texture, thicknessTexture.index).then(function(texture) {
6980
7091
  material.thicknessTexture = texture;
7092
+ }).catch(function(e) {
7093
+ Logger.error("KHR_materials_volume: thickness texture error", e);
6981
7094
  });
6982
7095
  }
6983
7096
  };
@@ -7005,57 +7118,48 @@ var KHR_texture_basisu = /*#__PURE__*/ function(GLTFExtensionParser) {
7005
7118
  }
7006
7119
  var _proto = KHR_texture_basisu.prototype;
7007
7120
  _proto.createAndParse = function createAndParse(context, schema, textureInfo) {
7008
- return _async_to_generator(function() {
7009
- var glTF, glTFResource, engine, url, sampler, textureName, source, _glTF_images_source, uri, bufferViewIndex, mimeType, imageName, samplerInfo, index, promise, bufferView;
7010
- return __generator(this, function(_state) {
7011
- glTF = context.glTF, glTFResource = context.glTFResource;
7012
- engine = glTFResource.engine, url = glTFResource.url;
7013
- sampler = textureInfo.sampler, textureName = textureInfo.name;
7014
- source = schema.source;
7015
- _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;
7016
- samplerInfo = sampler !== undefined && GLTFUtils.getSamplerInfo(glTF.samplers[sampler]);
7017
- if (uri) {
7018
- index = uri.lastIndexOf(".");
7019
- promise = engine.resourceManager.load({
7020
- url: Utils.resolveAbsoluteUrl(url, uri),
7021
- type: AssetType.KTX2
7022
- }).onProgress(undefined, context._onTaskDetail).then(function(texture) {
7023
- if (!texture.name) {
7024
- texture.name = textureName || imageName || "texture_" + index;
7025
- }
7026
- if (sampler !== undefined) {
7027
- GLTFUtils.parseSampler(texture, samplerInfo);
7028
- }
7029
- return texture;
7030
- });
7031
- context._addTaskCompletePromise(promise);
7032
- return [
7033
- 2,
7034
- promise
7035
- ];
7036
- } else {
7037
- bufferView = glTF.bufferViews[bufferViewIndex];
7038
- return [
7039
- 2,
7040
- context.get(GLTFParserType.Buffer, bufferView.buffer).then(function(buffer) {
7041
- var imageBuffer = new Uint8Array(buffer, bufferView.byteOffset, bufferView.byteLength);
7042
- return KTX2Loader._parseBuffer(imageBuffer, engine).then(function(param) {
7043
- var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
7044
- return KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
7045
- }).then(function(texture) {
7046
- texture.name = textureName || imageName || "texture_" + bufferViewIndex;
7047
- if (sampler !== undefined) {
7048
- GLTFUtils.parseSampler(texture, samplerInfo);
7049
- }
7050
- var bufferTextureRestoreInfo = new BufferTextureRestoreInfo(texture, bufferView, mimeType);
7051
- context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
7052
- return texture;
7053
- });
7054
- })
7055
- ];
7121
+ var glTF = context.glTF, glTFResource = context.glTFResource;
7122
+ var engine = glTFResource.engine, url = glTFResource.url;
7123
+ var sampler = textureInfo.sampler, textureName = textureInfo.name;
7124
+ var source = schema.source;
7125
+ 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;
7126
+ var samplerInfo = sampler !== undefined && GLTFUtils.getSamplerInfo(glTF.samplers[sampler]);
7127
+ if (uri) {
7128
+ var index = uri.lastIndexOf(".");
7129
+ var promise = engine.resourceManager.load({
7130
+ url: Utils.resolveAbsoluteUrl(url, uri),
7131
+ type: AssetType.KTX2
7132
+ }).onProgress(undefined, context._onTaskDetail).then(function(texture) {
7133
+ if (!texture.name) {
7134
+ texture.name = textureName || imageName || "texture_" + index;
7135
+ }
7136
+ if (sampler !== undefined) {
7137
+ GLTFUtils.parseSampler(texture, samplerInfo);
7056
7138
  }
7139
+ return texture;
7057
7140
  });
7058
- })();
7141
+ context._addTaskCompletePromise(promise);
7142
+ return promise;
7143
+ } else {
7144
+ var bufferView = glTF.bufferViews[bufferViewIndex];
7145
+ return context.get(GLTFParserType.Buffer, bufferView.buffer).then(function(buffer) {
7146
+ var imageBuffer = new Uint8Array(buffer, bufferView.byteOffset, bufferView.byteLength);
7147
+ return KTX2Loader._parseBuffer(imageBuffer, engine).then(function(param) {
7148
+ var ktx2Container = param.ktx2Container, engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
7149
+ return KTX2Loader._createTextureByBuffer(engine, ktx2Container.isSRGB, result, targetFormat, params);
7150
+ }).then(function(texture) {
7151
+ texture.name = textureName || imageName || "texture_" + bufferViewIndex;
7152
+ if (sampler !== undefined) {
7153
+ GLTFUtils.parseSampler(texture, samplerInfo);
7154
+ }
7155
+ var bufferTextureRestoreInfo = new BufferTextureRestoreInfo(texture, bufferView, mimeType);
7156
+ context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
7157
+ return texture;
7158
+ });
7159
+ }).catch(function(e) {
7160
+ Logger.error("KHR_texture_basisu: buffer error", e);
7161
+ });
7162
+ }
7059
7163
  };
7060
7164
  return KHR_texture_basisu;
7061
7165
  }(GLTFExtensionParser);
@@ -7145,6 +7249,8 @@ var EXT_meshopt_compression = /*#__PURE__*/ function(GLTFExtensionParser) {
7145
7249
  return getMeshoptDecoder().then(function(decoder) {
7146
7250
  return decoder.decodeGltfBuffer(schema.count, schema.byteStride, new Uint8Array(arrayBuffer, schema.byteOffset, schema.byteLength), schema.mode, schema.filter);
7147
7251
  });
7252
+ }).catch(function(e) {
7253
+ Logger.error("EXT_meshopt_compression: buffer error", e);
7148
7254
  });
7149
7255
  };
7150
7256
  return EXT_meshopt_compression;
@@ -7167,6 +7273,8 @@ var KHR_materials_anisotropy = /*#__PURE__*/ function(GLTFExtensionParser) {
7167
7273
  GLTFMaterialParser._checkOtherTextureTransform(anisotropyTexture, "Anisotropy texture");
7168
7274
  context.get(GLTFParserType.Texture, anisotropyTexture.index).then(function(texture) {
7169
7275
  material.anisotropyTexture = texture;
7276
+ }).catch(function(e) {
7277
+ Logger.error("KHR_materials_anisotropy: anisotropy texture error", e);
7170
7278
  });
7171
7279
  }
7172
7280
  };
@@ -7191,12 +7299,16 @@ var KHR_materials_iridescence = /*#__PURE__*/ function(GLTFExtensionParser) {
7191
7299
  GLTFMaterialParser._checkOtherTextureTransform(iridescenceTexture, "Iridescence texture");
7192
7300
  context.get(GLTFParserType.Texture, iridescenceTexture.index).then(function(texture) {
7193
7301
  material.iridescenceTexture = texture;
7302
+ }).catch(function(e) {
7303
+ Logger.error("KHR_materials_iridescence: iridescence texture error", e);
7194
7304
  });
7195
7305
  }
7196
7306
  if (iridescenceThicknessTexture) {
7197
7307
  GLTFMaterialParser._checkOtherTextureTransform(iridescenceThicknessTexture, "IridescenceThickness texture");
7198
7308
  context.get(GLTFParserType.Texture, iridescenceThicknessTexture.index).then(function(texture) {
7199
7309
  material.iridescenceThicknessTexture = texture;
7310
+ }).catch(function(e) {
7311
+ Logger.error("KHR_materials_iridescence: iridescence thickness error", e);
7200
7312
  });
7201
7313
  }
7202
7314
  };
@@ -7222,20 +7334,11 @@ var EXT_texture_webp = /*#__PURE__*/ function(GLTFExtensionParser) {
7222
7334
  return _this;
7223
7335
  }
7224
7336
  var _proto = EXT_texture_webp.prototype;
7225
- _proto.createAndParse = function createAndParse(context, schema, textureInfo, textureIndex) {
7226
- var _this = this;
7227
- return _async_to_generator(function() {
7228
- var webPIndex, sampler, tmp, fallbackIndex, textureName, texture;
7229
- return __generator(this, function(_state) {
7230
- webPIndex = schema.source;
7231
- sampler = textureInfo.sampler, tmp = textureInfo.source, fallbackIndex = tmp === void 0 ? 0 : tmp, textureName = textureInfo.name;
7232
- texture = GLTFTextureParser._parseTexture(context, _this._supportWebP ? webPIndex : fallbackIndex, textureIndex, sampler, textureName);
7233
- return [
7234
- 2,
7235
- texture
7236
- ];
7237
- });
7238
- })();
7337
+ _proto.createAndParse = function createAndParse(context, schema, textureInfo, textureIndex, isSRGBColorSpace) {
7338
+ var webPIndex = schema.source;
7339
+ var sampler = textureInfo.sampler, tmp = textureInfo.source, fallbackIndex = tmp === void 0 ? 0 : tmp, textureName = textureInfo.name;
7340
+ var texture = GLTFTextureParser._parseTexture(context, this._supportWebP ? webPIndex : fallbackIndex, textureIndex, sampler, textureName, isSRGBColorSpace);
7341
+ return texture;
7239
7342
  };
7240
7343
  return EXT_texture_webp;
7241
7344
  }(GLTFExtensionParser);