@uptimizr/dashboard 0.4.5 → 0.4.7
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 +19 -5
- package/out/__next._full.txt +11 -11
- package/out/__next._tree.txt +2 -2
- package/out/_next/static/chunks/{3kalvwsf11-ss.js → 0-_j1khfoib6l.js} +119 -115
- package/out/_next/static/chunks/{0-tzsd_n-ywom.js → 005bbq_px7lke.js} +2 -2
- package/out/_next/static/chunks/00fbhtmui-yxg.js +1 -0
- package/out/_next/static/chunks/017pn-pen381_.js +1 -0
- package/out/_next/static/chunks/01vov6inx1zzt.js +1 -0
- package/out/_next/static/chunks/{3d76e_yd8l_0x.js → 02qk_wmkf9at-.js} +211 -211
- package/out/_next/static/chunks/03bd5plut08tg.js +1 -0
- package/out/_next/static/chunks/03dwfqmo73w_z.js +1 -0
- package/out/_next/static/chunks/03sn4419dam-h.js +5 -0
- package/out/_next/static/chunks/05ere0-228syf.js +1 -0
- package/out/_next/static/chunks/{2g_1ov-0j2kwd.js → 05h8u5lrypn5m.js} +1 -1
- package/out/_next/static/chunks/05s0t-besbvu1.css +3 -0
- package/out/_next/static/chunks/{3go-mst7n3udd.js → 05v-nubi896jg.js} +1 -1
- package/out/_next/static/chunks/05z79zh625ezu.js +1 -0
- package/out/_next/static/chunks/{1t2exh89lnazc.js → 060iult6f68_e.js} +504 -571
- package/out/_next/static/chunks/08lvtnv7b1cxp.js +1 -0
- package/out/_next/static/chunks/0_v2luu_qmeid.js +1 -0
- package/out/_next/static/chunks/0ai0zgbgjqb92.js +1 -0
- package/out/_next/static/chunks/0boov9mwycanf.js +1 -0
- package/out/_next/static/chunks/{0av6n_6q6kzo3.js → 0btmk0wmekl02.js} +2 -2
- package/out/_next/static/chunks/0d8x8m2x6ca_m.js +1 -0
- package/out/_next/static/chunks/0dmrdrwtd093b.js +1 -0
- package/out/_next/static/chunks/0e1jfrmioeuws.js +1 -0
- package/out/_next/static/chunks/0e7nlxmneb2j_.js +1 -0
- package/out/_next/static/chunks/0es97pusfxupl.js +1 -0
- package/out/_next/static/chunks/{05uqfgf-hh-p5.js → 0fd-0i1yt23kz.js} +1 -1
- package/out/_next/static/chunks/0fxdyvb1w23d1.js +1 -0
- package/out/_next/static/chunks/0fxhc24djjcgq.js +1 -0
- package/out/_next/static/chunks/0gf-ztg86zd80.js +1 -0
- package/out/_next/static/chunks/{380ivzcfb4o_3.js → 0grasqqf5dw7r.js} +2 -2
- package/out/_next/static/chunks/{0okbyggxe6mx5.js → 0hajwk2yd-rwr.js} +1 -1
- package/out/_next/static/chunks/0hk1wg7h4araz.js +1 -0
- package/out/_next/static/chunks/{1vmpltnr0cyos.js → 0j74ipw4fps-n.js} +1 -1
- package/out/_next/static/chunks/{03zip1uidm6x9.js → 0kj-vckdn7t5p.js} +1 -1
- package/out/_next/static/chunks/0lbs5xdyjuzuo.js +1 -0
- package/out/_next/static/chunks/0lep3_bqwfuin.js +1 -0
- package/out/_next/static/chunks/0mp0jh1gj7290.js +1 -0
- package/out/_next/static/chunks/0ngpoj2g5i4kz.js +1 -0
- package/out/_next/static/chunks/0nhljhguceh66.js +1 -0
- package/out/_next/static/chunks/0p6z73afb9dj2.js +1 -0
- package/out/_next/static/chunks/0p9zfmidzqkps.js +1 -0
- package/out/_next/static/chunks/0q75860p8u_ii.js +1 -0
- package/out/_next/static/chunks/{0-0hui1_v3h8b.js → 0rracz73p38mo.js} +26 -23
- package/out/_next/static/chunks/{3z4suna4kq4j5.js → 0sw-8gxbg4x0l.js} +568 -569
- package/out/_next/static/chunks/0sx-6rf3eteqn.js +1 -0
- package/out/_next/static/chunks/0thw099xk3_0p.js +3 -0
- package/out/_next/static/chunks/0u85f0dhb4i8e.js +1 -0
- package/out/_next/static/chunks/0uk7kigzm4vi2.js +31 -0
- package/out/_next/static/chunks/0ulufxnsrou61.js +1 -0
- package/out/_next/static/chunks/0xa9dyg6ezzyd.js +2 -0
- package/out/_next/static/chunks/0xvrfvur0p534.js +1 -0
- package/out/_next/static/chunks/{35aagg46wp139.js → 0ybs1u66q26su.js} +1 -1
- package/out/_next/static/chunks/0ydfhk-p6zvm0.js +1 -0
- package/out/_next/static/chunks/{29gv2swsp7tzu.js → 0z004fn14pbcu.js} +1 -1
- package/out/_next/static/chunks/{2z9mdtudj8crz.js → 0z9erbl3llr_b.js} +226 -224
- package/out/_next/static/chunks/0zcsxvcvog9ue.js +1 -0
- package/out/_next/static/chunks/0zqgq0lwtz9tn.js +1 -0
- package/out/_next/static/chunks/1-ogak5u00kwa.js +1 -0
- package/out/_next/static/chunks/{1ng-fqh2_n984.js → 10_5p5-xf2aoo.js} +1 -1
- package/out/_next/static/chunks/118qlrzdwpfmo.js +1 -0
- package/out/_next/static/chunks/11km5p4gd0ut4.js +1 -0
- package/out/_next/static/chunks/120rl4l29q9xs.js +1 -0
- package/out/_next/static/chunks/{1ho02fc091nj2.js → 129m5i93ltoym.js} +1 -1
- package/out/_next/static/chunks/12n73o884lyyl.js +1 -0
- package/out/_next/static/chunks/{3n-7bcmfbh299.js → 13zcn4lv0qj76.js} +11 -11
- package/out/_next/static/chunks/15jlgfcaeaki9.js +1 -0
- package/out/_next/static/chunks/{1ux1rpe-n1mai.js → 15o4_2t-l3rj5.js} +1 -1
- package/out/_next/static/chunks/{00o9hr_3hd0r8.js → 175st2ogkg_1o.js} +1 -1
- package/out/_next/static/chunks/19rsodtu91ja_.js +1 -0
- package/out/_next/static/chunks/1a2ouhup611bz.js +1 -0
- package/out/_next/static/chunks/{1solqr18og2ot.js → 1by60_b14x-3o.js} +1 -1
- package/out/_next/static/chunks/1cyq7i39885sl.js +1 -0
- package/out/_next/static/chunks/1d9it6yocgt54.js +1 -0
- package/out/_next/static/chunks/1dp1s1t-y7gal.js +1 -0
- package/out/_next/static/chunks/1dr7gh6xgypl8.js +1 -0
- package/out/_next/static/chunks/{32vaw89wdwv5_.js → 1dt30s_sp8415.js} +1 -1
- package/out/_next/static/chunks/{1t7nl8rx7mabd.js → 1e8_jl2cxd3rp.js} +576 -576
- package/out/_next/static/chunks/1f1rek_fxk3of.js +1 -0
- package/out/_next/static/chunks/1f2mna0k5efeq.js +1 -0
- package/out/_next/static/chunks/1gfz3sxwkkg3d.js +1 -0
- package/out/_next/static/chunks/1gr35qeguuws0.js +1 -0
- package/out/_next/static/chunks/{0g2wngc6oe7fd.js → 1gttu-n9am66k.js} +255 -253
- package/out/_next/static/chunks/1imi0xwi9hd99.js +1 -0
- package/out/_next/static/chunks/1ka5v5zu0cstt.js +1 -0
- package/out/_next/static/chunks/{17aahvhpls1l7.js → 1l_3oidssbhns.js} +298 -231
- package/out/_next/static/chunks/1m9zc5gm-327d.js +112 -0
- package/out/_next/static/chunks/1n9nhz-6azcp3.js +3 -0
- package/out/_next/static/chunks/1ncqwe81t_9_x.js +1 -0
- package/out/_next/static/chunks/1nix_lulkpklo.js +1 -0
- package/out/_next/static/chunks/{141tngxsk32hq.js → 1ntqovuz2c217.js} +1 -1
- package/out/_next/static/chunks/1pgs-98tfkq9_.js +1 -0
- package/out/_next/static/chunks/1q2z0aeopo8t8.js +1 -0
- package/out/_next/static/chunks/{2zpn7010iqgsy.js → 1q4lkgxfnqnew.js} +1 -1
- package/out/_next/static/chunks/{2khh_pmm224k5.js → 1qg1l7t00nyib.js} +97 -300
- package/out/_next/static/chunks/{1qxhgauuomthl.js → 1rcdimhu0qhlu.js} +407 -407
- package/out/_next/static/chunks/1rlfg62jxqj3z.js +1 -0
- package/out/_next/static/chunks/1ses023uud001.js +1 -0
- package/out/_next/static/chunks/1t5oynmttpfsw.js +1 -0
- package/out/_next/static/chunks/{25gf6xn9u1c57.js → 1t9i20i5-f8ze.js} +1 -1
- package/out/_next/static/chunks/{2h5nvlgky7fpa.js → 1tgj55b305g4h.js} +1 -1
- package/out/_next/static/chunks/{255knovck7pv2.js → 1u8snlm6a7uhi.js} +4 -4
- package/out/_next/static/chunks/{04_3ri5emyfcu.js → 1ug4k-1zhr63a.js} +1 -1
- package/out/_next/static/chunks/{3-_08i4_7yhno.js → 1uh9zgsy69g92.js} +1 -1
- package/out/_next/static/chunks/1vrpzlif-z_p0.js +1 -0
- package/out/_next/static/chunks/1vurgl6oz2qey.js +17 -0
- package/out/_next/static/chunks/1w-qc09n9ijtq.js +1 -0
- package/out/_next/static/chunks/1ycqxcht6x54p.js +1 -0
- package/out/_next/static/chunks/{2zyjw8g4tiu51.js → 1zj4307ugq0qz.js} +1 -1
- package/out/_next/static/chunks/{425epvuw3yy-n.js → 1zkd8v-qka--j.js} +169 -174
- package/out/_next/static/chunks/1zm52cjrfrq7c.js +1 -0
- package/out/_next/static/chunks/{267q_eg-c6f6m.js → 1zm6eo861i3c8.js} +1 -1
- package/out/_next/static/chunks/{1e_-_7biavwmb.js → 1zp9363yfhpom.js} +1 -1
- package/out/_next/static/chunks/1zt1xxovnjhkm.js +1 -0
- package/out/_next/static/chunks/2-3hk_db5fpok.js +1 -0
- package/out/_next/static/chunks/2-bv9a_0zgw1f.js +1 -0
- package/out/_next/static/chunks/209sxygecny37.js +1 -0
- package/out/_next/static/chunks/{1ccn725by19i1.js → 216uiih3_vdfd.js} +1 -1
- package/out/_next/static/chunks/21kfpd_bityxt.js +1 -0
- package/out/_next/static/chunks/22yqh0zlo_vwr.js +1 -0
- package/out/_next/static/chunks/24ecas0m9tao7.js +3 -0
- package/out/_next/static/chunks/24pq9210rng3f.js +1 -0
- package/out/_next/static/chunks/{0zf26k6juhlzo.js → 267prao6fyt22.js} +23 -20
- package/out/_next/static/chunks/26skkagvj1z96.js +1 -0
- package/out/_next/static/chunks/26y9sv8_-ykxf.js +1 -0
- package/out/_next/static/chunks/2701xfv_07wz_.js +1 -0
- package/out/_next/static/chunks/{1x99m91nt1m3b.js → 271333m8y3k0e.js} +1 -1
- package/out/_next/static/chunks/29rkmguzky-bp.js +1 -0
- package/out/_next/static/chunks/{077eo-0dhbxz-.js → 2a07so920b6aa.js} +1 -1
- package/out/_next/static/chunks/2a2oy8ryz2tsk.js +1 -0
- package/out/_next/static/chunks/2ao-3jzz7yw3p.js +532 -0
- package/out/_next/static/chunks/2apihn9ra2ufp.js +1 -0
- package/out/_next/static/chunks/2apnpj0-fs9ks.js +1 -0
- package/out/_next/static/chunks/2b481pitl4k85.js +1 -0
- package/out/_next/static/chunks/2bettxaqt3d2p.js +1 -0
- package/out/_next/static/chunks/{1fyh50hjt7hi_.js → 2c721vfva711t.js} +1 -1
- package/out/_next/static/chunks/{442e2l3jzxd-_.js → 2d2kl_m64j9cb.js} +1 -1
- package/out/_next/static/chunks/2droqjmvmgj13.js +1 -0
- package/out/_next/static/chunks/2dxbvwbbgpzoq.js +1 -0
- package/out/_next/static/chunks/2eqbsut829r5l.js +1 -0
- package/out/_next/static/chunks/2f3_mzxjh3gso.js +1 -0
- package/out/_next/static/chunks/2fsde0jwi5qtt.js +1 -0
- package/out/_next/static/chunks/2h249uvhh2sij.js +114 -0
- package/out/_next/static/chunks/{1gvdmbr65lpud.js → 2izok2otbk8-2.js} +505 -505
- package/out/_next/static/chunks/{0yvevihll7sz-.js → 2j120dkh7q3uf.js} +1 -1
- package/out/_next/static/chunks/2j2ynchpqh34-.js +1 -0
- package/out/_next/static/chunks/2kj6pzs_wap1v.js +1 -0
- package/out/_next/static/chunks/{2-p206i_ihx09.js → 2kok6zedeeltw.js} +1 -1
- package/out/_next/static/chunks/2lnj9jruy4nrv.js +1 -0
- package/out/_next/static/chunks/{41yy4p3-rtyz1.js → 2lsvk7xcfkarc.js} +1 -1
- package/out/_next/static/chunks/2n-pveub8b_5t.js +1 -0
- package/out/_next/static/chunks/{00xc-0pj7on2s.js → 2n3xu_wbvtj7h.js} +29 -29
- package/out/_next/static/chunks/{1oljzgz5jistn.js → 2of8q0kaeqpf0.js} +1 -1
- package/out/_next/static/chunks/2ofwtw6p08sfz.js +1 -0
- package/out/_next/static/chunks/2phl5ta4iim7l.js +12 -0
- package/out/_next/static/chunks/2q6l-xdqzgmpf.js +1 -0
- package/out/_next/static/chunks/2q8yg63br2jc9.js +1 -0
- package/out/_next/static/chunks/2r5qgieqldcd9.js +1 -0
- package/out/_next/static/chunks/2r7y401cvjc1s.js +1 -0
- package/out/_next/static/chunks/{22ja7c3gk0_ko.js → 2r96kyeehsji9.js} +1 -1
- package/out/_next/static/chunks/{3gyyjsot8mdav.js → 2rmc6ru7mc-kg.js} +1 -1
- package/out/_next/static/chunks/{1ephzzweysylq.js → 2s6kpclh6ie7o.js} +901 -973
- package/out/_next/static/chunks/{0vso09vdz38sr.js → 2sys9nj8lo3uk.js} +1 -1
- package/out/_next/static/chunks/{0w-hm7g7trtjg.js → 2tc3e-iqv71y_.js} +1 -1
- package/out/_next/static/chunks/2uo6vm7mfgrbf.js +1 -0
- package/out/_next/static/chunks/2urx6fow8c8c9.js +505 -0
- package/out/_next/static/chunks/2w2k1gveljyb7.js +1 -0
- package/out/_next/static/chunks/{22rl_arnzs-ve.js → 2w99knknr5i8c.js} +1 -1
- package/out/_next/static/chunks/2w_ptlw-ad8-9.js +4 -0
- package/out/_next/static/chunks/2ws1s9d52ayv8.js +1 -0
- package/out/_next/static/chunks/2x7enks3ydgai.js +1 -0
- package/out/_next/static/chunks/{2e46-2ubc90do.js → 2y8i7_nxm4r05.js} +5 -5
- package/out/_next/static/chunks/2ydub0t01728d.js +1 -0
- package/out/_next/static/chunks/{309f81l5ucsb_.js → 2z_iab7ozohhq.js} +60 -60
- package/out/_next/static/chunks/3-m_vzabs1uez.js +1 -0
- package/out/_next/static/chunks/{0t89-lfct-7m6.js → 302qk2fjdrthp.js} +5 -5
- package/out/_next/static/chunks/30bhz7czzs4mf.js +1 -0
- package/out/_next/static/chunks/{0tn-9w46cwydp.js → 30n4y_uu8chbh.js} +515 -514
- package/out/_next/static/chunks/{2-hdejef-mpka.js → 32_c4mbb6j1l6.js} +372 -169
- package/out/_next/static/chunks/33hp-khdfohdq.js +1 -0
- package/out/_next/static/chunks/{28ndw4nsw2t_4.js → 33i36o_l69sm5.js} +1 -1
- package/out/_next/static/chunks/3527r3jo5fj3i.js +1 -0
- package/out/_next/static/chunks/355dg8yaa94hr.js +1 -0
- package/out/_next/static/chunks/{11p92pnn5el0v.js → 35ntbr_c-yx44.js} +1 -1
- package/out/_next/static/chunks/{2rjfrjhp4kjev.js → 35sne1llxnc-m.js} +57 -57
- package/out/_next/static/chunks/36enkx1skkv2-.js +4 -0
- package/out/_next/static/chunks/{3-x7522okdy-7.js → 3772oce1n3t_g.js} +1 -1
- package/out/_next/static/chunks/{1rb8wewjbdisv.js → 37cnbm5ft1mqf.js} +1 -1
- package/out/_next/static/chunks/38xdo3cifphut.js +1 -0
- package/out/_next/static/chunks/{1tt1bbry-4f-6.js → 3_dgblylldcgb.js} +1 -1
- package/out/_next/static/chunks/3beawo-qwuk8k.js +1 -0
- package/out/_next/static/chunks/3cj_6sl9kr3e9.js +1 -0
- package/out/_next/static/chunks/3d-i_skta_wes.js +1 -0
- package/out/_next/static/chunks/3df_l2we755bb.js +1 -0
- package/out/_next/static/chunks/{43hwl25uke0l_.js → 3eve5y7fpzx2h.js} +1 -1
- package/out/_next/static/chunks/3ewgyb4y19w-3.js +1 -0
- package/out/_next/static/chunks/3f3789eh18_oy.js +1 -0
- package/out/_next/static/chunks/{1n_gxvu31aofy.js → 3f8qelpscqfym.js} +2 -2
- package/out/_next/static/chunks/3g3-e9m1en45q.js +1 -0
- package/out/_next/static/chunks/{0uxdbfa8gv6tk.js → 3h6akt2uu05ku.js} +29 -29
- package/out/_next/static/chunks/{3w4qettzp7khe.js → 3huu0tqmxwowu.js} +523 -522
- package/out/_next/static/chunks/3i239y-1hbkm-.js +1 -0
- package/out/_next/static/chunks/{1qsut_e3msg0l.js → 3ipx7xbxchsq9.js} +1 -1
- package/out/_next/static/chunks/{2ftp5xmq_w23j.js → 3j9xvdz55bi4p.js} +345 -345
- package/out/_next/static/chunks/3kp8qmhoi24oz.js +1 -0
- package/out/_next/static/chunks/3ksq69yq-40_r.js +1 -0
- package/out/_next/static/chunks/{2x83vs8ns4pww.js → 3njwfothmmg7u.js} +3 -3
- package/out/_next/static/chunks/{0bj_310rugcn1.js → 3oqxl46ukaojj.js} +11 -11
- package/out/_next/static/chunks/{1upkv4ltuh3s5.js → 3qn6r8-0u6dij.js} +352 -352
- package/out/_next/static/chunks/3qye1lytea2i8.js +1 -0
- package/out/_next/static/chunks/3rlp9yr75liz7.js +1 -0
- package/out/_next/static/chunks/{2i82rmjta9ijs.js → 3sa_hlx3konc7.js} +1 -1
- package/out/_next/static/chunks/3tyo643l62h3m.js +1 -0
- package/out/_next/static/chunks/3tz2tpqa9uvwm.js +1 -0
- package/out/_next/static/chunks/{2pbgsq7vvtk8_.js → 3utpc-fc6_y0f.js} +1 -1
- package/out/_next/static/chunks/3v-0c2aj6c0on.js +1 -0
- package/out/_next/static/chunks/3v6nxa28rxngq.js +1 -0
- package/out/_next/static/chunks/{1og49_atcksim.js → 3vbamaoiuk9yj.js} +1 -1
- package/out/_next/static/chunks/3vv99btjc-mky.js +1 -0
- package/out/_next/static/chunks/{1nqojcig-0m3c.js → 3w59kt5ztyvoq.js} +1 -1
- package/out/_next/static/chunks/3x02lxdo28u9i.js +1 -0
- package/out/_next/static/chunks/3xl-op0hwxytg.js +272 -0
- package/out/_next/static/chunks/3ydnxyc4rvad_.js +1 -0
- package/out/_next/static/chunks/3ylg4gfetwgxw.js +1 -0
- package/out/_next/static/chunks/{1-4v8oivkgnyl.js → 3zdtteq-r2fs5.js} +3 -3
- package/out/_next/static/chunks/3zkwt0gybqtgm.js +1 -0
- package/out/_next/static/chunks/{0wq_9f98weoe3.js → 3zs7l4362msjd.js} +1 -1
- package/out/_next/static/chunks/40etabvml_71y.js +1 -0
- package/out/_next/static/chunks/417jkzz0slv9m.js +1 -0
- package/out/_next/static/chunks/41b5gpyqbj58m.js +338 -0
- package/out/_next/static/chunks/41u2-5jayyajf.js +22 -0
- package/out/_next/static/chunks/42gcpy51w7lk1.js +1 -0
- package/out/_next/static/chunks/{1ph0tfo-4hl-f.js → 42ymanq326mo7.js} +1 -1
- package/out/_next/static/chunks/{3w_umk1xtj6to.js → 43fp64xnfy646.js} +1 -1
- package/out/_next/static/chunks/43v4y2gu5z9_h.js +1 -0
- package/out/_next/static/chunks/44cer242u-f8v.js +1 -0
- package/out/_next/static/chunks/{1ozi46t8jajqh.js → 44zi0gl0a6a8w.js} +1 -1
- package/out/_next/static/chunks/turbopack-0n2o5_bkskckx.js +1 -0
- package/out/_not-found/__next._full.txt +12 -12
- package/out/_not-found/__next._not-found.__PAGE__.txt +19 -2
- package/out/_not-found/__next._tree.txt +2 -2
- package/out/_not-found.html +1 -1
- package/out/_not-found.txt +12 -12
- package/out/index.html +1 -1
- package/out/index.txt +11 -11
- package/package.json +15 -15
- package/out/__next._head.txt +0 -6
- package/out/__next._index.txt +0 -5
- package/out/_next/static/chunks/00g5suuoa-_wn.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/04j9pexbmysdy.js +0 -1
- package/out/_next/static/chunks/055baac5e-c2o.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/099ilz3dmm1jw.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/0c5d3qn2mb3ew.js +0 -1
- package/out/_next/static/chunks/0dck67in84de0.js +0 -1
- package/out/_next/static/chunks/0dg4wxz-6u5lo.js +0 -1
- package/out/_next/static/chunks/0dva036n8ab62.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/0n-zml1gn0o1u.js +0 -1
- package/out/_next/static/chunks/0n92hec_jb_-_.js +0 -1
- package/out/_next/static/chunks/0pv2wirx45e1m.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/0s84ekz_f9ngx.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/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/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/18wa83g0qfh-b.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/1__nujzr9e352.js +0 -3
- 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/1di5enkavl9vx.js +0 -4
- 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/1gnggc6370ji-.js +0 -1
- package/out/_next/static/chunks/1gtj_l5ame5mw.js +0 -1
- package/out/_next/static/chunks/1hsvckd0sgdgr.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/1mrvp94tietcv.js +0 -1
- package/out/_next/static/chunks/1mvadj46owrck.js +0 -1
- package/out/_next/static/chunks/1nasz7q3tvb53.js +0 -1
- package/out/_next/static/chunks/1o3ggu95lfu6i.js +0 -1
- package/out/_next/static/chunks/1qjsgebn9m-0l.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/2bm95r0011asw.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/2c2dspoukng-5.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/2o8k8x5zcepfy.js +0 -1
- package/out/_next/static/chunks/2pcdnd4nzcw4c.js +0 -1
- package/out/_next/static/chunks/2q0rz76kj6h5z.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/2wi7y3sfqyqdo.js +0 -3
- package/out/_next/static/chunks/2ymtumj-hfrjo.js +0 -1
- package/out/_next/static/chunks/2zdzgmacaoor9.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/31ei992g8gqz9.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/3k-gz8qf-mj-p.js +0 -1
- 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/3mvaub8qjdyuc.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/3tdcdi_utmoy_.js +0 -1
- package/out/_next/static/chunks/3tdzweqszru4y.js +0 -1
- package/out/_next/static/chunks/3tt_ir_va6262.js +0 -1
- package/out/_next/static/chunks/3y_51bmdnc0ey.js +0 -1
- package/out/_next/static/chunks/3yr66ufoli71t.js +0 -1
- package/out/_next/static/chunks/41qxc142snm22.js +0 -1
- package/out/_next/static/chunks/43qmngblcab8f.js +0 -1
- package/out/_next/static/chunks/turbopack-3r8yn0j92tqw_.js +0 -1
- package/out/_not-found/__next._head.txt +0 -6
- package/out/_not-found/__next._index.txt +0 -5
- package/out/_not-found/__next._not-found.txt +0 -5
- /package/out/_next/static/{BvOGdrl2Cfw-jVV73WY6a → A1hxMz783bIWo0Q9qqV3L}/_buildManifest.js +0 -0
- /package/out/_next/static/{BvOGdrl2Cfw-jVV73WY6a → A1hxMz783bIWo0Q9qqV3L}/_clientMiddlewareManifest.js +0 -0
- /package/out/_next/static/{BvOGdrl2Cfw-jVV73WY6a → A1hxMz783bIWo0Q9qqV3L}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,532 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,83753,64767,e=>{"use strict";var t=e.i(2342);let a="clipPlaneVertexDeclaration",r=`#ifdef CLIPPLANE
|
|
2
|
+
uniform vClipPlane: vec4<f32>;varying fClipDistance: f32;
|
|
3
|
+
#endif
|
|
4
|
+
#ifdef CLIPPLANE2
|
|
5
|
+
uniform vClipPlane2: vec4<f32>;varying fClipDistance2: f32;
|
|
6
|
+
#endif
|
|
7
|
+
#ifdef CLIPPLANE3
|
|
8
|
+
uniform vClipPlane3: vec4<f32>;varying fClipDistance3: f32;
|
|
9
|
+
#endif
|
|
10
|
+
#ifdef CLIPPLANE4
|
|
11
|
+
uniform vClipPlane4: vec4<f32>;varying fClipDistance4: f32;
|
|
12
|
+
#endif
|
|
13
|
+
#ifdef CLIPPLANE5
|
|
14
|
+
uniform vClipPlane5: vec4<f32>;varying fClipDistance5: f32;
|
|
15
|
+
#endif
|
|
16
|
+
#ifdef CLIPPLANE6
|
|
17
|
+
uniform vClipPlane6: vec4<f32>;varying fClipDistance6: f32;
|
|
18
|
+
#endif
|
|
19
|
+
`;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["clipPlaneVertexDeclarationWGSL",0,{name:a,shader:r}],83753);let s="clipPlaneVertex",o=`#ifdef CLIPPLANE
|
|
20
|
+
vertexOutputs.fClipDistance=dot(worldPos,uniforms.vClipPlane);
|
|
21
|
+
#endif
|
|
22
|
+
#ifdef CLIPPLANE2
|
|
23
|
+
vertexOutputs.fClipDistance2=dot(worldPos,uniforms.vClipPlane2);
|
|
24
|
+
#endif
|
|
25
|
+
#ifdef CLIPPLANE3
|
|
26
|
+
vertexOutputs.fClipDistance3=dot(worldPos,uniforms.vClipPlane3);
|
|
27
|
+
#endif
|
|
28
|
+
#ifdef CLIPPLANE4
|
|
29
|
+
vertexOutputs.fClipDistance4=dot(worldPos,uniforms.vClipPlane4);
|
|
30
|
+
#endif
|
|
31
|
+
#ifdef CLIPPLANE5
|
|
32
|
+
vertexOutputs.fClipDistance5=dot(worldPos,uniforms.vClipPlane5);
|
|
33
|
+
#endif
|
|
34
|
+
#ifdef CLIPPLANE6
|
|
35
|
+
vertexOutputs.fClipDistance6=dot(worldPos,uniforms.vClipPlane6);
|
|
36
|
+
#endif
|
|
37
|
+
`;t.ShaderStore.IncludesShadersStoreWGSL[s]||(t.ShaderStore.IncludesShadersStoreWGSL[s]=o),e.s(["clipPlaneVertexWGSL",0,{name:s,shader:o}],64767)},43402,25462,e=>{"use strict";var t=e.i(2342);let a="fogVertexDeclaration",r=`#ifdef FOG
|
|
38
|
+
varying vFogDistance: vec3f;
|
|
39
|
+
#endif
|
|
40
|
+
`;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["fogVertexDeclarationWGSL",0,{name:a,shader:r}],43402);let s="fogVertex",o=`#ifdef FOG
|
|
41
|
+
#ifdef SCENE_UBO
|
|
42
|
+
vertexOutputs.vFogDistance=(scene.view*worldPos).xyz;
|
|
43
|
+
#else
|
|
44
|
+
vertexOutputs.vFogDistance=(uniforms.view*worldPos).xyz;
|
|
45
|
+
#endif
|
|
46
|
+
#endif
|
|
47
|
+
`;t.ShaderStore.IncludesShadersStoreWGSL[s]||(t.ShaderStore.IncludesShadersStoreWGSL[s]=o),e.s(["fogVertexWGSL",0,{name:s,shader:o}],25462)},72457,e=>{"use strict";var t=e.i(2342);let a="gaussianSplatting",r=`fn getDataUV(index: f32,dataTextureSize: vec2f)->vec2<f32> {let y: f32=floor(index/dataTextureSize.x);let x: f32=index-y*dataTextureSize.x;return vec2f((x+0.5),(y+0.5));}
|
|
48
|
+
struct Splat {center: vec4f,
|
|
49
|
+
color: vec4f,
|
|
50
|
+
covA: vec4f,
|
|
51
|
+
covB: vec4f,
|
|
52
|
+
#if SH_DEGREE>0
|
|
53
|
+
sh0: vec4<u32>,
|
|
54
|
+
#endif
|
|
55
|
+
#if SH_DEGREE>1
|
|
56
|
+
sh1: vec4<u32>,
|
|
57
|
+
#endif
|
|
58
|
+
#if SH_DEGREE>2
|
|
59
|
+
sh2: vec4<u32>,
|
|
60
|
+
#endif
|
|
61
|
+
#if SH_DEGREE>3
|
|
62
|
+
sh3: vec4<u32>,
|
|
63
|
+
sh4: vec4<u32>,
|
|
64
|
+
#endif
|
|
65
|
+
#if IS_COMPOUND
|
|
66
|
+
partIndex: u32,
|
|
67
|
+
#endif
|
|
68
|
+
#if defined(IS_FOR_VOXELIZATION)
|
|
69
|
+
rotationA: vec4f,
|
|
70
|
+
rotationB: vec4f,
|
|
71
|
+
rotationScale: vec4f,
|
|
72
|
+
#endif
|
|
73
|
+
#ifdef USE_SOG
|
|
74
|
+
splatIndex: f32,
|
|
75
|
+
#endif
|
|
76
|
+
};fn getSplatIndex(localIndex: i32,splatIndex0: vec4f,splatIndex1: vec4f,splatIndex2: vec4f,splatIndex3: vec4f)->f32 {var splatIndex: f32;switch (localIndex)
|
|
77
|
+
{case 0:
|
|
78
|
+
{splatIndex=splatIndex0.x;break;}
|
|
79
|
+
case 1:
|
|
80
|
+
{splatIndex=splatIndex0.y;break;}
|
|
81
|
+
case 2:
|
|
82
|
+
{splatIndex=splatIndex0.z;break;}
|
|
83
|
+
case 3:
|
|
84
|
+
{splatIndex=splatIndex0.w;break;}
|
|
85
|
+
case 4:
|
|
86
|
+
{splatIndex=splatIndex1.x;break;}
|
|
87
|
+
case 5:
|
|
88
|
+
{splatIndex=splatIndex1.y;break;}
|
|
89
|
+
case 6:
|
|
90
|
+
{splatIndex=splatIndex1.z;break;}
|
|
91
|
+
case 7:
|
|
92
|
+
{splatIndex=splatIndex1.w;break;}
|
|
93
|
+
case 8:
|
|
94
|
+
{splatIndex=splatIndex2.x;break;}
|
|
95
|
+
case 9:
|
|
96
|
+
{splatIndex=splatIndex2.y;break;}
|
|
97
|
+
case 10:
|
|
98
|
+
{splatIndex=splatIndex2.z;break;}
|
|
99
|
+
case 11:
|
|
100
|
+
{splatIndex=splatIndex2.w;break;}
|
|
101
|
+
case 12:
|
|
102
|
+
{splatIndex=splatIndex3.x;break;}
|
|
103
|
+
case 13:
|
|
104
|
+
{splatIndex=splatIndex3.y;break;}
|
|
105
|
+
case 14:
|
|
106
|
+
{splatIndex=splatIndex3.z;break;}
|
|
107
|
+
default:
|
|
108
|
+
{splatIndex=splatIndex3.w;break;}}
|
|
109
|
+
return splatIndex;}
|
|
110
|
+
fn readSplat(splatIndex: f32,dataTextureSize: vec2f)->Splat {var splat: Splat;let splatUV=getDataUV(splatIndex,dataTextureSize);let splatUVi32=vec2<i32>(i32(splatUV.x),i32(splatUV.y));
|
|
111
|
+
#ifdef USE_SOG
|
|
112
|
+
let mL=textureLoad(centersTexture,splatUVi32,0);let mU=textureLoad(covariancesATexture,splatUVi32,0);let sRaw=textureLoad(covariancesBTexture,splatUVi32,0);let qRaw=textureLoad(sogQuatsTexture,splatUVi32,0);let c0=textureLoad(colorsTexture,splatUVi32,0);let q16=(mU.xyz*256.0+mL.xyz)*(255.0/65535.0);let nPos=mix(uniforms.sogMeansMin,uniforms.sogMeansMax,q16);let center3=sign(nPos)*(exp(abs(nPos))-vec3f(1.0));splat.center=vec4f(center3,1.0);
|
|
113
|
+
#ifdef USE_SOG_V2
|
|
114
|
+
let sIdx=floor(sRaw.xyz*255.0+0.5);var splatScale: vec3f;splatScale.x=exp(textureLoad(sogCodebookTexture,vec2<i32>(i32(sIdx.x),0),0).r);splatScale.y=exp(textureLoad(sogCodebookTexture,vec2<i32>(i32(sIdx.y),0),0).r);splatScale.z=exp(textureLoad(sogCodebookTexture,vec2<i32>(i32(sIdx.z),0),0).r);
|
|
115
|
+
#else
|
|
116
|
+
let splatScale=exp(mix(uniforms.sogScalesMin,uniforms.sogScalesMax,sRaw.xyz));
|
|
117
|
+
#endif
|
|
118
|
+
let invSqrt2: f32=0.70710678118;let qabc=(qRaw.xyz-vec3f(0.5))*2.0*invSqrt2;let qMode=i32(qRaw.w*255.0+0.5)-252;let qd=sqrt(max(0.0,1.0-dot(qabc,qabc)));var quat: vec4f;if (qMode==0) { quat=vec4f(qd,qabc.x,qabc.y,qabc.z); }
|
|
119
|
+
else if (qMode==1) { quat=vec4f(qabc.x,qd,qabc.y,qabc.z); }
|
|
120
|
+
else if (qMode==2) { quat=vec4f(qabc.x,qabc.y,qd,qabc.z); }
|
|
121
|
+
else { quat=vec4f(qabc.x,qabc.y,qabc.z,qd); }
|
|
122
|
+
let qw=quat.x; let qx=quat.y; let qy=quat.z; let qz=quat.w;let R=mat3x3<f32>(
|
|
123
|
+
1.0-2.0*(qy*qy+qz*qz),2.0*(qx*qy+qw*qz), 2.0*(qx*qz-qw*qy),
|
|
124
|
+
2.0*(qx*qy-qw*qz), 1.0-2.0*(qx*qx+qz*qz),2.0*(qy*qz+qw*qx),
|
|
125
|
+
2.0*(qx*qz+qw*qy), 2.0*(qy*qz-qw*qx), 1.0-2.0*(qx*qx+qy*qy)
|
|
126
|
+
);let S2=mat3x3<f32>(
|
|
127
|
+
4.0*splatScale.x*splatScale.x,0.0,0.0,
|
|
128
|
+
0.0,4.0*splatScale.y*splatScale.y,0.0,
|
|
129
|
+
0.0,0.0,4.0*splatScale.z*splatScale.z
|
|
130
|
+
);let Sigma=R*S2*transpose(R);splat.covA=vec4f(Sigma[0][0],Sigma[0][1],Sigma[0][2],Sigma[1][1]);splat.covB=vec4f(Sigma[1][2],Sigma[2][2],0.0,0.0);let SH_C0_SOG: f32=0.28209479177387814;
|
|
131
|
+
#ifdef USE_SOG_V2
|
|
132
|
+
var c3: vec3f;c3.x=textureLoad(sogCodebookTexture,vec2<i32>(256+i32(c0.x*255.0+0.5),0),0).r;c3.y=textureLoad(sogCodebookTexture,vec2<i32>(256+i32(c0.y*255.0+0.5),0),0).r;c3.z=textureLoad(sogCodebookTexture,vec2<i32>(256+i32(c0.z*255.0+0.5),0),0).r;let colRgb=vec3f(0.5)+c3*SH_C0_SOG;let colA=c0.w;
|
|
133
|
+
#else
|
|
134
|
+
let cLerp=mix(uniforms.sogSh0Min,uniforms.sogSh0Max,c0);let colRgb=vec3f(0.5)+cLerp.xyz*SH_C0_SOG;let colA=1.0/(1.0+exp(-cLerp.w));
|
|
135
|
+
#endif
|
|
136
|
+
splat.color=vec4f(colRgb,colA);splat.splatIndex=splatIndex;
|
|
137
|
+
#else
|
|
138
|
+
splat.center=textureLoad(centersTexture,splatUVi32,0);splat.color=textureLoad(colorsTexture,splatUVi32,0);
|
|
139
|
+
#if !defined(IS_FOR_VOXELIZATION)
|
|
140
|
+
splat.covA=textureLoad(covariancesATexture,splatUVi32,0)*splat.center.w;splat.covB=textureLoad(covariancesBTexture,splatUVi32,0)*splat.center.w;
|
|
141
|
+
#endif
|
|
142
|
+
#endif
|
|
143
|
+
#if SH_DEGREE>0 && !defined(USE_SOG)
|
|
144
|
+
splat.sh0=textureLoad(shTexture0,splatUVi32,0);
|
|
145
|
+
#endif
|
|
146
|
+
#if SH_DEGREE>1 && !defined(USE_SOG)
|
|
147
|
+
splat.sh1=textureLoad(shTexture1,splatUVi32,0);
|
|
148
|
+
#endif
|
|
149
|
+
#if SH_DEGREE>2 && !defined(USE_SOG)
|
|
150
|
+
splat.sh2=textureLoad(shTexture2,splatUVi32,0);
|
|
151
|
+
#endif
|
|
152
|
+
#if SH_DEGREE>3 && !defined(USE_SOG)
|
|
153
|
+
splat.sh3=textureLoad(shTexture3,splatUVi32,0);splat.sh4=textureLoad(shTexture4,splatUVi32,0);
|
|
154
|
+
#endif
|
|
155
|
+
#if IS_COMPOUND
|
|
156
|
+
splat.partIndex=u32(textureLoad(partIndicesTexture,splatUVi32,0).r*255.0+0.5);
|
|
157
|
+
#endif
|
|
158
|
+
#if defined(IS_FOR_VOXELIZATION)
|
|
159
|
+
splat.rotationA=textureLoad(rotationsATexture,splatUVi32,0);splat.rotationB=textureLoad(rotationsBTexture,splatUVi32,0);splat.rotationScale=textureLoad(rotationScaleTexture,splatUVi32,0);
|
|
160
|
+
#endif
|
|
161
|
+
return splat;}
|
|
162
|
+
fn computeColorFromSHDegree(dir: vec3f,sh: array<vec3<f32>,25>,_so1: f32,_so2: f32,_so3: f32,_so4: f32)->vec3f
|
|
163
|
+
{let SH_C0: f32=0.28209479;let SH_C1: f32=0.48860251;var SH_C2: array<f32,5>=array<f32,5>(
|
|
164
|
+
1.092548430,
|
|
165
|
+
-1.09254843,
|
|
166
|
+
0.315391565,
|
|
167
|
+
-1.09254843,
|
|
168
|
+
0.546274215
|
|
169
|
+
);var SH_C3: array<f32,7>=array<f32,7>(
|
|
170
|
+
-0.59004358,
|
|
171
|
+
2.890611442,
|
|
172
|
+
-0.45704579,
|
|
173
|
+
0.373176332,
|
|
174
|
+
-0.45704579,
|
|
175
|
+
1.445305721,
|
|
176
|
+
-0.59004358
|
|
177
|
+
);var SH_C4: array<f32,9>=array<f32,9>(
|
|
178
|
+
2.5033429418,
|
|
179
|
+
-1.7701307698,
|
|
180
|
+
0.9461746958,
|
|
181
|
+
-0.6690465436,
|
|
182
|
+
0.1057855469,
|
|
183
|
+
-0.6690465436,
|
|
184
|
+
0.4730873479,
|
|
185
|
+
-1.7701307698,
|
|
186
|
+
0.6258357354
|
|
187
|
+
);var result: vec3f=/*SH_C0**/sh[0];
|
|
188
|
+
#if SH_DEGREE>0
|
|
189
|
+
let x: f32=dir.x;let y: f32=dir.y;let z: f32=dir.z;result+=_so1*(-SH_C1*y*sh[1]+SH_C1*z*sh[2]-SH_C1*x*sh[3]);
|
|
190
|
+
#if SH_DEGREE>1
|
|
191
|
+
let xx: f32=x*x;let yy: f32=y*y;let zz: f32=z*z;let xy: f32=x*y;let yz: f32=y*z;let xz: f32=x*z;result+=_so2*(
|
|
192
|
+
SH_C2[0]*xy*sh[4] +
|
|
193
|
+
SH_C2[1]*yz*sh[5] +
|
|
194
|
+
SH_C2[2]*(2.0f*zz-xx-yy)*sh[6] +
|
|
195
|
+
SH_C2[3]*xz*sh[7] +
|
|
196
|
+
SH_C2[4]*(xx-yy)*sh[8]);
|
|
197
|
+
#if SH_DEGREE>2
|
|
198
|
+
result+=_so3*(
|
|
199
|
+
SH_C3[0]*y*(3.0f*xx-yy)*sh[9] +
|
|
200
|
+
SH_C3[1]*xy*z*sh[10] +
|
|
201
|
+
SH_C3[2]*y*(4.0f*zz-xx-yy)*sh[11] +
|
|
202
|
+
SH_C3[3]*z*(2.0f*zz-3.0f*xx-3.0f*yy)*sh[12] +
|
|
203
|
+
SH_C3[4]*x*(4.0f*zz-xx-yy)*sh[13] +
|
|
204
|
+
SH_C3[5]*z*(xx-yy)*sh[14] +
|
|
205
|
+
SH_C3[6]*x*(xx-3.0f*yy)*sh[15]);
|
|
206
|
+
#if SH_DEGREE>3
|
|
207
|
+
result+=_so4*(
|
|
208
|
+
SH_C4[0]*x*y*(xx-yy)*sh[16] +
|
|
209
|
+
SH_C4[1]*y*z*(3.0f*xx-yy)*sh[17] +
|
|
210
|
+
SH_C4[2]*x*y*(7.0f*zz-1.0f)*sh[18] +
|
|
211
|
+
SH_C4[3]*y*z*(7.0f*zz-3.0f)*sh[19] +
|
|
212
|
+
SH_C4[4]*(zz*(35.0f*zz-30.0f)+3.0f)*sh[20] +
|
|
213
|
+
SH_C4[5]*x*z*(7.0f*zz-3.0f)*sh[21] +
|
|
214
|
+
SH_C4[6]*(xx-yy)*(7.0f*zz-1.0f)*sh[22] +
|
|
215
|
+
SH_C4[7]*x*z*(xx-3.0f*yy)*sh[23] +
|
|
216
|
+
SH_C4[8]*(xx*(xx-3.0f*yy)-yy*(3.0f*xx-yy))*sh[24]);
|
|
217
|
+
#endif
|
|
218
|
+
#endif
|
|
219
|
+
#endif
|
|
220
|
+
#endif
|
|
221
|
+
return result;}
|
|
222
|
+
fn decompose(value: u32)->vec4f
|
|
223
|
+
{let components : vec4f=vec4f(
|
|
224
|
+
f32((value ) & 255u),
|
|
225
|
+
f32((value>>u32( 8)) & 255u),
|
|
226
|
+
f32((value>>u32(16)) & 255u),
|
|
227
|
+
f32((value>>u32(24)) & 255u));return components*vec4f(2./255.)-vec4f(1.);}
|
|
228
|
+
#ifdef USE_SOG
|
|
229
|
+
fn computeSH(splat: Splat,dir: vec3f)->vec3f
|
|
230
|
+
{
|
|
231
|
+
#if SH_DEGREE>0
|
|
232
|
+
var sh: array<vec3<f32>,25>;sh[0]=vec3f(0.,0.,0.);let labelSize=textureDimensions(sogShNLabelsTexture,0);let idx=i32(splat.splatIndex+0.5);let lw=i32(labelSize.x);let lx=idx-(idx/lw)*lw;let ly=idx/lw;let labelRaw=textureLoad(sogShNLabelsTexture,vec2<i32>(lx,ly),0);let n=i32(labelRaw.r*255.0+0.5)+i32(labelRaw.g*255.0+0.5)*256;let coeffs=i32(uniforms.sogShCoeffCount+0.5);let u=(n-(n/64)*64)*coeffs;let v=n/64;for (var k: i32=0; k<24; k=k+1) {if (k>=coeffs) { break; }
|
|
233
|
+
let centroidRaw=textureLoad(sogShNCentroidsTexture,vec2<i32>(u+k,v),0);var shCoeff: vec3f;
|
|
234
|
+
#ifdef USE_SOG_V2
|
|
235
|
+
let rIdx=i32(centroidRaw.r*255.0+0.5);let gIdx=i32(centroidRaw.g*255.0+0.5);let bIdx=i32(centroidRaw.b*255.0+0.5);shCoeff.r=textureLoad(sogCodebookTexture,vec2<i32>(512+rIdx,0),0).r;shCoeff.g=textureLoad(sogCodebookTexture,vec2<i32>(512+gIdx,0),0).r;shCoeff.b=textureLoad(sogCodebookTexture,vec2<i32>(512+bIdx,0),0).r;
|
|
236
|
+
#else
|
|
237
|
+
shCoeff=mix(vec3f(uniforms.sogShnMin),vec3f(uniforms.sogShnMax),centroidRaw.rgb);
|
|
238
|
+
#endif
|
|
239
|
+
sh[k+1]=shCoeff;}
|
|
240
|
+
return computeColorFromSHDegree(dir,sh,1.,1.,1.,1.);
|
|
241
|
+
#else
|
|
242
|
+
return vec3f(0.,0.,0.);
|
|
243
|
+
#endif
|
|
244
|
+
}
|
|
245
|
+
#else
|
|
246
|
+
fn computeSHWeighted(splat: Splat,dir: vec3f,_so1: f32,_so2: f32,_so3: f32,_so4: f32)->vec3f
|
|
247
|
+
{var sh: array<vec3<f32>,25>;sh[0]=vec3f(0.,0.,0.);
|
|
248
|
+
#if SH_DEGREE>0
|
|
249
|
+
let sh00: vec4f=decompose(splat.sh0.x);let sh01: vec4f=decompose(splat.sh0.y);let sh02: vec4f=decompose(splat.sh0.z);sh[1]=vec3f(sh00.x,sh00.y,sh00.z);sh[2]=vec3f(sh00.w,sh01.x,sh01.y);sh[3]=vec3f(sh01.z,sh01.w,sh02.x);
|
|
250
|
+
#endif
|
|
251
|
+
#if SH_DEGREE>1
|
|
252
|
+
let sh03: vec4f=decompose(splat.sh0.w);let sh04: vec4f=decompose(splat.sh1.x);let sh05: vec4f=decompose(splat.sh1.y);sh[4]=vec3f(sh02.y,sh02.z,sh02.w);sh[5]=vec3f(sh03.x,sh03.y,sh03.z);sh[6]=vec3f(sh03.w,sh04.x,sh04.y);sh[7]=vec3f(sh04.z,sh04.w,sh05.x);sh[8]=vec3f(sh05.y,sh05.z,sh05.w);
|
|
253
|
+
#endif
|
|
254
|
+
#if SH_DEGREE>2
|
|
255
|
+
let sh06: vec4f=decompose(splat.sh1.z);let sh07: vec4f=decompose(splat.sh1.w);let sh08: vec4f=decompose(splat.sh2.x);let sh09: vec4f=decompose(splat.sh2.y);let sh10: vec4f=decompose(splat.sh2.z);let sh11: vec4f=decompose(splat.sh2.w);sh[9]=vec3f(sh06.x,sh06.y,sh06.z);sh[10]=vec3f(sh06.w,sh07.x,sh07.y);sh[11]=vec3f(sh07.z,sh07.w,sh08.x);sh[12]=vec3f(sh08.y,sh08.z,sh08.w);sh[13]=vec3f(sh09.x,sh09.y,sh09.z);sh[14]=vec3f(sh09.w,sh10.x,sh10.y);sh[15]=vec3f(sh10.z,sh10.w,sh11.x);
|
|
256
|
+
#endif
|
|
257
|
+
#if SH_DEGREE>3
|
|
258
|
+
let sh12: vec4f=decompose(splat.sh3.x);let sh13: vec4f=decompose(splat.sh3.y);let sh14: vec4f=decompose(splat.sh3.z);let sh15: vec4f=decompose(splat.sh3.w);let sh16: vec4f=decompose(splat.sh4.x);let sh17: vec4f=decompose(splat.sh4.y);sh[16]=vec3f(sh11.y,sh11.z,sh11.w);sh[17]=vec3f(sh12.x,sh12.y,sh12.z);sh[18]=vec3f(sh12.w,sh13.x,sh13.y);sh[19]=vec3f(sh13.z,sh13.w,sh14.x);sh[20]=vec3f(sh14.y,sh14.z,sh14.w);sh[21]=vec3f(sh15.x,sh15.y,sh15.z);sh[22]=vec3f(sh15.w,sh16.x,sh16.y);sh[23]=vec3f(sh16.z,sh16.w,sh17.x);sh[24]=vec3f(sh17.y,sh17.z,sh17.w);
|
|
259
|
+
#endif
|
|
260
|
+
return computeColorFromSHDegree(dir,sh,_so1,_so2,_so3,_so4);}
|
|
261
|
+
fn computeSH(splat: Splat,dir: vec3f)->vec3f
|
|
262
|
+
{
|
|
263
|
+
#if !defined(GS_DBG_ENABLED) || GS_DBG_SH_ORDER1==1
|
|
264
|
+
let _w1: f32=1.0;
|
|
265
|
+
#else
|
|
266
|
+
let _w1: f32=0.0;
|
|
267
|
+
#endif
|
|
268
|
+
#if !defined(GS_DBG_ENABLED) || GS_DBG_SH_ORDER2==1
|
|
269
|
+
let _w2: f32=1.0;
|
|
270
|
+
#else
|
|
271
|
+
let _w2: f32=0.0;
|
|
272
|
+
#endif
|
|
273
|
+
#if !defined(GS_DBG_ENABLED) || GS_DBG_SH_ORDER3==1
|
|
274
|
+
let _w3: f32=1.0;
|
|
275
|
+
#else
|
|
276
|
+
let _w3: f32=0.0;
|
|
277
|
+
#endif
|
|
278
|
+
#if !defined(GS_DBG_ENABLED) || GS_DBG_SH_ORDER4==1
|
|
279
|
+
let _w4: f32=1.0;
|
|
280
|
+
#else
|
|
281
|
+
let _w4: f32=0.0;
|
|
282
|
+
#endif
|
|
283
|
+
return computeSHWeighted(splat,dir,_w1,_w2,_w3,_w4);}
|
|
284
|
+
#endif
|
|
285
|
+
fn gaussianSplatting(
|
|
286
|
+
meshPos: vec2<f32>,
|
|
287
|
+
worldPos: vec3<f32>,
|
|
288
|
+
scale: vec2<f32>,
|
|
289
|
+
covA: vec3<f32>,
|
|
290
|
+
covB: vec3<f32>,
|
|
291
|
+
worldMatrix: mat4x4<f32>,
|
|
292
|
+
viewMatrix: mat4x4<f32>,
|
|
293
|
+
projectionMatrix: mat4x4<f32>,
|
|
294
|
+
focal: vec2f,
|
|
295
|
+
invViewport: vec2f,
|
|
296
|
+
kernelSize: f32,
|
|
297
|
+
minPixelSize: f32
|
|
298
|
+
)->vec4f {let modelView=viewMatrix*worldMatrix;let camspace=viewMatrix*vec4f(worldPos,1.0);let pos2d=projectionMatrix*camspace;let bounds=1.2*pos2d.w;if (pos2d.z<0. || pos2d.x<-bounds || pos2d.x>bounds || pos2d.y<-bounds || pos2d.y>bounds) {return vec4f(0.0,0.0,2.0,1.0);}
|
|
299
|
+
let Vrk=mat3x3<f32>(
|
|
300
|
+
covA.x,covA.y,covA.z,
|
|
301
|
+
covA.y,covB.x,covB.y,
|
|
302
|
+
covA.z,covB.y,covB.z
|
|
303
|
+
);let isOrtho=abs(projectionMatrix[3][3]-1.0)<0.001;var J: mat3x3<f32>;if (isOrtho) {J=mat3x3<f32>(
|
|
304
|
+
focal.x,0.0,0.0,
|
|
305
|
+
0.0,focal.y,0.0,
|
|
306
|
+
0.0,0.0,0.0
|
|
307
|
+
);} else {J=mat3x3<f32>(
|
|
308
|
+
focal.x/camspace.z,0.0,-(focal.x*camspace.x)/(camspace.z*camspace.z),
|
|
309
|
+
0.0,focal.y/camspace.z,-(focal.y*camspace.y)/(camspace.z*camspace.z),
|
|
310
|
+
0.0,0.0,0.0
|
|
311
|
+
);}
|
|
312
|
+
let T=transpose(mat3x3<f32>(
|
|
313
|
+
modelView[0].xyz,
|
|
314
|
+
modelView[1].xyz,
|
|
315
|
+
modelView[2].xyz))*J;var cov2d=transpose(T)*Vrk*T;
|
|
316
|
+
#if COMPENSATION
|
|
317
|
+
let c00: f32=cov2d[0][0];let c11: f32=cov2d[1][1];let c01: f32=cov2d[0][1];let detOrig: f32=c00*c11-c01*c01;
|
|
318
|
+
#endif
|
|
319
|
+
cov2d[0][0]+=kernelSize;cov2d[1][1]+=kernelSize;
|
|
320
|
+
#if COMPENSATION
|
|
321
|
+
let c2d: vec3f=vec3f(cov2d[0][0],c01,cov2d[1][1]);let detBlur: f32=c2d.x*c2d.z-c2d.y*c2d.y;let compensation: f32=sqrt(max(0.,detOrig/detBlur));vertexOutputs.vColor.w*=compensation;
|
|
322
|
+
#endif
|
|
323
|
+
let mid=(cov2d[0][0]+cov2d[1][1])/2.0;let radius=length(vec2<f32>((cov2d[0][0]-cov2d[1][1])/2.0,cov2d[0][1]));let lambda1=mid+radius;let lambda2=mid-radius;if (lambda2<0.0) {return vec4f(0.0,0.0,2.0,1.0);}
|
|
324
|
+
if (minPixelSize>0.0) {let l1=2.0*min(sqrt(2.0*lambda1),1024.0);let l2=2.0*min(sqrt(2.0*lambda2),1024.0);if (max(l1,l2)<minPixelSize) {return vec4f(0.0,0.0,2.0,1.0);}}
|
|
325
|
+
let diagonalVector=normalize(vec2<f32>(cov2d[0][1],lambda1-cov2d[0][0]));let majorAxis=min(sqrt(2.0*lambda1),1024.0)*diagonalVector;let minorAxis=min(sqrt(2.0*lambda2),1024.0)*vec2<f32>(diagonalVector.y,-diagonalVector.x);let vCenter=vec2<f32>(pos2d.x,pos2d.y);let scaleFactor=select(pos2d.w,1.0,isOrtho);return vec4f(
|
|
326
|
+
vCenter+((meshPos.x*majorAxis+meshPos.y*minorAxis)*invViewport*scaleFactor)*scale,
|
|
327
|
+
pos2d.z,
|
|
328
|
+
pos2d.w
|
|
329
|
+
);}
|
|
330
|
+
#if IS_COMPOUND
|
|
331
|
+
fn getPartWorld(partIndex: u32)->mat4x4<f32> {return uniforms.partWorld[partIndex];}
|
|
332
|
+
#endif
|
|
333
|
+
#if defined(IS_FOR_VOXELIZATION)
|
|
334
|
+
fn computeVoxelSplatWorldPos(rotationA: vec4f,rotationB: vec4f,rotationScale: vec4f,center: vec3f,splatWorld: mat4x4f,viewMatrix: mat4x4f,invWorldScale: mat4x4f,quadPos: vec2f)->vec4f {let splatRotation=mat3x3f(
|
|
335
|
+
rotationA.xyz,
|
|
336
|
+
vec3f(rotationA.w,rotationB.x,rotationB.y),
|
|
337
|
+
vec3f(rotationB.z,rotationB.w,rotationScale.x)
|
|
338
|
+
);let splatScale=rotationScale.yzw;let view3x3=mat3x3f(viewMatrix[0].xyz,viewMatrix[1].xyz,viewMatrix[2].xyz);let invWorldScale3x3=mat3x3f(invWorldScale[0].xyz,invWorldScale[1].xyz,invWorldScale[2].xyz);let splatWorld3x3=mat3x3f(splatWorld[0].xyz,splatWorld[1].xyz,splatWorld[2].xyz);let rotToView=view3x3*invWorldScale3x3*splatWorld3x3*splatRotation;let axisLengthInViewZ=abs(vec3f(rotToView[0][2],rotToView[1][2],rotToView[2][2]));let gaussianSplatCutoffStddev: f32=0.7071067812;
|
|
339
|
+
var offsetSplatSpace: vec3f;if (axisLengthInViewZ.x>axisLengthInViewZ.y && axisLengthInViewZ.x>axisLengthInViewZ.z) {offsetSplatSpace=vec3f(0.0,quadPos.x,quadPos.y)*splatScale*gaussianSplatCutoffStddev;} else if (axisLengthInViewZ.y>axisLengthInViewZ.z) {offsetSplatSpace=vec3f(quadPos.x,0.0,quadPos.y)*splatScale*gaussianSplatCutoffStddev;} else {offsetSplatSpace=vec3f(quadPos.x,quadPos.y,0.0)*splatScale*gaussianSplatCutoffStddev;}
|
|
340
|
+
let vertexObjectSpace=center+splatRotation*offsetSplatSpace;return splatWorld*vec4f(vertexObjectSpace,1.0);}
|
|
341
|
+
#endif
|
|
342
|
+
`;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["gaussianSplattingWGSL",0,{name:a,shader:r}])},35551,e=>{"use strict";var t=e.i(2342);let a="helperFunctions",r=`const PI: f32=3.1415926535897932384626433832795;const TWO_PI: f32=6.283185307179586;const HALF_PI: f32=1.5707963267948966;const RECIPROCAL_PI: f32=0.3183098861837907;const RECIPROCAL_PI2: f32=0.15915494309189535;const RECIPROCAL_PI4: f32=0.07957747154594767;const HALF_MIN: f32=5.96046448e-08;
|
|
343
|
+
const LinearEncodePowerApprox: f32=2.2;const GammaEncodePowerApprox: f32=1.0/LinearEncodePowerApprox;const LuminanceEncodeApprox: vec3f=vec3f(0.2126,0.7152,0.0722);const Epsilon:f32=0.0000001;fn square(x: f32)->f32 {return x*x;}
|
|
344
|
+
fn saturate(x: f32)->f32 {return clamp(x,0.0,1.0);}
|
|
345
|
+
fn saturateVec3(x: vec3f)->vec3f {return clamp(x,vec3f(),vec3f(1.0));}
|
|
346
|
+
fn saturateEps(x: f32)->f32 {return clamp(x,Epsilon,1.0);}
|
|
347
|
+
fn maxEps(x: f32)->f32 {return max(x,Epsilon);}
|
|
348
|
+
fn maxEpsVec3(x: vec3f)->vec3f {return max(x,vec3f(Epsilon));}
|
|
349
|
+
fn absEps(x: f32)->f32 {return abs(x)+Epsilon;}
|
|
350
|
+
fn transposeMat3(inMatrix: mat3x3f)->mat3x3f {let i0: vec3f=inMatrix[0];let i1: vec3f=inMatrix[1];let i2: vec3f=inMatrix[2];let outMatrix:mat3x3f=mat3x3f(
|
|
351
|
+
vec3(i0.x,i1.x,i2.x),
|
|
352
|
+
vec3(i0.y,i1.y,i2.y),
|
|
353
|
+
vec3(i0.z,i1.z,i2.z)
|
|
354
|
+
);return outMatrix;}
|
|
355
|
+
fn inverseMat3(inMatrix: mat3x3f)->mat3x3f {let a00: f32=inMatrix[0][0];let a01: f32=inMatrix[0][1];let a02: f32=inMatrix[0][2];let a10: f32=inMatrix[1][0];let a11: f32=inMatrix[1][1];let a12: f32=inMatrix[1][2];let a20: f32=inMatrix[2][0];let a21: f32=inMatrix[2][1];let a22: f32=inMatrix[2][2];let b01: f32=a22*a11-a12*a21;let b11: f32=-a22*a10+a12*a20;let b21: f32=a21*a10-a11*a20;let det: f32=a00*b01+a01*b11+a02*b21;return mat3x3f(b01/det,(-a22*a01+a02*a21)/det,(a12*a01-a02*a11)/det,
|
|
356
|
+
b11/det,(a22*a00-a02*a20)/det,(-a12*a00+a02*a10)/det,
|
|
357
|
+
b21/det,(-a21*a00+a01*a20)/det,(a11*a00-a01*a10)/det);}
|
|
358
|
+
#if USE_EXACT_SRGB_CONVERSIONS
|
|
359
|
+
fn toLinearSpaceExact(color: vec3f)->vec3f
|
|
360
|
+
{let nearZeroSection: vec3f=0.0773993808*color;let remainingSection: vec3f=pow(0.947867299*(color+vec3f(0.055)),vec3f(2.4));return select(remainingSection,nearZeroSection,color<=vec3f(0.04045));}
|
|
361
|
+
fn toGammaSpaceExact(color: vec3f)->vec3f
|
|
362
|
+
{let nearZeroSection: vec3f=12.92*color;let remainingSection: vec3f=1.055*pow(color,vec3f(0.41666))-vec3f(0.055);return select(remainingSection,nearZeroSection,color<=vec3f(0.0031308));}
|
|
363
|
+
#endif
|
|
364
|
+
fn toLinearSpace(color: f32)->f32
|
|
365
|
+
{
|
|
366
|
+
#if USE_EXACT_SRGB_CONVERSIONS
|
|
367
|
+
var nearZeroSection=0.0773993808*color;var remainingSection=pow(0.947867299*(color+0.055),2.4);return select(remainingSection,nearZeroSection,color<=0.04045);
|
|
368
|
+
#else
|
|
369
|
+
return pow(color,LinearEncodePowerApprox);
|
|
370
|
+
#endif
|
|
371
|
+
}
|
|
372
|
+
fn toLinearSpaceVec3(color: vec3f)->vec3f
|
|
373
|
+
{
|
|
374
|
+
#if USE_EXACT_SRGB_CONVERSIONS
|
|
375
|
+
return toLinearSpaceExact(color);
|
|
376
|
+
#else
|
|
377
|
+
return pow(color,vec3f(LinearEncodePowerApprox));
|
|
378
|
+
#endif
|
|
379
|
+
}
|
|
380
|
+
fn toLinearSpaceVec4(color: vec4<f32>)->vec4<f32>
|
|
381
|
+
{
|
|
382
|
+
#if USE_EXACT_SRGB_CONVERSIONS
|
|
383
|
+
return vec4f(toLinearSpaceExact(color.rgb),color.a);
|
|
384
|
+
#else
|
|
385
|
+
return vec4f(pow(color.rgb,vec3f(LinearEncodePowerApprox)),color.a);
|
|
386
|
+
#endif
|
|
387
|
+
}
|
|
388
|
+
fn toGammaSpace(color: vec4<f32>)->vec4<f32>
|
|
389
|
+
{
|
|
390
|
+
#if USE_EXACT_SRGB_CONVERSIONS
|
|
391
|
+
return vec4<f32>(toGammaSpaceExact(color.rgb),color.a);
|
|
392
|
+
#else
|
|
393
|
+
return vec4<f32>(pow(color.rgb,vec3f(GammaEncodePowerApprox)),color.a);
|
|
394
|
+
#endif
|
|
395
|
+
}
|
|
396
|
+
fn toGammaSpaceVec3(color: vec3f)->vec3f
|
|
397
|
+
{
|
|
398
|
+
#if USE_EXACT_SRGB_CONVERSIONS
|
|
399
|
+
return toGammaSpaceExact(color);
|
|
400
|
+
#else
|
|
401
|
+
return pow(color,vec3f(GammaEncodePowerApprox));
|
|
402
|
+
#endif
|
|
403
|
+
}
|
|
404
|
+
fn squareVec3(value: vec3f)->vec3f
|
|
405
|
+
{return value*value;}
|
|
406
|
+
fn pow5(value: f32)->f32 {let sq: f32=value*value;return sq*sq*value;}
|
|
407
|
+
fn double_refract(I: vec3f,N: vec3f,eta: f32)->vec3f {let Tfront: vec3f=refract(I,N,1.0/eta);let Nback: vec3f=normalize(reflect(N,Tfront));return refract(Tfront,-Nback,eta);}
|
|
408
|
+
fn getLuminanceUnclamped(color: vec3f)->f32
|
|
409
|
+
{return dot(color,LuminanceEncodeApprox);}
|
|
410
|
+
fn getLuminance(color: vec3f)->f32
|
|
411
|
+
{return saturate(getLuminanceUnclamped(color));}
|
|
412
|
+
fn getRand(seed: vec2<f32>)->f32 {return fract(sin(dot(seed.xy ,vec2<f32>(12.9898,78.233)))*43758.5453);}
|
|
413
|
+
fn dither(seed: vec2<f32>,varianceAmount: f32)->f32 {let rand: f32=getRand(seed);let normVariance: f32=varianceAmount/255.0;let dither: f32=mix(-normVariance,normVariance,rand);return dither;}
|
|
414
|
+
const rgbdMaxRange: f32=255.0;fn toRGBD(color: vec3f)->vec4<f32> {let maxRGB: f32=max(max(color.r,max(color.g,color.b)),Epsilon);var D: f32 =max(rgbdMaxRange/maxRGB,1.);D =clamp(floor(D)/255.0,0.,1.);var rgb: vec3f =color.rgb*D;rgb=toGammaSpaceVec3(rgb);return vec4<f32>(saturateVec3(rgb),D);}
|
|
415
|
+
fn fromRGBD(rgbd: vec4<f32>)->vec3f {let rgb=toLinearSpaceVec3(rgbd.rgb);return rgb/rgbd.a;}
|
|
416
|
+
fn parallaxCorrectNormal(vertexPos: vec3f,origVec: vec3f,cubeSize: vec3f,cubePos: vec3f)->vec3f {let invOrigVec: vec3f=vec3f(1.)/origVec;let halfSize: vec3f=cubeSize*0.5;let intersecAtMaxPlane: vec3f=(cubePos+halfSize-vertexPos)*invOrigVec;let intersecAtMinPlane: vec3f=(cubePos-halfSize-vertexPos)*invOrigVec;let largestIntersec: vec3f=max(intersecAtMaxPlane,intersecAtMinPlane);let distance: f32=min(min(largestIntersec.x,largestIntersec.y),largestIntersec.z);let intersectPositionWS: vec3f=vertexPos+origVec*distance;return intersectPositionWS-cubePos;}
|
|
417
|
+
fn equirectangularToCubemapDirection(uv : vec2f)->vec3f {var longitude : f32=uv.x*TWO_PI-PI;var latitude : f32=HALF_PI-uv.y*PI;var direction : vec3f;direction.x=cos(latitude)*sin(longitude);direction.y=sin(latitude);direction.z=cos(latitude)*cos(longitude);return direction;}
|
|
418
|
+
fn sqrtClamped(value: f32)->f32 {return sqrt(max(value,0.));}
|
|
419
|
+
fn avg(value: vec3f)->f32 {return dot(value,vec3f(0.333333333));}
|
|
420
|
+
fn singleScatterToMultiScatterAlbedo(rho_ss: vec3f)->vec3f {let s: vec3f=sqrt(max(vec3f(1.0)-rho_ss,vec3f(0.0)));return (vec3f(1.0)-s)*(vec3f(1.0)-vec3f(0.139)*s)/(vec3f(1.0)+vec3f(1.17)*s);}
|
|
421
|
+
fn multiScatterToSingleScatterAlbedo(rho_ms: vec3f)->vec3f {let s: vec3f=4.09712f+4.20863f*rho_ms-sqrt(9.59217f+41.6808f*rho_ms+17.7126f*rho_ms*rho_ms);return 1.0f-s*s;}
|
|
422
|
+
fn multiScatterToSingleScatterAlbedoWithAniso(rho_ms: vec3f,aniso: f32)->vec3f {let s: vec3f=4.09712+4.20863f*rho_ms-sqrt(9.59217f+41.6808f*rho_ms+17.7126f*rho_ms*rho_ms);return (vec3f(1.0f)-s*s)/maxEpsVec3(vec3f(1.0f)-vec3f(aniso)*s*s);}
|
|
423
|
+
fn min3(v: vec3f)->f32 {return min(v.x,min(v.y,v.z));}
|
|
424
|
+
fn max3(v: vec3f)->f32 {return max(v.x,max(v.y,v.z));}
|
|
425
|
+
fn uint2float(i: u32)->f32 {return bitcast<f32>(0x3F800000u | (i>>9u))-1.0;}
|
|
426
|
+
fn plasticSequence(rstate: u32)->vec2f {return vec2f(uint2float(rstate*3242174889u),
|
|
427
|
+
uint2float(rstate*2447445414u));}
|
|
428
|
+
`;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["helperFunctionsWGSL",0,{name:a,shader:r}])},67263,e=>{"use strict";var t=e.i(2342);let a="logDepthDeclaration",r=`#ifdef LOGARITHMICDEPTH
|
|
429
|
+
uniform logarithmicDepthConstant: f32;varying vFragmentDepth: f32;
|
|
430
|
+
#endif
|
|
431
|
+
`;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["logDepthDeclarationWGSL",0,{name:a,shader:r}])},42158,e=>{"use strict";var t=e.i(2342);let a="logDepthVertex",r=`#ifdef LOGARITHMICDEPTH
|
|
432
|
+
vertexOutputs.vFragmentDepth=1.0+vertexOutputs.position.w;vertexOutputs.position.z=log2(max(0.000001,vertexOutputs.vFragmentDepth))*uniforms.logarithmicDepthConstant;
|
|
433
|
+
#endif
|
|
434
|
+
`;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["logDepthVertexWGSL",0,{name:a,shader:r}])},25661,e=>{"use strict";var t=e.i(2342);let a="meshUboDeclaration",r=`struct Mesh {world : mat4x4<f32>,
|
|
435
|
+
visibility : f32,};var<uniform> mesh : Mesh;
|
|
436
|
+
#define WORLD_UBO
|
|
437
|
+
`;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["meshUboDeclarationWGSL",0,{name:a,shader:r}])},34218,e=>{"use strict";var t=e.i(2342);let a="sceneUboDeclaration",r=`struct Scene {viewProjection : mat4x4<f32>,
|
|
438
|
+
#ifdef MULTIVIEW
|
|
439
|
+
viewProjectionR : mat4x4<f32>,
|
|
440
|
+
#endif
|
|
441
|
+
view : mat4x4<f32>,
|
|
442
|
+
projection : mat4x4<f32>,
|
|
443
|
+
vEyePosition : vec4<f32>,
|
|
444
|
+
inverseProjection : mat4x4<f32>,};
|
|
445
|
+
#define SCENE_UBO
|
|
446
|
+
var<uniform> scene : Scene;
|
|
447
|
+
`;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["sceneUboDeclarationWGSL",0,{name:a,shader:r}])},16102,e=>{"use strict";var t=e.i(2342),a=e.i(34218),r=e.i(25661),s=e.i(35551),o=e.i(83753),f=e.i(43402),i=e.i(67263),l=e.i(72457),c=e.i(64767),n=e.i(25462),d=e.i(42158);let x="gaussianSplattingVertexShader",v=`#include<sceneUboDeclaration>
|
|
448
|
+
#include<meshUboDeclaration>
|
|
449
|
+
#include<helperFunctions>
|
|
450
|
+
#include<clipPlaneVertexDeclaration>
|
|
451
|
+
#include<fogVertexDeclaration>
|
|
452
|
+
#include<logDepthDeclaration>
|
|
453
|
+
attribute splatIndex0: vec4f;attribute splatIndex1: vec4f;attribute splatIndex2: vec4f;attribute splatIndex3: vec4f;attribute position: vec3f;uniform invViewport: vec2f;uniform dataTextureSize: vec2f;uniform focal: vec2f;uniform kernelSize: f32;uniform minPixelSize: f32;uniform eyePosition: vec3f;uniform alpha: f32;
|
|
454
|
+
#if IS_COMPOUND
|
|
455
|
+
uniform partWorld: array<mat4x4<f32>,MAX_PART_COUNT>;uniform partVisibility: array<f32,MAX_PART_COUNT>;
|
|
456
|
+
#endif
|
|
457
|
+
var covariancesATexture: texture_2d<f32>;var covariancesBTexture: texture_2d<f32>;var centersTexture: texture_2d<f32>;var colorsTexture: texture_2d<f32>;
|
|
458
|
+
#ifdef USE_SOG
|
|
459
|
+
var sogQuatsTexture: texture_2d<f32>;uniform sogMeansMin: vec3f;uniform sogMeansMax: vec3f;
|
|
460
|
+
#ifdef USE_SOG_V2
|
|
461
|
+
var sogCodebookTexture: texture_2d<f32>;
|
|
462
|
+
#else
|
|
463
|
+
uniform sogScalesMin: vec3f;uniform sogScalesMax: vec3f;uniform sogSh0Min: vec4f;uniform sogSh0Max: vec4f;uniform sogShnMin: f32;uniform sogShnMax: f32;
|
|
464
|
+
#endif
|
|
465
|
+
#if SH_DEGREE>0
|
|
466
|
+
var sogShNCentroidsTexture: texture_2d<f32>;var sogShNLabelsTexture: texture_2d<f32>;uniform sogShCoeffCount: f32;
|
|
467
|
+
#endif
|
|
468
|
+
#endif
|
|
469
|
+
#if SH_DEGREE>0 && !defined(USE_SOG)
|
|
470
|
+
var shTexture0: texture_2d<u32>;
|
|
471
|
+
#endif
|
|
472
|
+
#if SH_DEGREE>1 && !defined(USE_SOG)
|
|
473
|
+
var shTexture1: texture_2d<u32>;
|
|
474
|
+
#endif
|
|
475
|
+
#if SH_DEGREE>2 && !defined(USE_SOG)
|
|
476
|
+
var shTexture2: texture_2d<u32>;
|
|
477
|
+
#endif
|
|
478
|
+
#if SH_DEGREE>3 && !defined(USE_SOG)
|
|
479
|
+
var shTexture3: texture_2d<u32>;var shTexture4: texture_2d<u32>;
|
|
480
|
+
#endif
|
|
481
|
+
#if IS_COMPOUND
|
|
482
|
+
var partIndicesTexture: texture_2d<f32>;
|
|
483
|
+
#endif
|
|
484
|
+
varying vColor: vec4f;varying vPosition: vec2f;
|
|
485
|
+
#define CUSTOM_VERTEX_DEFINITIONS
|
|
486
|
+
#include<gaussianSplatting>
|
|
487
|
+
@vertex
|
|
488
|
+
fn main(input : VertexInputs)->FragmentInputs {
|
|
489
|
+
#define CUSTOM_VERTEX_MAIN_BEGIN
|
|
490
|
+
let splatIndex: f32=getSplatIndex(i32(vertexInputs.position.z+0.5),vertexInputs.splatIndex0,vertexInputs.splatIndex1,vertexInputs.splatIndex2,vertexInputs.splatIndex3);var splat: Splat=readSplat(splatIndex,uniforms.dataTextureSize);var covA: vec3f=splat.covA.xyz;var covB: vec3f=vec3f(splat.covA.w,splat.covB.xy);
|
|
491
|
+
#if IS_COMPOUND
|
|
492
|
+
let splatWorld: mat4x4f=getPartWorld(splat.partIndex);
|
|
493
|
+
#else
|
|
494
|
+
let splatWorld: mat4x4f=mesh.world;
|
|
495
|
+
#endif
|
|
496
|
+
let worldPos: vec4f=splatWorld*vec4f(splat.center.xyz,1.0);vertexOutputs.vPosition=vertexInputs.position.xy;
|
|
497
|
+
#if SH_DEGREE>0
|
|
498
|
+
let worldRot: mat3x3f= mat3x3f(splatWorld[0].xyz,splatWorld[1].xyz,splatWorld[2].xyz);let normWorldRot: mat3x3f=inverseMat3(worldRot);var eyeToSplatLocalSpace: vec3f=normalize(normWorldRot*(worldPos.xyz-uniforms.eyePosition.xyz));
|
|
499
|
+
#if defined(GS_DBG_ENABLED) && IS_COMPOUND
|
|
500
|
+
{let _row3=textureLoad(dbgPartData,vec2i(i32(splat.partIndex),3),0);
|
|
501
|
+
#if SH_DEGREE>3
|
|
502
|
+
let _so4=textureLoad(dbgPartData,vec2i(i32(splat.partIndex),4),0).x;
|
|
503
|
+
#else
|
|
504
|
+
let _so4: f32=1.0;
|
|
505
|
+
#endif
|
|
506
|
+
vertexOutputs.vColor=vec4f(_row3.x*splat.color.xyz+computeSHWeighted(splat,eyeToSplatLocalSpace,_row3.y,_row3.z,_row3.w,_so4),splat.color.w*uniforms.alpha);}
|
|
507
|
+
#elif defined(GS_DBG_ENABLED) && GS_DBG_SH_DC==0
|
|
508
|
+
vertexOutputs.vColor=vec4f(computeSH(splat,eyeToSplatLocalSpace),splat.color.w*uniforms.alpha);
|
|
509
|
+
#else
|
|
510
|
+
vertexOutputs.vColor=vec4f(splat.color.xyz+computeSH(splat,eyeToSplatLocalSpace),splat.color.w*uniforms.alpha);
|
|
511
|
+
#endif
|
|
512
|
+
#else
|
|
513
|
+
#if defined(GS_DBG_ENABLED) && IS_COMPOUND
|
|
514
|
+
{let _shDc=textureLoad(dbgPartData,vec2i(i32(splat.partIndex),3),0).x;vertexOutputs.vColor=vec4f(_shDc*splat.color.xyz,splat.color.w*uniforms.alpha);}
|
|
515
|
+
#elif defined(GS_DBG_ENABLED) && GS_DBG_SH_DC==0
|
|
516
|
+
vertexOutputs.vColor=vec4f(0.0,0.0,0.0,splat.color.w*uniforms.alpha);
|
|
517
|
+
#else
|
|
518
|
+
vertexOutputs.vColor=vec4f(splat.color.xyz,splat.color.w*uniforms.alpha);
|
|
519
|
+
#endif
|
|
520
|
+
#endif
|
|
521
|
+
#if IS_COMPOUND
|
|
522
|
+
vertexOutputs.vColor.w*=uniforms.partVisibility[splat.partIndex];
|
|
523
|
+
#endif
|
|
524
|
+
var scale: vec2f=vec2f(1.,1.);
|
|
525
|
+
#define CUSTOM_VERTEX_UPDATE
|
|
526
|
+
vertexOutputs.position=gaussianSplatting(vertexInputs.position.xy,worldPos.xyz,scale,covA,covB,splatWorld,scene.view,scene.projection,uniforms.focal,uniforms.invViewport,uniforms.kernelSize,uniforms.minPixelSize);
|
|
527
|
+
#include<clipPlaneVertex>
|
|
528
|
+
#include<fogVertex>
|
|
529
|
+
#include<logDepthVertex>
|
|
530
|
+
#define CUSTOM_VERTEX_MAIN_END
|
|
531
|
+
}
|
|
532
|
+
`;for(let e of(t.ShaderStore.ShadersStoreWGSL[x]||(t.ShaderStore.ShadersStoreWGSL[x]=v),[a.sceneUboDeclarationWGSL,r.meshUboDeclarationWGSL,s.helperFunctionsWGSL,o.clipPlaneVertexDeclarationWGSL,f.fogVertexDeclarationWGSL,i.logDepthDeclarationWGSL,l.gaussianSplattingWGSL,c.clipPlaneVertexWGSL,n.fogVertexWGSL,d.logDepthVertexWGSL]))t.ShaderStore.IncludesShadersStoreWGSL[e.name]||(t.ShaderStore.IncludesShadersStoreWGSL[e.name]=e.shader);e.s(["gaussianSplattingVertexShaderWGSL",0,{name:x,shader:v}])}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,67018,e=>{"use strict";e.s(["IntersectionInfo",0,class{constructor(e,t,s){this.bu=e,this.bv=t,this.distance=s,this.faceId=0,this.subMeshId=0,this._internalSubMeshId=0}}])},79428,e=>{"use strict";var t=e.i(72003),s=e.i(56145);e.s(["PickingInfo",0,class{constructor(){this.hit=!1,this.distance=0,this.pickedPoint=null,this.pickedMesh=null,this.bu=0,this.bv=0,this.faceId=-1,this.subMeshFaceId=-1,this.subMeshId=0,this.pickedSprite=null,this.thinInstanceIndex=-1,this.ray=null,this.originMesh=null,this.aimTransform=null,this.gripTransform=null}getNormal(e=!1,i=!0){let r;if(!this.pickedMesh||i&&!this.pickedMesh.isVerticesDataPresent(s.VertexBuffer.NormalKind))return null;let a=this.pickedMesh.getIndices();a?.length===0&&(a=null);let o=t.TmpVectors.Vector3[0],n=t.TmpVectors.Vector3[1],c=t.TmpVectors.Vector3[2];if(i){let e=this.pickedMesh.getVerticesData(s.VertexBuffer.NormalKind),i=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId],o):o.copyFromFloats(e[3*this.faceId*3],e[3*this.faceId*3+1],e[3*this.faceId*3+2]),l=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId+1],n):n.copyFromFloats(e[(3*this.faceId+1)*3],e[(3*this.faceId+1)*3+1],e[(3*this.faceId+1)*3+2]),h=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId+2],c):c.copyFromFloats(e[(3*this.faceId+2)*3],e[(3*this.faceId+2)*3+1],e[(3*this.faceId+2)*3+2]);i=i.scale(this.bu),l=l.scale(this.bv),h=h.scale(1-this.bu-this.bv),r=new t.Vector3(i.x+l.x+h.x,i.y+l.y+h.y,i.z+l.z+h.z)}else{let e=this.pickedMesh.getVerticesData(s.VertexBuffer.PositionKind),i=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId],o):o.copyFromFloats(e[3*this.faceId*3],e[3*this.faceId*3+1],e[3*this.faceId*3+2]),l=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId+1],n):n.copyFromFloats(e[(3*this.faceId+1)*3],e[(3*this.faceId+1)*3+1],e[(3*this.faceId+1)*3+2]),h=a?t.Vector3.FromArrayToRef(e,3*a[3*this.faceId+2],c):c.copyFromFloats(e[(3*this.faceId+2)*3],e[(3*this.faceId+2)*3+1],e[(3*this.faceId+2)*3+2]),d=i.subtract(l),f=h.subtract(l);r=t.Vector3.Cross(d,f)}let l=(e,s)=>{if(-1!==this.thinInstanceIndex){let i=e._thinInstanceDataStorage.matrixData,r=this.thinInstanceIndex<<4;if(i&&i.length>r){let e=t.TmpVectors.Matrix[0];t.Matrix.FromArrayToRef(i,r,e),t.Vector3.TransformNormalToRef(s,e,s)}}let i=e.getWorldMatrix();e.nonUniformScaling&&(t.TmpVectors.Matrix[0].copyFrom(i),(i=t.TmpVectors.Matrix[0]).setTranslationFromFloats(0,0,0),i.invert(),i.transposeToRef(t.TmpVectors.Matrix[1]),i=t.TmpVectors.Matrix[1]),t.Vector3.TransformNormalToRef(s,i,s)};if(e&&l(this.pickedMesh,r),this.ray){let s=t.TmpVectors.Vector3[0].copyFrom(r);e||l(this.pickedMesh,s),t.Vector3.Dot(s,this.ray.direction)>0&&r.negateInPlace()}return r.normalize(),r}getTextureCoordinates(e=s.VertexBuffer.UVKind){if(!this.pickedMesh||!this.pickedMesh.isVerticesDataPresent(e))return null;let i=this.pickedMesh.getIndices();if(!i)return null;let r=this.pickedMesh.getVerticesData(e);if(!r)return null;let a=t.Vector2.FromArray(r,2*i[3*this.faceId]),o=t.Vector2.FromArray(r,2*i[3*this.faceId+1]),n=t.Vector2.FromArray(r,2*i[3*this.faceId+2]);return a=a.scale(this.bu),o=o.scale(this.bv),n=n.scale(1-this.bu-this.bv),new t.Vector2(a.x+o.x+n.x,a.y+o.y+n.y)}}])},58773,e=>{"use strict";e.s(["useOpenGLOrientationForUV",()=>!1])},54523,e=>{"use strict";class t{static get ForceFullSceneLoadingForIncremental(){return t._ForceFullSceneLoadingForIncremental}static set ForceFullSceneLoadingForIncremental(e){t._ForceFullSceneLoadingForIncremental=e}static get ShowLoadingScreen(){return t._ShowLoadingScreen}static set ShowLoadingScreen(e){t._ShowLoadingScreen=e}static get loggingLevel(){return t._LoggingLevel}static set loggingLevel(e){t._LoggingLevel=e}static get CleanBoneMatrixWeights(){return t._CleanBoneMatrixWeights}static set CleanBoneMatrixWeights(e){t._CleanBoneMatrixWeights=e}}t._ForceFullSceneLoadingForIncremental=!1,t._ShowLoadingScreen=!0,t._CleanBoneMatrixWeights=!1,t._LoggingLevel=0,e.s(["SceneLoaderFlags",0,t])},9977,e=>{"use strict";var t=e.i(32945);e.s(["DrawWrapper",0,class{static GetEffect(e){return void 0===e.getPipelineContext?e.effect:e}constructor(e,t=!0){this._wasPreviouslyReady=!1,this._forceRebindOnNextCall=!0,this._wasPreviouslyUsingInstances=null,this.effect=null,this.defines=null,this.drawContext=e.createDrawContext(),t&&(this.materialContext=e.createMaterialContext())}setEffect(e,t,s=!0){this.effect=e,void 0!==t&&(this.defines=t),s&&this.drawContext?.reset()}dispose(e=!1){if(this.effect){let s=this.effect;e?s.dispose():t.TimingTools.SetImmediate(()=>{s.getEngine().onEndFrameObservable.addOnce(()=>{s.dispose()})}),this.effect=null}this.drawContext?.dispose()}}])},92356,e=>{"use strict";var t,s,i,r,a=e.i(72003);(t=i||(i={}))[t.LOCAL=0]="LOCAL",t[t.WORLD=1]="WORLD",t[t.BONE=2]="BONE";class o{}o.X=new a.Vector3(1,0,0),o.Y=new a.Vector3(0,1,0),o.Z=new a.Vector3(0,0,1),(s=r||(r={}))[s.X=0]="X",s[s.Y=1]="Y",s[s.Z=2]="Z",e.s(["Axis",0,o,"Coordinate",0,r,"Space",0,i])},63833,e=>{"use strict";var t=e.i(1306);class s{static GetPlanes(e){let i=[];for(let e=0;e<6;e++)i.push(new t.Plane(0,0,0,0));return s.GetPlanesToRef(e,i),i}static GetNearPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]+s[2],t.normal.y=s[7]+s[6],t.normal.z=s[11]+s[10],t.d=s[15]+s[14],t.normalize()}static GetFarPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]-s[2],t.normal.y=s[7]-s[6],t.normal.z=s[11]-s[10],t.d=s[15]-s[14],t.normalize()}static GetLeftPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]+s[0],t.normal.y=s[7]+s[4],t.normal.z=s[11]+s[8],t.d=s[15]+s[12],t.normalize()}static GetRightPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]-s[0],t.normal.y=s[7]-s[4],t.normal.z=s[11]-s[8],t.d=s[15]-s[12],t.normalize()}static GetTopPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]-s[1],t.normal.y=s[7]-s[5],t.normal.z=s[11]-s[9],t.d=s[15]-s[13],t.normalize()}static GetBottomPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]+s[1],t.normal.y=s[7]+s[5],t.normal.z=s[11]+s[9],t.d=s[15]+s[13],t.normalize()}static GetPlanesToRef(e,t){s.GetNearPlaneToRef(e,t[0]),s.GetFarPlaneToRef(e,t[1]),s.GetLeftPlaneToRef(e,t[2]),s.GetRightPlaneToRef(e,t[3]),s.GetTopPlaneToRef(e,t[4]),s.GetBottomPlaneToRef(e,t[5])}static IsPointInFrustum(e,t){for(let s=0;s<6;s++)if(0>t[s].dotCoordinate(e))return!1;return!0}}e.s(["Frustum",0,s])},11296,e=>{"use strict";e.s(["Viewport",0,class e{constructor(e,t,s,i){this.x=e,this.y=t,this.width=s,this.height=i}toGlobal(t,s){return new e(this.x*t,this.y*s,this.width*t,this.height*s)}toGlobalToRef(e,t,s){return s.x=this.x*e,s.y=this.y*t,s.width=this.width*e,s.height=this.height*t,this}clone(){return new e(this.x,this.y,this.width,this.height)}}])},83842,e=>{"use strict";e.i(22889);var t=e.i(55206);e.s(["Mesh",()=>t.Mesh,"RegisterMesh",()=>t.RegisterMesh,"_CreationDataStorage",()=>t._CreationDataStorage,"_InstancesBatch",()=>t._InstancesBatch])},22889,e=>{"use strict";(0,e.i(55206).RegisterMesh)(),e.s([])},46717,e=>{e.v(t=>Promise.all(["static/chunks/1tgj55b305g4h.js"].map(t=>e.l(t))).then(()=>t(21774)))}]);
|