viral-viewer-2 7.0.9 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{batched-mesh-simplifier-Dg6taIi9.mjs → batched-mesh-simplifier-BrzQ9Wcy.mjs} +1 -1
- package/dist/components/custom-objects/viral-batched-mesh.d.ts +47 -6
- package/dist/components/custom-objects/viral-instanced-mesh-v2.d.ts +43 -2
- package/dist/components/custom-objects/viral-merged-model.d.ts +8 -1
- package/dist/components/visibility-manager/viral-visibility-manager.d.ts +8 -1
- package/dist/{index-BIlAmQvm.mjs → index-B8x3D_5L.mjs} +228 -95
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as S, a as V, V as Z } from "./index-
|
|
1
|
+
import { B as S, a as V, V as Z } from "./index-B8x3D_5L.mjs";
|
|
2
2
|
(function() {
|
|
3
3
|
var s = "b9H79Tebbbe9ok9Geueu9Geub9Gbb9Gruuuuuuueu9Gvuuuuueu9Gduueu9Gluuuueu9Gvuuuuub9Gouuuuuub9Gluuuub9GiuuueuiE8AdilveoveovrrwrrrDDoDrbqqbelve9Weiiviebeoweuec;G:Qdkr:PlCo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9mW4W2be8A9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWVbd8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9c9V919U9KbiE9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949wWV79P9V9UblY9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWVbv8E9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWV9c9V919U9Kbo8A9TW79O9V9Wt9FW9U9J9V9KW69U9KW949wWV79P9V9UbrE9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JWbwa9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JW9c9V919U9KbDL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9p9JtbqK9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9r919HtbkL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVT949WbxY9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVJ9V29VVbmE9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OWbza9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OW9ttV9P9WbHa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbOK9TW79O9V9Wt9F79W9Ht9P9H29t9VVt9sW9T9H9WbAl79IV9RbXDwebcekdKYq;i28Adbk:Bhdhud9:8Jjjjjbc;qw9Rgr8KjjjjbcbhwdnaeTmbabcbyd;C:kjjbaoaocb9iEgDc:GeV86bbarc;adfcbcjdz:xjjjb8AdnaiTmbarc;adfadalz:wjjjb8Akarc;abfalfcbcbcjdal9RalcFe0Ez:xjjjb8Aarc;abfarc;adfalz:wjjjb8AarcUf9cb83ibarc8Wf9cb83ibarcyf9cb83ibarcaf9cb83ibarcKf9cb83ibarczf9cb83ibar9cb83iwar9cb83ibcj;abal9Uc;WFbGcjdalca0Ehqdnaicd6mbavcd9imbaDTmbadcefhkaqci2gxal2hmarc;alfclfhParc;qlfceVhsarc;qofclVhzarc;qofcKfhHarc;qofczfhOcbhAincdhCcbhodnavci6mbaH9cb83ibaO9cb83ibar9cb83i;yoar9cb83i;qoadaAfgoybbhXcbhQincbhwcbhLdninaoalfhKaoybbgYaX7aLVhLawcP0meaKhoaYhXawcefgwaQfai6mbkkcbhXarc;qofhwincwh8AcwhEdnaLaX93gocFeGg3cs0mbclhEa3ci0mba3cb9hcethEkdnaocw4cFeGg3cs0mbclh8Aa3ci0mba3cb9hceth8Aka8AaEfh3awydbh5cwh8AcwhEdnaocz4cFeGg8Ecs0mbclhEa8Eci0mba8Ecb9hcethEka3a5fh3dnaocFFFFb0mbclh8AaocFFF8F0mbaocFFFr0ceth8Akawa3aEfa8AfBdbawclfhwaXcefgXcw9hmbkaKhoaYhXaQczfgQai6mbkcbhocehwazhLinawaoaLydbarc;qofaocdtfydb6EhoaLclfhLawcefgwcw9hmbkcihCkcbh3arc;qlfcbcjdz:xjjjb8Aarc;alfcwfcbBdbar9cb83i;alaoclth8Fadhaaqhhakh5inarc;qlfadcba3cufgoaoa30Eal2falz:wjjjb8Aaiahaiah6Ehgdnaqaia39Ra3aqfai6EgYcsfc9WGgoaY9nmbarc;qofaYfcbaoaY9Rz:xjjjb8Akada3al2fh8Jcbh8Kina8Ka8FVcl4hQarc;alfa8Kcdtfh8LaAh8Mcbh8Nina8NaAfhwdndndndndndna8KPldebidkasa8Mc98GgLfhoa5aLfh8Aarc;qlfawc98GgLfRbbhXcwhwinaoRbbawtaXVhXaocefhoawcwfgwca9hmbkaYTmla8Ncith8Ea8JaLfhEcbhKinaERbbhLcwhoa8AhwinawRbbaotaLVhLawcefhwaocwfgoca9hmbkarc;qofaKfaLaX7aQ93a8E486bba8Aalfh8AaEalfhEaLhXaKcefgKaY9hmbxlkkaYTmia8Mc9:Ghoa8NcitcwGhEarc;qlfawceVfRbbcwtarc;qlfawc9:GfRbbVhLarc;qofhwaghXinawa5aofRbbcwtaaaofRbbVg8AaL9RgLcetaLcztcz91cs47cFFiGaE486bbaoalfhoawcefhwa8AhLa3aXcufgX9hmbxikkaYTmda8Jawfhoarc;qlfawfRbbhLarc;qofhwaghXinawaoRbbg8AaL9RgLcetaLcKtcK91cr4786bbawcefhwaoalfhoa8AhLa3aXcufgX9hmbxdkkaYTmeka8LydbhEcbhKarc;qofhoincdhLcbhwinaLaoawfRbbcb9hfhLawcefgwcz9hmbkclhXcbhwinaXaoawfRbbcd0fhXawcefgwcz9hmbkcwh8Acbhwina8AaoawfRbbcP0fh8Aawcefgwcz9hmbkaLaXaLaX6Egwa8Aawa8A6Egwczawcz6EaEfhEaoczfhoaKczfgKaY6mbka8LaEBdbka8Mcefh8Ma8Ncefg8Ncl9hmbka8Kcefg8KaC9hmbkaaamfhaahaxfhha5amfh5a3axfg3ai6mbkcbhocehwaPhLinawaoaLydbarc;alfaocdtfydb6EhoaLclfhLawcefgXhwaCaX9hmbkaraAcd4fa8FcdVaoaocdSE86bbaAclfgAal6mbkkabaefh8Kabcefhoalcd4gecbaDEhkadcefhOarc;abfceVhHcbhmdndninaiam9nmearc;qofcbcjdz:xjjjb8Aa8Kao9Rak6mdadamal2gwfhxcbh8JaOawfhzaocbakz:xjjjbghakfh5aqaiam9Ramaqfai6Egscsfgocl4cifcd4hCaoc9WGg8LThPindndndndndndndndndndnaDTmbara8Jcd4fRbbgLciGPlbedlbkasTmdaxa8Jfhoarc;abfa8JfRbbhLarc;qofhwashXinawaoRbbg8AaL9RgLcetaLcKtcK91cr4786bbawcefhwaoalfhoa8AhLaXcufgXmbxikkasTmia8JcitcwGhEarc;abfa8JceVfRbbcwtarc;abfa8Jc9:GgofRbbVhLaxaofhoarc;qofhwashXinawao8Vbbg8AaL9RgLcetaLcztcz91cs47cFFiGaE486bbawcefhwaoalfhoa8AhLaXcufgXmbxdkkaHa8Jc98GgEfhoazaEfh8Aarc;abfaEfRbbhXcwhwinaoRbbawtaXVhXaocefhoawcwfgwca9hmbkasTmbaLcl4hYa8JcitcKGh3axaEfhEcbhKinaERbbhLcwhoa8AhwinawRbbaotaLVhLawcefhwaocwfgoca9hmbkarc;qofaKfaLaX7aY93a3486bba8Aalfh8AaEalfhEaLhXaKcefgKas9hmbkkaDmbcbhoxlka8LTmbcbhodninarc;qofaofgwcwf8Pibaw8Pib:e9qTmeaoczfgoa8L9pmdxbkkdnavmbcehoxikcbhEaChKaChYinarc;qofaEfgocwf8Pibhyao8Pibh8PcdhLcbhwinaLaoawfRbbcb9hfhLawcefgwcz9hmbkclhXcbhwinaXaoawfRbbcd0fhXawcefgwcz9hmbkcwh8Acbhwina8AaoawfRbbcP0fh8Aawcefgwcz9hmbkaLaXaLaX6Egoa8Aaoa8A6Egoczaocz6EaYfhYaocucbaya8P:e9cb9sEgwaoaw6EaKfhKaEczfgEa8L9pmdxbkkaha8Jcd4fgoaoRbbcda8JcetcoGtV86bbxikdnaKas6mbaYas6mbaha8Jcd4fgoaoRbbcia8JcetcoGtV86bba8Ka59Ras6mra5arc;qofasz:wjjjbasfh5xikaKaY9phokaha8Jcd4fgwawRbbaoa8JcetcoGtV86bbka8Ka59RaC6mla5cbaCz:xjjjbgAaCfhYdndna8LmbaPhoxekdna8KaY9RcK9pmbaPhoxekaocdtc:q1jjbfcj1jjbaDEg5ydxggcetc;:FFFeGh8Fcuh3cuagtcu7cFeGhacbh8Marc;qofhLinarc;qofa8MfhQczhEdndndnagPDbeeeeeeedekcucbaQcwf8PibaQ8Pib:e9cb9sEhExekcbhoa8FhEinaEaaaLaofRbb9nfhEaocefgocz9hmbkkcih8Ecbh8Ainczhwdndndna5a8AcdtfydbgKPDbeeeeeeedekcucbaQcwf8PibaQ8Pib:e9cb9sEhwxekaKcetc;:FFFeGhwcuaKtcu7cFeGhXcbhoinawaXaLaofRbb9nfhwaocefgocz9hmbkkdndnawaE6mbaKa39hmeawaE9hmea5a8EcdtfydbcwSmeka8Ah8EawhEka8Acefg8Aci9hmbkaAa8Mco4fgoaoRbba8Ea8Mci4coGtV86bbdndndna5a8Ecdtfydbg3PDdbbbbbbbebkdncwa39Tg8ETmbcua3tcu7hwdndna3ceSmbcbh8NaLhQinaQhoa8Eh8AcbhXinaoRbbgEawcFeGgKaEaK6EaXa3tVhXaocefhoa8Acufg8AmbkaYaX86bbaQa8EfhQaYcefhYa8Na8Efg8Ncz6mbxdkkcbh8NaLhQinaQhoa8Eh8AcbhXinaoRbbgEawcFeGgKaEaK6EaXcetVhXaocefhoa8Acufg8AmbkaYaX:T9cFe:d9c:c:qj:bw9:9c:q;c1:I1e:d9c:b:c:e1z9:9ca188bbaQa8EfhQaYcefhYa8Na8Efg8Ncz6mbkkcbhoinaYaLaofRbbgX86bbaYaXawcFeG9pfhYaocefgocz9hmbxikkdna3ceSmbinaYcb86bbaYcefhYxbkkinaYcb86bbaYcefhYxbkkaYaQ8Pbb83bbaYcwfaQcwf8Pbb83bbaYczfhYka8Mczfg8Ma8L9pgomeaLczfhLa8KaY9RcK9pmbkkaoTmlaYh5aYTmlka8Jcefg8Jal9hmbkarc;abfaxascufal2falz:wjjjb8Aasamfhma5hoa5mbkcbhwxdkdna8Kao9RakalfgwcKcaaDEgLawaL0EgX9pmbcbhwxdkdnawaL9pmbaocbaXaw9Rgwz:xjjjbawfhokaoarc;adfalz:wjjjbalfhodnaDTmbaoaraez:wjjjbaefhokaoab9Rhwxekcbhwkarc;qwf8Kjjjjbawk5babaeadaialcdcbyd;C:kjjbz:bjjjbk9reduaecd4gdaefgicaaica0Eabcj;abae9Uc;WFbGcjdaeca0Egifcufai9Uae2aiadfaicl4cifcd4f2fcefkmbcbabBd;C:kjjbk:Ese5u8Jjjjjbc;ae9Rgl8Kjjjjbcbhvdnaici9UgocHfae0mbabcbyd;m:kjjbgrc;GeV86bbalc;abfcFecjez:xjjjb8AalcUfgw9cu83ibalc8WfgD9cu83ibalcyfgq9cu83ibalcafgk9cu83ibalcKfgx9cu83ibalczfgm9cu83ibal9cu83iwal9cu83ibabaefc9WfhPabcefgsaofhednaiTmbcmcsarcb9kgzEhHcbhOcbhAcbhCcbhXcbhQindnaeaP9nmbcbhvxikaQcufhvadaCcdtfgLydbhKaLcwfydbhYaLclfydbh8AcbhEdndndninalc;abfavcsGcitfgoydlh3dndndnaoydbgoaK9hmba3a8ASmekdnaoa8A9hmba3aY9hmbaEcefhExekaoaY9hmea3aK9hmeaEcdfhEkaEc870mdaXcufhvaLaEciGcx2goc;i1jjbfydbcdtfydbh3aLaoc;e1jjbfydbcdtfydbh8AaLaoc;a1jjbfydbcdtfydbhKcbhodnindnalavcsGcdtfydba39hmbaohYxdkcuhYavcufhvaocefgocz9hmbkkaOa3aOSgvaYce9iaYaH9oVgoGfhOdndndncbcsavEaYaoEgvcs9hmbarce9imba3a3aAa3cefaASgvEgAcefSmecmcsavEhvkasavaEcdtc;WeGV86bbavcs9hmea3aA9Rgvcetavc8F917hvinaeavcFb0crtavcFbGV86bbaecefheavcje6hoavcr4hvaoTmbka3hAxvkcPhvasaEcdtcPV86bba3hAkavTmiavaH9omicdhocehEaQhYxlkavcufhvaEclfgEc;ab9hmbkkdnaLceaYaOSceta8AaOSEcx2gvc;a1jjbfydbcdtfydbgKTaLavc;e1jjbfydbcdtfydbg8AceSGaLavc;i1jjbfydbcdtfydbg3cdSGaOcb9hGazGg5ce9hmbaw9cu83ibaD9cu83ibaq9cu83ibak9cu83ibax9cu83ibam9cu83ibal9cu83iwal9cu83ibcbhOkcbhEaXcufgvhodnindnalaocsGcdtfydba8A9hmbaEhYxdkcuhYaocufhoaEcefgEcz9hmbkkcbhodnindnalavcsGcdtfydba39hmbaohExdkcuhEavcufhvaocefgocz9hmbkkaOaKaOSg8EfhLdndnaYcm0mbaYcefhYxekcbcsa8AaLSgvEhYaLavfhLkdndnaEcm0mbaEcefhExekcbcsa3aLSgvEhEaLavfhLkc9:cua8EEh8FcbhvaEaYcltVgacFeGhodndndninavc:W1jjbfRbbaoSmeavcefgvcz9hmbxdkka5aKaO9havcm0VVmbasavc;WeV86bbxekasa8F86bbaeaa86bbaecefhekdna8EmbaKaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombkaKhAkdnaYcs9hmba8AaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka8AhAkdnaEcs9hmba3aA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka3hAkalaXcdtfaKBdbaXcefcsGhvdndnaYPzbeeeeeeeeeeeeeebekalavcdtfa8ABdbaXcdfcsGhvkdndnaEPzbeeeeeeeeeeeeeebekalavcdtfa3BdbavcefcsGhvkcihoalc;abfaQcitfgEaKBdlaEa8ABdbaQcefcsGhYcdhEavhXaLhOxekcdhoalaXcdtfa3BdbcehEaXcefcsGhXaQhYkalc;abfaYcitfgva8ABdlava3Bdbalc;abfaQaEfcsGcitfgva3BdlavaKBdbascefhsaQaofcsGhQaCcifgCai6mbkkdnaeaP9nmbcbhvxekcbhvinaeavfavc:W1jjbfRbb86bbavcefgvcz9hmbkaeab9Ravfhvkalc;aef8KjjjjbavkZeeucbhddninadcefgdc8F0meceadtae6mbkkadcrfcFeGcr9Uci2cdfabci9U2cHfkmbcbabBd;m:kjjbk:Adewu8Jjjjjbcz9Rhlcbhvdnaicvfae0mbcbhvabcbRb;m:kjjbc;qeV86bbal9cb83iwabcefhoabaefc98fhrdnaiTmbcbhwcbhDindnaoar6mbcbskadaDcdtfydbgqalcwfawaqav9Rgvavc8F91gv7av9Rc507gwcdtfgkydb9Rgvc8E91c9:Gavcdt7awVhvinaoavcFb0gecrtavcFbGV86bbavcr4hvaocefhoaembkakaqBdbaqhvaDcefgDai9hmbkkdnaoar9nmbcbskaocbBbbaoab9RclfhvkavkBeeucbhddninadcefgdc8F0meceadtae6mbkkadcwfcFeGcr9Uab2cvfk:bvli99dui99ludnaeTmbcuadcetcuftcu7:Zhvdndncuaicuftcu7:ZgoJbbbZMgr:lJbbb9p9DTmbar:Ohwxekcjjjj94hwkcbhicbhDinalclfIdbgrJbbbbJbbjZalIdbgq:lar:lMalcwfIdbgk:lMgr:varJbbbb9BEgrNhxaqarNhrdndnakJbbbb9GTmbaxhqxekJbbjZar:l:tgqaq:maxJbbbb9GEhqJbbjZax:l:tgxax:marJbbbb9GEhrkdndnalcxfIdbgxJbbj:;axJbbj:;9GEgkJbbjZakJbbjZ9FEavNJbbbZJbbb:;axJbbbb9GEMgx:lJbbb9p9DTmbax:Ohmxekcjjjj94hmkdndnaqJbbj:;aqJbbj:;9GEgxJbbjZaxJbbjZ9FEaoNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:OhPxekcjjjj94hPkdndnarJbbj:;arJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;arJbbbb9GEMgr:lJbbb9p9DTmbar:Ohsxekcjjjj94hskdndnadcl9hmbabaifgzas86bbazcifam86bbazcdfaw86bbazcefaP86bbxekabaDfgzas87ebazcofam87ebazclfaw87ebazcdfaP87ebkalczfhlaiclfhiaDcwfhDaecufgembkkk;hlld99eud99eudnaeTmbdndncuaicuftcu7:ZgvJbbbZMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikaic;8FiGhrinabcofcicdalclfIdb:lalIdb:l9EgialcwfIdb:lalaicdtfIdb:l9EEgialcxfIdb:lalaicdtfIdb:l9EEgiarV87ebdndnJbbj:;JbbjZalaicdtfIdbJbbbb9DEgoalaicd7cdtfIdbJ;Zl:1ZNNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabcdfaq87ebdndnalaicefciGcdtfIdbJ;Zl:1ZNaoNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabaq87ebdndnaoalaicufciGcdtfIdbJ;Zl:1ZNNgoJbbj:;aoJbbj:;9GEgwJbbjZawJbbjZ9FEavNJbbbZJbbb:;aoJbbbb9GEMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikabclfai87ebabcwfhbalczfhlaecufgembkkk;3viDue99eu8Jjjjjbcjd9Rgo8Kjjjjbadcd4hrdndndndnavcd9hmbadcl6meaohwarhDinawc:CuBdbawclfhwaDcufgDmbkaeTmiadcl6mdarcdthqalhkcbhxinaohwakhDarhminawawydbgPcbaDIdbgs:8cL4cFeGc:cufasJbbbb9BEgzaPaz9kEBdbaDclfhDawclfhwamcufgmmbkakaqfhkaxcefgxaeSmixbkkaeTmdxekaeTmekarcdthkavce9hhqadcl6hdcbhxindndndnaqmbadmdc:CuhDalhwarhminaDcbawIdbgs:8cL4cFeGc:cufasJbbbb9BEgPaDaP9kEhDawclfhwamcufgmmbxdkkc:CuhDdndnavPleddbdkadmdaohwalhmarhPinawcbamIdbgs:8cL4cFeGgzc;:bazc;:b0Ec:cufasJbbbb9BEBdbamclfhmawclfhwaPcufgPmbxdkkadmecbhwarhminaoawfcbalawfIdbgs:8cL4cFeGgPc8AaPc8A0Ec:cufasJbbbb9BEBdbawclfhwamcufgmmbkkadmbcbhwarhPinaDhmdnavceSmbaoawfydbhmkdndnalawfIdbgscjjj;8iamai9RcefgmcLt9R::NJbbbZJbbb:;asJbbbb9GEMgs:lJbbb9p9DTmbas:Ohzxekcjjjj94hzkabawfazcFFFrGamcKtVBdbawclfhwaPcufgPmbkkabakfhbalakfhlaxcefgxae9hmbkkaocjdf8Kjjjjbk:Ylvdud99due99iudnaeTmbceaicufgvthocuaitcu7:Zhrcuavtcu7:Zhwcbhvadcl9hhDcbhqindndnalcwfIdbgkJbbbbakJbbbb9GEgkJbbjZakJbbjZ9FEarNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikdndnalIdbgkJbbbbakJbbbb9GEgkJbbjZakJbbjZ9FEarNJbbbZMgk:lJbbb9p9DTmbak:Ohdxekcjjjj94hdkadai9Rcd9TgxaifhidndnalclfIdbgkJbbbbakJbbbb9GEgkJbbjZakJbbjZ9FEarNJbbbZMgk:lJbbb9p9DTmbak:Ohdxekcjjjj94hdkadai9Rcd9ThddndnalcxfIdbgkJbbbbakJbbbb9GEgkJbbjZakJbbjZ9FEawNJbbbZMgk:lJbbb9p9DTmbak:Ohmxekcjjjj94hmkadaifhiaoamVhmdndnaDmbabavfgPai86bbaPcifam86bbaPcdfad86bbaPcefax86bbxekabaqfgPai87ebaPcofam87ebaPclfad87ebaPcdfax87ebkalczfhlavclfhvaqcwfhqaecufgembkkk;YqdXui998Jjjjjbc:qd9Rgv8Kjjjjbavc:Sefcbc;Kbz:xjjjb8AcbhodnadTmbcbhoaiTmbdndnabaeSmbaehrxekavcuadcdtgwadcFFFFi0Ecbyd;q:kjjbHjjjjbbgrBd:SeavceBd:mdaraeawz:wjjjb8Akavc:GefcwfcbBdbav9cb83i:Geavc:Gefaradaiavc:Sefz:pjjjbavyd:GehDadci9Ugqcbyd;q:kjjbHjjjjbbheavc:Sefavyd:mdgkcdtfaeBdbavakcefgwBd:mdaecbaqz:xjjjbhxavc:SefawcdtfcuaicdtaicFFFFi0Ecbyd;q:kjjbHjjjjbbgmBdbavakcdfgPBd:mdalc;ebfhsaDheamhwinawalIdbasaeydbgzcwazcw6EcdtfIdbMUdbaeclfheawclfhwaicufgimbkavc:SefaPcdtfcuaqcdtadcFFFF970Ecbyd;q:kjjbHjjjjbbgPBdbdnadci6mbarheaPhwaqhiinawamaeydbcdtfIdbamaeclfydbcdtfIdbMamaecwfydbcdtfIdbMUdbaecxfheawclfhwaicufgimbkkakcifhoalc;ebfhHavc;qbfhOavheavyd:KehAavyd:OehCcbhzcbhwcbhXcehQinaehLcihkarawci2gKcdtfgeydbhsaeclfydbhdabaXcx2fgicwfaecwfydbgYBdbaiclfadBdbaiasBdbaxawfce86bbaOaYBdwaOadBdlaOasBdbaPawcdtfcbBdbdnazTmbcihkaLhiinaOakcdtfaiydbgeBdbakaeaY9haeas9haead9hGGfhkaiclfhiazcufgzmbkkaXcefhXcbhzinaCaAarazaKfcdtfydbcdtgifydbcdtfgYheaDaifgdydbgshidnasTmbdninaeydbawSmeaeclfheaicufgiTmdxbkkaeaYascdtfc98fydbBdbadadydbcufBdbkazcefgzci9hmbkdndnakTmbcuhwJbbbbh8Acbhdavyd:KehYavyd:OehKindndnaDaOadcdtfydbcdtgzfydbgembadcefhdxekadcs0hiamazfgsIdbhEasalcbadcefgdaiEcdtfIdbaHaecwaecw6EcdtfIdbMg3Udba3aE:th3aecdthiaKaYazfydbcdtfheinaPaeydbgzcdtfgsa3asIdbMgEUdbaEa8Aa8AaE9DgsEh8AazawasEhwaeclfheaic98fgimbkkadak9hmbkawcu9hmekaQaq9pmdindnaxaQfRbbmbaQhwxdkaqaQcefgQ9hmbxikkakczakcz6EhzaOheaLhOawcu9hmbkkaocdtavc:Seffc98fhedninaoTmeaeydbcbyd;u:kjjbH:bjjjbbaec98fheaocufhoxbkkavc:qdf8Kjjjjbk;IlevucuaicdtgvaicFFFFi0Egocbyd;q:kjjbHjjjjbbhralalyd9GgwcdtfarBdbalawcefBd9GabarBdbaocbyd;q:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdlcuadcdtadcFFFFi0Ecbyd;q:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdwabydbcbavz:xjjjb8Aadci9UhDdnadTmbabydbhoaehladhrinaoalydbcdtfgvavydbcefBdbalclfhlarcufgrmbkkdnaiTmbabydbhlabydlhrcbhvaihoinaravBdbarclfhralydbavfhvalclfhlaocufgombkkdnadci6mbabydlhrabydwhvcbhlinaecwfydbhoaeclfydbhdaraeydbcdtfgwawydbgwcefBdbavawcdtfalBdbaradcdtfgdadydbgdcefBdbavadcdtfalBdbaraocdtfgoaoydbgocefBdbavaocdtfalBdbaecxfheaDalcefgl9hmbkkdnaiTmbabydlheabydbhlinaeaeydbalydb9RBdbalclfhlaeclfheaicufgimbkkkQbabaeadaic;K1jjbz:ojjjbkQbabaeadaic;m:jjjbz:ojjjbk9DeeuabcFeaicdtz:xjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk:Vvioud9:du8Jjjjjbc;Wa9Rgl8Kjjjjbcbhvalcxfcbc;Kbz:xjjjb8AalcuadcitgoadcFFFFe0Ecbyd;q:kjjbHjjjjbbgrBdxalceBd2araeadaicezNjjjbalcuaoadcjjjjoGEcbyd;q:kjjbHjjjjbbgwBdzadcdthednadTmbabhiinaiavBdbaiclfhiadavcefgv9hmbkkawaefhDalabBdwalawBdl9cbhqindnadTmbaq9cq9:hkarhvaDhiadheinaiav8Pibak1:NcFrG87ebavcwfhvaicdfhiaecufgembkkalclfaq:NceGcdtfydbhxalclfaq9ce98gq:NceGcdtfydbhmalc;Wbfcbcjaz:xjjjb8AaDhvadhidnadTmbinalc;Wbfav8VebcdtfgeaeydbcefBdbavcdfhvaicufgimbkkcbhvcbhiinalc;WbfavfgeydbhoaeaiBdbaoaifhiavclfgvcja9hmbkadhvdndnadTmbinalc;WbfaDamydbgicetf8VebcdtfgeaeydbgecefBdbaxaecdtfaiBdbamclfhmavcufgvmbkaq9cv9smdcbhvinabawydbcdtfavBdbawclfhwadavcefgv9hmbxdkkaq9cv9smekkclhvdninavc98Smealcxfavfydbcbyd;u:kjjbH:bjjjbbavc98fhvxbkkalc;Waf8Kjjjjbk:Jwliuo99iud9:cbhv8Jjjjjbca9Rgoczfcwfcbyd:8:kjjbBdbaocb8Pd:0:kjjb83izaocwfcbyd;i:kjjbBdbaocb8Pd;a:kjjb83ibaicd4hrdndnadmbJFFuFhwJFFuuhDJFFuuhqJFFuFhkJFFuuhxJFFuFhmxekarcdthPaehsincbhiinaoczfaifgzasaifIdbgwazIdbgDaDaw9EEUdbaoaifgzawazIdbgDaDaw9DEUdbaiclfgicx9hmbkasaPfhsavcefgvad9hmbkaoIdKhDaoIdwhwaoIdChqaoIdlhkaoIdzhxaoIdbhmkdnadTmbJbbbbJbFu9hJbbbbamax:tgmamJbbbb9DEgmakaq:tgkakam9DEgkawaD:tgwawak9DEgw:vawJbbbb9BEhwdnalmbarcdthoindndnaeclfIdbaq:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikai:S9cC:ghHdndnaeIdbax:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikaHai:S:ehHdndnaecwfIdbaD:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabaHai:T9cy:g:e83ibaeaofheabcwfhbadcufgdmbxdkkarcdthoindndnaeIdbax:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikai:SgH9ca:gaH9cz:g9cjjj;4s:d:eaH9cFe:d:e9cF:bj;4:pj;ar:d9c:bd9:9c:p;G:d;4j:E;ar:d9cH9:9c;d;H:W:y:m:g;d;Hb:d9cv9:9c;j:KM;j:KM;j:Kd:dhOdndnaeclfIdbaq:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikai:SgH9ca:gaH9cz:g9cjjj;4s:d:eaH9cFe:d:e9cF:bj;4:pj;ar:d9c:bd9:9c:p;G:d;4j:E;ar:d9cH9:9c;d;H:W:y:m:g;d;Hb:d9cq9:9cM;j:KM;j:KM;jl:daO:ehOdndnaecwfIdbaD:tawNJbbbZMgk:lJbbb9p9DTmbak:Ohixekcjjjj94hikabaOai:SgH9ca:gaH9cz:g9cjjj;4s:d:eaH9cFe:d:e9cF:bj;4:pj;ar:d9c:bd9:9c:p;G:d;4j:E;ar:d9cH9:9c;d;H:W:y:m:g;d;Hb:d9cC9:9c:KM;j:KM;j:KMD:d:e83ibaeaofheabcwfhbadcufgdmbkkk9teiucbcbyd;y:kjjbgeabcifc98GfgbBd;y:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;teeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk:3eedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdxaialBdwaialBdlaialBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;y:kjjbgeabcrfc94GfgbBd;y:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;y:kjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;y:kjjbfgdBd;y:kjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akkk;Qddbcjwk;mdbbbbdbbblbbbwbbbbbbbebbbdbbblbbbwbbbbbbbbbbbbbbbb4:h9w9N94:P:gW:j9O:ye9Pbbbbbbebbbdbbbebbbdbbbbbbbdbbbbbbbebbbbbbb:l29hZ;69:9kZ;N;76Z;rg97Z;z;o9xZ8J;B85Z;:;u9yZ;b;k9HZ:2;Z9DZ9e:l9mZ59A8KZ:r;T3Z:A:zYZ79OHZ;j4::8::Y:D9V8:bbbb9s:49:Z8R:hBZ9M9M;M8:L;z;o8:;8:PG89q;x:J878R:hQ8::M:B;e87bbbbbbjZbbjZbbjZ:E;V;N8::Y:DsZ9i;H;68:xd;R8:;h0838:;W:NoZbbbb:WV9O8:uf888:9i;H;68:9c9G;L89;n;m9m89;D8Ko8:bbbbf:8tZ9m836ZS:2AZL;zPZZ818EZ9e:lxZ;U98F8:819E;68:FFuuFFuuFFuuFFuFFFuFFFuFbc;mqkzebbbebbbdbbb9G:vbb", D = new Uint8Array([
|
|
4
4
|
32,
|
|
@@ -86,6 +86,7 @@ export declare class ViralBatchedMesh extends Mesh {
|
|
|
86
86
|
private _elementOpacityMap;
|
|
87
87
|
private _isRGBAMode;
|
|
88
88
|
private _elementOriginalColors;
|
|
89
|
+
private _temporaryColors;
|
|
89
90
|
/**
|
|
90
91
|
* Select elements (highlights them with accent color)
|
|
91
92
|
*/
|
|
@@ -232,6 +233,24 @@ export declare class ViralBatchedMesh extends Mesh {
|
|
|
232
233
|
* Works with RGBA color buffer (preserves existing alpha values)
|
|
233
234
|
* @param elements - An array of elements, each containing `modelId` and `elementId`.
|
|
234
235
|
* @param color - The new RGB color to apply
|
|
236
|
+
* @param isTemporary - Override for temporary, if element has temporary color it will turn back this color, otherwise will turn back to original
|
|
237
|
+
*/
|
|
238
|
+
/**
|
|
239
|
+
* Changes the color of multiple elements in the merged mesh.
|
|
240
|
+
* Works with RGBA color buffer (preserves existing alpha values)
|
|
241
|
+
* @param elements - An array of elements, each containing `modelId` and `elementId`.
|
|
242
|
+
* @param color - The new RGB color to apply
|
|
243
|
+
* @param isTemporary - If true, stores this color as a temporary layer that will be restored on reset
|
|
244
|
+
*
|
|
245
|
+
* @example
|
|
246
|
+
* ```typescript
|
|
247
|
+
* // Normal color change (resets to original)
|
|
248
|
+
* mesh.changeColor([{ modelId: "0", elementId: "abc" }], { r: 1, g: 0, b: 0 });
|
|
249
|
+
*
|
|
250
|
+
* // Temporary color (resets to this color instead of original)
|
|
251
|
+
* mesh.changeColor([{ modelId: "0", elementId: "abc" }], { r: 0, g: 1, b: 0 }, true);
|
|
252
|
+
* // Later, any non-temporary color change will reset to green instead of original
|
|
253
|
+
* ```
|
|
235
254
|
*/
|
|
236
255
|
changeColor(elements: {
|
|
237
256
|
modelId: string;
|
|
@@ -240,18 +259,40 @@ export declare class ViralBatchedMesh extends Mesh {
|
|
|
240
259
|
r: number;
|
|
241
260
|
g: number;
|
|
242
261
|
b: number;
|
|
243
|
-
}): void;
|
|
262
|
+
}, isTemporary?: boolean): void;
|
|
263
|
+
/**
|
|
264
|
+
* Clears temporary colors for specified elements or all elements
|
|
265
|
+
* @param elements - Elements to clear temporary colors for, or null to clear all
|
|
266
|
+
*/
|
|
267
|
+
clearTemporaryColors(elements?: {
|
|
268
|
+
modelId: string;
|
|
269
|
+
elementId: string;
|
|
270
|
+
}[] | null): void;
|
|
244
271
|
/**
|
|
245
272
|
* Reset color of an element back to the original color
|
|
246
273
|
*/
|
|
247
274
|
/**
|
|
248
|
-
* Resets the color of
|
|
275
|
+
* Resets the color of elements back to temporary color (if exists) or original color.
|
|
249
276
|
* Works with RGBA color buffer (preserves existing alpha values)
|
|
250
|
-
* @param
|
|
251
|
-
* @param
|
|
252
|
-
*
|
|
277
|
+
* @param elements - Array of elements to reset, or `null` to reset the entire mesh.
|
|
278
|
+
* @param excepts - Elements that should receive a different color instead of original/temporary
|
|
279
|
+
*
|
|
280
|
+
* @example
|
|
281
|
+
* ```typescript
|
|
282
|
+
* // Reset all elements to temporary color (if set) or original color
|
|
283
|
+
* mesh.resetColor(null);
|
|
284
|
+
*
|
|
285
|
+
* // Reset specific elements
|
|
286
|
+
* mesh.resetColor([{ modelId: "0", elementId: "abc" }, { modelId: "0", elementId: "def" }]);
|
|
287
|
+
*
|
|
288
|
+
* // Reset all except some elements with custom colors
|
|
289
|
+
* mesh.resetColor(null, [{ elements: [{ modelId: "0", elementId: "abc" }], color: { r: 1, g: 0, b: 0 } }]);
|
|
290
|
+
* ```
|
|
253
291
|
*/
|
|
254
|
-
resetColor(
|
|
292
|
+
resetColor(elements: {
|
|
293
|
+
modelId: string;
|
|
294
|
+
elementId: string;
|
|
295
|
+
}[] | null, excepts?: {
|
|
255
296
|
elements: {
|
|
256
297
|
modelId: string;
|
|
257
298
|
elementId: string;
|
|
@@ -15,6 +15,7 @@ export declare class ViralInstancedMeshV2 extends Object3D {
|
|
|
15
15
|
}[]>>;
|
|
16
16
|
private _originalTransforms;
|
|
17
17
|
private _elementOpacity;
|
|
18
|
+
private _temporaryColors;
|
|
18
19
|
private _selectedElements;
|
|
19
20
|
private _hidingElements;
|
|
20
21
|
protected _isolatingElements: {
|
|
@@ -49,6 +50,21 @@ export declare class ViralInstancedMeshV2 extends Object3D {
|
|
|
49
50
|
};
|
|
50
51
|
}[]): void;
|
|
51
52
|
unselect(): void;
|
|
53
|
+
/**
|
|
54
|
+
* Changes the color of multiple elements.
|
|
55
|
+
* @param elements - An array of elements, each containing `modelId` and `elementId`.
|
|
56
|
+
* @param color - The new RGB color to apply
|
|
57
|
+
* @param isTemporary - If true, stores this color as a temporary layer that will be restored on reset
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* // Normal color change (resets to original)
|
|
62
|
+
* mesh.changeColor([{ modelId: "0", elementId: "abc" }], { r: 1, g: 0, b: 0 });
|
|
63
|
+
*
|
|
64
|
+
* // Temporary color (resets to this color instead of original)
|
|
65
|
+
* mesh.changeColor([{ modelId: "0", elementId: "abc" }], { r: 0, g: 1, b: 0 }, true);
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
52
68
|
changeColor(elements: {
|
|
53
69
|
modelId: string;
|
|
54
70
|
elementId: string;
|
|
@@ -56,8 +72,33 @@ export declare class ViralInstancedMeshV2 extends Object3D {
|
|
|
56
72
|
r: number;
|
|
57
73
|
g: number;
|
|
58
74
|
b: number;
|
|
59
|
-
}): void;
|
|
60
|
-
|
|
75
|
+
}, isTemporary?: boolean): void;
|
|
76
|
+
/**
|
|
77
|
+
* Clears temporary colors for specified elements or all elements
|
|
78
|
+
* @param elements - Elements to clear temporary colors for, or null to clear all
|
|
79
|
+
*/
|
|
80
|
+
clearTemporaryColors(elements?: {
|
|
81
|
+
modelId: string;
|
|
82
|
+
elementId: string;
|
|
83
|
+
}[] | null): void;
|
|
84
|
+
/**
|
|
85
|
+
* Resets the color of elements back to temporary color (if exists) or original color.
|
|
86
|
+
* @param elements - Array of elements to reset, or `null` to reset all instances.
|
|
87
|
+
* @param excepts - Elements that should receive a different color instead of original/temporary
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```typescript
|
|
91
|
+
* // Reset all elements to temporary color (if set) or original color
|
|
92
|
+
* mesh.resetColor(null);
|
|
93
|
+
*
|
|
94
|
+
* // Reset specific elements
|
|
95
|
+
* mesh.resetColor([{ modelId: "0", elementId: "abc" }, { modelId: "0", elementId: "def" }]);
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
resetColor(elements: {
|
|
99
|
+
modelId: string;
|
|
100
|
+
elementId: string;
|
|
101
|
+
}[] | null, excepts?: {
|
|
61
102
|
elements: {
|
|
62
103
|
modelId: string;
|
|
63
104
|
elementId: string;
|
|
@@ -90,6 +90,13 @@ export declare class ViralMergedModel extends Mesh {
|
|
|
90
90
|
modelId: string;
|
|
91
91
|
elementId: string;
|
|
92
92
|
}[];
|
|
93
|
+
/**
|
|
94
|
+
* Changes the color of multiple elements in the merged mesh.
|
|
95
|
+
* Works with RGBA color buffer (preserves existing alpha values)
|
|
96
|
+
* @param elements - An array of elements, each containing `modelId` and `elementId`.
|
|
97
|
+
* @param color - The new RGB color to apply
|
|
98
|
+
* @param isTemporary - Override for temporary, if element has temporary color it will turn back this color, otherwise will turn back to original - default is false
|
|
99
|
+
*/
|
|
93
100
|
changeColor(elements: {
|
|
94
101
|
modelId: string;
|
|
95
102
|
elementId: string;
|
|
@@ -97,7 +104,7 @@ export declare class ViralMergedModel extends Mesh {
|
|
|
97
104
|
r: number;
|
|
98
105
|
g: number;
|
|
99
106
|
b: number;
|
|
100
|
-
}): void;
|
|
107
|
+
}, isTemporary?: boolean): void;
|
|
101
108
|
getElementBoxs(elements: {
|
|
102
109
|
modelId: string;
|
|
103
110
|
elementId: string;
|
|
@@ -52,6 +52,13 @@ export declare class ViralVisibilityManager {
|
|
|
52
52
|
modelId: string;
|
|
53
53
|
elementId: string;
|
|
54
54
|
}[]): void;
|
|
55
|
+
/**
|
|
56
|
+
* Changes the color of multiple elements in the merged mesh.
|
|
57
|
+
* Works with RGBA color buffer (preserves existing alpha values)
|
|
58
|
+
* @param elements - An array of elements, each containing `modelId` and `elementId`.
|
|
59
|
+
* @param color - The new RGB color to apply
|
|
60
|
+
* @param isTemporary - Override for temporary, if element has temporary color it will turn back this color, otherwise will turn back to original - default is false
|
|
61
|
+
*/
|
|
55
62
|
changeColor(elements: {
|
|
56
63
|
modelId: string;
|
|
57
64
|
elementId: string;
|
|
@@ -59,7 +66,7 @@ export declare class ViralVisibilityManager {
|
|
|
59
66
|
r: number;
|
|
60
67
|
g: number;
|
|
61
68
|
b: number;
|
|
62
|
-
}): void;
|
|
69
|
+
}, isTemporary?: boolean): void;
|
|
63
70
|
/**
|
|
64
71
|
* except elements from reverse to original color, using for compare model, group elements,...
|
|
65
72
|
*/
|
|
@@ -41690,7 +41690,7 @@ const RC = [
|
|
|
41690
41690
|
}, OC = Et.hexToRGB(Pe.accent);
|
|
41691
41691
|
class Fn extends Q {
|
|
41692
41692
|
constructor(e, t, i) {
|
|
41693
|
-
super(e, t), this.globalMaterialIndex = -1, this.workerPool = null, this._bufferElements = [], this._colors = null, this._originalColor = null, this._elementMap = /* @__PURE__ */ new Map(), this._isBatching = !1, this._batchQueue = [], this._isProcessingQueue = !1, this._edgeLines = null, this._edgeRanges = /* @__PURE__ */ new Map(), this._edgeThreshold = 60, this._edgeMaterial = null, this._selectedElements = [], this._hidingElements = [], this._isolatingElements = [], this._hiddenSet = /* @__PURE__ */ new Set(), this._isolatedSet = /* @__PURE__ */ new Set(), this._elementOpacityMap = /* @__PURE__ */ new Map(), this._isRGBAMode = !1, this._elementOriginalColors = /* @__PURE__ */ new Map(), this._isGeneratedLights = !1, this._pointLight = null, this.workerPool = i || null;
|
|
41693
|
+
super(e, t), this.globalMaterialIndex = -1, this.workerPool = null, this._bufferElements = [], this._colors = null, this._originalColor = null, this._elementMap = /* @__PURE__ */ new Map(), this._isBatching = !1, this._batchQueue = [], this._isProcessingQueue = !1, this._edgeLines = null, this._edgeRanges = /* @__PURE__ */ new Map(), this._edgeThreshold = 60, this._edgeMaterial = null, this._selectedElements = [], this._hidingElements = [], this._isolatingElements = [], this._hiddenSet = /* @__PURE__ */ new Set(), this._isolatedSet = /* @__PURE__ */ new Set(), this._elementOpacityMap = /* @__PURE__ */ new Map(), this._isRGBAMode = !1, this._elementOriginalColors = /* @__PURE__ */ new Map(), this._temporaryColors = /* @__PURE__ */ new Map(), this._isGeneratedLights = !1, this._pointLight = null, this.workerPool = i || null;
|
|
41694
41694
|
}
|
|
41695
41695
|
addBufferElements(e, t) {
|
|
41696
41696
|
this._bufferElements = e, this._originalColor = t, this.rebuildGeometry(e);
|
|
@@ -42021,13 +42021,13 @@ class Fn extends Q {
|
|
|
42021
42021
|
* Select elements (highlights them with accent color)
|
|
42022
42022
|
*/
|
|
42023
42023
|
select(e, t = []) {
|
|
42024
|
-
this._selectedElements = e, this.
|
|
42024
|
+
this.unselect(), this._selectedElements = e, this.changeColor(this._selectedElements, OC);
|
|
42025
42025
|
}
|
|
42026
42026
|
get selectedElements() {
|
|
42027
42027
|
return this._selectedElements;
|
|
42028
42028
|
}
|
|
42029
42029
|
unselect() {
|
|
42030
|
-
this._selectedElements.length !== 0 && (this.resetColor(
|
|
42030
|
+
this._selectedElements.length !== 0 && (this.resetColor(this._selectedElements), this._selectedElements = []);
|
|
42031
42031
|
}
|
|
42032
42032
|
//#endregion
|
|
42033
42033
|
//#region Hide/Isolate/Show
|
|
@@ -42081,7 +42081,7 @@ class Fn extends Q {
|
|
|
42081
42081
|
* Reset all visibility - show everything
|
|
42082
42082
|
*/
|
|
42083
42083
|
reset() {
|
|
42084
|
-
if (this._hiddenSet.clear(), this._isolatedSet.clear(), this._hidingElements = [], this._isolatingElements = [], this._elementOpacityMap.clear(), this._colors) {
|
|
42084
|
+
if (this._hiddenSet.clear(), this._isolatedSet.clear(), this._hidingElements = [], this._isolatingElements = [], this._elementOpacityMap.clear(), this._temporaryColors.clear(), this._colors) {
|
|
42085
42085
|
this._elementMap.forEach((t, i) => {
|
|
42086
42086
|
t.forEach((n, r) => {
|
|
42087
42087
|
for (const a of n)
|
|
@@ -42302,23 +42302,53 @@ class Fn extends Q {
|
|
|
42302
42302
|
* Works with RGBA color buffer (preserves existing alpha values)
|
|
42303
42303
|
* @param elements - An array of elements, each containing `modelId` and `elementId`.
|
|
42304
42304
|
* @param color - The new RGB color to apply
|
|
42305
|
+
* @param isTemporary - Override for temporary, if element has temporary color it will turn back this color, otherwise will turn back to original
|
|
42305
42306
|
*/
|
|
42306
|
-
|
|
42307
|
+
/**
|
|
42308
|
+
* Changes the color of multiple elements in the merged mesh.
|
|
42309
|
+
* Works with RGBA color buffer (preserves existing alpha values)
|
|
42310
|
+
* @param elements - An array of elements, each containing `modelId` and `elementId`.
|
|
42311
|
+
* @param color - The new RGB color to apply
|
|
42312
|
+
* @param isTemporary - If true, stores this color as a temporary layer that will be restored on reset
|
|
42313
|
+
*
|
|
42314
|
+
* @example
|
|
42315
|
+
* ```typescript
|
|
42316
|
+
* // Normal color change (resets to original)
|
|
42317
|
+
* mesh.changeColor([{ modelId: "0", elementId: "abc" }], { r: 1, g: 0, b: 0 });
|
|
42318
|
+
*
|
|
42319
|
+
* // Temporary color (resets to this color instead of original)
|
|
42320
|
+
* mesh.changeColor([{ modelId: "0", elementId: "abc" }], { r: 0, g: 1, b: 0 }, true);
|
|
42321
|
+
* // Later, any non-temporary color change will reset to green instead of original
|
|
42322
|
+
* ```
|
|
42323
|
+
*/
|
|
42324
|
+
changeColor(e, t, i = !1) {
|
|
42307
42325
|
if (!this._colors)
|
|
42308
42326
|
return;
|
|
42309
|
-
const
|
|
42310
|
-
e.forEach(({ modelId:
|
|
42311
|
-
if (!this._elementMap.has(
|
|
42327
|
+
const n = this.geometry.getAttribute("color"), r = n.itemSize;
|
|
42328
|
+
e.forEach(({ modelId: a, elementId: o }) => {
|
|
42329
|
+
if (!this._elementMap.has(a) || !this._elementMap.get(a).has(o))
|
|
42312
42330
|
return;
|
|
42313
|
-
const
|
|
42314
|
-
|
|
42315
|
-
|
|
42316
|
-
|
|
42317
|
-
|
|
42318
|
-
|
|
42331
|
+
const l = `${a}:${o}`;
|
|
42332
|
+
i && this._temporaryColors.set(l, { r: t.r, g: t.g, b: t.b });
|
|
42333
|
+
const c = this._elementMap.get(a).get(o);
|
|
42334
|
+
for (const h of c) {
|
|
42335
|
+
const { start: d, count: u } = h;
|
|
42336
|
+
for (let f = 0; f < u; f++) {
|
|
42337
|
+
const p = (d + f) * r;
|
|
42338
|
+
this._colors[p] = t.r, this._colors[p + 1] = t.g, this._colors[p + 2] = t.b;
|
|
42319
42339
|
}
|
|
42320
42340
|
}
|
|
42321
|
-
}),
|
|
42341
|
+
}), n.array.set(this._colors), n.needsUpdate = !0;
|
|
42342
|
+
}
|
|
42343
|
+
/**
|
|
42344
|
+
* Clears temporary colors for specified elements or all elements
|
|
42345
|
+
* @param elements - Elements to clear temporary colors for, or null to clear all
|
|
42346
|
+
*/
|
|
42347
|
+
clearTemporaryColors(e = null) {
|
|
42348
|
+
e === null ? this._temporaryColors.clear() : e.forEach(({ modelId: t, elementId: i }) => {
|
|
42349
|
+
const n = `${t}:${i}`;
|
|
42350
|
+
this._temporaryColors.delete(n);
|
|
42351
|
+
});
|
|
42322
42352
|
}
|
|
42323
42353
|
/**
|
|
42324
42354
|
* Reset color of an element back to the original color
|
|
@@ -42347,42 +42377,69 @@ class Fn extends Q {
|
|
|
42347
42377
|
// colorAttribute.needsUpdate = true;
|
|
42348
42378
|
// }
|
|
42349
42379
|
/**
|
|
42350
|
-
* Resets the color of
|
|
42380
|
+
* Resets the color of elements back to temporary color (if exists) or original color.
|
|
42351
42381
|
* Works with RGBA color buffer (preserves existing alpha values)
|
|
42352
|
-
* @param
|
|
42353
|
-
* @param
|
|
42354
|
-
*
|
|
42382
|
+
* @param elements - Array of elements to reset, or `null` to reset the entire mesh.
|
|
42383
|
+
* @param excepts - Elements that should receive a different color instead of original/temporary
|
|
42384
|
+
*
|
|
42385
|
+
* @example
|
|
42386
|
+
* ```typescript
|
|
42387
|
+
* // Reset all elements to temporary color (if set) or original color
|
|
42388
|
+
* mesh.resetColor(null);
|
|
42389
|
+
*
|
|
42390
|
+
* // Reset specific elements
|
|
42391
|
+
* mesh.resetColor([{ modelId: "0", elementId: "abc" }, { modelId: "0", elementId: "def" }]);
|
|
42392
|
+
*
|
|
42393
|
+
* // Reset all except some elements with custom colors
|
|
42394
|
+
* mesh.resetColor(null, [{ elements: [{ modelId: "0", elementId: "abc" }], color: { r: 1, g: 0, b: 0 } }]);
|
|
42395
|
+
* ```
|
|
42355
42396
|
*/
|
|
42356
|
-
resetColor(e, t
|
|
42397
|
+
resetColor(e, t = []) {
|
|
42357
42398
|
if (!this._colors || !this._originalColor)
|
|
42358
42399
|
return;
|
|
42359
|
-
const
|
|
42360
|
-
for (const c of
|
|
42400
|
+
const i = this.geometry.getAttribute("color"), n = i.itemSize, r = (o, l) => {
|
|
42401
|
+
for (const c of t)
|
|
42361
42402
|
if (c.elements.some(
|
|
42362
42403
|
(d) => d.modelId === o && d.elementId === l
|
|
42363
42404
|
))
|
|
42364
42405
|
return c.color;
|
|
42365
42406
|
return null;
|
|
42407
|
+
}, a = (o, l) => {
|
|
42408
|
+
const c = `${o}:${l}`;
|
|
42409
|
+
return this._temporaryColors.get(c) || this._originalColor;
|
|
42366
42410
|
};
|
|
42367
|
-
if (e === null)
|
|
42368
|
-
|
|
42369
|
-
|
|
42370
|
-
|
|
42371
|
-
|
|
42372
|
-
|
|
42373
|
-
|
|
42374
|
-
|
|
42375
|
-
|
|
42376
|
-
|
|
42377
|
-
|
|
42378
|
-
|
|
42379
|
-
|
|
42380
|
-
|
|
42381
|
-
|
|
42411
|
+
if (e === null)
|
|
42412
|
+
this._elementMap.forEach((o, l) => {
|
|
42413
|
+
o.forEach((c, h) => {
|
|
42414
|
+
const d = a(l, h);
|
|
42415
|
+
for (const u of c) {
|
|
42416
|
+
const { start: f, count: p } = u;
|
|
42417
|
+
for (let v = 0; v < p; v++) {
|
|
42418
|
+
const g = (f + v) * n;
|
|
42419
|
+
this._colors[g] = d.r, this._colors[g + 1] = d.g, this._colors[g + 2] = d.b;
|
|
42420
|
+
}
|
|
42421
|
+
}
|
|
42422
|
+
});
|
|
42423
|
+
});
|
|
42424
|
+
else
|
|
42425
|
+
for (const { modelId: o, elementId: l } of e) {
|
|
42426
|
+
if (!this._elementMap.has(o) || !this._elementMap.get(o).has(l))
|
|
42427
|
+
continue;
|
|
42428
|
+
const c = this._elementMap.get(o).get(l);
|
|
42429
|
+
for (const h of c) {
|
|
42430
|
+
const { start: d, count: u } = h;
|
|
42431
|
+
for (let f = 0; f < u; f++) {
|
|
42432
|
+
const p = (d + f) * n, v = r(o, l);
|
|
42433
|
+
if (v)
|
|
42434
|
+
this._colors[p] = v.r, this._colors[p + 1] = v.g, this._colors[p + 2] = v.b;
|
|
42435
|
+
else {
|
|
42436
|
+
const g = a(o, l);
|
|
42437
|
+
this._colors[p] = g.r, this._colors[p + 1] = g.g, this._colors[p + 2] = g.b;
|
|
42438
|
+
}
|
|
42439
|
+
}
|
|
42382
42440
|
}
|
|
42383
42441
|
}
|
|
42384
|
-
|
|
42385
|
-
n.array.set(this._colors), n.needsUpdate = !0;
|
|
42442
|
+
i.array.set(this._colors), i.needsUpdate = !0;
|
|
42386
42443
|
}
|
|
42387
42444
|
assignUniqueFaceColors() {
|
|
42388
42445
|
var a;
|
|
@@ -42556,7 +42613,7 @@ class Fn extends Q {
|
|
|
42556
42613
|
*/
|
|
42557
42614
|
async createSimplifiedLODs(e) {
|
|
42558
42615
|
var n, r;
|
|
42559
|
-
const { simplifyBufferElementsBatch: t } = await import("./batched-mesh-simplifier-
|
|
42616
|
+
const { simplifyBufferElementsBatch: t } = await import("./batched-mesh-simplifier-BrzQ9Wcy.mjs"), i = [this];
|
|
42560
42617
|
console.log(
|
|
42561
42618
|
`🔨 Creating ${e.length} LOD levels for batched mesh...`
|
|
42562
42619
|
);
|
|
@@ -42600,7 +42657,7 @@ class Fn extends Q {
|
|
|
42600
42657
|
* ```
|
|
42601
42658
|
*/
|
|
42602
42659
|
async createSimplifiedLODFast(e) {
|
|
42603
|
-
const { simplifyBatchedMeshFast: t } = await import("./batched-mesh-simplifier-
|
|
42660
|
+
const { simplifyBatchedMeshFast: t } = await import("./batched-mesh-simplifier-BrzQ9Wcy.mjs");
|
|
42604
42661
|
return t(this, e);
|
|
42605
42662
|
}
|
|
42606
42663
|
/**
|
|
@@ -42614,7 +42671,7 @@ class Fn extends Q {
|
|
|
42614
42671
|
}
|
|
42615
42672
|
const NC = Et.hexToRGB(Pe.accent), Ol = class Ol extends Lt {
|
|
42616
42673
|
constructor(e) {
|
|
42617
|
-
super(), this.material = e, this.globalMaterialIndex = -1, this._instancedMeshes = /* @__PURE__ */ new Map(), this._bufferElements = [], this._originalColor = null, this._elementMap = /* @__PURE__ */ new Map(), this._originalTransforms = /* @__PURE__ */ new Map(), this._elementOpacity = /* @__PURE__ */ new Map(), this._selectedElements = [], this._hidingElements = [], this._isolatingElements = [], this._edgeLines = /* @__PURE__ */ new Map(), this._edgeRanges = /* @__PURE__ */ new Map(), this._edgeThreshold = 60, this._edgeMaterial = null, this._isGeneratedLights = !1, this._pointLight = null, this._hiddenSet = /* @__PURE__ */ new Set(), this._isolatedSet = /* @__PURE__ */ new Set(), this.material && "vertexColors" in this.material && (this.material.vertexColors = !0, this.material.needsUpdate = !0);
|
|
42674
|
+
super(), this.material = e, this.globalMaterialIndex = -1, this._instancedMeshes = /* @__PURE__ */ new Map(), this._bufferElements = [], this._originalColor = null, this._elementMap = /* @__PURE__ */ new Map(), this._originalTransforms = /* @__PURE__ */ new Map(), this._elementOpacity = /* @__PURE__ */ new Map(), this._temporaryColors = /* @__PURE__ */ new Map(), this._selectedElements = [], this._hidingElements = [], this._isolatingElements = [], this._edgeLines = /* @__PURE__ */ new Map(), this._edgeRanges = /* @__PURE__ */ new Map(), this._edgeThreshold = 60, this._edgeMaterial = null, this._isGeneratedLights = !1, this._pointLight = null, this._hiddenSet = /* @__PURE__ */ new Set(), this._isolatedSet = /* @__PURE__ */ new Set(), this.material && "vertexColors" in this.material && (this.material.vertexColors = !0, this.material.needsUpdate = !0);
|
|
42618
42675
|
}
|
|
42619
42676
|
addBufferElements(e, t) {
|
|
42620
42677
|
this._bufferElements = e, this._originalColor = t, this.rebuildInstances(e), this.enableRaycasting();
|
|
@@ -42736,62 +42793,114 @@ const NC = Et.hexToRGB(Pe.accent), Ol = class Ol extends Lt {
|
|
|
42736
42793
|
}
|
|
42737
42794
|
//#region Selection and Color Control
|
|
42738
42795
|
select(e, t = []) {
|
|
42739
|
-
this._selectedElements = e, this.
|
|
42796
|
+
this.unselect(), this._selectedElements = e, this.changeColor(this._selectedElements, NC);
|
|
42740
42797
|
}
|
|
42741
42798
|
unselect() {
|
|
42742
|
-
this._selectedElements.length > 0 && (this.resetColor(
|
|
42799
|
+
this._selectedElements.length > 0 && (this.resetColor(this._selectedElements), this._selectedElements = []);
|
|
42743
42800
|
}
|
|
42744
|
-
|
|
42745
|
-
|
|
42746
|
-
|
|
42747
|
-
|
|
42748
|
-
|
|
42749
|
-
|
|
42750
|
-
|
|
42751
|
-
|
|
42801
|
+
/**
|
|
42802
|
+
* Changes the color of multiple elements.
|
|
42803
|
+
* @param elements - An array of elements, each containing `modelId` and `elementId`.
|
|
42804
|
+
* @param color - The new RGB color to apply
|
|
42805
|
+
* @param isTemporary - If true, stores this color as a temporary layer that will be restored on reset
|
|
42806
|
+
*
|
|
42807
|
+
* @example
|
|
42808
|
+
* ```typescript
|
|
42809
|
+
* // Normal color change (resets to original)
|
|
42810
|
+
* mesh.changeColor([{ modelId: "0", elementId: "abc" }], { r: 1, g: 0, b: 0 });
|
|
42811
|
+
*
|
|
42812
|
+
* // Temporary color (resets to this color instead of original)
|
|
42813
|
+
* mesh.changeColor([{ modelId: "0", elementId: "abc" }], { r: 0, g: 1, b: 0 }, true);
|
|
42814
|
+
* ```
|
|
42815
|
+
*/
|
|
42816
|
+
changeColor(e, t, i = !1) {
|
|
42817
|
+
e.forEach(({ modelId: n, elementId: r }) => {
|
|
42818
|
+
var l;
|
|
42819
|
+
const a = (l = this._elementMap.get(n)) == null ? void 0 : l.get(r);
|
|
42820
|
+
if (!a)
|
|
42821
|
+
return;
|
|
42822
|
+
const o = `${n}:${r}`;
|
|
42823
|
+
i && this._temporaryColors.set(o, { r: t.r, g: t.g, b: t.b }), a.forEach(({ instancedMesh: c, instanceIndex: h }) => {
|
|
42824
|
+
var f;
|
|
42825
|
+
const d = (f = c.instanceColor) == null ? void 0 : f.array;
|
|
42826
|
+
if (!d)
|
|
42752
42827
|
return;
|
|
42753
|
-
const
|
|
42754
|
-
|
|
42828
|
+
const u = h * 3;
|
|
42829
|
+
d[u] = t.r, d[u + 1] = t.g, d[u + 2] = t.b, c.instanceColor.needsUpdate = !0;
|
|
42755
42830
|
});
|
|
42756
42831
|
});
|
|
42757
42832
|
}
|
|
42758
|
-
|
|
42833
|
+
/**
|
|
42834
|
+
* Clears temporary colors for specified elements or all elements
|
|
42835
|
+
* @param elements - Elements to clear temporary colors for, or null to clear all
|
|
42836
|
+
*/
|
|
42837
|
+
clearTemporaryColors(e = null) {
|
|
42838
|
+
e === null ? this._temporaryColors.clear() : e.forEach(({ modelId: t, elementId: i }) => {
|
|
42839
|
+
const n = `${t}:${i}`;
|
|
42840
|
+
this._temporaryColors.delete(n);
|
|
42841
|
+
});
|
|
42842
|
+
}
|
|
42843
|
+
/**
|
|
42844
|
+
* Resets the color of elements back to temporary color (if exists) or original color.
|
|
42845
|
+
* @param elements - Array of elements to reset, or `null` to reset all instances.
|
|
42846
|
+
* @param excepts - Elements that should receive a different color instead of original/temporary
|
|
42847
|
+
*
|
|
42848
|
+
* @example
|
|
42849
|
+
* ```typescript
|
|
42850
|
+
* // Reset all elements to temporary color (if set) or original color
|
|
42851
|
+
* mesh.resetColor(null);
|
|
42852
|
+
*
|
|
42853
|
+
* // Reset specific elements
|
|
42854
|
+
* mesh.resetColor([{ modelId: "0", elementId: "abc" }, { modelId: "0", elementId: "def" }]);
|
|
42855
|
+
* ```
|
|
42856
|
+
*/
|
|
42857
|
+
resetColor(e, t = []) {
|
|
42759
42858
|
var r;
|
|
42760
42859
|
if (!this._originalColor)
|
|
42761
42860
|
return;
|
|
42762
|
-
const
|
|
42763
|
-
for (const l of
|
|
42861
|
+
const i = (a, o) => {
|
|
42862
|
+
for (const l of t)
|
|
42764
42863
|
if (l.elements.some(
|
|
42765
42864
|
(h) => h.modelId === a && h.elementId === o
|
|
42766
42865
|
))
|
|
42767
42866
|
return l.color;
|
|
42768
42867
|
return null;
|
|
42868
|
+
}, n = (a, o) => {
|
|
42869
|
+
const l = `${a}:${o}`;
|
|
42870
|
+
return this._temporaryColors.get(l) || this._originalColor;
|
|
42769
42871
|
};
|
|
42770
42872
|
if (e === null)
|
|
42771
|
-
this.
|
|
42772
|
-
|
|
42773
|
-
|
|
42774
|
-
|
|
42775
|
-
|
|
42776
|
-
const
|
|
42777
|
-
|
|
42778
|
-
|
|
42779
|
-
|
|
42780
|
-
|
|
42781
|
-
|
|
42782
|
-
|
|
42783
|
-
const a = (r = this._elementMap.get(e)) == null ? void 0 : r.get(t);
|
|
42784
|
-
if (!a)
|
|
42785
|
-
return;
|
|
42786
|
-
a.forEach(({ instancedMesh: o, instanceIndex: l }) => {
|
|
42787
|
-
var u;
|
|
42788
|
-
const c = (u = o.instanceColor) == null ? void 0 : u.array;
|
|
42789
|
-
if (!c)
|
|
42790
|
-
return;
|
|
42791
|
-
const h = l * 3, d = n(e, t);
|
|
42792
|
-
d ? (c[h] = d.r, c[h + 1] = d.g, c[h + 2] = d.b) : (c[h] = this._originalColor.r, c[h + 1] = this._originalColor.g, c[h + 2] = this._originalColor.b), o.instanceColor.needsUpdate = !0;
|
|
42873
|
+
this._elementMap.forEach((a, o) => {
|
|
42874
|
+
a.forEach((l, c) => {
|
|
42875
|
+
const h = n(o, c);
|
|
42876
|
+
l.forEach(({ instancedMesh: d, instanceIndex: u }) => {
|
|
42877
|
+
var v;
|
|
42878
|
+
const f = (v = d.instanceColor) == null ? void 0 : v.array;
|
|
42879
|
+
if (!f)
|
|
42880
|
+
return;
|
|
42881
|
+
const p = u * 3;
|
|
42882
|
+
f[p] = h.r, f[p + 1] = h.g, f[p + 2] = h.b, d.instanceColor.needsUpdate = !0;
|
|
42883
|
+
});
|
|
42884
|
+
});
|
|
42793
42885
|
});
|
|
42794
|
-
|
|
42886
|
+
else
|
|
42887
|
+
for (const { modelId: a, elementId: o } of e) {
|
|
42888
|
+
const l = (r = this._elementMap.get(a)) == null ? void 0 : r.get(o);
|
|
42889
|
+
l && l.forEach(({ instancedMesh: c, instanceIndex: h }) => {
|
|
42890
|
+
var p;
|
|
42891
|
+
const d = (p = c.instanceColor) == null ? void 0 : p.array;
|
|
42892
|
+
if (!d)
|
|
42893
|
+
return;
|
|
42894
|
+
const u = h * 3, f = i(a, o);
|
|
42895
|
+
if (f)
|
|
42896
|
+
d[u] = f.r, d[u + 1] = f.g, d[u + 2] = f.b;
|
|
42897
|
+
else {
|
|
42898
|
+
const v = n(a, o);
|
|
42899
|
+
d[u] = v.r, d[u + 1] = v.g, d[u + 2] = v.b;
|
|
42900
|
+
}
|
|
42901
|
+
c.instanceColor.needsUpdate = !0;
|
|
42902
|
+
});
|
|
42903
|
+
}
|
|
42795
42904
|
}
|
|
42796
42905
|
get selectedElements() {
|
|
42797
42906
|
return this._selectedElements;
|
|
@@ -42882,7 +42991,7 @@ const NC = Et.hexToRGB(Pe.accent), Ol = class Ol extends Lt {
|
|
|
42882
42991
|
* Reset all visibility - show everything
|
|
42883
42992
|
*/
|
|
42884
42993
|
reset() {
|
|
42885
|
-
this._hiddenSet.clear(), this._isolatedSet.clear(), this._hidingElements = [], this._isolatingElements = [], this._originalTransforms.forEach((e, t) => {
|
|
42994
|
+
this._hiddenSet.clear(), this._isolatedSet.clear(), this._hidingElements = [], this._isolatingElements = [], this._temporaryColors.clear(), this._originalTransforms.forEach((e, t) => {
|
|
42886
42995
|
e.forEach((i, n) => {
|
|
42887
42996
|
var a;
|
|
42888
42997
|
const r = (a = this._elementMap.get(t)) == null ? void 0 : a.get(n);
|
|
@@ -43971,11 +44080,18 @@ class FC extends Q {
|
|
|
43971
44080
|
});
|
|
43972
44081
|
}), Array.from(e.values());
|
|
43973
44082
|
}
|
|
43974
|
-
|
|
43975
|
-
|
|
43976
|
-
|
|
43977
|
-
|
|
43978
|
-
|
|
44083
|
+
/**
|
|
44084
|
+
* Changes the color of multiple elements in the merged mesh.
|
|
44085
|
+
* Works with RGBA color buffer (preserves existing alpha values)
|
|
44086
|
+
* @param elements - An array of elements, each containing `modelId` and `elementId`.
|
|
44087
|
+
* @param color - The new RGB color to apply
|
|
44088
|
+
* @param isTemporary - Override for temporary, if element has temporary color it will turn back this color, otherwise will turn back to original - default is false
|
|
44089
|
+
*/
|
|
44090
|
+
changeColor(e, t, i = !1) {
|
|
44091
|
+
this._batchedMeshes.forEach((n) => {
|
|
44092
|
+
n.changeColor(e, t, i);
|
|
44093
|
+
}), this._instancedMeshes.forEach((n) => {
|
|
44094
|
+
n.changeColor(e, t, i);
|
|
43979
44095
|
});
|
|
43980
44096
|
}
|
|
43981
44097
|
getElementBoxs(e) {
|
|
@@ -53084,8 +53200,19 @@ class KI {
|
|
|
53084
53200
|
);
|
|
53085
53201
|
}
|
|
53086
53202
|
//#region change color
|
|
53087
|
-
|
|
53088
|
-
|
|
53203
|
+
/**
|
|
53204
|
+
* Changes the color of multiple elements in the merged mesh.
|
|
53205
|
+
* Works with RGBA color buffer (preserves existing alpha values)
|
|
53206
|
+
* @param elements - An array of elements, each containing `modelId` and `elementId`.
|
|
53207
|
+
* @param color - The new RGB color to apply
|
|
53208
|
+
* @param isTemporary - Override for temporary, if element has temporary color it will turn back this color, otherwise will turn back to original - default is false
|
|
53209
|
+
*/
|
|
53210
|
+
changeColor(e, t, i = !1) {
|
|
53211
|
+
this.viralViewerApi.viralScene.mergedModel.changeColor(
|
|
53212
|
+
e,
|
|
53213
|
+
t,
|
|
53214
|
+
i
|
|
53215
|
+
), this.viralViewerApi.viralRenderer.render();
|
|
53089
53216
|
}
|
|
53090
53217
|
/**
|
|
53091
53218
|
* Select elements (replaces current selection)
|
|
@@ -53645,7 +53772,7 @@ class KI {
|
|
|
53645
53772
|
g: Math.floor(Math.random() * 256) / 256,
|
|
53646
53773
|
b: Math.floor(Math.random() * 256) / 256
|
|
53647
53774
|
};
|
|
53648
|
-
this.changeColor(t, i)
|
|
53775
|
+
this.changeColor(t, i);
|
|
53649
53776
|
}
|
|
53650
53777
|
//#endregion
|
|
53651
53778
|
}
|
|
@@ -54242,22 +54369,26 @@ class mR {
|
|
|
54242
54369
|
}
|
|
54243
54370
|
return this.viralViewerApi.viralVisibilityManager.exceptElements = [], this.viralViewerApi.viralScene.mergedModel.changeColor(
|
|
54244
54371
|
i.deleted.map((l) => ({ elementId: l.toString(), modelId: e.toString() })),
|
|
54245
|
-
Et.hexToRGB(Pe.deleted)
|
|
54372
|
+
Et.hexToRGB(Pe.deleted),
|
|
54373
|
+
!0
|
|
54246
54374
|
), this.viralViewerApi.viralVisibilityManager.exceptElements.push({
|
|
54247
54375
|
elements: i.deleted.map((l) => ({ elementId: l.toString(), modelId: e.toString() })),
|
|
54248
54376
|
color: Et.hexToRGB(Pe.deleted)
|
|
54249
54377
|
}), this.viralViewerApi.viralScene.mergedModel.changeColor(
|
|
54250
54378
|
i.added.map((l) => ({ elementId: l.toString(), modelId: t.toString() })),
|
|
54251
|
-
Et.hexToRGB(Pe.added)
|
|
54379
|
+
Et.hexToRGB(Pe.added),
|
|
54380
|
+
!0
|
|
54252
54381
|
), this.viralViewerApi.viralVisibilityManager.exceptElements.push({
|
|
54253
54382
|
elements: i.added.map((l) => ({ elementId: l.toString(), modelId: t.toString() })),
|
|
54254
54383
|
color: Et.hexToRGB(Pe.added)
|
|
54255
54384
|
}), this.viralViewerApi.viralScene.mergedModel.changeColor(
|
|
54256
54385
|
i.modified.map((l) => ({ elementId: l.toString(), modelId: e.toString() })),
|
|
54257
|
-
Et.hexToRGB(Pe.modified)
|
|
54386
|
+
Et.hexToRGB(Pe.modified),
|
|
54387
|
+
!0
|
|
54258
54388
|
), this.viralViewerApi.viralScene.mergedModel.changeColor(
|
|
54259
54389
|
i.modified.map((l) => ({ elementId: l.toString(), modelId: t.toString() })),
|
|
54260
|
-
Et.hexToRGB(Pe.modified)
|
|
54390
|
+
Et.hexToRGB(Pe.modified),
|
|
54391
|
+
!0
|
|
54261
54392
|
), this.viralViewerApi.viralVisibilityManager.exceptElements.push({
|
|
54262
54393
|
elements: i.modified.map((l) => ({ elementId: l.toString(), modelId: e.toString() })),
|
|
54263
54394
|
color: Et.hexToRGB(Pe.modified)
|
|
@@ -54266,10 +54397,12 @@ class mR {
|
|
|
54266
54397
|
color: Et.hexToRGB(Pe.modified)
|
|
54267
54398
|
}), this.viralViewerApi.viralScene.mergedModel.changeColor(
|
|
54268
54399
|
i.notChanged.map((l) => ({ elementId: l.toString(), modelId: e.toString() })),
|
|
54269
|
-
Et.hexToRGB(Pe.notChanged)
|
|
54400
|
+
Et.hexToRGB(Pe.notChanged),
|
|
54401
|
+
!0
|
|
54270
54402
|
), this.viralViewerApi.viralScene.mergedModel.changeColor(
|
|
54271
54403
|
i.notChanged.map((l) => ({ elementId: l.toString(), modelId: t.toString() })),
|
|
54272
|
-
Et.hexToRGB(Pe.notChanged)
|
|
54404
|
+
Et.hexToRGB(Pe.notChanged),
|
|
54405
|
+
!0
|
|
54273
54406
|
), this.viralViewerApi.viralVisibilityManager.exceptElements.push({
|
|
54274
54407
|
elements: i.notChanged.map((l) => ({ elementId: l.toString(), modelId: e.toString() })),
|
|
54275
54408
|
color: Et.hexToRGB(Pe.notChanged)
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { s as i, v as r, C as l, u as s, r as t, t as n, D as o, E as V, F as u, G as d, H as g, I as m, L as c, x as E, T as M, c as T, V as y, i as f, d as h, y as p, j as v, z as C, h as D, g as R, b, w as B, f as S, e as F, p as k, o as w, l as G, k as H, A as I, n as L, m as P, J as x, q as z } from "./index-
|
|
1
|
+
import { s as i, v as r, C as l, u as s, r as t, t as n, D as o, E as V, F as u, G as d, H as g, I as m, L as c, x as E, T as M, c as T, V as y, i as f, d as h, y as p, j as v, z as C, h as D, g as R, b, w as B, f as S, e as F, p as k, o as w, l as G, k as H, A as I, n as L, m as P, J as x, q as z } from "./index-B8x3D_5L.mjs";
|
|
2
2
|
export {
|
|
3
3
|
i as BufferElement,
|
|
4
4
|
r as CheckClashResult,
|