@uptimizr/dashboard 0.4.4 → 0.4.6
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/out/404.html +1 -1
- package/out/__next.__PAGE__.txt +4 -4
- package/out/__next._full.txt +11 -11
- package/out/__next._head.txt +4 -4
- package/out/__next._index.txt +4 -4
- package/out/__next._tree.txt +2 -2
- package/out/_next/static/chunks/{2o8k8x5zcepfy.js → 0-k4hp87gwues.js} +1 -1
- package/out/_next/static/chunks/{0s84ekz_f9ngx.js → 0-laj-bivzp4x.js} +1 -1
- package/out/_next/static/chunks/{3tdzweqszru4y.js → 04zj0yf1qhk1o.js} +1 -1
- package/out/_next/static/chunks/05s0t-besbvu1.css +3 -0
- package/out/_next/static/chunks/{1e_-_7biavwmb.js → 06fbalmyyfpsy.js} +1 -1
- package/out/_next/static/chunks/{3yr66ufoli71t.js → 07hgbbqksqd1g.js} +1 -1
- package/out/_next/static/chunks/08ou2nvy48e0u.js +1 -0
- package/out/_next/static/chunks/08y5-irjbsiy8.js +1 -0
- package/out/_next/static/chunks/{2pbgsq7vvtk8_.js → 0_jrfk2u1u3fi.js} +1 -1
- package/out/_next/static/chunks/{1-4v8oivkgnyl.js → 0a475u_q5i_dd.js} +2 -2
- package/out/_next/static/chunks/0aad2r4s4wl1x.js +5 -0
- package/out/_next/static/chunks/{2rjfrjhp4kjev.js → 0cmyc-uvk93kl.js} +52 -52
- package/out/_next/static/chunks/{1ozi46t8jajqh.js → 0d9pxx1w_zqr9.js} +1 -1
- package/out/_next/static/chunks/{3-x7522okdy-7.js → 0e5dcxmkprebg.js} +1 -1
- package/out/_next/static/chunks/{1n_gxvu31aofy.js → 0gk5rnci1hznh.js} +2 -2
- package/out/_next/static/chunks/0gnjtwq-474uc.js +1 -0
- package/out/_next/static/chunks/0gsh_d0m5xss1.js +1 -0
- package/out/_next/static/chunks/0i9wa8hjd-5tc.js +1 -0
- package/out/_next/static/chunks/0ibzpjo0h731v.js +1 -0
- package/out/_next/static/chunks/{41yy4p3-rtyz1.js → 0j0a0wvmmghxj.js} +1 -1
- package/out/_next/static/chunks/{29gv2swsp7tzu.js → 0j2ygtc_-bo3m.js} +1 -1
- package/out/_next/static/chunks/{0dck67in84de0.js → 0j_3k5qhv_mdx.js} +1 -1
- package/out/_next/static/chunks/0jap7l5-bskj4.js +114 -0
- package/out/_next/static/chunks/{0n92hec_jb_-_.js → 0jis2w2mfx062.js} +1 -1
- package/out/_next/static/chunks/0jjvp2slpf7d6.js +1 -0
- package/out/_next/static/chunks/0ko10wo4rc9-b.js +1 -0
- package/out/_next/static/chunks/0lqmvz6k2h_of.js +1 -0
- package/out/_next/static/chunks/0lwjmr8efrlbt.js +17 -0
- package/out/_next/static/chunks/0noxyupihh8dk.js +1 -0
- package/out/_next/static/chunks/{2-hdejef-mpka.js → 0o0qtv35dqv3i.js} +219 -16
- package/out/_next/static/chunks/{43hwl25uke0l_.js → 0o1vph7x9shzu.js} +1 -1
- package/out/_next/static/chunks/{1tt1bbry-4f-6.js → 0o73w0cn5n_vl.js} +1 -1
- package/out/_next/static/chunks/0p6phe9kjlxn8.js +1 -0
- package/out/_next/static/chunks/0ptxb9dcwsw3o.js +1 -0
- package/out/_next/static/chunks/{31ei992g8gqz9.js → 0q0i4pdyq66gb.js} +1 -1
- package/out/_next/static/chunks/0q8pt8fd0ma30.js +1 -0
- package/out/_next/static/chunks/0qqx9aoz8l5d2.js +1 -0
- package/out/_next/static/chunks/0r-x702_jvhud.js +112 -0
- package/out/_next/static/chunks/{2h5nvlgky7fpa.js → 0rykrf_vofbad.js} +1 -1
- package/out/_next/static/chunks/0tsk32q-88t_7.js +1 -0
- package/out/_next/static/chunks/0u7577db_ivyr.js +1 -0
- package/out/_next/static/chunks/0unnrt0un064x.js +1 -0
- package/out/_next/static/chunks/{3mvaub8qjdyuc.js → 0uygtr4mo3h0v.js} +1 -1
- package/out/_next/static/chunks/0vf3facit951s.js +1 -0
- package/out/_next/static/chunks/{2pcdnd4nzcw4c.js → 0vzo-8t8c26k9.js} +1 -1
- package/out/_next/static/chunks/0xx7_7y5jdlh4.js +1 -0
- package/out/_next/static/chunks/0xyija62b6txc.js +1 -0
- package/out/_next/static/chunks/{0vso09vdz38sr.js → 0xzamrecplwzw.js} +1 -1
- package/out/_next/static/chunks/{2khh_pmm224k5.js → 0yd4_xh476fjn.js} +14 -217
- package/out/_next/static/chunks/0ypejzd74ixbw.js +338 -0
- package/out/_next/static/chunks/0zeb37703zcz3.js +1 -0
- package/out/_next/static/chunks/0zu5ato7-1-q9.js +1 -0
- package/out/_next/static/chunks/0zydv7y47dxgh.js +1 -0
- package/out/_next/static/chunks/103x4jwovb6d-.js +1 -0
- package/out/_next/static/chunks/107wfq84g9-kn.js +1 -0
- package/out/_next/static/chunks/10afagk8yn__n.js +1 -0
- package/out/_next/static/chunks/12ory_c78yl31.js +1 -0
- package/out/_next/static/chunks/{1ccn725by19i1.js → 133dqp8_7_yo6.js} +1 -1
- package/out/_next/static/chunks/1365lgwdd4vuo.js +1 -0
- package/out/_next/static/chunks/146ou-ohb_qhs.js +1 -0
- package/out/_next/static/chunks/{425epvuw3yy-n.js → 14e4k-718qadd.js} +31 -31
- package/out/_next/static/chunks/14orr68xgdykd.js +1 -0
- package/out/_next/static/chunks/15qfoj-vl9thu.js +1 -0
- package/out/_next/static/chunks/{0okbyggxe6mx5.js → 161yjxmdz9obc.js} +1 -1
- package/out/_next/static/chunks/166yqx3_qvbpy.js +1 -0
- package/out/_next/static/chunks/16gwjao676ieb.js +1 -0
- package/out/_next/static/chunks/{0n-zml1gn0o1u.js → 16rmmzhy2p7bw.js} +1 -1
- package/out/_next/static/chunks/{442e2l3jzxd-_.js → 17_jjyx4jz9dd.js} +1 -1
- package/out/_next/static/chunks/{0zf26k6juhlzo.js → 184pz6z3dflfm.js} +13 -10
- package/out/_next/static/chunks/18h9ugdz6igdb.js +1 -0
- package/out/_next/static/chunks/19d8n5t7ka2fb.js +1 -0
- package/out/_next/static/chunks/{1mvadj46owrck.js → 1_4hh3dfop93j.js} +1 -1
- package/out/_next/static/chunks/1_rbzw3n4fk0g.js +1 -0
- package/out/_next/static/chunks/{22ja7c3gk0_ko.js → 1a94whad0y57f.js} +1 -1
- package/out/_next/static/chunks/{1vmpltnr0cyos.js → 1aa9g197l4twm.js} +1 -1
- package/out/_next/static/chunks/1bq0fcnt1wy86.js +1 -0
- package/out/_next/static/chunks/{1fyh50hjt7hi_.js → 1bv-jzy_2jiqs.js} +1 -1
- package/out/_next/static/chunks/1c6mho7e0enta.js +1 -0
- package/out/_next/static/chunks/{2ymtumj-hfrjo.js → 1dfaheve77dhi.js} +1 -1
- package/out/_next/static/chunks/1dgf112ehnhm1.js +1 -0
- package/out/_next/static/chunks/{32vaw89wdwv5_.js → 1eirucr9s6-h5.js} +1 -1
- package/out/_next/static/chunks/{0dva036n8ab62.js → 1f07l3q77zat1.js} +1 -1
- package/out/_next/static/chunks/1fervgvgv10r-.js +1 -0
- package/out/_next/static/chunks/1fsof7un7igrn.js +1 -0
- package/out/_next/static/chunks/{3gyyjsot8mdav.js → 1gvu5a6ffbs7l.js} +1 -1
- package/out/_next/static/chunks/{0t89-lfct-7m6.js → 1h1gixjbjkbsl.js} +5 -5
- package/out/_next/static/chunks/1iel4pzhhh-c3.js +1 -0
- package/out/_next/static/chunks/1iojfx3-g4_n9.js +1 -0
- package/out/_next/static/chunks/{1__nujzr9e352.js → 1j4c0nvdo5q68.js} +1 -1
- package/out/_next/static/chunks/{1o3ggu95lfu6i.js → 1j4jt5q7px8sy.js} +1 -1
- package/out/_next/static/chunks/{2g_1ov-0j2kwd.js → 1jjw9hxgi2vzi.js} +1 -1
- package/out/_next/static/chunks/1k_8olnprvi8r.js +1 -0
- package/out/_next/static/chunks/1l0rt7d4m-xdk.js +5 -0
- package/out/_next/static/chunks/{1oljzgz5jistn.js → 1lu7rjfvxj8yj.js} +1 -1
- package/out/_next/static/chunks/{2c2dspoukng-5.js → 1mt4cnd_d6jvf.js} +1 -1
- package/out/_next/static/chunks/1my968s78he8g.js +272 -0
- package/out/_next/static/chunks/{03zip1uidm6x9.js → 1s0dpdqy480hg.js} +1 -1
- package/out/_next/static/chunks/1t-yolk97lmot.js +12 -0
- package/out/_next/static/chunks/1t2g1v0ubcsam.js +1 -0
- package/out/_next/static/chunks/{18wa83g0qfh-b.js → 1tbes2sv-qzcx.js} +1 -1
- package/out/_next/static/chunks/1upy8a5cb75kt.js +1 -0
- package/out/_next/static/chunks/{2zpn7010iqgsy.js → 1x0j78ohufpul.js} +1 -1
- package/out/_next/static/chunks/1xed71f608m4b.js +1 -0
- package/out/_next/static/chunks/1z790xxb46gxy.js +1 -0
- package/out/_next/static/chunks/{22rl_arnzs-ve.js → 1zmx71cvc6ksk.js} +1 -1
- package/out/_next/static/chunks/{3kalvwsf11-ss.js → 2-_a-v1xeo5hb.js} +15 -12
- package/out/_next/static/chunks/2-i29-jdbwww6.js +532 -0
- package/out/_next/static/chunks/{1solqr18og2ot.js → 2117sv2qzo6yq.js} +1 -1
- package/out/_next/static/chunks/219n3q-_eengm.js +1 -0
- package/out/_next/static/chunks/21wo3vdr_uby8.js +1 -0
- package/out/_next/static/chunks/{1nqojcig-0m3c.js → 22yht3s7c-xih.js} +1 -1
- package/out/_next/static/chunks/{3go-mst7n3udd.js → 23-y1f_zw56vo.js} +1 -1
- package/out/_next/static/chunks/{0-tzsd_n-ywom.js → 25brs445bjbik.js} +2 -2
- package/out/_next/static/chunks/25gep78-izw79.js +4 -0
- package/out/_next/static/chunks/{099ilz3dmm1jw.js → 26i7dn31afdtm.js} +1 -1
- package/out/_next/static/chunks/27hbplu797elx.js +1 -0
- package/out/_next/static/chunks/{3n-7bcmfbh299.js → 27z7j17kcrty_.js} +11 -11
- package/out/_next/static/chunks/{380ivzcfb4o_3.js → 287hakn2ijupp.js} +2 -2
- package/out/_next/static/chunks/28i3wgvgn_at1.js +1 -0
- package/out/_next/static/chunks/2992eiy52nazj.js +1 -0
- package/out/_next/static/chunks/29_n5j-hg_gsa.js +1 -0
- package/out/_next/static/chunks/29bxq-67oazfg.js +1 -0
- package/out/_next/static/chunks/{309f81l5ucsb_.js → 29hkkj9raxte9.js} +50 -50
- package/out/_next/static/chunks/29ings58w7kp1.js +1 -0
- package/out/_next/static/chunks/{2e46-2ubc90do.js → 2_6b9lraq-exh.js} +5 -5
- package/out/_next/static/chunks/{3w4qettzp7khe.js → 2_lw4d7t-xcqi.js} +32 -32
- package/out/_next/static/chunks/2_n0cpkdsjzli.js +1 -0
- package/out/_next/static/chunks/2a3iy701j4r_y.js +1 -0
- package/out/_next/static/chunks/2al9dh3_1ixhv.js +1 -0
- package/out/_next/static/chunks/{1gvdmbr65lpud.js → 2as_br1awqk6k.js} +69 -69
- package/out/_next/static/chunks/{0c5d3qn2mb3ew.js → 2awr1c_vfsutb.js} +1 -1
- package/out/_next/static/chunks/{2q0rz76kj6h5z.js → 2b5nt7yn-pq3a.js} +1 -1
- package/out/_next/static/chunks/2bxe3kjr17tdp.js +1 -0
- package/out/_next/static/chunks/{2z9mdtudj8crz.js → 2c8rmxz151fxa.js} +20 -18
- package/out/_next/static/chunks/{35aagg46wp139.js → 2clevl_9ayd0x.js} +1 -1
- package/out/_next/static/chunks/{41qxc142snm22.js → 2dvbzar93ooc-.js} +1 -1
- package/out/_next/static/chunks/2e-vp0e11g9ew.js +1 -0
- package/out/_next/static/chunks/{2-p206i_ihx09.js → 2epukrz6paj9n.js} +1 -1
- package/out/_next/static/chunks/2exj9-0p6n9x-.js +1 -0
- package/out/_next/static/chunks/{05uqfgf-hh-p5.js → 2fspbfbxbswzd.js} +1 -1
- package/out/_next/static/chunks/2gf8l6hbmt7v3.js +1 -0
- package/out/_next/static/chunks/{1ph0tfo-4hl-f.js → 2h07np207nlx7.js} +1 -1
- package/out/_next/static/chunks/{11p92pnn5el0v.js → 2h9i_adbqaxs4.js} +1 -1
- package/out/_next/static/chunks/{0bj_310rugcn1.js → 2iu0_3cx-ny74.js} +11 -11
- package/out/_next/static/chunks/2jio3sio-_43z.js +1 -0
- package/out/_next/static/chunks/{0uxdbfa8gv6tk.js → 2kk_vvmr2xm3d.js} +29 -29
- package/out/_next/static/chunks/2kmmk9coo9_b0.js +505 -0
- package/out/_next/static/chunks/{055baac5e-c2o.js → 2laz1v9fg2a2z.js} +1 -1
- package/out/_next/static/chunks/{1qsut_e3msg0l.js → 2mjjo0yj-4ro4.js} +1 -1
- package/out/_next/static/chunks/{0av6n_6q6kzo3.js → 2mrkv0z2i74pv.js} +2 -2
- package/out/_next/static/chunks/{04_3ri5emyfcu.js → 2neieeo9g2u56.js} +1 -1
- package/out/_next/static/chunks/{1upkv4ltuh3s5.js → 2oacwtbslo90t.js} +84 -84
- package/out/_next/static/chunks/2pb_uosb-aa8x.js +1 -0
- package/out/_next/static/chunks/2qu-gpm3ux1l6.js +1 -0
- package/out/_next/static/chunks/2rsi6v7qmqx2b.js +1 -0
- package/out/_next/static/chunks/2s4fzgzkwjluu.js +2 -0
- package/out/_next/static/chunks/2tdvuc-27khif.js +1 -0
- package/out/_next/static/chunks/{2bm95r0011asw.js → 2trolrgd7neax.js} +1 -1
- package/out/_next/static/chunks/2uyuafmoe5wi0.js +3 -0
- package/out/_next/static/chunks/2w2e0pxgs-n8f.js +1 -0
- package/out/_next/static/chunks/{1qxhgauuomthl.js → 2wgh5i70bzelt.js} +60 -60
- package/out/_next/static/chunks/{3d76e_yd8l_0x.js → 2x-7kbwq8tl-o.js} +59 -59
- package/out/_next/static/chunks/{1t2exh89lnazc.js → 2xe4bgir5l-9b.js} +32 -99
- package/out/_next/static/chunks/2xujlsx3stqig.js +1 -0
- package/out/_next/static/chunks/{267q_eg-c6f6m.js → 3-yhe6rcsjh88.js} +1 -1
- package/out/_next/static/chunks/30y71dxdpv52d.js +1 -0
- package/out/_next/static/chunks/32c-e_v8_2xkf.js +1 -0
- package/out/_next/static/chunks/32oj0iudhp8bm.js +1 -0
- package/out/_next/static/chunks/{0w-hm7g7trtjg.js → 336ckqpboqmbn.js} +1 -1
- package/out/_next/static/chunks/33p9du6y9eegg.js +1 -0
- package/out/_next/static/chunks/{3w_umk1xtj6to.js → 36pz_ews7u0xb.js} +1 -1
- package/out/_next/static/chunks/{1ux1rpe-n1mai.js → 374lzksboll-t.js} +1 -1
- package/out/_next/static/chunks/38om-j0h0rryk.js +1 -0
- package/out/_next/static/chunks/{3oyuoqr8y2g9r.js → 38q0enmlg5q9o.js} +2 -2
- package/out/_next/static/chunks/{25gf6xn9u1c57.js → 39cou9lia_g7l.js} +1 -1
- package/out/_next/static/chunks/39pkya0_bvcaj.js +1 -0
- package/out/_next/static/chunks/{1x99m91nt1m3b.js → 39rhmj_32ujyj.js} +1 -1
- package/out/_next/static/chunks/3_1zzmx92j9c0.js +1 -0
- package/out/_next/static/chunks/{3z4suna4kq4j5.js → 3_dm45k0vk1aa.js} +34 -35
- package/out/_next/static/chunks/3_earszshuz4n.js +1 -0
- package/out/_next/static/chunks/{1ephzzweysylq.js → 3_gfl66zf638s.js} +38 -105
- package/out/_next/static/chunks/3ap_uxc8lx7ni.js +1 -0
- package/out/_next/static/chunks/{0pv2wirx45e1m.js → 3b6na8zrex8jo.js} +1 -1
- package/out/_next/static/chunks/3c0cxt72vilyz.js +1 -0
- package/out/_next/static/chunks/3cp5nmtwxq4gr.js +1 -0
- package/out/_next/static/chunks/{0tn-9w46cwydp.js → 3d43gd91r06y6.js} +39 -40
- package/out/_next/static/chunks/3g78x0pdaoi_4.js +1 -0
- package/out/_next/static/chunks/{1di5enkavl9vx.js → 3gjvl1p-tugfe.js} +2 -2
- package/out/_next/static/chunks/{1mrvp94tietcv.js → 3i8iro1gas1vx.js} +1 -1
- package/out/_next/static/chunks/{3-_08i4_7yhno.js → 3ioxfi3bvznhh.js} +1 -1
- package/out/_next/static/chunks/{2i82rmjta9ijs.js → 3j3ol_d1vsdhx.js} +1 -1
- package/out/_next/static/chunks/3kpqfqr99vo7z.js +1 -0
- package/out/_next/static/chunks/3lladf_wemm-2.js +1 -0
- package/out/_next/static/chunks/{0-0hui1_v3h8b.js → 3mmy9zsb7zo-m.js} +12 -9
- package/out/_next/static/chunks/{17aahvhpls1l7.js → 3my05px5mv_s5.js} +83 -16
- package/out/_next/static/chunks/3n62hbywoknop.js +1 -0
- package/out/_next/static/chunks/{0wq_9f98weoe3.js → 3nr48h9zwum-3.js} +1 -1
- package/out/_next/static/chunks/{2x83vs8ns4pww.js → 3nwaovnpiyrt8.js} +1 -1
- package/out/_next/static/chunks/3o_dmzpahx-5g.js +1 -0
- package/out/_next/static/chunks/{0g2wngc6oe7fd.js → 3p03l0z65c8vc.js} +27 -25
- package/out/_next/static/chunks/{00xc-0pj7on2s.js → 3puu2_-t0lln9.js} +29 -29
- package/out/_next/static/chunks/{077eo-0dhbxz-.js → 3qo7e6b73mfxq.js} +1 -1
- package/out/_next/static/chunks/3r7v7un976sn7.js +1 -0
- package/out/_next/static/chunks/{255knovck7pv2.js → 3rj-5v0j_2-_2.js} +4 -4
- package/out/_next/static/chunks/3rl_nhqwew40w.js +1 -0
- package/out/_next/static/chunks/3s7hqij6xp_4e.js +1 -0
- package/out/_next/static/chunks/{1ng-fqh2_n984.js → 3si3migsmvz9o.js} +1 -1
- package/out/_next/static/chunks/3t4ys6th6gf2w.js +1 -0
- package/out/_next/static/chunks/{1og49_atcksim.js → 3twr9ds68-9us.js} +1 -1
- package/out/_next/static/chunks/{2ftp5xmq_w23j.js → 3txu-i5qn183a.js} +65 -65
- package/out/_next/static/chunks/{3y_51bmdnc0ey.js → 3uarw1i1ij1er.js} +1 -1
- package/out/_next/static/chunks/3un-w6wutw1qn.js +1 -0
- package/out/_next/static/chunks/3v8kgnjk27wbe.js +1 -0
- package/out/_next/static/chunks/{1t7nl8rx7mabd.js → 3vtmucpx25o7q.js} +61 -61
- package/out/_next/static/chunks/{04j9pexbmysdy.js → 3vu5y270muh-7.js} +1 -1
- package/out/_next/static/chunks/3we1khqfexh3x.js +1 -0
- package/out/_next/static/chunks/3yk0hzfq5rcs6.js +1 -0
- package/out/_next/static/chunks/3z35loj4i-id4.js +1 -0
- package/out/_next/static/chunks/{28ndw4nsw2t_4.js → 3zv5kyos9vtmm.js} +1 -1
- package/out/_next/static/chunks/{1hsvckd0sgdgr.js → 415g3asdds1ac.js} +1 -1
- package/out/_next/static/chunks/{1nasz7q3tvb53.js → 42lqt7ig40wk5.js} +1 -1
- package/out/_next/static/chunks/42s6ghsurq5q7.js +1 -0
- package/out/_next/static/chunks/42yctcfi2rfwr.js +1 -0
- package/out/_next/static/chunks/43_fau1gg69eo.js +1 -0
- package/out/_next/static/chunks/43ywrdzg_7af8.js +31 -0
- package/out/_next/static/chunks/{1ho02fc091nj2.js → 44m1ijc5cv80x.js} +1 -1
- package/out/_next/static/chunks/{3k-gz8qf-mj-p.js → 453_bg0lgesmp.js} +1 -1
- package/out/_next/static/chunks/{turbopack-3r8yn0j92tqw_.js → turbopack-1s36ieuku1ds3.js} +1 -1
- package/out/_not-found/__next._full.txt +9 -9
- package/out/_not-found/__next._head.txt +4 -4
- package/out/_not-found/__next._index.txt +4 -4
- package/out/_not-found/__next._not-found.__PAGE__.txt +2 -2
- package/out/_not-found/__next._not-found.txt +3 -3
- package/out/_not-found/__next._tree.txt +2 -2
- package/out/_not-found.html +1 -1
- package/out/_not-found.txt +9 -9
- package/out/index.html +1 -1
- package/out/index.txt +11 -11
- package/package.json +14 -14
- package/out/_next/static/chunks/00g5suuoa-_wn.js +0 -1
- package/out/_next/static/chunks/00o9hr_3hd0r8.js +0 -1
- package/out/_next/static/chunks/01fh3_bncbe5u.js +0 -1
- package/out/_next/static/chunks/01urdkl1j8o6l.js +0 -1
- package/out/_next/static/chunks/026vw95s88gsy.js +0 -1
- package/out/_next/static/chunks/02eui3ctddbd2.js +0 -1
- package/out/_next/static/chunks/04c4nksb5y9r-.js +0 -1
- package/out/_next/static/chunks/04g-l-_b4payc.js +0 -1
- package/out/_next/static/chunks/05bdni_jrobq1.js +0 -1
- package/out/_next/static/chunks/05o0tb8l_htmw.js +0 -1
- package/out/_next/static/chunks/07z6p262h5hgl.js +0 -1
- package/out/_next/static/chunks/08m_4cihfmik8.js +0 -1
- package/out/_next/static/chunks/08obqw64faj8j.js +0 -1
- package/out/_next/static/chunks/09ppu_k464q-n.js +0 -1
- package/out/_next/static/chunks/0bgcaf2x51kms.js +0 -1
- package/out/_next/static/chunks/0dg4wxz-6u5lo.js +0 -1
- package/out/_next/static/chunks/0erga_bzezbza.js +0 -1
- package/out/_next/static/chunks/0f0-i105odxqd.js +0 -1
- package/out/_next/static/chunks/0gyeqz9pagssf.js +0 -1
- package/out/_next/static/chunks/0i82k-t0fbn8f.js +0 -1
- package/out/_next/static/chunks/0kzw45f61wm3j.js +0 -1
- package/out/_next/static/chunks/0l8bfa2xewq69.js +0 -1
- package/out/_next/static/chunks/0qxd_8t3nca36.js +0 -1
- package/out/_next/static/chunks/0s1jghzw8jufz.js +0 -1
- package/out/_next/static/chunks/0ti58h622yo-_.js +0 -2
- package/out/_next/static/chunks/0u8yr4k1y6m2t.js +0 -1
- package/out/_next/static/chunks/0ubxyut5rr600.js +0 -1
- package/out/_next/static/chunks/0wbw9h7rsis2r.js +0 -1
- package/out/_next/static/chunks/0y4e49hpuucdi.js +0 -1
- package/out/_next/static/chunks/0yvevihll7sz-.js +0 -1
- package/out/_next/static/chunks/1-b44873bjsdw.js +0 -1
- package/out/_next/static/chunks/1-c3a1vnl8v1q.js +0 -1
- package/out/_next/static/chunks/1-xf86jgea22y.js +0 -1
- package/out/_next/static/chunks/10b0qqdnb_nox.js +0 -1
- package/out/_next/static/chunks/12kdmh0h_mboy.js +0 -1
- package/out/_next/static/chunks/141tngxsk32hq.js +0 -1
- package/out/_next/static/chunks/14ijcpo72av4r.js +0 -1
- package/out/_next/static/chunks/16hdip1drt8o-.js +0 -1
- package/out/_next/static/chunks/18txc1wwwu9f9.js +0 -1
- package/out/_next/static/chunks/19dp8nr4uygg2.js +0 -5
- package/out/_next/static/chunks/1_8acnu6_-qe-.js +0 -1
- package/out/_next/static/chunks/1bmyq1b0by7ug.js +0 -1
- package/out/_next/static/chunks/1d1tpj9nm1nhf.js +0 -1
- package/out/_next/static/chunks/1dfwa563iciz3.js +0 -1
- package/out/_next/static/chunks/1fwsjnd1y-lx_.js +0 -1
- package/out/_next/static/chunks/1gaexq_suxai0.js +0 -1
- package/out/_next/static/chunks/1gtj_l5ame5mw.js +0 -1
- package/out/_next/static/chunks/1i4f3n_2_3ery.js +0 -1
- package/out/_next/static/chunks/1j7e3qpjuj89a.js +0 -1
- package/out/_next/static/chunks/1qjsgebn9m-0l.js +0 -1
- package/out/_next/static/chunks/1rb8wewjbdisv.js +0 -1
- package/out/_next/static/chunks/1rr74xxjtckyv.js +0 -1
- package/out/_next/static/chunks/1uu55ejvi7q5u.js +0 -1
- package/out/_next/static/chunks/1xbzxfeq9789f.js +0 -1
- package/out/_next/static/chunks/1ybiu-rkt50_1.js +0 -1
- package/out/_next/static/chunks/20qelrstvz9_n.js +0 -1
- package/out/_next/static/chunks/21at65obnoo8z.js +0 -1
- package/out/_next/static/chunks/21ko5mxfderw0.js +0 -1
- package/out/_next/static/chunks/21muzwu43o8xg.js +0 -1
- package/out/_next/static/chunks/23d-hvrwpixpm.js +0 -1
- package/out/_next/static/chunks/2569rrrffvm2w.js +0 -31
- package/out/_next/static/chunks/29o74k0d6hkdf.js +0 -1
- package/out/_next/static/chunks/2btabnibkm0db.js +0 -1
- package/out/_next/static/chunks/2c--awgkdcikq.js +0 -1
- package/out/_next/static/chunks/2ep7mjbaoeou0.js +0 -1
- package/out/_next/static/chunks/2ezgqm7atphi6.js +0 -1
- package/out/_next/static/chunks/2gfjzq_vjea4w.js +0 -1
- package/out/_next/static/chunks/2h5hase6ewoyc.js +0 -1
- package/out/_next/static/chunks/2hghi41nhdww2.css +0 -3
- package/out/_next/static/chunks/2ies66gmou203.js +0 -1
- package/out/_next/static/chunks/2jenu2eek9viz.js +0 -1
- package/out/_next/static/chunks/2luaj_cf5f19-.js +0 -1
- package/out/_next/static/chunks/2mgmvz66gh5ub.js +0 -1
- package/out/_next/static/chunks/2nwlqtv3vrzcv.js +0 -1
- package/out/_next/static/chunks/2si5cg3hl5dtf.js +0 -4
- package/out/_next/static/chunks/2uhrhq35bki6u.js +0 -1
- package/out/_next/static/chunks/2zdzgmacaoor9.js +0 -1
- package/out/_next/static/chunks/2zyjw8g4tiu51.js +0 -1
- package/out/_next/static/chunks/3-irhmtm1q5qw.js +0 -1
- package/out/_next/static/chunks/3-k74vn9exnb6.js +0 -1
- package/out/_next/static/chunks/34845aqksy1dl.js +0 -3
- package/out/_next/static/chunks/34y7nx6qmat06.js +0 -1
- package/out/_next/static/chunks/36rqw8h6ildpl.js +0 -1
- package/out/_next/static/chunks/3a_khw6q6pyh1.js +0 -1
- package/out/_next/static/chunks/3c_31f20z4jrl.js +0 -1
- package/out/_next/static/chunks/3ckp70rgr63u9.js +0 -1
- package/out/_next/static/chunks/3ed24zmt8qfys.js +0 -1
- package/out/_next/static/chunks/3ez20hi1mxw0w.js +0 -1
- package/out/_next/static/chunks/3fdx-rnos5ft-.js +0 -1
- package/out/_next/static/chunks/3fgfbxxb-j_bn.js +0 -4
- package/out/_next/static/chunks/3lehc5pujwhsz.js +0 -1
- package/out/_next/static/chunks/3m0ytnc241yfz.js +0 -1
- package/out/_next/static/chunks/3mpe7c3iyxn5h.js +0 -1
- package/out/_next/static/chunks/3nw7u4bie0-g6.js +0 -1
- package/out/_next/static/chunks/3qatb38-tk_gd.js +0 -1
- package/out/_next/static/chunks/3rpm-1ryf073k.js +0 -1
- package/out/_next/static/chunks/3tdcdi_utmoy_.js +0 -1
- package/out/_next/static/chunks/3tt_ir_va6262.js +0 -1
- package/out/_next/static/chunks/43qmngblcab8f.js +0 -1
- /package/out/_next/static/{UgXxCZvX6DcLoCaAHvGbP → 5UjNvd7WCk97iC2cSmEGH}/_buildManifest.js +0 -0
- /package/out/_next/static/{UgXxCZvX6DcLoCaAHvGbP → 5UjNvd7WCk97iC2cSmEGH}/_clientMiddlewareManifest.js +0 -0
- /package/out/_next/static/{UgXxCZvX6DcLoCaAHvGbP → 5UjNvd7WCk97iC2cSmEGH}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,48747,62575,e=>{"use strict";let t,s,r,i,a,n,l,h,o,u,c,p,d,_,f,g,m,b,x,P,T,O,v,C,S,y,w,A,I,z,R,E,W,F,M,D,B,k,U,G,V,L,N,H,j,q,Y,X,Z,K;var $,J,Q=e.i(57575),ee=e.i(32451),et=e.i(3864),es=e.i(69400),er=e.i(59052),ei=e.i(9855),ea=e.i(2060),en=e.i(44520),el=e.i(51843),eh=e.i(44265),eo=e.i(11829);let eu=(m=[],b=[],x=[],P=[],T=[],O=[],v=[],C=[],S=[],y=[],w=[],A=[],I=[],z=[],R=[],E=[],W=[],F=[],M=[],D=[],B=[],k=[],U=[],G=[],V=[],L=[],N=[],H=[],j=[],$=class{static get ForceGLSL(){return eo.EffectWrapper.ForceGLSL}static set ForceGLSL(e){eo.EffectWrapper.ForceGLSL=e}static RegisterShaderCodeProcessing(e,t){eo.EffectWrapper.RegisterShaderCodeProcessing(e,t)}get name(){return this._effectWrapper.name}set name(e){this._effectWrapper.name=e}get alphaMode(){return this._effectWrapper.alphaMode}set alphaMode(e){this._effectWrapper.alphaMode=e}get samples(){return this._samples}set samples(e){this._samples=Math.min(e,this._engine.getCaps().maxMSAASamples),this._textures.forEach(e=>{e.setSamples(this._samples)})}get shaderLanguage(){return this._shaderLanguage}getEffectName(){return this._fragmentUrl}set onActivate(e){this._onActivateObserver&&this.onActivateObservable.remove(this._onActivateObserver),e&&(this._onActivateObserver=this.onActivateObservable.add(e))}set onSizeChanged(e){this._onSizeChangedObserver&&this.onSizeChangedObservable.remove(this._onSizeChangedObserver),this._onSizeChangedObserver=this.onSizeChangedObservable.add(e)}set onApply(e){this._onApplyObserver&&this.onApplyObservable.remove(this._onApplyObserver),this._onApplyObserver=this.onApplyObservable.add(e)}set onBeforeRender(e){this._onBeforeRenderObserver&&this.onBeforeRenderObservable.remove(this._onBeforeRenderObserver),this._onBeforeRenderObserver=this.onBeforeRenderObservable.add(e)}set onAfterRender(e){this._onAfterRenderObserver&&this.onAfterRenderObservable.remove(this._onAfterRenderObserver),this._onAfterRenderObserver=this.onAfterRenderObservable.add(e)}get inputTexture(){return this._textures.data[this._currentRenderTextureInd]}set inputTexture(e){this._forcedOutputTexture=e}restoreDefaultInputTexture(){this._forcedOutputTexture&&(this._forcedOutputTexture=null,this.markTextureDirty())}getCamera(){return this._camera}get texelSize(){return this._shareOutputWithPostProcess?this._shareOutputWithPostProcess.texelSize:(this._forcedOutputTexture&&this._texelSize.copyFromFloats(1/this._forcedOutputTexture.width,1/this._forcedOutputTexture.height),this._texelSize)}constructor(e,t,s,r,i,a,n=1,l,h,o=null,u=0,c="postprocess",p,d=!1,_=5,f,g){let q;this._parentContainer=((0,Q.__runInitializers)(this,m),null),this.uniqueId=(0,Q.__runInitializers)(this,b,void 0),this.width=((0,Q.__runInitializers)(this,x),(0,Q.__runInitializers)(this,P,-1)),this.height=((0,Q.__runInitializers)(this,T),(0,Q.__runInitializers)(this,O,-1)),this.nodeMaterialSource=((0,Q.__runInitializers)(this,v),null),this._outputTexture=null,this.renderTargetSamplingMode=(0,Q.__runInitializers)(this,C,void 0),this.clearColor=((0,Q.__runInitializers)(this,S),(0,Q.__runInitializers)(this,y,void 0)),this.autoClear=((0,Q.__runInitializers)(this,w),(0,Q.__runInitializers)(this,A,!0)),this.forceAutoClearInAlphaMode=((0,Q.__runInitializers)(this,I),(0,Q.__runInitializers)(this,z,!1)),this.alphaConstants=((0,Q.__runInitializers)(this,R),(0,Q.__runInitializers)(this,E,void 0)),this.animations=((0,Q.__runInitializers)(this,W),[]),this.enablePixelPerfectMode=(0,Q.__runInitializers)(this,F,!1),this.forceFullscreenViewport=((0,Q.__runInitializers)(this,M),(0,Q.__runInitializers)(this,D,!0)),this.inspectableCustomProperties=(0,Q.__runInitializers)(this,B),this.scaleMode=(0,Q.__runInitializers)(this,k,1),this.alwaysForcePOT=((0,Q.__runInitializers)(this,U),(0,Q.__runInitializers)(this,G,!1)),this._samples=((0,Q.__runInitializers)(this,V),(0,Q.__runInitializers)(this,L,1)),this.adaptScaleToCurrentViewport=((0,Q.__runInitializers)(this,N),(0,Q.__runInitializers)(this,H,!1)),this.doNotSerialize=((0,Q.__runInitializers)(this,j),!1),this._webGPUReady=!1,this._reusable=!1,this._renderId=0,this.externalTextureSamplerBinding=!1,this._textures=new ee.SmartArray(2),this._textureCache=[],this._currentRenderTextureInd=0,this._scaleRatio=new es.Vector2(1,1),this._texelSize=es.Vector2.Zero(),this.onActivateObservable=new et.Observable,this.onSizeChangedObservable=new et.Observable,this.onApplyObservable=new et.Observable,this.onBeforeRenderObservable=new et.Observable,this.onAfterRenderObservable=new et.Observable,this.onDisposeObservable=new et.Observable,ec||(ec=!0,el.AbstractEngine.prototype.setTextureFromPostProcess=function(e,t,s){let r=null;t&&(t._forcedOutputTexture?r=t._forcedOutputTexture:t._textures.data[t._currentRenderTextureInd]&&(r=t._textures.data[t._currentRenderTextureInd])),this._bindTexture(e,r?.texture??null,s)},el.AbstractEngine.prototype.setTextureFromPostProcessOutput=function(e,t,s){this._bindTexture(e,t?._outputTexture?.texture??null,s)},er.Effect.prototype.setTextureFromPostProcess=function(e,t){this._engine.setTextureFromPostProcess(this._samplers[e],t,e)},er.Effect.prototype.setTextureFromPostProcessOutput=function(e,t){this._engine.setTextureFromPostProcessOutput(this._samplers[e],t,e)},(0,en.RegisterClass)("BABYLON.PostProcess",eu));let Y=1,X=null;if(s&&!Array.isArray(s)){const e=s;s=e.uniforms??null,r=e.samplers??null,Y=e.size??1,a=e.camera??null,n=e.samplingMode??1,l=e.engine,h=e.reusable,o=Array.isArray(e.defines)?e.defines.join("\n"):e.defines??null,u=e.textureType??0,c=e.vertexUrl??"postprocess",p=e.indexParameters,d=e.blockCompilation??!1,_=e.textureFormat??5,f=e.shaderLanguage??0,X=e.uniformBuffers??null,g=e.extraInitializations,q=e.effectWrapper}else i&&(Y="number"==typeof i?i:{width:i.width,height:i.height});if(this._useExistingThinPostProcess=!!q,this._effectWrapper=q??new eo.EffectWrapper({name:e,useShaderStore:!0,useAsPostProcess:!0,fragmentShader:t,engine:l||a?.getScene().getEngine(),uniforms:s,samplers:r,uniformBuffers:X,defines:o,vertexUrl:c,indexParameters:p,blockCompilation:!0,shaderLanguage:f,extraInitializations:void 0}),this.name=e,this.onEffectCreatedObservable=this._effectWrapper.onEffectCreatedObservable,null!=a?(this._camera=a,this._scene=a.getScene(),a.attachPostProcess(this),this._engine=this._scene.getEngine(),this._scene.addPostProcess(this),this.uniqueId=this._scene.getUniqueId()):l&&(this._engine=l,this._engine.postProcesses.push(this)),this._options=Y,this.renderTargetSamplingMode=n||1,this._reusable=h||!1,this._textureType=u,this._textureFormat=_,this._shaderLanguage=f||0,this._samplers=r||[],-1===this._samplers.indexOf("textureSampler")&&this._samplers.push("textureSampler"),this._fragmentUrl=t,this._vertexUrl=c,this._parameters=s||[],-1===this._parameters.indexOf("scale")&&this._parameters.push("scale"),this._uniformBuffers=X||[],this._indexParameters=p,!this._useExistingThinPostProcess){this._webGPUReady=1===this._shaderLanguage;const e=[];this._gatherImports(this._engine.isWebGPU&&!$.ForceGLSL,e),this._effectWrapper._webGPUReady=this._webGPUReady,this._effectWrapper._postConstructor(d,o,g,e)}}_gatherImports(t=!1,s){t&&this._webGPUReady?s.push(Promise.all([e.A(99691)])):s.push(Promise.all([e.A(75856)]))}getClassName(){return"PostProcess"}getEngine(){return this._engine}getEffect(){return this._effectWrapper.drawWrapper.effect}shareOutputWith(e){return this._disposeTextures(),this._shareOutputWithPostProcess=e,this}useOwnOutput(){0==this._textures.length&&(this._textures=new ee.SmartArray(2)),this._shareOutputWithPostProcess=null}updateEffect(e=null,t=null,s=null,r,i,a,n,l){this._effectWrapper.updateEffect(e,t,s,r,i,a,n,l),this._postProcessDefines=Array.isArray(this._effectWrapper.options.defines)?this._effectWrapper.options.defines.join("\n"):this._effectWrapper.options.defines}isReusable(){return this._reusable}markTextureDirty(){this.width=-1}_createRenderTargetTexture(e,t,s=0){for(let r=0;r<this._textureCache.length;r++)if(this._textureCache[r].texture.width===e.width&&this._textureCache[r].texture.height===e.height&&this._textureCache[r].postProcessChannel===s&&this._textureCache[r].texture._generateDepthBuffer===t.generateDepthBuffer&&this._textureCache[r].texture.samples===t.samples)return this._textureCache[r].texture;let r=this._engine.createRenderTargetTexture(e,t);return this._textureCache.push({texture:r,postProcessChannel:s,lastUsedRenderId:-1}),r}_flushTextureCache(){let e=this._renderId;for(let t=this._textureCache.length-1;t>=0;t--)if(e-this._textureCache[t].lastUsedRenderId>100){let e=!1;for(let s=0;s<this._textures.length;s++)if(this._textures.data[s]===this._textureCache[t].texture){e=!0;break}e||(this._textureCache[t].texture.dispose(),this._textureCache.splice(t,1))}}resize(e,t,s=null,r=!1,i=!1){this._textures.length>0&&this._textures.reset(),this.width=e,this.height=t;let a=null;if(s){for(let e=0;e<s._postProcesses.length;e++)if(null!==s._postProcesses[e]){a=s._postProcesses[e];break}}let n={width:this.width,height:this.height},l={generateMipMaps:r,generateDepthBuffer:i||a===this,generateStencilBuffer:(i||a===this)&&this._engine.isStencilEnable,samplingMode:this.renderTargetSamplingMode,type:this._textureType,format:this._textureFormat,samples:this._samples,label:"PostProcessRTT-"+this.name};this._textures.push(this._createRenderTargetTexture(n,l,0)),this._reusable&&this._textures.push(this._createRenderTargetTexture(n,l,1)),this._texelSize.copyFromFloats(1/this.width,1/this.height),this.onSizeChangedObservable.notifyObservers(this)}_getTarget(){let e;if(this._shareOutputWithPostProcess)e=this._shareOutputWithPostProcess.inputTexture;else if(this._forcedOutputTexture)e=this._forcedOutputTexture,this.width=this._forcedOutputTexture.width,this.height=this._forcedOutputTexture.height;else{let t;e=this.inputTexture;for(let s=0;s<this._textureCache.length;s++)if(this._textureCache[s].texture===e){t=this._textureCache[s];break}t&&(t.lastUsedRenderId=this._renderId)}return e}activate(e,t=null,s){let r=null===e||void 0!==e.cameraRigMode?e||this._camera:null,i=r?.getScene()??e,a=i.getEngine(),n=a.getCaps().maxTextureSize,l=(t?t.width:this._engine.getRenderWidth(!0))*this._options|0,h=(t?t.height:this._engine.getRenderHeight(!0))*this._options|0,o=this._options.width||l,u=this._options.height||h,c=7!==this.renderTargetSamplingMode&&1!==this.renderTargetSamplingMode&&2!==this.renderTargetSamplingMode,p=null;if(!this._shareOutputWithPostProcess&&!this._forcedOutputTexture){if(this.adaptScaleToCurrentViewport){let e=a.currentViewport;e&&(o*=e.width,u*=e.height)}(c||this.alwaysForcePOT)&&(this._options.width||(o=a.needPOTTextures?(0,eh.GetExponentOfTwo)(o,n,this.scaleMode):o),this._options.height||(u=a.needPOTTextures?(0,eh.GetExponentOfTwo)(u,n,this.scaleMode):u)),this.width===o&&this.height===u&&(p=this._getTarget())||this.resize(o,u,r,c,s),this._textures.forEach(e=>{e.samples!==this.samples&&this._engine.updateRenderTargetTextureSampleCount(e,this.samples)}),this._flushTextureCache(),this._renderId++}return p||(p=this._getTarget()),this.enablePixelPerfectMode?(this._scaleRatio.copyFromFloats(l/o,h/u),this._engine.bindFramebuffer(p,0,l,h,this.forceFullscreenViewport)):(this._scaleRatio.copyFromFloats(1,1),this._engine.bindFramebuffer(p,0,void 0,void 0,this.forceFullscreenViewport)),this._engine._debugInsertMarker?.(`post process ${this.name} input`),this.onActivateObservable.notifyObservers(r),this.autoClear&&(0===this.alphaMode||this.forceAutoClearInAlphaMode)&&this._engine.clear(this.clearColor?this.clearColor:i.clearColor,i._allowPostProcessClearColor,!0,!0),this._reusable&&(this._currentRenderTextureInd=(this._currentRenderTextureInd+1)%2),p}get isSupported(){return this._effectWrapper.drawWrapper.effect.isSupported}get aspectRatio(){return this._shareOutputWithPostProcess?this._shareOutputWithPostProcess.aspectRatio:this._forcedOutputTexture?this._forcedOutputTexture.width/this._forcedOutputTexture.height:this.width/this.height}isReady(){return this._effectWrapper.isReady()}apply(){let e;return this._effectWrapper.isReady()?(this._engine.enableEffect(this._effectWrapper.drawWrapper),this._engine.setState(!1),this._engine.setDepthBuffer(!1),this._engine.setDepthWrite(!1),this.alphaConstants&&this.getEngine().setAlphaConstants(this.alphaConstants.r,this.alphaConstants.g,this.alphaConstants.b,this.alphaConstants.a),this._engine.setAlphaMode(this.alphaMode),e=this._shareOutputWithPostProcess?this._shareOutputWithPostProcess.inputTexture:this._forcedOutputTexture?this._forcedOutputTexture:this.inputTexture,this.externalTextureSamplerBinding||this._effectWrapper.drawWrapper.effect._bindTexture("textureSampler",e?.texture),this._effectWrapper.drawWrapper.effect.setVector2("scale",this._scaleRatio),this.onApplyObservable.notifyObservers(this._effectWrapper.drawWrapper.effect),this._effectWrapper.bind(!0),this._effectWrapper.drawWrapper.effect):null}_disposeTextures(){this._shareOutputWithPostProcess||this._forcedOutputTexture?this._disposeTextureCache():(this._disposeTextureCache(),this._textures.dispose())}_disposeTextureCache(){for(let e=this._textureCache.length-1;e>=0;e--)this._textureCache[e].texture.dispose();this._textureCache.length=0}setPrePassRenderer(e){return!!this._prePassEffectConfiguration&&(this._prePassEffectConfiguration=e.addEffectConfiguration(this._prePassEffectConfiguration),this._prePassEffectConfiguration.enabled=!0,!0)}dispose(e){let t;if(e=e||this._camera,this._useExistingThinPostProcess||this._effectWrapper.dispose(),this._disposeTextures(),this._scene&&this._scene.removePostProcess(this),this._parentContainer&&((t=this._parentContainer.postProcesses.indexOf(this))>-1&&this._parentContainer.postProcesses.splice(t,1),this._parentContainer=null),-1!==(t=this._engine.postProcesses.indexOf(this))&&this._engine.postProcesses.splice(t,1),this.onDisposeObservable.notifyObservers(),e){if(e.detachPostProcess(this),0===(t=e._postProcesses.indexOf(this))&&e._postProcesses.length>0){let e=this._camera._getFirstPostProcess();e&&e.markTextureDirty()}this.onActivateObservable.clear(),this.onAfterRenderObservable.clear(),this.onApplyObservable.clear(),this.onBeforeRenderObservable.clear(),this.onSizeChangedObservable.clear(),this.onEffectCreatedObservable.clear()}}serialize(){let e=ea.SerializationHelper.Serialize(this),t=this.getCamera()||this._scene&&this._scene.activeCamera;return e.customType="BABYLON."+this.getClassName(),e.cameraId=t?t.id:null,e.reusable=this._reusable,e.textureType=this._textureType,e.fragmentUrl=this._fragmentUrl,e.parameters=this._parameters,e.samplers=this._samplers,e.uniformBuffers=this._uniformBuffers,e.options=this._options,e.defines=this._postProcessDefines,e.textureFormat=this._textureFormat,e.vertexUrl=this._vertexUrl,e.indexParameters=this._indexParameters,e}clone(){let e=this.serialize();e._engine=this._engine,e.cameraId=null;let t=$.Parse(e,this._scene,"");return t?(t.onActivateObservable=this.onActivateObservable.clone(),t.onSizeChangedObservable=this.onSizeChangedObservable.clone(),t.onApplyObservable=this.onApplyObservable.clone(),t.onBeforeRenderObservable=this.onBeforeRenderObservable.clone(),t.onAfterRenderObservable=this.onAfterRenderObservable.clone(),t._prePassEffectConfiguration=this._prePassEffectConfiguration,t):null}static Parse(e,t,s){let r=(0,en.GetClass)(e.customType);if(!r||!r._Parse)return null;let i=t?t.getCameraById(e.cameraId):null;return r._Parse(e,i,t,s)}static _Parse(e,t,s,r){return ea.SerializationHelper.Parse(()=>new $(e.name,e.fragmentUrl,e.parameters,e.samplers,e.options,t,e.renderTargetSamplingMode,e._engine,e.reusable,e.defines,e.textureType,e.vertexUrl,e.indexParameters,!1,e.textureFormat),e,s,r)}},q="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0,t=[(0,ei.serialize)()],s=[(0,ei.serialize)()],r=[(0,ei.serialize)()],i=[(0,ei.serialize)()],a=[(0,ei.serialize)()],n=[(0,ei.serializeAsColor4)()],l=[(0,ei.serialize)()],h=[(0,ei.serialize)()],o=[(0,ei.serialize)()],u=[(0,ei.serialize)()],c=[(0,ei.serialize)()],p=[(0,ei.serialize)()],d=[(0,ei.serialize)()],_=[(0,ei.serialize)()],f=[(0,ei.serialize)("samples")],g=[(0,ei.serialize)()],(0,Q.__esDecorate)($,null,s,{kind:"getter",name:"name",static:!1,private:!1,access:{has:e=>"name"in e,get:e=>e.name},metadata:q},null,m),(0,Q.__esDecorate)($,null,o,{kind:"getter",name:"alphaMode",static:!1,private:!1,access:{has:e=>"alphaMode"in e,get:e=>e.alphaMode},metadata:q},null,m),(0,Q.__esDecorate)(null,null,t,{kind:"field",name:"uniqueId",static:!1,private:!1,access:{has:e=>"uniqueId"in e,get:e=>e.uniqueId,set:(e,t)=>{e.uniqueId=t}},metadata:q},b,x),(0,Q.__esDecorate)(null,null,r,{kind:"field",name:"width",static:!1,private:!1,access:{has:e=>"width"in e,get:e=>e.width,set:(e,t)=>{e.width=t}},metadata:q},P,T),(0,Q.__esDecorate)(null,null,i,{kind:"field",name:"height",static:!1,private:!1,access:{has:e=>"height"in e,get:e=>e.height,set:(e,t)=>{e.height=t}},metadata:q},O,v),(0,Q.__esDecorate)(null,null,a,{kind:"field",name:"renderTargetSamplingMode",static:!1,private:!1,access:{has:e=>"renderTargetSamplingMode"in e,get:e=>e.renderTargetSamplingMode,set:(e,t)=>{e.renderTargetSamplingMode=t}},metadata:q},C,S),(0,Q.__esDecorate)(null,null,n,{kind:"field",name:"clearColor",static:!1,private:!1,access:{has:e=>"clearColor"in e,get:e=>e.clearColor,set:(e,t)=>{e.clearColor=t}},metadata:q},y,w),(0,Q.__esDecorate)(null,null,l,{kind:"field",name:"autoClear",static:!1,private:!1,access:{has:e=>"autoClear"in e,get:e=>e.autoClear,set:(e,t)=>{e.autoClear=t}},metadata:q},A,I),(0,Q.__esDecorate)(null,null,h,{kind:"field",name:"forceAutoClearInAlphaMode",static:!1,private:!1,access:{has:e=>"forceAutoClearInAlphaMode"in e,get:e=>e.forceAutoClearInAlphaMode,set:(e,t)=>{e.forceAutoClearInAlphaMode=t}},metadata:q},z,R),(0,Q.__esDecorate)(null,null,u,{kind:"field",name:"alphaConstants",static:!1,private:!1,access:{has:e=>"alphaConstants"in e,get:e=>e.alphaConstants,set:(e,t)=>{e.alphaConstants=t}},metadata:q},E,W),(0,Q.__esDecorate)(null,null,c,{kind:"field",name:"enablePixelPerfectMode",static:!1,private:!1,access:{has:e=>"enablePixelPerfectMode"in e,get:e=>e.enablePixelPerfectMode,set:(e,t)=>{e.enablePixelPerfectMode=t}},metadata:q},F,M),(0,Q.__esDecorate)(null,null,p,{kind:"field",name:"forceFullscreenViewport",static:!1,private:!1,access:{has:e=>"forceFullscreenViewport"in e,get:e=>e.forceFullscreenViewport,set:(e,t)=>{e.forceFullscreenViewport=t}},metadata:q},D,B),(0,Q.__esDecorate)(null,null,d,{kind:"field",name:"scaleMode",static:!1,private:!1,access:{has:e=>"scaleMode"in e,get:e=>e.scaleMode,set:(e,t)=>{e.scaleMode=t}},metadata:q},k,U),(0,Q.__esDecorate)(null,null,_,{kind:"field",name:"alwaysForcePOT",static:!1,private:!1,access:{has:e=>"alwaysForcePOT"in e,get:e=>e.alwaysForcePOT,set:(e,t)=>{e.alwaysForcePOT=t}},metadata:q},G,V),(0,Q.__esDecorate)(null,null,f,{kind:"field",name:"_samples",static:!1,private:!1,access:{has:e=>"_samples"in e,get:e=>e._samples,set:(e,t)=>{e._samples=t}},metadata:q},L,N),(0,Q.__esDecorate)(null,null,g,{kind:"field",name:"adaptScaleToCurrentViewport",static:!1,private:!1,access:{has:e=>"adaptScaleToCurrentViewport"in e,get:e=>e.adaptScaleToCurrentViewport,set:(e,t)=>{e.adaptScaleToCurrentViewport=t}},metadata:q},H,j),q&&Object.defineProperty($,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:q}),$),ec=!1;e.s(["PostProcess",0,eu],62575);var ep=e.i(20363),ed=e.i(69133),e_=eo,ef=e.i(23003);class eg extends e_.EffectWrapper{_gatherImports(t,s){t?(this._webGPUReady=!0,s.push(Promise.all([e.A(77151)]))):s.push(Promise.all([e.A(34796)])),super._gatherImports(t,s)}constructor(e,t=null,s){const r={name:e,engine:t||ef.EngineStore.LastCreatedEngine,useShaderStore:!0,useAsPostProcess:!0,fragmentShader:eg.FragmentUrl,...s};r.engine||(r.engine=ef.EngineStore.LastCreatedEngine),super(r)}}eg.FragmentUrl="pass";class em extends e_.EffectWrapper{_gatherImports(t,s){t?(this._webGPUReady=!0,s.push(Promise.all([e.A(58869)]))):s.push(Promise.all([e.A(62237)])),super._gatherImports(t,s)}constructor(e,t=null,s){super({...s,name:e,engine:t||ef.EngineStore.LastCreatedEngine,useShaderStore:!0,useAsPostProcess:!0,fragmentShader:em.FragmentUrl,defines:"#define POSITIVEX"}),this._face=0}get face(){return this._face}set face(e){if(!(e<0)&&!(e>5))switch(this._face=e,this._face){case 0:this.updateEffect("#define POSITIVEX");break;case 1:this.updateEffect("#define NEGATIVEX");break;case 2:this.updateEffect("#define POSITIVEY");break;case 3:this.updateEffect("#define NEGATIVEY");break;case 4:this.updateEffect("#define POSITIVEZ");break;case 5:this.updateEffect("#define NEGATIVEZ")}}}em.FragmentUrl="passCube";X=eu,Z=[],J=class extends X{get face(){return this._effectWrapper.face}set face(e){this._effectWrapper.face=e}getClassName(){return"PassCubePostProcess"}constructor(e,t,s=null,r,i,a,n=0,l=!1){const h={size:"number"==typeof t?t:void 0,camera:s,samplingMode:r,engine:i,reusable:a,textureType:n,blockCompilation:l,...t};super(e,eg.FragmentUrl,{effectWrapper:"number"!=typeof t&&t.effectWrapper?void 0:new em(e,i,h),...h}),(0,Q.__runInitializers)(this,Z)}static _Parse(e,t,s,r){return ea.SerializationHelper.Parse(()=>new J(e.name,e.options,t,e.renderTargetSamplingMode,e._engine,e.reusable),e,s,r)}},K="function"==typeof Symbol&&Symbol.metadata?Object.create(X[Symbol.metadata]??null):void 0,Y=[(0,ei.serialize)()],(0,Q.__esDecorate)(J,null,Y,{kind:"getter",name:"face",static:!1,private:!1,access:{has:e=>"face"in e,get:e=>e.face},metadata:K},null,Z),K&&Object.defineProperty(J,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:K}),e.i(63235);var eb=e.i(6563);eb.ToHalfFloat,eb.FromHalfFloat,e.s(["RGBDTextureTools",0,class{static ExpandRGBDTexture(t){let s=t._texture;if(!s||!t.isRGBD)return;let r=s.getEngine(),i=r.getCaps(),a=s.isReady,n=!1;i.textureHalfFloatRender&&i.textureHalfFloatLinearFiltering?(n=!0,s.type=2):i.textureFloatRender&&i.textureFloatLinearFiltering&&(n=!0,s.type=1),n&&(s.isReady=!1,s._isRGBD=!1,s.invertY=!1);let l=async()=>{let i=r.isWebGPU;s.isReady=!1,i?await e.A(18585):await e.A(94589);let a=new eu("rgbdDecode","rgbdDecode",null,null,1,null,3,r,!1,void 0,s.type,void 0,null,!1,void 0,+!!i);a.externalTextureSamplerBinding=!0;let n=r.createRenderTargetTexture(s.width,{generateDepthBuffer:!1,generateMipMaps:!1,generateStencilBuffer:!1,samplingMode:s.samplingMode,type:s.type,format:5});a.onEffectCreatedObservable.addOnce(e=>{e.executeWhenCompiled(()=>{a.onApply=e=>{e._bindTexture("textureSampler",s),e.setFloat2("scale",1,1)},t.getScene()?.postProcessManager.directRender([a],n,!0),r.restoreDefaultFramebuffer(),r._releaseTexture(s),a&&a.dispose(),n._swapAndDie(s),s.isReady=!0})})};n&&(a?l():t.onLoadObservable.addOnce(l))}static async EncodeTextureToRGBD(t,s,r=0){var i,a,n,l,h;let o;return s.getEngine().isWebGPU?await e.A(96401):await e.A(85357),await (i=r,a=1,n=5,o=t.getEngine(),t.isReady=!1,a=a??t.samplingMode,i=i??t.type,n=n??t.format,l=l??t.width,h=h??t.height,-1===i&&(i=0),new Promise(e=>{let r=new eu("postprocess","rgbdEncode",null,null,1,null,a,o,!1,void 0,i,void 0,null,!1,n);r.externalTextureSamplerBinding=!0;let u=o.createRenderTargetTexture({width:l,height:h},{generateDepthBuffer:!1,generateMipMaps:!1,generateStencilBuffer:!1,samplingMode:a,type:i,format:n});r.onEffectCreatedObservable.addOnce(a=>{a.executeWhenCompiled(()=>{r.onApply=e=>{e._bindTexture("textureSampler",t),e.setFloat2("scale",1,1)},s.postProcessManager.directRender([r],u,!0),o.restoreDefaultFramebuffer(),o._releaseTexture(t),r&&r.dispose(),u._swapAndDie(t),t.type=i,t.format=5,t.isReady=!0,e(t)})})}))}}],48747)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,47150,e=>{"use strict";class s{static GetShadersRepository(e=0){return 0===e?s.ShadersRepository:s.ShadersRepositoryWGSL}static GetShadersStore(e=0){return 0===e?s.ShadersStore:s.ShadersStoreWGSL}static GetIncludesShadersStore(e=0){return 0===e?s.IncludesShadersStore:s.IncludesShadersStoreWGSL}}s.ShadersRepository="src/Shaders/",s.ShadersStore={},s.IncludesShadersStore={},s.ShadersRepositoryWGSL="src/ShadersWGSL/",s.ShadersStoreWGSL={},s.IncludesShadersStoreWGSL={},e.s(["ShaderStore",0,s])},60837,e=>{"use strict";(0,e.i(64831).RegisterMesh)(),e.s([])},39703,e=>{"use strict";e.i(60837);var s=e.i(64831);e.s(["Mesh",()=>s.Mesh,"RegisterMesh",()=>s.RegisterMesh,"_CreationDataStorage",()=>s._CreationDataStorage,"_InstancesBatch",()=>s._InstancesBatch])},5742,e=>{e.v(s=>Promise.all(["static/chunks/0rykrf_vofbad.js"].map(s=>e.l(s))).then(()=>s(12838)))}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,75411,e=>{"use strict";var t=e.i(16347);function r(e){let t=0;return{id_length:e[t++],colormap_type:e[t++],image_type:e[t++],colormap_index:e[t++]|e[t++]<<8,colormap_length:e[t++]|e[t++]<<8,colormap_size:e[t++],origin:[e[t++]|e[t++]<<8,e[t++]|e[t++]<<8],width:e[t++]|e[t++]<<8,height:e[t++]|e[t++]<<8,pixel_size:e[t++],flags:e[t]}}function i(e,i){let o,n,h,l,g,s,c,f;if(i.length<19)return void t.Logger.Error("Unable to load TGA file - Not enough data to contain header");let u=18,d=r(i);if(d.id_length+u>i.length)return void t.Logger.Error("Unable to load TGA file - Not enough data");u+=d.id_length;let w=!1,b=!1,_=!1;switch(d.image_type){case 9:w=!0;case 1:b=!0;break;case 10:w=!0;case 2:break;case 11:w=!0;case 3:_=!0}let p=d.pixel_size>>3,y=d.width*d.height*p;if(b&&(n=i.subarray(u,u+=d.colormap_length*(d.colormap_size>>3))),w){let e,t,r;o=new Uint8Array(y);let a=0,n=new Uint8Array(p);for(;u<y&&a<y;)if(t=(127&(e=i[u++]))+1,128&e){for(r=0;r<p;++r)n[r]=i[u++];for(r=0;r<t;++r)o.set(n,a+r*p);a+=p*t}else{for(t*=p,r=0;r<t;++r)o[a+r]=i[u++];a+=t}}else o=i.subarray(u,u+(b?d.width*d.height:y));switch((48&d.flags)>>4){default:case 2:h=0,g=1,f=d.width,l=0,s=1,c=d.height;break;case 0:h=0,g=1,f=d.width,l=d.height-1,s=-1,c=-1;break;case 3:h=d.width-1,g=-1,f=-1,l=0,s=1,c=d.height;break;case 1:h=d.width-1,g=-1,f=-1,l=d.height-1,s=-1,c=-1}let m=a["_getImageData"+(_?"Grey":"")+d.pixel_size+"bits"](d,n,o,l,s,c,h,g,f);e.getEngine()._uploadDataToTextureDirectly(e,m)}let a={GetTGAHeader:r,UploadContent:i,_getImageData8bits:function(e,t,r,i,a,o,n,h,l){let g=e.width,s=e.height,c,f=0,u,d,w=new Uint8Array(g*s*4);for(d=i;d!==o;d+=a)for(u=n;u!==l;u+=h,f++)c=r[f],w[(u+g*d)*4+3]=255,w[(u+g*d)*4+2]=t[3*c+0],w[(u+g*d)*4+1]=t[3*c+1],w[(u+g*d)*4+0]=t[3*c+2];return w},_getImageData16bits:function(e,t,r,i,a,o,n,h,l){let g=e.width,s=e.height,c,f=0,u,d,w=new Uint8Array(g*s*4);for(d=i;d!==o;d+=a)for(u=n;u!==l;u+=h,f+=2){let e=((31744&(c=r[f+0]+(r[f+1]<<8)))>>10)*255/31|0,t=((992&c)>>5)*255/31|0,i=(31&c)*255/31|0;w[(u+g*d)*4+0]=e,w[(u+g*d)*4+1]=t,w[(u+g*d)*4+2]=i,w[(u+g*d)*4+3]=32768&c?0:255}return w},_getImageData24bits:function(e,t,r,i,a,o,n,h,l){let g=e.width,s=e.height,c=0,f,u,d=new Uint8Array(g*s*4);for(u=i;u!==o;u+=a)for(f=n;f!==l;f+=h,c+=3)d[(f+g*u)*4+3]=255,d[(f+g*u)*4+2]=r[c+0],d[(f+g*u)*4+1]=r[c+1],d[(f+g*u)*4+0]=r[c+2];return d},_getImageData32bits:function(e,t,r,i,a,o,n,h,l){let g=e.width,s=e.height,c=0,f,u,d=new Uint8Array(g*s*4);for(u=i;u!==o;u+=a)for(f=n;f!==l;f+=h,c+=4)d[(f+g*u)*4+2]=r[c+0],d[(f+g*u)*4+1]=r[c+1],d[(f+g*u)*4+0]=r[c+2],d[(f+g*u)*4+3]=r[c+3];return d},_getImageDataGrey8bits:function(e,t,r,i,a,o,n,h,l){let g=e.width,s=e.height,c,f=0,u,d,w=new Uint8Array(g*s*4);for(d=i;d!==o;d+=a)for(u=n;u!==l;u+=h,f++)c=r[f],w[(u+g*d)*4+0]=c,w[(u+g*d)*4+1]=c,w[(u+g*d)*4+2]=c,w[(u+g*d)*4+3]=255;return w},_getImageDataGrey16bits:function(e,t,r,i,a,o,n,h,l){let g=e.width,s=e.height,c=0,f,u,d=new Uint8Array(g*s*4);for(u=i;u!==o;u+=a)for(f=n;f!==l;f+=h,c+=2)d[(f+g*u)*4+0]=r[c+0],d[(f+g*u)*4+1]=r[c+0],d[(f+g*u)*4+2]=r[c+0],d[(f+g*u)*4+3]=r[c+1];return d}};e.s(["_TGATextureLoader",0,class{constructor(){this.supportCascades=!1}loadCubeData(){throw".env not supported in Cube."}loadData(e,t,a){let o=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),n=r(o);a(n.width,n.height,t.generateMipMaps,!1,()=>{i(t,o)})}}],75411)}]);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,57487,70402,e=>{"use strict";var f=e.i(47150);let i="clipPlaneFragmentDeclaration",o=`#ifdef CLIPPLANE
|
|
2
2
|
varying float fClipDistance;
|
|
3
3
|
#endif
|
|
4
4
|
#ifdef CLIPPLANE2
|
|
@@ -16,7 +16,7 @@ varying float fClipDistance5;
|
|
|
16
16
|
#ifdef CLIPPLANE6
|
|
17
17
|
varying float fClipDistance6;
|
|
18
18
|
#endif
|
|
19
|
-
`;f.ShaderStore.IncludesShadersStore[i]||(f.ShaderStore.IncludesShadersStore[i]=o),e.s(["clipPlaneFragmentDeclaration",0,{name:i,shader:o}],
|
|
19
|
+
`;f.ShaderStore.IncludesShadersStore[i]||(f.ShaderStore.IncludesShadersStore[i]=o),e.s(["clipPlaneFragmentDeclaration",0,{name:i,shader:o}],57487);let n="clipPlaneFragment",a=`#if defined(CLIPPLANE) || defined(CLIPPLANE2) || defined(CLIPPLANE3) || defined(CLIPPLANE4) || defined(CLIPPLANE5) || defined(CLIPPLANE6)
|
|
20
20
|
if (false) {}
|
|
21
21
|
#endif
|
|
22
22
|
#ifdef CLIPPLANE
|
|
@@ -43,7 +43,7 @@ else if (fClipDistance5>0.0)
|
|
|
43
43
|
else if (fClipDistance6>0.0)
|
|
44
44
|
{discard;}
|
|
45
45
|
#endif
|
|
46
|
-
`;f.ShaderStore.IncludesShadersStore[n]||(f.ShaderStore.IncludesShadersStore[n]=a),e.s(["clipPlaneFragment",0,{name:n,shader:a}],
|
|
46
|
+
`;f.ShaderStore.IncludesShadersStore[n]||(f.ShaderStore.IncludesShadersStore[n]=a),e.s(["clipPlaneFragment",0,{name:n,shader:a}],70402)},76578,2216,e=>{"use strict";var f=e.i(47150);let i="fogFragmentDeclaration",o=`#ifdef FOG
|
|
47
47
|
#define FOGMODE_NONE 0.
|
|
48
48
|
#define FOGMODE_EXP 1.
|
|
49
49
|
#define FOGMODE_EXP2 2.
|
|
@@ -58,14 +58,14 @@ else if (FOGMODE_EXP2==vFogInfos.x)
|
|
|
58
58
|
{fogCoeff=1.0/pow(E,fogDistance*fogDistance*fogDensity*fogDensity);}
|
|
59
59
|
return clamp(fogCoeff,0.0,1.0);}
|
|
60
60
|
#endif
|
|
61
|
-
`;f.ShaderStore.IncludesShadersStore[i]||(f.ShaderStore.IncludesShadersStore[i]=o),e.s(["fogFragmentDeclaration",0,{name:i,shader:o}],
|
|
61
|
+
`;f.ShaderStore.IncludesShadersStore[i]||(f.ShaderStore.IncludesShadersStore[i]=o),e.s(["fogFragmentDeclaration",0,{name:i,shader:o}],76578);let n="fogFragment",a=`#ifdef FOG
|
|
62
62
|
float fog=CalcFogFactor();
|
|
63
63
|
#ifdef PBR
|
|
64
64
|
fog=toLinearSpace(fog);
|
|
65
65
|
#endif
|
|
66
66
|
color.rgb=mix(vFogColor,color.rgb,fog);
|
|
67
67
|
#endif
|
|
68
|
-
`;f.ShaderStore.IncludesShadersStore[n]||(f.ShaderStore.IncludesShadersStore[n]=a),e.s(["fogFragment",0,{name:n,shader:a}],
|
|
68
|
+
`;f.ShaderStore.IncludesShadersStore[n]||(f.ShaderStore.IncludesShadersStore[n]=a),e.s(["fogFragment",0,{name:n,shader:a}],2216)},81088,e=>{"use strict";var f=e.i(47150),i=e.i(57487),o=e.i(76578),n=e.i(70402),a=e.i(2216);let r="colorPixelShader",d=`#if defined(VERTEXCOLOR) || defined(INSTANCESCOLOR) && defined(INSTANCES)
|
|
69
69
|
#define VERTEXCOLOR
|
|
70
70
|
varying vec4 vColor;
|
|
71
71
|
#else
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,8636,e=>{"use strict";var t,i,r=e.i(3864);class s{get wrapU(){return this._cachedWrapU}set wrapU(e){this._cachedWrapU=e}get wrapV(){return this._cachedWrapV}set wrapV(e){this._cachedWrapV=e}get wrapR(){return this._cachedWrapR}set wrapR(e){this._cachedWrapR=e}get anisotropicFilteringLevel(){return this._cachedAnisotropicFilteringLevel}set anisotropicFilteringLevel(e){this._cachedAnisotropicFilteringLevel=e}get comparisonFunction(){return this._comparisonFunction}set comparisonFunction(e){this._comparisonFunction=e}get useMipMaps(){return this._useMipMaps}set useMipMaps(e){this._useMipMaps=e}constructor(){this.samplingMode=-1,this._useMipMaps=!0,this._cachedWrapU=null,this._cachedWrapV=null,this._cachedWrapR=null,this._cachedAnisotropicFilteringLevel=null,this._comparisonFunction=0}setParameters(e=1,t=1,i=1,r=1,s=2,a=0){return this._cachedWrapU=e,this._cachedWrapV=t,this._cachedWrapR=i,this._cachedAnisotropicFilteringLevel=r,this.samplingMode=s,this._comparisonFunction=a,this}compareSampler(e){return this._cachedWrapU===e._cachedWrapU&&this._cachedWrapV===e._cachedWrapV&&this._cachedWrapR===e._cachedWrapR&&this._cachedAnisotropicFilteringLevel===e._cachedAnisotropicFilteringLevel&&this.samplingMode===e.samplingMode&&this._comparisonFunction===e._comparisonFunction&&this._useMipMaps===e._useMipMaps}}(t=i||(i={}))[t.Unknown=0]="Unknown",t[t.Url=1]="Url",t[t.Temp=2]="Temp",t[t.Raw=3]="Raw",t[t.Dynamic=4]="Dynamic",t[t.RenderTarget=5]="RenderTarget",t[t.MultiRenderTarget=6]="MultiRenderTarget",t[t.Cube=7]="Cube",t[t.CubeRaw=8]="CubeRaw",t[t.CubePrefiltered=9]="CubePrefiltered",t[t.Raw3D=10]="Raw3D",t[t.Raw2DArray=11]="Raw2DArray",t[t.DepthStencil=12]="DepthStencil",t[t.CubeRawRGBD=13]="CubeRawRGBD",t[t.Depth=14]="Depth",t[t.External=15]="External";class a extends s{get useMipMaps(){return null===this._useMipMaps?this.generateMipMaps:this._useMipMaps}set useMipMaps(e){this._useMipMaps=e}get uniqueId(){return this._uniqueId}_setUniqueId(e){this._uniqueId=e}getEngine(){return this._engine}get source(){return this._source}constructor(e,t,i=!1){super(),this.isReady=!1,this.isCube=!1,this.is3D=!1,this.is2DArray=!1,this.isMultiview=!1,this.url="",this.generateMipMaps=!1,this._useMipMaps=null,this.mipLevelCount=1,this.samples=0,this.type=-1,this.format=-1,this.onLoadedObservable=new r.Observable,this.onErrorObservable=new r.Observable,this.onRebuildCallback=null,this.width=0,this.height=0,this.depth=0,this.baseWidth=0,this.baseHeight=0,this.baseDepth=0,this.invertY=!1,this._invertVScale=!1,this._associatedChannel=-1,this._source=0,this._buffer=null,this._bufferView=null,this._bufferViewArray=null,this._bufferViewArrayArray=null,this._size=0,this._extension="",this._files=null,this._workingCanvas=null,this._workingContext=null,this._cachedCoordinatesMode=null,this._isDisabled=!1,this._compression=null,this._sphericalPolynomial=null,this._sphericalPolynomialPromise=null,this._sphericalPolynomialComputed=!1,this._lodGenerationScale=0,this._lodGenerationOffset=0,this._useSRGBBuffer=!1,this._creationFlags=0,this._lodTextureHigh=null,this._lodTextureMid=null,this._lodTextureLow=null,this._isRGBD=!1,this._linearSpecularLOD=!1,this._irradianceTexture=null,this._hardwareTexture=null,this._maxLodLevel=null,this._references=1,this._gammaSpace=null,this._premulAlpha=!1,this._dynamicTextureSource=null,this._autoMSAAManagement=!1,this._engine=e,this._source=t,this._uniqueId=a._Counter++,i||(this._hardwareTexture=e._createHardwareTexture())}incrementReferences(){this._references++}updateSize(e,t,i=1){this._engine.updateTextureDimensions(this,e,t,i),this.width=e,this.height=t,this.depth=i,this.baseWidth=e,this.baseHeight=t,this.baseDepth=i,this._size=e*t*i}_rebuild(){let e;if(this.isReady=!1,this._cachedCoordinatesMode=null,this._cachedWrapU=null,this._cachedWrapV=null,this._cachedWrapR=null,this._cachedAnisotropicFilteringLevel=null,this.onRebuildCallback){let e=this.onRebuildCallback(this),t=t=>{t._swapAndDie(this,!1),this.isReady=e.isReady};e.isAsync?e.proxy.then(t):t(e.proxy);return}switch(this.source){case 2:case 12:case 14:break;case 1:e=this._engine.createTexture(this._originalUrl??this.url,!this.generateMipMaps,this.invertY,null,this.samplingMode,e=>{e._swapAndDie(this,!1),this.isReady=!0},null,this._buffer,void 0,this.format,this._extension,void 0,void 0,void 0,this._useSRGBBuffer);return;case 3:if((e=this._engine.createRawTexture(this._bufferView,this.baseWidth,this.baseHeight,this.format,this.generateMipMaps,this.invertY,this.samplingMode,this._compression,this.type,this._creationFlags,this._useSRGBBuffer,this.mipLevelCount))._swapAndDie(this,!1),this._bufferViewArray)for(let e=0;e<this._bufferViewArray.length;e++){let t=this._bufferViewArray[e];t&&this._engine.updateRawTexture(this,t,this.format,this.invertY,this._compression,this.type,this._useSRGBBuffer,e)}this.isReady=!0;break;case 10:(e=this._engine.createRawTexture3D(this._bufferView,this.baseWidth,this.baseHeight,this.baseDepth,this.format,this.generateMipMaps,this.invertY,this.samplingMode,this._compression,this.type))._swapAndDie(this,!1),this.isReady=!0;break;case 11:if((e=this._engine.createRawTexture2DArray(this._bufferView,this.baseWidth,this.baseHeight,this.baseDepth,this.format,this.generateMipMaps,this.invertY,this.samplingMode,this._compression,this.type,this._creationFlags,this.mipLevelCount))._swapAndDie(this,!1),this._bufferViewArray)for(let e=0;e<this._bufferViewArray.length;e++){let t=this._bufferViewArray[e];t&&this._engine.updateRawTexture2DArray(this,t,this.format,this.invertY,this._compression,this.type,e)}this.isReady=!0;break;case 4:(e=this._engine.createDynamicTexture(this.baseWidth,this.baseHeight,this.generateMipMaps,this.samplingMode))._swapAndDie(this,!1),this._dynamicTextureSource&&this._engine.updateDynamicTexture(this,this._dynamicTextureSource,this.invertY,this._premulAlpha,this.format,!0);break;case 7:e=this._engine.createCubeTexture(this.url,null,this._files,!this.generateMipMaps,()=>{e._swapAndDie(this,!1),this.isReady=!0},null,this.format,this._extension,!1,0,0,null,void 0,this._useSRGBBuffer,ArrayBuffer.isView(this._buffer)?this._buffer:null);return;case 8:(e=this._engine.createRawCubeTexture(this._bufferViewArray,this.width,this._originalFormat??this.format,this.type,this.generateMipMaps,this.invertY,this.samplingMode,this._compression))._swapAndDie(this,!1),this.isReady=!0;break;case 13:return;case 9:(e=this._engine.createPrefilteredCubeTexture(this.url,null,this._lodGenerationScale,this._lodGenerationOffset,e=>{e&&e._swapAndDie(this,!1),this.isReady=!0},null,this.format,this._extension))._sphericalPolynomial=this._sphericalPolynomial;return}}_swapAndDie(e,t=!0){this._hardwareTexture?.setUsage(e._source,this.generateMipMaps,this.is2DArray,this.isCube,this.is3D,this.width,this.height,this.depth),e._hardwareTexture=this._hardwareTexture,e._setUniqueId(a._Counter++),t&&(e._isRGBD=this._isRGBD),this._lodTextureHigh&&(e._lodTextureHigh&&e._lodTextureHigh.dispose(),e._lodTextureHigh=this._lodTextureHigh),this._lodTextureMid&&(e._lodTextureMid&&e._lodTextureMid.dispose(),e._lodTextureMid=this._lodTextureMid),this._lodTextureLow&&(e._lodTextureLow&&e._lodTextureLow.dispose(),e._lodTextureLow=this._lodTextureLow),this._irradianceTexture&&(e._irradianceTexture&&e._irradianceTexture.dispose(),e._irradianceTexture=this._irradianceTexture);let i=this._engine.getLoadedTexturesCache(),r=i.indexOf(this);-1!==r&&i.splice(r,1),-1===(r=i.indexOf(e))&&i.push(e)}dispose(){this._references--,0===this._references&&(this.onLoadedObservable.clear(),this.onErrorObservable.clear(),this._engine._releaseTexture(this),this._hardwareTexture=null,this._dynamicTextureSource=null)}}a._Counter=0,e.s(["InternalTexture",0,a],8636)},57575,4120,9855,e=>{"use strict";let t;"function"==typeof SuppressedError&&SuppressedError,e.s(["__classPrivateFieldGet",0,function(e,t,i,r){if("a"===i&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?r:"a"===i?r.call(e):r?r.value:t.get(e)},"__classPrivateFieldSet",0,function(e,t,i,r,s){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!s)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!s:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?s.call(e,i):s?s.value=i:t.set(e,i),i},"__esDecorate",0,function(e,t,i,r,s,a){function n(e){if(void 0!==e&&"function"!=typeof e)throw TypeError("Function expected");return e}for(var o,l=r.kind,h="getter"===l?"get":"setter"===l?"set":"value",u=!t&&e?r.static?e:e.prototype:null,c=t||(u?Object.getOwnPropertyDescriptor(u,r.name):{}),d=!1,p=i.length-1;p>=0;p--){var _={};for(var f in r)_[f]="access"===f?{}:r[f];for(var f in r.access)_.access[f]=r.access[f];_.addInitializer=function(e){if(d)throw TypeError("Cannot add initializers after decoration has completed");a.push(n(e||null))};var m=(0,i[p])("accessor"===l?{get:c.get,set:c.set}:c[h],_);if("accessor"===l){if(void 0===m)continue;if(null===m||"object"!=typeof m)throw TypeError("Object expected");(o=n(m.get))&&(c.get=o),(o=n(m.set))&&(c.set=o),(o=n(m.init))&&s.unshift(o)}else(o=n(m))&&("field"===l?s.unshift(o):c[h]=o)}u&&Object.defineProperty(u,r.name,c),d=!0},"__runInitializers",0,function(e,t,i){for(var r=arguments.length>2,s=0;s<t.length;s++)i=r?t[s].call(e,i):t[s].call(e);return r?i:void 0}],57575);let i="__bjs_serializable__",r=new WeakMap;function s(e,t){return Object.prototype.hasOwnProperty.call(e,t)}let a=((t=Symbol.metadata)||Object.defineProperty(Symbol,"metadata",{configurable:!0,writable:!0,value:t=Symbol("Symbol.metadata")}),t);function n(e){if(!e)throw Error(`Decorator metadata is unavailable; the Symbol.metadata (${String(a)}) polyfill must run before decorated classes are evaluated.`);return s(e,i)||(e[i]={}),e[i]}function o(e,t){return(i,r)=>{if(!r.metadata)return;let s=String(r.name),a=n(r.metadata);a[s]||(a[s]={type:e,sourceName:t})}}function l(e,t,i){let r=String(t.name),s=null,a=function(...n){if(null===s){s=e,"u">typeof _native&&_native[r]&&(s=i(_native[r],e));let n=this&&(t.static?this:Object.getPrototypeOf(this));n?.[r]===a&&(n[r]=s)}return s.apply(this,n)};return a}function h(e,t){return l(e,t,e=>e)}e.s(["GetDirectStoreFromMetadata",0,n,"GetMergedStore",0,function(e){let t="function"==typeof e?e:e?.constructor,n=t?t[a]:void 0;if(!n)return{};let o=r.get(n);if(o)return o;let l={},h=[],u=n;for(;u;)h.push(u),u=Object.getPrototypeOf(u);for(let e of h)if(s(e,i)){let t=e[i];for(let e in t)l[e]=t[e]}return r.set(n,l),l}],4120),h.filter=function(e){return(t,i)=>l(t,i,(t,i)=>function(...r){return e(...r)?t(...r):i.apply(this,r)})},e.s(["addAccessorsForMaterialProperty",0,function(e,t=null){return(i,r)=>{let s=t||"_"+String(r.name);return{get(){return this[s]?.value},set(t){"function"==typeof this[s]?.value?.equals&&this[s].value.equals(t)||this[s].value!==t&&(this[s].value=t,this[e]())}}}},"expandToProperty",0,function(e,t=null){return function(e,t=null){return(i,r)=>{let s=t||"_"+String(r.name);return{init(e){return void 0===e&&s in this||(this[s]=e),e},get(){return this[s]},set(t){"function"==typeof this[s]?.equals&&this[s].equals(t)||this[s]!==t&&(this[s]=t,this[e]())}}}}(e,t)},"nativeOverride",0,h,"serialize",0,function(e){return o(0,e)},"serializeAsColor3",0,function(e){return o(2,e)},"serializeAsColor4",0,function(e){return o(8,e)},"serializeAsColorCurves",0,function(e){return o(7,e)},"serializeAsFresnelParameters",0,function(e){return o(3,e)},"serializeAsMatrix",0,function(e){return o(12,e)},"serializeAsMeshReference",0,function(e){return o(6,e)},"serializeAsQuaternion",0,function(e){return o(10,e)},"serializeAsTexture",0,function(e){return o(1,e)},"serializeAsVector2",0,function(e){return o(4,e)},"serializeAsVector3",0,function(e){return o(5,e)}],9855)},2060,77090,e=>{"use strict";var t=e.i(85050);class i{static Eval(e,t){return"true"===(e=e.match(/\([^()]*\)/g)?e.replace(/\([^()]*\)/g,e=>(e=e.slice(1,e.length-1),i._HandleParenthesisContent(e,t))):i._HandleParenthesisContent(e,t))||"false"!==e&&i.Eval(e,t)}static _HandleParenthesisContent(e,t){let r;t=t||(e=>"true"===e);let s=e.split("||");for(let e in s)if(Object.prototype.hasOwnProperty.call(s,e)){let a=i._SimplifyNegation(s[e].trim()),n=a.split("&&");if(n.length>1)for(let e=0;e<n.length;++e){let s=i._SimplifyNegation(n[e].trim());if(!(r="true"!==s&&"false"!==s?"!"===s[0]?!t(s.substring(1)):t(s):"true"===s)){a="false";break}}if(r||"true"===a){r=!0;break}r="true"!==a&&"false"!==a?"!"===a[0]?!t(a.substring(1)):t(a):"true"===a}return r?"true":"false"}static _SimplifyNegation(e){return"!true"===(e=(e=e.replace(/^[\s!]+/,e=>(e=e.replace(/[\s]/g,()=>"")).length%2?"!":"")).trim())?e="false":"!false"===e&&(e="true"),e}}class r{static EnableFor(e){e._tags=e._tags||{},e.hasTags=()=>r.HasTags(e),e.addTags=t=>r.AddTagsTo(e,t),e.removeTags=t=>r.RemoveTagsFrom(e,t),e.matchesTagsQuery=t=>r.MatchesQuery(e,t)}static DisableFor(e){delete e._tags,delete e.hasTags,delete e.addTags,delete e.removeTags,delete e.matchesTagsQuery}static HasTags(e){if(!e._tags)return!1;let t=e._tags;for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e))return!0;return!1}static GetTags(e,t=!0){if(!e._tags)return null;if(!t)return e._tags;{let t=[];for(let i in e._tags)Object.prototype.hasOwnProperty.call(e._tags,i)&&!0===e._tags[i]&&t.push(i);return t.join(" ")}}static AddTagsTo(e,t){if(t&&"string"==typeof t)for(let i of t.split(" "))r._AddTagTo(e,i)}static _AddTagTo(e,t){""===(t=t.trim())||"true"===t||"false"===t||t.match(/[\s]/)||t.match(/^([!]|([|]|[&]){2})/)||(r.EnableFor(e),e._tags[t]=!0)}static RemoveTagsFrom(e,t){if(!r.HasTags(e))return;let i=t.split(" ");for(let t in i)r._RemoveTagFrom(e,i[t])}static _RemoveTagFrom(e,t){delete e._tags[t]}static MatchesQuery(e,t){return void 0===t||(""===t?r.HasTags(e):i.Eval(t,t=>r.HasTags(e)&&e._tags[t]))}}e.s(["Tags",0,r],77090);var s=e.i(19919),a=e.i(69400),n=e.i(4120);let o=function(e,t,i,s={}){let a=e();r&&r.HasTags(t)&&r.AddTagsTo(a,r.GetTags(t,!0));let o=(0,n.GetMergedStore)(a),h={};for(let e in o){let r=o[e],n=t[e],u=r.type;if(null!=n&&("uniqueId"!==e||l.AllowLoadingUniqueId))switch(u){case 0:case 6:case 9:case 11:"function"==typeof n.slice?a[e]=n.slice():a[e]=n;break;case 1:s.cloneTexturesOnlyOnce&&h[n.uniqueId]?a[e]=h[n.uniqueId]:(a[e]=i||n.isRenderTarget?n:n.clone(),h[n.uniqueId]=a[e]);break;case 2:case 3:case 4:case 5:case 7:case 8:case 10:case 12:case 13:a[e]=i?n:n.clone()}}return a};class l{static AppendSerializedAnimations(e,t){if(e.animations){t.animations=[];for(let i=0;i<e.animations.length;i++){let r=e.animations[i];t.animations.push(r.serialize())}}}static Serialize(e,t){t||(t={}),r&&(t.tags=r.GetTags(e));let i=(0,n.GetMergedStore)(e);for(let r in i){let s=i[r],a=s.sourceName||r,n=s.type,o=e[r];if(null!=o&&("uniqueId"!==r||l.AllowLoadingUniqueId))switch(n){case 0:Array.isArray(o)?t[a]=o.slice():t[a]=o;break;case 1:case 3:case 7:case 9:t[a]=o.serialize();break;case 2:case 4:case 5:case 8:case 10:case 12:case 13:t[a]=o.asArray();break;case 6:case 11:t[a]=o.id}}return t}static ParseProperties(e,t,i,r){r||(r="");let o=(0,n.GetMergedStore)(t);for(let n in o){let h=o[n],u=e[h.sourceName||n],c=h.type;if(null!=u&&("uniqueId"!==n||l.AllowLoadingUniqueId))switch(c){case 0:t[n]=u;break;case 1:i&&(t[n]=l._TextureParser(u,i,r));break;case 2:t[n]=s.Color3.FromArray(u);break;case 3:t[n]=l._FresnelParametersParser(u);break;case 4:t[n]=a.Vector2.FromArray(u);break;case 5:t[n]=a.Vector3.FromArray(u);break;case 6:i&&(t[n]=i.getLastMeshById(u));break;case 7:t[n]=l._ColorCurvesParser(u);break;case 8:t[n]=s.Color4.FromArray(u);break;case 9:t[n]=l._ImageProcessingConfigurationParser(u);break;case 10:t[n]=a.Quaternion.FromArray(u);break;case 11:i&&(t[n]=i.getCameraById(u));break;case 12:t[n]=a.Matrix.FromArray(u);break;case 13:t[n]=a.Vector4.FromArray(u)}}}static Parse(e,t,i,s=null){let a=e();return r&&r.AddTagsTo(a,t.tags),l.ParseProperties(t,a,i,s),a}static Clone(e,t,i={}){return o(e,t,!1,i)}static Instanciate(e,t){return o(e,t,!0)}}l.AllowLoadingUniqueId=!1,l._ImageProcessingConfigurationParser=e=>{throw(0,t._WarnImport)("ImageProcessingConfiguration")},l._FresnelParametersParser=e=>{throw(0,t._WarnImport)("FresnelParameters")},l._ColorCurvesParser=e=>{throw(0,t._WarnImport)("ColorCurves")},l._TextureParser=(e,i,r)=>{throw(0,t._WarnImport)("Texture")},e.s(["SerializationHelper",0,l],2060)},96042,e=>{"use strict";var t=e.i(69400);class i{constructor(e,i,r,s){this.normal=new t.Vector3(e,i,r),this.d=s}asArray(){return[this.normal.x,this.normal.y,this.normal.z,this.d]}clone(){return new i(this.normal.x,this.normal.y,this.normal.z,this.d)}getClassName(){return"Plane"}getHashCode(){let e=this.normal.getHashCode();return 397*e^this.d}normalize(){let e=Math.sqrt(this.normal.x*this.normal.x+this.normal.y*this.normal.y+this.normal.z*this.normal.z),t=0;return 0!==e&&(t=1/e),this.normal.x*=t,this.normal.y*=t,this.normal.z*=t,this.d*=t,this}transform(e){let t=i._TmpMatrix;e.invertToRef(t);let r=t.m,s=this.normal.x,a=this.normal.y,n=this.normal.z,o=this.d;return new i(s*r[0]+a*r[1]+n*r[2]+o*r[3],s*r[4]+a*r[5]+n*r[6]+o*r[7],s*r[8]+a*r[9]+n*r[10]+o*r[11],s*r[12]+a*r[13]+n*r[14]+o*r[15])}dotCoordinate(e){return this.normal.x*e.x+this.normal.y*e.y+this.normal.z*e.z+this.d}copyFromPoints(e,t,i){let r,s=t.x-e.x,a=t.y-e.y,n=t.z-e.z,o=i.x-e.x,l=i.y-e.y,h=i.z-e.z,u=a*h-n*l,c=n*o-s*h,d=s*l-a*o,p=Math.sqrt(u*u+c*c+d*d);return r=0!==p?1/p:0,this.normal.x=u*r,this.normal.y=c*r,this.normal.z=d*r,this.d=-(this.normal.x*e.x+this.normal.y*e.y+this.normal.z*e.z),this}isFrontFacingTo(e,i){return t.Vector3.Dot(this.normal,e)<=i}signedDistanceTo(e){return t.Vector3.Dot(e,this.normal)+this.d}static FromArray(e){return new i(e[0],e[1],e[2],e[3])}static FromPoints(e,t,r){let s=new i(0,0,0,0);return s.copyFromPoints(e,t,r),s}static FromPositionAndNormal(e,t){let r=new i(0,0,0,0);return this.FromPositionAndNormalToRef(e,t,r)}static FromPositionAndNormalToRef(e,t,i){return i.normal.copyFrom(t),i.normal.normalize(),i.d=-e.dot(i.normal),i}static SignedDistanceToPlaneFromPositionAndNormal(e,i,r){let s=-(i.x*e.x+i.y*e.y+i.z*e.z);return t.Vector3.Dot(r,i)+s}}i._TmpMatrix=t.Matrix.Identity(),e.s(["Plane",0,i])}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,67619,t=>{"use strict";class r{static SetMatrixPrecision(t){if(r.MatrixTrackPrecisionChange=!1,t&&!r.MatrixUse64Bits&&r.MatrixTrackedMatrices)for(let t=0;t<r.MatrixTrackedMatrices.length;++t){let e=r.MatrixTrackedMatrices[t],i=e._m;e._m=Array(16);for(let t=0;t<16;++t)e._m[t]=i[t]}r.MatrixUse64Bits=t,r.MatrixCurrentType=r.MatrixUse64Bits?Array:Float32Array,r.MatrixTrackedMatrices=null}}r.MatrixUse64Bits=!1,r.MatrixTrackPrecisionChange=!0,r.MatrixCurrentType=Float32Array,r.MatrixTrackedMatrices=[],t.s(["PerformanceConfigurator",0,r])},63235,t=>{"use strict";function r(t,e=0,i=1){return Math.min(i,Math.max(e,t))}function e(t,r){return t-Math.floor(t/r)*r}function i(t,r){let i=e(r-t,360);return i>180&&(i-=360),i}function s(t,r,e){return Math.abs(r-t)<=e?r:t+Math.sign(r-t)*e}t.s(["Clamp",0,r,"DeltaAngle",0,i,"Denormalize",0,function(t,r,e){return t*(e-r)+r},"ExtractAsInt",0,function(t){return parseInt(t.toString().replace(/\W/g,""))},"Hermite",0,function(t,r,e,i,s){let n=s*s,a=s*n;return t*(2*a-3*n+1)+e*(-2*a+3*n)+r*(a-2*n+s)+i*(a-n)},"Hermite1stDerivative",0,function(t,r,e,i,s){let n=s*s;return(n-s)*6*t+(3*n-4*s+1)*r+(-n+s)*6*e+(3*n-2*s)*i},"HighestCommonFactor",0,function t(r,e){let i=r%e;return 0===i?e:t(e,i)},"ILog2",0,function(t){if(Math.log2)return Math.floor(Math.log2(t));if(t<0)return NaN;if(0===t)return-1/0;let r=0;if(t<1){for(;t<1;)r++,t*=2;r=-r}else if(t>1)for(;t>1;)r++,t=Math.floor(t/2);return r},"InverseLerp",0,function(t,e,i){return t!=e?r((i-t)/(e-t)):0},"Lerp",0,function(t,r,e){return t+(r-t)*e},"LerpAngle",0,function(t,i,s){let n=e(i-t,360);return n>180&&(n-=360),t+n*r(s)},"MoveTowards",0,s,"MoveTowardsAngle",0,function(t,r,e){let n,a=i(t,r);return-e<a&&a<e?n=r:(r=t+a,n=s(t,r,e)),n},"Normalize",0,function(t,r,e){return(t-r)/(e-r)},"NormalizeRadians",0,function(t){return t-2*Math.PI*Math.floor((t+Math.PI)/(2*Math.PI))},"OutsideRange",0,function(t,r,e,i=1401298e-51){return t<r-i||t>e+i},"PercentToRange",0,function(t,r,e){return(e-r)*t+r},"PingPong",0,function(t,r){let i=e(t,2*r);return r-Math.abs(i-r)},"RandomRange",0,function(t,r){return t===r?t:Math.random()*(r-t)+t},"RangeToPercent",0,function(t,r,e){return(t-r)/(e-r)},"Repeat",0,e,"SmoothStep",0,function(t,e,i){let s=r(i);return e*(s=-2*s*s*s+3*s*s)+t*(1-s)},"ToHex",0,function(t){let r=t.toString(16);return t<=15?("0"+r).toUpperCase():r.toUpperCase()},"WithinEpsilon",0,function(t,r,e=1401298e-51){return Math.abs(t-r)<=e}])},23003,3864,t=>{"use strict";let r="u">typeof WeakRef;class e{constructor(t,r=!1,e,i){this.initialize(t,r,e,i)}initialize(t,r=!1,e,i){return this.mask=t,this.skipNextObservers=r,this.target=e,this.currentTarget=i,this}}class i{constructor(t,r,e=null){this.callback=t,this.mask=r,this.scope=e,this._willBeUnregistered=!1,this.unregisterOnNextCall=!1,this._remove=null}remove(t=!1){this._remove&&this._remove(t)}}class s{static FromPromise(t,r){let e=new s;return t.then(t=>{e.notifyObservers(t)}).catch(t=>{if(r)r.notifyObservers(t);else throw t}),e}get observers(){return this._observers}constructor(t,r=!1){this.notifyIfTriggered=r,this._observers=[],this._numObserversMarkedAsDeleted=0,this._hasNotified=!1,this._eventState=new e(0),t&&(this._onObserverAdded=t)}add(t,e=-1,s=!1,n=null,a=!1){if(!t)return null;let h=new i(t,e,n);h.unregisterOnNextCall=a,s?this._observers.unshift(h):this._observers.push(h),this._onObserverAdded&&this._onObserverAdded(h),this._hasNotified&&this.notifyIfTriggered&&void 0!==this._lastNotifiedValue&&this.notifyObserver(h,this._lastNotifiedValue);let o=r?new WeakRef(this):{deref:()=>this};return h._remove=(t=!1)=>{let r=o.deref();r&&(t?r.remove(h):r._remove(h))},h}addOnce(t){return this.add(t,void 0,void 0,void 0,!0)}remove(t){return!!t&&(t._remove=null,-1!==this._observers.indexOf(t)&&(this._deferUnregister(t),!0))}removeCallback(t,r){for(let e=0;e<this._observers.length;e++){let i=this._observers[e];if(!i._willBeUnregistered&&i.callback===t&&(!r||r===i.scope))return this._deferUnregister(i),!0}return!1}_deferUnregister(t){t._willBeUnregistered||(this._numObserversMarkedAsDeleted++,t.unregisterOnNextCall=!1,t._willBeUnregistered=!0,setTimeout(()=>{this._remove(t)},0))}_remove(t,r=!0){if(!t)return!1;let e=this._observers.indexOf(t);return -1!==e&&(r&&this._numObserversMarkedAsDeleted--,this._observers.splice(e,1),!0)}makeObserverTopPriority(t){this._remove(t,!1),this._observers.unshift(t)}makeObserverBottomPriority(t){this._remove(t,!1),this._observers.push(t)}notifyObservers(t,r=-1,e,i,s){if(this.notifyIfTriggered&&(this._hasNotified=!0,this._lastNotifiedValue=t),!this._observers.length)return!0;let n=this._eventState;for(let a of(n.mask=r,n.target=e,n.currentTarget=i,n.skipNextObservers=!1,n.lastReturnValue=t,n.userInfo=s,this._observers))if(!a._willBeUnregistered&&(a.mask&r&&(a.unregisterOnNextCall&&this._deferUnregister(a),a.scope?n.lastReturnValue=a.callback.apply(a.scope,[t,n]):n.lastReturnValue=a.callback(t,n)),n.skipNextObservers))return!1;return!0}notifyObserver(t,r,e=-1){if(this.notifyIfTriggered&&(this._hasNotified=!0,this._lastNotifiedValue=r),t._willBeUnregistered)return;let i=this._eventState;i.mask=e,i.skipNextObservers=!1,t.unregisterOnNextCall&&this._deferUnregister(t),t.callback(r,i)}hasObservers(){return this._observers.length-this._numObserversMarkedAsDeleted>0}clear(){for(;this._observers.length;){let t=this._observers.pop();t&&(t._remove=null)}this._onObserverAdded=null,this._numObserversMarkedAsDeleted=0,this.cleanLastNotifiedState()}cleanLastNotifiedState(){this._hasNotified=!1,this._lastNotifiedValue=void 0}clone(){let t=new s;return t._observers=this._observers.slice(0),t}hasSpecificMask(t=-1){for(let r of this._observers)if(r.mask&t||r.mask===t)return!0;return!1}}t.s(["Observable",0,s],3864);class n{static get LastCreatedEngine(){return 0===this.Instances.length?null:this.Instances[this.Instances.length-1]}static get LastCreatedScene(){return this._LastCreatedScene}}n.Instances=[],n.OnEnginesDisposedObservable=new s,n._LastCreatedScene=null,n.UseFallbackTexture=!0,n.FallbackTexture="",t.s(["EngineStore",0,n],23003)},44520,t=>{"use strict";let r={};t.s(["GetClass",0,function(t){return r[t]},"RegisterClass",0,function(t,e){r[t]=e}])},19919,t=>{"use strict";var r=t.i(30672),e=t.i(84106),i=t.i(63235),s=t.i(44520);function n(t){return Math.pow(t,e.ToLinearSpace)}function a(t){return t<=.04045?.0773993808*t:Math.pow(.947867299*(t+.055),2.4)}function h(t){return Math.pow(t,e.ToGammaSpace)}function o(t){return t<=.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}class l{constructor(t=0,r=0,e=0){this.r=t,this.g=r,this.b=e}toString(){return"{R: "+this.r+" G:"+this.g+" B:"+this.b+"}"}getClassName(){return"Color3"}getHashCode(){let t=255*this.r|0;return 397*(t=397*t^255*this.g)^255*this.b}toArray(t,r=0){return t[r]=this.r,t[r+1]=this.g,t[r+2]=this.b,this}fromArray(t,r=0){return l.FromArrayToRef(t,r,this),this}toColor4(t=1){return new u(this.r,this.g,this.b,t)}asArray(){return[this.r,this.g,this.b]}toLuminance(){return .3*this.r+.59*this.g+.11*this.b}multiply(t){return new l(this.r*t.r,this.g*t.g,this.b*t.b)}multiplyToRef(t,r){return r.r=this.r*t.r,r.g=this.g*t.g,r.b=this.b*t.b,r}multiplyInPlace(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this}multiplyByFloats(t,r,e){return new l(this.r*t,this.g*r,this.b*e)}divide(t){throw ReferenceError("Can not divide a color")}divideToRef(t,r){throw ReferenceError("Can not divide a color")}divideInPlace(t){throw ReferenceError("Can not divide a color")}minimizeInPlace(t){return this.minimizeInPlaceFromFloats(t.r,t.g,t.b)}maximizeInPlace(t){return this.maximizeInPlaceFromFloats(t.r,t.g,t.b)}minimizeInPlaceFromFloats(t,r,e){return this.r=Math.min(t,this.r),this.g=Math.min(r,this.g),this.b=Math.min(e,this.b),this}maximizeInPlaceFromFloats(t,r,e){return this.r=Math.max(t,this.r),this.g=Math.max(r,this.g),this.b=Math.max(e,this.b),this}floorToRef(t){throw ReferenceError("Can not floor a color")}floor(){throw ReferenceError("Can not floor a color")}fractToRef(t){throw ReferenceError("Can not fract a color")}fract(){throw ReferenceError("Can not fract a color")}equals(t){return t&&this.r===t.r&&this.g===t.g&&this.b===t.b}equalsFloats(t,r,e){return this.equalsToFloats(t,r,e)}equalsToFloats(t,r,e){return this.r===t&&this.g===r&&this.b===e}equalsWithEpsilon(t,r=e.Epsilon){return(0,i.WithinEpsilon)(this.r,t.r,r)&&(0,i.WithinEpsilon)(this.g,t.g,r)&&(0,i.WithinEpsilon)(this.b,t.b,r)}negate(){throw ReferenceError("Can not negate a color")}negateInPlace(){throw ReferenceError("Can not negate a color")}negateToRef(t){throw ReferenceError("Can not negate a color")}scale(t){return new l(this.r*t,this.g*t,this.b*t)}scaleInPlace(t){return this.r*=t,this.g*=t,this.b*=t,this}scaleToRef(t,r){return r.r=this.r*t,r.g=this.g*t,r.b=this.b*t,r}scaleAndAddToRef(t,r){return r.r+=this.r*t,r.g+=this.g*t,r.b+=this.b*t,r}clampToRef(t=0,r=1,e){return e.r=(0,i.Clamp)(this.r,t,r),e.g=(0,i.Clamp)(this.g,t,r),e.b=(0,i.Clamp)(this.b,t,r),e}add(t){return new l(this.r+t.r,this.g+t.g,this.b+t.b)}addInPlace(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this}addInPlaceFromFloats(t,r,e){return this.r+=t,this.g+=r,this.b+=e,this}addToRef(t,r){return r.r=this.r+t.r,r.g=this.g+t.g,r.b=this.b+t.b,r}subtract(t){return new l(this.r-t.r,this.g-t.g,this.b-t.b)}subtractToRef(t,r){return r.r=this.r-t.r,r.g=this.g-t.g,r.b=this.b-t.b,r}subtractInPlace(t){return this.r-=t.r,this.g-=t.g,this.b-=t.b,this}subtractFromFloats(t,r,e){return new l(this.r-t,this.g-r,this.b-e)}subtractFromFloatsToRef(t,r,e,i){return i.r=this.r-t,i.g=this.g-r,i.b=this.b-e,i}clone(){return new l(this.r,this.g,this.b)}copyFrom(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copyFromFloats(t,r,e){return this.r=t,this.g=r,this.b=e,this}set(t,r,e){return this.copyFromFloats(t,r,e)}setAll(t){return this.r=this.g=this.b=t,this}toHexString(){let t=Math.round(255*this.r),r=Math.round(255*this.g),e=Math.round(255*this.b);return"#"+(0,i.ToHex)(t)+(0,i.ToHex)(r)+(0,i.ToHex)(e)}fromHexString(t){return"#"!==t.substring(0,1)||7!==t.length||(this.r=parseInt(t.substring(1,3),16)/255,this.g=parseInt(t.substring(3,5),16)/255,this.b=parseInt(t.substring(5,7),16)/255),this}toHSV(){return this.toHSVToRef(new l)}toHSVToRef(t){let r=this.r,e=this.g,i=this.b,s=Math.max(r,e,i),n=Math.min(r,e,i),a=0,h=0,o=s-n;return 0!==s&&(h=o/s),s!=n&&(s==r?(a=(e-i)/o,e<i&&(a+=6)):s==e?a=(i-r)/o+2:s==i&&(a=(r-e)/o+4),a*=60),t.r=a,t.g=h,t.b=s,t}toLinearSpace(t=!1){let r=new l;return this.toLinearSpaceToRef(r,t),r}toLinearSpaceToRef(t,r=!1){return r?(t.r=a(this.r),t.g=a(this.g),t.b=a(this.b)):(t.r=n(this.r),t.g=n(this.g),t.b=n(this.b)),this}toGammaSpace(t=!1){let r=new l;return this.toGammaSpaceToRef(r,t),r}toGammaSpaceToRef(t,r=!1){return r?(t.r=o(this.r),t.g=o(this.g),t.b=o(this.b)):(t.r=h(this.r),t.g=h(this.g),t.b=h(this.b)),this}static HSVtoRGBToRef(t,r,e,i){let s=e*r,n=t/60,a=s*(1-Math.abs(n%2-1)),h=0,o=0,l=0;n>=0&&n<=1?(h=s,o=a):n>=1&&n<=2?(h=a,o=s):n>=2&&n<=3?(o=s,l=a):n>=3&&n<=4?(o=a,l=s):n>=4&&n<=5?(h=a,l=s):n>=5&&n<=6&&(h=s,l=a);let u=e-s;return i.r=h+u,i.g=o+u,i.b=l+u,i}static FromHSV(t,r,e){let i=new l(0,0,0);return l.HSVtoRGBToRef(t,r,e,i),i}static FromHexString(t){return new l(0,0,0).fromHexString(t)}static FromArray(t,r=0){return new l(t[r],t[r+1],t[r+2])}static FromArrayToRef(t,r=0,e){e.r=t[r],e.g=t[r+1],e.b=t[r+2]}static FromInts(t,r,e){return new l(t/255,r/255,e/255)}static Lerp(t,r,e){let i=new l(0,0,0);return l.LerpToRef(t,r,e,i),i}static LerpToRef(t,r,e,i){i.r=t.r+(r.r-t.r)*e,i.g=t.g+(r.g-t.g)*e,i.b=t.b+(r.b-t.b)*e}static Hermite(t,r,e,i,s){let n=s*s,a=s*n,h=2*a-3*n+1,o=-2*a+3*n,u=a-2*n+s,c=a-n;return new l(t.r*h+e.r*o+r.r*u+i.r*c,t.g*h+e.g*o+r.g*u+i.g*c,t.b*h+e.b*o+r.b*u+i.b*c)}static Hermite1stDerivative(t,r,e,i,s){let n=l.Black();return this.Hermite1stDerivativeToRef(t,r,e,i,s,n),n}static Hermite1stDerivativeToRef(t,r,e,i,s,n){let a=s*s;n.r=(a-s)*6*t.r+(3*a-4*s+1)*r.r+(-a+s)*6*e.r+(3*a-2*s)*i.r,n.g=(a-s)*6*t.g+(3*a-4*s+1)*r.g+(-a+s)*6*e.g+(3*a-2*s)*i.g,n.b=(a-s)*6*t.b+(3*a-4*s+1)*r.b+(-a+s)*6*e.b+(3*a-2*s)*i.b}static Red(){return new l(1,0,0)}static Green(){return new l(0,1,0)}static Blue(){return new l(0,0,1)}static Black(){return new l(0,0,0)}static get BlackReadOnly(){return l._BlackReadOnly}static White(){return new l(1,1,1)}static Purple(){return new l(.5,0,.5)}static Magenta(){return new l(1,0,1)}static Yellow(){return new l(1,1,0)}static Gray(){return new l(.5,.5,.5)}static Teal(){return new l(0,1,1)}static Random(){return new l(Math.random(),Math.random(),Math.random())}}l._V8PerformanceHack=new l(.5,.5,.5),l._BlackReadOnly=l.Black();class u{constructor(t=0,r=0,e=0,i=1){this.r=t,this.g=r,this.b=e,this.a=i}asArray(){return[this.r,this.g,this.b,this.a]}toArray(t,r=0){return t[r]=this.r,t[r+1]=this.g,t[r+2]=this.b,t[r+3]=this.a,this}fromArray(t,r=0){return this.r=t[r],this.g=t[r+1],this.b=t[r+2],this.a=t[r+3],this}equals(t){return t&&this.r===t.r&&this.g===t.g&&this.b===t.b&&this.a===t.a}add(t){return new u(this.r+t.r,this.g+t.g,this.b+t.b,this.a+t.a)}addToRef(t,r){return r.r=this.r+t.r,r.g=this.g+t.g,r.b=this.b+t.b,r.a=this.a+t.a,r}addInPlace(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this.a+=t.a,this}addInPlaceFromFloats(t,r,e,i){return this.r+=t,this.g+=r,this.b+=e,this.a+=i,this}subtract(t){return new u(this.r-t.r,this.g-t.g,this.b-t.b,this.a-t.a)}subtractToRef(t,r){return r.r=this.r-t.r,r.g=this.g-t.g,r.b=this.b-t.b,r.a=this.a-t.a,r}subtractInPlace(t){return this.r-=t.r,this.g-=t.g,this.b-=t.b,this.a-=t.a,this}subtractFromFloats(t,r,e,i){return new u(this.r-t,this.g-r,this.b-e,this.a-i)}subtractFromFloatsToRef(t,r,e,i,s){return s.r=this.r-t,s.g=this.g-r,s.b=this.b-e,s.a=this.a-i,s}scale(t){return new u(this.r*t,this.g*t,this.b*t,this.a*t)}scaleInPlace(t){return this.r*=t,this.g*=t,this.b*=t,this.a*=t,this}scaleToRef(t,r){return r.r=this.r*t,r.g=this.g*t,r.b=this.b*t,r.a=this.a*t,r}scaleAndAddToRef(t,r){return r.r+=this.r*t,r.g+=this.g*t,r.b+=this.b*t,r.a+=this.a*t,r}clampToRef(t=0,r=1,e){return e.r=(0,i.Clamp)(this.r,t,r),e.g=(0,i.Clamp)(this.g,t,r),e.b=(0,i.Clamp)(this.b,t,r),e.a=(0,i.Clamp)(this.a,t,r),e}multiply(t){return new u(this.r*t.r,this.g*t.g,this.b*t.b,this.a*t.a)}multiplyToRef(t,r){return r.r=this.r*t.r,r.g=this.g*t.g,r.b=this.b*t.b,r.a=this.a*t.a,r}multiplyInPlace(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this.a*=t.a,this}multiplyByFloats(t,r,e,i){return new u(this.r*t,this.g*r,this.b*e,this.a*i)}divide(t){throw ReferenceError("Can not divide a color")}divideToRef(t,r){throw ReferenceError("Can not divide a color")}divideInPlace(t){throw ReferenceError("Can not divide a color")}minimizeInPlace(t){return this.r=Math.min(this.r,t.r),this.g=Math.min(this.g,t.g),this.b=Math.min(this.b,t.b),this.a=Math.min(this.a,t.a),this}maximizeInPlace(t){return this.r=Math.max(this.r,t.r),this.g=Math.max(this.g,t.g),this.b=Math.max(this.b,t.b),this.a=Math.max(this.a,t.a),this}minimizeInPlaceFromFloats(t,r,e,i){return this.r=Math.min(t,this.r),this.g=Math.min(r,this.g),this.b=Math.min(e,this.b),this.a=Math.min(i,this.a),this}maximizeInPlaceFromFloats(t,r,e,i){return this.r=Math.max(t,this.r),this.g=Math.max(r,this.g),this.b=Math.max(e,this.b),this.a=Math.max(i,this.a),this}floorToRef(t){throw ReferenceError("Can not floor a color")}floor(){throw ReferenceError("Can not floor a color")}fractToRef(t){throw ReferenceError("Can not fract a color")}fract(){throw ReferenceError("Can not fract a color")}negate(){throw ReferenceError("Can not negate a color")}negateInPlace(){throw ReferenceError("Can not negate a color")}negateToRef(t){throw ReferenceError("Can not negate a color")}equalsWithEpsilon(t,r=e.Epsilon){return(0,i.WithinEpsilon)(this.r,t.r,r)&&(0,i.WithinEpsilon)(this.g,t.g,r)&&(0,i.WithinEpsilon)(this.b,t.b,r)&&(0,i.WithinEpsilon)(this.a,t.a,r)}equalsToFloats(t,r,e,i){return this.r===t&&this.g===r&&this.b===e&&this.a===i}toString(){return"{R: "+this.r+" G:"+this.g+" B:"+this.b+" A:"+this.a+"}"}getClassName(){return"Color4"}getHashCode(){let t=255*this.r|0;return 397*(t=397*(t=397*t^255*this.g)^255*this.b)^255*this.a}clone(){return new u().copyFrom(this)}copyFrom(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this}copyFromFloats(t,r,e,i){return this.r=t,this.g=r,this.b=e,this.a=i,this}set(t,r,e,i){return this.copyFromFloats(t,r,e,i)}setAll(t){return this.r=this.g=this.b=this.a=t,this}toHexString(t=!1){let r=Math.round(255*this.r),e=Math.round(255*this.g),s=Math.round(255*this.b);if(t)return"#"+(0,i.ToHex)(r)+(0,i.ToHex)(e)+(0,i.ToHex)(s);let n=Math.round(255*this.a);return"#"+(0,i.ToHex)(r)+(0,i.ToHex)(e)+(0,i.ToHex)(s)+(0,i.ToHex)(n)}fromHexString(t){return"#"!==t.substring(0,1)||9!==t.length&&7!==t.length||(this.r=parseInt(t.substring(1,3),16)/255,this.g=parseInt(t.substring(3,5),16)/255,this.b=parseInt(t.substring(5,7),16)/255,9===t.length&&(this.a=parseInt(t.substring(7,9),16)/255)),this}toLinearSpace(t=!1){let r=new u;return this.toLinearSpaceToRef(r,t),r}toLinearSpaceToRef(t,r=!1){return r?(t.r=a(this.r),t.g=a(this.g),t.b=a(this.b)):(t.r=n(this.r),t.g=n(this.g),t.b=n(this.b)),t.a=this.a,this}toGammaSpace(t=!1){let r=new u;return this.toGammaSpaceToRef(r,t),r}toGammaSpaceToRef(t,r=!1){return r?(t.r=o(this.r),t.g=o(this.g),t.b=o(this.b)):(t.r=h(this.r),t.g=h(this.g),t.b=h(this.b)),t.a=this.a,this}static FromHexString(t){return"#"!==t.substring(0,1)||9!==t.length&&7!==t.length?new u(0,0,0,0):new u(0,0,0,1).fromHexString(t)}static Lerp(t,r,e){return u.LerpToRef(t,r,e,new u)}static LerpToRef(t,r,e,i){return i.r=t.r+(r.r-t.r)*e,i.g=t.g+(r.g-t.g)*e,i.b=t.b+(r.b-t.b)*e,i.a=t.a+(r.a-t.a)*e,i}static Hermite(t,r,e,i,s){let n=s*s,a=s*n,h=2*a-3*n+1,o=-2*a+3*n,l=a-2*n+s,c=a-n;return new u(t.r*h+e.r*o+r.r*l+i.r*c,t.g*h+e.g*o+r.g*l+i.g*c,t.b*h+e.b*o+r.b*l+i.b*c,t.a*h+e.a*o+r.a*l+i.a*c)}static Hermite1stDerivative(t,r,e,i,s){let n=new u;return this.Hermite1stDerivativeToRef(t,r,e,i,s,n),n}static Hermite1stDerivativeToRef(t,r,e,i,s,n){let a=s*s;n.r=(a-s)*6*t.r+(3*a-4*s+1)*r.r+(-a+s)*6*e.r+(3*a-2*s)*i.r,n.g=(a-s)*6*t.g+(3*a-4*s+1)*r.g+(-a+s)*6*e.g+(3*a-2*s)*i.g,n.b=(a-s)*6*t.b+(3*a-4*s+1)*r.b+(-a+s)*6*e.b+(3*a-2*s)*i.b,n.a=(a-s)*6*t.a+(3*a-4*s+1)*r.a+(-a+s)*6*e.a+(3*a-2*s)*i.a}static FromColor3(t,r=1){return new u(t.r,t.g,t.b,r)}static FromArray(t,r=0){return new u(t[r],t[r+1],t[r+2],t[r+3])}static FromArrayToRef(t,r=0,e){e.r=t[r],e.g=t[r+1],e.b=t[r+2],e.a=t[r+3]}static FromInts(t,r,e,i){return new u(t/255,r/255,e/255,i/255)}static CheckColors4(t,r){if(t.length===3*r){let r=[];for(let e=0;e<t.length;e+=3){let i=e/3*4;r[i]=t[e],r[i+1]=t[e+1],r[i+2]=t[e+2],r[i+3]=1}return r}return t}}u._V8PerformanceHack=new u(.5,.5,.5,.5);class c{}c.Color3=(0,r.BuildArray)(3,l.Black),c.Color4=(0,r.BuildArray)(3,()=>new u(0,0,0,0));let g=!1;t.s(["Color3",0,l,"Color4",0,u,"RegisterMathColor",0,function(){g||(g=!0,Object.defineProperties(l.prototype,{dimension:{value:[3]},rank:{value:1}}),Object.defineProperties(u.prototype,{dimension:{value:[4]},rank:{value:1}}),(0,s.RegisterClass)("BABYLON.Color3",l),(0,s.RegisterClass)("BABYLON.Color4",u))},"TmpColors",0,c])}]);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,48820,e=>{"use strict";var r=e.i(47150);let o="lod3DPixelShader",t=`precision highp float;precision highp sampler3D;const float GammaEncodePowerApprox=1.0/2.2;varying vec2 vUV;uniform sampler3D textureSampler;uniform float lod;uniform float slice;uniform int gamma;void main(void)
|
|
2
2
|
{ivec3 textureCoordinates=ivec3(vUV*vec2(textureSize(textureSampler,0).xy),int(slice));gl_FragColor=texelFetch(textureSampler,textureCoordinates,int(lod));if (gamma==0) {gl_FragColor.rgb=pow(gl_FragColor.rgb,vec3(GammaEncodePowerApprox));}}
|
|
3
3
|
`;r.ShaderStore.ShadersStore[o]||(r.ShaderStore.ShadersStore[o]=t),e.s(["lod3DPixelShader",0,{name:o,shader:t}])}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,44449,s=>{"use strict";var e=s.i(84953);(0,e.RegisterDumpTools)(),s.s([],93164),s.i(93164),s.s(["Dispose",()=>e.Dispose,"DumpData",()=>e.DumpData,"DumpDataAsync",()=>e.DumpDataAsync,"DumpFramebuffer",()=>e.DumpFramebuffer,"DumpTools",()=>e.DumpTools,"EncodeImageAsync",()=>e.EncodeImageAsync,"RegisterDumpTools",()=>e.RegisterDumpTools],44449)}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,50270,t=>{"use strict";var e=t.i(75105),i=t.i(62478),o=t.i(32304),s=t.i(44520);class n extends i.FlowGraphExecutionBlockWithOutSignal{constructor(t={}){super(t),this.config=t,this.config.startIndex=t.startIndex??new o.FlowGraphInteger(0),this.reset=this._registerSignalInput("reset"),this.maxExecutions=this.registerDataInput("maxExecutions",e.RichTypeFlowGraphInteger),this.executionCount=this.registerDataOutput("executionCount",e.RichTypeFlowGraphInteger,new o.FlowGraphInteger(0))}_execute(t,e){if(e===this.reset)this.executionCount.setValue(this.config.startIndex,t);else{let e=this.executionCount.getValue(t);e.value<this.maxExecutions.getValue(t).value&&(this.executionCount.setValue(new o.FlowGraphInteger(e.value+1),t),this.out._activateSignal(t))}}getClassName(){return"FlowGraphDoNBlock"}}let a=!1;function r(){a||(a=!0,(0,s.RegisterClass)("FlowGraphDoNBlock",n))}t.s(["FlowGraphDoNBlock",0,n,"RegisterFlowGraphDoNBlock",0,r],43524),r(),t.s([],53340),t.i(53340),t.i(43524),t.s(["FlowGraphDoNBlock",0,n],50270)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,62750,t=>{"use strict";var e=t.i(17884),o=t.i(75105);let i="cachedOperationValue",r="cachedExecutionId";class n extends e.FlowGraphBlock{constructor(t,e){super(e),this.value=this.registerDataOutput("value",t),this.isValid=this.registerDataOutput("isValid",o.RichTypeBoolean)}_updateOutputs(t){let e=t._getExecutionVariable(this,r,-1),o=t._getExecutionVariable(this,i,null);if(null!=o&&e===t.executionId)this.isValid.setValue(!0,t),this.value.setValue(o,t);else try{let e=this._doOperation(t);if(null==e)return void this.isValid.setValue(!1,t);t._setExecutionVariable(this,i,e),t._setExecutionVariable(this,r,t.executionId),this.value.setValue(e,t),this.isValid.setValue(!0,t)}catch(e){this.isValid.setValue(!1,t)}}}t.s(["FlowGraphCachedOperationBlock",0,n])},8862,t=>{"use strict";var e=t.i(32304),o=t.i(75105);let i=new RegExp(/\/\{(\w+)\}(?=\/|$)/g);class r{constructor(t,r){this.path=t,this.ownerBlock=r,this.templatedInputs=[];let n=i.exec(t);const a=new Set;for(;n;){const[,s]=n;if(a.has(s))throw Error("Duplicate template variable detected.");a.add(s),this.templatedInputs.push(r.registerDataInput(s,o.RichTypeFlowGraphInteger,new e.FlowGraphInteger(0))),n=i.exec(t)}}getAccessor(t,e){let o=this.path;for(let t of this.templatedInputs){let i=t.getValue(e).value;if("number"!=typeof i||i<0)throw Error("Invalid value for templated input.");o=o.replace(`{${t.name}}`,i.toString())}return t.convert(o)}}var n=t.i(69400),a=t.i(19919),s=t.i(62750),l=t.i(44520);class c extends s.FlowGraphCachedOperationBlock{constructor(t){super(o.RichTypeAny,t),this.config=t,this.object=this.registerDataOutput("object",o.RichTypeAny),this.propertyName=this.registerDataOutput("propertyName",o.RichTypeAny),this.setterFunction=this.registerDataOutput("setFunction",o.RichTypeAny,this._setPropertyValue.bind(this)),this.getterFunction=this.registerDataOutput("getFunction",o.RichTypeAny,this._getPropertyValue.bind(this)),this.generateAnimationsFunction=this.registerDataOutput("generateAnimationsFunction",o.RichTypeAny,this._getInterpolationAnimationPropertyInfo.bind(this)),this.templateComponent=new r(t.jsonPointer,this)}_doOperation(t){let e=this.templateComponent.getAccessor(this.config.pathConverter,t),o=e.info.get(e.object),i=e.info.getTarget?.(e.object),r=e.info.getPropertyName?.[0](e.object);if(i)this.object.setValue(i,t),r&&this.propertyName.setValue(r,t);else throw Error("Object is undefined");return o}_setPropertyValue(t,e,o,i){let r=this.templateComponent.getAccessor(this.config.pathConverter,i),n=r.info.type;n.startsWith("Color")&&(o=u(o,n)),r.info.set?.(o,r.object)}_getPropertyValue(t,e,o){let i=this.templateComponent.getAccessor(this.config.pathConverter,o),r=i.info.type,s=i.info.get(i.object);return r.startsWith("Color")?function(t){if(t instanceof a.Color3)return new n.Vector3(t.r,t.g,t.b);if(t instanceof a.Color4)return new n.Vector4(t.r,t.g,t.b,t.a);throw Error("Invalid color type")}(s):s}_getInterpolationAnimationPropertyInfo(t,e,o){let i=this.templateComponent.getAccessor(this.config.pathConverter,o);return(t,e,o,r)=>{let n=[],a=i.info.type;return a.startsWith("Color")&&(t=t.map(t=>({frame:t.frame,value:u(t.value,a)}))),i.info.interpolation?.forEach((e,a)=>{let s=i.info.getPropertyName?.[a](i.object)||"Animation-interpolation-"+a,l=t;for(let a of(o!==e.type&&(l=t.map(t=>({frame:t.frame,value:e.getValue(void 0,t.value.asArray?t.value.asArray():[t.value],0,1)}))),e.buildAnimations(i.object,s,60,l)))r&&a.babylonAnimation.setEasingFunction(r),n.push(a.babylonAnimation)}),n}}getClassName(){return"FlowGraphJsonPointerParserBlock"}}function u(t,e){return t.getClassName().startsWith("Color")?t:"Color3"===e?new a.Color3(t.x,t.y,t.z):"Color4"===e?new a.Color4(t.x,t.y,t.z,t.w):t}let h=!1;function p(){h||(h=!0,(0,l.RegisterClass)("FlowGraphJsonPointerParserBlock",c))}t.s(["FlowGraphJsonPointerParserBlock",0,c,"RegisterFlowGraphJsonPointerParserBlock",0,p],15905),p(),t.s([],82927),t.i(82927),t.i(15905),t.s(["FlowGraphJsonPointerParserBlock",0,c],8862)}]);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24032,e=>{"use strict";var t=e.i(20363);class s extends t.Texture{constructor(e,s,r,a,i,n=!0,o=!1,l=3,h=0,u,_,c,p){if(super(null,i,!n,o,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,u),this.format=a,!this._engine)return;this._engine._caps.textureFloatLinearFiltering||1!==h||(l=1),this._engine._caps.textureHalfFloatLinearFiltering||2!==h||(l=1),this._texture=this._engine.createRawTexture(e,s,r,a,n,o,l,null,h,u??0,_??!1,p),this.wrapU=t.Texture.CLAMP_ADDRESSMODE,this.wrapV=t.Texture.CLAMP_ADDRESSMODE,this._waitingForData=!!c&&!e}update(e){this.updateMipLevel(e,0)}updateMipLevel(e,t){this._getEngine().updateRawTexture(this._texture,e,this._texture.format,this._texture.invertY,null,this._texture.type,this._texture._useSRGBBuffer,t),this._waitingForData=!1}clone(){if(!this._texture)return super.clone();let e=new s(null,this.getSize().width,this.getSize().height,this.format,this.getScene(),this._texture.generateMipMaps,this._invertY,this.samplingMode,this._texture.type,this._texture._creationFlags,this._useSRGBBuffer);return e._texture=this._texture,this._texture.incrementReferences(),e}isReady(){return super.isReady()&&!this._waitingForData}static CreateLuminanceTexture(e,t,r,a,i=!0,n=!1,o=3){return new s(e,t,r,1,a,i,n,o)}static CreateLuminanceAlphaTexture(e,t,r,a,i=!0,n=!1,o=3){return new s(e,t,r,2,a,i,n,o)}static CreateAlphaTexture(e,t,r,a,i=!0,n=!1,o=3){return new s(e,t,r,0,a,i,n,o)}static CreateRGBTexture(e,t,r,a,i=!0,n=!1,o=3,l=0,h=0,u=!1){return new s(e,t,r,4,a,i,n,o,l,h,u)}static CreateRGBATexture(e,t,r,a,i=!0,n=!1,o=3,l=0,h=0,u=!1,_=!1){return new s(e,t,r,5,a,i,n,o,l,h,u,_)}static CreateRGBAStorageTexture(e,t,r,a,i=!0,n=!1,o=3,l=0,h=!1){return new s(e,t,r,5,a,i,n,o,l,1,h)}static CreateRTexture(e,r,a,i,n=!0,o=!1,l=t.Texture.TRILINEAR_SAMPLINGMODE,h=1){return new s(e,r,a,6,i,n,o,l,h)}static CreateRStorageTexture(e,r,a,i,n=!0,o=!1,l=t.Texture.TRILINEAR_SAMPLINGMODE,h=1){return new s(e,r,a,6,i,n,o,l,h,1)}}e.s(["RawTexture",0,s])},66861,e=>{"use strict";var t=e.i(2060),s=e.i(16347),r=e.i(41041),a=e.i(69223),i=e.i(13099),n=e.i(6949),o=e.i(55288),l=e.i(59052),h=e.i(80065),u=e.i(16771),_=e.i(23003);class c{constructor(){this.mm=new Map}get(e,t){let s=this.mm.get(e);if(void 0!==s)return s.get(t)}set(e,t,s){let r=this.mm.get(e);void 0===r&&this.mm.set(e,r=new Map),r.set(t,s)}}class p{get standalone(){return this._options?.standalone??!1}get baseMaterial(){return this._baseMaterial}get doNotInjectCode(){return this._options?.doNotInjectCode??!1}constructor(e,t,s){this._baseMaterial=e,this._scene=t??_.EngineStore.LastCreatedScene,this._options=s,this._subMeshToEffect=new Map,this._subMeshToDepthWrapper=new c,this._meshes=new Map,this._onEffectCreatedObserver=this._baseMaterial.onEffectCreatedObservable.add(e=>{let t=e.subMesh?.getMesh();t&&!this._meshes.has(t)&&this._meshes.set(t,t.onDisposeObservable.add(e=>{let t=this._subMeshToEffect.keys();for(let s=t.next();!0!==s.done;s=t.next()){let t=s.value;t?.getMesh()===e&&(this._subMeshToEffect.delete(t),this._deleteDepthWrapperEffect(t))}})),this._subMeshToEffect.get(e.subMesh)?.[0]!==e.effect&&(this._subMeshToEffect.set(e.subMesh,[e.effect,this._scene.getEngine().currentRenderPassId]),this._deleteDepthWrapperEffect(e.subMesh))})}_deleteDepthWrapperEffect(e){let t=this._subMeshToDepthWrapper.mm.get(e);t&&(t.forEach(e=>{e.mainDrawWrapper.effect?.dispose()}),this._subMeshToDepthWrapper.mm.delete(e))}getEffect(e,t,s){let r=this._subMeshToDepthWrapper.mm.get(e)?.get(t);if(!r)return null;let a=r.drawWrapper[s];return a||(a=r.drawWrapper[s]=new u.DrawWrapper(this._scene.getEngine())).setEffect(r.mainDrawWrapper.effect,r.mainDrawWrapper.defines),a}isReadyForSubMesh(e,t,s,r,a){return(!this.standalone||!!this._baseMaterial.isReadyForSubMesh(e.getMesh(),e,r))&&(this._makeEffect(e,t,s,a)?.isReady()??!1)}dispose(){this._baseMaterial.onEffectCreatedObservable.remove(this._onEffectCreatedObserver),this._onEffectCreatedObserver=null;let e=this._meshes.entries();for(let t=e.next();!0!==t.done;t=e.next()){let[e,s]=t.value;e.onDisposeObservable.remove(s)}}_makeEffect(e,t,s,r){let a=this._scene.getEngine(),i=this._subMeshToEffect.get(e);if(!i)return null;let[n,o]=i;if(!n.isReady())return null;let _=this._subMeshToDepthWrapper.get(e,s);if(!_){let t=new u.DrawWrapper(a),i=e._getDrawWrapper(o)?.defines;t.defines="string"==typeof i?null:i??null,(_={drawWrapper:[],mainDrawWrapper:t,depthDefines:"",token:(0,h.RandomGUID)()}).drawWrapper[r]=t,this._subMeshToDepthWrapper.set(e,s,_)}let c=t.join("\n");if(_.mainDrawWrapper.effect&&c===_.depthDefines)return _.mainDrawWrapper.effect;_.depthDefines=c;let p=n.getUniformNames().slice(),d=n.vertexSourceCodeBeforeMigration,f=n.fragmentSourceCodeBeforeMigration;if(!d&&!f)return null;if(!this.doNotInjectCode){let e=this._options&&this._options.remappedVariables?`#include<shadowMapVertexNormalBias>(${this._options.remappedVariables.join(",")})`:"#include<shadowMapVertexNormalBias>",t=this._options&&this._options.remappedVariables?`#include<shadowMapVertexMetric>(${this._options.remappedVariables.join(",")})`:"#include<shadowMapVertexMetric>",s=this._options&&this._options.remappedVariables?`#include<shadowMapFragmentSoftTransparentShadow>(${this._options.remappedVariables.join(",")})`:"#include<shadowMapFragmentSoftTransparentShadow>",r="#include<shadowMapFragment>",a="#include<shadowMapVertexExtraDeclaration>";d=(d=-1!==(d=(d=0===n.shaderLanguage?d.replace(/void\s+?main/g,`
|
|
2
|
+
${a}
|
|
3
|
+
void main`):d.replace(/@vertex/g,`
|
|
4
|
+
${a}
|
|
5
|
+
@vertex`)).replace(/#define SHADOWDEPTH_NORMALBIAS|#define CUSTOM_VERTEX_UPDATE_WORLDPOS/g,e)).indexOf("#define SHADOWDEPTH_METRIC")?d.replace(/#define SHADOWDEPTH_METRIC/g,t):d.replace(/}\s*$/g,t+"\n}")).replace(/#define SHADER_NAME.*?\n|out vec4 glFragColor;\n/g,"");let i=f.indexOf("#define SHADOWDEPTH_SOFTTRANSPARENTSHADOW")>=0||f.indexOf("#define CUSTOM_FRAGMENT_BEFORE_FOG")>=0,o=-1!==f.indexOf("#define SHADOWDEPTH_FRAGMENT"),h="";i?f=f.replace(/#define SHADOWDEPTH_SOFTTRANSPARENTSHADOW|#define CUSTOM_FRAGMENT_BEFORE_FOG/g,s):h=s+"\n",f=f.replace(/void\s+?main/g,l.Effect.IncludesShadersStore.shadowMapFragmentExtraDeclaration+"\nvoid main"),o?f=f.replace(/#define SHADOWDEPTH_FRAGMENT/g,r):h+=r+"\n",h&&(f=f.replace(/}\s*$/g,h+"}")),p.push("biasAndScaleSM","depthValuesSM","lightDataSM","softTransparentShadowSM")}_.mainDrawWrapper.effect=a.createEffect({vertexSource:d,fragmentSource:f,vertexToken:_.token,fragmentToken:_.token},{attributes:n.getAttributesNames(),uniformsNames:p,uniformBuffersNames:n.getUniformBuffersNames(),samplers:n.getSamplers(),defines:c+"\n"+n.defines.replace("#define SHADOWS","").replace(/#define SHADOW\d/g,""),indexParameters:n.getIndexParameters(),shaderLanguage:n.shaderLanguage},a);for(let e=0;e<_.drawWrapper.length;++e)e!==r&&_.drawWrapper[e]?.setEffect(_.mainDrawWrapper.effect,_.mainDrawWrapper.defines);return _.mainDrawWrapper.effect}}var d=e.i(28548),f=e.i(46533),x=e.i(22052),m=e.i(34149);function g(e){return Math.min(Math.max(Math.floor(Math.max(e.getCaps().maxVertexUniformVectors-40,0)/5),1),256)}class S extends a.MaterialDefines{constructor(e){super(e),this.FOG=!1,this.THIN_INSTANCES=!0,this.LOGARITHMICDEPTH=!1,this.CLIPPLANE=!1,this.CLIPPLANE2=!1,this.CLIPPLANE3=!1,this.CLIPPLANE4=!1,this.CLIPPLANE5=!1,this.CLIPPLANE6=!1,this.SH_DEGREE=0,this.COMPENSATION=!1,this.IS_COMPOUND=!1,this.MAX_PART_COUNT=128,this.USE_SOG=!1,this.USE_SOG_V2=!1,this.rebuild()}hasDefine(e){return -1!==this._keys.indexOf(e)}}class T extends i.PushMaterial{constructor(e,t){super(e,t),this.kernelSize=T.KernelSize,this.minPixelSize=T.MinPixelSize,this._compensation=T.Compensation,this._isDirty=!1,this._sourceMesh=null,this._voxelMissingTextureWarned=new Set,this._voxelPartWorldData=new Float32Array(0),this._voxelPartVisibilityData=[],this.backFaceCulling=!1,this.shadowDepthWrapper=T._MakeGaussianSplattingShadowDepthWrapper(t,this.shaderLanguage)}set compensation(e){this._isDirty=this._isDirty!=e,this._compensation=e}get compensation(){return this._compensation}get hasRenderTargetTextures(){return!1}needAlphaTesting(){return!1}needAlphaBlending(){return!0}isReadyForSubMesh(t,s){let r=s._drawWrapper,a=s.materialDefines;if(a&&this._isDirty&&a.markAsUnprocessed(),r.effect&&this.isFrozen&&r._wasPreviouslyReady&&!0===r._wasPreviouslyUsingInstances)return!0;if(!s.materialDefines||this.pluginManager){this._callbackPluginEventGeneric(4,this._eventInfo);let e=this._eventInfo.defineNames;(!s.materialDefines||e&&Object.keys(e).some(e=>!a.hasDefine(e)))&&(a=s.materialDefines=new S(e))}let i=this.getScene();if(this._isReadyForSubMesh(s))return!0;if(this._eventInfo.isReadyForSubMesh=!0,this._eventInfo.defines=a,this._eventInfo.subMesh=s,this._callbackPluginEventIsReadyForSubMesh(this._eventInfo),!this._eventInfo.isReadyForSubMesh||!this._sourceMesh)return!1;let o=i.getEngine(),l=this._sourceMesh;(0,x.PrepareDefinesForMisc)(t,i,this._useLogarithmicDepth,this.pointsCloud,this.fogEnabled,!1,a,void 0,void 0,void 0,this._isVertexOutputInvariant),(0,x.PrepareDefinesForFrameBoundValues)(i,o,this,a,!0,null,!0),this._eventInfo.defines=a,this._eventInfo.mesh=t,this._callbackPluginEventPrepareDefinesBeforeAttributes(this._eventInfo),(0,x.PrepareDefinesForAttributes)(t,a,!1,!1),this._callbackPluginEventPrepareDefines(this._eventInfo),(o.version>1||o.isWebGPU)&&(a.SH_DEGREE=l.shDegree),a.IS_COMPOUND=l.isCompound,a.MAX_PART_COUNT=g(o),a.USE_SOG=l.useSog,a.USE_SOG_V2=l.useSog&&l.sogParams?.version===2;let h=l.material;if(a.COMPENSATION=h&&h.compensation?h.compensation:T.Compensation,a.isDirty){a.markAsProcessed(),i.resetCachedMaterial(),(0,x.PrepareAttributesForInstances)(T._Attribs,a);let r=T._Attribs.slice(),l=T._Uniforms.slice(),h=T._Samplers.slice(),u=T._UniformBuffers.slice();(0,x.PrepareUniformsAndSamplersList)({uniformsNames:l,uniformBuffersNames:u,samplers:h,defines:a}),(0,n.AddClipPlaneUniforms)(l),this._uniformBufferLayoutBuilt||this.buildUniformLayout(),this._eventInfo.fallbackRank=0,this._eventInfo.defines=a,this._eventInfo.attributes=r,this._eventInfo.uniforms=l,this._eventInfo.samplers=h,this._eventInfo.uniformBuffersNames=u,this._eventInfo.customCode=void 0,this._eventInfo.mesh=t,this._callbackPluginEventGeneric(128,this._eventInfo);let _=a.toString(),c=i.getEngine().createEffect("gaussianSplatting",{attributes:r,uniformsNames:l,uniformBuffersNames:u,samplers:h,defines:_,onCompiled:this.onCompiled,onError:this.onError,indexParameters:{},processCodeAfterIncludes:this._eventInfo.customCode,shaderLanguage:this._shaderLanguage,extraInitializationsAsync:async()=>{1===this._shaderLanguage?await Promise.all([e.A(32365),e.A(43640)]):await Promise.all([e.A(55237),e.A(47780)])}},o);s.setEffect(c,a,this._materialContext)}return!!s.effect&&!!s.effect.isReady()&&(a._renderId=i.getRenderId(),r._wasPreviouslyReady=!0,r._wasPreviouslyUsingInstances=!0,this._isDirty=!1,!0)}setSourceMesh(e){this._sourceMesh=e}getSourceMesh(){return this._sourceMesh}static BindEffect(e,t,s){let r=s.getEngine(),a=s.activeCamera,i=r.getRenderWidth()*a.viewport.width,n=r.getRenderHeight()*a.viewport.height,l=e.material;if(!l._sourceMesh)return;let h=l._sourceMesh,u=a?.rigParent?.rigCameras.length||1;t.setFloat2("invViewport",1/(i/u),1/n);let _=1e3;if(a){let e=a.getProjectionMatrix().m[5];_=a.fovMode==o.Camera.FOVMODE_VERTICAL_FIXED?n*e/2:i*e/2}if(t.setFloat2("focal",_,_),t.setFloat("kernelSize",l&&l.kernelSize?l.kernelSize:T.KernelSize),t.setFloat("minPixelSize",l?l.minPixelSize:T.MinPixelSize),t.setFloat("alpha",l.alpha),s.bindEyePosition(t,"eyePosition",!0),h.covariancesATexture){let e=h.covariancesATexture.getSize();if(t.setFloat2("dataTextureSize",e.width,e.height),t.setTexture("covariancesATexture",h.covariancesATexture),t.setTexture("covariancesBTexture",h.covariancesBTexture),t.setTexture("centersTexture",h.centersTexture),t.setTexture("colorsTexture",h.colorsTexture),h.useSog)T._BindSogUniforms(h,t);else if(h.shTextures)for(let e=0;e<h.shTextures.length;e++)t.setTexture(`shTexture${e}`,h.shTextures[e]);h.bindExtraEffectUniforms(t)}}static _BindSogUniforms(e,t){let s=e.sogParams;s&&(t.setTexture("sogQuatsTexture",e.rotationsATexture),e.shTextures&&e.shTextures.length>=2&&(t.setTexture("sogShNCentroidsTexture",e.shTextures[0]),t.setTexture("sogShNLabelsTexture",e.shTextures[1])),s.codebookTexture&&t.setTexture("sogCodebookTexture",s.codebookTexture),t.setFloat3("sogMeansMin",s.meansMin[0],s.meansMin[1],s.meansMin[2]),t.setFloat3("sogMeansMax",s.meansMax[0],s.meansMax[1],s.meansMax[2]),s.scalesMin&&s.scalesMax&&(t.setFloat3("sogScalesMin",s.scalesMin[0],s.scalesMin[1],s.scalesMin[2]),t.setFloat3("sogScalesMax",s.scalesMax[0],s.scalesMax[1],s.scalesMax[2])),s.sh0Min&&s.sh0Max&&(t.setFloat4("sogSh0Min",s.sh0Min[0],s.sh0Min[1],s.sh0Min[2],s.sh0Min[3]),t.setFloat4("sogSh0Max",s.sh0Max[0],s.sh0Max[1],s.sh0Max[2],s.sh0Max[3])),t.setFloat("sogShnMin",s.shnMin??0),t.setFloat("sogShnMax",s.shnMax??0),t.setFloat("sogShCoeffCount",s.shCoeffCount??0))}bindForSubMesh(e,t,s){let r=this.getScene(),a=s.materialDefines;if(!a)return;let i=s.effect;i&&(this._activeEffect=i,t.getMeshUniformBuffer().bindToEffect(i,"Mesh"),t.transferToEffect(e),this._mustRebind(r,i,s,t.visibility)?(this.bindView(i),this.bindViewProjection(i),T.BindEffect(t,this._activeEffect,r),(0,n.BindClipPlane)(i,this,r)):r.getEngine()._features.needToAlwaysBindUniformBuffers&&(this._needToBindSceneUbo=!0),(0,x.BindFogParameters)(r,t,i),this.useLogarithmicDepth&&(0,x.BindLogDepth)(a,i,r),this._eventInfo.subMesh=s,this._callbackPluginEventBindForSubMesh(this._eventInfo),this._afterBind(t,this._activeEffect,s))}static _BindEffectUniforms(e,t,s,r){let a,i,n=r.getEngine(),l=s.getEffect(),h=r.activeCamera;if(!h)return;e.getMeshUniformBuffer().bindToEffect(l,"Mesh"),s.bindView(l),s.bindViewProjection(l);let u=n.getRenderWidth()*h.viewport.width,_=n.getRenderHeight()*h.viewport.height;l.setFloat2("invViewport",1/u,1/_);let c=1e3;if(h){let e=h.getProjectionMatrix().m[5];c=h.fovMode==o.Camera.FOVMODE_VERTICAL_FIXED?_*e/2:u*e/2}if(l.setFloat2("focal",c,c),l.setFloat("kernelSize",t&&t.kernelSize?t.kernelSize:T.KernelSize),l.setFloat("minPixelSize",t?t.minPixelSize:T.MinPixelSize),l.setFloat("alpha",t.alpha),h.mode===o.Camera.ORTHOGRAPHIC_CAMERA?(a=!n.useReverseDepthBuffer&&n.isNDCHalfZRange?0:1,i=n.useReverseDepthBuffer&&n.isNDCHalfZRange?0:1):(a=n.useReverseDepthBuffer&&n.isNDCHalfZRange?h.minZ:n.isNDCHalfZRange?0:h.minZ,i=n.useReverseDepthBuffer&&n.isNDCHalfZRange?0:h.maxZ),l.setFloat2("depthValues",a,a+i),e.covariancesATexture){let t=e.covariancesATexture.getSize();l.setFloat2("dataTextureSize",t.width,t.height),l.setTexture("covariancesATexture",e.covariancesATexture),l.setTexture("covariancesBTexture",e.covariancesBTexture),l.setTexture("centersTexture",e.centersTexture),l.setTexture("colorsTexture",e.colorsTexture),e.bindExtraEffectUniforms(l)}}_bindVoxelEffectUniforms(e,t,r){if(!e.rotationsATexture&&(e.needsRotationScaleTextures=!0,!e.rotationsATexture))return!e.centersTexture||e.splatsData||this._voxelMissingTextureWarned.has(e.uniqueId)||(this._voxelMissingTextureWarned.add(e.uniqueId),s.Logger.Error("IBL voxelization: GaussianSplattingMesh rotation/scale textures are not available. Create the mesh either with keepInRam=true or needsRotationScaleTextures=true to enable IBL shadow voxelization.")),!1;this._voxelMissingTextureWarned.delete(e.uniqueId);let a=r.getEffect();e.getMeshUniformBuffer().bindToEffect(a,"Mesh");let i=e.rotationsATexture.getSize();if(a.setFloat("alpha",t.alpha),a.setFloat2("dataTextureSize",i.width,i.height),a.setTexture("rotationsATexture",e.rotationsATexture),a.setTexture("rotationsBTexture",e.rotationsBTexture),a.setTexture("rotationScaleTexture",e.rotationScaleTexture),a.setTexture("centersTexture",e.centersTexture),a.setTexture("colorsTexture",e.colorsTexture),e.partIndicesTexture){a.setTexture("partIndicesTexture",e.partIndicesTexture);let t=16*e.partCount;this._voxelPartWorldData.length!==t&&(this._voxelPartWorldData=new Float32Array(t));let s=this._voxelPartWorldData;for(let t=0;t<e.partCount;t++)e.getWorldMatrixForPart(t).toArray(s,16*t);a.setMatrices("partWorld",s);let r=this._voxelPartVisibilityData;r.length=e.partCount;for(let t=0;t<e.partCount;t++)r[t]=e.partVisibility[t]??1;a.setArray("partVisibility",r)}return!0}makeVoxelRenderingMaterial(t,s,r,a=!1){let i=[`#define MAX_DRAW_BUFFERS ${r}`];i.push("#define IS_FOR_VOXELIZATION"),a&&(i.push("#define IS_COMPOUND 1"),i.push(`#define MAX_PART_COUNT ${g(t.getEngine())}`));let n=new d.ShaderMaterial("gaussianSplattingVoxelRender",t,{vertex:"gaussianSplattingVoxel",fragment:"gaussianSplattingVoxel"},{attributes:T._Attribs,uniforms:T._VoxelUniforms,samplers:T._VoxelSamplers,uniformBuffers:T._UniformBuffers,shaderLanguage:s,defines:i,needAlphaBlending:!1,extraInitializationsAsync:async()=>{1===s?await Promise.all([e.A(61777),e.A(484)]):await Promise.all([e.A(37070),e.A(4987)])}});return n.cullBackFaces=!1,n.backFaceCulling=!1,n.depthFunction=m.Engine.ALWAYS,n.onBindObservable.add(e=>{let t=e.material;this._bindVoxelEffectUniforms(e,t,n)}),n}makeDepthRenderingMaterial(e,t,s=!1,r=!1){let a=["#define DEPTH_RENDER"];s&&a.push("#define ALPHA_BLENDED_DEPTH"),r&&(a.push("#define IS_COMPOUND 1"),a.push(`#define MAX_PART_COUNT ${g(e.getEngine())}`));let i=new d.ShaderMaterial("gaussianSplattingDepthRender",e,{vertex:"gaussianSplattingDepth",fragment:"gaussianSplattingDepth"},{attributes:T._Attribs,uniforms:T._Uniforms,samplers:T._Samplers,uniformBuffers:T._UniformBuffers,shaderLanguage:t,defines:a,needAlphaBlending:s});return i.doNotSerialize=!0,i.backFaceCulling=!1,i.onBindObservable.add(t=>{let s=t.material,r=s?.getSourceMesh()??t;T._BindEffectUniforms(r,s,i,e)}),i}static _MakeGaussianSplattingShadowDepthWrapper(e,t){let s=new d.ShaderMaterial("gaussianSplattingDepth",e,{vertex:"gaussianSplattingDepth",fragment:"gaussianSplattingDepth"},{attributes:T._Attribs,uniforms:T._Uniforms,samplers:T._Samplers,uniformBuffers:T._UniformBuffers,shaderLanguage:t});s.doNotSerialize=!0,s.backFaceCulling=!1;let r=new p(s,e,{standalone:!0});return s.onBindObservable.add(t=>{let r=t.material,a=r?.getSourceMesh()??t;T._BindEffectUniforms(a,r,s,e)}),r}clone(e){let s=t.SerializationHelper.Clone(()=>new T(e,this.getScene()),this);return s.id=e,s.name=e,this._clonePlugins(s,""),s}serialize(){let e=super.serialize();return e.customType="BABYLON.GaussianSplattingMaterial",e}getClassName(){return"GaussianSplattingMaterial"}static Parse(e,s,r){let a=t.SerializationHelper.Parse(()=>new T(e.name,s),e,s,r);return f.Material._ParsePlugins(e,a,s,r),a}}T.KernelSize=.3,T.Compensation=!1,T.MinPixelSize=0,T._Attribs=[r.VertexBuffer.PositionKind,"splatIndex0","splatIndex1","splatIndex2","splatIndex3"],T._Samplers=["covariancesATexture","covariancesBTexture","centersTexture","colorsTexture","shTexture0","shTexture1","shTexture2","shTexture3","shTexture4","partIndicesTexture","sogQuatsTexture","sogShNCentroidsTexture","sogShNLabelsTexture","sogCodebookTexture"],T._UniformBuffers=["Scene","Mesh"],T._VoxelUniforms=["world","dataTextureSize","alpha","invWorldScale","viewMatrix","nearPlane","farPlane","stepSize","partWorld","partVisibility","axis"],T._VoxelSamplers=["rotationsATexture","rotationsBTexture","rotationScaleTexture","centersTexture","colorsTexture","partIndicesTexture"],T._Uniforms=["world","view","projection","vFogInfos","vFogColor","logarithmicDepthConstant","invViewport","dataTextureSize","focal","eyePosition","kernelSize","minPixelSize","alpha","depthValues","partWorld","partVisibility","sogMeansMin","sogMeansMax","sogScalesMin","sogScalesMax","sogSh0Min","sogSh0Max","sogShnMin","sogShnMax","sogShCoeffCount"],e.s(["GaussianSplattingMaterial",0,T,"GetGaussianSplattingMaxPartCount",0,g],66861)},51483,31169,e=>{"use strict";var t,s,r,a,i=e.i(69400),n=e.i(66861),o=e.i(46951),l=e.i(64831),h=e.i(64378),u=e.i(16347),_=e.i(3864),c=e.i(24032),p=e.i(6563),d=e.i(63235);let f=d.HighestCommonFactor,x={...d,TwoPi:2*Math.PI,Sign:Math.sign,Log2:Math.log2,HCF:f};var m=e.i(84856),g=e.i(23003),S=e.i(64433);let T="positions",M="partMatrices",y="partIndices",D=function(e){let t,s,r,a,i,n,o,l,h=null;e.onmessage=u=>{let _=u.data.command;if("positions"===_)t=u.data.positions;else if("positionsUpdate"===_)t&&u.data.data&&t.set(u.data.data,u.data.offset);else if("partMatrices"===_)a=u.data.partMatrices;else if("partIndices"===_)r=u.data.partIndices;else if("intervals"===_)h=u.data.intervals;else if("sort"===_){let _=u.data.cameraId,c=u.data.sortRequestId,p=u.data.rangeVersion,d=u.data.worldMatrix,f=u.data.cameraForward,x=u.data.cameraPosition;if(s=u.data.depthMix,!t||!f)return void e.postMessage({command:"sorted",depthMix:s,cameraId:_,sortRequestId:c,rangeVersion:p},[s.buffer]);let m=!1!==u.data.useCountingSort,g=!!u.data.logSortPerformance,S=u.data.rightHanded?-1:1,T=h,M=t.length/4,y=M;if(T){y=0;for(let e=1;e<T.length;e+=2)y+=T[e]}let D=Math.max(y+15&-16,16),b=f[0]*x[0]+f[1]*x[1]+f[2]*x[2],I=e=>[f[0]*e[0]+f[1]*e[1]+f[2]*e[2],f[0]*e[4]+f[1]*e[5]+f[2]*e[6],f[0]*e[8]+f[1]*e[9]+f[2]*e[10],f[0]*e[12]+f[1]*e[13]+f[2]*e[14]-b],w=globalThis.performance,A=g&&w?w.now():0;try{if(m){let e=new Uint32Array(s.buffer);if(!i||i.length<y){let e=Math.max(y,16);i=new Uint32Array(e),n=new Float32Array(e),o=new Uint32Array(e)}let h=!!(a&&r),u=[],_=0,c=0,p=0,f=0,x=0;if(h)u=a.map(e=>{let t=I(e);return t[0]*=S,t[1]*=S,t[2]*=S,t[3]*=S,t}),_=r.length;else{let e=I(d);c=e[0]*S,p=e[1]*S,f=e[2]*S,x=e[3]*S}let m=0,g=1/0,b=-1/0,w=T?T.length:2;for(let e=0;e<w;e+=2){let s=T?T[e]:0,a=s+(T?T[e+1]:M);if(h)for(let e=s;e<a;e++){let s=4*e,a=u[r[e<_?e:_-1]],o=a[0]*t[s]+a[1]*t[s+1]+a[2]*t[s+2]+a[3];i[m]=e,n[m]=o,m++,o<g&&(g=o),o>b&&(b=o)}else for(let e=s;e<a;e++){let s=4*e,r=c*t[s]+p*t[s+1]+f*t[s+2]+x;i[m]=e,n[m]=r,m++,r<g&&(g=r),r>b&&(b=r)}}let A=Math.max(10,Math.min(20,Math.round(Math.log2(Math.max(1,y)/4)))),v=2**A+1;l&&l.length===v?l.fill(0):l=new Uint32Array(v);let C=b-g;if(C>1e-12){let e=(v-1)/C,t=v-1;for(let s=0;s<y;s++){let r=(b-n[s])*e>>>0;r>t&&(r=t),o[s]=r,l[r]++}}else{for(let e=0;e<y;e++)o[e]=0;l[0]=y}for(let e=1;e<v;e++)l[e]+=l[e-1];for(let t=0;t<y;t++){let s=--l[o[t]];e[2*s]=i[t]}for(let t=y;t<D;t++)e[2*t]=0}else{let e=new Uint32Array(s.buffer),i=new Float32Array(s.buffer);if(T){let t=0;for(let s=0;s<T.length;s+=2){let r=T[s],a=T[s+1];for(let s=r;s<r+a;s++)e[2*t++]=s}for(;t<D;t++)e[2*t]=0}else for(let t=0;t<D;t++)e[2*t]=t;if(a&&r){let s=a.map(e=>I(e)),n=r.length;for(let a=0;a<D;a++){let o=e[2*a],l=s[r[Math.min(o,n-1)]];i[2*a+1]=l[0]*t[4*o+0]+l[1]*t[4*o+1]+l[2]*t[4*o+2]+l[3],e[2*a+1]=~e[2*a+1]}}else{let[s,r,a,n]=I(d);for(let o=0;o<D;o++){let l=e[2*o];i[2*o+1]=s*t[4*l+0]+r*t[4*l+1]+a*t[4*l+2]+n,e[2*o+1]=~e[2*o+1]}}s.sort()}}catch(e){console.error("Gaussian splat sort worker encountered an error (will retry next frame):",e)}g&&w&&console.log(`[GaussianSplatting] ${m?"counting":"legacy"} sort: ${y} splats in ${(w.now()-A).toFixed(2)}ms`),e.postMessage({command:"sorted",depthMix:s,cameraId:_,sortRequestId:c,rangeVersion:p},[s.buffer])}}},b="u">typeof _native,I=b?_native:null,w=(e,t)=>{let s=(1<<t)-1;return(e&s)/s},A=(e,t)=>{t.x=w(e>>>21,11),t.y=w(e>>>11,10),t.z=w(e,11)},v=(e,t)=>{t[0]=255*w(e>>>24,8),t[1]=255*w(e>>>16,8),t[2]=255*w(e>>>8,8),t[3]=255*w(e,8)},C=(e,t)=>{let s=1/(.5*Math.sqrt(2)),r=(w(e>>>20,10)-.5)*s,a=(w(e>>>10,10)-.5)*s,i=(w(e,10)-.5)*s,n=Math.sqrt(1-(r*r+a*a+i*i));switch(e>>>30){case 0:t.set(n,r,a,i);break;case 1:t.set(r,n,a,i);break;case 2:t.set(r,a,n,i);break;case 3:t.set(r,a,i,n)}};(t=r||(r={}))[t.FLOAT=0]="FLOAT",t[t.INT=1]="INT",t[t.UINT=2]="UINT",t[t.DOUBLE=3]="DOUBLE",t[t.UCHAR=4]="UCHAR",t[t.UNDEFINED=5]="UNDEFINED",(s=a||(a={}))[s.MIN_X=0]="MIN_X",s[s.MIN_Y=1]="MIN_Y",s[s.MIN_Z=2]="MIN_Z",s[s.MAX_X=3]="MAX_X",s[s.MAX_Y=4]="MAX_Y",s[s.MAX_Z=5]="MAX_Z",s[s.MIN_SCALE_X=6]="MIN_SCALE_X",s[s.MIN_SCALE_Y=7]="MIN_SCALE_Y",s[s.MIN_SCALE_Z=8]="MIN_SCALE_Z",s[s.MAX_SCALE_X=9]="MAX_SCALE_X",s[s.MAX_SCALE_Y=10]="MAX_SCALE_Y",s[s.MAX_SCALE_Z=11]="MAX_SCALE_Z",s[s.PACKED_POSITION=12]="PACKED_POSITION",s[s.PACKED_ROTATION=13]="PACKED_ROTATION",s[s.PACKED_SCALE=14]="PACKED_SCALE",s[s.PACKED_COLOR=15]="PACKED_COLOR",s[s.X=16]="X",s[s.Y=17]="Y",s[s.Z=18]="Z",s[s.SCALE_0=19]="SCALE_0",s[s.SCALE_1=20]="SCALE_1",s[s.SCALE_2=21]="SCALE_2",s[s.DIFFUSE_RED=22]="DIFFUSE_RED",s[s.DIFFUSE_GREEN=23]="DIFFUSE_GREEN",s[s.DIFFUSE_BLUE=24]="DIFFUSE_BLUE",s[s.OPACITY=25]="OPACITY",s[s.F_DC_0=26]="F_DC_0",s[s.F_DC_1=27]="F_DC_1",s[s.F_DC_2=28]="F_DC_2",s[s.F_DC_3=29]="F_DC_3",s[s.ROT_0=30]="ROT_0",s[s.ROT_1=31]="ROT_1",s[s.ROT_2=32]="ROT_2",s[s.ROT_3=33]="ROT_3",s[s.MIN_COLOR_R=34]="MIN_COLOR_R",s[s.MIN_COLOR_G=35]="MIN_COLOR_G",s[s.MIN_COLOR_B=36]="MIN_COLOR_B",s[s.MAX_COLOR_R=37]="MAX_COLOR_R",s[s.MAX_COLOR_G=38]="MAX_COLOR_G",s[s.MAX_COLOR_B=39]="MAX_COLOR_B",s[s.SH_0=40]="SH_0",s[s.SH_1=41]="SH_1",s[s.SH_2=42]="SH_2",s[s.SH_3=43]="SH_3",s[s.SH_4=44]="SH_4",s[s.SH_5=45]="SH_5",s[s.SH_6=46]="SH_6",s[s.SH_7=47]="SH_7",s[s.SH_8=48]="SH_8",s[s.SH_9=49]="SH_9",s[s.SH_10=50]="SH_10",s[s.SH_11=51]="SH_11",s[s.SH_12=52]="SH_12",s[s.SH_13=53]="SH_13",s[s.SH_14=54]="SH_14",s[s.SH_15=55]="SH_15",s[s.SH_16=56]="SH_16",s[s.SH_17=57]="SH_17",s[s.SH_18=58]="SH_18",s[s.SH_19=59]="SH_19",s[s.SH_20=60]="SH_20",s[s.SH_21=61]="SH_21",s[s.SH_22=62]="SH_22",s[s.SH_23=63]="SH_23",s[s.SH_24=64]="SH_24",s[s.SH_25=65]="SH_25",s[s.SH_26=66]="SH_26",s[s.SH_27=67]="SH_27",s[s.SH_28=68]="SH_28",s[s.SH_29=69]="SH_29",s[s.SH_30=70]="SH_30",s[s.SH_31=71]="SH_31",s[s.SH_32=72]="SH_32",s[s.SH_33=73]="SH_33",s[s.SH_34=74]="SH_34",s[s.SH_35=75]="SH_35",s[s.SH_36=76]="SH_36",s[s.SH_37=77]="SH_37",s[s.SH_38=78]="SH_38",s[s.SH_39=79]="SH_39",s[s.SH_40=80]="SH_40",s[s.SH_41=81]="SH_41",s[s.SH_42=82]="SH_42",s[s.SH_43=83]="SH_43",s[s.SH_44=84]="SH_44",s[s.SH_45=85]="SH_45",s[s.SH_46=86]="SH_46",s[s.SH_47=87]="SH_47",s[s.SH_48=88]="SH_48",s[s.SH_49=89]="SH_49",s[s.SH_50=90]="SH_50",s[s.SH_51=91]="SH_51",s[s.SH_52=92]="SH_52",s[s.SH_53=93]="SH_53",s[s.SH_54=94]="SH_54",s[s.SH_55=95]="SH_55",s[s.SH_56=96]="SH_56",s[s.SH_57=97]="SH_57",s[s.SH_58=98]="SH_58",s[s.SH_59=99]="SH_59",s[s.SH_60=100]="SH_60",s[s.SH_61=101]="SH_61",s[s.SH_62=102]="SH_62",s[s.SH_63=103]="SH_63",s[s.SH_64=104]="SH_64",s[s.SH_65=105]="SH_65",s[s.SH_66=106]="SH_66",s[s.SH_67=107]="SH_67",s[s.SH_68=108]="SH_68",s[s.SH_69=109]="SH_69",s[s.SH_70=110]="SH_70",s[s.SH_71=111]="SH_71",s[s.UNDEFINED=112]="UNDEFINED";class P extends l.Mesh{static _GetSplatDataBytes(e){return ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}static _GetSplatDataFloats(e){let t=P._GetSplatDataBytes(e),s=Float32Array.BYTES_PER_ELEMENT;if(t.byteLength%s!=0)throw Error(`Gaussian splat data byte length (${t.byteLength}) is not divisible by ${s} and cannot be reinterpreted as Float32 data.`);if(t.byteOffset%s!=0){let e=new Uint8Array(t.byteLength);return e.set(t),new Float32Array(e.buffer,0,t.byteLength/s)}return new Float32Array(t.buffer,t.byteOffset,t.byteLength/s)}static _BuildSplatRangeData(e,t){if(null===e)return{ranges:null,count:t,key:""};let s=[],r=0,a="";for(let i of e){let e=Math.max(0,Math.floor(i.offset)),n=Math.max(0,Math.min(t,e+Math.max(0,Math.floor(i.count)))-e);0!==n&&(s.push(e,n),r+=n,a+=`${e}:${n};`)}return{ranges:new Uint32Array(s),count:r,key:a}}get disableDepthSort(){return this._disableDepthSort}set disableDepthSort(e){!this._disableDepthSort&&e?(this._worker?.terminate(),this._worker=null,this._disableDepthSort=!0):this._disableDepthSort&&!e&&(this._disableDepthSort=!1,this._sortIsDirty=!0,this._instantiateWorker())}get viewDirectionFactor(){return i.Vector3.OneReadOnly}get shDegree(){return this._shDegree}set shDegree(e){let t=Math.max(0,Math.min(Math.round(e),this._maxShDegree));this._shDegree!==t&&(this._shDegree=t,this.material?.resetDrawCache())}get maxShDegree(){return this._maxShDegree}get splatCount(){return this._splatIndex?.length}get renderedSplatCount(){return this._activeSplatRanges?this._activeSplatRenderCount:this._vertexCount}setSplatIndexRanges(e){this._setSplatIndexRanges(e)}_setSplatIndexRanges(e){let t=P._BuildSplatRangeData(e,this._vertexCount);(null===this._activeSplatRanges?null===t.ranges:null!==t.ranges&&this._activeSplatRangeKey===t.key)||(this._activeSplatRanges=t.ranges,this._activeSplatRangeKey=t.key,this._activeSplatRenderCount=t.count,this._activeRangeVersion++,this._postIntervalsToWorker(),this._worker?(this._ensureDepthMixSize(Math.max(this._activeSplatRenderCount+15&-16,16)),this._sortIsDirty=!0):this._updateSplatIndexBuffer(this._vertexCount),this._postToWorker(!0))}get _isDepthSortSettled(){return this._readyToDisplay&&!this._sortIsDirty&&this._canPostToWorker}_ensureDepthMixSize(e){!b&&(this._depthMix&&this._depthMix.length===e&&0!==this._depthMix.buffer.byteLength||(this._depthMix=new BigInt64Array(e)))}_postIntervalsToWorker(){if(!this._worker)return;let e=new Uint32Array(this._activeSplatRanges?this._activeSplatRanges:[0,this._vertexCount]);this._worker.postMessage({command:"intervals",intervals:e},[e.buffer])}_setExternalWorkBuffer(e,t,s,r,a,i){this._covariancesATexture=t,this._covariancesBTexture=s,this._centersTexture=e,this._colorsTexture=r,this._splatPositions=a,this._vertexCount=i,this._activeSplatRanges=null,this._activeSplatRangeKey="",this._activeSplatRenderCount=0,this._readyToDisplay=!1,this._instantiateWorker(),this.setEnabled(!0)}get splatsData(){return this._keepInRam?this._splatsData:null}get shData(){return this._keepInRam?this._shData:null}get splatSizeRange(){return isFinite(this._splatSizeMin)&&isFinite(this._splatSizeMax)?{min:this._splatSizeMin,max:this._splatSizeMax}:null}get covariancesATexture(){return this._covariancesATexture}get covariancesBTexture(){return this._covariancesBTexture}get centersTexture(){return this._centersTexture}get colorsTexture(){return this._colorsTexture}get rotationsATexture(){return this._rotationsATexture}get rotationsBTexture(){return this._rotationsBTexture}get rotationScaleTexture(){return this._rotationScaleTexture}get needsRotationScaleTextures(){return this._needsRotationScaleTextures}set needsRotationScaleTextures(e){this._needsRotationScaleTextures!==e&&(this._needsRotationScaleTextures=e,e&&this._covariancesATexture&&(this._splatsData?this.updateData(this._splatsData,this._shData??void 0,{flipY:!1},void 0,this._shDegree):u.Logger.Error("GaussianSplattingMeshBase: needsRotationScaleTextures was enabled after the mesh was already loaded, but the splat data is not kept in RAM. The rotation and scale matrix textures cannot be initialized. Please reload the mesh data via updateData() or construct with keepInRam=true.")))}get shTextures(){return this._shTextures}get useSog(){return this._useSog}get sogParams(){return this._sogParams}setSogTextureData(e){if(this._useSog=!0,this._sogParams?.codebookTexture?.dispose(),this._sogParams=e,this._vertexCount=e.splatCount,this._shDegree=e.shDegree??0,this._maxShDegree=this._shDegree,this._splatPositions=e.positions,this._covariancesATexture?.dispose(),this._covariancesBTexture?.dispose(),this._centersTexture?.dispose(),this._colorsTexture?.dispose(),this._rotationsATexture?.dispose(),this._shTextures)for(let e of this._shTextures)e.dispose();this._centersTexture=e.meansTextureL,this._covariancesATexture=e.meansTextureU,this._covariancesBTexture=e.scalesTexture,this._rotationsATexture=e.quatsTexture,this._colorsTexture=e.sh0Texture;let t=[];e.shCentroidsTexture&&t.push(e.shCentroidsTexture),e.shLabelsTexture&&t.push(e.shLabelsTexture),this._shTextures=t.length?t:null,this._material?.resetDrawCache();let s=e.meansTextureL.getSize();this._textureSize.x=s.width,this._textureSize.y=s.height,this._updateSplatIndexBuffer(this._vertexCount),this._instantiateWorker();let r=e.positions,a=new i.Vector3(1/0,1/0,1/0),n=new i.Vector3(-1/0,-1/0,-1/0);for(let e=0;e<this._vertexCount;e++){let t=r[4*e+0],s=r[4*e+1],i=r[4*e+2];t<a.x&&(a.x=t),s<a.y&&(a.y=s),i<a.z&&(a.z=i),t>n.x&&(n.x=t),s>n.y&&(n.y=s),i>n.z&&(n.z=i)}this.getBoundingInfo().reConstruct(a,n,this.getWorldMatrix()),this.setEnabled(!0),this._sortIsDirty=!0}get kernelSize(){return this._material instanceof n.GaussianSplattingMaterial?this._material.kernelSize:0}get compensation(){return this._material instanceof n.GaussianSplattingMaterial&&this._material.compensation}get minPixelSize(){return this._material instanceof n.GaussianSplattingMaterial?this._material.minPixelSize:0}set minPixelSize(e){this._material instanceof n.GaussianSplattingMaterial&&(this._material.minPixelSize=Math.max(0,e))}set material(e){this._material=e,this._material.backFaceCulling=!1,this._material.cullBackFaces=!1,e.resetDrawCache()}get material(){return this._material}static _MakeSplatGeometryForMesh(e){let t=new h.VertexData,s=[-2,-2,0,2,-2,0,2,2,0,-2,2,0],r=[0,1,2,0,2,3],a=[],i=[];for(let e=0;e<P._BatchSize;e++){for(let t=0;t<12;t++)2==t||5==t||8==t||11==t?a.push(e):a.push(s[t]);i.push(r.map(t=>t+4*e))}t.positions=a,t.indices=i.flat(),t.applyToMesh(e)}constructor(e,t=null,s=null,r=!1){super(e,s),this.safeOrbitCameraLimits=null,this._vertexCount=0,this._worker=null,this._modelViewProjectionMatrix=i.Matrix.Identity(),this._canPostToWorker=!0,this._readyToDisplay=!1,this._sortRequestId=0,this._activeRangeVersion=0,this._hasRenderedOnce=!1,this._covariancesATexture=null,this._covariancesBTexture=null,this._centersTexture=null,this._colorsTexture=null,this._rotationsATexture=null,this._rotationsBTexture=null,this._rotationScaleTexture=null,this._rotationDataA=null,this._rotationDataB=null,this._rotationScaleData=null,this._needsRotationScaleTextures=!1,this._splatPositions=null,this._splatIndex=null,this._shTextures=null,this._splatsData=null,this._shData=null,this._textureSize=new i.Vector2(0,0),this._keepInRam=!1,this._alwaysRetainSplatsData=!1,this._flipY=!1,this._delayedTextureUpdate=null,this._useRGBACovariants=!1,this._useSog=!1,this._sogParams=null,this._material=null,this._tmpCovariances=[0,0,0,0,0,0],this._splatSizeMin=1/0,this._splatSizeMax=-1/0,this._sortIsDirty=!1,this._activeSplatRanges=null,this._activeSplatRangeKey="",this._activeSplatRenderCount=0,this._cachedBoundingMin=null,this._cachedBoundingMax=null,this._shDegree=0,this._maxShDegree=0,this._cameraViewInfos=new Map,this.onPartCountChangedObservable=new _.Observable,this.onPartRemovedObservable=new _.Observable,this.viewUpdateThreshold=P._DefaultViewUpdateThreshold,this._disableDepthSort=!1,this._loadingPromise=null,this._updateTextureFromData=(e,t,s,r,a)=>{this._getTextureDataUpdateEngine().updateTextureData(e.getInternalTexture(),t,0,r,s,a,0,0,!1)},this._updateTextureFromDataRect=(e,t,s,r,a,i)=>{this._getTextureDataUpdateEngine().updateTextureData(e.getInternalTexture(),t,s,r,a,i,0,0,!1)},this.subMeshes=[],new o.SubMesh(0,0,4*P._BatchSize,0,6*P._BatchSize,this),this.setEnabled(!1),this._useRGBACovariants=!this.getEngine().isWebGPU&&1===this.getEngine().version,function(e){if(b)return;let t=e.customAnimationFrameRequester;if(t?._gsInterFrameYield)return t._refCount++;if(t)return;let s=0,r=0;e.customAnimationFrameRequester={_gsInterFrameYield:!0,_refCount:1,requestAnimationFrame:e=>s=setTimeout(()=>{r=requestAnimationFrame(e)},0),cancelAnimationFrame:e=>{clearTimeout(s),r>0&&cancelAnimationFrame(r),s=0,r=0}}}(this.getEngine()),this._keepInRam=r,t&&(this._loadingPromise=this.loadFileAsync(t));const a=new n.GaussianSplattingMaterial(this.name+"_material",this._scene);a.setSourceMesh(this),a.doNotSerialize=!0,this._material=a,this._scene.onCameraRemovedObservable.add(e=>{let t=e.uniqueId,s=this._cameraViewInfos.get(t);s&&(this._geometry===s.mesh.geometry&&(this._geometry=null),s.mesh.dispose(),this._cameraViewInfos.delete(t))})}getLoadingPromise(){return this._loadingPromise}getClassName(){return"GaussianSplattingMeshBase"}getTotalVertices(){return this._vertexCount}isReady(e=!1){if(!super.isReady(e,!0))return!1;if(!this._readyToDisplay)return this._postToWorker(!0),!1;if(!this._hasRenderedOnce&&!this._disableDepthSort){let e=this._scene.activeCameras?.length?this._scene.activeCameras:[this._scene.activeCamera],t=this.computeWorldMatrix(!0),s=!1;for(let r of e){if(!r)continue;let e=this._cameraViewInfos.get(r.uniqueId);if(!e||!e.splatIndexBufferSet||e.sortAppliedId!==e.sortRequestId){s=!0;continue}this._isSortStateDirty(e,t,r,!0)&&(s=!0)}if(s)return this._postToWorker(!0),!1}if(!this._geometry&&this._cameraViewInfos.size&&(this._geometry=this._cameraViewInfos.values().next().value.mesh.geometry),this.material&&this.material.shadowDepthWrapper){let e=this._scene.getEngine(),t=e.currentRenderPassId;try{for(let t of this._scene.lights){let s=t.getShadowGenerator();if(!s)continue;let r=s.getShadowMap(),a=r?.renderPassIds;if(a&&0!==a.length){for(let t=0;t<a.length;++t)for(let r of(e.currentRenderPassId=a[t],this.subMeshes))if(!s.isReady(r,!0,!1))return!1}}}finally{e.currentRenderPassId=t}}return!0}_getCameraDirection(e){let t=e.getViewMatrix(),s=e.getProjectionMatrix(),r=i.TmpVectors.Matrix[0];t.multiplyToRef(s,r);let a=this.computeWorldMatrix(!0),n=i.TmpVectors.Matrix[1];a.multiplyToRef(t,n),a.multiplyToRef(r,this._modelViewProjectionMatrix);let o=i.TmpVectors.Vector3[1];return o.set(n.m[2],n.m[6],n.m[10]),o.normalize(),o}_isSortStateDirty(e,t,s,r=!1){let a=t.m,i=e.sortWorldMatrix.m;for(let e=0;e<i.length;e++)if(!x.WithinEpsilon(i[e],a[e],this.viewUpdateThreshold))return!0;if(r)return!1;let n=s.getViewMatrix();if(!x.WithinEpsilon(e.sortCameraForward.x,n.m[2],this.viewUpdateThreshold)||!x.WithinEpsilon(e.sortCameraForward.y,n.m[6],this.viewUpdateThreshold)||!x.WithinEpsilon(e.sortCameraForward.z,n.m[10],this.viewUpdateThreshold))return!0;let o=s.globalPosition;return!x.WithinEpsilon(e.sortCameraPosition.x,o.x,this.viewUpdateThreshold)||!x.WithinEpsilon(e.sortCameraPosition.y,o.y,this.viewUpdateThreshold)||!x.WithinEpsilon(e.sortCameraPosition.z,o.z,this.viewUpdateThreshold)}_postToWorker(e=!1){let t=this._scene.getFrameId(),s=!1;this._cameraViewInfos.forEach(e=>{e.frameIdLastUpdate!==t&&(s=!0)});let r=this._scene.activeCameras?.length?this._scene.activeCameras:[this._scene.activeCamera],a=[];r.forEach(e=>{if(!e)return;let s=e.uniqueId,r=this._cameraViewInfos.get(s);if(r)a.push(r);else{let r=new l.Mesh(this.name+"_cameraMesh_"+s,this._scene);if(r.doNotSerialize=!0,r.reservedDataStore={hidden:!0},r.setEnabled(!1),r.material=this.material,r.material&&r.material instanceof n.GaussianSplattingMaterial){let e=r.material;e.getSourceMesh()||e.setSourceMesh(this)}P._MakeSplatGeometryForMesh(r);let o={camera:e,cameraDirection:new i.Vector3(0,0,0),sortWorldMatrix:i.Matrix.Identity(),sortCameraForward:new i.Vector3(0,0,0),sortCameraPosition:new i.Vector3(0,0,0),sortRequestId:0,sortAppliedId:0,mesh:r,frameIdLastUpdate:t,splatIndexBufferSet:!1};a.push(o),this._cameraViewInfos.set(s,o)}}),a.sort((e,t)=>e.splatIndexBufferSet!==t.splatIndexBufferSet?e.splatIndexBufferSet?1:-1:e.frameIdLastUpdate-t.frameIdLastUpdate);let o=!!I?.sortSplats&&!!this._splatPositions&&!!this._splatIndex,h=!this._disableDepthSort&&(this._worker||o);if((e||s)&&h&&(this._scene.activeCameras?.length||this._scene.activeCamera)&&this._canPostToWorker){let s=this.computeWorldMatrix(!0);a.forEach(r=>{let a=r.camera,i=this._getCameraDirection(a);if((e||this._isSortStateDirty(r,s,a))&&this._canPostToWorker){let e=a.getViewMatrix();r.cameraDirection.copyFrom(i),r.sortWorldMatrix.copyFrom(s),r.sortCameraForward.set(e.m[2],e.m[6],e.m[10]),r.sortCameraPosition.copyFrom(a.globalPosition),r.sortRequestId=++this._sortRequestId,r.frameIdLastUpdate=t,this._canPostToWorker=!1,this._worker?this._worker.postMessage({command:"sort",worldMatrix:s.m,cameraForward:[e.m[2],e.m[6],e.m[10]],cameraPosition:[a.globalPosition.x,a.globalPosition.y,a.globalPosition.z],depthMix:this._depthMix,cameraId:a.uniqueId,sortRequestId:r.sortRequestId,rangeVersion:this._activeRangeVersion,useCountingSort:P.UseCountingSort,rightHanded:this._scene.useRightHandedSystem,logSortPerformance:P.LogSortPerformance},[this._depthMix.buffer]):I?.sortSplats&&(this._activeSplatRanges?this._updateSplatIndexBuffer(this._vertexCount):I.sortSplats(this._modelViewProjectionMatrix,this._splatPositions,this._splatIndex,this._scene.useRightHandedSystem),r.splatIndexBufferSet?r.mesh.thinInstanceBufferUpdated("splatIndex"):(r.mesh.thinInstanceSetBuffer("splatIndex",this._splatIndex,16,!1),r.splatIndexBufferSet=!0),r.sortAppliedId=r.sortRequestId,this._canPostToWorker=!0,this._readyToDisplay=!0)}})}else this._disableDepthSort&&(this._splatIndex&&(a.forEach(e=>{e.splatIndexBufferSet||(e.mesh.thinInstanceSetBuffer("splatIndex",this._splatIndex,16,!1),e.splatIndexBufferSet=!0)}),this._readyToDisplay=!0),this._canPostToWorker=!0)}render(e,t,s){this._postToWorker(),!this._geometry&&this._cameraViewInfos.size&&(this._geometry=this._cameraViewInfos.values().next().value.mesh.geometry);let r=this._scene.activeCamera.uniqueId,a=this._cameraViewInfos.get(r);if(!a||!a.splatIndexBufferSet)return this;this.onBeforeRenderObservable&&this.onBeforeRenderObservable.notifyObservers(this);let i=a.mesh;i.getWorldMatrix().copyFrom(this.getWorldMatrix());let n=this._scene.getEngine().currentRenderPassId,o=this.getMaterialForRenderPass(n);o&&i.setMaterialForRenderPass(n,o);let l=i.render(e,t,s);return this._hasRenderedOnce=!0,o&&i.setMaterialForRenderPass(n,void 0),this.onAfterRenderObservable&&this.onAfterRenderObservable.notifyObservers(this),l}static _TypeNameToEnum(e){switch(e){case"float":return 0;case"int":return 1;case"uint":return 2;case"double":return 3;case"uchar":return 4}return 5}static _ValueNameToEnum(e){switch(e){case"min_x":return 0;case"min_y":return 1;case"min_z":return 2;case"max_x":return 3;case"max_y":return 4;case"max_z":return 5;case"min_scale_x":return 6;case"min_scale_y":return 7;case"min_scale_z":return 8;case"max_scale_x":return 9;case"max_scale_y":return 10;case"max_scale_z":return 11;case"packed_position":return 12;case"packed_rotation":return 13;case"packed_scale":return 14;case"packed_color":return 15;case"x":return 16;case"y":return 17;case"z":return 18;case"scale_0":return 19;case"scale_1":return 20;case"scale_2":return 21;case"diffuse_red":case"red":return 22;case"diffuse_green":case"green":return 23;case"diffuse_blue":case"blue":return 24;case"f_dc_0":return 26;case"f_dc_1":return 27;case"f_dc_2":return 28;case"f_dc_3":return 29;case"opacity":return 25;case"rot_0":return 30;case"rot_1":return 31;case"rot_2":return 32;case"rot_3":return 33;case"min_r":return 34;case"min_g":return 35;case"min_b":return 36;case"max_r":return 37;case"max_g":return 38;case"max_b":return 39;case"f_rest_0":return 40;case"f_rest_1":return 41;case"f_rest_2":return 42;case"f_rest_3":return 43;case"f_rest_4":return 44;case"f_rest_5":return 45;case"f_rest_6":return 46;case"f_rest_7":return 47;case"f_rest_8":return 48;case"f_rest_9":return 49;case"f_rest_10":return 50;case"f_rest_11":return 51;case"f_rest_12":return 52;case"f_rest_13":return 53;case"f_rest_14":return 54;case"f_rest_15":return 55;case"f_rest_16":return 56;case"f_rest_17":return 57;case"f_rest_18":return 58;case"f_rest_19":return 59;case"f_rest_20":return 60;case"f_rest_21":return 61;case"f_rest_22":return 62;case"f_rest_23":return 63;case"f_rest_24":return 64;case"f_rest_25":return 65;case"f_rest_26":return 66;case"f_rest_27":return 67;case"f_rest_28":return 68;case"f_rest_29":return 69;case"f_rest_30":return 70;case"f_rest_31":return 71;case"f_rest_32":return 72;case"f_rest_33":return 73;case"f_rest_34":return 74;case"f_rest_35":return 75;case"f_rest_36":return 76;case"f_rest_37":return 77;case"f_rest_38":return 78;case"f_rest_39":return 79;case"f_rest_40":return 80;case"f_rest_41":return 81;case"f_rest_42":return 82;case"f_rest_43":return 83;case"f_rest_44":return 84;case"f_rest_45":return 85;case"f_rest_46":return 86;case"f_rest_47":return 87;case"f_rest_48":return 88;case"f_rest_49":return 89;case"f_rest_50":return 90;case"f_rest_51":return 91;case"f_rest_52":return 92;case"f_rest_53":return 93;case"f_rest_54":return 94;case"f_rest_55":return 95;case"f_rest_56":return 96;case"f_rest_57":return 97;case"f_rest_58":return 98;case"f_rest_59":return 99;case"f_rest_60":return 100;case"f_rest_61":return 101;case"f_rest_62":return 102;case"f_rest_63":return 103;case"f_rest_64":return 104;case"f_rest_65":return 105;case"f_rest_66":return 106;case"f_rest_67":return 107;case"f_rest_68":return 108;case"f_rest_69":return 109;case"f_rest_70":return 110;case"f_rest_71":return 111}return 112}static ParseHeader(e){var t;let s,r=new Uint8Array(e),a=new TextDecoder().decode(r.slice(0,10240)),i="end_header\n",n=a.indexOf(i);if(n<0||!a)return null;let o=parseInt(/element vertex (\d+)\n/.exec(a)[1]),l=/element chunk (\d+)\n/.exec(a),h=0;l&&(h=parseInt(l[1]));let _=0,c=0,p={double:8,int:4,uint:4,float:4,short:2,ushort:2,uchar:1,list:0};(t=s||(s={}))[t.Vertex=0]="Vertex",t[t.Chunk=1]="Chunk",t[t.SH=2]="SH",t[t.Unused=3]="Unused";let d=1,f=[],x=[],m=a.slice(0,n).split("\n"),g=0;for(let e of m)if(e.startsWith("property ")){let[,t,s]=e.split(" "),r=P._ValueNameToEnum(s);112!=r&&(r>=111?g=4:r>=84?g=Math.max(g,3):r>=63?g=Math.max(g,2):r>=48&&(g=Math.max(g,1)));let a=P._TypeNameToEnum(t);1==d?(x.push({value:r,type:a,offset:c}),c+=p[t]):0==d?(f.push({value:r,type:a,offset:_}),_+=p[t]):2==d&&f.push({value:r,type:a,offset:_}),p[t]||u.Logger.Warn(`Unsupported property type: ${t}.`)}else if(e.startsWith("element ")){let[,t]=e.split(" ");d="chunk"==t?1:"vertex"==t?0:"sh"==t?2:3}let S=new DataView(e,n+i.length),T=new ArrayBuffer(P._RowOutputLength*o),M=null,y=0;return g&&(M=new ArrayBuffer((y=3*((g+1)*(g+1)-1))*o)),{vertexCount:o,chunkCount:h,rowVertexLength:_,rowChunkLength:c,vertexProperties:f,chunkProperties:x,dataView:S,buffer:T,shDegree:g,shCoefficientCount:y,shBuffer:M}}static _GetCompressedChunks(e,t){if(!e.chunkCount)return null;let s=e.dataView,r=Array(e.chunkCount);for(let a=0;a<e.chunkCount;a++){let n={min:new i.Vector3,max:new i.Vector3,minScale:new i.Vector3,maxScale:new i.Vector3,minColor:new i.Vector3(0,0,0),maxColor:new i.Vector3(1,1,1)};r[a]=n;for(let r=0;r<e.chunkProperties.length;r++){let a,i=e.chunkProperties[r];if(0===i.type)switch(a=s.getFloat32(i.offset+t.value,!0),i.value){case 0:n.min.x=a;break;case 1:n.min.y=a;break;case 2:n.min.z=a;break;case 3:n.max.x=a;break;case 4:n.max.y=a;break;case 5:n.max.z=a;break;case 6:n.minScale.x=a;break;case 7:n.minScale.y=a;break;case 8:n.minScale.z=a;break;case 9:n.maxScale.x=a;break;case 10:n.maxScale.y=a;break;case 11:n.maxScale.z=a;break;case 34:n.minColor.x=a;break;case 35:n.minColor.y=a;break;case 36:n.minColor.z=a;break;case 37:n.maxColor.x=a;break;case 38:n.maxColor.y=a;break;case 39:n.maxColor.z=a}}t.value+=e.rowChunkLength}return r}static _GetSplat(e,t,s,r){let a=i.TmpVectors.Quaternion[0],n=i.TmpVectors.Vector3[0],o=P._RowOutputLength,l=e.buffer,h=e.dataView,u=new Float32Array(l,t*o,3),_=new Float32Array(l,t*o+12,3),c=new Uint8ClampedArray(l,t*o+24,4),p=new Uint8ClampedArray(l,t*o+28,4),d=null;e.shBuffer&&(d=new Uint8ClampedArray(e.shBuffer,t*e.shCoefficientCount,e.shCoefficientCount));let f=t>>8,m=255,g=0,S=0,T=0,M=[];for(let i=0;i<e.vertexProperties.length;i++){let o,l=e.vertexProperties[i];switch(l.type){case 0:o=h.getFloat32(r.value+l.offset,!0);break;case 1:o=h.getInt32(r.value+l.offset,!0);break;case 2:o=h.getUint32(r.value+l.offset,!0);break;case 3:o=h.getFloat64(r.value+l.offset,!0);break;case 4:o=h.getUint8(r.value+l.offset);break;default:continue}switch(l.value){case 12:{let e=s[f];A(o,n),u[0]=x.Lerp(e.min.x,e.max.x,n.x),u[1]=x.Lerp(e.min.y,e.max.y,n.y),u[2]=x.Lerp(e.min.z,e.max.z,n.z)}break;case 13:C(o,a),m=a.x,g=a.y,S=a.z,T=a.w;break;case 14:{let e=s[f];A(o,n),_[0]=Math.exp(x.Lerp(e.minScale.x,e.maxScale.x,n.x)),_[1]=Math.exp(x.Lerp(e.minScale.y,e.maxScale.y,n.y)),_[2]=Math.exp(x.Lerp(e.minScale.z,e.maxScale.z,n.z))}break;case 15:{let e=s[f];v(o,c),c[0]=255*x.Lerp(e.minColor.x,e.maxColor.x,c[0]/255),c[1]=255*x.Lerp(e.minColor.y,e.maxColor.y,c[1]/255),c[2]=255*x.Lerp(e.minColor.z,e.maxColor.z,c[2]/255)}break;case 16:u[0]=o;break;case 17:u[1]=o;break;case 18:u[2]=o;break;case 19:_[0]=Math.exp(o);break;case 20:_[1]=Math.exp(o);break;case 21:_[2]=Math.exp(o);break;case 22:c[0]=o;break;case 23:c[1]=o;break;case 24:c[2]=o;break;case 26:c[0]=(.5+P._SH_C0*o)*255;break;case 27:c[1]=(.5+P._SH_C0*o)*255;break;case 28:c[2]=(.5+P._SH_C0*o)*255;break;case 29:c[3]=(.5+P._SH_C0*o)*255;break;case 25:c[3]=1/(1+Math.exp(-o))*255;break;case 30:m=o;break;case 31:g=o;break;case 32:S=o;break;case 33:T=o}if(d&&l.value>=40&&l.value<=111){let s=l.value-40;if(4==l.type&&e.chunkCount){let r=h.getUint8(e.rowChunkLength*e.chunkCount+e.vertexCount*e.rowVertexLength+t*e.shCoefficientCount+s);M[s]=(8/255*r-4)*127.5+127.5}else{let e=x.Clamp(127.5*o+127.5,0,255);M[s]=e}}}if(d){let t=1==e.shDegree?3:2==e.shDegree?8:3==e.shDegree?15:24;for(let e=0;e<t;e++)d[3*e+0]=M[e],d[3*e+1]=M[e+t],d[3*e+2]=M[e+2*t]}a.set(g,S,T,m),a.normalize(),p[0]=127.5*a.w+127.5,p[1]=127.5*a.x+127.5,p[2]=127.5*a.y+127.5,p[3]=127.5*a.z+127.5,r.value+=e.rowVertexLength}static*ConvertPLYWithSHToSplat(e,t=!1){let s=P.ParseHeader(e);if(!s)return{buffer:e};let r={value:0},a=P._GetCompressedChunks(s,r);for(let e=0;e<s.vertexCount;e++)P._GetSplat(s,e,a,r),e%P._PlyConversionBatchSize==0&&t&&(yield);let i=null;if(s.shDegree&&s.shBuffer){let e=Math.ceil(s.shCoefficientCount/16),t=0,r=new Uint8Array(s.shBuffer);i=[];let a=s.vertexCount,n=g.EngineStore.LastCreatedEngine;if(n){let o=n.getCaps().maxTextureSize;i=E(e,Math.ceil(a/o)*o*16);for(let e=0;e<a;e++)for(let a=0;a<s.shCoefficientCount;a++){let s=r[t++];i[Math.floor(a/16)][a%16+16*e]=s}}}return{buffer:s.buffer,sh:i,shDegree:s.shDegree}}static*ConvertPLYToSplat(e,t=!1){let s=P.ParseHeader(e);if(!s)return e;let r={value:0},a=P._GetCompressedChunks(s,r);for(let e=0;e<s.vertexCount;e++)P._GetSplat(s,e,a,r),e%P._PlyConversionBatchSize==0&&t&&(yield);return s.buffer}static async ConvertPLYToSplatAsync(e){return await (0,m.runCoroutineAsync)(P.ConvertPLYToSplat(e,!0),(0,m.createYieldingScheduler)())}static async ConvertPLYWithSHToSplatAsync(e){return await (0,m.runCoroutineAsync)(P.ConvertPLYWithSHToSplat(e,!0),(0,m.createYieldingScheduler)())}async loadDataAsync(e){return await this.updateDataAsync(e)}async loadFileAsync(e,t){await (0,S.ImportMeshAsync)(e,t||g.EngineStore.LastCreatedScene,{pluginOptions:{splat:{gaussianSplattingMesh:this}}})}dispose(e){var t;let s;if(this._covariancesATexture?.dispose(),this._covariancesBTexture?.dispose(),this._centersTexture?.dispose(),this._colorsTexture?.dispose(),this._shTextures)for(let e of this._shTextures)e.dispose();this._rotationsATexture?.dispose(),this._rotationsBTexture?.dispose(),this._rotationScaleTexture?.dispose(),this._sogParams?.codebookTexture?.dispose(),this._rotationsATexture=null,this._rotationsBTexture=null,this._rotationScaleTexture=null,this._rotationDataA=null,this._rotationDataB=null,this._rotationScaleData=null,this._covariancesATexture=null,this._covariancesBTexture=null,this._centersTexture=null,this._colorsTexture=null,this._shTextures=null,this._cachedBoundingMin=null,this._cachedBoundingMax=null,s=(t=this.getEngine()).customAnimationFrameRequester,s?._gsInterFrameYield&&(s._refCount--,0===s._refCount&&(t.customAnimationFrameRequester=null)),this._worker?.terminate(),this._worker=null,this.onPartCountChangedObservable.clear(),this.onPartRemovedObservable.clear(),this._cameraViewInfos.forEach(e=>{e.mesh.dispose()}),super.dispose(e,!0)}_copyTextures(e){if(this._covariancesATexture=e.covariancesATexture?.clone(),this._covariancesBTexture=e.covariancesBTexture?.clone(),this._centersTexture=e.centersTexture?.clone(),this._colorsTexture=e.colorsTexture?.clone(),e._shTextures)for(let t of(this._shTextures=[],e._shTextures))this._shTextures?.push(t.clone());e._rotationsATexture&&(this._rotationsATexture=e._rotationsATexture.clone(),this._rotationsBTexture=e._rotationsBTexture?.clone(),this._rotationScaleTexture=e._rotationScaleTexture?.clone())}clone(e=""){let t=new P(e,void 0,this.getScene());t._copySource(this),t.makeGeometryUnique(),t._vertexCount=this._vertexCount,t._copyTextures(this),t._modelViewProjectionMatrix=i.Matrix.Identity(),t._splatPositions=this._splatPositions,t._readyToDisplay=!1,t._hasRenderedOnce=!1,t._disableDepthSort=this._disableDepthSort,t._instantiateWorker();let s=this.getBoundingInfo();return t.getBoundingInfo().reConstruct(s.minimum,s.maximum,this.getWorldMatrix()),t.forcedInstanceCount=this.forcedInstanceCount,t.setEnabled(!0),t}_makeEmptySplat(e,t,s,r){let a=this._useRGBACovariants?4:2;this._splatPositions[4*e+0]=0,this._splatPositions[4*e+1]=0,this._splatPositions[4*e+2]=0,t[4*e+0]=(0,p.ToHalfFloat)(0),t[4*e+1]=(0,p.ToHalfFloat)(0),t[4*e+2]=(0,p.ToHalfFloat)(0),t[4*e+3]=(0,p.ToHalfFloat)(0),s[e*a+0]=(0,p.ToHalfFloat)(0),s[e*a+1]=(0,p.ToHalfFloat)(0),r[4*e+3]=0}_makeSplat(e,t,s,r,a,n,o,l,h,u=e){let _=i.TmpVectors.Matrix[0],c=i.TmpVectors.Matrix[1],d=i.TmpVectors.Quaternion[0],f=this._useRGBACovariants?4:2,x=t[8*u+0],m=t[8*u+1]*(h?-1:1),g=t[8*u+2];if(this._splatPositions[4*e+0]=x,this._splatPositions[4*e+1]=m,this._splatPositions[4*e+2]=g,o.minimizeInPlaceFromFloats(x,m,g),l.maximizeInPlaceFromFloats(x,m,g),d.set((s[32*u+28+1]-127.5)/127.5,(s[32*u+28+2]-127.5)/127.5,(s[32*u+28+3]-127.5)/127.5,-(s[32*u+28+0]-127.5)/127.5),d.normalize(),d.toRotationMatrix(_),i.Matrix.ScalingToRef(2*t[8*u+3+0],2*t[8*u+3+1],2*t[8*u+3+2],c),this._needsRotationScaleTextures){(!this._rotationDataA||this._rotationDataA.length<r.length)&&(this._rotationDataA=new Uint16Array(r.length),this._rotationDataB=new Uint16Array(r.length),this._rotationScaleData=new Uint16Array(r.length));let t=this._rotationDataA,s=this._rotationDataB,a=this._rotationScaleData,i=_.m,n=c.m;t[4*e+0]=(0,p.ToHalfFloat)(i[0]),t[4*e+1]=(0,p.ToHalfFloat)(i[1]),t[4*e+2]=(0,p.ToHalfFloat)(i[2]),t[4*e+3]=(0,p.ToHalfFloat)(i[4]),s[4*e+0]=(0,p.ToHalfFloat)(i[5]),s[4*e+1]=(0,p.ToHalfFloat)(i[6]),s[4*e+2]=(0,p.ToHalfFloat)(i[8]),s[4*e+3]=(0,p.ToHalfFloat)(i[9]),a[4*e+0]=(0,p.ToHalfFloat)(i[10]),a[4*e+1]=(0,p.ToHalfFloat)(n[0]),a[4*e+2]=(0,p.ToHalfFloat)(n[5]),a[4*e+3]=(0,p.ToHalfFloat)(n[10])}let S=_.multiplyToRef(c,i.TmpVectors.Matrix[0]).m,T=this._tmpCovariances;T[0]=S[0]*S[0]+S[1]*S[1]+S[2]*S[2],T[1]=S[0]*S[4]+S[1]*S[5]+S[2]*S[6],T[2]=S[0]*S[8]+S[1]*S[9]+S[2]*S[10],T[3]=S[4]*S[4]+S[5]*S[5]+S[6]*S[6],T[4]=S[4]*S[8]+S[5]*S[9]+S[6]*S[10],T[5]=S[8]*S[8]+S[9]*S[9]+S[10]*S[10];let M=-1e4;for(let e=0;e<6;e++)M=Math.max(M,Math.abs(T[e]));this._splatPositions[4*e+3]=M;let y=M;r[4*e+0]=(0,p.ToHalfFloat)(T[0]/y),r[4*e+1]=(0,p.ToHalfFloat)(T[1]/y),r[4*e+2]=(0,p.ToHalfFloat)(T[2]/y),r[4*e+3]=(0,p.ToHalfFloat)(T[3]/y),a[e*f+0]=(0,p.ToHalfFloat)(T[4]/y),a[e*f+1]=(0,p.ToHalfFloat)(T[5]/y);let D=T[0],b=T[1],I=T[2],w=T[3],A=T[4],v=T[5],C=Math.pow(Math.abs(D*(w*v-A*A)-b*(b*v-A*I)+I*(b*A-w*I)),1/6);C<this._splatSizeMin&&(this._splatSizeMin=C),C>this._splatSizeMax&&(this._splatSizeMax=C),n[4*e+0]=s[32*u+24+0],n[4*e+1]=s[32*u+24+1],n[4*e+2]=s[32*u+24+2],n[4*e+3]=s[32*u+24+3]}_onUpdateTextures(e){}_onIndexDataReceived(e,t){}_onIncrementalUpdateStart(e){}get isCompound(){return!1}_setDelayedTextureUpdate(e,t,s,r){this._delayedTextureUpdate={covA:e,covB:t,colors:s,centers:this._splatPositions,sh:r}}_updateTextures(e,t,s,r){let a=this._getTextureSize(this._vertexCount),i=(e,t,s,r)=>new c.RawTexture(e,t,s,r,this._scene,!1,!1,2,1),n=(e,t,s,r)=>new c.RawTexture(e,t,s,r,this._scene,!1,!1,2,0),o=(e,t,s)=>new c.RawTexture(null,e,t,s,this._scene,!1,!1,1,7),l=(e,t,s,r)=>new c.RawTexture(e,t,s,r,this._scene,!1,!1,2,2),h=null===this._covariancesATexture,u=this._textureSize.y!=a.y;if(h||u){if(this._covariancesATexture?.dispose(),this._covariancesBTexture?.dispose(),this._centersTexture?.dispose(),this._colorsTexture?.dispose(),this._shTextures){for(let e of this._shTextures)e.dispose();this._shTextures=null}if(this._textureSize=a,this._covariancesATexture=l(e,a.x,a.y,5),this._covariancesBTexture=l(t,a.x,a.y,this._useRGBACovariants?5:7),this._centersTexture=i(this._splatPositions,a.x,a.y,5),this._colorsTexture=n(s,a.x,a.y,5),r){this._shTextures=[];for(let e=0;e<r.length;e++){let e=o(a.x,a.y,11);e.wrapU=0,e.wrapV=0,this._shTextures.push(e)}for(let e=0;e<r.length;e++)this._updateShTextureData(this._shTextures[e],r[e],a.x,0,a.y)}if(this._needsRotationScaleTextures){let t=this._rotationDataA??new Uint16Array(e.length),s=this._rotationDataB??new Uint16Array(e.length),r=this._rotationScaleData??new Uint16Array(e.length);this._rotationsATexture?.dispose(),this._rotationsBTexture?.dispose(),this._rotationScaleTexture?.dispose(),this._rotationsATexture=l(t,a.x,a.y,5),this._rotationsBTexture=l(s,a.x,a.y,5),this._rotationScaleTexture=l(r,a.x,a.y,5),this._rotationsATexture.wrapU=0,this._rotationsATexture.wrapV=0,this._rotationsBTexture.wrapU=0,this._rotationsBTexture.wrapV=0,this._rotationScaleTexture.wrapU=0,this._rotationScaleTexture.wrapV=0}if(this._onUpdateTextures(a),h)this._instantiateWorker();else{if(this._worker){let e=Float32Array.from(this._splatPositions),t=this._vertexCount;this._worker.postMessage({command:T,positions:e,vertexCount:t},[e.buffer]),this._postIntervalsToWorker()}this._postToWorker(!0)}}else{this._setDelayedTextureUpdate(e,t,s,r);let i=Float32Array.from(this._splatPositions),n=this._vertexCount;if(this._worker&&(this._worker.postMessage({command:T,positions:i,vertexCount:n},[i.buffer]),this._postIntervalsToWorker()),r&&!this._shTextures){this._shTextures=[];for(let e=0;e<r.length;e++){let t=o(a.x,a.y,11);t.wrapU=0,t.wrapV=0,this._shTextures.push(t),this._updateShTextureData(t,r[e],a.x,0,a.y)}}this._needsRotationScaleTextures&&this._rotationDataA&&(this._rotationsATexture?(this._updateTextureFromData(this._rotationsATexture,this._rotationDataA,a.x,0,a.y),this._updateTextureFromData(this._rotationsBTexture,this._rotationDataB,a.x,0,a.y),this._updateTextureFromData(this._rotationScaleTexture,this._rotationScaleData,a.x,0,a.y)):(this._rotationsATexture=l(this._rotationDataA,a.x,a.y,5),this._rotationsBTexture=l(this._rotationDataB,a.x,a.y,5),this._rotationScaleTexture=l(this._rotationScaleData,a.x,a.y,5),this._rotationsATexture.wrapU=0,this._rotationsATexture.wrapV=0,this._rotationsBTexture.wrapU=0,this._rotationsBTexture.wrapV=0,this._rotationScaleTexture.wrapU=0,this._rotationScaleTexture.wrapV=0)),this._onUpdateTextures(a),this._postToWorker(!0)}}_canReuseCachedData(e,t){return!(e<=0)&&!(e>t)&&null!==this._splatPositions&&null!==this._cachedBoundingMin&&null!==this._cachedBoundingMax&&null!==this._covariancesATexture&&this._getTextureSize(t).y===this._textureSize.y}_notifyWorkerNewData(){if(this._worker){let e=Float32Array.from(this._splatPositions),t=this._vertexCount;this._worker.postMessage({command:T,positions:e,vertexCount:t},[e.buffer]),this._postIntervalsToWorker()}this._sortIsDirty=!0}_postWorkerPositionsRange(e,t){if(!this._worker||!this._splatPositions||t<=0)return;let s=4*e,r=this._splatPositions.slice(s,s+4*t);this._worker.postMessage({command:"positionsUpdate",offset:s,data:r},[r.buffer]),this._sortIsDirty=!0}*_updateData(e,t,s,r,{flipY:a=!1,previousVertexCount:n=0}={},o){this._covariancesATexture||(this._readyToDisplay=!1),this._flipY=a;let l=new Uint8Array(e),h=new Float32Array(l.buffer);this._keepInRam||this._alwaysRetainSplatsData?(this._splatsData=l.buffer,this._shData=s?s.map(e=>new Uint8Array(e)):null):(this._splatsData=null,this._shData=null);let u=l.length/P._RowOutputLength;u!=this._vertexCount&&(this._activeSplatRanges=null,this._activeSplatRangeKey="",this._activeSplatRenderCount=0,this._updateSplatIndexBuffer(u)),this._vertexCount=u,this._maxShDegree=s?o??0:0,this._shDegree=this._maxShDegree;let _=this._getTextureSize(u),c=_.x*_.y,p=P.ProgressiveUpdateAmount??_.y;r&&this._onIndexDataReceived(r,c);let d=new i.Vector3(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),f=new i.Vector3(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE),x=this._useRGBACovariants?4:2,m=new Uint16Array(4*c),g=new Uint16Array(x*c),S=new Uint8Array(4*c),T=this._canReuseCachedData(n,u);T||(this._splatSizeMin=1/0,this._splatSizeMax=-1/0);let M=T?Math.floor(n/_.x):0,y=M*_.x,D=this._splatPositions;if(this._splatPositions=new Float32Array(4*c),T&&(this._splatPositions.set(D.subarray(0,4*n)),d.copyFrom(this._cachedBoundingMin),f.copyFrom(this._cachedBoundingMax),this._onIncrementalUpdateStart(_)),P.ProgressiveUpdateAmount){T||this._updateTextures(m,g,S,s),this.setEnabled(!0);let e=Math.ceil(_.y/p);for(let r=0;r<e;r++){let e=r*p,i=Math.min(e+p,_.y);if(i<=M)continue;let n=Math.max(e,M),o=n*_.x,c=i*_.x;for(let e=o;e<c;e++)e<u?this._makeSplat(e,h,l,m,g,S,d,f,a):this._makeEmptySplat(e,m,g,S);this._updateSubTextures(this._splatPositions,m,g,S,n,i-n,s),this.getBoundingInfo().reConstruct(d,f,this.getWorldMatrix()),t&&(yield)}this._notifyWorkerNewData()}else{for(let e=y;e<u;e++)this._makeSplat(e,h,l,m,g,S,d,f,a),t&&e%P._SplatBatchSize==0&&(yield);let e=T?c:u+15&-16;for(let t=u;t<e;t++)this._makeEmptySplat(t,m,g,S);T?(this._updateSubTextures(this._splatPositions,m,g,S,M,_.y-M,s),this.getBoundingInfo().reConstruct(d,f,this.getWorldMatrix()),this.setEnabled(!0),this._notifyWorkerNewData()):(this._updateTextures(m,g,S,s),this.getBoundingInfo().reConstruct(d,f,this.getWorldMatrix()),this.setEnabled(!0),this._sortIsDirty=!0)}this._cachedBoundingMin=d.clone(),this._cachedBoundingMax=f.clone(),this._postToWorker(!0)}async updateDataAsync(e,t,s,r){return await (0,m.runCoroutineAsync)(this._updateData(e,!0,t,s,void 0,r),(0,m.createYieldingScheduler)())}updateData(e,t,s={flipY:!0},r,a){(0,m.runCoroutineSync)(this._updateData(e,!1,t,r,s,a))}refreshBoundingInfo(){return this.thinInstanceRefreshBoundingInfo(!1),this}_updateSplatIndexBuffer(e){let t=Math.max((this._activeSplatRanges?this._activeSplatRenderCount:e)+15&-16,16),s=this._splatIndex;s&&t===s.length||(this._splatIndex=new Float32Array(t),this._cameraViewInfos.forEach(e=>{e.mesh.thinInstanceSetBuffer("splatIndex",this._splatIndex,16,!1)}));let r=this._splatIndex;if(this._activeSplatRanges){let e=0;for(let t=0;t<this._activeSplatRanges.length;t+=2){let s=this._activeSplatRanges[t],a=this._activeSplatRanges[t+1];for(let t=s;t<s+a;t++)r[e++]=t}for(;e<t;e++)r[e]=0}else for(let e=0;e<t;e++)r[e]=e;this._depthMix&&t===this._depthMix.length||b||(this._depthMix=new BigInt64Array(t)),this.forcedInstanceCount=Math.max(t>>4,1)}_getTextureDataUpdateEngine(){return this.getEngine()}_updateShTextureData(e,t,s,r,a){let i=this._getTextureDataUpdateEngine();if(!i._gl&&!i.isWebGPU){let r,a=e.getInternalTexture(),n=s*a.height*16;if(t.byteLength===n&&t.byteOffset%Uint32Array.BYTES_PER_ELEMENT==0)r=new Uint32Array(t.buffer,t.byteOffset,t.byteLength/Uint32Array.BYTES_PER_ELEMENT);else{let e=new Uint8Array(n);e.set(t.subarray(0,Math.min(t.byteLength,n))),r=new Uint32Array(e.buffer)}i.updateRawTexture(a,r,a.format,a.invertY,null,a.type,a._useSRGBBuffer);return}let n=r*s,o=Math.floor(t.byteLength/16);if(n>=o)return;let l=Math.min(a*s,o-n);if(l<=0)return;let h=(e,s)=>new Uint32Array(t.buffer,t.byteOffset+e,4*s),u=Math.floor(l/s);if(u>0){let t=u*s;this._updateTextureFromData(e,h(16*n,t),s,r,u),l-=t}l>0&&this._updateTextureFromDataRect(e,h((n+u*s)*16,l),0,r+u,l,1)}_updateSubTextures(e,t,s,r,a,i,n){let o=this._getTextureSize(this._vertexCount),l=this._useRGBACovariants?4:2,h=a*o.x,u=i*o.x,_=new Uint16Array(t.buffer,4*h*Uint16Array.BYTES_PER_ELEMENT,4*u),c=new Uint16Array(s.buffer,h*l*Uint16Array.BYTES_PER_ELEMENT,u*l),p=new Uint8Array(r.buffer,4*h,4*u),d=new Float32Array(e.buffer,4*h*Float32Array.BYTES_PER_ELEMENT,4*u);if(this._updateTextureFromData(this._covariancesATexture,_,o.x,a,i),this._updateTextureFromData(this._covariancesBTexture,c,o.x,a,i),this._updateTextureFromData(this._centersTexture,d,o.x,a,i),this._updateTextureFromData(this._colorsTexture,p,o.x,a,i),this._rotationsATexture&&this._rotationDataA){let e=new Uint16Array(this._rotationDataA.buffer,4*h*Uint16Array.BYTES_PER_ELEMENT,4*u),t=new Uint16Array(this._rotationDataB.buffer,4*h*Uint16Array.BYTES_PER_ELEMENT,4*u),s=new Uint16Array(this._rotationScaleData.buffer,4*h*Uint16Array.BYTES_PER_ELEMENT,4*u);this._updateTextureFromData(this._rotationsATexture,e,o.x,a,i),this._updateTextureFromData(this._rotationsBTexture,t,o.x,a,i),this._updateTextureFromData(this._rotationScaleTexture,s,o.x,a,i)}if(n)for(let e=0;e<n.length;e++)this._updateShTextureData(this._shTextures[e],n[e],o.x,a,i)}_instantiateWorker(){if(!this._vertexCount||(this._updateSplatIndexBuffer(this._vertexCount),this._disableDepthSort||b))return;this._worker?.terminate(),this._canPostToWorker=!0,this._worker=new Worker(URL.createObjectURL(new Blob(["(",D.toString(),")(self)"],{type:"application/javascript"})));let e=Float32Array.from(this._splatPositions);this._worker.postMessage({command:T,positions:e},[e.buffer]),this._postIntervalsToWorker(),this._onWorkerCreated(this._worker),this._worker.onerror=()=>{this._canPostToWorker=!0},this._worker.onmessage=e=>{let t=Math.max(this.renderedSplatCount+15&-16,16);if(e.data.depthMix.length!=t||e.data.rangeVersion!==this._activeRangeVersion){this._depthMix.buffer.byteLength>0&&(this._canPostToWorker=!0,this._postToWorker(!0),this._sortIsDirty=!1);return}this._depthMix=e.data.depthMix;let s=e.data.cameraId,r=e.data.sortRequestId;this._splatIndex&&this._splatIndex.length===t||(this._splatIndex=new Float32Array(t),this._cameraViewInfos.forEach(e=>{e.mesh.thinInstanceSetBuffer("splatIndex",this._splatIndex,16,!1),e.splatIndexBufferSet=!0}));let a=new Uint32Array(e.data.depthMix.buffer);if(this._splatIndex)for(let e=0;e<t;e++)this._splatIndex[e]=a[2*e];if(this.forcedInstanceCount=Math.max(t>>4,1),this._delayedTextureUpdate){let e=this._vertexCount+15&-16,t=this._getTextureSize(e);this._updateSubTextures(this._delayedTextureUpdate.centers,this._delayedTextureUpdate.covA,this._delayedTextureUpdate.covB,this._delayedTextureUpdate.colors,0,t.y,this._delayedTextureUpdate.sh),this._delayedTextureUpdate=null}let i=this._cameraViewInfos.get(s);i&&(i.splatIndexBufferSet?i.mesh.thinInstanceBufferUpdated("splatIndex"):(i.mesh.thinInstanceSetBuffer("splatIndex",this._splatIndex,16,!1),i.splatIndexBufferSet=!0),i.sortAppliedId=r),this._canPostToWorker=!0,this._readyToDisplay=!0,this._sortIsDirty&&(this._postToWorker(!0),this._sortIsDirty=!1)}}_getTextureSize(e){let t=this._scene.getEngine(),s=t.getCaps().maxTextureSize,r=1;if(1!==t.version||t.isWebGPU)r=Math.ceil(e/s);else for(;s*r<e;)r*=2;return r>s&&(u.Logger.Error("GaussianSplatting texture size: ("+s+", "+r+"), maxTextureSize: "+s),r=s),new i.Vector2(s,r)}_onWorkerCreated(e){}bindExtraEffectUniforms(e){}_appendSourceToArrays(e,t,s,r,a,i,n,o){let l=e._vertexCount,h=e._splatsData;if(!h||0===l)return;let u=P._GetSplatDataBytes(h),_=P._GetSplatDataFloats(h);for(let e=0;e<l;e++)this._makeSplat(t+e,_,u,s,r,a,n,o,!1,e);if(i&&e._shData)for(let s=0;s<i.length;s++)s<e._shData.length&&i[s].set(e._shData[s].subarray(0,16*l),16*t)}bakeTransformIntoVertices(e){let t,s=this.splatsData;if(!s)return u.Logger.Error("Cannot bake transform into vertices if splatsData is not kept in RAM"),this;let r=e.m,a=Math.sqrt(r[0]*r[0]+r[1]*r[1]+r[2]*r[2]),n=Math.sqrt(r[4]*r[4]+r[5]*r[5]+r[6]*r[6]),o=Math.sqrt(r[8]*r[8]+r[9]*r[9]+r[10]*r[10]);if(Math.abs(a-n)>.001||Math.abs(a-o)>.001)return u.Logger.Error("Gaussian Splatting bakeTransformIntoVertices does not support non-uniform scaling"),this;let l=new Uint8Array(s),h=new Float32Array(s),_=i.TmpVectors.Vector3[0],c=i.TmpVectors.Quaternion[0],p=i.TmpVectors.Quaternion[1];for(e.decompose(_,p,_),t=0;t<this._vertexCount;t++){let s=8*t;i.Vector3.TransformCoordinatesFromFloatsToRef(h[s],h[s+1],h[s+2],e,_),h[s]=_.x,h[s+1]=_.y,h[s+2]=_.z,h[s+3]*=a,h[s+4]*=a,h[s+5]*=a,c.set((l[32*t+28+1]-127.5)/127.5,(l[32*t+28+2]-127.5)/127.5,(l[32*t+28+3]-127.5)/127.5,(l[32*t+28+0]-127.5)/127.5),c.normalize(),this.scaling.x<0&&(c.x=-c.x,c.w=-c.w),this.scaling.y<0&&(c.y=-c.y,c.w=-c.w),this.scaling.z<0&&(c.z=-c.z,c.w=-c.w),p.multiplyToRef(c,c),c.normalize(),l[32*t+28+0]=Math.round(127.5*c.w+127.5),l[32*t+28+1]=Math.round(127.5*c.x+127.5),l[32*t+28+2]=Math.round(127.5*c.y+127.5),l[32*t+28+3]=Math.round(127.5*c.z+127.5)}return this.updateData(s,this.shData??void 0,{flipY:!1}),this}}function E(e,t){let s=[];for(let r=0;r<e;r++){let e=new Uint8Array(t);e.fill(128),s.push(e)}return s}P.UseCountingSort=!0,P.LogSortPerformance=!1,P._RowOutputLength=32,P._SH_C0=.28209479177387814,P._SplatBatchSize=327680,P._PlyConversionBatchSize=32768,P._BatchSize=16,P._DefaultViewUpdateThreshold=1e-4,P.ProgressiveUpdateAmount=0,e.s(["AllocateShBuffers",0,E,"GaussianSplattingMeshBase",0,P],31169);var R=e.i(1229),B=l,k=e.i(90025),F=e.i(92247);class U extends B.Mesh{get partIndex(){return this._partIndex}get proxiedMesh(){return this.compoundSplatMesh}constructor(e,t,s,r,a,i,n,o=n){super(e,t),this._partIndex=r,this._vertexCount=i,this._splatsDataOffset=n,this._shDataOffset=o,this._minimum=a.minimum.clone(),this._maximum=a.maximum.clone(),this.compoundSplatMesh=s,this._applyBoundingInfo(),this.compoundSplatMesh.setWorldMatrixForPart(this.partIndex,this.getWorldMatrix()),this.onAfterWorldMatrixUpdateObservable.add(()=>{this.compoundSplatMesh.setWorldMatrixForPart(this.partIndex,this.getWorldMatrix())})}updateBoundingInfoFromPartData(){this._applyBoundingInfo()}updateBoundingInfoFromProxiedMesh(){this.updateBoundingInfoFromPartData()}_applyBoundingInfo(){this.setBoundingInfo(new k.BoundingInfo(this._minimum.clone(),this._maximum.clone()))}getClassName(){return"GaussianSplattingPartProxyMesh"}updatePartIndex(e){this._partIndex=e}updatePartMetadata(e,t,s=t){this._vertexCount=e,this._splatsDataOffset=t,this._shDataOffset=s}get isVisible(){return this.compoundSplatMesh.getPartVisibility(this.partIndex)>0}set isVisible(e){this.compoundSplatMesh.setPartVisibility(this.partIndex,+!!e)}get visibility(){return this.compoundSplatMesh.getPartVisibility(this.partIndex)}set visibility(e){this.compoundSplatMesh.setPartVisibility(this.partIndex,e)}intersects(e){let t=new F.PickingInfo,s=this.getBoundingInfo();return s&&e.intersectsSphere(s.boundingSphere)&&e.intersectsBox(s.boundingBox)&&(t.hit=!0,t.pickedMesh=this,t.distance=i.Vector3.Distance(e.origin,s.boundingSphere.center),t.subMeshId=0),t}serialize(e={}){(e=super.serialize(e)).subMeshes=[],e.geometryUniqueId=void 0,e.geometryId=void 0,e.materialUniqueId=void 0,e.materialId=void 0,e.instances=[],e.actions=void 0,e.type=this.getClassName(),e.compoundSplatMeshId=this.compoundSplatMesh.id,e.partIndex=this._partIndex,e.vertexCount=this._vertexCount,e.splatsDataOffset=this._splatsDataOffset,e.shDataOffset=this._shDataOffset;let t=this.getBoundingInfo();return e.boundingInfo={minimum:t.minimum.asArray(),maximum:t.maximum.asArray()},e}static Parse(e,t){let s=e.partIndex,r=e.compoundSplatMesh??t.getLastMeshById(e.compoundSplatMeshId);if(!r)throw Error(`GaussianSplattingPartProxyMesh: compound mesh not found with ID ${e.compoundSplatMeshId}`);let a=i.Vector3.FromArray(e.boundingInfo.minimum),n=i.Vector3.FromArray(e.boundingInfo.maximum),o=new k.BoundingInfo(a,n),l=e.vertexCount??0,h=e.splatsDataOffset??0,u=e.shDataOffset??h;return new U(e.name,t,r,s,o,l,h,u)}}class H extends P{get partIndicesTexture(){return this._partIndicesTexture}constructor(e,t=null,s=null,r=!1,a=!1){super(e,t,s,r),this._partProxies=[],this._part0LocalMin=null,this._part0LocalMax=null,this._partMatrices=[],this._rebuilding=!1,this._partVisibility=[],this._partIndicesTexture=null,this._partIndices=null,this._alwaysRetainSplatsData=!0,this._needsRotationScaleTextures=a}getClassName(){return"GaussianSplattingMesh"}isReady(e=!1){for(let e of this._partProxies)e&&e.computeWorldMatrix(!0);return super.isReady(e)}_updateBoundingInfoFromProxies(){let e=this.getWorldMatrix(),t=i.Matrix.Invert(e),s=this._part0LocalMin?this._part0LocalMin.clone():new i.Vector3(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),r=this._part0LocalMax?this._part0LocalMax.clone():new i.Vector3(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE),a=new i.Vector3;for(let e of this._partProxies){if(!e)continue;e.computeWorldMatrix(!1);let n=e.getBoundingInfo().boundingBox,o=n.minimumWorld,l=n.maximumWorld;for(let e=0;e<8;e++)a.set(1&e?l.x:o.x,2&e?l.y:o.y,4&e?l.z:o.z),i.Vector3.TransformCoordinatesToRef(a,t,a),s.minimizeInPlace(a),r.maximizeInPlace(a)}s.x<=r.x&&(this._boundingInfo?this._boundingInfo.reConstruct(s,r,e):this._boundingInfo=new k.BoundingInfo(s,r,e),this._cachedBoundingMin=s.clone(),this._cachedBoundingMax=r.clone())}_updateBoundingInfo(){return this.isCompound?(this._updateBoundingInfoFromProxies(),this._updateSubMeshesBoundingInfo(this.worldMatrixFromCache),this):super._updateBoundingInfo()}getHierarchyBoundingVectors(e=!0,t=null){if(!this.isCompound)return super.getHierarchyBoundingVectors(e,t);let s=new i.Vector3(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),r=new i.Vector3(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE);if(this._part0LocalMin&&(this._partVisibility[0]??1)>0){let e=this.getWorldMatrix(),t=this._part0LocalMin,a=this._part0LocalMax,n=new i.Vector3;for(let o=0;o<8;o++)n.set(1&o?a.x:t.x,2&o?a.y:t.y,4&o?a.z:t.z),i.Vector3.TransformCoordinatesToRef(n,e,n),s.minimizeInPlace(n),r.maximizeInPlace(n)}for(let e=0;e<this._partProxies.length;e++){let t=this._partProxies[e];if(!t||(this._partVisibility[e]??1)===0)continue;t.computeWorldMatrix(!1);let a=t.getBoundingInfo().boundingBox;s.minimizeInPlace(a.minimumWorld),r.maximizeInPlace(a.maximumWorld)}return{min:s,max:r}}dispose(e){for(let e of this._partProxies)e.dispose();this._partIndicesTexture?.dispose(),this._partProxies=[],this._partMatrices=[],this._partVisibility=[],this._partIndicesTexture=null,this._part0LocalMin=null,this._part0LocalMax=null,super.dispose(e)}_onWorkerCreated(e){e.postMessage({command:M,partMatrices:this._partMatrices.map(e=>new Float32Array(e.m))}),e.postMessage({command:y,partIndices:this._partIndices?new Uint8Array(this._partIndices):null})}_onIndexDataReceived(e,t){this._partIndices=new Uint8Array(t),this._partIndices.set(e)}get isCompound(){return this._partMatrices.length>0}_instantiateWorker(){this._rebuilding&&this._worker?this._updateSplatIndexBuffer(this._vertexCount):super._instantiateWorker()}_onIncrementalUpdateStart(e){this._ensurePartIndicesTexture(e,this._partIndices??void 0)}_notifyWorkerNewData(){super._notifyWorkerNewData(),this._worker&&this._worker.postMessage({command:y,partIndices:this._partIndices??null})}bindExtraEffectUniforms(e){if(!this._partIndicesTexture)return;e.setTexture("partIndicesTexture",this._partIndicesTexture);let t=new Float32Array(16*this.partCount);for(let e=0;e<this.partCount;e++)this._partMatrices[e].toArray(t,16*e);e.setMatrices("partWorld",t);let s=[];for(let e=0;e<this.partCount;e++)s.push(this._partVisibility[e]??1);e.setArray("partVisibility",s)}get partCount(){return this._partMatrices.length}get partVisibility(){return this._partVisibility}setWorldMatrixForPart(e,t){if(this._partMatrices.length<=e){this.computeWorldMatrix(!0);let t=this.getWorldMatrix();for(;this._partMatrices.length<=e;)this._partMatrices.push(t.clone()),this._partVisibility.push(1)}!this._partMatrices[e].equals(t)&&(this._partMatrices[e].copyFrom(t),this._rebuilding||(this._worker&&this._worker.postMessage({command:M,partMatrices:this._partMatrices.map(e=>new Float32Array(e.m))}),this._postToWorker(!0)))}getWorldMatrixForPart(e){return this._partMatrices[e]??this.getWorldMatrix()}getPartVisibility(e){return this._partVisibility[e]??1}setPartVisibility(e,t){this._partVisibility[e]=Math.max(0,Math.min(1,t))}_copyTextures(e){super._copyTextures(e),this._partIndicesTexture=e._partIndicesTexture?.clone()}_onUpdateTextures(e){let t=(e,t,s,r)=>new c.RawTexture(e,t,s,r,this._scene,!1,!1,2,0);if(this._partIndices){let s=new Uint8Array(this._partIndices);if(this._partIndicesTexture){let r=this._partIndicesTexture.getSize();r.width!==e.x||r.height!==e.y?(this._partIndicesTexture.dispose(),this._partIndicesTexture=t(s,e.x,e.y,6),this._partIndicesTexture.wrapU=0,this._partIndicesTexture.wrapV=0):this._updateTextureFromData(this._partIndicesTexture,s,e.x,0,e.y)}else this._partIndicesTexture=t(s,e.x,e.y,6),this._partIndicesTexture.wrapU=0,this._partIndicesTexture.wrapV=0}}_updateSubTextures(e,t,s,r,a,i,n,o){if(super._updateSubTextures(e,t,s,r,a,i,n),o&&this._partIndicesTexture){let e=this._getTextureSize(this._vertexCount),t=a*e.x,s=i*e.x,r=new Uint8Array(o.buffer,t,s);this._updateTextureFromData(this._partIndicesTexture,r,e.x,a,i),this._worker&&this._worker.postMessage({command:y,partIndices:o})}}_ensurePartIndicesTexture(e,t){if(!t||this._partIndicesTexture)return;let s=new Uint8Array(this._partIndices);this._partIndicesTexture=new c.RawTexture(s,e.x,e.y,6,this._scene,!1,!1,2,0),this._partIndicesTexture.wrapU=0,this._partIndicesTexture.wrapV=0,this._worker&&this._worker.postMessage({command:y,partIndices:t??null})}_appendPartSourceToArrays(e,t,s,r,a,i,n,o){this._appendSourceToArrays(e,t,s,r,a,i,n,o)}_createRetainedPartSource(e){if(!this._splatsData||this._shDegree>0&&!this._shData)return null;let t=32*e._splatsDataOffset,s=32*e._vertexCount,r=16*e._shDataOffset,a=16*e._vertexCount,i=P._GetSplatDataBytes(this._splatsData);return{name:e.name,_vertexCount:e._vertexCount,_splatsData:i.subarray(t,t+s),_shData:this._shData?.map(e=>e.subarray(r,r+a))??null,_shDegree:this._shData?this._shDegree:0,isCompound:!1,getWorldMatrix:()=>e.getWorldMatrix(),getBoundingInfo:()=>e.getBoundingInfo(),dispose:()=>{}}}_retainMergedPartData(e,t,s,r){if(!this._keepInRam&&!this._alwaysRetainSplatsData){this._splatsData=null,this._shData=null;return}let a=new Uint8Array(32*t),i=0;for(let t of(this._splatsData&&e>0&&(a.set(P._GetSplatDataBytes(this._splatsData).subarray(0,32*e),i),i+=32*e),s)){if(!t._splatsData)continue;let e=32*t._vertexCount;a.set(P._GetSplatDataBytes(t._splatsData).subarray(0,e),i),i+=e}if(this._splatsData=a.buffer,r<=0){this._shData=null;return}let n=E(Math.ceil(((r+1)*(r+1)-1)*3/16),16*t),o=0;if(this._shData&&e>0){let t=16*e;for(let e=0;e<n.length;e++)e<this._shData.length&&n[e].set(this._shData[e].subarray(0,t),o);o+=t}for(let e of s){let t=16*e._vertexCount;if(e._shData)for(let s=0;s<n.length;s++)s<e._shData.length&&n[s].set(e._shData[s].subarray(0,t),o);o+=t}this._shData=n}_addPartsInternal(e,t){let s;if(0===e.length)return{proxyMeshes:[],assignedPartIndices:[]};for(let t of e){if(!t._splatsData)throw Error("To call addPart()/addParts(), each source mesh must be fully loaded");if(t.isCompound)throw Error("To call addPart()/addParts(), each source mesh must not be a compound")}let r=this._vertexCount,a=r+e.reduce((e,t)=>e+t._vertexCount,0),o=this._getTextureSize(a),l=o.x*o.y,h=this._useRGBACovariants?4:2,u=new Uint16Array(4*l),_=new Uint16Array(h*l),p=new Uint8Array(4*l),d=this._shDegree>0||e.some(e=>null!==e._shData),f=d?Math.max(this._shDegree,...e.map(e=>e._shDegree)):0;d&&f>0&&(s=E(Math.ceil(((f+1)*(f+1)-1)*3/16),16*l));let x=this._canReuseCachedData(r,a),m=x?Math.floor(r/o.x):0,g=x?this._cachedBoundingMin.clone():new i.Vector3(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),S=x?this._cachedBoundingMax.clone():new i.Vector3(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE),T=this._splatPositions;this._splatPositions=new Float32Array(4*l),x&&T&&this._splatPositions.set(T.subarray(0,4*r));let y=this.partCount,D=this._partIndices;D||(D=new Uint8Array(r),y=+(r>0)),this._partIndices=new Uint8Array(l),this._partIndices.set(D.subarray(0,r));let b=[],I=[],w=r,A=(0,n.GetGaussianSplattingMaxPartCount)(this._scene.getEngine());for(let t of e){if(y>=A)throw Error(`Cannot add part, as the maximum part count (${A}) has been reached`);let e=y++;b.push(e),I.push(w),this._partIndices.fill(e,w,w+t._vertexCount),w+=t._vertexCount}if(!x&&r>0){if(this._partProxies.length>0){let e=0;if(!this._partProxies[0]&&this._splatsData){let t=r-this._partProxies.reduce((e,t)=>e+(t?t._vertexCount:0),0);if(t>0){let r=P._GetSplatDataBytes(this._splatsData),a=P._GetSplatDataFloats(this._splatsData);for(let e=0;e<t;e++)this._makeSplat(e,a,r,u,_,p,g,S,!1);if(s&&this._shData)for(let e=0;e<s.length;e++)e<this._shData.length&&s[e].set(this._shData[e].subarray(0,16*t),0);e+=t}}for(let t=0;t<this._partProxies.length;t++){let r=this._partProxies[t];if(!r)continue;let a=this._createRetainedPartSource(r);if(!a)throw Error(`Cannot rebuild compound part "${r.name}": the retained compound source data is not available.`);this._appendPartSourceToArrays(a,e,u,_,p,s,g,S),e+=a._vertexCount}}else if(this._splatsData){let e=P._GetSplatDataBytes(this._splatsData),t=P._GetSplatDataFloats(this._splatsData);for(let s=0;s<r;s++)this._makeSplat(s,t,e,u,_,p,g,S,!1);if(s&&this._shData)for(let e=0;e<s.length;e++)e<this._shData.length&&s[e].set(this._shData[e].subarray(0,16*r),0)}}if(x){let e=m*o.x;if(e<r)if(0===this._partProxies.length){if(this._splatsData){let t=P._GetSplatDataBytes(this._splatsData),s=P._GetSplatDataFloats(this._splatsData);for(let a=e;a<r;a++)this._makeSplat(a,s,t,u,_,p,g,S,!1,a)}}else{let t=r-this._partProxies.reduce((e,t)=>e+(t?t._vertexCount:0),0),s=Array(this._partProxies.length).fill(null),a=Array(this._partProxies.length).fill(null),i=Array(this._partProxies.length).fill(0);!this._partProxies[0]&&this._splatsData&&t>0&&(s[0]=P._GetSplatDataBytes(this._splatsData),a[0]=P._GetSplatDataFloats(this._splatsData),i[0]=0);let n=t;for(let e=0;e<this._partProxies.length;e++){let t=this._partProxies[e];if(!t)continue;let r=this._createRetainedPartSource(t);if(!r||!r._splatsData)throw Error(`Cannot rebuild compound part "${t.name}": the retained compound source data is not available.`);s[e]=P._GetSplatDataBytes(r._splatsData),a[e]=P._GetSplatDataFloats(r._splatsData),i[e]=n,n+=r._vertexCount}for(let t=e;t<r;t++){let e=this._partIndices?this._partIndices[t]:0,r=e<s.length?s[e]:null,n=e<a.length?a[e]:null;r&&n&&this._makeSplat(t,n,r,u,_,p,g,S,!1,t-(i[e]??0))}}}for(let t of(w=r,e))this._appendPartSourceToArrays(t,w,u,_,p,s,g,S),w+=t._vertexCount;let v=a+15&-16;for(let e=a;e<v;e++)this._makeEmptySplat(e,u,_,p);a!==this._vertexCount&&this._updateSplatIndexBuffer(a),this._retainMergedPartData(r,a,e,f),this._vertexCount=a,this._shDegree=f;let C=!this._rebuilding;C&&(this._canPostToWorker=!1,this._rebuilding=!0);try{if(x){if(s&&(!this._shTextures||s.length>this._shTextures.length))for(this._shTextures||(this._shTextures=[]);this._shTextures.length<s.length;){let e=this._shTextures.length,t=new c.RawTexture(null,o.x,o.y,11,this._scene,!1,!1,1,7);t.wrapU=0,t.wrapV=0,this._shTextures.push(t);let r=this._shData&&e<this._shData.length?this._shData[e]:s[e];this._updateShTextureData(t,r,o.x,0,o.y)}if(s&&this._shData){let e=m*o.x;if(e<r){let t=16*e,a=16*r;for(let e=0;e<s.length;e++)e<this._shData.length&&s[e].set(this._shData[e].subarray(t,a),t)}}this._onUpdateTextures(o),this._updateSubTextures(this._splatPositions,u,_,p,m,o.y-m,s)}else this._updateTextures(u,_,p,s);this.setEnabled(!0),this._notifyWorkerNewData(),this._partProxies[0]||!(r>0)||this._part0LocalMin||(this._part0LocalMin=this.getBoundingInfo().minimum.clone(),this._part0LocalMax=this.getBoundingInfo().maximum.clone());let a=[];for(let s=0;s<e.length;s++){let r=e[s],n=b[s],o=r.getWorldMatrix();this.setWorldMatrixForPart(n,o);let l=new U(r.name,this.getScene(),this,n,r.getBoundingInfo(),r._vertexCount,I[s],I[s]);t&&r.dispose();let h=new i.Quaternion;o.decompose(l.scaling,h,l.position),l.rotationQuaternion=h,l.computeWorldMatrix(!0),this._partProxies[n]=l,a.push(l)}return this._updateBoundingInfoFromProxies(),C&&(this._rebuilding=!1,this._worker&&this._worker.postMessage({command:M,partMatrices:this._partMatrices.map(e=>new Float32Array(e.m))}),this._canPostToWorker=!0,this._postToWorker(!0)),this.onPartCountChangedObservable.notifyObservers(this.partCount),{proxyMeshes:a,assignedPartIndices:b}}catch(e){throw C&&(this._rebuilding=!1,this._canPostToWorker=!0),e}}addPart(e,t=!0){let{proxyMeshes:s}=this._addPartsInternal([e],t);return s[0]}removePart(e){if(e<0||e>=this.partCount)throw Error(`Part index ${e} is out of range [0, ${this.partCount})`);let t=[];for(let s=0;s<this._partProxies.length;s++){let r=this._partProxies[s];if(!r||s===e)continue;let a=this._createRetainedPartSource(r);if(!a)throw Error(`Cannot remove part: the retained compound source data is not available for part "${r.name}".`);t.push({proxyMesh:r,source:a,oldIndex:s,worldMatrix:r.getWorldMatrix().clone(),visibility:this._partVisibility[s]??1})}for(let{proxyMesh:e,source:s}of(t.sort((e,t)=>e.oldIndex-t.oldIndex),t)){if(!s._splatsData)throw Error(`Cannot remove part: the source data for part "${e.name}" is not available.`);if(s._shDegree>0&&!s._shData)throw Error(`Cannot remove part: the SH data for part "${e.name}" is not available.`)}if(this.onPartRemovedObservable.notifyObservers(e),this._worker&&(this._worker.terminate(),this._worker=null),this._covariancesATexture?.dispose(),this._covariancesBTexture?.dispose(),this._centersTexture?.dispose(),this._colorsTexture?.dispose(),this._rotationsATexture?.dispose(),this._rotationsBTexture?.dispose(),this._rotationScaleTexture?.dispose(),this._covariancesATexture=null,this._covariancesBTexture=null,this._centersTexture=null,this._colorsTexture=null,this._rotationsATexture=null,this._rotationsBTexture=null,this._rotationScaleTexture=null,this._shTextures){for(let e of this._shTextures)e.dispose();this._shTextures=null}this._partIndicesTexture&&(this._partIndicesTexture.dispose(),this._partIndicesTexture=null),this._vertexCount=0,this._splatPositions=null,this._partIndices=null,this._partMatrices=[],this._partVisibility=[],this._cachedBoundingMin=null,this._cachedBoundingMax=null,this._part0LocalMin=null,this._part0LocalMax=null,this._splatsData=null,this._shData=null,this._shDegree=0;let s=this._partProxies[e];if(s&&s.dispose(),this._partProxies=[],0===t.length){this.setEnabled(!1),this.onPartCountChangedObservable.notifyObservers(0);return}this._rebuilding=!0,this._canPostToWorker=!1;try{let e=t.map(e=>e.source),{proxyMeshes:s}=this._addPartsInternal(e,!1);for(let e=0;e<t.length;e++){let r=t[e].proxyMesh,a=s[e],n=a.partIndex;this.setWorldMatrixForPart(n,t[e].worldMatrix),this.setPartVisibility(n,t[e].visibility);let o=new i.Quaternion;t[e].worldMatrix.decompose(a.scaling,o,a.position),a.rotationQuaternion=o,a.computeWorldMatrix(!0),r.updatePartIndex(n),r.updatePartMetadata(a._vertexCount,a._splatsDataOffset,a._shDataOffset),this._partProxies[n]=r,a.dispose()}this._rebuilding=!1;let r=this._worker;r?.postMessage({command:M,partMatrices:this._partMatrices.map(e=>new Float32Array(e.m))}),this._canPostToWorker=!0,this._postToWorker(!0)}catch(e){throw this._rebuilding=!1,this._canPostToWorker=!0,e}}serialize(e={},t="base64"){if((e=super.serialize(e)).subMeshes=[],e.geometryUniqueId=void 0,e.geometryId=void 0,e.materialUniqueId=void 0,e.materialId=void 0,e.instances=[],e.actions=void 0,e.type=this.getClassName(),e.keepInRam=this._keepInRam,e.disableDepthSort=this._disableDepthSort,e.viewUpdateThreshold=this.viewUpdateThreshold,e._flipY=this._flipY,this._splatsData&&(e.splatsData="base64"===t?(0,R.EncodeArrayBufferToBase64)(this._splatsData):this._splatsData),this._shData&&(e.shData="base64"===t?this._shData.map(R.EncodeArrayBufferToBase64):this._shData,e.shDegree=this._shDegree),this._partIndices){let s=function(e){let t=[],s=e.length,r=0;for(;r<s;){let a=e[r],i=1;for(;r+i<s&&e[r+i]===a;)i++;t.push(i,a),r+=i}return new Uint32Array(t)}(this._partIndices.subarray(0,this._vertexCount));e.partIndices="base64"===t?(0,R.EncodeArrayBufferToBase64)(s):s}return this._partProxies.length&&(e.partProxies=this._partProxies.filter(e=>!!e).map(e=>e.serialize())),e}static _ParseInternal(e,t,s){let r,a,i=new s(e.name,null,t,e.keepInRam);i.disableDepthSort=e.disableDepthSort??!1,i.viewUpdateThreshold=e.viewUpdateThreshold??P._DefaultViewUpdateThreshold;let n=e.splatsData;"string"==typeof n&&(n=(0,R.DecodeBase64ToBinary)(n));let o=e.shData;if(Array.isArray(o)&&o.length){let e=[];for(let t=0,s=o.length;t<s;t++){let s=o[t];"string"==typeof s?e[t]=new Uint8Array((0,R.DecodeBase64ToBinary)(s)):e[t]=s}r=e}let h=e.partIndices;if("string"==typeof h&&(h=new Uint32Array((0,R.DecodeBase64ToBinary)(h))),h&&(a=function(e){let t=0,s=e.length;for(let r=0;r<s;r+=2)t+=e[r];let r=new Uint8Array(t),a=0;for(let t=0;t<s;t+=2){let s=e[t],i=e[t+1];r.fill(i,a,a+s),a+=s}return r}(h)),n){let t=e._flipY??!1;i.updateData(n,r,{flipY:t},a,e.shDegree)}if(e.partProxies)for(let s of e.partProxies){let e=Object.assign({},s);e.compoundSplatMesh=i;let r=l.Mesh.Parse(e,t,""),a=r.partIndex;i._partProxies[a]=r,i.setWorldMatrixForPart(a,r.getWorldMatrix()),i.setPartVisibility(a,r.visibility)}return i}static Parse(e,t){return H._ParseInternal(e,t,H)}}e.s(["GaussianSplattingMesh",0,H,"IsGaussianSplattingClassName",0,function(e){return"GaussianSplattingMesh"===e||"GaussianSplattingStream"===e}],51483)}]);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,65185,e=>{"use strict";var r=e.i(47150);let t="passCubePixelShader",u=`varying vec2 vUV;uniform samplerCube textureSampler;
|
|
2
2
|
#define CUSTOM_FRAGMENT_DEFINITIONS
|
|
3
3
|
void main(void)
|
|
4
4
|
{vec2 uv=vUV*2.0-1.0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,95877,e=>{"use strict";var t=e.i(78992),i=e.i(79105),s=e.i(75105),n=e.i(44520);class r extends t.FlowGraphEventBlock{constructor(e){super(e),this.type="PointerUp",this.targetMesh=this.registerDataInput("targetMesh",s.RichTypeAny,e?.targetMesh),this.pointerId=this.registerDataOutput("pointerId",s.RichTypeNumber),this.pickedMesh=this.registerDataOutput("pickedMesh",s.RichTypeAny),this.pickedPoint=this.registerDataOutput("pickedPoint",s.RichTypeAny)}_executeEvent(e,t){let s=this.targetMesh.getValue(e),n=t.pickInfo?.pickedMesh;return!(!s||n===s||n&&(0,i._IsDescendantOf)(n,s))||(this.pointerId.setValue(t.event.pointerId,e),this.pickedMesh.setValue(n??null,e),this.pickedPoint.setValue(t.pickInfo?.pickedPoint??null,e),this._execute(e),!this.config?.stopPropagation)}_preparePendingTasks(e){}_cancelPendingTasks(e){}getClassName(){return"FlowGraphPointerUpEventBlock"}}let p=!1;function o(){p||(p=!0,(0,n.RegisterClass)("FlowGraphPointerUpEventBlock",r))}e.s(["FlowGraphPointerUpEventBlock",0,r,"RegisterFlowGraphPointerUpEventBlock",0,o],87520),o(),e.s([],71624),e.i(71624),e.i(87520),e.s(["FlowGraphPointerUpEventBlock",0,r],95877)}]);
|