@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.mjs CHANGED
@@ -13,11 +13,11 @@ class AsyncElement extends HTMLElement {
13
13
  }
14
14
  get closestApp() {
15
15
  var _a;
16
- return (_a = this.parentElement) === null || _a === undefined ? undefined : _a.closest('pc-app');
16
+ return (_a = this.parentElement) === null || _a === void 0 ? void 0 : _a.closest('pc-app');
17
17
  }
18
18
  get closestEntity() {
19
19
  var _a;
20
- return (_a = this.parentElement) === null || _a === undefined ? undefined : _a.closest('pc-entity');
20
+ return (_a = this.parentElement) === null || _a === void 0 ? void 0 : _a.closest('pc-entity');
21
21
  }
22
22
  /**
23
23
  * Called when the element is fully initialized and ready.
@@ -755,7 +755,7 @@ class EntityElement extends AsyncElement {
755
755
  if (!this.entity)
756
756
  return;
757
757
  const closestEntity = this.closestEntity;
758
- if (closestEntity === null || closestEntity === undefined ? undefined : closestEntity.entity) {
758
+ if (closestEntity === null || closestEntity === void 0 ? void 0 : closestEntity.entity) {
759
759
  closestEntity.entity.addChild(this.entity);
760
760
  }
761
761
  else {
@@ -977,11 +977,187 @@ class EntityElement extends AsyncElement {
977
977
  }
978
978
  hasListeners(type) {
979
979
  var _a;
980
- return Boolean((_a = this._listeners[type]) === null || _a === undefined ? undefined : _a.length);
980
+ return Boolean((_a = this._listeners[type]) === null || _a === void 0 ? void 0 : _a.length);
981
981
  }
982
982
  }
983
983
  customElements.define('pc-entity', EntityElement);
984
984
 
985
+ // This file is part of meshoptimizer library and is distributed under the terms of MIT License.
986
+ // Copyright (C) 2016-2022, by Arseny Kapoulkine (arseny.kapoulkine@gmail.com)
987
+ var MeshoptDecoder = (function() {
988
+
989
+ // Built with clang version 14.0.4
990
+ // Built from meshoptimizer 0.18
991
+ 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";
992
+ 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";
993
+
994
+ 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]);
995
+ 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]);
996
+
997
+ if (typeof WebAssembly !== 'object') {
998
+ return {
999
+ supported: false,
1000
+ };
1001
+ }
1002
+
1003
+ var wasm = WebAssembly.validate(detector) ? wasm_simd : wasm_base;
1004
+
1005
+ var instance;
1006
+
1007
+ var ready =
1008
+ WebAssembly.instantiate(unpack(wasm), {})
1009
+ .then(function(result) {
1010
+ instance = result.instance;
1011
+ instance.exports.__wasm_call_ctors();
1012
+ });
1013
+
1014
+ function unpack(data) {
1015
+ var result = new Uint8Array(data.length);
1016
+ for (var i = 0; i < data.length; ++i) {
1017
+ var ch = data.charCodeAt(i);
1018
+ result[i] = ch > 96 ? ch - 97 : ch > 64 ? ch - 39 : ch + 4;
1019
+ }
1020
+ var write = 0;
1021
+ for (var i = 0; i < data.length; ++i) {
1022
+ result[write++] = (result[i] < 60) ? wasmpack[result[i]] : (result[i] - 60) * 64 + result[++i];
1023
+ }
1024
+ return result.buffer.slice(0, write);
1025
+ }
1026
+
1027
+ function decode(fun, target, count, size, source, filter) {
1028
+ var sbrk = instance.exports.sbrk;
1029
+ var count4 = (count + 3) & -4;
1030
+ var tp = sbrk(count4 * size);
1031
+ var sp = sbrk(source.length);
1032
+ var heap = new Uint8Array(instance.exports.memory.buffer);
1033
+ heap.set(source, sp);
1034
+ var res = fun(tp, count, size, sp, source.length);
1035
+ if (res == 0 && filter) {
1036
+ filter(tp, count4, size);
1037
+ }
1038
+ target.set(heap.subarray(tp, tp + count * size));
1039
+ sbrk(tp - sbrk(0));
1040
+ if (res != 0) {
1041
+ throw new Error("Malformed buffer data: " + res);
1042
+ }
1043
+ }
1044
+
1045
+ var filters = {
1046
+ NONE: "",
1047
+ OCTAHEDRAL: "meshopt_decodeFilterOct",
1048
+ QUATERNION: "meshopt_decodeFilterQuat",
1049
+ EXPONENTIAL: "meshopt_decodeFilterExp",
1050
+ };
1051
+
1052
+ var decoders = {
1053
+ ATTRIBUTES: "meshopt_decodeVertexBuffer",
1054
+ TRIANGLES: "meshopt_decodeIndexBuffer",
1055
+ INDICES: "meshopt_decodeIndexSequence",
1056
+ };
1057
+
1058
+ var workers = [];
1059
+ var requestId = 0;
1060
+
1061
+ function createWorker(url) {
1062
+ var worker = {
1063
+ object: new Worker(url),
1064
+ pending: 0,
1065
+ requests: {}
1066
+ };
1067
+
1068
+ worker.object.onmessage = function(event) {
1069
+ var data = event.data;
1070
+
1071
+ worker.pending -= data.count;
1072
+ worker.requests[data.id][data.action](data.value);
1073
+
1074
+ delete worker.requests[data.id];
1075
+ };
1076
+
1077
+ return worker;
1078
+ }
1079
+
1080
+ function initWorkers(count) {
1081
+ var source =
1082
+ "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(unpack(wasm)) + "]), {})" +
1083
+ ".then(function(result) { instance = result.instance; instance.exports.__wasm_call_ctors(); });" +
1084
+ "self.onmessage = workerProcess;" +
1085
+ decode.toString() + workerProcess.toString();
1086
+
1087
+ var blob = new Blob([source], {type: 'text/javascript'});
1088
+ var url = URL.createObjectURL(blob);
1089
+
1090
+ for (var i = 0; i < count; ++i) {
1091
+ workers[i] = createWorker(url);
1092
+ }
1093
+
1094
+ URL.revokeObjectURL(url);
1095
+ }
1096
+
1097
+ function decodeWorker(count, size, source, mode, filter) {
1098
+ var worker = workers[0];
1099
+
1100
+ for (var i = 1; i < workers.length; ++i) {
1101
+ if (workers[i].pending < worker.pending) {
1102
+ worker = workers[i];
1103
+ }
1104
+ }
1105
+
1106
+ return new Promise(function (resolve, reject) {
1107
+ var data = new Uint8Array(source);
1108
+ var id = requestId++;
1109
+
1110
+ worker.pending += count;
1111
+ worker.requests[id] = { resolve: resolve, reject: reject };
1112
+ worker.object.postMessage({ id: id, count: count, size: size, source: data, mode: mode, filter: filter }, [ data.buffer ]);
1113
+ });
1114
+ }
1115
+
1116
+ function workerProcess(event) {
1117
+ ready.then(function() {
1118
+ var data = event.data;
1119
+ try {
1120
+ var target = new Uint8Array(data.count * data.size);
1121
+ decode(instance.exports[data.mode], target, data.count, data.size, data.source, instance.exports[data.filter]);
1122
+ self.postMessage({ id: data.id, count: data.count, action: "resolve", value: target }, [ target.buffer ]);
1123
+ } catch (error) {
1124
+ self.postMessage({ id: data.id, count: data.count, action: "reject", value: error });
1125
+ }
1126
+ });
1127
+ }
1128
+
1129
+ return {
1130
+ ready: ready,
1131
+ supported: true,
1132
+ useWorkers: function(count) {
1133
+ initWorkers(count);
1134
+ },
1135
+ decodeVertexBuffer: function(target, count, size, source, filter) {
1136
+ decode(instance.exports.meshopt_decodeVertexBuffer, target, count, size, source, instance.exports[filters[filter]]);
1137
+ },
1138
+ decodeIndexBuffer: function(target, count, size, source) {
1139
+ decode(instance.exports.meshopt_decodeIndexBuffer, target, count, size, source);
1140
+ },
1141
+ decodeIndexSequence: function(target, count, size, source) {
1142
+ decode(instance.exports.meshopt_decodeIndexSequence, target, count, size, source);
1143
+ },
1144
+ decodeGltfBuffer: function(target, count, size, source, mode, filter) {
1145
+ decode(instance.exports[decoders[mode]], target, count, size, source, instance.exports[filters[filter]]);
1146
+ },
1147
+ decodeGltfBufferAsync: function(count, size, source, mode, filter) {
1148
+ if (workers.length > 0) {
1149
+ return decodeWorker(count, size, source, decoders[mode], filters[filter]);
1150
+ }
1151
+
1152
+ return ready.then(function() {
1153
+ var target = new Uint8Array(count * size);
1154
+ decode(instance.exports[decoders[mode]], target, count, size, source, instance.exports[filters[filter]]);
1155
+ return target;
1156
+ });
1157
+ }
1158
+ };
1159
+ })();
1160
+
985
1161
  const extToType = new Map([
986
1162
  ['bin', 'binary'],
987
1163
  ['css', 'css'],
@@ -1001,6 +1177,27 @@ const extToType = new Map([
1001
1177
  ['vert', 'shader'],
1002
1178
  ['webp', 'texture']
1003
1179
  ]);
1180
+ // provide buffer view callback so we can handle models compressed with MeshOptimizer
1181
+ // https://github.com/zeux/meshoptimizer
1182
+ const processBufferView = (gltfBuffer, buffers, continuation) => {
1183
+ if (gltfBuffer.extensions && gltfBuffer.extensions.EXT_meshopt_compression) {
1184
+ const extensionDef = gltfBuffer.extensions.EXT_meshopt_compression;
1185
+ Promise.all([MeshoptDecoder.ready, buffers[extensionDef.buffer]]).then((promiseResult) => {
1186
+ const buffer = promiseResult[1];
1187
+ const byteOffset = extensionDef.byteOffset || 0;
1188
+ const byteLength = extensionDef.byteLength || 0;
1189
+ const count = extensionDef.count;
1190
+ const stride = extensionDef.byteStride;
1191
+ const result = new Uint8Array(count * stride);
1192
+ const source = new Uint8Array(buffer.buffer, buffer.byteOffset + byteOffset, byteLength);
1193
+ MeshoptDecoder.decodeGltfBuffer(result, count, stride, source, extensionDef.mode, extensionDef.filter);
1194
+ continuation(null, result);
1195
+ });
1196
+ }
1197
+ else {
1198
+ continuation(null, null);
1199
+ }
1200
+ };
1004
1201
  /**
1005
1202
  * The AssetElement interface provides properties and methods for manipulating
1006
1203
  * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-asset/ | `<pc-asset>`} elements.
@@ -1027,13 +1224,23 @@ class AssetElement extends HTMLElement {
1027
1224
  // If no type is specified, try to infer it from the file extension.
1028
1225
  if (!type) {
1029
1226
  const ext = src.split('.').pop();
1030
- type = (_a = extToType.get(ext || '')) !== null && _a !== undefined ? _a : null;
1227
+ type = (_a = extToType.get(ext || '')) !== null && _a !== void 0 ? _a : null;
1031
1228
  }
1032
1229
  if (!type) {
1033
1230
  console.warn(`Unsupported asset type: ${src}`);
1034
1231
  return;
1035
1232
  }
1036
- this.asset = new Asset(id, type, { url: src });
1233
+ if (type === 'container') {
1234
+ this.asset = new Asset(id, type, { url: src }, undefined, {
1235
+ // @ts-ignore TODO no definition in pc
1236
+ bufferView: {
1237
+ processAsync: processBufferView.bind(this)
1238
+ }
1239
+ });
1240
+ }
1241
+ else {
1242
+ this.asset = new Asset(id, type, { url: src });
1243
+ }
1037
1244
  this.asset.preload = !this._lazy;
1038
1245
  }
1039
1246
  destroyAsset() {
@@ -1061,7 +1268,7 @@ class AssetElement extends HTMLElement {
1061
1268
  }
1062
1269
  static get(id) {
1063
1270
  const assetElement = document.querySelector(`pc-asset[id="${id}"]`);
1064
- return assetElement === null || assetElement === undefined ? undefined : assetElement.asset;
1271
+ return assetElement === null || assetElement === void 0 ? void 0 : assetElement.asset;
1065
1272
  }
1066
1273
  static get observedAttributes() {
1067
1274
  return ['lazy'];
@@ -1108,7 +1315,7 @@ class ComponentElement extends AsyncElement {
1108
1315
  initComponent() { }
1109
1316
  async connectedCallback() {
1110
1317
  var _a;
1111
- await ((_a = this.closestApp) === null || _a === undefined ? undefined : _a.ready());
1318
+ await ((_a = this.closestApp) === null || _a === void 0 ? void 0 : _a.ready());
1112
1319
  await this.addComponent();
1113
1320
  this.initComponent();
1114
1321
  this._onReady();
@@ -1239,7 +1446,7 @@ class CameraComponentElement extends ComponentElement {
1239
1446
  }
1240
1447
  get xrAvailable() {
1241
1448
  var _a;
1242
- const xrManager = (_a = this.component) === null || _a === undefined ? undefined : _a.system.app.xr;
1449
+ const xrManager = (_a = this.component) === null || _a === void 0 ? void 0 : _a.system.app.xr;
1243
1450
  return xrManager && xrManager.supported && xrManager.isAvailable(XRTYPE_VR);
1244
1451
  }
1245
1452
  /**
@@ -1570,7 +1777,7 @@ class CameraComponentElement extends ComponentElement {
1570
1777
  var _a;
1571
1778
  this._tonemap = value;
1572
1779
  if (this.component) {
1573
- this.component.toneMapping = (_a = tonemaps.get(value)) !== null && _a !== undefined ? _a : TONEMAP_NONE;
1780
+ this.component.toneMapping = (_a = tonemaps.get(value)) !== null && _a !== void 0 ? _a : TONEMAP_NONE;
1574
1781
  }
1575
1782
  }
1576
1783
  /**
@@ -2106,64 +2313,6 @@ class ElementComponentElement extends ComponentElement {
2106
2313
  }
2107
2314
  customElements.define('pc-element', ElementComponentElement);
2108
2315
 
2109
- /**
2110
- * The SplatComponentElement interface provides properties and methods for manipulating
2111
- * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-splat/ | `<pc-splat>`} elements.
2112
- * The SplatComponentElement interface also inherits the properties and methods of the
2113
- * {@link HTMLElement} interface.
2114
- *
2115
- * @category Components
2116
- */
2117
- class SplatComponentElement extends ComponentElement {
2118
- /** @ignore */
2119
- constructor() {
2120
- super('gsplat');
2121
- this._asset = '';
2122
- }
2123
- getInitialComponentData() {
2124
- return {
2125
- asset: AssetElement.get(this._asset)
2126
- };
2127
- }
2128
- /**
2129
- * Gets the underlying PlayCanvas splat component.
2130
- * @returns The splat component.
2131
- */
2132
- get component() {
2133
- return super.component;
2134
- }
2135
- /**
2136
- * Sets id of the `pc-asset` to use for the splat.
2137
- * @param value - The asset ID.
2138
- */
2139
- set asset(value) {
2140
- this._asset = value;
2141
- const asset = AssetElement.get(value);
2142
- if (this.component && asset) {
2143
- this.component.asset = asset;
2144
- }
2145
- }
2146
- /**
2147
- * Gets the id of the `pc-asset` to use for the splat.
2148
- * @returns The asset ID.
2149
- */
2150
- get asset() {
2151
- return this._asset;
2152
- }
2153
- static get observedAttributes() {
2154
- return [...super.observedAttributes, 'asset'];
2155
- }
2156
- attributeChangedCallback(name, _oldValue, newValue) {
2157
- super.attributeChangedCallback(name, _oldValue, newValue);
2158
- switch (name) {
2159
- case 'asset':
2160
- this.asset = newValue;
2161
- break;
2162
- }
2163
- }
2164
- }
2165
- customElements.define('pc-splat', SplatComponentElement);
2166
-
2167
2316
  const shadowTypes = new Map([
2168
2317
  ['pcf1-16f', SHADOW_PCF1_16F],
2169
2318
  ['pcf1-32f', SHADOW_PCF1_32F],
@@ -2432,7 +2581,7 @@ class LightComponentElement extends ComponentElement {
2432
2581
  var _a;
2433
2582
  this._shadowType = value;
2434
2583
  if (this.component) {
2435
- this.component.shadowType = (_a = shadowTypes.get(value)) !== null && _a !== undefined ? _a : SHADOW_PCF3_32F;
2584
+ this.component.shadowType = (_a = shadowTypes.get(value)) !== null && _a !== void 0 ? _a : SHADOW_PCF3_32F;
2436
2585
  }
2437
2586
  }
2438
2587
  /**
@@ -2549,6 +2698,138 @@ class LightComponentElement extends ComponentElement {
2549
2698
  }
2550
2699
  customElements.define('pc-light', LightComponentElement);
2551
2700
 
2701
+ /**
2702
+ * The ParticleSystemComponentElement interface provides properties and methods for manipulating
2703
+ * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-particles/ | `<pc-particles>`} elements.
2704
+ * The ParticleSystemComponentElement interface also inherits the properties and methods of the
2705
+ * {@link HTMLElement} interface.
2706
+ *
2707
+ * @category Components
2708
+ */
2709
+ class ParticleSystemComponentElement extends ComponentElement {
2710
+ /** @ignore */
2711
+ constructor() {
2712
+ super('particlesystem');
2713
+ this._asset = '';
2714
+ }
2715
+ getInitialComponentData() {
2716
+ var _a;
2717
+ const asset = AssetElement.get(this._asset);
2718
+ if (!asset) {
2719
+ return {};
2720
+ }
2721
+ if (asset.resource.colorMapAsset) {
2722
+ const id = asset.resource.colorMapAsset;
2723
+ const colorMapAsset = (_a = AssetElement.get(id)) === null || _a === void 0 ? void 0 : _a.id;
2724
+ if (colorMapAsset) {
2725
+ asset.resource.colorMapAsset = colorMapAsset;
2726
+ }
2727
+ }
2728
+ return asset.resource;
2729
+ }
2730
+ /**
2731
+ * Gets the underlying PlayCanvas particle system component.
2732
+ * @returns The particle system component.
2733
+ */
2734
+ get component() {
2735
+ return super.component;
2736
+ }
2737
+ applyConfig(resource) {
2738
+ if (!this.component) {
2739
+ return;
2740
+ }
2741
+ // Set all the config properties on the component
2742
+ for (const key in resource) {
2743
+ if (resource.hasOwnProperty(key)) {
2744
+ this.component[key] = resource[key];
2745
+ }
2746
+ }
2747
+ }
2748
+ async _loadAsset() {
2749
+ var _a;
2750
+ const appElement = await ((_a = this.closestApp) === null || _a === void 0 ? void 0 : _a.ready());
2751
+ const app = appElement === null || appElement === void 0 ? void 0 : appElement.app;
2752
+ const asset = AssetElement.get(this._asset);
2753
+ if (!asset) {
2754
+ return;
2755
+ }
2756
+ if (asset.loaded) {
2757
+ this.applyConfig(asset.resource);
2758
+ }
2759
+ else {
2760
+ asset.once('load', () => {
2761
+ this.applyConfig(asset.resource);
2762
+ });
2763
+ app.assets.load(asset);
2764
+ }
2765
+ }
2766
+ /**
2767
+ * Sets the id of the `pc-asset` to use for the model.
2768
+ * @param value - The asset ID.
2769
+ */
2770
+ set asset(value) {
2771
+ this._asset = value;
2772
+ if (this.isConnected) {
2773
+ this._loadAsset();
2774
+ }
2775
+ }
2776
+ /**
2777
+ * Gets the id of the `pc-asset` to use for the model.
2778
+ * @returns The asset ID.
2779
+ */
2780
+ get asset() {
2781
+ return this._asset;
2782
+ }
2783
+ // Control methods
2784
+ /**
2785
+ * Starts playing the particle system
2786
+ */
2787
+ play() {
2788
+ if (this.component) {
2789
+ this.component.play();
2790
+ }
2791
+ }
2792
+ /**
2793
+ * Pauses the particle system
2794
+ */
2795
+ pause() {
2796
+ if (this.component) {
2797
+ this.component.pause();
2798
+ }
2799
+ }
2800
+ /**
2801
+ * Resets the particle system
2802
+ */
2803
+ reset() {
2804
+ if (this.component) {
2805
+ this.component.reset();
2806
+ }
2807
+ }
2808
+ /**
2809
+ * Stops the particle system
2810
+ */
2811
+ stop() {
2812
+ if (this.component) {
2813
+ this.component.stop();
2814
+ }
2815
+ }
2816
+ static get observedAttributes() {
2817
+ return [
2818
+ ...super.observedAttributes,
2819
+ 'asset'
2820
+ ];
2821
+ }
2822
+ attributeChangedCallback(name, _oldValue, newValue) {
2823
+ super.attributeChangedCallback(name, _oldValue, newValue);
2824
+ switch (name) {
2825
+ case 'asset':
2826
+ this.asset = newValue;
2827
+ break;
2828
+ }
2829
+ }
2830
+ }
2831
+ customElements.define('pc-particles', ParticleSystemComponentElement);
2832
+
2552
2833
  /**
2553
2834
  * The MaterialElement interface provides properties and methods for manipulating
2554
2835
  * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-material/ | `<pc-material>`} elements.
@@ -2639,7 +2920,7 @@ class MaterialElement extends HTMLElement {
2639
2920
  }
2640
2921
  static get(id) {
2641
2922
  const materialElement = document.querySelector(`pc-material[id="${id}"]`);
2642
- return materialElement === null || materialElement === undefined ? undefined : materialElement.material;
2923
+ return materialElement === null || materialElement === void 0 ? void 0 : materialElement.material;
2643
2924
  }
2644
2925
  static get observedAttributes() {
2645
2926
  return ['diffuse', 'diffuse-map', 'metalness-map', 'normal-map', 'roughness-map'];
@@ -3319,7 +3600,7 @@ class ScriptComponentElement extends ComponentElement {
3319
3600
  disconnectedCallback() {
3320
3601
  var _a;
3321
3602
  this.observer.disconnect();
3322
- (_a = super.disconnectedCallback) === null || _a === undefined ? undefined : _a.call(this);
3603
+ (_a = super.disconnectedCallback) === null || _a === void 0 ? void 0 : _a.call(this);
3323
3604
  }
3324
3605
  /**
3325
3606
  * Gets the underlying PlayCanvas script component.
@@ -3634,7 +3915,7 @@ class SoundSlotElement extends AsyncElement {
3634
3915
  }
3635
3916
  async connectedCallback() {
3636
3917
  var _a;
3637
- await ((_a = this.soundElement) === null || _a === undefined ? undefined : _a.ready());
3918
+ await ((_a = this.soundElement) === null || _a === void 0 ? void 0 : _a.ready());
3638
3919
  const options = {
3639
3920
  autoPlay: this._autoPlay,
3640
3921
  loop: this._loop,
@@ -3648,7 +3929,6 @@ class SoundSlotElement extends AsyncElement {
3648
3929
  }
3649
3930
  this.soundSlot = this.soundElement.component.addSlot(this._name, options);
3650
3931
  this.asset = this._asset;
3651
- this.soundSlot.play();
3652
3932
  this._onReady();
3653
3933
  }
3654
3934
  disconnectedCallback() {
@@ -3670,7 +3950,7 @@ class SoundSlotElement extends AsyncElement {
3670
3950
  var _a;
3671
3951
  this._asset = value;
3672
3952
  if (this.soundSlot) {
3673
- const id = (_a = AssetElement.get(value)) === null || _a === undefined ? undefined : _a.id;
3953
+ const id = (_a = AssetElement.get(value)) === null || _a === void 0 ? void 0 : _a.id;
3674
3954
  if (id) {
3675
3955
  this.soundSlot.asset = id;
3676
3956
  }
@@ -3820,13 +4100,16 @@ class SoundSlotElement extends AsyncElement {
3820
4100
  return this._volume;
3821
4101
  }
3822
4102
  static get observedAttributes() {
3823
- return ['asset', 'autoPlay', 'duration', 'loop', 'name', 'overlap', 'pitch', 'startTime', 'volume'];
4103
+ return ['asset', 'auto-play', 'duration', 'loop', 'name', 'overlap', 'pitch', 'start-time', 'volume'];
3824
4104
  }
3825
4105
  attributeChangedCallback(name, _oldValue, newValue) {
3826
4106
  switch (name) {
3827
4107
  case 'asset':
3828
4108
  this.asset = newValue;
3829
4109
  break;
4110
+ case 'auto-play':
4111
+ this.autoPlay = this.hasAttribute('auto-play');
4112
+ break;
3830
4113
  case 'duration':
3831
4114
  this.duration = parseFloat(newValue);
3832
4115
  break;
@@ -3842,7 +4125,7 @@ class SoundSlotElement extends AsyncElement {
3842
4125
  case 'pitch':
3843
4126
  this.pitch = parseFloat(newValue);
3844
4127
  break;
3845
- case 'startTime':
4128
+ case 'start-time':
3846
4129
  this.startTime = parseFloat(newValue);
3847
4130
  break;
3848
4131
  case 'volume':
@@ -3853,6 +4136,64 @@ class SoundSlotElement extends AsyncElement {
3853
4136
  }
3854
4137
  customElements.define('pc-sound', SoundSlotElement);
3855
4138
 
4139
+ /**
4140
+ * The SplatComponentElement interface provides properties and methods for manipulating
4141
+ * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-splat/ | `<pc-splat>`} elements.
4142
+ * The SplatComponentElement interface also inherits the properties and methods of the
4143
+ * {@link HTMLElement} interface.
4144
+ *
4145
+ * @category Components
4146
+ */
4147
+ class SplatComponentElement extends ComponentElement {
4148
+ /** @ignore */
4149
+ constructor() {
4150
+ super('gsplat');
4151
+ this._asset = '';
4152
+ }
4153
+ getInitialComponentData() {
4154
+ return {
4155
+ asset: AssetElement.get(this._asset)
4156
+ };
4157
+ }
4158
+ /**
4159
+ * Gets the underlying PlayCanvas splat component.
4160
+ * @returns The splat component.
4161
+ */
4162
+ get component() {
4163
+ return super.component;
4164
+ }
4165
+ /**
4166
+ * Sets id of the `pc-asset` to use for the splat.
4167
+ * @param value - The asset ID.
4168
+ */
4169
+ set asset(value) {
4170
+ this._asset = value;
4171
+ const asset = AssetElement.get(value);
4172
+ if (this.component && asset) {
4173
+ this.component.asset = asset;
4174
+ }
4175
+ }
4176
+ /**
4177
+ * Gets the id of the `pc-asset` to use for the splat.
4178
+ * @returns The asset ID.
4179
+ */
4180
+ get asset() {
4181
+ return this._asset;
4182
+ }
4183
+ static get observedAttributes() {
4184
+ return [...super.observedAttributes, 'asset'];
4185
+ }
4186
+ attributeChangedCallback(name, _oldValue, newValue) {
4187
+ super.attributeChangedCallback(name, _oldValue, newValue);
4188
+ switch (name) {
4189
+ case 'asset':
4190
+ this.asset = newValue;
4191
+ break;
4192
+ }
4193
+ }
4194
+ }
4195
+ customElements.define('pc-splat', SplatComponentElement);
4196
+
3856
4197
  /**
3857
4198
  * The ModelElement interface provides properties and methods for manipulating
3858
4199
  * {@link https://developer.playcanvas.com/user-manual/engine/web-components/tags/pc-model/ | `<pc-model>`} elements.
@@ -3898,8 +4239,8 @@ class ModelElement extends AsyncElement {
3898
4239
  async _loadModel() {
3899
4240
  var _a;
3900
4241
  this._unloadModel();
3901
- const appElement = await ((_a = this.closestApp) === null || _a === undefined ? undefined : _a.ready());
3902
- const app = appElement === null || appElement === undefined ? undefined : appElement.app;
4242
+ const appElement = await ((_a = this.closestApp) === null || _a === void 0 ? void 0 : _a.ready());
4243
+ const app = appElement === null || appElement === void 0 ? void 0 : appElement.app;
3903
4244
  const asset = AssetElement.get(this._asset);
3904
4245
  if (!asset) {
3905
4246
  return;
@@ -3916,7 +4257,7 @@ class ModelElement extends AsyncElement {
3916
4257
  }
3917
4258
  _unloadModel() {
3918
4259
  var _a;
3919
- (_a = this._entity) === null || _a === undefined ? undefined : _a.destroy();
4260
+ (_a = this._entity) === null || _a === void 0 ? void 0 : _a.destroy();
3920
4261
  this._entity = null;
3921
4262
  }
3922
4263
  /**
@@ -3989,7 +4330,7 @@ class SceneElement extends AsyncElement {
3989
4330
  }
3990
4331
  async connectedCallback() {
3991
4332
  var _a;
3992
- await ((_a = this.closestApp) === null || _a === undefined ? undefined : _a.ready());
4333
+ await ((_a = this.closestApp) === null || _a === void 0 ? void 0 : _a.ready());
3993
4334
  this.scene = this.closestApp.app.scene;
3994
4335
  this.updateSceneSettings();
3995
4336
  this._onReady();
@@ -4182,11 +4523,12 @@ class SkyElement extends AsyncElement {
4182
4523
  this._scene.sky.node.setLocalScale(this._scale);
4183
4524
  this._scene.sky.center = this._center;
4184
4525
  this._scene.skyboxIntensity = this._intensity;
4526
+ this._scene.skyboxMip = this._level;
4185
4527
  }
4186
4528
  async _loadSkybox() {
4187
4529
  var _a;
4188
- const appElement = await ((_a = this.closestApp) === null || _a === undefined ? undefined : _a.ready());
4189
- const app = appElement === null || appElement === undefined ? undefined : appElement.app;
4530
+ const appElement = await ((_a = this.closestApp) === null || _a === void 0 ? void 0 : _a.ready());
4531
+ const app = appElement === null || appElement === void 0 ? void 0 : appElement.app;
4190
4532
  if (!app) {
4191
4533
  return;
4192
4534
  }
@@ -4209,10 +4551,10 @@ class SkyElement extends AsyncElement {
4209
4551
  var _a, _b;
4210
4552
  if (!this._scene)
4211
4553
  return;
4212
- (_a = this._scene.skybox) === null || _a === undefined ? undefined : _a.destroy();
4554
+ (_a = this._scene.skybox) === null || _a === void 0 ? void 0 : _a.destroy();
4213
4555
  // @ts-ignore
4214
4556
  this._scene.skybox = null;
4215
- (_b = this._scene.envAtlas) === null || _b === undefined ? undefined : _b.destroy();
4557
+ (_b = this._scene.envAtlas) === null || _b === void 0 ? void 0 : _b.destroy();
4216
4558
  // @ts-ignore
4217
4559
  this._scene.envAtlas = null;
4218
4560
  this._scene = null;
@@ -4388,5 +4730,5 @@ class SkyElement extends AsyncElement {
4388
4730
  }
4389
4731
  customElements.define('pc-sky', SkyElement);
4390
4732
 
4391
- export { AppElement, AssetElement, AsyncElement, CameraComponentElement, CollisionComponentElement, ComponentElement, ElementComponentElement, EntityElement, LightComponentElement, ListenerComponentElement, MaterialElement, ModelElement, ModuleElement, RenderComponentElement, RigidBodyComponentElement, SceneElement, ScreenComponentElement, ScriptComponentElement, ScriptElement, SkyElement, SoundComponentElement, SoundSlotElement, SplatComponentElement };
4733
+ export { AppElement, AssetElement, AsyncElement, CameraComponentElement, CollisionComponentElement, ComponentElement, ElementComponentElement, EntityElement, LightComponentElement, ListenerComponentElement, MaterialElement, ModelElement, ModuleElement, ParticleSystemComponentElement, RenderComponentElement, RigidBodyComponentElement, SceneElement, ScreenComponentElement, ScriptComponentElement, ScriptElement, SkyElement, SoundComponentElement, SoundSlotElement, SplatComponentElement };
4392
4734
  //# sourceMappingURL=pwc.mjs.map