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