@galacean/engine-loader 1.4.14 → 1.4.15

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, 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();
@@ -794,7 +794,7 @@ var InterpolableValueType = /*#__PURE__*/ function(InterpolableValueType) {
794
794
  var AnimationClipDecoder = /*#__PURE__*/ function() {
795
795
  function AnimationClipDecoder() {}
796
796
  AnimationClipDecoder.decode = function decode(engine, bufferReader) {
797
- return new Promise(function(resolve) {
797
+ return new AssetPromise(function(resolve) {
798
798
  var name = bufferReader.nextStr();
799
799
  var clip = new AnimationClip(name);
800
800
  var eventsLen = bufferReader.nextUint16();
@@ -1820,6 +1820,203 @@ FontLoader = __decorate([
1820
1820
  ], false)
1821
1821
  ], FontLoader);
1822
1822
 
1823
+ // Source: https://github.com/zeux/meshoptimizer/blob/master/js/meshopt_decoder.js
1824
+ var ready;
1825
+ function getMeshoptDecoder() {
1826
+ if (ready) return ready;
1827
+ 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";
1828
+ 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";
1829
+ var wasmpack = new Uint8Array([
1830
+ 32,
1831
+ 0,
1832
+ 65,
1833
+ 2,
1834
+ 1,
1835
+ 106,
1836
+ 34,
1837
+ 33,
1838
+ 3,
1839
+ 128,
1840
+ 11,
1841
+ 4,
1842
+ 13,
1843
+ 64,
1844
+ 6,
1845
+ 253,
1846
+ 10,
1847
+ 7,
1848
+ 15,
1849
+ 116,
1850
+ 127,
1851
+ 5,
1852
+ 8,
1853
+ 12,
1854
+ 40,
1855
+ 16,
1856
+ 19,
1857
+ 54,
1858
+ 20,
1859
+ 9,
1860
+ 27,
1861
+ 255,
1862
+ 113,
1863
+ 17,
1864
+ 42,
1865
+ 67,
1866
+ 24,
1867
+ 23,
1868
+ 146,
1869
+ 148,
1870
+ 18,
1871
+ 14,
1872
+ 22,
1873
+ 45,
1874
+ 70,
1875
+ 69,
1876
+ 56,
1877
+ 114,
1878
+ 101,
1879
+ 21,
1880
+ 25,
1881
+ 63,
1882
+ 75,
1883
+ 136,
1884
+ 108,
1885
+ 28,
1886
+ 118,
1887
+ 29,
1888
+ 73,
1889
+ 115
1890
+ ]);
1891
+ // @ts-ignore
1892
+ var wasm = SystemInfo._detectSIMDSupported() ? wasm_simd : wasm_base;
1893
+ var instance;
1894
+ ready = WebAssembly.instantiate(unpack(wasm)).then(function(result) {
1895
+ instance = result.instance;
1896
+ instance.exports.__wasm_call_ctors();
1897
+ }).then(function() {
1898
+ return {
1899
+ workerCount: 4,
1900
+ ready: ready,
1901
+ useWorkers: function useWorkers(workerCount) {
1902
+ this.workerCount = workerCount != null ? workerCount : this.workerCount;
1903
+ initWorkers(this.workerCount);
1904
+ },
1905
+ decodeGltfBuffer: function decodeGltfBuffer(count, stride, source, mode, filter) {
1906
+ if (this.workerCount > 0 && workers.length === 0) this.useWorkers();
1907
+ if (workers.length > 0) return decodeWorker(count, stride, source, decoders[mode], filters[filter]);
1908
+ return ready.then(function() {
1909
+ var target = new Uint8Array(count * stride);
1910
+ decode(instance.exports[decoders[mode]], target, count, stride, source, instance.exports[filters[filter]]);
1911
+ return target;
1912
+ });
1913
+ },
1914
+ release: function release() {
1915
+ for(var i = 0; i < workers.length; i++){
1916
+ workers[i].object.terminate();
1917
+ }
1918
+ }
1919
+ };
1920
+ });
1921
+ function unpack(data) {
1922
+ var result = new Uint8Array(data.length);
1923
+ for(var i = 0; i < data.length; ++i){
1924
+ var ch = data.charCodeAt(i);
1925
+ result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
1926
+ }
1927
+ var write = 0;
1928
+ for(var i1 = 0; i1 < data.length; ++i1){
1929
+ result[write++] = result[i1] < 60 ? wasmpack[result[i1]] : (result[i1] - 60) * 64 + result[++i1];
1930
+ }
1931
+ return result.buffer.slice(0, write);
1932
+ }
1933
+ function decode(fun, target, count, size, source, filter) {
1934
+ var sbrk = instance.exports.sbrk;
1935
+ var count4 = count + 3 & ~3;
1936
+ var tp = sbrk(count4 * size);
1937
+ var sp = sbrk(source.length);
1938
+ var heap = new Uint8Array(instance.exports.memory.buffer);
1939
+ heap.set(source, sp);
1940
+ var res = fun(tp, count, size, sp, source.length);
1941
+ if (res == 0 && filter) {
1942
+ filter(tp, count4, size);
1943
+ }
1944
+ target.set(heap.subarray(tp, tp + count * size));
1945
+ sbrk(tp - sbrk(0));
1946
+ if (res != 0) {
1947
+ throw new Error("Malformed buffer data: " + res);
1948
+ }
1949
+ }
1950
+ var filters = {
1951
+ NONE: "",
1952
+ OCTAHEDRAL: "meshopt_decodeFilterOct",
1953
+ QUATERNION: "meshopt_decodeFilterQuat",
1954
+ EXPONENTIAL: "meshopt_decodeFilterExp"
1955
+ };
1956
+ var decoders = {
1957
+ ATTRIBUTES: "meshopt_decodeVertexBuffer",
1958
+ TRIANGLES: "meshopt_decodeIndexBuffer",
1959
+ INDICES: "meshopt_decodeIndexSequence"
1960
+ };
1961
+ var workers = [];
1962
+ var requestId = 0;
1963
+ function createWorker(url) {
1964
+ var worker = {
1965
+ object: new Worker(url),
1966
+ pending: 0,
1967
+ requests: {}
1968
+ };
1969
+ worker.object.onmessage = function(event) {
1970
+ var data = event.data;
1971
+ worker.pending -= data.count;
1972
+ worker.requests[data.id][data.action](data.value);
1973
+ delete worker.requests[data.id];
1974
+ };
1975
+ return worker;
1976
+ }
1977
+ function initWorkers(count) {
1978
+ 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 }';
1979
+ var blob = new Blob([
1980
+ source
1981
+ ], {
1982
+ type: "text/javascript"
1983
+ });
1984
+ var url = URL.createObjectURL(blob);
1985
+ for(var i = 0; i < count; ++i){
1986
+ workers[i] = createWorker(url);
1987
+ }
1988
+ URL.revokeObjectURL(url);
1989
+ }
1990
+ function decodeWorker(count, size, source, mode, filter) {
1991
+ var worker = workers[0];
1992
+ for(var i = 1; i < workers.length; ++i){
1993
+ if (workers[i].pending < worker.pending) {
1994
+ worker = workers[i];
1995
+ }
1996
+ }
1997
+ return new Promise(function(resolve, reject) {
1998
+ var data = new Uint8Array(source);
1999
+ var id = requestId++;
2000
+ worker.pending += count;
2001
+ worker.requests[id] = {
2002
+ resolve: resolve,
2003
+ reject: reject
2004
+ };
2005
+ worker.object.postMessage({
2006
+ id: id,
2007
+ count: count,
2008
+ size: size,
2009
+ source: data,
2010
+ mode: mode,
2011
+ filter: filter
2012
+ }, [
2013
+ data.buffer
2014
+ ]);
2015
+ });
2016
+ }
2017
+ return ready;
2018
+ }
2019
+
1823
2020
  /**
1824
2021
  * The glTF resource.
1825
2022
  */ var GLTFResource = /*#__PURE__*/ function(ReferResource) {
@@ -1846,14 +2043,16 @@ FontLoader = __decorate([
1846
2043
  materials && this._disassociationSuperResource(materials);
1847
2044
  if (meshes) {
1848
2045
  for(var i = 0, n = meshes.length; i < n; i++){
1849
- this._disassociationSuperResource(meshes[i]);
2046
+ var meshArr = meshes[i];
2047
+ meshArr && this._disassociationSuperResource(meshArr);
1850
2048
  }
1851
2049
  }
1852
2050
  };
1853
2051
  _proto._disassociationSuperResource = function _disassociationSuperResource(resources) {
1854
2052
  for(var i = 0, n = resources.length; i < n; i++){
1855
- // @ts-ignore
1856
- resources[i]._disassociationSuperResource(this);
2053
+ var // @ts-ignore
2054
+ _resources_i;
2055
+ (_resources_i = resources[i]) == null ? void 0 : _resources_i._disassociationSuperResource(this);
1857
2056
  }
1858
2057
  };
1859
2058
  _create_class(GLTFResource, [
@@ -2053,6 +2252,7 @@ FontLoader = __decorate([
2053
2252
  this.params = params;
2054
2253
  this.accessorBufferCache = {};
2055
2254
  this.needAnimatorController = false;
2255
+ this./** @internal */ _getPromises = [];
2056
2256
  this._resourceCache = new Map();
2057
2257
  this._progress = {
2058
2258
  taskDetail: {},
@@ -2077,7 +2277,7 @@ FontLoader = __decorate([
2077
2277
  var _this = this;
2078
2278
  var parser = GLTFParserContext._parsers[type];
2079
2279
  if (!parser) {
2080
- return Promise.resolve(null);
2280
+ return AssetPromise.resolve(null);
2081
2281
  }
2082
2282
  var cache = this._resourceCache;
2083
2283
  var cacheKey = index === undefined ? "" + type : type + ":" + index;
@@ -2093,7 +2293,7 @@ FontLoader = __decorate([
2093
2293
  if (index === undefined) {
2094
2294
  resource = type === 8 ? glTFItems.map(function(_, index) {
2095
2295
  return _this.get(type, index);
2096
- }) : Promise.all(glTFItems.map(function(_, index) {
2296
+ }) : AssetPromise.all(glTFItems.map(function(_, index) {
2097
2297
  return _this.get(type, index);
2098
2298
  }));
2099
2299
  } else {
@@ -2101,12 +2301,15 @@ FontLoader = __decorate([
2101
2301
  isSubAsset && this._handleSubAsset(resource, type, index);
2102
2302
  }
2103
2303
  } else {
2104
- resource = Promise.resolve(null);
2304
+ resource = AssetPromise.resolve(null);
2105
2305
  }
2106
2306
  } else {
2107
2307
  resource = parser.parse(this, index);
2108
2308
  isSubAsset && this._handleSubAsset(resource, type, index);
2109
2309
  }
2310
+ if (_instanceof(resource, AssetPromise)) {
2311
+ this._getPromises.push(resource);
2312
+ }
2110
2313
  cache.set(cacheKey, resource);
2111
2314
  return resource;
2112
2315
  };
@@ -2115,7 +2318,7 @@ FontLoader = __decorate([
2115
2318
  var promise = this.get(0).then(function(json) {
2116
2319
  _this.glTF = json;
2117
2320
  _this.needAnimatorController = !!(json.skins || json.animations);
2118
- return Promise.all([
2321
+ return AssetPromise.all([
2119
2322
  _this.get(1),
2120
2323
  _this.get(5),
2121
2324
  _this.get(6),
@@ -2178,6 +2381,8 @@ FontLoader = __decorate([
2178
2381
  _this.resourceManager._onSubAssetSuccess(url, "defaultSceneRoot", item);
2179
2382
  }
2180
2383
  }
2384
+ }).catch(function(e) {
2385
+ Logger.error("GLTFParserContext", "Failed to load " + glTFResourceKey + " " + index + ": " + e);
2181
2386
  });
2182
2387
  }
2183
2388
  };
@@ -2356,13 +2561,15 @@ function registerGLTFParser(pipeline) {
2356
2561
  bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(bufferIndex, TypedArray, offset1, count1));
2357
2562
  }
2358
2563
  return bufferInfo;
2564
+ }).catch(function(e) {
2565
+ Logger.error("GLTFUtil getAccessorBuffer error", e);
2359
2566
  });
2360
2567
  } else {
2361
2568
  var count = accessorCount * dataElementSize;
2362
2569
  var data = new TypedArray(count);
2363
2570
  var bufferInfo = new BufferInfo(data, false, elementStride);
2364
2571
  bufferInfo.restoreInfo = new BufferDataRestoreInfo(new RestoreDataAccessor(undefined, TypedArray, undefined, count));
2365
- promise = Promise.resolve(bufferInfo);
2572
+ promise = AssetPromise.resolve(bufferInfo);
2366
2573
  }
2367
2574
  return accessor.sparse ? promise.then(function(bufferInfo) {
2368
2575
  return GLTFUtils.processingSparseData(context, accessor, bufferInfo).then(function() {
@@ -2397,7 +2604,7 @@ function registerGLTFParser(pipeline) {
2397
2604
  var _accessor_sparse = accessor.sparse, count = _accessor_sparse.count, indices = _accessor_sparse.indices, values = _accessor_sparse.values;
2398
2605
  var indicesBufferView = bufferViews[indices.bufferView];
2399
2606
  var valuesBufferView = bufferViews[values.bufferView];
2400
- return Promise.all([
2607
+ return AssetPromise.all([
2401
2608
  context.get(GLTFParserType.BufferView, indices.bufferView),
2402
2609
  context.get(GLTFParserType.BufferView, values.bufferView)
2403
2610
  ]).then(function(param) {
@@ -2424,6 +2631,8 @@ function registerGLTFParser(pipeline) {
2424
2631
  }
2425
2632
  }
2426
2633
  bufferInfo.data = data;
2634
+ }).catch(function(e) {
2635
+ Logger.error("GLTFUtil processingSparseData error", e);
2427
2636
  });
2428
2637
  };
2429
2638
  GLTFUtils.getIndexFormat = function getIndexFormat(type) {
@@ -3906,16 +4115,14 @@ KTX2Loader = __decorate([
3906
4115
  for(var _len = arguments.length, extra = new Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++){
3907
4116
  extra[_key - 5] = arguments[_key];
3908
4117
  }
4118
+ var _parser;
3909
4119
  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
- }
4120
+ parser == null ? void 0 : (_parser = parser).additiveParse.apply(_parser, [].concat([
4121
+ context,
4122
+ parseResource,
4123
+ extensionSchema,
4124
+ ownerSchema
4125
+ ], extra));
3919
4126
  };
3920
4127
  return GLTFParser;
3921
4128
  }();
@@ -3981,7 +4188,7 @@ var GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
3981
4188
  var animationInfo = context.glTF.animations[index];
3982
4189
  var _animationInfo_name = animationInfo.name, name = _animationInfo_name === void 0 ? "AnimationClip" + index : _animationInfo_name;
3983
4190
  var animationClipPromise = GLTFParser.executeExtensionsCreateAndParse(animationInfo.extensions, context, animationInfo) || GLTFAnimationParser._parseStandardProperty(context, new AnimationClip(name), animationInfo);
3984
- return Promise.resolve(animationClipPromise).then(function(animationClip) {
4191
+ return AssetPromise.resolve(animationClipPromise).then(function(animationClip) {
3985
4192
  GLTFParser.executeExtensionsAdditiveAndParse(animationInfo.extensions, context, animationClip, animationInfo);
3986
4193
  return animationClip;
3987
4194
  });
@@ -3993,7 +4200,7 @@ var GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
3993
4200
  var glTFSampler = samplers[j];
3994
4201
  var inputAccessor = accessors[glTFSampler.input];
3995
4202
  var outputAccessor = accessors[glTFSampler.output];
3996
- var promise = Promise.all([
4203
+ var promise = AssetPromise.all([
3997
4204
  GLTFUtils.getAccessorBuffer(context, bufferViews, inputAccessor),
3998
4205
  GLTFUtils.getAccessorBuffer(context, bufferViews, outputAccessor)
3999
4206
  ]).then(function(bufferInfos) {
@@ -4044,7 +4251,7 @@ var GLTFAnimationParser = /*#__PURE__*/ function(GLTFParser1) {
4044
4251
  // parse samplers
4045
4252
  for(var j = 0, m = len; j < m; j++)_loop(j);
4046
4253
  promises.push(context.get(GLTFParserType.Scene));
4047
- return Promise.all(promises).then(function() {
4254
+ return AssetPromise.all(promises).then(function() {
4048
4255
  for(var j = 0, m = channels.length; j < m; j++){
4049
4256
  var glTFChannel = channels[j];
4050
4257
  var target = glTFChannel.target;
@@ -4174,7 +4381,7 @@ var GLTFBufferParser = /*#__PURE__*/ function(GLTFParser) {
4174
4381
  var _proto = GLTFBufferParser.prototype;
4175
4382
  _proto.parse = function parse(context, index) {
4176
4383
  var buffers = context.glTF.buffers;
4177
- return context.buffers ? Promise.resolve(context.buffers[index]) : this._parseSingleBuffer(context, buffers[index]);
4384
+ return context.buffers ? AssetPromise.resolve(context.buffers[index]) : this._parseSingleBuffer(context, buffers[index]);
4178
4385
  };
4179
4386
  _proto._parseSingleBuffer = function _parseSingleBuffer(context, bufferInfo) {
4180
4387
  var glTFResource = context.glTFResource, contentRestorer = context.contentRestorer, resourceManager = context.resourceManager;
@@ -4261,7 +4468,7 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4261
4468
  material.name = materialInfo.name;
4262
4469
  GLTFMaterialParser._parseStandardProperty(context, material, materialInfo);
4263
4470
  }
4264
- return Promise.resolve(material).then(function(material) {
4471
+ return AssetPromise.resolve(material).then(function(material) {
4265
4472
  // @ts-ignore
4266
4473
  material || (material = engine._basicResources._getBlinnPhongMaterial());
4267
4474
  GLTFParser.executeExtensionsAdditiveAndParse(materialInfo.extensions, context, material, materialInfo);
@@ -4291,6 +4498,8 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4291
4498
  context.get(GLTFParserType.Texture, baseColorTexture.index).then(function(texture) {
4292
4499
  material.baseTexture = texture;
4293
4500
  GLTFParser.executeExtensionsAdditiveAndParse(baseColorTexture.extensions, context, material, baseColorTexture);
4501
+ }).catch(function(e) {
4502
+ Logger.error("GLTFMaterialParser: baseColorTexture error", e);
4294
4503
  });
4295
4504
  }
4296
4505
  if (material.constructor === PBRMaterial) {
@@ -4300,6 +4509,8 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4300
4509
  GLTFMaterialParser._checkOtherTextureTransform(metallicRoughnessTexture, "Roughness metallic");
4301
4510
  context.get(GLTFParserType.Texture, metallicRoughnessTexture.index).then(function(texture) {
4302
4511
  material.roughnessMetallicTexture = texture;
4512
+ }).catch(function(e) {
4513
+ Logger.error("GLTFMaterialParser: metallicRoughnessTexture error", e);
4303
4514
  });
4304
4515
  }
4305
4516
  }
@@ -4309,6 +4520,8 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4309
4520
  GLTFMaterialParser._checkOtherTextureTransform(emissiveTexture, "Emissive");
4310
4521
  context.get(GLTFParserType.Texture, emissiveTexture.index).then(function(texture) {
4311
4522
  material.emissiveTexture = texture;
4523
+ }).catch(function(e) {
4524
+ Logger.error("GLTFMaterialParser: emissiveTexture error", e);
4312
4525
  });
4313
4526
  }
4314
4527
  if (emissiveFactor) {
@@ -4319,6 +4532,8 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4319
4532
  GLTFMaterialParser._checkOtherTextureTransform(normalTexture, "Normal");
4320
4533
  context.get(GLTFParserType.Texture, index).then(function(texture) {
4321
4534
  material.normalTexture = texture;
4535
+ }).catch(function(e) {
4536
+ Logger.error("GLTFMaterialParser: emissiveTexture error", e);
4322
4537
  });
4323
4538
  if (scale !== undefined) {
4324
4539
  material.normalTextureIntensity = scale;
@@ -4329,6 +4544,8 @@ var GLTFMaterialParser = /*#__PURE__*/ function(GLTFParser1) {
4329
4544
  GLTFMaterialParser._checkOtherTextureTransform(occlusionTexture, "Occlusion");
4330
4545
  context.get(GLTFParserType.Texture, index1).then(function(texture) {
4331
4546
  material.occlusionTexture = texture;
4547
+ }).catch(function(e) {
4548
+ Logger.error("GLTFMaterialParser: occlusionTexture error", e);
4332
4549
  });
4333
4550
  if (strength !== undefined) {
4334
4551
  material.occlusionTextureIntensity = strength;
@@ -4372,7 +4589,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
4372
4589
  _proto.parse = function parse(context, index) {
4373
4590
  var _loop = function(i, length) {
4374
4591
  var gltfPrimitive = meshInfo.primitives[i];
4375
- primitivePromises[i] = new Promise(function(resolve) {
4592
+ primitivePromises[i] = new AssetPromise(function(resolve, reject) {
4376
4593
  var mesh = GLTFParser.executeExtensionsCreateAndParse(gltfPrimitive.extensions, context, gltfPrimitive, meshInfo);
4377
4594
  if (mesh) {
4378
4595
  if (_instanceof(mesh, ModelMesh)) {
@@ -4393,7 +4610,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
4393
4610
  var meshRestoreInfo = new ModelMeshRestoreInfo();
4394
4611
  meshRestoreInfo.mesh = mesh1;
4395
4612
  context.contentRestorer.meshes.push(meshRestoreInfo);
4396
- GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve);
4613
+ GLTFMeshParser._parseMeshFromGLTFPrimitive(context, mesh1, meshRestoreInfo, meshInfo, gltfPrimitive, glTF, context.params.keepMeshData).then(resolve, reject);
4397
4614
  }
4398
4615
  });
4399
4616
  };
@@ -4402,7 +4619,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
4402
4619
  var engine = glTFResource.engine;
4403
4620
  var primitivePromises = new Array();
4404
4621
  for(var i = 0, length = meshInfo.primitives.length; i < length; i++)_loop(i);
4405
- return Promise.all(primitivePromises);
4622
+ return AssetPromise.all(primitivePromises);
4406
4623
  };
4407
4624
  /**
4408
4625
  * @internal
@@ -4485,7 +4702,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
4485
4702
  var bufferBindIndex = 0;
4486
4703
  var promises = new Array();
4487
4704
  for(var attribute in attributes)_loop(attribute);
4488
- return Promise.all(promises).then(function() {
4705
+ return AssetPromise.all(promises).then(function() {
4489
4706
  mesh.setVertexElements(vertexElements);
4490
4707
  // Indices
4491
4708
  if (indices !== undefined) {
@@ -4535,7 +4752,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
4535
4752
  var tangentTarget = targets["TANGENT"];
4536
4753
  var hasNormal = normalTarget !== undefined;
4537
4754
  var hasTangent = tangentTarget !== undefined;
4538
- var promise = Promise.all([
4755
+ var promise = AssetPromise.all([
4539
4756
  _this._getBlendShapeData(context, glTF, accessors[targets["POSITION"]]),
4540
4757
  hasNormal ? _this._getBlendShapeData(context, glTF, accessors[normalTarget]) : null,
4541
4758
  hasTangent ? _this._getBlendShapeData(context, glTF, accessors[tangentTarget]) : null
@@ -4555,7 +4772,7 @@ var GLTFMeshParser = /*#__PURE__*/ function(GLTFParser1) {
4555
4772
  var blendShapeCount = glTFTargets.length;
4556
4773
  var blendShapeCollection = new Array(blendShapeCount);
4557
4774
  for(var i = 0; i < blendShapeCount; i++)_this = this, _loop(i);
4558
- return Promise.all(promises).then(function() {
4775
+ return AssetPromise.all(promises).then(function() {
4559
4776
  for(var _iterator = _create_for_of_iterator_helper_loose(blendShapeCollection), _step; !(_step = _iterator()).done;){
4560
4777
  var blendShape = _step.value;
4561
4778
  mesh.addBlendShape(blendShape.blendShape);
@@ -4602,7 +4819,7 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4602
4819
  for(var i1 = 0; i1 < sceneNodes.length; i1++){
4603
4820
  promises.push(this._parseEntityComponent(context, sceneNodes[i1]));
4604
4821
  }
4605
- return Promise.all(promises).then(function() {
4822
+ return AssetPromise.all(promises).then(function() {
4606
4823
  GLTFParser.executeExtensionsAdditiveAndParse(sceneExtensions, context, sceneRoot, sceneInfo);
4607
4824
  return sceneRoot;
4608
4825
  });
@@ -4620,7 +4837,7 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4620
4837
  if (meshID !== undefined) {
4621
4838
  promise = this._createRenderer(context, entityInfo, entity);
4622
4839
  }
4623
- return Promise.resolve(promise).then(function() {
4840
+ return AssetPromise.resolve(promise).then(function() {
4624
4841
  var promises = [];
4625
4842
  var children = entityInfo.children;
4626
4843
  if (children) {
@@ -4628,7 +4845,7 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4628
4845
  promises.push(_this._parseEntityComponent(context, children[i]));
4629
4846
  }
4630
4847
  }
4631
- return Promise.all(promises);
4848
+ return AssetPromise.all(promises);
4632
4849
  });
4633
4850
  };
4634
4851
  _proto._createCamera = function _createCamera(resource, cameraSchema, entity) {
@@ -4677,10 +4894,10 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4677
4894
  var _glTFMeshPrimitives_i_material;
4678
4895
  materialPromises[i] = context.get(GLTFParserType.Material, (_glTFMeshPrimitives_i_material = glTFMeshPrimitives[i].material) != null ? _glTFMeshPrimitives_i_material : -1);
4679
4896
  }
4680
- return Promise.all([
4897
+ return AssetPromise.all([
4681
4898
  context.get(GLTFParserType.Mesh, meshID),
4682
4899
  skinID !== undefined && context.get(GLTFParserType.Skin, skinID),
4683
- Promise.all(materialPromises)
4900
+ AssetPromise.all(materialPromises)
4684
4901
  ]).then(function(param) {
4685
4902
  var _loop = function(i) {
4686
4903
  var material = materials[i] || basicResources._getBlinnPhongMaterial();
@@ -4715,6 +4932,8 @@ var GLTFSceneParser = /*#__PURE__*/ function(GLTFParser1) {
4715
4932
  // @ts-ignore
4716
4933
  var basicResources = context.glTFResource.engine._basicResources;
4717
4934
  for(var i = 0; i < rendererCount; i++)_loop(i);
4935
+ }).catch(function(e) {
4936
+ Logger.error("GLTFSceneParser: create renderer error", e);
4718
4937
  });
4719
4938
  };
4720
4939
  _proto._computeLocalBounds = function _computeLocalBounds(skinnedMeshRenderer, mesh, bones, rootBone, inverseBindMatrices) {
@@ -4799,7 +5018,7 @@ var GLTFSkinParser = /*#__PURE__*/ function(GLTFParser) {
4799
5018
  }
4800
5019
  return skin;
4801
5020
  });
4802
- return Promise.resolve(skinPromise);
5021
+ return AssetPromise.resolve(skinPromise);
4803
5022
  };
4804
5023
  _proto._findSkeletonRootBone = function _findSkeletonRootBone(joints, entities) {
4805
5024
  var paths = {};
@@ -4849,7 +5068,7 @@ var GLTFTextureParser = /*#__PURE__*/ function(GLTFParser1) {
4849
5068
  if (!texture) {
4850
5069
  texture = GLTFTextureParser._parseTexture(context, imageIndex, textureIndex, sampler, textureName);
4851
5070
  }
4852
- return Promise.resolve(texture).then(function(texture) {
5071
+ return AssetPromise.resolve(texture).then(function(texture) {
4853
5072
  GLTFParser.executeExtensionsAdditiveAndParse(extensions, context, texture, textureInfo);
4854
5073
  // @ts-ignore
4855
5074
  texture._associationSuperResource(glTFResource);
@@ -4894,6 +5113,8 @@ var GLTFTextureParser = /*#__PURE__*/ function(GLTFParser1) {
4894
5113
  context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
4895
5114
  return texture;
4896
5115
  });
5116
+ }).catch(function(e) {
5117
+ Logger.error("GLTFTextureParser: image buffer error", e);
4897
5118
  });
4898
5119
  }
4899
5120
  return texture;
@@ -4936,7 +5157,7 @@ var GLTFValidator = /*#__PURE__*/ function(GLTFParser1) {
4936
5157
  }
4937
5158
  }
4938
5159
  }
4939
- return Promise.resolve(null);
5160
+ return AssetPromise.resolve(null);
4940
5161
  };
4941
5162
  return GLTFValidator;
4942
5163
  }(GLTFParser);
@@ -4955,6 +5176,8 @@ var GLTFBufferViewParser = /*#__PURE__*/ function(GLTFParser1) {
4955
5176
  var extensions = bufferView.extensions, _bufferView_byteOffset = bufferView.byteOffset, byteOffset = _bufferView_byteOffset === void 0 ? 0 : _bufferView_byteOffset, byteLength = bufferView.byteLength, bufferIndex = bufferView.buffer;
4956
5177
  return extensions ? GLTFParser.executeExtensionsCreateAndParse(extensions, context, bufferView) : context.get(GLTFParserType.Buffer, bufferIndex).then(function(buffer) {
4957
5178
  return new Uint8Array(buffer, byteOffset, byteLength);
5179
+ }).catch(function(e) {
5180
+ Logger.error("GLTFBufferViewParser: buffer error", e);
4958
5181
  });
4959
5182
  };
4960
5183
  return GLTFBufferViewParser;
@@ -4972,11 +5195,13 @@ var GLTFAnimatorControllerParser = /*#__PURE__*/ function(GLTFParser) {
4972
5195
  _proto.parse = function parse(context) {
4973
5196
  var _this = this;
4974
5197
  if (!context.needAnimatorController) {
4975
- return Promise.resolve(null);
5198
+ return AssetPromise.resolve(null);
4976
5199
  }
4977
5200
  return context.get(GLTFParserType.Animation).then(function(animations) {
4978
5201
  var animatorController = _this._createAnimatorController(context, animations);
4979
- return Promise.resolve(animatorController);
5202
+ return AssetPromise.resolve(animatorController);
5203
+ }).catch(function(e) {
5204
+ Logger.error("GLTFAnimatorControllerParser: animator controller error", e);
4980
5205
  });
4981
5206
  };
4982
5207
  _proto._createAnimatorController = function _createAnimatorController(context, animations) {
@@ -5007,203 +5232,6 @@ GLTFAnimatorControllerParser = __decorate([
5007
5232
  registerGLTFParser(GLTFParserType.AnimatorController)
5008
5233
  ], GLTFAnimatorControllerParser);
5009
5234
 
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
5235
  var GLTFLoader = /*#__PURE__*/ function(Loader) {
5208
5236
  _inherits(GLTFLoader, Loader);
5209
5237
  function GLTFLoader() {
@@ -5227,10 +5255,19 @@ var GLTFLoader = /*#__PURE__*/ function(Loader) {
5227
5255
  var context = new GLTFParserContext(glTFResource, resourceManager, _extends({
5228
5256
  keepMeshData: false
5229
5257
  }, params));
5230
- return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress) {
5258
+ return new AssetPromise(function(resolve, reject, setTaskCompleteProgress, setTaskDetailProgress, onTaskCancel) {
5231
5259
  context._setTaskCompleteProgress = setTaskCompleteProgress;
5232
5260
  context._setTaskDetailProgress = setTaskDetailProgress;
5233
- context.parse().then(resolve).catch(reject);
5261
+ onTaskCancel(function() {
5262
+ var getPromises = context._getPromises;
5263
+ for(var i = 0, n = getPromises.length; i < n; i++){
5264
+ getPromises[i].cancel();
5265
+ }
5266
+ });
5267
+ context.parse().then(resolve).catch(function(e) {
5268
+ glTFResource.destroy();
5269
+ reject(e);
5270
+ });
5234
5271
  });
5235
5272
  };
5236
5273
  /**
@@ -6778,18 +6815,24 @@ var KHR_materials_clearcoat = /*#__PURE__*/ function(GLTFExtensionParser) {
6778
6815
  GLTFMaterialParser._checkOtherTextureTransform(clearcoatTexture, "Clear coat");
6779
6816
  context.get(GLTFParserType.Texture, clearcoatTexture.index).then(function(texture) {
6780
6817
  material.clearCoatTexture = texture;
6818
+ }).catch(function(e) {
6819
+ Logger.error("KHR_materials_clearcoat: clearcoat texture error", e);
6781
6820
  });
6782
6821
  }
6783
6822
  if (clearcoatRoughnessTexture) {
6784
6823
  GLTFMaterialParser._checkOtherTextureTransform(clearcoatRoughnessTexture, "Clear coat roughness");
6785
6824
  context.get(GLTFParserType.Texture, clearcoatRoughnessTexture.index).then(function(texture) {
6786
6825
  material.clearCoatRoughnessTexture = texture;
6826
+ }).catch(function(e) {
6827
+ Logger.error("KHR_materials_clearcoat: clearcoat roughness texture error", e);
6787
6828
  });
6788
6829
  }
6789
6830
  if (clearcoatNormalTexture) {
6790
6831
  GLTFMaterialParser._checkOtherTextureTransform(clearcoatNormalTexture, "Clear coat normal");
6791
6832
  context.get(GLTFParserType.Texture, clearcoatNormalTexture.index).then(function(texture) {
6792
6833
  material.clearCoatNormalTexture = texture;
6834
+ }).catch(function(e) {
6835
+ Logger.error("KHR_materials_clearcoat: clearcoat normal texture error", e);
6793
6836
  });
6794
6837
  }
6795
6838
  };
@@ -6832,6 +6875,8 @@ var KHR_materials_pbrSpecularGlossiness = /*#__PURE__*/ function(GLTFExtensionPa
6832
6875
  context.get(GLTFParserType.Texture, diffuseTexture.index).then(function(texture) {
6833
6876
  material.baseTexture = texture;
6834
6877
  GLTFParser.executeExtensionsAdditiveAndParse(diffuseTexture.extensions, context, material, diffuseTexture);
6878
+ }).catch(function(e) {
6879
+ Logger.error("KHR_materials_pbrSpecularGlossiness: diffuse texture error", e);
6835
6880
  });
6836
6881
  }
6837
6882
  if (specularFactor) {
@@ -6844,6 +6889,8 @@ var KHR_materials_pbrSpecularGlossiness = /*#__PURE__*/ function(GLTFExtensionPa
6844
6889
  GLTFMaterialParser._checkOtherTextureTransform(specularGlossinessTexture, "Specular glossiness");
6845
6890
  context.get(GLTFParserType.Texture, specularGlossinessTexture.index).then(function(texture) {
6846
6891
  material.specularGlossinessTexture = texture;
6892
+ }).catch(function(e) {
6893
+ Logger.error("KHR_materials_pbrSpecularGlossiness: specular glossiness texture error", e);
6847
6894
  });
6848
6895
  }
6849
6896
  material.name = ownerSchema.name;
@@ -6872,12 +6919,16 @@ var KHR_materials_sheen = /*#__PURE__*/ function(GLTFExtensionParser) {
6872
6919
  GLTFMaterialParser._checkOtherTextureTransform(sheenColorTexture, "Sheen texture");
6873
6920
  context.get(GLTFParserType.Texture, sheenColorTexture.index).then(function(texture) {
6874
6921
  material.sheenColorTexture = texture;
6922
+ }).catch(function(e) {
6923
+ Logger.error("KHR_materials_sheen: sheenColorTexture error", e);
6875
6924
  });
6876
6925
  }
6877
6926
  if (sheenRoughnessTexture) {
6878
6927
  GLTFMaterialParser._checkOtherTextureTransform(sheenRoughnessTexture, "SheenRoughness texture");
6879
6928
  context.get(GLTFParserType.Texture, sheenRoughnessTexture.index).then(function(texture) {
6880
6929
  material.sheenRoughnessTexture = texture;
6930
+ }).catch(function(e) {
6931
+ Logger.error("KHR_materials_sheen: sheenRoughnessTexture error", e);
6881
6932
  });
6882
6933
  }
6883
6934
  };
@@ -6900,6 +6951,8 @@ var KHR_materials_transmission = /*#__PURE__*/ function(GLTFExtensionParser) {
6900
6951
  GLTFMaterialParser._checkOtherTextureTransform(transmissionTexture, "Transmission texture");
6901
6952
  context.get(GLTFParserType.Texture, transmissionTexture.index).then(function(texture) {
6902
6953
  material.transmissionTexture = texture;
6954
+ }).catch(function(e) {
6955
+ Logger.error("KHR_materials_transmission: transmission texture error", e);
6903
6956
  });
6904
6957
  }
6905
6958
  };
@@ -6945,6 +6998,8 @@ var KHR_materials_variants = /*#__PURE__*/ function(GLTFExtensionParser) {
6945
6998
  return variantNames[index].name;
6946
6999
  })
6947
7000
  });
7001
+ }).catch(function(e) {
7002
+ Logger.error("KHR_materials_variants: material error", e);
6948
7003
  });
6949
7004
  };
6950
7005
  var _glTFResource;
@@ -6978,6 +7033,8 @@ var KHR_materials_volume = /*#__PURE__*/ function(GLTFExtensionParser) {
6978
7033
  GLTFMaterialParser._checkOtherTextureTransform(thicknessTexture, "Thickness texture");
6979
7034
  context.get(GLTFParserType.Texture, thicknessTexture.index).then(function(texture) {
6980
7035
  material.thicknessTexture = texture;
7036
+ }).catch(function(e) {
7037
+ Logger.error("KHR_materials_volume: thickness texture error", e);
6981
7038
  });
6982
7039
  }
6983
7040
  };
@@ -7005,57 +7062,48 @@ var KHR_texture_basisu = /*#__PURE__*/ function(GLTFExtensionParser) {
7005
7062
  }
7006
7063
  var _proto = KHR_texture_basisu.prototype;
7007
7064
  _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
- ];
7065
+ var glTF = context.glTF, glTFResource = context.glTFResource;
7066
+ var engine = glTFResource.engine, url = glTFResource.url;
7067
+ var sampler = textureInfo.sampler, textureName = textureInfo.name;
7068
+ var source = schema.source;
7069
+ 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;
7070
+ var samplerInfo = sampler !== undefined && GLTFUtils.getSamplerInfo(glTF.samplers[sampler]);
7071
+ if (uri) {
7072
+ var index = uri.lastIndexOf(".");
7073
+ var promise = engine.resourceManager.load({
7074
+ url: Utils.resolveAbsoluteUrl(url, uri),
7075
+ type: AssetType.KTX2
7076
+ }).onProgress(undefined, context._onTaskDetail).then(function(texture) {
7077
+ if (!texture.name) {
7078
+ texture.name = textureName || imageName || "texture_" + index;
7056
7079
  }
7080
+ if (sampler !== undefined) {
7081
+ GLTFUtils.parseSampler(texture, samplerInfo);
7082
+ }
7083
+ return texture;
7057
7084
  });
7058
- })();
7085
+ context._addTaskCompletePromise(promise);
7086
+ return promise;
7087
+ } else {
7088
+ var bufferView = glTF.bufferViews[bufferViewIndex];
7089
+ return context.get(GLTFParserType.Buffer, bufferView.buffer).then(function(buffer) {
7090
+ var imageBuffer = new Uint8Array(buffer, bufferView.byteOffset, bufferView.byteLength);
7091
+ return KTX2Loader._parseBuffer(imageBuffer, engine).then(function(param) {
7092
+ var engine = param.engine, result = param.result, targetFormat = param.targetFormat, params = param.params;
7093
+ return KTX2Loader._createTextureByBuffer(engine, result, targetFormat, params);
7094
+ }).then(function(texture) {
7095
+ texture.name = textureName || imageName || "texture_" + bufferViewIndex;
7096
+ if (sampler !== undefined) {
7097
+ GLTFUtils.parseSampler(texture, samplerInfo);
7098
+ }
7099
+ var bufferTextureRestoreInfo = new BufferTextureRestoreInfo(texture, bufferView, mimeType);
7100
+ context.contentRestorer.bufferTextures.push(bufferTextureRestoreInfo);
7101
+ return texture;
7102
+ });
7103
+ }).catch(function(e) {
7104
+ Logger.error("KHR_texture_basisu: buffer error", e);
7105
+ });
7106
+ }
7059
7107
  };
7060
7108
  return KHR_texture_basisu;
7061
7109
  }(GLTFExtensionParser);
@@ -7145,6 +7193,8 @@ var EXT_meshopt_compression = /*#__PURE__*/ function(GLTFExtensionParser) {
7145
7193
  return getMeshoptDecoder().then(function(decoder) {
7146
7194
  return decoder.decodeGltfBuffer(schema.count, schema.byteStride, new Uint8Array(arrayBuffer, schema.byteOffset, schema.byteLength), schema.mode, schema.filter);
7147
7195
  });
7196
+ }).catch(function(e) {
7197
+ Logger.error("EXT_meshopt_compression: buffer error", e);
7148
7198
  });
7149
7199
  };
7150
7200
  return EXT_meshopt_compression;
@@ -7167,6 +7217,8 @@ var KHR_materials_anisotropy = /*#__PURE__*/ function(GLTFExtensionParser) {
7167
7217
  GLTFMaterialParser._checkOtherTextureTransform(anisotropyTexture, "Anisotropy texture");
7168
7218
  context.get(GLTFParserType.Texture, anisotropyTexture.index).then(function(texture) {
7169
7219
  material.anisotropyTexture = texture;
7220
+ }).catch(function(e) {
7221
+ Logger.error("KHR_materials_anisotropy: anisotropy texture error", e);
7170
7222
  });
7171
7223
  }
7172
7224
  };
@@ -7191,12 +7243,16 @@ var KHR_materials_iridescence = /*#__PURE__*/ function(GLTFExtensionParser) {
7191
7243
  GLTFMaterialParser._checkOtherTextureTransform(iridescenceTexture, "Iridescence texture");
7192
7244
  context.get(GLTFParserType.Texture, iridescenceTexture.index).then(function(texture) {
7193
7245
  material.iridescenceTexture = texture;
7246
+ }).catch(function(e) {
7247
+ Logger.error("KHR_materials_iridescence: iridescence texture error", e);
7194
7248
  });
7195
7249
  }
7196
7250
  if (iridescenceThicknessTexture) {
7197
7251
  GLTFMaterialParser._checkOtherTextureTransform(iridescenceThicknessTexture, "IridescenceThickness texture");
7198
7252
  context.get(GLTFParserType.Texture, iridescenceThicknessTexture.index).then(function(texture) {
7199
7253
  material.iridescenceThicknessTexture = texture;
7254
+ }).catch(function(e) {
7255
+ Logger.error("KHR_materials_iridescence: iridescence thickness error", e);
7200
7256
  });
7201
7257
  }
7202
7258
  };
@@ -7223,19 +7279,10 @@ var EXT_texture_webp = /*#__PURE__*/ function(GLTFExtensionParser) {
7223
7279
  }
7224
7280
  var _proto = EXT_texture_webp.prototype;
7225
7281
  _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
- })();
7282
+ var webPIndex = schema.source;
7283
+ var sampler = textureInfo.sampler, tmp = textureInfo.source, fallbackIndex = tmp === void 0 ? 0 : tmp, textureName = textureInfo.name;
7284
+ var texture = GLTFTextureParser._parseTexture(context, this._supportWebP ? webPIndex : fallbackIndex, textureIndex, sampler, textureName);
7285
+ return texture;
7239
7286
  };
7240
7287
  return EXT_texture_webp;
7241
7288
  }(GLTFExtensionParser);