@playcanvas/web-components 0.2.2 → 0.2.4

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/pwc.js CHANGED
@@ -17,11 +17,11 @@
17
17
  }
18
18
  get closestApp() {
19
19
  var _a;
20
- return (_a = this.parentElement) === null || _a === undefined ? undefined : _a.closest('pc-app');
20
+ return (_a = this.parentElement) === null || _a === void 0 ? void 0 : _a.closest('pc-app');
21
21
  }
22
22
  get closestEntity() {
23
23
  var _a;
24
- return (_a = this.parentElement) === null || _a === undefined ? undefined : _a.closest('pc-entity');
24
+ return (_a = this.parentElement) === null || _a === void 0 ? void 0 : _a.closest('pc-entity');
25
25
  }
26
26
  /**
27
27
  * Called when the element is fully initialized and ready.
@@ -759,7 +759,7 @@
759
759
  if (!this.entity)
760
760
  return;
761
761
  const closestEntity = this.closestEntity;
762
- if (closestEntity === null || closestEntity === undefined ? undefined : closestEntity.entity) {
762
+ if (closestEntity === null || closestEntity === void 0 ? void 0 : closestEntity.entity) {
763
763
  closestEntity.entity.addChild(this.entity);
764
764
  }
765
765
  else {
@@ -981,11 +981,187 @@
981
981
  }
982
982
  hasListeners(type) {
983
983
  var _a;
984
- return Boolean((_a = this._listeners[type]) === null || _a === undefined ? undefined : _a.length);
984
+ return Boolean((_a = this._listeners[type]) === null || _a === void 0 ? void 0 : _a.length);
985
985
  }
986
986
  }
987
987
  customElements.define('pc-entity', EntityElement);
988
988
 
989
+ // This file is part of meshoptimizer library and is distributed under the terms of MIT License.
990
+ // Copyright (C) 2016-2022, by Arseny Kapoulkine (arseny.kapoulkine@gmail.com)
991
+ var MeshoptDecoder = (function() {
992
+
993
+ // Built with clang version 14.0.4
994
+ // Built from meshoptimizer 0.18
995
+ 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";
996
+ 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";
997
+
998
+ var detector = new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]);
999
+ var wasmpack = new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);
1000
+
1001
+ if (typeof WebAssembly !== 'object') {
1002
+ return {
1003
+ supported: false,
1004
+ };
1005
+ }
1006
+
1007
+ var wasm = WebAssembly.validate(detector) ? wasm_simd : wasm_base;
1008
+
1009
+ var instance;
1010
+
1011
+ var ready =
1012
+ WebAssembly.instantiate(unpack(wasm), {})
1013
+ .then(function(result) {
1014
+ instance = result.instance;
1015
+ instance.exports.__wasm_call_ctors();
1016
+ });
1017
+
1018
+ function unpack(data) {
1019
+ var result = new Uint8Array(data.length);
1020
+ for (var i = 0; i < data.length; ++i) {
1021
+ var ch = data.charCodeAt(i);
1022
+ result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
1023
+ }
1024
+ var write = 0;
1025
+ for (var i = 0; i < data.length; ++i) {
1026
+ result[write++] = (result[i] < 60) ? wasmpack[result[i]] : (result[i] - 60) * 64 + result[++i];
1027
+ }
1028
+ return result.buffer.slice(0, write);
1029
+ }
1030
+
1031
+ function decode(fun, target, count, size, source, filter) {
1032
+ var sbrk = instance.exports.sbrk;
1033
+ var count4 = (count + 3) & -4;
1034
+ var tp = sbrk(count4 * size);
1035
+ var sp = sbrk(source.length);
1036
+ var heap = new Uint8Array(instance.exports.memory.buffer);
1037
+ heap.set(source, sp);
1038
+ var res = fun(tp, count, size, sp, source.length);
1039
+ if (res == 0 && filter) {
1040
+ filter(tp, count4, size);
1041
+ }
1042
+ target.set(heap.subarray(tp, tp + count * size));
1043
+ sbrk(tp - sbrk(0));
1044
+ if (res != 0) {
1045
+ throw new Error("Malformed buffer data: " + res);
1046
+ }
1047
+ }
1048
+
1049
+ var filters = {
1050
+ NONE: "",
1051
+ OCTAHEDRAL: "meshopt_decodeFilterOct",
1052
+ QUATERNION: "meshopt_decodeFilterQuat",
1053
+ EXPONENTIAL: "meshopt_decodeFilterExp",
1054
+ };
1055
+
1056
+ var decoders = {
1057
+ ATTRIBUTES: "meshopt_decodeVertexBuffer",
1058
+ TRIANGLES: "meshopt_decodeIndexBuffer",
1059
+ INDICES: "meshopt_decodeIndexSequence",
1060
+ };
1061
+
1062
+ var workers = [];
1063
+ var requestId = 0;
1064
+
1065
+ function createWorker(url) {
1066
+ var worker = {
1067
+ object: new Worker(url),
1068
+ pending: 0,
1069
+ requests: {}
1070
+ };
1071
+
1072
+ worker.object.onmessage = function(event) {
1073
+ var data = event.data;
1074
+
1075
+ worker.pending -= data.count;
1076
+ worker.requests[data.id][data.action](data.value);
1077
+
1078
+ delete worker.requests[data.id];
1079
+ };
1080
+
1081
+ return worker;
1082
+ }
1083
+
1084
+ function initWorkers(count) {
1085
+ var source =
1086
+ "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(unpack(wasm)) + "]), {})" +
1087
+ ".then(function(result) { instance = result.instance; instance.exports.__wasm_call_ctors(); });" +
1088
+ "self.onmessage = workerProcess;" +
1089
+ decode.toString() + workerProcess.toString();
1090
+
1091
+ var blob = new Blob([source], {type: 'text/javascript'});
1092
+ var url = URL.createObjectURL(blob);
1093
+
1094
+ for (var i = 0; i < count; ++i) {
1095
+ workers[i] = createWorker(url);
1096
+ }
1097
+
1098
+ URL.revokeObjectURL(url);
1099
+ }
1100
+
1101
+ function decodeWorker(count, size, source, mode, filter) {
1102
+ var worker = workers[0];
1103
+
1104
+ for (var i = 1; i < workers.length; ++i) {
1105
+ if (workers[i].pending < worker.pending) {
1106
+ worker = workers[i];
1107
+ }
1108
+ }
1109
+
1110
+ return new Promise(function (resolve, reject) {
1111
+ var data = new Uint8Array(source);
1112
+ var id = requestId++;
1113
+
1114
+ worker.pending += count;
1115
+ worker.requests[id] = { resolve: resolve, reject: reject };
1116
+ worker.object.postMessage({ id: id, count: count, size: size, source: data, mode: mode, filter: filter }, [ data.buffer ]);
1117
+ });
1118
+ }
1119
+
1120
+ function workerProcess(event) {
1121
+ ready.then(function() {
1122
+ var data = event.data;
1123
+ try {
1124
+ var target = new Uint8Array(data.count * data.size);
1125
+ decode(instance.exports[data.mode], target, data.count, data.size, data.source, instance.exports[data.filter]);
1126
+ self.postMessage({ id: data.id, count: data.count, action: "resolve", value: target }, [ target.buffer ]);
1127
+ } catch (error) {
1128
+ self.postMessage({ id: data.id, count: data.count, action: "reject", value: error });
1129
+ }
1130
+ });
1131
+ }
1132
+
1133
+ return {
1134
+ ready: ready,
1135
+ supported: true,
1136
+ useWorkers: function(count) {
1137
+ initWorkers(count);
1138
+ },
1139
+ decodeVertexBuffer: function(target, count, size, source, filter) {
1140
+ decode(instance.exports.meshopt_decodeVertexBuffer, target, count, size, source, instance.exports[filters[filter]]);
1141
+ },
1142
+ decodeIndexBuffer: function(target, count, size, source) {
1143
+ decode(instance.exports.meshopt_decodeIndexBuffer, target, count, size, source);
1144
+ },
1145
+ decodeIndexSequence: function(target, count, size, source) {
1146
+ decode(instance.exports.meshopt_decodeIndexSequence, target, count, size, source);
1147
+ },
1148
+ decodeGltfBuffer: function(target, count, size, source, mode, filter) {
1149
+ decode(instance.exports[decoders[mode]], target, count, size, source, instance.exports[filters[filter]]);
1150
+ },
1151
+ decodeGltfBufferAsync: function(count, size, source, mode, filter) {
1152
+ if (workers.length > 0) {
1153
+ return decodeWorker(count, size, source, decoders[mode], filters[filter]);
1154
+ }
1155
+
1156
+ return ready.then(function() {
1157
+ var target = new Uint8Array(count * size);
1158
+ decode(instance.exports[decoders[mode]], target, count, size, source, instance.exports[filters[filter]]);
1159
+ return target;
1160
+ });
1161
+ }
1162
+ };
1163
+ })();
1164
+
989
1165
  const extToType = new Map([
990
1166
  ['bin', 'binary'],
991
1167
  ['css', 'css'],
@@ -1005,6 +1181,27 @@
1005
1181
  ['vert', 'shader'],
1006
1182
  ['webp', 'texture']
1007
1183
  ]);
1184
+ // provide buffer view callback so we can handle models compressed with MeshOptimizer
1185
+ // https://github.com/zeux/meshoptimizer
1186
+ const processBufferView = (gltfBuffer, buffers, continuation) => {
1187
+ if (gltfBuffer.extensions && gltfBuffer.extensions.EXT_meshopt_compression) {
1188
+ const extensionDef = gltfBuffer.extensions.EXT_meshopt_compression;
1189
+ Promise.all([MeshoptDecoder.ready, buffers[extensionDef.buffer]]).then((promiseResult) => {
1190
+ const buffer = promiseResult[1];
1191
+ const byteOffset = extensionDef.byteOffset || 0;
1192
+ const byteLength = extensionDef.byteLength || 0;
1193
+ const count = extensionDef.count;
1194
+ const stride = extensionDef.byteStride;
1195
+ const result = new Uint8Array(count * stride);
1196
+ const source = new Uint8Array(buffer.buffer, buffer.byteOffset + byteOffset, byteLength);
1197
+ MeshoptDecoder.decodeGltfBuffer(result, count, stride, source, extensionDef.mode, extensionDef.filter);
1198
+ continuation(null, result);
1199
+ });
1200
+ }
1201
+ else {
1202
+ continuation(null, null);
1203
+ }
1204
+ };
1008
1205
  /**
1009
1206
  * The AssetElement interface provides properties and methods for manipulating
1010
1207
  * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-asset/ | `<pc-asset>`} elements.
@@ -1031,13 +1228,23 @@
1031
1228
  // If no type is specified, try to infer it from the file extension.
1032
1229
  if (!type) {
1033
1230
  const ext = src.split('.').pop();
1034
- type = (_a = extToType.get(ext || '')) !== null && _a !== undefined ? _a : null;
1231
+ type = (_a = extToType.get(ext || '')) !== null && _a !== void 0 ? _a : null;
1035
1232
  }
1036
1233
  if (!type) {
1037
1234
  console.warn(`Unsupported asset type: ${src}`);
1038
1235
  return;
1039
1236
  }
1040
- this.asset = new playcanvas.Asset(id, type, { url: src });
1237
+ if (type === 'container') {
1238
+ this.asset = new playcanvas.Asset(id, type, { url: src }, undefined, {
1239
+ // @ts-ignore TODO no definition in pc
1240
+ bufferView: {
1241
+ processAsync: processBufferView.bind(this)
1242
+ }
1243
+ });
1244
+ }
1245
+ else {
1246
+ this.asset = new playcanvas.Asset(id, type, { url: src });
1247
+ }
1041
1248
  this.asset.preload = !this._lazy;
1042
1249
  }
1043
1250
  destroyAsset() {
@@ -1065,7 +1272,7 @@
1065
1272
  }
1066
1273
  static get(id) {
1067
1274
  const assetElement = document.querySelector(`pc-asset[id="${id}"]`);
1068
- return assetElement === null || assetElement === undefined ? undefined : assetElement.asset;
1275
+ return assetElement === null || assetElement === void 0 ? void 0 : assetElement.asset;
1069
1276
  }
1070
1277
  static get observedAttributes() {
1071
1278
  return ['lazy'];
@@ -1112,7 +1319,7 @@
1112
1319
  initComponent() { }
1113
1320
  async connectedCallback() {
1114
1321
  var _a;
1115
- await ((_a = this.closestApp) === null || _a === undefined ? undefined : _a.ready());
1322
+ await ((_a = this.closestApp) === null || _a === void 0 ? void 0 : _a.ready());
1116
1323
  await this.addComponent();
1117
1324
  this.initComponent();
1118
1325
  this._onReady();
@@ -1243,7 +1450,7 @@
1243
1450
  }
1244
1451
  get xrAvailable() {
1245
1452
  var _a;
1246
- const xrManager = (_a = this.component) === null || _a === undefined ? undefined : _a.system.app.xr;
1453
+ const xrManager = (_a = this.component) === null || _a === void 0 ? void 0 : _a.system.app.xr;
1247
1454
  return xrManager && xrManager.supported && xrManager.isAvailable(playcanvas.XRTYPE_VR);
1248
1455
  }
1249
1456
  /**
@@ -1574,7 +1781,7 @@
1574
1781
  var _a;
1575
1782
  this._tonemap = value;
1576
1783
  if (this.component) {
1577
- this.component.toneMapping = (_a = tonemaps.get(value)) !== null && _a !== undefined ? _a : playcanvas.TONEMAP_NONE;
1784
+ this.component.toneMapping = (_a = tonemaps.get(value)) !== null && _a !== void 0 ? _a : playcanvas.TONEMAP_NONE;
1578
1785
  }
1579
1786
  }
1580
1787
  /**
@@ -2110,64 +2317,6 @@
2110
2317
  }
2111
2318
  customElements.define('pc-element', ElementComponentElement);
2112
2319
 
2113
- /**
2114
- * The SplatComponentElement interface provides properties and methods for manipulating
2115
- * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-splat/ | `<pc-splat>`} elements.
2116
- * The SplatComponentElement interface also inherits the properties and methods of the
2117
- * {@link HTMLElement} interface.
2118
- *
2119
- * @category Components
2120
- */
2121
- class SplatComponentElement extends ComponentElement {
2122
- /** @ignore */
2123
- constructor() {
2124
- super('gsplat');
2125
- this._asset = '';
2126
- }
2127
- getInitialComponentData() {
2128
- return {
2129
- asset: AssetElement.get(this._asset)
2130
- };
2131
- }
2132
- /**
2133
- * Gets the underlying PlayCanvas splat component.
2134
- * @returns The splat component.
2135
- */
2136
- get component() {
2137
- return super.component;
2138
- }
2139
- /**
2140
- * Sets id of the `pc-asset` to use for the splat.
2141
- * @param value - The asset ID.
2142
- */
2143
- set asset(value) {
2144
- this._asset = value;
2145
- const asset = AssetElement.get(value);
2146
- if (this.component && asset) {
2147
- this.component.asset = asset;
2148
- }
2149
- }
2150
- /**
2151
- * Gets the id of the `pc-asset` to use for the splat.
2152
- * @returns The asset ID.
2153
- */
2154
- get asset() {
2155
- return this._asset;
2156
- }
2157
- static get observedAttributes() {
2158
- return [...super.observedAttributes, 'asset'];
2159
- }
2160
- attributeChangedCallback(name, _oldValue, newValue) {
2161
- super.attributeChangedCallback(name, _oldValue, newValue);
2162
- switch (name) {
2163
- case 'asset':
2164
- this.asset = newValue;
2165
- break;
2166
- }
2167
- }
2168
- }
2169
- customElements.define('pc-splat', SplatComponentElement);
2170
-
2171
2320
  const shadowTypes = new Map([
2172
2321
  ['pcf1-16f', playcanvas.SHADOW_PCF1_16F],
2173
2322
  ['pcf1-32f', playcanvas.SHADOW_PCF1_32F],
@@ -2436,7 +2585,7 @@
2436
2585
  var _a;
2437
2586
  this._shadowType = value;
2438
2587
  if (this.component) {
2439
- this.component.shadowType = (_a = shadowTypes.get(value)) !== null && _a !== undefined ? _a : playcanvas.SHADOW_PCF3_32F;
2588
+ this.component.shadowType = (_a = shadowTypes.get(value)) !== null && _a !== void 0 ? _a : playcanvas.SHADOW_PCF3_32F;
2440
2589
  }
2441
2590
  }
2442
2591
  /**
@@ -2553,6 +2702,138 @@
2553
2702
  }
2554
2703
  customElements.define('pc-light', LightComponentElement);
2555
2704
 
2705
+ /**
2706
+ * The ParticleSystemComponentElement interface provides properties and methods for manipulating
2707
+ * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-particles/ | `<pc-particles>`} elements.
2708
+ * The ParticleSystemComponentElement interface also inherits the properties and methods of the
2709
+ * {@link HTMLElement} interface.
2710
+ *
2711
+ * @category Components
2712
+ */
2713
+ class ParticleSystemComponentElement extends ComponentElement {
2714
+ /** @ignore */
2715
+ constructor() {
2716
+ super('particlesystem');
2717
+ this._asset = '';
2718
+ }
2719
+ getInitialComponentData() {
2720
+ var _a;
2721
+ const asset = AssetElement.get(this._asset);
2722
+ if (!asset) {
2723
+ return {};
2724
+ }
2725
+ if (asset.resource.colorMapAsset) {
2726
+ const id = asset.resource.colorMapAsset;
2727
+ const colorMapAsset = (_a = AssetElement.get(id)) === null || _a === void 0 ? void 0 : _a.id;
2728
+ if (colorMapAsset) {
2729
+ asset.resource.colorMapAsset = colorMapAsset;
2730
+ }
2731
+ }
2732
+ return asset.resource;
2733
+ }
2734
+ /**
2735
+ * Gets the underlying PlayCanvas particle system component.
2736
+ * @returns The particle system component.
2737
+ */
2738
+ get component() {
2739
+ return super.component;
2740
+ }
2741
+ applyConfig(resource) {
2742
+ if (!this.component) {
2743
+ return;
2744
+ }
2745
+ // Set all the config properties on the component
2746
+ for (const key in resource) {
2747
+ if (resource.hasOwnProperty(key)) {
2748
+ this.component[key] = resource[key];
2749
+ }
2750
+ }
2751
+ }
2752
+ async _loadAsset() {
2753
+ var _a;
2754
+ const appElement = await ((_a = this.closestApp) === null || _a === void 0 ? void 0 : _a.ready());
2755
+ const app = appElement === null || appElement === void 0 ? void 0 : appElement.app;
2756
+ const asset = AssetElement.get(this._asset);
2757
+ if (!asset) {
2758
+ return;
2759
+ }
2760
+ if (asset.loaded) {
2761
+ this.applyConfig(asset.resource);
2762
+ }
2763
+ else {
2764
+ asset.once('load', () => {
2765
+ this.applyConfig(asset.resource);
2766
+ });
2767
+ app.assets.load(asset);
2768
+ }
2769
+ }
2770
+ /**
2771
+ * Sets the id of the `pc-asset` to use for the model.
2772
+ * @param value - The asset ID.
2773
+ */
2774
+ set asset(value) {
2775
+ this._asset = value;
2776
+ if (this.isConnected) {
2777
+ this._loadAsset();
2778
+ }
2779
+ }
2780
+ /**
2781
+ * Gets the id of the `pc-asset` to use for the model.
2782
+ * @returns The asset ID.
2783
+ */
2784
+ get asset() {
2785
+ return this._asset;
2786
+ }
2787
+ // Control methods
2788
+ /**
2789
+ * Starts playing the particle system
2790
+ */
2791
+ play() {
2792
+ if (this.component) {
2793
+ this.component.play();
2794
+ }
2795
+ }
2796
+ /**
2797
+ * Pauses the particle system
2798
+ */
2799
+ pause() {
2800
+ if (this.component) {
2801
+ this.component.pause();
2802
+ }
2803
+ }
2804
+ /**
2805
+ * Resets the particle system
2806
+ */
2807
+ reset() {
2808
+ if (this.component) {
2809
+ this.component.reset();
2810
+ }
2811
+ }
2812
+ /**
2813
+ * Stops the particle system
2814
+ */
2815
+ stop() {
2816
+ if (this.component) {
2817
+ this.component.stop();
2818
+ }
2819
+ }
2820
+ static get observedAttributes() {
2821
+ return [
2822
+ ...super.observedAttributes,
2823
+ 'asset'
2824
+ ];
2825
+ }
2826
+ attributeChangedCallback(name, _oldValue, newValue) {
2827
+ super.attributeChangedCallback(name, _oldValue, newValue);
2828
+ switch (name) {
2829
+ case 'asset':
2830
+ this.asset = newValue;
2831
+ break;
2832
+ }
2833
+ }
2834
+ }
2835
+ customElements.define('pc-particles', ParticleSystemComponentElement);
2836
+
2556
2837
  /**
2557
2838
  * The MaterialElement interface provides properties and methods for manipulating
2558
2839
  * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-material/ | `<pc-material>`} elements.
@@ -2643,7 +2924,7 @@
2643
2924
  }
2644
2925
  static get(id) {
2645
2926
  const materialElement = document.querySelector(`pc-material[id="${id}"]`);
2646
- return materialElement === null || materialElement === undefined ? undefined : materialElement.material;
2927
+ return materialElement === null || materialElement === void 0 ? void 0 : materialElement.material;
2647
2928
  }
2648
2929
  static get observedAttributes() {
2649
2930
  return ['diffuse', 'diffuse-map', 'metalness-map', 'normal-map', 'roughness-map'];
@@ -3323,7 +3604,7 @@
3323
3604
  disconnectedCallback() {
3324
3605
  var _a;
3325
3606
  this.observer.disconnect();
3326
- (_a = super.disconnectedCallback) === null || _a === undefined ? undefined : _a.call(this);
3607
+ (_a = super.disconnectedCallback) === null || _a === void 0 ? void 0 : _a.call(this);
3327
3608
  }
3328
3609
  /**
3329
3610
  * Gets the underlying PlayCanvas script component.
@@ -3638,7 +3919,7 @@
3638
3919
  }
3639
3920
  async connectedCallback() {
3640
3921
  var _a;
3641
- await ((_a = this.soundElement) === null || _a === undefined ? undefined : _a.ready());
3922
+ await ((_a = this.soundElement) === null || _a === void 0 ? void 0 : _a.ready());
3642
3923
  const options = {
3643
3924
  autoPlay: this._autoPlay,
3644
3925
  loop: this._loop,
@@ -3652,7 +3933,6 @@
3652
3933
  }
3653
3934
  this.soundSlot = this.soundElement.component.addSlot(this._name, options);
3654
3935
  this.asset = this._asset;
3655
- this.soundSlot.play();
3656
3936
  this._onReady();
3657
3937
  }
3658
3938
  disconnectedCallback() {
@@ -3674,7 +3954,7 @@
3674
3954
  var _a;
3675
3955
  this._asset = value;
3676
3956
  if (this.soundSlot) {
3677
- const id = (_a = AssetElement.get(value)) === null || _a === undefined ? undefined : _a.id;
3957
+ const id = (_a = AssetElement.get(value)) === null || _a === void 0 ? void 0 : _a.id;
3678
3958
  if (id) {
3679
3959
  this.soundSlot.asset = id;
3680
3960
  }
@@ -3824,13 +4104,16 @@
3824
4104
  return this._volume;
3825
4105
  }
3826
4106
  static get observedAttributes() {
3827
- return ['asset', 'autoPlay', 'duration', 'loop', 'name', 'overlap', 'pitch', 'startTime', 'volume'];
4107
+ return ['asset', 'auto-play', 'duration', 'loop', 'name', 'overlap', 'pitch', 'start-time', 'volume'];
3828
4108
  }
3829
4109
  attributeChangedCallback(name, _oldValue, newValue) {
3830
4110
  switch (name) {
3831
4111
  case 'asset':
3832
4112
  this.asset = newValue;
3833
4113
  break;
4114
+ case 'auto-play':
4115
+ this.autoPlay = this.hasAttribute('auto-play');
4116
+ break;
3834
4117
  case 'duration':
3835
4118
  this.duration = parseFloat(newValue);
3836
4119
  break;
@@ -3846,7 +4129,7 @@
3846
4129
  case 'pitch':
3847
4130
  this.pitch = parseFloat(newValue);
3848
4131
  break;
3849
- case 'startTime':
4132
+ case 'start-time':
3850
4133
  this.startTime = parseFloat(newValue);
3851
4134
  break;
3852
4135
  case 'volume':
@@ -3857,6 +4140,64 @@
3857
4140
  }
3858
4141
  customElements.define('pc-sound', SoundSlotElement);
3859
4142
 
4143
+ /**
4144
+ * The SplatComponentElement interface provides properties and methods for manipulating
4145
+ * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-splat/ | `<pc-splat>`} elements.
4146
+ * The SplatComponentElement interface also inherits the properties and methods of the
4147
+ * {@link HTMLElement} interface.
4148
+ *
4149
+ * @category Components
4150
+ */
4151
+ class SplatComponentElement extends ComponentElement {
4152
+ /** @ignore */
4153
+ constructor() {
4154
+ super('gsplat');
4155
+ this._asset = '';
4156
+ }
4157
+ getInitialComponentData() {
4158
+ return {
4159
+ asset: AssetElement.get(this._asset)
4160
+ };
4161
+ }
4162
+ /**
4163
+ * Gets the underlying PlayCanvas splat component.
4164
+ * @returns The splat component.
4165
+ */
4166
+ get component() {
4167
+ return super.component;
4168
+ }
4169
+ /**
4170
+ * Sets id of the `pc-asset` to use for the splat.
4171
+ * @param value - The asset ID.
4172
+ */
4173
+ set asset(value) {
4174
+ this._asset = value;
4175
+ const asset = AssetElement.get(value);
4176
+ if (this.component && asset) {
4177
+ this.component.asset = asset;
4178
+ }
4179
+ }
4180
+ /**
4181
+ * Gets the id of the `pc-asset` to use for the splat.
4182
+ * @returns The asset ID.
4183
+ */
4184
+ get asset() {
4185
+ return this._asset;
4186
+ }
4187
+ static get observedAttributes() {
4188
+ return [...super.observedAttributes, 'asset'];
4189
+ }
4190
+ attributeChangedCallback(name, _oldValue, newValue) {
4191
+ super.attributeChangedCallback(name, _oldValue, newValue);
4192
+ switch (name) {
4193
+ case 'asset':
4194
+ this.asset = newValue;
4195
+ break;
4196
+ }
4197
+ }
4198
+ }
4199
+ customElements.define('pc-splat', SplatComponentElement);
4200
+
3860
4201
  /**
3861
4202
  * The ModelElement interface provides properties and methods for manipulating
3862
4203
  * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-model/ | `<pc-model>`} elements.
@@ -3902,8 +4243,8 @@
3902
4243
  async _loadModel() {
3903
4244
  var _a;
3904
4245
  this._unloadModel();
3905
- const appElement = await ((_a = this.closestApp) === null || _a === undefined ? undefined : _a.ready());
3906
- const app = appElement === null || appElement === undefined ? undefined : appElement.app;
4246
+ const appElement = await ((_a = this.closestApp) === null || _a === void 0 ? void 0 : _a.ready());
4247
+ const app = appElement === null || appElement === void 0 ? void 0 : appElement.app;
3907
4248
  const asset = AssetElement.get(this._asset);
3908
4249
  if (!asset) {
3909
4250
  return;
@@ -3920,7 +4261,7 @@
3920
4261
  }
3921
4262
  _unloadModel() {
3922
4263
  var _a;
3923
- (_a = this._entity) === null || _a === undefined ? undefined : _a.destroy();
4264
+ (_a = this._entity) === null || _a === void 0 ? void 0 : _a.destroy();
3924
4265
  this._entity = null;
3925
4266
  }
3926
4267
  /**
@@ -3993,7 +4334,7 @@
3993
4334
  }
3994
4335
  async connectedCallback() {
3995
4336
  var _a;
3996
- await ((_a = this.closestApp) === null || _a === undefined ? undefined : _a.ready());
4337
+ await ((_a = this.closestApp) === null || _a === void 0 ? void 0 : _a.ready());
3997
4338
  this.scene = this.closestApp.app.scene;
3998
4339
  this.updateSceneSettings();
3999
4340
  this._onReady();
@@ -4186,11 +4527,12 @@
4186
4527
  this._scene.sky.node.setLocalScale(this._scale);
4187
4528
  this._scene.sky.center = this._center;
4188
4529
  this._scene.skyboxIntensity = this._intensity;
4530
+ this._scene.skyboxMip = this._level;
4189
4531
  }
4190
4532
  async _loadSkybox() {
4191
4533
  var _a;
4192
- const appElement = await ((_a = this.closestApp) === null || _a === undefined ? undefined : _a.ready());
4193
- const app = appElement === null || appElement === undefined ? undefined : appElement.app;
4534
+ const appElement = await ((_a = this.closestApp) === null || _a === void 0 ? void 0 : _a.ready());
4535
+ const app = appElement === null || appElement === void 0 ? void 0 : appElement.app;
4194
4536
  if (!app) {
4195
4537
  return;
4196
4538
  }
@@ -4213,10 +4555,10 @@
4213
4555
  var _a, _b;
4214
4556
  if (!this._scene)
4215
4557
  return;
4216
- (_a = this._scene.skybox) === null || _a === undefined ? undefined : _a.destroy();
4558
+ (_a = this._scene.skybox) === null || _a === void 0 ? void 0 : _a.destroy();
4217
4559
  // @ts-ignore
4218
4560
  this._scene.skybox = null;
4219
- (_b = this._scene.envAtlas) === null || _b === undefined ? undefined : _b.destroy();
4561
+ (_b = this._scene.envAtlas) === null || _b === void 0 ? void 0 : _b.destroy();
4220
4562
  // @ts-ignore
4221
4563
  this._scene.envAtlas = null;
4222
4564
  this._scene = null;
@@ -4405,6 +4747,7 @@
4405
4747
  exports.MaterialElement = MaterialElement;
4406
4748
  exports.ModelElement = ModelElement;
4407
4749
  exports.ModuleElement = ModuleElement;
4750
+ exports.ParticleSystemComponentElement = ParticleSystemComponentElement;
4408
4751
  exports.RenderComponentElement = RenderComponentElement;
4409
4752
  exports.RigidBodyComponentElement = RigidBodyComponentElement;
4410
4753
  exports.SceneElement = SceneElement;