@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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,99325,t=>{"use strict";var e=t.i(37068),o=t.i(19434);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])},82743,t=>{"use strict";var e=t.i(30302),o=t.i(19434);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(95410),a=t.i(42580),s=t.i(99325),l=t.i(38116);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],9565),p(),t.s([],78080),t.i(78080),t.i(9565),t.s(["FlowGraphJsonPointerParserBlock",0,c],82743)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,55018,e=>{"use strict";e.s(["GetDOMTextContent",0,function(e){let t="",r=e.firstChild;for(;r;)3===r.nodeType&&(t+=r.textContent),r=r.nextSibling;return t},"IsDocumentAvailable",0,function(){return"u">typeof document},"IsNavigatorAvailable",0,function(){return"u">typeof navigator},"IsWindowObjectExist",0,function(){return"u">typeof window}])},44674,e=>{"use strict";class t{constructor(){this._xhr="u">typeof _native&&_native.XMLHttpRequest?new _native.XMLHttpRequest:new XMLHttpRequest,this._requestURL=""}static get IsCustomRequestAvailable(){return Object.keys(t.CustomRequestHeaders).length>0||t.CustomRequestModifiers.length>0}static _CleanUrl(e){return e=(e=e.replace("file:http:","http:")).replace("file:https:","https:")}static _ShouldSkipRequestModifications(e){return t.SkipRequestModificationForBabylonCDN&&(e.includes("preview.babylonjs.com")||e.includes("cdn.babylonjs.com"))}static _CollectCustomizations(e,r={}){let o={...r};if(t._ShouldSkipRequestModifications(e))return{url:e,headers:o};for(let e in t.CustomRequestHeaders){let r=t.CustomRequestHeaders[e];r&&(o[e]=r)}let a={setRequestHeader:(e,t)=>{o[e]=t}};for(let r of t.CustomRequestModifiers){if(t._ShouldSkipRequestModifications(e))break;let o=r(a,e);"string"==typeof o&&(e=o)}return{url:e,headers:o}}static async FetchAsync(e,r={}){let o=r.method??"GET";if("u">typeof fetch){let{url:a,headers:i}=t._CollectCustomizations(t._CleanUrl(e),r.headers??{});return await fetch(a,{method:o,headers:i,body:r.body??void 0})}return await new Promise((a,i)=>{let n=new t;n.responseType="arraybuffer",n.addEventListener("readystatechange",()=>{if(4===n.readyState)if(n.status>=200&&n.status<300){let e="u">typeof Headers?new Headers:void 0,t=n.getResponseHeader("Content-Type");t&&e&&e.set("Content-Type",t),"u">typeof Response?a(new Response(n.response,{status:n.status,statusText:n.statusText,headers:e})):a({ok:!0,status:n.status,statusText:n.statusText,headers:{get:e=>n.getResponseHeader(e)},arrayBuffer:async()=>await Promise.resolve(n.response)})}else i(Error(`HTTP ${n.status} loading '${n.requestURL}': ${n.statusText}`))}),n.open(o,e,r.headers),n.send(r.body??null)})}get requestURL(){return this._requestURL}get onprogress(){return this._xhr.onprogress}set onprogress(e){this._xhr.onprogress=e}get readyState(){return this._xhr.readyState}get status(){return this._xhr.status}get statusText(){return this._xhr.statusText}get response(){return this._xhr.response}get responseURL(){return this._xhr.responseURL}get responseText(){return this._xhr.responseText}get responseType(){return this._xhr.responseType}set responseType(e){this._xhr.responseType=e}get timeout(){return this._xhr.timeout}set timeout(e){this._xhr.timeout=e}addEventListener(e,t,r){this._xhr.addEventListener(e,t,r)}removeEventListener(e,t,r){this._xhr.removeEventListener(e,t,r)}abort(){this._xhr.abort()}send(e){this._xhr.send(e)}open(e,r,o){let{url:a,headers:i}=t._CollectCustomizations(r,o);for(let r in this._requestURL=t._CleanUrl(a),this._xhr.open(e,this._requestURL,!0),i)this._xhr.setRequestHeader(r,i[r])}setRequestHeader(e,t){this._xhr.setRequestHeader(e,t)}getResponseHeader(e){return this._xhr.getResponseHeader(e)}}t.CustomRequestHeaders={},t.CustomRequestModifiers=[],t.SkipRequestModificationForBabylonCDN=!0,e.s(["WebRequest",0,t])},6351,e=>{"use strict";let t=null;function r(){if(t)return t;let e=new ArrayBuffer(4),r=new Float32Array(e),o=new Uint32Array(e),a=new Uint32Array(512),i=new Uint32Array(512);for(let e=0;e<256;++e){let t=e-127;t<-24?(a[e]=0,a[256|e]=32768,i[e]=24,i[256|e]=24):t<-14?(a[e]=1024>>-t-14,a[256|e]=1024>>-t-14|32768,i[e]=-t-1,i[256|e]=-t-1):t<=15?(a[e]=t+15<<10,a[256|e]=t+15<<10|32768,i[e]=13,i[256|e]=13):t<128?(a[e]=31744,a[256|e]=64512,i[e]=24,i[256|e]=24):(a[e]=31744,a[256|e]=64512,i[e]=13,i[256|e]=13)}let n=new Uint32Array(2048),s=new Uint32Array(64),l=new Uint32Array(64);for(let e=1;e<1024;++e){let t=e<<13,r=0;for(;(8388608&t)==0;)t<<=1,r-=8388608;t&=-8388609,r+=0x38800000,n[e]=t|r}for(let e=1024;e<2048;++e)n[e]=0x38000000+(e-1024<<13);for(let e=1;e<31;++e)s[e]=e<<23;s[31]=0x47800000,s[32]=0x80000000;for(let e=33;e<63;++e)s[e]=0x80000000+(e-32<<23);s[63]=0xc7800000;for(let e=1;e<64;++e)32!==e&&(l[e]=1024);return t={floatView:r,uint32View:o,baseTable:a,shiftTable:i,mantissaTable:n,exponentTable:s,offsetTable:l}}e.s(["FromHalfFloat",0,function(e){let t=r();return t.uint32View[0]=t.mantissaTable[t.offsetTable[e>>10]+(1023&e)]+t.exponentTable[e>>10],t.floatView[0]},"MaxHalfFloat",0,65504,"ToHalfFloat",0,function(e){let t=r();t.floatView[0]=e;let o=t.uint32View[0],a=o>>23&511;return t.baseTable[a]+((8388607&o)>>t.shiftTable[a])}])},87869,e=>{"use strict";var t=e.i(55018);e.s(["PrecisionDate",0,class{static get Now(){return(0,t.IsWindowObjectExist)()&&window.performance&&window.performance.now?window.performance.now():Date.now()}}])},40253,76532,51618,e=>{"use strict";class t{}t.FilesToLoad={},e.s(["FilesInputStore",0,t],40253),e.s(["RetryStrategy",0,class{static ExponentialBackoff(e=3,t=500){return(r,o,a)=>0!==o.status||a>=e||-1!==r.indexOf("file:")?-1:Math.pow(2,a)*t}}],76532);class r extends Error{}r._setPrototypeOf=Object.setPrototypeOf||((e,t)=>(e.__proto__=t,e));class o extends r{constructor(e,t,a){super(e),this.errorCode=t,this.innerError=a,this.name="RuntimeError",r._setPrototypeOf(this,o.prototype)}}e.s(["BaseError",0,r,"ErrorCodes",0,{MeshInvalidPositionsError:0,UnsupportedTextureError:1e3,GLTFLoaderUnexpectedMagicError:2e3,SceneLoaderError:3e3,LoadFileError:4e3,RequestFileError:4001,ReadFileError:4002},"RuntimeError",0,o],51618)},26225,e=>{"use strict";let t=e=>atob(e);e.s(["Decode",0,e=>{if("u">typeof TextDecoder)return new TextDecoder().decode(e);let t="";for(let r=0;r<e.byteLength;r++)t+=String.fromCharCode(e[r]);return t},"DecodeBase64ToBinary",0,e=>"function"==typeof Uint8Array.fromBase64?Uint8Array.fromBase64(e).buffer:function(e){let r=t(e),o=r.length,a=new Uint8Array(new ArrayBuffer(o));for(let e=0;e<o;e++)a[e]=r.charCodeAt(e);return a.buffer}(e),"DecodeBase64ToString",0,t,"EncodeArrayBufferToBase64",0,e=>{let t=ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e);return"function"==typeof t.toBase64?t.toBase64():function(e){let t,r,o,a,i,n,s,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",c="",u=0;for(;u<e.length;)t=e[u++],r=u<e.length?e[u++]:NaN,o=u<e.length?e[u++]:NaN,a=t>>2,i=(3&t)<<4|r>>4,n=(15&r)<<2|o>>6,s=63&o,isNaN(r)?n=s=64:isNaN(o)&&(s=64),c+=l.charAt(a)+l.charAt(i)+l.charAt(n)+l.charAt(s);return c}(t)}])},49097,e=>{"use strict";let t=[];function r(e,t,r){try{if(e())return t(),!0}catch(e){return r?.(e),!0}return!1}e.s(["TimingTools",0,class{static SetImmediate(e){0===t.length&&setTimeout(()=>{let e=t;for(let r of(t=[],e))r()},1),t.push(e)}},"_RetryWithInterval",0,(e,t,o,a=16,i=3e4,n=!0,s)=>{if(n&&r(e,t,o))return null;let l=setInterval(()=>{r(e,t,o)?clearInterval(l):(i-=a)<0&&(clearInterval(l),o?.(Error("Operation timed out after maximum retries. "+(s||"")),!0))},a);return()=>clearInterval(l)}])},28978,e=>{"use strict";var t=e.i(80434),r=e.i(6351);function o(e){switch(e){case 5120:case 5121:return 1;case 5122:case 5123:case 5131:return 2;case 5124:case 5125:case 5126:return 4;default:throw Error(`Invalid type '${e}'`)}}function a(e){switch(e){case 5120:return Int8Array;case 5121:return Uint8Array;case 5122:return Int16Array;case 5123:case 5131:return Uint16Array;case 5124:return Int32Array;case 5125:return Uint32Array;case 5126:return Float32Array;default:throw Error(`Invalid component type '${e}'`)}}function i(e,t,a,i,n,s,l,c){let u=Array(i),f=Array(i);if(e instanceof Array){let r=t/4,o=a/4;for(let t=0;t<s;t+=i){for(let t=0;t<i;t++)u[t]=f[t]=e[r+t];c(f,t);for(let t=0;t<i;t++)u[t]!==f[t]&&(e[r+t]=f[t]);r+=o}}else{let d=ArrayBuffer.isView(e)?new DataView(e.buffer,e.byteOffset,e.byteLength):new DataView(e),g=o(n);for(let e=0;e<s;e+=i){for(let e=0,o=t;e<i;e++,o+=g)u[e]=f[e]=function(e,t,o,a){switch(t){case 5120:{let t=e.getInt8(o);return a&&(t=Math.max(t/127,-1)),t}case 5121:{let t=e.getUint8(o);return a&&(t/=255),t}case 5122:{let t=e.getInt16(o,!0);return a&&(t=Math.max(t/32767,-1)),t}case 5123:{let t=e.getUint16(o,!0);return a&&(t/=65535),t}case 5131:return(0,r.FromHalfFloat)(e.getUint16(o,!0));case 5124:return e.getInt32(o,!0);case 5125:return e.getUint32(o,!0);case 5126:return e.getFloat32(o,!0);default:throw Error(`Invalid component type ${t}`)}}(d,n,o,l);c(f,e);for(let e=0,o=t;e<i;e++,o+=g)u[e]!==f[e]&&function(e,t,o,a,i){switch(t){case 5120:a&&(i=Math.round(127*i)),e.setInt8(o,i);break;case 5121:a&&(i=Math.round(255*i)),e.setUint8(o,i);break;case 5122:a&&(i=Math.round(32767*i)),e.setInt16(o,i,!0);break;case 5123:a&&(i=Math.round(65535*i)),e.setUint16(o,i,!0);break;case 5131:e.setUint16(o,(0,r.ToHalfFloat)(i),!0);break;case 5124:e.setInt32(o,i,!0);break;case 5125:e.setUint32(o,i,!0);break;case 5126:e.setFloat32(o,i,!0);break;default:throw Error(`Invalid component type ${t}`)}}(d,n,o,l,f[e]);t+=a}}}e.s(["CopyFloatData",0,function(e,r,a,n,s,l,c,u){let f=r*o(a),d=c*r;if(u.length!==d)throw Error("Output length is not valid");if(5126!==a||s!==f)return void i(e,n,s,r,a,d,l,(e,t)=>{for(let o=0;o<r;o++)u[t+o]=e[o]});if(e instanceof Array){let t=n/4;u.set(e,t)}else if(ArrayBuffer.isView(e)){let r=e.byteOffset+n;if((3&r)!=0){t.Logger.Warn("Float array must be aligned to 4-bytes border"),u.set(new Float32Array(e.buffer.slice(r,r+d*Float32Array.BYTES_PER_ELEMENT)));return}let o=new Float32Array(e.buffer,r,d);u.set(o)}else{let t=new Float32Array(e,n,d);u.set(t)}},"EnumerateFloatValues",0,i,"GetBlobBufferSource",0,function(e){let t=e.buffer;if(t instanceof ArrayBuffer)return e;let r=new ArrayBuffer(e.byteLength);return new Uint8Array(r).set(new Uint8Array(t,e.byteOffset,e.byteLength)),r},"GetFloatData",0,function(e,r,a,n,s,l,c,u){let f=r*o(a),d=c*r;if(5126!==a||s!==f){let t=new Float32Array(d);return i(e,n,s,r,a,d,l,(e,o)=>{for(let a=0;a<r;a++)t[o+a]=e[a]}),t}if(!(e instanceof Array||e instanceof Float32Array)||0!==n||e.length!==d)if(e instanceof Array){let t=n/4;return e.slice(t,t+d)}else{if(!ArrayBuffer.isView(e))return new Float32Array(e,n,d);let r=e.byteOffset+n;return((3&r)!=0&&(t.Logger.Warn("Float array must be aligned to 4-bytes border"),u=!0),u)?new Float32Array(e.buffer.slice(r,r+d*Float32Array.BYTES_PER_ELEMENT)):new Float32Array(e.buffer,r,d)}return u?e.slice():e},"GetTypeByteLength",0,o,"GetTypedArrayConstructor",0,a,"GetTypedArrayData",0,function(e,r,n,s,l,c,u){let f,d=o(n),g=a(n),p=c*r;if(Array.isArray(e)){if((3&s)!=0||(3&l)!=0)throw Error("byteOffset and byteStride must be a multiple of 4 for number[] data.");let t=s/4,o=l/4;if(t+(c-1)*o+r>e.length)throw Error("Last accessed index is out of bounds.");if(o<r)throw Error("Data stride cannot be smaller than the component size.");if(o!==r){let t=new g(p);return i(e,s,l,r,n,p,!1,(e,o)=>{for(let a=0;a<r;a++)t[o+a]=e[a]}),t}return new g(e.slice(t,t+p))}let h=s;if(ArrayBuffer.isView(e)?(f=e.buffer,h+=e.byteOffset):f=e,h+(c-1)*l+r*d>f.byteLength)throw Error("Last accessed byte is out of bounds.");let v=r*d;if(l<v)throw Error("Byte stride cannot be smaller than the component's byte size.");if(l!==v){let e=new g(p),t=new Uint8Array(f,h),o=new Uint8Array(e.buffer),a=r*d;for(let e=0,r=0,i=0;e<c;e++,r+=l,i+=a)o.set(t.subarray(r,r+a),i);return e}return(1!==d&&(h&d-1)!=0&&(t.Logger.Warn("Array must be aligned to border of element size. Data will be copied."),u=!0),u)?new g(f.slice(h,h+p*d)):new g(f,h,p)}])},6774,e=>{"use strict";var t=e.i(44674),r=e.i(55018),o=e.i(90176),a=e.i(40253),i=e.i(76532),n=e.i(51618),s=e.i(26225),l=e.i(70855),c=e.i(80434),u=e.i(49097),f=e.i(28978);let d=new RegExp(/^data:([^,]+\/[^,]+)?;base64,/i);class g extends n.RuntimeError{constructor(e,r){super(e,n.ErrorCodes.LoadFileError),this.name="LoadFileError",n.BaseError._setPrototypeOf(this,g.prototype),r instanceof t.WebRequest?this.request=r:this.file=r}}class p extends n.RuntimeError{constructor(e,t){super(e,n.ErrorCodes.RequestFileError),this.request=t,this.name="RequestFileError",n.BaseError._setPrototypeOf(this,p.prototype)}}class h extends n.RuntimeError{constructor(e,t){super(e,n.ErrorCodes.ReadFileError),this.file=t,this.name="ReadFileError",n.BaseError._setPrototypeOf(this,h.prototype)}}let v={DefaultRetryStrategy:i.RetryStrategy.ExponentialBackoff(),BaseUrl:"",CorsBehavior:"anonymous",PreprocessUrl:e=>e,ScriptBaseUrl:"",ScriptPreprocessUrl:e=>e,CleanUrl:e=>e=e.replace(/#/gm,"%23")},m=(e,t)=>{if((!e||0!==e.indexOf("data:"))&&v.CorsBehavior)if("string"==typeof v.CorsBehavior||v.CorsBehavior instanceof String)t.crossOrigin=v.CorsBehavior;else{let r=v.CorsBehavior(e);r&&(t.crossOrigin=r)}},K=(e,t,r,a,i)=>{let n=new FileReader,s={onCompleteObservable:new o.Observable,abort:()=>n.abort()};return n.onloadend=()=>s.onCompleteObservable.notifyObservers(s),i&&(n.onerror=()=>{i(new h(`Unable to read ${e.name}`,e))}),n.onload=e=>{t(e.target.result)},r&&(n.onprogress=r),a?n.readAsArrayBuffer(e):n.readAsText(e),s},b=(e,t,r,i,n,s,l)=>{if(e.name)return K(e,t,r,n,s?e=>{s(void 0,e)}:void 0);if(-1!==e.indexOf("file:")){let o=decodeURIComponent(e.substring(5).toLowerCase());0===o.indexOf("./")&&(o=o.substring(2));let i=a.FilesInputStore.FilesToLoad[o];if(i)return K(i,t,r,n,s?e=>s(void 0,new g(e.message,e.file)):void 0)}let{match:f,type:d}=U(e);if(f){let r={onCompleteObservable:new o.Observable,abort:()=>()=>{}};try{let r=n?P(e):C(e);t(r,void 0,d)}catch(e){s?s(void 0,e):c.Logger.Error(e.message||"Failed to parse the Data URL")}return u.TimingTools.SetImmediate(()=>{r.onCompleteObservable.notifyObservers(r)}),r}return y(e,(e,r)=>{t(e,r?.responseURL,r?.getResponseHeader("content-type"))},r,i,n,s?e=>{s(e.request,new g(e.message,e.request))}:void 0,l)},y=(e,a,i,n,s,u,f)=>{null!==n&&(n??(n=l.EngineStore.LastCreatedScene?.offlineProvider)),e=v.CleanUrl(e),e=v.PreprocessUrl(e);let d=v.BaseUrl+e,g=!1,h={onCompleteObservable:new o.Observable,abort:()=>g=!0},m=()=>{let e,o=new t.WebRequest,n=null,l=()=>{o&&(i&&o.removeEventListener("progress",i),e&&o.removeEventListener("readystatechange",e),o.removeEventListener("loadend",m))},m=()=>{l(),h.onCompleteObservable.notifyObservers(h),h.onCompleteObservable.clear(),i=void 0,e=null,m=null,u=void 0,f=void 0,a=void 0};h.abort=()=>{g=!0,m&&m(),o&&o.readyState!==(XMLHttpRequest.DONE||4)&&o.abort(),null!==n&&(clearTimeout(n),n=null),o=null};let K=e=>{let t=e.message||"Unknown error";u&&o?u(new p(t,o)):c.Logger.Error(t)},b=c=>{if(o){if(o.open("GET",d),f)try{f(o)}catch(e){K(e);return}s&&(o.responseType="arraybuffer"),i&&o.addEventListener("progress",i),m&&o.addEventListener("loadend",m),e=()=>{if(!g&&o&&o.readyState===(XMLHttpRequest.DONE||4)){if(e&&o.removeEventListener("readystatechange",e),o.status>=200&&o.status<300||0===o.status&&(!(0,r.IsWindowObjectExist)()||A())){let e=s?o.response:o.responseText;if(null!==e){try{a&&a(e,o)}catch(e){K(e)}return}}let i=v.DefaultRetryStrategy;if(i){let e=i(d,o,c);if(-1!==e){l(),o=new t.WebRequest,n=setTimeout(()=>b(c+1),e);return}}let f=new p("Error status: "+o.status+" "+o.statusText+" - Unable to load "+d,o);u&&u(f)}},o.addEventListener("readystatechange",e),o.send()}};b(0)};if(n&&n.enableSceneOffline&&!e.startsWith("blob:")){let t=e=>{e&&e.status>400?u&&u(e):m()};n.open(()=>{n&&n.loadFile(v.BaseUrl+e,e=>{!g&&a&&a(e),h.onCompleteObservable.notifyObservers(h)},i?e=>{!g&&i&&i(e)}:void 0,t,s)},t)}else m();return h},A=()=>"u">typeof location&&"file:"===location.protocol,U=e=>{let t=d.exec(e);return null===t||0===t.length?{match:!1,type:""}:{match:!0,type:t[0].replace("data:","").replace(";base64,","")}};function P(e){return(0,s.DecodeBase64ToBinary)(e.split(",")[1])}let C=e=>(0,s.DecodeBase64ToString)(e.split(",")[1]);e.s(["DecodeBase64UrlToBinary",0,P,"FileToolsOptions",0,v,"GetMimeType",0,e=>{let{match:t,type:r}=U(e);if(t)return r||void 0;let o=e.lastIndexOf(".");switch(e.substring(o+1).toLowerCase()){case"glb":return"model/gltf-binary";case"bin":return"application/octet-stream";case"gltf":return"model/gltf+json";case"jpg":case"jpeg":return"image/jpeg";case"png":return"image/png";case"webp":return"image/webp";case"ktx":return"image/ktx";case"ktx2":return"image/ktx2";case"avif":return"image/avif";default:return}},"IsBase64DataUrl",0,e=>d.test(e),"LoadFile",0,b,"LoadFileError",0,g,"LoadImage",0,(e,r,o,i,n="",c,u=l.EngineStore.LastCreatedEngine)=>{let d;if("u"<typeof HTMLImageElement&&!u?._features.forceBitmapOverHTMLImageElement)return o("LoadImage is only supported in web or BabylonNative environments."),null;let g=!1;if(e instanceof ArrayBuffer||ArrayBuffer.isView(e))if("u">typeof Blob&&"u">typeof URL){let t;t=e instanceof ArrayBuffer?e:(0,f.GetBlobBufferSource)(e),d=URL.createObjectURL(new Blob([t],{type:n})),g=!0}else d=`data:${n};base64,`+(0,s.EncodeArrayBufferToBase64)(e);else e instanceof Blob?(d=URL.createObjectURL(e),g=!0):(d=v.CleanUrl(e),d=v.PreprocessUrl(d));let p=t=>{if(o){let r=d||e.toString();o(`Error while trying to load image: ${0===r.indexOf("http")||r.length<=128?r:r.slice(0,128)+"..."}`,t)}};if(u?._features.forceBitmapOverHTMLImageElement)return b(d,t=>{u.createImageBitmap(new Blob([t],{type:n}),{premultiplyAlpha:"none",colorSpaceConversion:"none",...c}).then(e=>{r(e),g&&URL.revokeObjectURL(d)}).catch(t=>{o&&o("Error while trying to load image: "+e,t)})},void 0,i||void 0,!0,(e,t)=>{p(t)}),null;let h=new Image;!1;m(d,h);let K=[],y=()=>{for(let e of K)e.target.removeEventListener(e.name,e.handler);K.length=0};for(let e of(K.push({target:h,name:"load",handler:()=>{y(),r(h),g&&h.src&&URL.revokeObjectURL(h.src)}}),K.push({target:h,name:"error",handler:e=>{y(),p(e),g&&h.src&&URL.revokeObjectURL(h.src)}}),K.push({target:document,name:"securitypolicyviolation",handler:e=>{if(e.blockedURI!==h.src||"report"===e.disposition)return;y();let t=Error(`CSP violation of policy ${e.effectiveDirective} ${e.blockedURI}. Current policy is ${e.originalPolicy}`);l.EngineStore.UseFallbackTexture=!1,p(t),g&&h.src&&URL.revokeObjectURL(h.src),h.src=""}}),K))e.target.addEventListener(e.name,e.handler);let A="blob:"===d.substring(0,5),U="data:"===d.substring(0,5),P=()=>{A||U||!t.WebRequest.IsCustomRequestAvailable?h.src=d:b(d,(e,t,r)=>{let o=new Blob([e],{type:!n&&r?r:n}),a=URL.createObjectURL(o);g=!0,h.src=a},void 0,i||void 0,!0,(e,t)=>{p(t)})};if(!A&&!U&&i&&i.enableTexturesOffline)i.open(()=>{i&&i.loadImage(d,h)},P);else{if(-1!==d.indexOf("file:")){let e=decodeURIComponent(d.substring(5).toLowerCase());if(a.FilesInputStore.FilesToLoad[e]&&"u">typeof URL){try{let t;try{t=URL.createObjectURL(a.FilesInputStore.FilesToLoad[e])}catch(r){t=URL.createObjectURL(a.FilesInputStore.FilesToLoad[e])}h.src=t,g=!0}catch(e){h.src=""}return h}}P()}return h},"ReadFile",0,K,"RequestFile",0,y,"SetCorsBehavior",0,m])},98551,e=>{"use strict";function t(e){let t=r(e),a=o(e);return t-e>e-a?a:t}function r(e){return e--,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e}function o(e){return e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,(e|=e>>16)-(e>>1)}e.s(["FloorPOT",0,o,"GetExponentOfTwo",0,function(e,a,i=2){let n;switch(i){case 1:n=o(e);break;case 2:n=t(e);break;default:n=r(e)}return Math.min(n,a)},"IsExponentOfTwo",0,function(e){let t=1;do t*=2;while(t<e)return t===e},"Mix",0,function(e,t,r){return e*(1-r)+t*r},"NearestPOT",0,t])},79488,e=>{"use strict";var t=e.i(80434),r=e.i(38116);class o{static Instantiate(e){if(this.RegisteredExternalClasses&&this.RegisteredExternalClasses[e])return this.RegisteredExternalClasses[e];let o=(0,r.GetClass)(e);if(o)return o;t.Logger.Warn(e+" not found, you may have missed an import.");let a=e.split("."),i="u">typeof window?window:"u">typeof globalThis?globalThis:this;for(let e=0,t=a.length;e<t;e++)i=i[a[e]];return"function"!=typeof i?null:i}}o.RegisteredExternalClasses={},e.s(["InstantiationTools",0,o])},13856,67560,e=>{"use strict";var t,r=e.i(90176),o=e.i(55018),a=e.i(80434);let i=(e,t,r)=>!e||e.getClassName&&"Mesh"===e.getClassName()?null:e.getClassName&&("SubMesh"===e.getClassName()||"PhysicsBody"===e.getClassName())?e.clone(t):e.clone?e.clone():Array.isArray(e)?e.slice():r&&"object"==typeof e?{...e}:null;class n{static DeepCopy(e,t,r,o,n=!1){for(let s of function(e){let t=[];do for(let r of Object.getOwnPropertyNames(e))-1===t.indexOf(r)&&t.push(r);while(e=Object.getPrototypeOf(e))return t}(e)){if("_"===s[0]&&(!o||-1===o.indexOf(s))||s.endsWith("Observable")||r&&-1!==r.indexOf(s))continue;let l=e[s],c=typeof l;if("function"!==c)try{if("object"===c)if(l instanceof Uint8Array)t[s]=Uint8Array.from(l);else if(l instanceof Array){if(t[s]=[],l.length>0)if("object"==typeof l[0])for(let e=0;e<l.length;e++){let r=i(l[e],t,n);-1===t[s].indexOf(r)&&t[s].push(r)}else t[s]=l.slice(0)}else t[s]=i(l,t,n);else t[s]=l}catch(e){a.Logger.Warn(e.message)}}}}e.s(["DeepCopier",0,n],67560);var s=e.i(87869),l=e.i(33945),c=e.i(44674),u=e.i(70855),f=e.i(6774),d=e.i(49097),g=e.i(79488),p=e.i(31919),h=e.i(98551);class v{static get BaseUrl(){return f.FileToolsOptions.BaseUrl}static set BaseUrl(e){f.FileToolsOptions.BaseUrl=e}static get CleanUrl(){return f.FileToolsOptions.CleanUrl}static set CleanUrl(e){f.FileToolsOptions.CleanUrl=e}static IsAbsoluteUrl(e){return 0===e.indexOf("//")||!(-1===e.indexOf("://")||-1===e.indexOf(".")||-1===e.indexOf("/")||e.indexOf(":")>e.indexOf("/"))&&(!!(e.indexOf("://")<e.indexOf("."))||0===e.indexOf("data:")||0===e.indexOf("blob:"))}static set ScriptBaseUrl(e){f.FileToolsOptions.ScriptBaseUrl=e}static get ScriptBaseUrl(){return f.FileToolsOptions.ScriptBaseUrl}static set CDNBaseUrl(e){t.ScriptBaseUrl=e,t.AssetBaseUrl=e}static set ScriptPreprocessUrl(e){f.FileToolsOptions.ScriptPreprocessUrl=e}static get ScriptPreprocessUrl(){return f.FileToolsOptions.ScriptPreprocessUrl}static get DefaultRetryStrategy(){return f.FileToolsOptions.DefaultRetryStrategy}static set DefaultRetryStrategy(e){f.FileToolsOptions.DefaultRetryStrategy=e}static get CorsBehavior(){return f.FileToolsOptions.CorsBehavior}static set CorsBehavior(e){f.FileToolsOptions.CorsBehavior=e}static get UseFallbackTexture(){return u.EngineStore.UseFallbackTexture}static set UseFallbackTexture(e){u.EngineStore.UseFallbackTexture=e}static get RegisteredExternalClasses(){return g.InstantiationTools.RegisteredExternalClasses}static set RegisteredExternalClasses(e){g.InstantiationTools.RegisteredExternalClasses=e}static get fallbackTexture(){return u.EngineStore.FallbackTexture}static set fallbackTexture(e){u.EngineStore.FallbackTexture=e}static FetchToRef(e,t,r,o,a,i){let n=((Math.abs(e)*r%r|0)+(Math.abs(t)*o%o|0)*r)*4;i.r=a[n]/255,i.g=a[n+1]/255,i.b=a[n+2]/255,i.a=a[n+3]/255}static Mix(e,t,r){return 0}static Instantiate(e){return g.InstantiationTools.Instantiate(e)}static SetImmediate(e){d.TimingTools.SetImmediate(e)}static IsExponentOfTwo(e){return!0}static FloatRound(e){return Math.fround(e)}static GetFilename(e){let t=e.lastIndexOf("/");return t<0?e:e.substring(t+1)}static GetFolderPath(e,t=!1){let r=e.lastIndexOf("/");return r<0?t?e:"":e.substring(0,r+1)}static ToDegrees(e){return 180*e/Math.PI}static ToRadians(e){return e*Math.PI/180}static SmoothAngleChange(e,t,r=.9){let o=this.ToRadians(e),a=this.ToRadians(t);return this.ToDegrees(Math.atan2((1-r)*Math.sin(a)+r*Math.sin(o),(1-r)*Math.cos(a)+r*Math.cos(o)))}static MakeArray(e,t){return!0!==t&&(void 0===e||null==e)?null:Array.isArray(e)?e:[e]}static GetPointerPrefix(e){return(0,o.IsWindowObjectExist)()&&!window.PointerEvent?"mouse":"pointer"}static SetCorsBehavior(e,t){(0,f.SetCorsBehavior)(e,t)}static SetReferrerPolicyBehavior(e,t){t.referrerPolicy=e}static get PreprocessUrl(){return f.FileToolsOptions.PreprocessUrl}static set PreprocessUrl(e){f.FileToolsOptions.PreprocessUrl=e}static LoadImage(e,t,r,o,a,i){return(0,f.LoadImage)(e,t,r,o,a,i)}static LoadFile(e,t,r,o,a,i){return(0,f.LoadFile)(e,t,r,o,a,i)}static async LoadFileAsync(e,t=!0){return await new Promise((r,o)=>{(0,f.LoadFile)(e,e=>{r(e)},void 0,void 0,t,(e,t)=>{o(t)})})}static GetAssetUrl(e){if(!e)return"";if(t.AssetBaseUrl&&e.startsWith(t._DefaultAssetsUrl)){let r=t.AssetBaseUrl.endsWith("/")?t.AssetBaseUrl.slice(0,-1):t.AssetBaseUrl;return e.replace(t._DefaultAssetsUrl,r)}return e}static GetBabylonScriptURL(e,r){if(!e)return"";if(e.startsWith(t._DefaultCdnUrl)){if(t.ScriptBaseUrl){let r=t.ScriptBaseUrl.endsWith("/")?t.ScriptBaseUrl.slice(0,-1):t.ScriptBaseUrl;e=e.replace(t._DefaultCdnUrl,r)}else if(t._CdnVersion){let r=`${t._DefaultCdnUrl}/v${t._CdnVersion}`;e.startsWith(r)||(e=e.replace(t._DefaultCdnUrl,r))}}return e=t.ScriptPreprocessUrl(e),r&&!t.IsAbsoluteUrl(e)&&(e=t.GetAbsoluteUrl(e)),e}static LoadBabylonScript(e,r,o,a){e=t.GetBabylonScriptURL(e),t.LoadScript(e,r,o)}static async LoadBabylonScriptAsync(e){return e=t.GetBabylonScriptURL(e),await t.LoadScriptAsync(e)}static _LoadScriptNative(e,r,o){_native&&t.LoadFile(e,e=>{try{Function(e).apply(null),r&&r()}catch(e){o&&o("LoadScript Error",e)}},void 0,void 0,!1,(e,t)=>{o&&o("LoadScript Error",t)})}static _LoadScriptWeb(e,t,r,a,i=!1){if("function"==typeof importScripts){try{importScripts(e),t&&t()}catch(t){r?.(`Unable to load script '${e}' in worker`,t)}return}if(!(0,o.IsWindowObjectExist)())return void r?.(`Cannot load script '${e}' outside of a window or a worker`);let n=document.getElementsByTagName("head")[0],s=document.createElement("script");i?(s.setAttribute("type","module"),s.innerText=e):(s.setAttribute("type","text/javascript"),s.setAttribute("src",e)),a&&(s.id=a),s.onload=()=>{t&&t()},s.onerror=t=>{r&&r(`Unable to load script '${e}'`,t)},n.appendChild(s)}static async LoadScriptAsync(e,t){return await new Promise((r,o)=>{this.LoadScript(e,()=>{r()},(e,t)=>{o(t||Error(e))},t)})}static ReadFileAsDataURL(e,t,o){let a=new FileReader,i={onCompleteObservable:new r.Observable,abort:()=>a.abort()};return a.onloadend=()=>{i.onCompleteObservable.notifyObservers(i)},a.onload=e=>{t(e.target.result)},a.onprogress=o,a.readAsDataURL(e),i}static ReadFile(e,t,r,o,a){return(0,f.ReadFile)(e,t,r,o,a)}static FileAsURL(e){let t=new Blob([e]);return window.URL.createObjectURL(t)}static Format(e,t=2){return e.toFixed(t)}static DeepCopy(e,t,r,o){n.DeepCopy(e,t,r,o)}static IsEmpty(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}static RegisterTopRootEvents(e,t){for(let r=0;r<t.length;r++){let o=t[r];e.addEventListener(o.name,o.handler,!1);try{window.parent&&window.parent.addEventListener(o.name,o.handler,!1)}catch(e){}}}static UnregisterTopRootEvents(e,t){for(let r=0;r<t.length;r++){let o=t[r];e.removeEventListener(o.name,o.handler);try{e.parent&&e.parent.removeEventListener(o.name,o.handler)}catch(e){}}}static async DumpFramebuffer(e,t,r,o,a="image/png",i,n){throw(0,l._WarnImport)("DumpTools")}static DumpData(e,t,r,o,a="image/png",i,n=!1,s=!1,c){throw(0,l._WarnImport)("DumpTools")}static async DumpDataAsync(e,t,r,o="image/png",a,i=!1,n=!1,s){throw(0,l._WarnImport)("DumpTools")}static _IsOffScreenCanvas(e){return void 0!==e.convertToBlob}static ToBlob(e,r,o="image/png",a){t._IsOffScreenCanvas(e)||e.toBlob||(e.toBlob=function(e,t,r){setTimeout(()=>{let o=atob(this.toDataURL(t,r).split(",")[1]),a=o.length,i=new Uint8Array(a);for(let e=0;e<a;e++)i[e]=o.charCodeAt(e);e(new Blob([i]))})}),t._IsOffScreenCanvas(e)?e.convertToBlob({type:o,quality:a}).then(e=>r(e)):e.toBlob(function(e){r(e)},o,a)}static DownloadBlob(e,r){if("download"in document.createElement("a")){if(!r){let e=new Date;r="screenshot_"+((e.getFullYear()+"-"+(e.getMonth()+1)).slice(2)+"-"+e.getDate()+"_"+e.getHours()+"-")+("0"+e.getMinutes()).slice(-2)+".png"}t.Download(e,r)}else if(e&&"u">typeof URL){let t=URL.createObjectURL(e),r=window.open("");if(!r)return;let o=r.document.createElement("img");o.onload=function(){URL.revokeObjectURL(t)},o.src=t,r.document.body.appendChild(o)}}static EncodeScreenshotCanvasData(e,r,o="image/png",a,i){if("string"!=typeof a&&r){if(r){if(t._IsOffScreenCanvas(e))return void e.convertToBlob({type:o,quality:i}).then(e=>{let t=new FileReader;t.readAsDataURL(e),t.onloadend=()=>{r(t.result)}});r(e.toDataURL(o,i))}}else this.ToBlob(e,function(e){e&&t.DownloadBlob(e,a),r&&r("")},o,i)}static Download(e,t){if("u"<typeof URL)return;let r=window.URL.createObjectURL(e),o=document.createElement("a");document.body.appendChild(o),o.style.display="none",o.href=r,o.download=t,o.addEventListener("click",()=>{o.parentElement&&o.parentElement.removeChild(o)}),o.click(),window.URL.revokeObjectURL(r)}static BackCompatCameraNoPreventDefault(e){return"boolean"==typeof e[0]?e[0]:"boolean"==typeof e[1]&&e[1]}static CreateScreenshot(e,t,r,o,a="image/png",i=!1,n){throw(0,l._WarnImport)("ScreenshotTools")}static async CreateScreenshotAsync(e,t,r,o="image/png",a){throw(0,l._WarnImport)("ScreenshotTools")}static CreateScreenshotUsingRenderTarget(e,t,r,o,a="image/png",i=1,n=!1,s,c=!1,u=!1,f=!0,d,g){throw(0,l._WarnImport)("ScreenshotTools")}static async CreateScreenshotUsingRenderTargetAsync(e,t,r,o="image/png",a=1,i=!1,n,s=!1,c=!1,u=!0,f,d){throw(0,l._WarnImport)("ScreenshotTools")}static RandomId(){return(0,p.RandomGUID)()}static IsBase64(e){return(0,f.IsBase64DataUrl)(e)}static DecodeBase64(e){return(0,f.DecodeBase64UrlToBinary)(e)}static get errorsCount(){return a.Logger.errorsCount}static Log(e){a.Logger.Log(e)}static Warn(e){a.Logger.Warn(e)}static Error(e){a.Logger.Error(e)}static get LogCache(){return a.Logger.LogCache}static ClearLogCache(){a.Logger.ClearLogCache()}static set LogLevels(e){a.Logger.LogLevels=e}static set PerformanceLogLevel(e){(e&t.PerformanceUserMarkLogLevel)===t.PerformanceUserMarkLogLevel?_native?.enablePerformanceLogging?(_native.enablePerformanceLogging(1),t.StartPerformanceCounter=t._StartMarkNative,t.EndPerformanceCounter=t._EndMarkNative):(t.StartPerformanceCounter=t._StartUserMark,t.EndPerformanceCounter=t._EndUserMark):(e&t.PerformanceConsoleLogLevel)===t.PerformanceConsoleLogLevel?_native?.enablePerformanceLogging?(_native.enablePerformanceLogging(2),t.StartPerformanceCounter=t._StartMarkNative,t.EndPerformanceCounter=t._EndMarkNative):(t.StartPerformanceCounter=t._StartPerformanceConsole,t.EndPerformanceCounter=t._EndPerformanceConsole):(t.StartPerformanceCounter=t._StartPerformanceCounterDisabled,t.EndPerformanceCounter=t._EndPerformanceCounterDisabled,_native?.disablePerformanceLogging?.())}static _StartPerformanceCounterDisabled(e,t){}static _EndPerformanceCounterDisabled(e,t){}static _StartUserMark(e,r=!0){if(!t._Performance){if(!(0,o.IsWindowObjectExist)())return;t._Performance=window.performance}r&&t._Performance.mark&&t._Performance.mark(e+"-Begin")}static _EndUserMark(e,r=!0){r&&t._Performance.mark&&(t._Performance.mark(e+"-End"),t._Performance.measure(e,e+"-Begin",e+"-End"))}static _StartPerformanceConsole(e,r=!0){r&&(t._StartUserMark(e,r),console.time&&console.time(e))}static _EndPerformanceConsole(e,r=!0){r&&(t._EndUserMark(e,r),console.timeEnd(e))}static _StartMarkNative(e,r=!0){if(r&&_native?.startPerformanceCounter)if(t._NativePerformanceCounterHandles.has(e))t.Warn(`Performance counter with name ${e} is already started.`);else{let r=_native.startPerformanceCounter(e);t._NativePerformanceCounterHandles.set(e,r)}}static _EndMarkNative(e,r=!0){if(r&&_native?.endPerformanceCounter){let r=t._NativePerformanceCounterHandles.get(e);r?(_native.endPerformanceCounter(r),t._NativePerformanceCounterHandles.delete(e)):t.Warn(`Performance counter with name ${e} was not started.`)}}static get Now(){return s.PrecisionDate.Now}static GetClassName(e,t=!1){let r=null;return!t&&e.getClassName?r=e.getClassName():(e instanceof Object&&(r=(t?e:Object.getPrototypeOf(e)).constructor.__bjsclassName__),r||(r=typeof e)),r}static First(e,t){for(let r of e)if(t(r))return r;return null}static getFullClassName(e,t=!1){let r=null,o=null;if(!t&&e.getClassName)r=e.getClassName();else{if(e instanceof Object){let a=t?e:Object.getPrototypeOf(e);r=a.constructor.__bjsclassName__,o=a.constructor.__bjsmoduleName__}r||(r=typeof e)}return r?(null!=o?o+".":"")+r:null}static async DelayAsync(e){await new Promise(t=>{setTimeout(()=>{t()},e)})}static IsSafari(){return!!(0,o.IsNavigatorAvailable)()&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}}t=v,v.AssetBaseUrl="",v.UseCustomRequestHeaders=!1,v.CustomRequestHeaders=c.WebRequest.CustomRequestHeaders,v.GetDOMTextContent=o.GetDOMTextContent,v._DefaultCdnUrl="https://cdn.babylonjs.com",v._CdnVersion="9.15.0",v._DefaultAssetsUrl="https://assets.babylonjs.com/core",v.LoadScript="u"<typeof _native?t._LoadScriptWeb:t._LoadScriptNative,v.GetAbsoluteUrl="object"==typeof document?e=>{let t=document.createElement("a");return t.href=e,t.href}:"function"==typeof URL&&"object"==typeof location?e=>new URL(e,location.origin).href:()=>{throw Error("Unable to get absolute URL. Override BABYLON.Tools.GetAbsoluteUrl to a custom implementation for the current context.")},v.NoneLogLevel=a.Logger.NoneLogLevel,v.MessageLogLevel=a.Logger.MessageLogLevel,v.WarningLogLevel=a.Logger.WarningLogLevel,v.ErrorLogLevel=a.Logger.ErrorLogLevel,v.AllLogLevel=a.Logger.AllLogLevel,v.IsWindowObjectExist=o.IsWindowObjectExist,v.PerformanceNoneLogLevel=0,v.PerformanceUserMarkLogLevel=1,v.PerformanceConsoleLogLevel=2,v._NativePerformanceCounterHandles=new Map,v.StartPerformanceCounter=t._StartPerformanceCounterDisabled,v.EndPerformanceCounter=t._EndPerformanceCounterDisabled;class m{constructor(e,t,r,o=0){this.iterations=e,this.index=o-1,this._done=!1,this._fn=t,this._successCallback=r}executeNext(){this._done||(this.index+1<this.iterations?(++this.index,this._fn(this)):this.breakLoop())}breakLoop(){this._done=!0,this._successCallback()}static Run(e,t,r,o=0){let a=new m(e,t,r,o);return a.executeNext(),a}static SyncAsyncForLoop(e,t,r,o,a,i=0){return m.Run(Math.ceil(e/t),o=>{a&&a()?o.breakLoop():setTimeout(()=>{for(let i=0;i<t;++i){let n=o.index*t+i;if(n>=e)break;if(r(n),a&&a()){o.breakLoop();break}}o.executeNext()},i)},o)}}let K=!1;e.s(["AsyncLoop",0,m,"RegisterTools",0,function(){K||(K=!0,v.Mix=h.Mix,v.IsExponentOfTwo=h.IsExponentOfTwo,u.EngineStore.FallbackTexture="data:image/jpg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBmRXhpZgAATU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAAExAAIAAAAQAAAATgAAAAAAAABgAAAAAQAAAGAAAAABcGFpbnQubmV0IDQuMC41AP/bAEMABAIDAwMCBAMDAwQEBAQFCQYFBQUFCwgIBgkNCw0NDQsMDA4QFBEODxMPDAwSGBITFRYXFxcOERkbGRYaFBYXFv/bAEMBBAQEBQUFCgYGChYPDA8WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFv/AABEIAQABAAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APH6KKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76CiiigD5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BQooooA+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/voKKKKAPl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76CiiigD5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BQooooA+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/voKKKKAPl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76P//Z")},"Tools",0,v],13856)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,32602,t=>{"use strict";var e=t.i(90176),i=t.i(95410),n=t.i(45984);class a{get currentFrame(){return this._currentFrame}get weight(){return this._weight}get currentValue(){return this._currentValue}get targetPath(){return this._targetPath}get target(){return this._currentActiveTarget}get isAdditive(){return this._host&&this._host.isAdditive}constructor(t,e,a,s){if(this._events=[],this._currentFrame=0,this._originalValue=[],this._originalBlendValue=null,this._offsetsCache={},this._highLimitsCache={},this._stopped=!1,this._blendingFactor=0,this._currentValue=null,this._currentActiveTarget=null,this._directTarget=null,this._targetPath="",this._weight=1,this._absoluteFrameOffset=0,this._previousElapsedTime=0,this._yoyoDirection=1,this._previousAbsoluteFrame=0,this._targetIsArray=!1,this._coreRuntimeAnimation=null,this._animation=e,this._target=t,this._scene=a,this._host=s,this._activeTargets=[],e._runtimeAnimations.push(this),this._animationState={key:0,repeatCount:0,loopMode:this._getCorrectLoopMode()},this._animation.dataType===n.Animation.ANIMATIONTYPE_MATRIX&&(this._animationState.workValue=i.Matrix.Zero()),this._keys=this._animation.getKeys(),this._minFrame=this._keys[0].frame,this._maxFrame=this._keys[this._keys.length-1].frame,0!==this._minFrame){const t={frame:0,value:this._keys[0].value};this._keys.splice(0,0,t)}if(this._target instanceof Array){let t=0;for(const e of this._target)this._preparePath(e,t),this._getOriginalValues(t),t++;this._targetIsArray=!0}else this._preparePath(this._target),this._getOriginalValues(),this._targetIsArray=!1,this._directTarget=this._activeTargets[0];const o=e.getEvents();if(o&&o.length>0)for(const t of o)this._events.push(t._clone());this._enableBlending=t&&t.animationPropertiesOverride?t.animationPropertiesOverride.enableBlending:this._animation.enableBlending}_preparePath(t,e=0){let i=this._animation.targetPropertyPath;if(i.length>1){let n=t;for(let t=0;t<i.length-1;t++){let e=i[t];if(void 0===(n=n[e]))throw Error(`Invalid property (${e}) in property path (${i.join(".")})`)}this._targetPath=i[i.length-1],this._activeTargets[e]=n}else this._targetPath=i[0],this._activeTargets[e]=t;if(void 0===this._activeTargets[e][this._targetPath])throw Error(`Invalid property (${this._targetPath}) in property path (${i.join(".")})`)}get animation(){return this._animation}reset(t=!1){if(t)if(this._target instanceof Array){let t=0;for(let e of this._target)void 0!==this._originalValue[t]&&this._setValue(e,this._activeTargets[t],this._originalValue[t],-1,t),t++}else void 0!==this._originalValue[0]&&this._setValue(this._target,this._directTarget,this._originalValue[0],-1,0);this._offsetsCache={},this._highLimitsCache={},this._currentFrame=0,this._blendingFactor=0;for(let t=0;t<this._events.length;t++)this._events[t].isDone=!1}isStopped(){return this._stopped}dispose(){let t=this._animation.runtimeAnimations.indexOf(this);t>-1&&this._animation.runtimeAnimations.splice(t,1)}setValue(t,e){if(this._targetIsArray){for(let i=0;i<this._target.length;i++){let n=this._target[i];this._setValue(n,this._activeTargets[i],t,e,i)}return}this._setValue(this._target,this._directTarget,t,e,0)}_getOriginalValues(t=0){let e,i=this._activeTargets[t];if(n.Animation.InheritOriginalValueFromActiveAnimations){let e=this._scene._activeAnimatables;for(let n=0;n<e.length;n++){let a=e[n]._runtimeAnimations;for(let e=0;e<a.length;e++){let n=a[e];if(n!==this&&n._targetPath===this._targetPath){for(let e=0;e<n._activeTargets.length;e++)if(n._activeTargets[e]===i&&void 0!==n._originalValue[e])return void(n._originalValue[e]&&n._originalValue[e].clone?this._originalValue[t]=n._originalValue[e].clone():this._originalValue[t]=n._originalValue[e])}}}}(e=i.getLocalMatrix&&"_matrix"===this._targetPath?i.getLocalMatrix():i[this._targetPath])&&e.clone?this._originalValue[t]=e.clone():this._originalValue[t]=e}_registerTargetForLateAnimationBinding(t,e){let i=t.target;this._scene._registeredForLateAnimationBindings.pushNoDuplicate(i),i._lateAnimationHolders||(i._lateAnimationHolders={}),i._lateAnimationHolders[t.targetPath]||(i._lateAnimationHolders[t.targetPath]={totalWeight:0,totalAdditiveWeight:0,animations:[],additiveAnimations:[],originalValue:e}),t.isAdditive?(i._lateAnimationHolders[t.targetPath].additiveAnimations.push(t),i._lateAnimationHolders[t.targetPath].totalAdditiveWeight+=t.weight):(i._lateAnimationHolders[t.targetPath].animations.push(t),i._lateAnimationHolders[t.targetPath].totalWeight+=t.weight)}_setValue(t,e,a,s,o){if(this._currentActiveTarget=e,this._weight=s,this._enableBlending&&this._blendingFactor<=1){if(!this._originalBlendValue){let t=e[this._targetPath];t.clone?this._originalBlendValue=t.clone():this._originalBlendValue=t}this._originalBlendValue.m?n.Animation.AllowMatrixDecomposeForInterpolation?this._currentValue?i.Matrix.DecomposeLerpToRef(this._originalBlendValue,a,this._blendingFactor,this._currentValue):this._currentValue=i.Matrix.DecomposeLerp(this._originalBlendValue,a,this._blendingFactor):this._currentValue?i.Matrix.LerpToRef(this._originalBlendValue,a,this._blendingFactor,this._currentValue):this._currentValue=i.Matrix.Lerp(this._originalBlendValue,a,this._blendingFactor):this._currentValue=n.Animation._UniversalLerp(this._originalBlendValue,a,this._blendingFactor);let s=t&&t.animationPropertiesOverride?t.animationPropertiesOverride.blendingSpeed:this._animation.blendingSpeed;this._blendingFactor+=s}else this._currentValue?this._currentValue.copyFrom?this._currentValue.copyFrom(a):this._currentValue=a:a?.clone?this._currentValue=a.clone():this._currentValue=a;-1!==s?this._registerTargetForLateAnimationBinding(this,this._originalValue[o]):this._animationState.loopMode===n.Animation.ANIMATIONLOOPMODE_RELATIVE_FROM_CURRENT?this._currentValue.addToRef?this._currentValue.addToRef(this._originalValue[o],e[this._targetPath]):e[this._targetPath]=this._originalValue[o]+this._currentValue:e[this._targetPath]=this._currentValue,t.markAsDirty&&t.markAsDirty(this._animation.targetProperty)}_getCorrectLoopMode(){return this._target&&this._target.animationPropertiesOverride?this._target.getClassName?.()==="MorphTarget"&&null==this._target._animationPropertiesOverride?this._animation.loopMode:this._target.animationPropertiesOverride.loopMode:this._animation.loopMode}goToFrame(t,e=-1){let i=this._animation.getKeys();t<i[0].frame?t=i[0].frame:t>i[i.length-1].frame&&(t=i[i.length-1].frame);let n=this._events;if(n.length)for(let e=0;e<n.length;e++)n[e].onlyOnce||(n[e].isDone=n[e].frame<t);this._currentFrame=t;let a=this._animation._interpolate(t,this._animationState);this.setValue(a,e)}_prepareForSpeedRatioChange(t){let e=this._previousElapsedTime*(this._animation.framePerSecond*t)/1e3;this._absoluteFrameOffset=this._previousAbsoluteFrame-e}animate(t,e,i,a,s,o=-1){let r,l,h=this._animation,m=h.targetPropertyPath;if(!m||m.length<1)return this._stopped=!0,!1;let _=!0,g=this._events;if(this._coreRuntimeAnimation)l=i-e,r=this._coreRuntimeAnimation.currentFrame,this._currentFrame=r,this._animationState.repeatCount=this._coreRuntimeAnimation._animationState.repeatCount,this._animationState.highLimitValue=this._coreRuntimeAnimation._animationState.highLimitValue,this._animationState.offsetValue=this._coreRuntimeAnimation._animationState.offsetValue;else{let o;(e<this._minFrame||e>this._maxFrame)&&(e=this._minFrame),(i<this._minFrame||i>this._maxFrame)&&(i=this._maxFrame),l=i-e;let m=t*(h.framePerSecond*s)/1e3+this._absoluteFrameOffset,u=0,d=!1,p=a&&this._animationState.loopMode===n.Animation.ANIMATIONLOOPMODE_YOYO;if(p){let t=Math.sin((m-e)/l*Math.PI);m=Math.abs(t)*l+e;let i=t>=0?1:-1;this._yoyoDirection!==i&&(d=!0),this._yoyoDirection=i}if(this._previousElapsedTime=t,this._previousAbsoluteFrame=m,!a&&i>=e&&(m>=l&&s>0||m<=0&&s<0))_=!1,u=h.evaluate(i);else if(!a&&e>=i&&(m<=l&&s<0||m>=0&&s>0))_=!1,u=h.evaluate(e);else if(this._animationState.loopMode!==n.Animation.ANIMATIONLOOPMODE_CYCLE){let t=i.toString()+e.toString();if(!this._offsetsCache[t]){this._animationState.repeatCount=0,this._animationState.loopMode=n.Animation.ANIMATIONLOOPMODE_CYCLE;let a=h._interpolate(e,this._animationState),s=h._interpolate(i,this._animationState);switch(this._animationState.loopMode=this._getCorrectLoopMode(),h.dataType){case n.Animation.ANIMATIONTYPE_FLOAT:this._offsetsCache[t]=s-a;break;case n.Animation.ANIMATIONTYPE_QUATERNION:case n.Animation.ANIMATIONTYPE_VECTOR3:case n.Animation.ANIMATIONTYPE_VECTOR2:case n.Animation.ANIMATIONTYPE_SIZE:case n.Animation.ANIMATIONTYPE_COLOR3:this._offsetsCache[t]=s.subtract(a)}this._highLimitsCache[t]=s}u=this._highLimitsCache[t],o=this._offsetsCache[t]}if(void 0===o)switch(h.dataType){case n.Animation.ANIMATIONTYPE_FLOAT:o=0;break;case n.Animation.ANIMATIONTYPE_QUATERNION:o=n._StaticOffsetValueQuaternion;break;case n.Animation.ANIMATIONTYPE_VECTOR3:o=n._StaticOffsetValueVector3;break;case n.Animation.ANIMATIONTYPE_VECTOR2:o=n._StaticOffsetValueVector2;break;case n.Animation.ANIMATIONTYPE_SIZE:o=n._StaticOffsetValueSize;break;case n.Animation.ANIMATIONTYPE_COLOR3:o=n._StaticOffsetValueColor3;break;case n.Animation.ANIMATIONTYPE_COLOR4:o=n._StaticOffsetValueColor4}if(this._host&&this._host.syncRoot){let t=this._host.syncRoot,i=(t.masterFrame-t.fromFrame)/(t.toFrame-t.fromFrame);r=e+l*i}else r=m>0&&e>i||m<0&&e<i?_&&0!==l?i+m%l:e:_&&0!==l?e+m%l:i;if(!p&&(s>0&&this.currentFrame>r||s<0&&this.currentFrame<r)||p&&d){this._onLoop();for(let t=0;t<g.length;t++)g[t].onlyOnce||(g[t].isDone=!1);this._animationState.key=s>0?0:h.getKeys().length-1}this._currentFrame=r,this._animationState.repeatCount=0===l?0:m/l|0,this._animationState.highLimitValue=u,this._animationState.offsetValue=o}let u=h._interpolate(r,this._animationState);if(this.setValue(u,o),g.length){for(let t=0;t<g.length;t++)if(l>=0&&r>=g[t].frame&&g[t].frame>=e||l<0&&r<=g[t].frame&&g[t].frame<=e){let e=g[t];e.isDone||(e.onlyOnce&&(g.splice(t,1),t--),e.isDone=!0,e.action(r))}}return _||(this._stopped=!0),_}}var s=t.i(87869);class o{get syncRoot(){return this._syncRoot}get masterFrame(){return 0===this._runtimeAnimations.length?0:this._runtimeAnimations[0].currentFrame}get weight(){return this._weight}set weight(t){if(-1===t){this._weight=-1;return}this._weight=Math.min(Math.max(t,0),1)}get speedRatio(){return this._speedRatio}set speedRatio(t){for(let e=0;e<this._runtimeAnimations.length;e++)this._runtimeAnimations[e]._prepareForSpeedRatioChange(t);this._speedRatio=t,null!==this._goToFrame&&this.goToFrame(this._goToFrame)}get elapsedTime(){return null===this._localDelayOffset?0:this._scene._animationTime-this._localDelayOffset}constructor(t,i,n=0,a=100,s=!1,o=1,r,l,h,m=!1,_=0){this.target=i,this.fromFrame=n,this.toFrame=a,this.loopAnimation=s,this.onAnimationEnd=r,this.onAnimationLoop=h,this.isAdditive=m,this.playOrder=_,this._localDelayOffset=null,this._pausedDelay=null,this._manualJumpDelay=null,this._runtimeAnimations=[],this._paused=!1,this._speedRatio=1,this._weight=-1,this._previousWeight=-1,this._syncRoot=null,this._frameToSyncFromJump=null,this._goToFrame=null,this.disposeOnEnd=!0,this.animationStarted=!1,this.onAnimationEndObservable=new e.Observable,this.onAnimationLoopObservable=new e.Observable,this._scene=t,l&&this.appendAnimations(i,l),this._speedRatio=o,t._activeAnimatables.push(this)}syncWith(t){if(this._syncRoot=t,t){let t=this._scene._activeAnimatables.indexOf(this);t>-1&&(this._scene._activeAnimatables.splice(t,1),this._scene._activeAnimatables.push(this))}return this}getAnimations(){return this._runtimeAnimations}appendAnimations(t,e){for(let i=0;i<e.length;i++){let n=new a(t,e[i],this._scene,this);n._onLoop=()=>{this.onAnimationLoopObservable.notifyObservers(this),this.onAnimationLoop&&this.onAnimationLoop()},this._runtimeAnimations.push(n)}}getAnimationByTargetProperty(t){let e=this._runtimeAnimations;for(let i=0;i<e.length;i++)if(e[i].animation.targetProperty===t)return e[i].animation;return null}getRuntimeAnimationByTargetProperty(t){let e=this._runtimeAnimations;for(let i=0;i<e.length;i++)if(e[i].animation.targetProperty===t)return e[i];return null}reset(){let t=this._runtimeAnimations;for(let e=0;e<t.length;e++)t[e].reset(!0);this._localDelayOffset=null,this._pausedDelay=null}enableBlending(t){let e=this._runtimeAnimations;for(let i=0;i<e.length;i++)e[i].animation.enableBlending=!0,e[i].animation.blendingSpeed=t}disableBlending(){let t=this._runtimeAnimations;for(let e=0;e<t.length;e++)t[e].animation.enableBlending=!1}goToFrame(t,e=!1){let i=this._runtimeAnimations;if(i[0]){let e=i[0].animation.framePerSecond;this._frameToSyncFromJump=this._frameToSyncFromJump??i[0].currentFrame;let n=0===this.speedRatio?0:(t-this._frameToSyncFromJump)/e*1e3/this.speedRatio;this._manualJumpDelay=-n}for(let n=0;n<i.length;n++)i[n].goToFrame(t,e?this._weight:-1);this._goToFrame=t}get paused(){return this._paused}pause(){this._paused||(this._paused=!0)}restart(){this._paused=!1}_raiseOnAnimationEnd(){this.onAnimationEnd&&this.onAnimationEnd(),this.onAnimationEndObservable.notifyObservers(this)}stop(t,e,i=!1,n=!1){if(t||e){let a=this._scene._activeAnimatables.indexOf(this);if(a>-1){let s=this._runtimeAnimations;for(let i=s.length-1;i>=0;i--){let n=s[i];(!t||n.animation.name==t)&&(!e||e(n.target))&&(n.dispose(),s.splice(i,1))}0==s.length&&(i||this._scene._activeAnimatables.splice(a,1),n||this._raiseOnAnimationEnd())}}else{let t=this._scene._activeAnimatables.indexOf(this);if(t>-1){i||this._scene._activeAnimatables.splice(t,1);let e=this._runtimeAnimations;for(let t=0;t<e.length;t++)e[t].dispose();this._runtimeAnimations.length=0,n||this._raiseOnAnimationEnd()}}}async waitAsync(){return await new Promise(t=>{this.onAnimationEndObservable.add(()=>{t(this)},void 0,void 0,this,!0)})}_animate(t){let e;if(this._paused)return this.animationStarted=!1,null===this._pausedDelay&&(this._pausedDelay=t),!0;if(null===this._localDelayOffset?(this._localDelayOffset=t,this._pausedDelay=null):null!==this._pausedDelay&&(this._localDelayOffset+=t-this._pausedDelay,this._pausedDelay=null),null!==this._manualJumpDelay&&(this._localDelayOffset+=this.speedRatio<0?-this._manualJumpDelay:this._manualJumpDelay,this._manualJumpDelay=null,this._frameToSyncFromJump=null),this._goToFrame=null,!o.ProcessPausedAnimatables&&0===this._weight&&0===this._previousWeight)return!0;this._previousWeight=this._weight;let i=!1,n=this._runtimeAnimations;for(e=0;e<n.length;e++){let a=n[e].animate(t-this._localDelayOffset,this.fromFrame,this.toFrame,this.loopAnimation,this._speedRatio,this._weight);i=i||a}if(this.animationStarted=i,!i){if(this.disposeOnEnd)for(e=this._scene._activeAnimatables.indexOf(this),this._scene._activeAnimatables.splice(e,1),e=0;e<n.length;e++)n[e].dispose();this._raiseOnAnimationEnd(),this.disposeOnEnd&&(this.onAnimationEnd=null,this.onAnimationLoop=null,this.onAnimationLoopObservable.clear(),this.onAnimationEndObservable.clear())}return i}}o.ProcessPausedAnimatables=!1;var r=t.i(91682),l=t.i(19990);let h=!1;var m=t.i(70855),_=t.i(12328),g=t.i(87278);class u{getClassName(){return"TargetedAnimation"}constructor(t){this.parent=t,this.uniqueId=g.UniqueIdGenerator.UniqueId}serialize(){let t={};return t.animation=this.animation.serialize(),t.targetId=this.target.id,t.targetUniqueId=this.target.uniqueId,t}}class d{get mask(){return this._mask}set mask(t){this._mask!==t&&(this._mask=t,this.syncWithMask(!0))}syncWithMask(t=!1){if(!this.mask&&!t){this._numActiveAnimatables=this._targetedAnimations.length;return}this._numActiveAnimatables=0;for(let t=0;t<this._animatables.length;++t){let e=this._animatables[t];!this.mask||this.mask.disabled||this.mask.retainsTarget(e.target.name)?(this._numActiveAnimatables++,e.paused&&e.restart()):e.paused||e.pause()}}removeUnmaskedAnimations(){if(this.mask&&!this.mask.disabled){for(let t=0;t<this._animatables.length;++t){let e=this._animatables[t];!this.mask.retainsTarget(e.target.name)&&(e.stop(),this._animatables.splice(t,1),--t)}for(let t=0;t<this._targetedAnimations.length;t++){let e=this._targetedAnimations[t];!this.mask.retainsTarget(e.target.name)&&(this._targetedAnimations.splice(t,1),--t)}}}get from(){return this._from}set from(t){if(this._from!==t){this._from=t;for(let t=0;t<this._animatables.length;t++)this._animatables[t].fromFrame=this._from}}get to(){return this._to}set to(t){if(this._to!==t){this._to=t;for(let t=0;t<this._animatables.length;t++)this._animatables[t].toFrame=this._to}}get isStarted(){return this._isStarted}get isPlaying(){return this._isStarted&&!this._isPaused}get speedRatio(){return this._speedRatio}set speedRatio(t){if(this._speedRatio!==t){this._speedRatio=t;for(let t=0;t<this._animatables.length;t++)this._animatables[t].speedRatio=this._speedRatio}}get loopAnimation(){return this._loopAnimation}set loopAnimation(t){if(this._loopAnimation!==t){this._loopAnimation=t;for(let t=0;t<this._animatables.length;t++)this._animatables[t].loopAnimation=this._loopAnimation}}get isAdditive(){return this._isAdditive}set isAdditive(t){if(this._isAdditive!==t){this._isAdditive=t;for(let t=0;t<this._animatables.length;t++)this._animatables[t].isAdditive=this._isAdditive}}get weight(){return this._weight}set weight(t){this._weight!==t&&(this._weight=t,this.setWeightForAllAnimatables(this._weight))}get targetedAnimations(){return this._targetedAnimations}get animatables(){return this._animatables}get children(){return this._targetedAnimations}get playOrder(){return this._playOrder}set playOrder(t){if(this._playOrder!==t&&(this._playOrder=t,this._animatables.length>0)){for(let t=0;t<this._animatables.length;t++)this._animatables[t].playOrder=this._playOrder;this._scene.sortActiveAnimatables()}}get enableBlending(){return this._enableBlending}set enableBlending(t){if(this._enableBlending!==t&&(this._enableBlending=t,null!==t))for(let e=0;e<this._targetedAnimations.length;++e)this._targetedAnimations[e].animation.enableBlending=t}get blendingSpeed(){return this._blendingSpeed}set blendingSpeed(t){if(this._blendingSpeed!==t&&(this._blendingSpeed=t,null!==t))for(let e=0;e<this._targetedAnimations.length;++e)this._targetedAnimations[e].animation.blendingSpeed=t}getLength(t,e){t=t??this._from,e=e??this._to;let i=this.targetedAnimations[0].animation.framePerSecond*this._speedRatio;return(e-t)/i}getScene(){return this._scene}constructor(t,a=null,_=-1,g=0){this.name=t,this._targetedAnimations=[],this._animatables=[],this._from=Number.MAX_VALUE,this._to=-Number.MAX_VALUE,this._speedRatio=1,this._loopAnimation=!1,this._isAdditive=!1,this._weight=-1,this._playOrder=0,this._enableBlending=null,this._blendingSpeed=null,this._numActiveAnimatables=0,this._shouldStart=!0,this._parentContainer=null,this.onAnimationEndObservable=new e.Observable,this.onAnimationLoopObservable=new e.Observable,this.onAnimationGroupLoopObservable=new e.Observable,this.onAnimationGroupEndObservable=new e.Observable,this.onAnimationGroupPauseObservable=new e.Observable,this.onAnimationGroupPlayObservable=new e.Observable,this.metadata=null,this._mask=null,this._animationLoopFlags=[],this._scene=a||m.EngineStore.LastCreatedScene,this._weight=_,this._playOrder=g,this.uniqueId=this._scene.getUniqueId(),function(){if(!h){var t,e;h=!0,t=l.Scene,(e=r.Bone)&&(e.prototype.copyAnimationRange=function(t,e,i,a=!1,s=null){let o,r,l;0===this.animations.length&&(this.animations.push(new n.Animation(this.name,"_matrix",t.animations[0].framePerSecond,n.Animation.ANIMATIONTYPE_MATRIX,0)),this.animations[0].setKeys([]));let h=t.animations[0].getRange(e);if(!h)return!1;let m=h.from,_=h.to,g=t.animations[0].getKeys(),u=t.length,d=t.getParent(),p=this.getParent(),A=a&&d&&u&&this.length&&u!==this.length,c=A&&p&&d?p.length/d.length:1,f=a&&!p&&s&&(1!==s.x||1!==s.y||1!==s.z),b=this.animations[0].getKeys();for(let t=0,e=g.length;t<e;t++)(o=g[t]).frame>=m&&o.frame<=_&&(a?(l=o.value.clone(),A?(r=l.getTranslation(),l.setTranslation(r.scaleInPlace(c))):f&&s?(r=l.getTranslation(),l.setTranslation(r.multiplyInPlace(s))):l=o.value):l=o.value,b.push({frame:o.frame+i,value:l}));return this.animations[0].createRange(e,m+i,_+i),!0}),t&&(t.prototype._animate=function(t){if(!this.animationsEnabled)return;let e=s.PrecisionDate.Now;if(!this._animationTimeLast){if(this._pendingData.length>0)return;this._animationTimeLast=e}this.deltaTime=void 0!==t?t:this.useConstantAnimationDeltaTime?16:(e-this._animationTimeLast)*this.animationTimeScale,this._animationTimeLast=e;let a=this._activeAnimatables;if(0===a.length)return;this._animationTime+=this.deltaTime;let o=this._animationTime;for(let t=0;t<a.length;t++){let e=a[t];!e._animate(o)&&e.disposeOnEnd&&t--}!function(t){if(t._registeredForLateAnimationBindings.length){for(let e=0;e<t._registeredForLateAnimationBindings.length;e++){let a=t._registeredForLateAnimationBindings.data[e];for(let t in a._lateAnimationHolders){let e=a._lateAnimationHolders[t],s=e.animations[0],o=e.originalValue;if(null==o)continue;let r=n.Animation.AllowMatrixDecomposeForInterpolation&&o.m,l=a[t];if(r)l=function(t){let e;if(0===t.totalWeight&&0===t.totalAdditiveWeight)return t.originalValue;let n=1,a=i.TmpVectors.Vector3[0],s=i.TmpVectors.Vector3[1],o=i.TmpVectors.Quaternion[0],r=0,l=t.animations[0],h=t.originalValue,m=!1;if(t.totalWeight<1)e=1-t.totalWeight,h.decompose(s,o,a);else{if(r=1,n=t.totalWeight,1==(e=l.weight/n))if(!t.totalAdditiveWeight)return l.currentValue;else m=!0;l.currentValue.decompose(s,o,a)}if(!m){s.scaleInPlace(e),a.scaleInPlace(e),o.scaleInPlace(e);for(let l=r;l<t.animations.length;l++){let r=t.animations[l];if(0===r.weight)continue;e=r.weight/n;let h=i.TmpVectors.Vector3[2],m=i.TmpVectors.Vector3[3],_=i.TmpVectors.Quaternion[1];r.currentValue.decompose(m,_,h),m.scaleAndAddToRef(e,s),_.scaleAndAddToRef(i.Quaternion.Dot(o,_)>0?e:-e,o),h.scaleAndAddToRef(e,a)}o.normalize()}for(let e=0;e<t.additiveAnimations.length;e++){let n=t.additiveAnimations[e];if(0===n.weight)continue;let r=i.TmpVectors.Vector3[2],l=i.TmpVectors.Vector3[3],h=i.TmpVectors.Quaternion[1];n.currentValue.decompose(l,h,r),l.multiplyToRef(s,l),i.Vector3.LerpToRef(s,l,n.weight,s),o.multiplyToRef(h,h),i.Quaternion.SlerpToRef(o,h,n.weight,o),r.scaleAndAddToRef(n.weight,a)}let _=l?l._animationState.workValue:i.TmpVectors.Matrix[0].clone();return i.Matrix.ComposeToRef(s,o,a,_),_}(e);else if(void 0!==o.w)l=function(t,e){if(0===t.totalWeight&&0===t.totalAdditiveWeight)return e;let n=t.animations[0],a=t.originalValue,s=e;if(0===t.totalWeight&&t.totalAdditiveWeight>0)s.copyFrom(a);else if(1===t.animations.length){if(i.Quaternion.SlerpToRef(a,n.currentValue,Math.min(1,t.totalWeight),s),0===t.totalAdditiveWeight)return s}else if(t.animations.length>1){let n,o,r=1;if(t.totalWeight<1){let e=1-t.totalWeight;o=[],(n=[]).push(a),o.push(e)}else{if(2===t.animations.length&&(i.Quaternion.SlerpToRef(t.animations[0].currentValue,t.animations[1].currentValue,t.animations[1].weight/t.totalWeight,e),0===t.totalAdditiveWeight))return e;n=[],o=[],r=t.totalWeight}for(let e=0;e<t.animations.length;e++){let i=t.animations[e];n.push(i.currentValue),o.push(i.weight/r)}let l=0;for(let t=0;t<n.length;){if(!t){i.Quaternion.SlerpToRef(n[t],n[t+1],o[t+1]/(o[t]+o[t+1]),e),s=e,l=o[t]+o[t+1],t+=2;continue}l+=o[t],i.Quaternion.SlerpToRef(s,n[t],o[t]/l,s),t++}}for(let e=0;e<t.additiveAnimations.length;e++){let n=t.additiveAnimations[e];0!==n.weight&&(s.multiplyToRef(n.currentValue,i.TmpVectors.Quaternion[0]),i.Quaternion.SlerpToRef(s,i.TmpVectors.Quaternion[0],n.weight,s))}return s}(e,l||i.Quaternion.Identity());else{let t=0,i=1,a=s&&s._animationState.loopMode===n.Animation.ANIMATIONLOOPMODE_RELATIVE_FROM_CURRENT;if(e.totalWeight<1)l=a?o.clone?o.clone():o:s&&o.scale?o.scale(1-e.totalWeight):s?o*(1-e.totalWeight):o.clone?o.clone():o;else if(s){i=e.totalWeight;let n=s.weight/i;l=1!==n?s.currentValue.scale?s.currentValue.scale(n):s.currentValue*n:s.currentValue,a&&(l.addToRef?l.addToRef(o,l):l+=o),t=1}for(let n=t;n<e.animations.length;n++){let t=e.animations[n],a=t.weight/i;a&&(t.currentValue.scaleAndAddToRef?t.currentValue.scaleAndAddToRef(a,l):l+=t.currentValue*a)}for(let t=0;t<e.additiveAnimations.length;t++){let i=e.additiveAnimations[t],n=i.weight;n&&(i.currentValue.scaleAndAddToRef?i.currentValue.scaleAndAddToRef(n,l):l+=i.currentValue*n)}}a[t]=l}a._lateAnimationHolders={}}t._registeredForLateAnimationBindings.reset()}}(this)},t.prototype.sortActiveAnimatables=function(){this._activeAnimatables.sort((t,e)=>t.playOrder-e.playOrder)},t.prototype.beginWeightedAnimation=function(t,e,i,n=1,a,s=1,o,r,l,h,m=!1){let _=this.beginAnimation(t,e,i,a,s,o,r,!1,l,h,m);return _.weight=n,_},t.prototype.beginAnimation=function(t,e,i,n,a=1,s,r,l=!0,h,m,_=!1){if(a<0){let t=e;e=i,i=t,a=-a}e>i&&(a=-a),l&&this.stopAnimation(t,void 0,h),r||(r=new o(this,t,e,i,n,a,s,void 0,m,_));let g=!h||h(t);if(t.animations&&g&&r.appendAnimations(t,t.animations),t.getAnimatables){let o=t.getAnimatables();for(let t=0;t<o.length;t++)this.beginAnimation(o[t],e,i,n,a,s,r,l,h,m)}return r.reset(),r},t.prototype.beginHierarchyAnimation=function(t,e,i,n,a,s=1,o,r,l=!0,h,m,_=!1){let g=t.getDescendants(e),u=[];for(let e of(u.push(this.beginAnimation(t,i,n,a,s,o,r,l,h,void 0,_)),g))u.push(this.beginAnimation(e,i,n,a,s,o,r,l,h,void 0,_));return u},t.prototype.beginDirectAnimation=function(t,e,i,n,a,s=1,r,l,h=!1){if(s<0){let t=i;i=n,n=t,s=-s}return i>n&&(s=-s),new o(this,t,i,n,a,s,r,e,l,h)},t.prototype.beginDirectHierarchyAnimation=function(t,e,i,n,a,s,o,r,l,h=!1){let m=t.getDescendants(e),_=[];for(let e of(_.push(this.beginDirectAnimation(t,i,n,a,s,o,r,l,h)),m))_.push(this.beginDirectAnimation(e,i,n,a,s,o,r,l,h));return _},t.prototype.getAnimatableByTarget=function(t){for(let e=0;e<this._activeAnimatables.length;e++)if(this._activeAnimatables[e].target===t)return this._activeAnimatables[e];return null},t.prototype.getAllAnimatablesByTarget=function(t){let e=[];for(let i=0;i<this._activeAnimatables.length;i++)this._activeAnimatables[i].target===t&&e.push(this._activeAnimatables[i]);return e},t.prototype.stopAnimation=function(t,e,i){for(let n of this.getAllAnimatablesByTarget(t))n.stop(e,i)},t.prototype.stopAllAnimations=function(){if(this._activeAnimatables){for(let t=0;t<this._activeAnimatables.length;t++)this._activeAnimatables[t].stop(void 0,void 0,!0);this._activeAnimatables.length=0}for(let t of this.animationGroups)t.stop()})}}(),this._scene.addAnimationGroup(this)}addTargetedAnimation(t,e){let i=new u(this);i.animation=t,i.target=e;let n=t.getKeys();return this._from>n[0].frame&&(this._from=n[0].frame),this._to<n[n.length-1].frame&&(this._to=n[n.length-1].frame),null!==this._enableBlending&&(t.enableBlending=this._enableBlending),null!==this._blendingSpeed&&(t.blendingSpeed=this._blendingSpeed),this._targetedAnimations.push(i),this._shouldStart=!0,i}removeTargetedAnimation(t){for(let e=this._targetedAnimations.length-1;e>-1;e--)this._targetedAnimations[e].animation===t&&this._targetedAnimations.splice(e,1)}normalize(t=null,e=null){null==t&&(t=this._from),null==e&&(e=this._to);for(let i=0;i<this._targetedAnimations.length;i++){let n=this._targetedAnimations[i].animation.getKeys(),a=n[0],s=n[n.length-1];if(a.frame>t){let e={frame:t,value:a.value,inTangent:a.inTangent,outTangent:a.outTangent,interpolation:a.interpolation};n.splice(0,0,e)}if(s.frame<e){let t={frame:e,value:s.value,inTangent:s.inTangent,outTangent:s.outTangent,interpolation:s.interpolation};n.push(t)}}return this._from=t,this._to=e,this}_processLoop(t,e,i){t.onAnimationLoop=()=>{this.onAnimationLoopObservable.notifyObservers(e),this._animationLoopFlags[i]||(this._animationLoopFlags[i]=!0,this._animationLoopCount++,this._animationLoopCount===this._numActiveAnimatables&&(this.onAnimationGroupLoopObservable.notifyObservers(this),this._animationLoopCount=0,this._animationLoopFlags.length=0))}}start(t=!1,e=1,i,n,a){if(this._isStarted||0===this._targetedAnimations.length)return this;this._loopAnimation=t,this._shouldStart=!1,this._animationLoopCount=0,this._animationLoopFlags.length=0;for(let s=0;s<this._targetedAnimations.length;s++){let o=this._targetedAnimations[s],r=this._scene.beginDirectAnimation(o.target,[o.animation],void 0!==i?i:this._from,void 0!==n?n:this._to,t,e,void 0,void 0,void 0!==a?a:this._isAdditive);r.weight=this._weight,r.playOrder=this._playOrder,r.onAnimationEnd=()=>{this.onAnimationEndObservable.notifyObservers(o),this._checkAnimationGroupEnded(r)},this._processLoop(r,o,s),this._animatables.push(r)}return this.syncWithMask(),this._scene.sortActiveAnimatables(),this._speedRatio=e,this._isStarted=!0,this._isPaused=!1,this.onAnimationGroupPlayObservable.notifyObservers(this),this}pause(){if(!this._isStarted)return this;this._isPaused=!0;for(let t=0;t<this._animatables.length;t++)this._animatables[t].pause();return this.onAnimationGroupPauseObservable.notifyObservers(this),this}play(t){return this.isStarted&&this._animatables.length&&!this._shouldStart?(void 0!==t&&(this.loopAnimation=t),this.restart()):(this.stop(),this.start(t,this._speedRatio)),this}reset(){if(!this._isStarted)return this.play(),this.goToFrame(0),this.stop(!0),this;for(let t=0;t<this._animatables.length;t++)this._animatables[t].reset();return this}restart(){if(!this._isStarted)return this;for(let t=0;t<this._animatables.length;t++)this._animatables[t].restart();return this.syncWithMask(),this._isPaused=!1,this.onAnimationGroupPlayObservable.notifyObservers(this),this}stop(t=!1){if(!this._isStarted)return this;let e=this._animatables.slice();for(let i=0;i<e.length;i++)e[i].stop(void 0,void 0,!0,t);let i=0;for(let e=0;e<this._scene._activeAnimatables.length;e++){let n=this._scene._activeAnimatables[e];n._runtimeAnimations.length>0?this._scene._activeAnimatables[i++]=n:t&&this._checkAnimationGroupEnded(n,t)}return this._scene._activeAnimatables.length=i,this._isStarted=!1,this}setWeightForAllAnimatables(t){for(let e=0;e<this._animatables.length;e++)this._animatables[e].weight=t;return this}syncAllAnimationsWith(t){for(let e=0;e<this._animatables.length;e++)this._animatables[e].syncWith(t);return this}goToFrame(t,e=!1){if(!this._isStarted)return this;for(let i=0;i<this._animatables.length;i++)this._animatables[i].goToFrame(t,e);return this}getCurrentFrame(){return this.animatables[0]?.masterFrame||0}dispose(){if(this.isStarted&&this.stop(),this._targetedAnimations.length=0,this._animatables.length=0,this._scene.removeAnimationGroup(this),this._parentContainer){let t=this._parentContainer.animationGroups.indexOf(this);t>-1&&this._parentContainer.animationGroups.splice(t,1),this._parentContainer=null}this.onAnimationEndObservable.clear(),this.onAnimationGroupEndObservable.clear(),this.onAnimationGroupPauseObservable.clear(),this.onAnimationGroupPlayObservable.clear(),this.onAnimationLoopObservable.clear(),this.onAnimationGroupLoopObservable.clear()}_checkAnimationGroupEnded(t,e=!1){let i=this._animatables.indexOf(t);i>-1&&this._animatables.splice(i,1),this._animatables.length===this._targetedAnimations.length-this._numActiveAnimatables&&(this._isStarted=!1,e||this.onAnimationGroupEndObservable.notifyObservers(this),this._animatables.length=0)}clone(t,e,i=!1,n=!1){let a=new d(t||this.name,this._scene,this._weight,this._playOrder);for(let t of(a._from=this.from,a._to=this.to,a._speedRatio=this.speedRatio,a._loopAnimation=this.loopAnimation,a._isAdditive=this.isAdditive,a._enableBlending=this.enableBlending,a._blendingSpeed=this.blendingSpeed,a.metadata=this.metadata,a.mask=this.mask,this._targetedAnimations))a.addTargetedAnimation(i?t.animation.clone(n):t.animation,e?e(t.target):t.target);return a}serialize(){let t={};t.name=this.name,t.from=this.from,t.to=this.to,t.speedRatio=this.speedRatio,t.loopAnimation=this.loopAnimation,t.isAdditive=this.isAdditive,t.weight=this.weight,t.playOrder=this.playOrder,t.enableBlending=this.enableBlending,t.blendingSpeed=this.blendingSpeed,t.targetedAnimations=[];for(let e=0;e<this.targetedAnimations.length;e++){let i=this.targetedAnimations[e];t.targetedAnimations[e]=i.serialize()}return _.Tags&&_.Tags.HasTags(this)&&(t.tags=_.Tags.GetTags(this)),this.metadata&&(t.metadata=this.metadata),t}getClassName(){return"AnimationGroup"}toString(t){let e="Name: "+this.name;return e+=", type: "+this.getClassName(),t&&(e+=", from: "+this._from+", to: "+this._to+", isStarted: "+this._isStarted+", speedRatio: "+this._speedRatio+", targetedAnimations length: "+this._targetedAnimations.length+", animatables length: "+this._animatables.length),e}}function p(t,e=!0,i=!1,n){if(0===t.length)return null;n=n??t[0].weight;let a=Number.MAX_VALUE,s=-Number.MAX_VALUE;if(i)for(let e of t)e.from<a&&(a=e.from),e.to>s&&(s=e.to);let o=new d(t[0].name+"_merged",t[0].getScene(),n);for(let n of t){for(let t of(i&&n.normalize(a,s),n.targetedAnimations))o.addTargetedAnimation(t.animation,t.target);e&&n.dispose()}return o}function A(t,e,i){let a=new d(t.name,e,t.weight,t.playOrder);for(let s=0;s<t.targetedAnimations.length;s++){let o=t.targetedAnimations[s],r=(0,n.AnimationParse)(o.animation),l=i?i(o):"influence"===o.animation.property?e.getMorphTargetById(o.targetId):e.getNodeById(o.targetId);l&&a.addTargetedAnimation(r,l)}return _.Tags&&_.Tags.AddTagsTo(a,t.tags),null!==t.from&&null!==t.to&&a.normalize(t.from,t.to),void 0!==t.speedRatio&&(a._speedRatio=t.speedRatio),void 0!==t.loopAnimation&&(a._loopAnimation=t.loopAnimation),void 0!==t.isAdditive&&(a._isAdditive=t.isAdditive),void 0!==t.weight&&(a._weight=t.weight),void 0!==t.playOrder&&(a._playOrder=t.playOrder),void 0!==t.enableBlending&&(a._enableBlending=t.enableBlending),void 0!==t.blendingSpeed&&(a._blendingSpeed=t.blendingSpeed),void 0!==t.metadata&&(a.metadata=t.metadata),a}function c(t,e,i,a=!1,s){let o,r=t;(o="object"==typeof e?e:{referenceFrame:e,range:i,cloneOriginalAnimationGroup:a,clonedAnimationName:s}).cloneOriginalAnimationGroup&&(r=t.clone(o.clonedAnimationGroupName||r.name));let l=r.targetedAnimations;for(let t=0;t<l.length;t++){let e=l[t];e.animation=(0,n.AnimationMakeAnimationAdditive)(e.animation,o)}if(r.isAdditive=!0,o.clipKeys){let t=Number.MAX_VALUE,e=-Number.MAX_VALUE,i=r.targetedAnimations;for(let n=0;n<i.length;n++){let a=i[n].animation.getKeys();t>a[0].frame&&(t=a[0].frame),e<a[a.length-1].frame&&(e=a[a.length-1].frame)}let n=r;n._from=t,n._to=e}return r}function f(t,e,i,n,a){return b(t.clone(n||t.name),e,i,a)}function b(t,e,i,n){return y(t,e,i,n,!1)}function v(t,e,i,n,a){return T(t.clone(n||t.name),e,i,a)}function T(t,e,i,n){return y(t,e,i,n,!0)}function y(t,e,i,n,a=!1){let s=Number.MAX_VALUE,o=-Number.MAX_VALUE,r=t.targetedAnimations;for(let t=0;t<r.length;t++){let l=r[t],h=n?l.animation:l.animation.clone();a&&(h.createKeyForFrame(e),h.createKeyForFrame(i));let m=h.getKeys(),_=[],g=Number.MAX_VALUE;for(let t=0;t<m.length;t++){let n=m[t];if(!a&&t>=e&&t<=i||a&&n.frame>=e&&n.frame<=i){let t={frame:n.frame,value:n.value.clone?n.value.clone():n.value,inTangent:n.inTangent,outTangent:n.outTangent,interpolation:n.interpolation,lockedTangent:n.lockedTangent};g===Number.MAX_VALUE&&(g=t.frame),t.frame-=g,_.push(t)}}if(0===_.length){r.splice(t,1),t--;continue}s>_[0].frame&&(s=_[0].frame),o<_[_.length-1].frame&&(o=_[_.length-1].frame),h.setKeys(_,!0),l.animation=h}return t._from=s,t._to=o,t}let O=!1;t.s(["AnimationGroup",0,d,"AnimationGroupClipFrames",0,v,"AnimationGroupClipFramesInPlace",0,T,"AnimationGroupClipInPlace",0,y,"AnimationGroupClipKeys",0,f,"AnimationGroupClipKeysInPlace",0,b,"AnimationGroupMakeAnimationAdditive",0,c,"AnimationGroupMergeAnimationGroups",0,p,"AnimationGroupParse",0,A,"RegisterAnimationGroup",0,function(){O||(O=!0,d.MergeAnimationGroups=p,d.Parse=A,d.MakeAnimationAdditive=c,d.ClipKeys=f,d.ClipKeysInPlace=b,d.ClipFrames=v,d.ClipFramesInPlace=T,d.ClipInPlace=y)},"TargetedAnimation",0,u],32602)},4623,t=>{"use strict";t.s([])},12305,t=>{"use strict";t.i(4623),(0,t.i(32602).RegisterAnimationGroup)(),t.s([])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,20614,e=>{"use strict";var t,r,s,a,o,i,n=e.i(80434);class c{constructor(e,t){if(this.data=e,this.isInvalid=!1,!c.IsValid(e)){this.isInvalid=!0,n.Logger.Error("texture missing KTX identifier");return}const r=Uint32Array.BYTES_PER_ELEMENT,s=new DataView(this.data.buffer,this.data.byteOffset+12,13*r),a=0x4030201===s.getUint32(0,!0);if(this.glType=s.getUint32(+r,a),this.glTypeSize=s.getUint32(2*r,a),this.glFormat=s.getUint32(3*r,a),this.glInternalFormat=s.getUint32(4*r,a),this.glBaseInternalFormat=s.getUint32(5*r,a),this.pixelWidth=s.getUint32(6*r,a),this.pixelHeight=s.getUint32(7*r,a),this.pixelDepth=s.getUint32(8*r,a),this.numberOfArrayElements=s.getUint32(9*r,a),this.numberOfFaces=s.getUint32(10*r,a),this.numberOfMipmapLevels=s.getUint32(11*r,a),this.bytesOfKeyValueData=s.getUint32(12*r,a),0!==this.glType){n.Logger.Error("only compressed formats currently supported"),this.isInvalid=!0;return}if(this.numberOfMipmapLevels=Math.max(1,this.numberOfMipmapLevels),0===this.pixelHeight||0!==this.pixelDepth){n.Logger.Error("only 2D textures currently supported"),this.isInvalid=!0;return}if(0!==this.numberOfArrayElements){n.Logger.Error("texture arrays not currently supported"),this.isInvalid=!0;return}if(this.numberOfFaces!==t){n.Logger.Error("number of faces expected"+t+", but found "+this.numberOfFaces),this.isInvalid=!0;return}this.loadType=c.COMPRESSED_2D}uploadLevels(e,t){switch(this.loadType){case c.COMPRESSED_2D:this._upload2DCompressedLevels(e,t);case c.TEX_2D:case c.COMPRESSED_3D:case c.TEX_3D:}}_upload2DCompressedLevels(e,t){let r=c.HEADER_LEN+this.bytesOfKeyValueData,s=this.pixelWidth,a=this.pixelHeight,o=t?this.numberOfMipmapLevels:1;for(let t=0;t<o;t++){let o=new Int32Array(this.data.buffer,this.data.byteOffset+r,1)[0];r+=4;for(let i=0;i<this.numberOfFaces;i++){let n=new Uint8Array(this.data.buffer,this.data.byteOffset+r,o);e.getEngine()._uploadCompressedDataToTextureDirectly(e,e.format,s,a,n,i,t),r+=o,r+=3-(o+3)%4}s=Math.max(1,.5*s),a=Math.max(1,.5*a)}}static IsValid(e){if(e.byteLength>=12){let t=new Uint8Array(e.buffer,e.byteOffset,12);if(171===t[0]&&75===t[1]&&84===t[2]&&88===t[3]&&32===t[4]&&49===t[5]&&49===t[6]&&187===t[7]&&13===t[8]&&10===t[9]&&26===t[10]&&10===t[11])return!0}return!1}}c.HEADER_LEN=64,c.COMPRESSED_2D=0,c.COMPRESSED_3D=1,c.TEX_2D=2,c.TEX_3D=3;var d=e.i(40553),T=e.i(13856);function l(e,t){let r=t?.jsDecoderModule||KTX2DECODER;e&&(e.wasmBaseUrl&&(r.Transcoder.WasmBaseUrl=e.wasmBaseUrl),e.wasmUASTCToASTC&&(r.LiteTranscoder_UASTC_ASTC.WasmModuleURL=e.wasmUASTCToASTC),e.wasmUASTCToBC7&&(r.LiteTranscoder_UASTC_BC7.WasmModuleURL=e.wasmUASTCToBC7),e.wasmUASTCToRGBA_UNORM&&(r.LiteTranscoder_UASTC_RGBA_UNORM.WasmModuleURL=e.wasmUASTCToRGBA_UNORM),e.wasmUASTCToRGBA_SRGB&&(r.LiteTranscoder_UASTC_RGBA_SRGB.WasmModuleURL=e.wasmUASTCToRGBA_SRGB),e.wasmUASTCToR8_UNORM&&(r.LiteTranscoder_UASTC_R8_UNORM.WasmModuleURL=e.wasmUASTCToR8_UNORM),e.wasmUASTCToRG8_UNORM&&(r.LiteTranscoder_UASTC_RG8_UNORM.WasmModuleURL=e.wasmUASTCToRG8_UNORM),e.jsMSCTranscoder&&(r.MSCTranscoder.JSModuleURL=e.jsMSCTranscoder),e.wasmMSCTranscoder&&(r.MSCTranscoder.WasmModuleURL=e.wasmMSCTranscoder),e.wasmZSTDDecoder&&(r.ZSTDDecoder.WasmModuleURL=e.wasmZSTDDecoder)),t&&(t.wasmUASTCToASTC&&(r.LiteTranscoder_UASTC_ASTC.WasmBinary=t.wasmUASTCToASTC),t.wasmUASTCToBC7&&(r.LiteTranscoder_UASTC_BC7.WasmBinary=t.wasmUASTCToBC7),t.wasmUASTCToRGBA_UNORM&&(r.LiteTranscoder_UASTC_RGBA_UNORM.WasmBinary=t.wasmUASTCToRGBA_UNORM),t.wasmUASTCToRGBA_SRGB&&(r.LiteTranscoder_UASTC_RGBA_SRGB.WasmBinary=t.wasmUASTCToRGBA_SRGB),t.wasmUASTCToR8_UNORM&&(r.LiteTranscoder_UASTC_R8_UNORM.WasmBinary=t.wasmUASTCToR8_UNORM),t.wasmUASTCToRG8_UNORM&&(r.LiteTranscoder_UASTC_RG8_UNORM.WasmBinary=t.wasmUASTCToRG8_UNORM),t.jsMSCTranscoder&&(r.MSCTranscoder.JSModule=t.jsMSCTranscoder),t.wasmMSCTranscoder&&(r.MSCTranscoder.WasmBinary=t.wasmMSCTranscoder),t.wasmZSTDDecoder&&(r.ZSTDDecoder.WasmBinary=t.wasmZSTDDecoder))}function _(e){let t;void 0===e&&"u">typeof KTX2DECODER&&(e=KTX2DECODER),onmessage=r=>{if(r.data)switch(r.data.action){case"init":{let s=r.data.urls;s&&(s.jsDecoderModule&&void 0===e&&(importScripts(s.jsDecoderModule),e=KTX2DECODER),l(s)),r.data.wasmBinaries&&l(void 0,{...r.data.wasmBinaries,jsDecoderModule:e}),t=new e.KTX2Decoder,postMessage({action:"init"});break}case"setDefaultDecoderOptions":e.KTX2Decoder.DefaultDecoderOptions=r.data.options;break;case"decode":t.decode(r.data.data,r.data.caps,r.data.options).then(e=>{let t=[];for(let r=0;r<e.mipmaps.length;++r){let s=e.mipmaps[r];s&&s.data&&t.push(s.data.buffer)}postMessage({action:"decoded",success:!0,decodedData:e},t)}).catch(e=>{postMessage({action:"decoded",success:!1,msg:e})})}}}async function R(e,t,r){return await new Promise((s,a)=>{let o=t=>{e.removeEventListener("error",o),e.removeEventListener("message",i),a(t)},i=t=>{"init"===t.data.action&&(e.removeEventListener("error",o),e.removeEventListener("message",i),s(e))};e.addEventListener("error",o),e.addEventListener("message",i),e.postMessage({action:"init",urls:r,wasmBinaries:t})})}(t=a||(a={}))[t.ETC1S=0]="ETC1S",t[t.UASTC4x4=1]="UASTC4x4",(r=o||(o={}))[r.ASTC_4X4_RGBA=0]="ASTC_4X4_RGBA",r[r.ASTC_4x4_RGBA=0]="ASTC_4x4_RGBA",r[r.BC7_RGBA=1]="BC7_RGBA",r[r.BC3_RGBA=2]="BC3_RGBA",r[r.BC1_RGB=3]="BC1_RGB",r[r.PVRTC1_4_RGBA=4]="PVRTC1_4_RGBA",r[r.PVRTC1_4_RGB=5]="PVRTC1_4_RGB",r[r.ETC2_RGBA=6]="ETC2_RGBA",r[r.ETC1_RGB=7]="ETC1_RGB",r[r.RGBA32=8]="RGBA32",r[r.R8=9]="R8",r[r.RG8=10]="RG8",(s=i||(i={}))[s.COMPRESSED_RGBA_BPTC_UNORM_EXT=36492]="COMPRESSED_RGBA_BPTC_UNORM_EXT",s[s.COMPRESSED_RGBA_ASTC_4X4_KHR=37808]="COMPRESSED_RGBA_ASTC_4X4_KHR",s[s.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",s[s.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",s[s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",s[s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",s[s.COMPRESSED_RGBA8_ETC2_EAC=37496]="COMPRESSED_RGBA8_ETC2_EAC",s[s.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",s[s.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL",s[s.RGBA8Format=32856]="RGBA8Format",s[s.R8Format=33321]="R8Format",s[s.RG8Format=33323]="RG8Format";class C{static GetDefaultNumWorkers(){return"object"==typeof navigator&&navigator.hardwareConcurrency?Math.min(Math.floor(.5*navigator.hardwareConcurrency),4):1}static _Initialize(e){if(C._WorkerPoolPromise||C._DecoderModulePromise)return;let t={wasmBaseUrl:T.Tools.ScriptBaseUrl,jsDecoderModule:T.Tools.GetBabylonScriptURL(this.URLConfig.jsDecoderModule,!0),wasmUASTCToASTC:T.Tools.GetBabylonScriptURL(this.URLConfig.wasmUASTCToASTC,!0),wasmUASTCToBC7:T.Tools.GetBabylonScriptURL(this.URLConfig.wasmUASTCToBC7,!0),wasmUASTCToRGBA_UNORM:T.Tools.GetBabylonScriptURL(this.URLConfig.wasmUASTCToRGBA_UNORM,!0),wasmUASTCToRGBA_SRGB:T.Tools.GetBabylonScriptURL(this.URLConfig.wasmUASTCToRGBA_SRGB,!0),wasmUASTCToR8_UNORM:T.Tools.GetBabylonScriptURL(this.URLConfig.wasmUASTCToR8_UNORM,!0),wasmUASTCToRG8_UNORM:T.Tools.GetBabylonScriptURL(this.URLConfig.wasmUASTCToRG8_UNORM,!0),jsMSCTranscoder:T.Tools.GetBabylonScriptURL(this.URLConfig.jsMSCTranscoder,!0),wasmMSCTranscoder:T.Tools.GetBabylonScriptURL(this.URLConfig.wasmMSCTranscoder,!0),wasmZSTDDecoder:T.Tools.GetBabylonScriptURL(this.URLConfig.wasmZSTDDecoder,!0)};e&&"function"==typeof Worker&&"u">typeof URL?C._WorkerPoolPromise=new Promise(r=>{let s=`${l}(${_})()`,a=URL.createObjectURL(new Blob([s],{type:"application/javascript"}));r(new d.AutoReleaseWorkerPool(e,async()=>await R(new Worker(a),void 0,t)))}):void 0===C._KTX2DecoderModule?C._DecoderModulePromise=T.Tools.LoadBabylonScriptAsync(t.jsDecoderModule).then(()=>(C._KTX2DecoderModule=KTX2DECODER,C._KTX2DecoderModule.MSCTranscoder.UseFromWorkerThread=!1,C._KTX2DecoderModule.WASMMemoryManager.LoadBinariesFromCurrentThread=!0,l(t,C._KTX2DecoderModule),new C._KTX2DecoderModule.KTX2Decoder)):(C._KTX2DecoderModule.MSCTranscoder.UseFromWorkerThread=!1,C._KTX2DecoderModule.WASMMemoryManager.LoadBinariesFromCurrentThread=!0,C._DecoderModulePromise=Promise.resolve(new C._KTX2DecoderModule.KTX2Decoder))}constructor(e,t=C.DefaultNumWorkers){this._engine=e;const r="object"==typeof t&&t.workerPool||C.WorkerPool;if(r)C._WorkerPoolPromise=Promise.resolve(r);else{"object"==typeof t?C._KTX2DecoderModule=t?.binariesAndModulesContainer?.jsDecoderModule:"u">typeof KTX2DECODER&&(C._KTX2DecoderModule=KTX2DECODER);const e="number"==typeof t?t:t.numWorkers??C.DefaultNumWorkers;C._Initialize(e)}}async _uploadAsync(e,t,r){let s=this._engine.getCaps(),a={astc:!!s.astc,bptc:!!s.bptc,s3tc:!!s.s3tc,pvrtc:!!s.pvrtc,etc2:!!s.etc2,etc1:!!s.etc1};if(C._WorkerPoolPromise){let s=await C._WorkerPoolPromise;return await new Promise((o,i)=>{s.push((s,n)=>{let c=e=>{s.removeEventListener("error",c),s.removeEventListener("message",d),i(e),n()},d=e=>{if("decoded"===e.data.action){if(s.removeEventListener("error",c),s.removeEventListener("message",d),e.data.success)try{this._createTexture(e.data.decodedData,t,r),o()}catch(e){i({message:e})}else i({message:e.data.msg});n()}};s.addEventListener("error",c),s.addEventListener("message",d),s.postMessage({action:"setDefaultDecoderOptions",options:C.DefaultDecoderOptions._getKTX2DecoderOptions()});let T=new Uint8Array(e.byteLength);T.set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)),s.postMessage({action:"decode",data:T,caps:a,options:r},[T.buffer])})})}if(C._DecoderModulePromise){let r=await C._DecoderModulePromise;return C.DefaultDecoderOptions.isDirty&&(C._KTX2DecoderModule.KTX2Decoder.DefaultDecoderOptions=C.DefaultDecoderOptions._getKTX2DecoderOptions()),await new Promise((a,o)=>{r.decode(e,s).then(e=>{this._createTexture(e,t),a()}).catch(e=>{o({message:e})})})}throw Error("KTX2 decoder module is not available")}_createTexture(e,t,r){this._engine._bindTextureDirectly(3553,t),r&&(r.transcodedFormat=e.transcodedFormat,r.isInGammaSpace=e.isInGammaSpace,r.hasAlpha=e.hasAlpha,r.transcoderName=e.transcoderName);let s=!0;switch(e.transcodedFormat){case 32856:t.type=0,t.format=5;break;case 33321:t.type=0,t.format=6;break;case 33323:t.type=0,t.format=7;break;default:t.format=e.transcodedFormat,s=!1}if(t._gammaSpace=e.isInGammaSpace,t.generateMipMaps=e.mipmaps.length>1,t.width=e.mipmaps[0].width,t.height=e.mipmaps[0].height,e.errors)throw Error("KTX2 container - could not transcode the data. "+e.errors);for(let r=0;r<e.mipmaps.length;++r){let a=e.mipmaps[r];if(!a||!a.data)throw Error("KTX2 container - could not transcode one of the image");s?(t.width=a.width,t.height=a.height,this._engine._uploadDataToTextureDirectly(t,a.data,0,r,void 0,!0)):this._engine._uploadCompressedDataToTextureDirectly(t,e.transcodedFormat,a.width,a.height,a.data,0,r)}t._extension=".ktx2",t.isReady=!0,this._engine._bindTextureDirectly(3553,null)}static IsValid(e){if(e.byteLength>=12){let t=new Uint8Array(e.buffer,e.byteOffset,12);if(171===t[0]&&75===t[1]&&84===t[2]&&88===t[3]&&32===t[4]&&50===t[5]&&48===t[6]&&187===t[7]&&13===t[8]&&10===t[9]&&26===t[10]&&10===t[11])return!0}return!1}}function u(e){switch(e){case 35916:return 33776;case 35918:return 33778;case 35919:return 33779;case 37493:return 37492;case 37497:return 37496;case 37495:return 37494;case 37840:return 37808;case 37841:return 37809;case 37842:return 37810;case 37843:return 37811;case 37844:return 37812;case 37845:return 37813;case 37846:return 37814;case 37847:return 37815;case 37848:return 37816;case 37849:return 37817;case 37850:return 37818;case 37851:return 37819;case 37852:return 37820;case 37853:return 37821;case 36493:return 36492}return null}C.URLConfig={jsDecoderModule:"https://cdn.babylonjs.com/babylon.ktx2Decoder.js",wasmUASTCToASTC:null,wasmUASTCToBC7:null,wasmUASTCToRGBA_UNORM:null,wasmUASTCToRGBA_SRGB:null,wasmUASTCToR8_UNORM:null,wasmUASTCToRG8_UNORM:null,jsMSCTranscoder:null,wasmMSCTranscoder:null,wasmZSTDDecoder:null},C.DefaultNumWorkers=C.GetDefaultNumWorkers(),C.DefaultDecoderOptions=new class{constructor(){this._isDirty=!0,this._useRGBAIfOnlyBC1BC3AvailableWhenUASTC=!0,this._ktx2DecoderOptions={}}get isDirty(){return this._isDirty}get useRGBAIfASTCBC7NotAvailableWhenUASTC(){return this._useRGBAIfASTCBC7NotAvailableWhenUASTC}set useRGBAIfASTCBC7NotAvailableWhenUASTC(e){this._useRGBAIfASTCBC7NotAvailableWhenUASTC!==e&&(this._useRGBAIfASTCBC7NotAvailableWhenUASTC=e,this._isDirty=!0)}get useRGBAIfOnlyBC1BC3AvailableWhenUASTC(){return this._useRGBAIfOnlyBC1BC3AvailableWhenUASTC}set useRGBAIfOnlyBC1BC3AvailableWhenUASTC(e){this._useRGBAIfOnlyBC1BC3AvailableWhenUASTC!==e&&(this._useRGBAIfOnlyBC1BC3AvailableWhenUASTC=e,this._isDirty=!0)}get forceRGBA(){return this._forceRGBA}set forceRGBA(e){this._forceRGBA!==e&&(this._forceRGBA=e,this._isDirty=!0)}get forceR8(){return this._forceR8}set forceR8(e){this._forceR8!==e&&(this._forceR8=e,this._isDirty=!0)}get forceRG8(){return this._forceRG8}set forceRG8(e){this._forceRG8!==e&&(this._forceRG8=e,this._isDirty=!0)}get bypassTranscoders(){return this._bypassTranscoders}set bypassTranscoders(e){this._bypassTranscoders!==e&&(this._bypassTranscoders=e,this._isDirty=!0)}_getKTX2DecoderOptions(){if(!this._isDirty)return this._ktx2DecoderOptions;this._isDirty=!1;let e={};return void 0!==this._useRGBAIfASTCBC7NotAvailableWhenUASTC&&(e.useRGBAIfASTCBC7NotAvailableWhenUASTC=this._useRGBAIfASTCBC7NotAvailableWhenUASTC),void 0!==this._forceRGBA&&(e.forceRGBA=this._forceRGBA),void 0!==this._forceR8&&(e.forceR8=this._forceR8),void 0!==this._forceRG8&&(e.forceRG8=this._forceRG8),void 0!==this._bypassTranscoders&&(e.bypassTranscoders=this._bypassTranscoders),this.useRGBAIfOnlyBC1BC3AvailableWhenUASTC&&(e.transcodeFormatDecisionTree={UASTC:{transcodeFormat:[o.BC1_RGB,o.BC3_RGBA],yes:{transcodeFormat:o.RGBA32,engineFormat:32856,roundToMultiple4:!1}}}),this._ktx2DecoderOptions=e,e}},e.s(["_KTXTextureLoader",0,class{constructor(){this.supportCascades=!1}loadCubeData(e,t,r,s){if(Array.isArray(e))return;t._invertVScale=!t.invertY;let a=t.getEngine(),o=new c(e,6),i=u(o.glInternalFormat);null!==i?(t.format=i,t._useSRGBBuffer=a._getUseSRGBBuffer(!0,!t.generateMipMaps),t._gammaSpace=!0):t.format=o.glInternalFormat;let n=o.numberOfMipmapLevels>1&&t.generateMipMaps;a._unpackFlipY(!0),o.uploadLevels(t,t.generateMipMaps),t.width=o.pixelWidth,t.height=o.pixelHeight,a._setCubeMapTextureParams(t,n,o.numberOfMipmapLevels-1),t.isReady=!0,t.onLoadedObservable.notifyObservers(t),t.onLoadedObservable.clear(),s&&s()}loadData(e,t,r,s){if(c.IsValid(e)){t._invertVScale=!t.invertY;let s=new c(e,1),a=u(s.glInternalFormat);null!==a?(t.format=a,t._useSRGBBuffer=t.getEngine()._getUseSRGBBuffer(!0,!t.generateMipMaps),t._gammaSpace=!0):t.format=s.glInternalFormat,r(s.pixelWidth,s.pixelHeight,t.generateMipMaps,!0,()=>{s.uploadLevels(t,t.generateMipMaps)},s.isInvalid)}else C.IsValid(e)?new C(t.getEngine())._uploadAsync(e,t,s).then(()=>{r(t.width,t.height,t.generateMipMaps,!0,()=>{},!1)},e=>{n.Logger.Warn(`Failed to load KTX2 texture data: ${e.message}`),r(0,0,!1,!1,()=>{},!0)}):(n.Logger.Error("texture missing KTX identifier"),r(0,0,!1,!1,()=>{},!0))}}],20614)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,2348,2413,e=>{"use strict";let t=1/1.2;e.s(["ZOOM_IN_FACTOR",0,t,"ZOOM_OUT_FACTOR",0,1.2,"attachDoubleClickFocus",0,function(e,t,n){let s=()=>{let t=e.pick(e.pointerX,e.pointerY);t?.hit&&t.pickedPoint&&n.setTarget(t.pickedPoint)};return t.addEventListener("dblclick",s),()=>t.removeEventListener("dblclick",s)},"disableWheelZoom",0,function(e){e.inputs.removeByType("ArcRotateCameraMouseWheelInput")},"resetFocus",0,function(e,t){e.setTarget(t.target),e.alpha=t.alpha,e.beta=t.beta,e.radius=t.radius},"stepZoom",0,function(e,t){let n=e.lowerRadiusLimit??.01,s=e.upperRadiusLimit??1/0;e.radius=Math.min(s,Math.max(n,e.radius*t))}],2348);var n=e.i(46369);e.s(["ZoomButtons",0,function({onZoom:e,onReset:s}){let a="grid h-8 w-8 place-items-center rounded-md border border-edge bg-ink/80 text-lg leading-none text-fg backdrop-blur transition hover:bg-ink hover:text-white";return(0,n.jsxs)("div",{className:"absolute right-3 top-3 flex flex-col gap-1",children:[(0,n.jsx)("button",{type:"button","aria-label":"Zoom in",className:a,onClick:()=>e(t),children:"+"}),(0,n.jsx)("button",{type:"button","aria-label":"Zoom out",className:a,onClick:()=>e(1.2),children:"−"}),s?(0,n.jsx)("button",{type:"button","aria-label":"Reset camera focus to center",title:"Reset focus to center",className:a,onClick:s,children:(0,n.jsxs)("svg",{viewBox:"0 0 16 16",width:"16",height:"16",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round","aria-hidden":"true",children:[(0,n.jsx)("circle",{cx:"8",cy:"8",r:"3"}),(0,n.jsx)("path",{d:"M8 1v2.5M8 12.5V15M1 8h2.5M12.5 8H15"})]})}):null]})}],2413)},87456,e=>{"use strict";e.s(["attachMeshHover",0,function(e,t,n){let s=0,a=null,i=t=>{let i=t.offsetX,l=t.offsetY;s||(s=requestAnimationFrame(()=>{var t,o;let r;s=0;let u=e.pick(i,l,e=>e.isPickable&&e.isEnabled()),c=u?.pickedMesh?(t=u.pickedMesh,o=u.thinInstanceIndex??-1,(r=t.metadata)?o>=0&&r.hoverLabels?r.hoverLabels[o]??null:r.hoverLabel??null:null):null;c?n({label:c,x:i,y:l}):null!==a&&n(null),a=c}))},l=()=>{s&&(cancelAnimationFrame(s),s=0),null!==a&&(a=null,n(null))};return t.addEventListener("pointermove",i),t.addEventListener("pointerleave",l),()=>{t.removeEventListener("pointermove",i),t.removeEventListener("pointerleave",l),s&&cancelAnimationFrame(s)}}])},19399,e=>{"use strict";var t=e.i(46369),n=e.i(19594);let s="__other_sp__",a="__other_mesh__";function i(e){return`${e[0]}|${e[1]}|${e[2]}`}function l(e,t){return t<=1?0:1.4-e/(t-1)*2.8}var o=e.i(56054),r=e.i(2348),u=e.i(87456),c=e.i(18637),h=e.i(2413);let d="__all__",m={maxStandpoints:6,maxMeshes:10,maxRibbons:70};function b(e,t){return`${e}|${t}`}function f(e){let t=e.aabb;return[(t[0]+t[3])/2,(t[1]+t[4])/2,(t[2]+t[5])/2]}function p(e){let t=0;for(let n=0;n<e.length;n++)t=31*t+e.charCodeAt(n)|0;return Math.abs(t)}function g({label:e,value:n,onChange:s,allLabel:a,options:i}){return(0,t.jsxs)("label",{className:"flex items-center gap-1.5 rounded-md border border-edge bg-ink/80 px-2 py-1 text-xs text-fg backdrop-blur",children:[(0,t.jsx)("span",{className:"font-medium text-fg-muted",children:e}),(0,t.jsxs)("select",{className:"max-w-[12rem] bg-transparent text-white outline-none",value:n,onChange:e=>s(e.target.value),children:[(0,t.jsx)("option",{value:d,children:a}),i.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))]})]})}function x({active:e,onClick:n,children:s,disabled:a=!1,title:i}){return(0,t.jsx)("button",{type:"button",onClick:n,disabled:a,title:i,className:`rounded px-2 py-0.5 font-medium transition ${a?"cursor-not-allowed text-fg-muted/40":e?"bg-amber text-ink":"text-fg-muted hover:text-fg"}`,children:s})}function k({standpoints:e,proxyMeshes:s,selectedKey:a,onSelect:i}){let l=(0,n.useRef)(null),o=(0,n.useMemo)(()=>e.filter(e=>e.origin),[e]),r=(0,n.useMemo)(()=>{let e=1/0,t=-1/0,n=1/0,a=-1/0,i=(s,i)=>{e=Math.min(e,s),t=Math.max(t,s),n=Math.min(n,i),a=Math.max(a,i)};for(let e of s)i(e.aabb[0],e.aabb[2]),i(e.aabb[3],e.aabb[5]);for(let e of o)i(e.origin[0],e.origin[2]);return Number.isFinite(e)?(t-e<.001&&(e-=1,t+=1),a-n<.001&&(n-=1,a+=1),{minX:e,maxX:t,minZ:n,maxZ:a}):{minX:-1,maxX:1,minZ:-1,maxZ:1}},[s,o]),u=(0,n.useMemo)(()=>{let e=Math.min(134/(r.maxX-r.minX),94/(r.maxZ-r.minZ));return(t,n)=>[8+(t-r.minX)*e,8+(n-r.minZ)*e]},[r]),c=(0,n.useMemo)(()=>o.reduce((e,t)=>Math.max(e,t.count),1),[o]);return(0,n.useEffect)(()=>{let e=l.current,t=e?.getContext("2d");if(!t)return;let n=window.devicePixelRatio||1;for(let a of(e.width=150*n,e.height=110*n,t.setTransform(n,0,0,n,0,0),t.clearRect(0,0,150,110),t.fillStyle="rgba(8,10,14,0.85)",t.fillRect(0,0,150,110),t.strokeStyle="rgba(120,140,170,0.35)",t.lineWidth=1,s)){let[e,n]=u(a.aabb[0],a.aabb[2]),[s,i]=u(a.aabb[3],a.aabb[5]);t.strokeRect(Math.min(e,s),Math.min(n,i),Math.abs(s-e),Math.abs(i-n))}for(let e of o){let[n,s]=u(e.origin[0],e.origin[2]),i=2+e.count/c*4,l=e.key===a;t.beginPath(),t.arc(n,s,i,0,2*Math.PI),t.fillStyle=l?"rgba(242,115,242,1)":"rgba(242,115,242,0.55)",t.fill(),l&&(t.beginPath(),t.arc(n,s,i+2.5,0,2*Math.PI),t.strokeStyle="rgba(255,255,255,0.9)",t.lineWidth=1.5,t.stroke())}},[s,o,u,c,a]),(0,t.jsxs)("div",{className:"absolute right-3 top-3 rounded-md border border-edge bg-ink/80 p-1 backdrop-blur",children:[(0,t.jsx)("div",{className:"px-1 pb-0.5 text-[10px] font-medium text-fg-muted",children:"Standpoints (top view)"}),(0,t.jsx)("canvas",{ref:l,className:"h-27.5 w-37.5 cursor-pointer rounded",onClick:e=>{let t=l.current;if(!t||0===o.length)return;let n=t.getBoundingClientRect(),s=(e.clientX-n.left)/n.width*150,a=(e.clientY-n.top)/n.height*110,r=null,c=1/0;for(let e of o){let[t,n]=u(e.origin[0],e.origin[2]),i=(t-s)**2+(n-a)**2;i<c&&(c=i,r=e)}r&&c<=196&&i(r.key)}})]})}e.s(["FlowSankey3DView",0,function({links:v,gridSize:w,proxyMeshes:j=[],maxLinks:M=80,api:z,flowQuery:y,hasFirstPerson:_=!1}){let $=(0,n.useRef)(null),I=(0,n.useRef)(null),C=(0,n.useRef)(null),[P,B]=(0,n.useState)("loading"),[R,S]=(0,n.useState)(null),[L,N]=(0,n.useState)(d),[A,E]=(0,n.useState)(d),[O,q]=(0,n.useState)(d),[Z,T]=(0,n.useState)("aggregate"),[F,V]=(0,n.useState)(null),[W,X]=(0,n.useState)("all"),[H,D]=(0,n.useState)(v),U=!!(z&&y),K=(0,n.useMemo)(()=>y?JSON.stringify(y):"",[y]),Y=(0,n.useRef)(!1);(0,n.useEffect)(()=>{!Y.current&&_&&(X("first-person"),Y.current=!0)},[_]),(0,n.useEffect)(()=>{_&&"viewer"===W&&X("first-person")},[_,W]),(0,n.useEffect)(()=>{U||D(v)},[v,U]),(0,n.useEffect)(()=>{if(!z||!y)return;let e=!1,t="all"===W?void 0:W;return z.flowHeatmap({...y,bins:w,limit:400,groupByOrigin:!0,cameraMode:t}).then(t=>{e||D(t)}).catch(()=>{e||D([])}),()=>{e=!0}},[z,K,W,w]);let G=(0,n.useMemo)(()=>{let e=new Map;for(let t of H){if(!t.originVoxel)continue;let n=i(t.originVoxel),s=t.origin,a=e.get(n);a?(a.count+=t.count,s&&(a.ox+=s[0]*t.count,a.oy+=s[1]*t.count,a.oz+=s[2]*t.count,a.wsum+=t.count)):e.set(n,{key:n,voxel:t.originVoxel,count:t.count,ox:s?s[0]*t.count:0,oy:s?s[1]*t.count:0,oz:s?s[2]*t.count:0,wsum:s?t.count:0})}return[...e.values()].map(e=>({key:e.key,voxel:e.voxel,count:e.count,origin:e.wsum>0?[e.ox/e.wsum,e.oy/e.wsum,e.oz/e.wsum]:void 0})).sort((e,t)=>t.count-e.count)},[H]),J=G.length>0,Q=(0,n.useMemo)(()=>O===d?null:G.find(e=>e.key===O)??null,[G,O]),ee=(0,n.useMemo)(()=>(function(e,t,n,o){let r=e.filter(e=>e.originVoxel);if(0===r.length)return{standpoints:[],gazes:[],meshes:[],ribbons:[],maxCount:1};let u=t.slice(0,Math.max(1,o.maxStandpoints)),c=new Set(u.map(e=>e.key)),h=e=>{let t=e.originVoxel?i(e.originVoxel):s;return c.has(t)?t:s},d=new Map;for(let e of r)d.set(e.mesh,(d.get(e.mesh)??0)+e.count);let m=new Set([...d.entries()].sort((e,t)=>t[1]-e[1]).slice(0,Math.max(1,o.maxMeshes)).map(([e])=>e)),b=e=>m.has(e)?e:a,f=new Map;for(let e of r){let t=h(e),n=b(e.mesh),s=`${t}|${e.azimuth_bin}|${e.elevation_bin}|${n}`,a=f.get(s);a?a.count+=e.count:f.set(s,{standpointId:t,gazeId:`${t}|${e.azimuth_bin}|${e.elevation_bin}`,meshId:n,azimuthBin:e.azimuth_bin,elevationBin:e.elevation_bin,count:e.count})}let p=[...f.values()].sort((e,t)=>t.count-e.count),g=p.slice(0,Math.max(1,o.maxRibbons)),x=p.slice(Math.max(1,o.maxRibbons));if(x.length>0){let e=new Map(g.map(e=>[`${e.standpointId}|${e.azimuthBin}|${e.elevationBin}|${a}`,e]));for(let t of x){let n=`${t.standpointId}|${t.azimuthBin}|${t.elevationBin}|${a}`,s=e.get(n);if(s)s.count+=t.count;else{let s={standpointId:t.standpointId,gazeId:t.gazeId,meshId:a,azimuthBin:t.azimuthBin,elevationBin:t.elevationBin,count:t.count};e.set(n,s),g.push(s)}}}let k=new Set(g.map(e=>e.standpointId)),v=new Set(g.map(e=>e.meshId)),w=[...u.filter(e=>k.has(e.key)).map(e=>e.key),...k.has(s)?[s]:[]],j=w.map((e,t)=>{let n=u.find(t=>t.key===e),a=g.filter(t=>t.standpointId===e).reduce((e,t)=>e+t.count,0);return{id:e,kind:"standpoint",pos:[-2.6,l(t,w.length),0],count:a,label:n?`[${n.voxel[0]}, ${n.voxel[1]}, ${n.voxel[2]}]`:"Other standpoints",isOther:e===s}}),M=new Map(j.map(e=>[e.id,e.pos[1]])),z=new Map;for(let e of g)z.set(e.meshId,(z.get(e.meshId)??0)+e.count);let y=[...v].sort((e,t)=>(z.get(t)??0)-(z.get(e)??0));y.sort((e,t)=>(e===a)-(t===a));let _=y.map((e,t)=>({id:e,kind:"mesh",pos:[2.6,l(t,y.length),0],count:z.get(e)??0,label:e===a?"Other meshes":e,isOther:e===a})),$=new Map;for(let e of g){let t=$.get(e.gazeId);t?t.count+=e.count:$.set(e.gazeId,{az:e.azimuthBin,el:e.elevationBin,sp:e.standpointId,count:e.count})}let I=[...$.entries()].map(([e,t])=>{let s=M.get(t.sp)??0,a=(t.az+.5)/n-.5;return{id:e,kind:"gaze",pos:[0,s+((t.el+.5)/n-.5)*.85,1.6*a],count:t.count,label:`(${t.az}, ${t.el})`,isOther:!1}}),C=g.reduce((e,t)=>Math.max(e,t.count),1);return{standpoints:j,gazes:I,meshes:_,ribbons:g,maxCount:C}})(H,G,w,m),[H,G,w]),et="twostage"===Z&&J;(0,n.useEffect)(()=>{"twostage"!==Z||J||T("aggregate")},[Z,J]);let en=(0,n.useMemo)(()=>{if(O!==d&&J)return H.filter(e=>e.originVoxel&&i(e.originVoxel)===O);if(!J)return H;let e=new Map;for(let t of H){let n=`${t.azimuth_bin}|${t.elevation_bin}|${t.mesh}`,s=e.get(n);s?s.count+=t.count:e.set(n,{azimuth_bin:t.azimuth_bin,elevation_bin:t.elevation_bin,mesh:t.mesh,count:t.count})}return[...e.values()]},[H,O,J]),es=(0,n.useMemo)(()=>[...en].sort((e,t)=>t.count-e.count).slice(0,Math.max(1,M)),[en,M]),ea=(0,n.useMemo)(()=>{let e=new Map;for(let t of es)e.set(t.mesh,(e.get(t.mesh)??0)+t.count);return[...e.entries()].sort((e,t)=>t[1]-e[1])},[es]),ei=(0,n.useMemo)(()=>{let e=new Map;for(let t of es){let n=b(t.azimuth_bin,t.elevation_bin),s=e.get(n);s?s.count+=t.count:e.set(n,{azimuthBin:t.azimuth_bin,elevationBin:t.elevation_bin,count:t.count})}return[...e.values()].sort((e,t)=>t.count-e.count)},[es]);(0,n.useEffect)(()=>{!et&&L!==d&&(ea.some(([e])=>e===L)||N(d))},[et,L,ea]),(0,n.useEffect)(()=>{!et&&A!==d&&(ei.some(e=>b(e.azimuthBin,e.elevationBin)===A)||E(d))},[et,A,ei]),(0,n.useEffect)(()=>{!et&&O!==d&&(G.some(e=>e.key===O)||q(d))},[et,O,G]),(0,n.useEffect)(()=>{N(d),E(d),q(d)},[Z]);let el=(0,n.useMemo)(()=>et?ee.ribbons.filter(e=>{let t=O===d||e.standpointId===O,n=A===d||b(e.azimuthBin,e.elevationBin)===A,s=L===d||e.meshId===L;return t&&n&&s}).length:es.filter(e=>{let t=A===d||b(e.azimuth_bin,e.elevation_bin)===A,n=L===d||e.mesh===L;return t&&n}).length,[et,ee,es,L,A,O]),eo=et?ee.ribbons.length:es.length,er=(0,n.useMemo)(()=>et?ee.standpoints.map(e=>({value:e.id,label:`${e.label} \xb7 ${e.count}`})):G.slice(0,24).map(e=>({value:e.key,label:`[${e.voxel[0]}, ${e.voxel[1]}, ${e.voxel[2]}] \xb7 ${e.count}`})),[et,ee,G]),eu=(0,n.useMemo)(()=>{if(et){let e=new Map;for(let t of ee.ribbons){let n=b(t.azimuthBin,t.elevationBin),s=e.get(n);s?s.count+=t.count:e.set(n,{az:t.azimuthBin,el:t.elevationBin,count:t.count})}return[...e.values()].sort((e,t)=>t.count-e.count).map(e=>({value:b(e.az,e.el),label:`(${e.az}, ${e.el}) \xb7 ${e.count}`}))}return ei.map(e=>({value:b(e.azimuthBin,e.elevationBin),label:`(${e.azimuthBin}, ${e.elevationBin}) \xb7 ${e.count}`}))},[et,ee,ei]),ec=(0,n.useMemo)(()=>et?ee.meshes.map(e=>({value:e.id,label:`${e.label} \xb7 ${e.count}`})):ea.map(([e,t])=>({value:e,label:`${e} \xb7 ${t}`})),[et,ee,ea]),eh=(0,n.useRef)(es);eh.current=es;let ed=(0,n.useRef)(ee);ed.current=ee;let em=(0,n.useRef)(j);em.current=j;let eb=(0,n.useRef)(ea);eb.current=ea;let ef=(0,n.useRef)(L);ef.current=L;let ep=(0,n.useRef)(A);ep.current=A;let eg=(0,n.useRef)(O);eg.current=O;let ex=(0,n.useRef)(Q);ex.current=Q;let ek=(0,n.useRef)(null),ev=et?ee.ribbons.length>0:es.length>0;return(0,n.useEffect)(()=>{let t=$.current;if(!t)return;if(!ev)return void B("empty");let n=!1,s=null;return B("loading"),S(null),(async()=>{try{let a,[{Engine:i},{Scene:l},{ArcRotateCamera:c},{HemisphericLight:h},{Vector3:m,Color3:g,Color4:x},{MeshBuilder:k},{StandardMaterial:v}]=await Promise.all([e.A(95338),e.A(79935),e.A(49958),e.A(7513),e.A(58532),e.A(43302),e.A(61027),e.A(87961)]);if(n)return;let j=new i(t,!0,{preserveDrawingBuffer:!1}),M=new l(j);M.clearColor=new x(.04,.05,.07,1);let z=[],y=()=>{for(let e of z)e.dispose();z=[]};if(et){let e=m.Zero();(a=new c("ts-cam",Math.PI/2,Math.PI/2.4,8.5,e,M)).attachControl(t,!0),(0,r.disableWheelZoom)(a),I.current=a,C.current={target:e,alpha:a.alpha,beta:a.beta,radius:a.radius},new h("ts-light",new m(.3,1,.2),M);let n={standpoint:[.95,.45,.95],gaze:[.45,.75,1],mesh:[1,.82,.42]},s={standpoint:.26,gaze:.13,mesh:.22},i=(e,t,n)=>{let s=e[0],a=e[1],i=e[2],l=t[0],o=t[1],r=t[2],u=[(s+l)/2,(a+o)/2+n,(i+r)/2],c=[];for(let e=0;e<=12;e++){let t=e/12,n=1-t;c.push(new m(n*n*s+2*n*t*u[0]+t*t*l,n*n*a+2*n*t*u[1]+t*t*o,n*n*i+2*n*t*u[2]+t*t*r))}return c},l=()=>{y();let e=ed.current;if(0===e.ribbons.length)return;let t=eg.current,a=ep.current,l=ef.current,r=e=>{let n=t===d||e.standpointId===t,s=a===d||b(e.azimuthBin,e.elevationBin)===a,i=l===d||e.meshId===l;return n&&s&&i},u=t!==d||a!==d||l!==d,c=new Set;for(let t of e.ribbons)r(t)&&(c.add(t.standpointId),c.add(t.gazeId),c.add(t.meshId));let h=[...e.standpoints,...e.gazes,...e.meshes],f=new Map(h.map(e=>[e.id,e.pos])),p=new Map(h.map(e=>[e.id,e.label]));for(let e of h){let t=k.CreateSphere(`ts-node-${e.kind}-${e.id}`,{diameter:s[e.kind],segments:8},M);t.position=new m(e.pos[0],e.pos[1],e.pos[2]);let a=new v(`ts-node-mat-${e.kind}-${e.id}`,M);a.disableLighting=!0;let[i,l,o]=n[e.kind];a.emissiveColor=new g(i,l,o),a.alpha=!u||c.has(e.id)?1:.2,t.material=a,t.isPickable=!0,t.metadata={hoverLabel:e.label},z.push(t,a)}for(let t of e.ribbons){let n=f.get(t.standpointId),s=f.get(t.gazeId),a=f.get(t.meshId);if(!n||!s||!a)continue;let l=t.count/e.maxCount,c=.18+.5*l,h=[...i(n,s,c),...i(s,a,c).slice(1)],d=r(t),[m,b,x]=(0,o.heatRgb)(l),w=k.CreateTube(`ts-link-${t.standpointId}-${t.gazeId}-${t.meshId}`,{path:h,radius:(d?1:.4)*(.012+.04*l),tessellation:8,cap:0,sideOrientation:0},M),j=new v(`ts-link-mat-${t.standpointId}-${t.gazeId}-${t.meshId}`,M);j.disableLighting=!0,j.emissiveColor=new g(m,b,x),j.alpha=d?.35+.65*l:u?.06:.18,w.material=j,w.isPickable=!0,w.metadata={hoverLabel:p.get(t.meshId)??t.meshId},z.push(w,j)}};ek.current=l,l()}else{let e=new Map;for(let t of em.current)e.set(t.name,f(t));let n=new Map,s=eb.current.map(([e])=>e).filter(t=>!e.has(t));for(let e=0;e<s.length;e++){let t=s[e],a=p(t),i=e/Math.max(1,s.length)*Math.PI*2+a%100/100*.35;n.set(t,[2.2*Math.cos(i),-.35+(a%7-3)*.06,2.2*Math.sin(i)])}for(let[t,s]of e.entries())n.set(t,s);let i=0,l=0,u=0,x=0;for(let e of n.values())i+=e[0],l+=e[1],u+=e[2],x++;let j=new m(i/Math.max(1,x),l/Math.max(1,x),u/Math.max(1,x)),_=1.8;for(let e of n.values()){let t=e[0]-j.x,n=e[1]-j.y,s=e[2]-j.z;_=Math.max(_,Math.sqrt(t*t+n*n+s*s))}let $=.75*_+1,P=Math.max(1,_/1.8);(a=new c("flow-cam",Math.PI/4,Math.PI/3,3.4*_,j,M)).attachControl(t,!0),(0,r.disableWheelZoom)(a),I.current=a,C.current={target:j,alpha:a.alpha,beta:a.beta,radius:a.radius},new h("flow-light",new m(.3,1,.2),M);let B=k.CreateSphere("flow-source-dome",{diameter:2*$,segments:20},M);B.position=j;let R=new v("flow-source-dome-mat",M);R.wireframe=!0,R.disableLighting=!0,R.emissiveColor=new g(.16,.2,.28),R.alpha=.35,B.material=R,B.isPickable=!1;let S=()=>{y();let e=eh.current;if(0===e.length)return;let t=ef.current,n=ep.current,s=ex.current,a=new Map;for(let e of em.current)a.set(e.name,f(e));let i=new Map,l=eb.current.map(([e])=>e).filter(e=>!a.has(e));for(let e=0;e<l.length;e++){let t=l[e],n=p(t),s=e/Math.max(1,l.length)*Math.PI*2+n%100/100*.35;i.set(t,[2.2*Math.cos(s),-.35+(n%7-3)*.06,2.2*Math.sin(s)])}for(let[e,t]of a.entries())i.set(e,t);let r=e.reduce((e,t)=>Math.max(e,t.count),1),u=new v("flow-source-node",M);u.disableLighting=!0,u.emissiveColor=new g(.45,.75,1);let c=new v("flow-target-node",M);c.disableLighting=!0,c.emissiveColor=new g(1,.82,.42),z.push(u,c);let h=new Set,x=new Set,_=e=>{let s=n===d||b(e.azimuth_bin,e.elevation_bin)===n,a=t===d||e.mesh===t;return s&&a},I=new Set,C=new Set;for(let t of e)_(t)&&(I.add(b(t.azimuth_bin,t.elevation_bin)),C.add(t.mesh));for(let s of e){let e=`${s.azimuth_bin}|${s.elevation_bin}`,a=i.get(s.mesh);if(!a)continue;let l=_(s),b=(s.azimuth_bin+.5)/w*Math.PI*2-Math.PI,f=(s.elevation_bin+.5)/w*Math.PI-Math.PI/2,p=Math.cos(f),y=p*Math.cos(b),B=Math.sin(f),R=p*Math.sin(b),S=new m(j.x+y*$,j.y+B*$,j.z+R*$),L=new m(a[0],a[1],a[2]);if(!h.has(e)){let s=k.CreateSphere(`flow-src-${e}`,{diameter:.12*P,segments:6},M);s.position=S;let a=u.clone(`flow-src-mat-${e}`);a.alpha=I.has(e)||t===d&&n===d?1:.22,s.material=a,s.isPickable=!1,h.add(e),z.push(s,a)}if(!x.has(s.mesh)){let e=k.CreateSphere(`flow-target-${s.mesh}`,{diameter:.2*P,segments:7},M);e.position=L;let a=c.clone(`flow-target-mat-${s.mesh}`);a.alpha=C.has(s.mesh)||t===d&&n===d?1:.22,e.material=a,e.isPickable=!0,e.metadata={hoverLabel:s.mesh},x.add(s.mesh),z.push(e,a)}let N=S.add(L).scale(.5),A=N.subtract(j),E=Math.sqrt(A.x*A.x+A.y*A.y+A.z*A.z),O=E>1e-6?A.x/E:0,q=E>1e-6?A.y/E:1,Z=E>1e-6?A.z/E:0,T=(.35+s.count/r*.75)*P,F=new m(N.x+O*T,N.y+q*T+.12*P,N.z+Z*T),V=[];for(let e=0;e<=18;e++){let t=e/18,n=1-t;V.push(new m(n*n*S.x+2*n*t*F.x+t*t*L.x,n*n*S.y+2*n*t*F.y+t*t*L.y,n*n*S.z+2*n*t*F.z+t*t*L.z))}let W=s.count/r,[X,H,D]=(0,o.heatRgb)(W),U=k.CreateTube(`flow-link-${s.mesh}-${e}`,{path:V,radius:(l?1:.4)*(.012+.04*W)*P,tessellation:8,cap:0,sideOrientation:0},M),K=new v(`flow-link-mat-${s.mesh}-${e}`,M);K.disableLighting=!0,K.emissiveColor=new g(X,H,D),K.alpha=l?.35+.65*W:.08,U.material=K,U.isPickable=!0,U.metadata={hoverLabel:s.mesh},z.push(U,K)}let B=s?.origin;if(B){let e=new m(B[0],B[1],B[2]),t=k.CreateSphere("flow-standpoint",{diameter:.26*P,segments:10},M);t.position=e;let n=new v("flow-standpoint-mat",M);n.disableLighting=!0,n.emissiveColor=new g(.95,.45,.95),t.material=n,t.isPickable=!1;let s=k.CreateLines("flow-standpoint-stem",{points:[e,new m(e.x,j.y,e.z)]},M);s.color=new g(.95,.45,.95),s.isPickable=!1,z.push(t,n,s)}};ek.current=S,S()}j.runRenderLoop(()=>M.render());let _=()=>j.resize();window.addEventListener("resize",_);let $=(0,u.attachMeshHover)(M,t,V),P=(0,r.attachDoubleClickFocus)(M,t,a);B("ready"),s=()=>{window.removeEventListener("resize",_),$(),P(),V(null),ek.current=null,I.current=null,C.current=null,y(),M.dispose(),j.dispose()}}catch(e){if(n)return;B("error"),S(e instanceof Error?e.message:"Failed to render flow links.")}})(),()=>{n=!0,s?.()}},[et,w,ev]),(0,n.useEffect)(()=>{ek.current?.()},[es,ee,j,L,A,O,Q]),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("canvas",{ref:$,className:"aspect-video w-full rounded-lg border border-edge bg-ink"}),F?(0,t.jsx)("div",{className:"pointer-events-none absolute z-10 max-w-[16rem] truncate rounded border border-edge bg-ink/90 px-1.5 py-0.5 text-xs text-white shadow backdrop-blur",style:{left:F.x+12,top:F.y+12},children:F.label}):null,"ready"===P?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"absolute left-3 top-3 flex flex-wrap gap-2",children:[J?(0,t.jsxs)("div",{className:"flex items-center gap-1 rounded-md border border-edge bg-ink/80 p-0.5 text-xs backdrop-blur",children:[(0,t.jsx)(x,{active:!et,onClick:()=>T("aggregate"),children:"Aggregate"}),(0,t.jsx)(x,{active:et,onClick:()=>T("twostage"),children:"Two-stage"})]}):null,U?(0,t.jsxs)("div",{className:"flex items-center gap-1 rounded-md border border-edge bg-ink/80 p-0.5 text-xs backdrop-blur",children:[(0,t.jsx)(x,{active:"first-person"===W,onClick:()=>X("first-person"),children:"Walk"}),(0,t.jsx)(x,{active:"viewer"===W,onClick:()=>X("viewer"),disabled:_,title:_?"Orbit (viewer) flow isn't available for walkable scenes":void 0,children:"Orbit"}),(0,t.jsx)(x,{active:"all"===W,onClick:()=>X("all"),children:"All"})]}):null,J?(0,t.jsx)(g,{label:"Standpoint",value:O,onChange:q,allLabel:"All standpoints",options:er}):null,(0,t.jsx)(g,{label:et?"Gaze":"Source",value:A,onChange:E,allLabel:et?"All gaze sectors":"All sources",options:eu}),(0,t.jsx)(g,{label:"Mesh",value:L,onChange:N,allLabel:"All meshes",options:ec})]}),et?(0,t.jsx)(k,{standpoints:G,proxyMeshes:j,selectedKey:O,onSelect:e=>q(t=>t===e?d:e)}):null,(0,t.jsxs)("div",{className:"pointer-events-none absolute bottom-3 right-3 flex max-w-[20rem] flex-col items-end gap-2",children:[U&&!_?(0,t.jsxs)("div",{className:"rounded-md border border-edge bg-ink/80 px-2 py-1 text-xs text-fg-muted backdrop-blur",children:["Orbit-dominated scene — viewer ",(0,t.jsx)("em",{children:"position"})," adds little here. Use the"," ",(0,t.jsx)("strong",{children:"View dome"})," (§7.5) above for where viewers looked."]}):null,(0,t.jsxs)("div",{className:"rounded-md border border-edge bg-ink/80 px-2 py-1 text-xs text-fg backdrop-blur",children:["Active links: ",el,"/",eo]})]}),(0,t.jsx)(h.ZoomButtons,{onZoom:e=>I.current&&(0,r.stepZoom)(I.current,e),onReset:()=>I.current&&C.current&&(0,r.resetFocus)(I.current,C.current)}),(0,t.jsx)(c.HeatLegend,{title:"Flow volume",lowLabel:"fewer links",highLabel:"dominant links",note:et?"Three columns: standpoint → gaze sector → mesh. Top standpoints/meshes are kept; the tail folds into an “Other” node. Pick a standpoint (or click the minimap), gaze sector, or mesh to emphasize matching ribbons.":"Each arc aggregates clicks from one camera-direction bin to a mesh. Pick a source or mesh to emphasize matching links and dim the rest."})]}):(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 grid place-items-center text-sm text-fg-muted",children:"loading"===P?"Rendering…":"empty"===P?"No aggregate flow links in range.":"error"===P?R??"Flow view unavailable.":null})]})}],19399)},95338,e=>{e.v(t=>Promise.all(["static/chunks/21at65obnoo8z.js","static/chunks/08m_4cihfmik8.js","static/chunks/2uhrhq35bki6u.js","static/chunks/1di5enkavl9vx.js","static/chunks/1gtj_l5ame5mw.js","static/chunks/0ti58h622yo-_.js","static/chunks/2btabnibkm0db.js"].map(t=>e.l(t))).then(()=>t(62619)))},79935,e=>{e.v(t=>Promise.all(["static/chunks/1dfwa563iciz3.js","static/chunks/00g5suuoa-_wn.js","static/chunks/21at65obnoo8z.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/0ti58h622yo-_.js","static/chunks/0bgcaf2x51kms.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/1di5enkavl9vx.js","static/chunks/0ubxyut5rr600.js"].map(t=>e.l(t))).then(()=>t(90189)))},49958,e=>{e.v(t=>Promise.all(["static/chunks/00g5suuoa-_wn.js","static/chunks/08obqw64faj8j.js","static/chunks/1d1tpj9nm1nhf.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/21at65obnoo8z.js","static/chunks/1xbzxfeq9789f.js","static/chunks/1i4f3n_2_3ery.js","static/chunks/0ti58h622yo-_.js","static/chunks/0ubxyut5rr600.js","static/chunks/1di5enkavl9vx.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/0u8yr4k1y6m2t.js"].map(t=>e.l(t))).then(()=>t(50734)))},7513,e=>{e.v(t=>Promise.all(["static/chunks/3ed24zmt8qfys.js","static/chunks/09ppu_k464q-n.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/1di5enkavl9vx.js","static/chunks/21at65obnoo8z.js"].map(t=>e.l(t))).then(()=>t(67984)))},58532,e=>{e.v(t=>Promise.all(["static/chunks/3c_31f20z4jrl.js","static/chunks/1di5enkavl9vx.js","static/chunks/21at65obnoo8z.js"].map(t=>e.l(t))).then(()=>t(29959)))},43302,e=>{e.v(t=>Promise.all(["static/chunks/3ckp70rgr63u9.js","static/chunks/00g5suuoa-_wn.js","static/chunks/026vw95s88gsy.js","static/chunks/20qelrstvz9_n.js","static/chunks/21at65obnoo8z.js","static/chunks/1_8acnu6_-qe-.js","static/chunks/08obqw64faj8j.js","static/chunks/1d1tpj9nm1nhf.js","static/chunks/0ti58h622yo-_.js","static/chunks/0u8yr4k1y6m2t.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/0bgcaf2x51kms.js","static/chunks/0ubxyut5rr600.js","static/chunks/1di5enkavl9vx.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/3a_khw6q6pyh1.js"].map(t=>e.l(t))).then(()=>t(16874)))},61027,e=>{e.v(t=>Promise.all(["static/chunks/2si5cg3hl5dtf.js","static/chunks/2h5hase6ewoyc.js","static/chunks/00g5suuoa-_wn.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/1bmyq1b0by7ug.js","static/chunks/21at65obnoo8z.js","static/chunks/0ubxyut5rr600.js","static/chunks/0ti58h622yo-_.js","static/chunks/1d1tpj9nm1nhf.js","static/chunks/0bgcaf2x51kms.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/1di5enkavl9vx.js"].map(t=>e.l(t))).then(()=>t(27455)))},87961,e=>{e.v(t=>Promise.all(["static/chunks/00g5suuoa-_wn.js","static/chunks/3ez20hi1mxw0w.js","static/chunks/21at65obnoo8z.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/3qatb38-tk_gd.js","static/chunks/1di5enkavl9vx.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/0bgcaf2x51kms.js","static/chunks/0ubxyut5rr600.js","static/chunks/0ti58h622yo-_.js"].map(t=>e.l(t))).then(()=>t(87531)))}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,2348,2413,e=>{"use strict";let t=1/1.2;e.s(["ZOOM_IN_FACTOR",0,t,"ZOOM_OUT_FACTOR",0,1.2,"attachDoubleClickFocus",0,function(e,t,n){let a=()=>{let t=e.pick(e.pointerX,e.pointerY);t?.hit&&t.pickedPoint&&n.setTarget(t.pickedPoint)};return t.addEventListener("dblclick",a),()=>t.removeEventListener("dblclick",a)},"disableWheelZoom",0,function(e){e.inputs.removeByType("ArcRotateCameraMouseWheelInput")},"resetFocus",0,function(e,t){e.setTarget(t.target),e.alpha=t.alpha,e.beta=t.beta,e.radius=t.radius},"stepZoom",0,function(e,t){let n=e.lowerRadiusLimit??.01,a=e.upperRadiusLimit??1/0;e.radius=Math.min(a,Math.max(n,e.radius*t))}],2348);var n=e.i(46369);e.s(["ZoomButtons",0,function({onZoom:e,onReset:a}){let r="grid h-8 w-8 place-items-center rounded-md border border-edge bg-ink/80 text-lg leading-none text-fg backdrop-blur transition hover:bg-ink hover:text-white";return(0,n.jsxs)("div",{className:"absolute right-3 top-3 flex flex-col gap-1",children:[(0,n.jsx)("button",{type:"button","aria-label":"Zoom in",className:r,onClick:()=>e(t),children:"+"}),(0,n.jsx)("button",{type:"button","aria-label":"Zoom out",className:r,onClick:()=>e(1.2),children:"−"}),a?(0,n.jsx)("button",{type:"button","aria-label":"Reset camera focus to center",title:"Reset focus to center",className:r,onClick:a,children:(0,n.jsxs)("svg",{viewBox:"0 0 16 16",width:"16",height:"16",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round","aria-hidden":"true",children:[(0,n.jsx)("circle",{cx:"8",cy:"8",r:"3"}),(0,n.jsx)("path",{d:"M8 1v2.5M8 12.5V15M1 8h2.5M12.5 8H15"})]})}):null]})}],2413)},87456,e=>{"use strict";e.s(["attachMeshHover",0,function(e,t,n){let a=0,r=null,s=t=>{let s=t.offsetX,i=t.offsetY;a||(a=requestAnimationFrame(()=>{var t,l;let o;a=0;let u=e.pick(s,i,e=>e.isPickable&&e.isEnabled()),c=u?.pickedMesh?(t=u.pickedMesh,l=u.thinInstanceIndex??-1,(o=t.metadata)?l>=0&&o.hoverLabels?o.hoverLabels[l]??null:o.hoverLabel??null:null):null;c?n({label:c,x:s,y:i}):null!==r&&n(null),r=c}))},i=()=>{a&&(cancelAnimationFrame(a),a=0),null!==r&&(r=null,n(null))};return t.addEventListener("pointermove",s),t.addEventListener("pointerleave",i),()=>{t.removeEventListener("pointermove",s),t.removeEventListener("pointerleave",i),a&&cancelAnimationFrame(a)}}])},53993,e=>{"use strict";var t=e.i(46369),n=e.i(19594),a=e.i(56054),r=e.i(2348),s=e.i(87456),i=e.i(18637),l=e.i(2413);function o({shape:e,onChange:n}){let a=e=>`h-8 px-2.5 text-xs font-medium leading-none transition first:rounded-l-md last:rounded-r-md ${e?"bg-ink text-white":"bg-ink/80 text-fg hover:text-white"}`,r="sphere"===e,s="cube"===e;return(0,t.jsxs)("div",{className:"absolute left-3 top-3 flex overflow-hidden rounded-md border border-edge backdrop-blur",role:"group","aria-label":"Voxel marker shape",children:[(0,t.jsx)("button",{type:"button",className:a(r),"aria-pressed":r,onClick:()=>n("sphere"),children:"Spheres"}),(0,t.jsx)("button",{type:"button",className:a(s),"aria-pressed":s,onClick:()=>n("cube"),children:"Cubes"})]})}e.s(["WorldHeatmap3DView",0,function({voxels:u,cellSize:c,proxyMeshes:h=[],legendTitle:d="Pointer-hit density",legendLow:m="few hits",legendHigh:f="most hits",legendNote:p="Each marker is a voxel where the pointer hit your scene. Color & size scale with hits, normalized to the 95th-percentile cell so a few hotspots don't wash out the rest.",emptyLabel:b="No 3D hit-points in range.",totals:g,voxelLabels:x}){let w=(0,n.useRef)(null),v=(0,n.useRef)(null),k=(0,n.useRef)(null),[y,j]=(0,n.useState)("loading"),[M,C]=(0,n.useState)(null),[_,z]=(0,n.useState)("sphere"),[S,R]=(0,n.useState)(null),L=(0,n.useRef)(u),I=(0,n.useRef)(h),A=(0,n.useRef)(x);L.current=u,I.current=h,A.current=x;let P=(0,n.useRef)(null),E=u.length>0||h.length>0;(0,n.useEffect)(()=>{let t=w.current;if(!t)return;if(!E)return void j("empty");let n=!1,i=null;return j("loading"),C(null),(async()=>{try{let[{Engine:l},{Scene:o},{ArcRotateCamera:u},{HemisphericLight:h},{Vector3:d,Color3:m,Color4:f,Matrix:p},{MeshBuilder:b},{StandardMaterial:g}]=await Promise.all([e.A(95338),e.A(79935),e.A(49958),e.A(7513),e.A(58532),e.A(43302),e.A(61027),e.A(34486),e.A(87961)]);if(n)return;let x=L.current,w=I.current,y=0,M=0,C=0,z=0;for(let e of x)y+=(e.vx+.5)*c,M+=(e.vy+.5)*c,C+=(e.vz+.5)*c,z++;if(0===z)for(let e of w)y+=(e.aabb[0]+e.aabb[3])/2,M+=(e.aabb[1]+e.aabb[4])/2,C+=(e.aabb[2]+e.aabb[5])/2,z++;let S=new d(y/z,M/z,C/z),E=4*c;for(let e of x){let t=(e.vx+.5)*c-S.x,n=(e.vy+.5)*c-S.y,a=(e.vz+.5)*c-S.z;E=Math.max(E,Math.sqrt(t*t+n*n+a*a))}for(let e of w){let t=(e.aabb[0]+e.aabb[3])/2-S.x,n=(e.aabb[1]+e.aabb[4])/2-S.y,a=(e.aabb[2]+e.aabb[5])/2-S.z;E=Math.max(E,Math.sqrt(t*t+n*n+a*a))}let $=new l(t,!0,{preserveDrawingBuffer:!1}),N=new o($);N.clearColor=new f(.04,.05,.07,1);let T=new u("world-cam",Math.PI/4,Math.PI/3,2.4*E,S,N);T.attachControl(t,!0),(0,r.disableWheelZoom)(T),v.current=T,k.current={target:S,alpha:T.alpha,beta:T.beta,radius:T.radius},new h("world-light",new d(.4,1,.3),N);let B=Math.max(.02*E,.25*c)/(.9*c),F=T.radius,V="cube"===_?b.CreateBox("world-voxel",{size:.9*c},N):b.CreateSphere("world-voxel",{diameter:.9*c,segments:6},N),O=new g("world-voxel-mat",N);O.diffuseColor=new m(1,1,1),O.specularColor=new m(0,0,0),V.material=O;let Z=0,D=new Float32Array(0),q=new Float32Array(0),W=-1,H=()=>{if(0===Z)return;let e=Math.min(8,Math.max(.6,T.radius/F));if(!(.01>Math.abs(e-W))){W=e;for(let t=0;t<Z;t++){let n=q[t]*e,a=16*t;D[a]=n,D[a+5]=n,D[a+10]=n}V.thinInstanceBufferUpdated("matrix")}};N.onBeforeRenderObservable.add(H);let K=null,U="\0",G=()=>{(()=>{let e=I.current,t=e.map(e=>`${e.name}:${e.aabb.join(",")}`).join("|");if(t===U||(U=t,K&&(K.dispose(!1,!0),K=null),0===e.length))return;K=b.CreateBox("scene-proxy",{size:1},N);let n=new g("scene-proxy-mat",N);n.wireframe=!0,n.disableLighting=!0,n.emissiveColor=new m(.32,.4,.52),n.alpha=.35,K.material=n,K.isPickable=!0,K.thinInstanceEnablePicking=!0,K.metadata={hoverLabels:e.map(e=>e.name)};let a=e.length,r=new Float32Array(16*a);for(let t=0;t<a;t++){let n=e[t].aabb,a=Math.max(n[3]-n[0],.001),s=Math.max(n[4]-n[1],.001),i=Math.max(n[5]-n[2],.001);p.Scaling(a,s,i).multiply(p.Translation((n[0]+n[3])/2,(n[1]+n[4])/2,(n[2]+n[5])/2)).copyToArray(r,16*t)}K.thinInstanceSetBuffer("matrix",r,16,!0)})(),(()=>{let e=L.current,t=A.current,n=e.length;if(0===n){Z=0,V.isVisible=!1;return}let r=(0,a.percentileMax)(e.map(e=>e.count),.95),s=new Float32Array(16*n),i=new Float32Array(4*n),l=new Float32Array(n);for(let t=0;t<n;t++){let n=e[t],o=Math.min(1,n.count/r),u=B*(.5+.5*o);l[t]=u,p.Scaling(u,u,u).multiply(p.Translation((n.vx+.5)*c,(n.vy+.5)*c,(n.vz+.5)*c)).copyToArray(s,16*t);let[h,d,m]=(0,a.heatRgb)(o);i[4*t]=h,i[4*t+1]=d,i[4*t+2]=m,i[4*t+3]=1}Z=n,D=s,q=l,V.isVisible=!0,V.isPickable=!!t,V.thinInstanceEnablePicking=!!t,V.metadata=t?{hoverLabels:t}:null,V.thinInstanceSetBuffer("matrix",D,16,!1),V.thinInstanceSetBuffer("color",i,4,!0),W=-1,H()})()};P.current=G,G(),$.runRenderLoop(()=>N.render());let Y=()=>$.resize();window.addEventListener("resize",Y);let X=(0,s.attachMeshHover)(N,t,R),J=(0,r.attachDoubleClickFocus)(N,t,T);j("ready"),i=()=>{window.removeEventListener("resize",Y),X(),J(),R(null),P.current=null,v.current=null,k.current=null,N.dispose(),$.dispose()}}catch(e){if(n)return;j("error"),C(e instanceof Error?e.message:"Failed to render heatmap.")}})(),()=>{n=!0,i?.()}},[_,c,E]),(0,n.useEffect)(()=>{P.current?.()},[u,h,x]);let $=g?g.cells>u.length?` Showing the ${u.length.toLocaleString()} busiest of ${g.cells.toLocaleString()} occupied cells (${g.hits.toLocaleString()} total hits).`:` ${g.cells.toLocaleString()} occupied cells, ${g.hits.toLocaleString()} total hits.`:"";return(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("canvas",{ref:w,className:"aspect-video w-full rounded-lg border border-edge bg-ink"}),S?(0,t.jsx)("div",{className:"pointer-events-none absolute z-10 max-w-[16rem] truncate rounded border border-edge bg-ink/90 px-1.5 py-0.5 text-xs text-white shadow backdrop-blur",style:{left:S.x+12,top:S.y+12},children:S.label}):null,"ready"===y?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o,{shape:_,onChange:z}),(0,t.jsx)(l.ZoomButtons,{onZoom:e=>v.current&&(0,r.stepZoom)(v.current,e),onReset:()=>v.current&&k.current&&(0,r.resetFocus)(v.current,k.current)}),(0,t.jsx)(i.HeatLegend,{title:d,lowLabel:m,highLabel:f,note:p+$})]}):(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 grid place-items-center text-sm text-fg-muted",children:"loading"===y?"Rendering…":"empty"===y?b:"error"===y?M??"Heatmap unavailable.":null})]})}])},48939,e=>{"use strict";var t=e.i(46369),n=e.i(19594);function a(e){return Number.isNaN(e)||e<0?0:e>1?1:e}function r(e){let t=a(e),n=[[0,.1,.9],[0,.85,1],[.1,.9,.2],[1,.85,0],[1,.15,0],[1,1,1]],r=n.length-1,s=t*r,i=Math.min(Math.floor(s),r-1),l=s-i,o=n[i],u=n[i+1];return o&&u?[o[0]+(u[0]-o[0])*l,o[1]+(u[1]-o[1])*l,o[2]+(u[2]-o[2])*l]:[1,1,1]}var s=e.i(56054),i=e.i(2348),l=e.i(87456),o=e.i(18637),u=e.i(2413);e.s(["CameraDome3DView",0,function({bins:c,gridSize:h}){let d=(0,n.useRef)(null),m=(0,n.useRef)(null),f=(0,n.useRef)(null),[p,b]=(0,n.useState)("loading"),[g,x]=(0,n.useState)(null),[w,v]=(0,n.useState)("markers"),[k,y]=(0,n.useState)(null),j=(0,n.useRef)(c),M=(0,n.useRef)(h),C=(0,n.useRef)(w);j.current=c,M.current=h,C.current=w;let _=(0,n.useRef)(null),z=c.length>0;return(0,n.useEffect)(()=>{let t=d.current;if(!t)return;if(!z)return void b("empty");let n=!1,o=null;return b("loading"),x(null),(async()=>{try{let[{Engine:u},{Scene:c},{ArcRotateCamera:h},{HemisphericLight:d},{Vector3:p,Color3:g,Color4:x,Matrix:w},{MeshBuilder:v},{StandardMaterial:k},{Mesh:z},{DynamicTexture:S}]=await Promise.all([e.A(95338),e.A(79935),e.A(49958),e.A(7513),e.A(58532),e.A(43302),e.A(61027),e.A(15523),e.A(97456),e.A(34486),e.A(87961)]);if(n)return;let R=new u(t,!0,{preserveDrawingBuffer:!1}),L=new c(R);L.clearColor=new x(.04,.05,.07,1);let I=p.Zero(),A=new h("dome-cam",Math.PI/3,Math.PI/2.4,3.6,I,L);A.attachControl(t,!0),A.lowerRadiusLimit=1.6,A.upperRadiusLimit=8,(0,i.disableWheelZoom)(A),m.current=A,f.current={target:I,alpha:A.alpha,beta:A.beta,radius:A.radius},new d("dome-light",new p(.3,1,.2),L);let P=v.CreateSphere("dome",{diameter:2,segments:20},L),E=new k("dome-mat",L);E.wireframe=!0,E.disableLighting=!0,E.emissiveColor=new g(.16,.2,.28),E.alpha=.5,P.material=E,P.isPickable=!1;let $=[];for(let e=0;e<=64;e++){let t=e/64*Math.PI*2;$.push(new p(Math.cos(t),0,Math.sin(t)))}let N=v.CreateLines("dome-horizon",{points:$},L);N.color=new g(.3,.36,.46),N.isPickable=!1;let T=v.CreateLines("dome-forward",{points:[p.Zero(),new p(1.25,0,0)]},L);T.color=new g(.4,.7,.95),T.isPickable=!1;let B=[],F=()=>{for(let e of B)e.dispose(!1,!0);B=[];let e=j.current;if(0===e.length)return;let t=e.reduce((e,t)=>Math.max(e,t.count),1),n=M.current>0?M.current:1;if("markers"===C.current){let a=v.CreateBox("dome-marker",{size:1},L),r=new k("dome-marker-mat",L);r.disableLighting=!0,r.emissiveColor=g.White(),r.specularColor=new g(0,0,0),a.material=r,a.isPickable=!0,a.thinInstanceEnablePicking=!0;let i=e.length,l=new Float32Array(16*i),o=new Float32Array(4*i),u=Array(i);for(let a=0;a<i;a++){let r=e[a],i=(r.azimuth_bin+.5)/n*Math.PI*2-Math.PI,c=(r.elevation_bin+.5)/n*Math.PI-Math.PI/2,h=Math.cos(c),d=h*Math.cos(i),m=Math.sin(c),f=h*Math.sin(i),p=r.count/t,b=.03+.12*p;w.Scaling(b,b,b).multiply(w.Translation(d,m,f)).copyToArray(l,16*a);let[g,x,v]=(0,s.heatRgb)(p);o[4*a]=g,o[4*a+1]=x,o[4*a+2]=v,o[4*a+3]=1,u[a]=`dir (${r.azimuth_bin}, ${r.elevation_bin}) \xb7 ${r.count}`}a.thinInstanceSetBuffer("matrix",l,16,!0),a.thinInstanceSetBuffer("color",o,4,!0),a.metadata={hoverLabels:u},B.push(a)}else{let t=function(e,t={}){let n=void 0!==t.width&&t.width>0?Math.floor(t.width):256,s=void 0!==t.height&&t.height>0?Math.floor(t.height):Math.max(1,Math.floor(n/2)),i=t.colorRamp??r,l=void 0!==t.blurBins&&t.blurBins>0?t.blurBins:1.5,o=a(t.alphaFloor??0),u=a(t.opacity??1),c=e.gridSize>0?e.gridSize:1,h=new Uint8ClampedArray(n*s*4),d=e.bins.filter(e=>e.count>0);if(0===d.length)return{width:n,height:s,rgba:h};let m=Math.max(1e-4,Math.PI/c*l),f=2*m*m,p=Math.cos(Math.min(Math.PI,3*m)),b=d.map(e=>{var t,n;let a,[r,s]=(t=e.azimuthBin,n=e.elevationBin,[(t+.5)/c*Math.PI*2-Math.PI,(n+.5)/c*Math.PI-Math.PI/2]);return[(a=Math.cos(s))*Math.cos(r),Math.sin(s),a*Math.sin(r)]}),g=new Float32Array(n*s),x=0;for(let e=0;e<s;e++){let t=Math.PI/2-(e+.5)/s*Math.PI,a=Math.cos(t),r=Math.sin(t);for(let t=0;t<n;t++){let s=(t+.5)/n*Math.PI*2-Math.PI,i=a*Math.cos(s),l=a*Math.sin(s),o=0;for(let e=0;e<d.length;e++){let t=b[e],n=i*t[0]+r*t[1]+l*t[2];if(n<p)continue;let a=Math.acos(n>1?1:n<-1?-1:n);o+=d[e].count*Math.exp(-(a*a)/f)}g[e*n+t]=o,o>x&&(x=o)}}if(x<=0)return{width:n,height:s,rgba:h};for(let e=0;e<g.length;e++){let t=a(g[e]/x),[n,r,s]=i(t),l=(o+(1-o)*t)*u,c=4*e;h[c]=Math.round(255*n),h[c+1]=Math.round(255*r),h[c+2]=Math.round(255*s),h[c+3]=Math.round(255*a(l))}return{width:n,height:s,rgba:h}}({bins:e.map(e=>({azimuthBin:e.azimuth_bin,elevationBin:e.elevation_bin,count:e.count})),gridSize:n},{width:256,blurBins:1.5,opacity:.95}),s=new S("dome-skytex",{width:t.width,height:t.height},L,!1);s.hasAlpha=!0;let i=s.getContext(),l=i.createImageData(t.width,t.height);l.data.set(t.rgba),i.putImageData(l,0,0),s.update();let o=v.CreateSphere("dome-sky",{diameter:2,segments:48,sideOrientation:z.DOUBLESIDE},L),u=new k("dome-sky-mat",L);u.disableLighting=!0,u.emissiveColor=g.White(),u.diffuseColor=new g(0,0,0),u.specularColor=new g(0,0,0),u.emissiveTexture=s,u.opacityTexture=s,u.backFaceCulling=!1,o.material=u,o.isPickable=!1,B.push(o)}};_.current=F,F(),R.runRenderLoop(()=>L.render());let V=()=>R.resize();window.addEventListener("resize",V);let O=(0,l.attachMeshHover)(L,t,y),Z=(0,i.attachDoubleClickFocus)(L,t,A);b("ready"),o=()=>{window.removeEventListener("resize",V),O(),Z(),y(null),_.current=null,m.current=null,f.current=null,L.dispose(),R.dispose()}}catch(e){if(n)return;b("error"),x(e instanceof Error?e.message:"Failed to render dome.")}})(),()=>{n=!0,o?.()}},[z]),(0,n.useEffect)(()=>{_.current?.()},[c,h,w]),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("canvas",{ref:d,className:"aspect-video w-full rounded-lg border border-edge bg-ink"}),k?(0,t.jsx)("div",{className:"pointer-events-none absolute z-10 max-w-[16rem] truncate rounded border border-edge bg-ink/90 px-1.5 py-0.5 text-xs text-white shadow backdrop-blur",style:{left:k.x+12,top:k.y+12},children:k.label}):null,"ready"===p?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"absolute left-3 top-3 flex overflow-hidden rounded-md border border-edge bg-ink/80 text-xs backdrop-blur",children:["markers","skydome"].map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>v(e),className:`px-2.5 py-1 ${w===e?"bg-fg/15 font-medium text-white":"text-fg-muted hover:text-fg"}`,children:"markers"===e?"Markers":"Skydome"},e))}),(0,t.jsx)(u.ZoomButtons,{onZoom:e=>m.current&&(0,i.stepZoom)(m.current,e),onReset:()=>m.current&&f.current&&(0,i.resetFocus)(m.current,f.current)}),(0,t.jsx)(o.HeatLegend,{title:"Gaze density",lowLabel:"rarely",highLabel:"most-viewed",note:"markers"===w?"Each marker is a look-direction (camera forward). Blue line = forward, ring = horizon. Color & size scale with how often that direction was viewed.":"Continuous equirectangular heat field: the same gaze bins splatted into a smooth thermal texture wrapped on the dome. The in-scene SDK overlay (showGazeSkydome) renders this inward so you can stand inside it in WebXR."})]}):(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 grid place-items-center text-sm text-fg-muted",children:"loading"===p?"Rendering…":"empty"===p?"No camera samples in range.":"error"===p?g??"Dome unavailable.":null})]})}],48939)},39592,e=>{"use strict";var t=e.i(46369),n=e.i(19594),a=e.i(56054),r=e.i(2348),s=e.i(87456),i=e.i(2413);function l(e){let t=Math.min(1,Math.max(0,e));return[.118+(.22-.118)*t,.227+.513*t,.541+(.97-.541)*t]}function o(e){return`${e.vx}|${e.vy}|${e.vz}`}function u({mode:e}){return(0,t.jsxs)("div",{className:"absolute bottom-3 right-3 max-w-72 rounded-md border border-edge bg-ink/80 px-2 py-1.5 text-xs text-fg backdrop-blur",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"inline-block h-2.5 w-2.5 rounded-sm bg-[#38bdf8]"}),"divergence"===e?"Gaze-heavy":"Gaze"]}),(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"inline-block h-2.5 w-2.5 rounded-sm bg-[#f4c84b]"}),"divergence"===e?"Click-heavy":"Clicks"]})]}),(0,t.jsx)("p",{className:"mt-1 text-fg-muted",children:"divergence"===e?"Per-voxel normalized difference: which signal dominates each cell. Color & size scale with the gap.":"Gaze = where viewers looked; Clicks = where they acted. Cells with gaze but no clicks are looked-at but un-acted-on."})]})}function c({active:e,onClick:n,children:a}){return(0,t.jsx)("button",{type:"button",onClick:n,className:`rounded px-2 py-0.5 font-medium transition ${e?"bg-amber text-ink":"text-fg-muted hover:text-fg"}`,children:a})}e.s(["GazeClickDivergence3DView",0,function({gazeVoxels:h,clickVoxels:d,cellSize:m,proxyMeshes:f=[]}){let p=(0,n.useRef)(null),b=(0,n.useRef)(null),g=(0,n.useRef)(null),[x,w]=(0,n.useState)("loading"),[v,k]=(0,n.useState)(null),[y,j]=(0,n.useState)("overlay"),[M,C]=(0,n.useState)(null),_=(0,n.useRef)(h),z=(0,n.useRef)(d),S=(0,n.useRef)(f),R=(0,n.useRef)(y);_.current=h,z.current=d,S.current=f,R.current=y;let L=(0,n.useRef)(null),I=h.length>0||d.length>0||f.length>0;return(0,n.useEffect)(()=>{let t=p.current;if(!t)return;if(!I)return void w("empty");let n=!1,i=null;return w("loading"),k(null),(async()=>{try{let[{Engine:u},{Scene:c},{ArcRotateCamera:h},{HemisphericLight:d},{Vector3:f,Color3:p,Color4:x,Matrix:v},{MeshBuilder:k},{StandardMaterial:y}]=await Promise.all([e.A(95338),e.A(79935),e.A(49958),e.A(7513),e.A(58532),e.A(43302),e.A(61027),e.A(34486),e.A(87961)]);if(n)return;let j=_.current,M=z.current,I=S.current,A=[...j,...M],P=0,E=0,$=0,N=0;for(let e of A)P+=(e.vx+.5)*m,E+=(e.vy+.5)*m,$+=(e.vz+.5)*m,N++;if(0===N)for(let e of I)P+=(e.aabb[0]+e.aabb[3])/2,E+=(e.aabb[1]+e.aabb[4])/2,$+=(e.aabb[2]+e.aabb[5])/2,N++;let T=new f(P/N,E/N,$/N),B=4*m;for(let e of A){let t=(e.vx+.5)*m-T.x,n=(e.vy+.5)*m-T.y,a=(e.vz+.5)*m-T.z;B=Math.max(B,Math.sqrt(t*t+n*n+a*a))}for(let e of I){let t=(e.aabb[0]+e.aabb[3])/2-T.x,n=(e.aabb[1]+e.aabb[4])/2-T.y,a=(e.aabb[2]+e.aabb[5])/2-T.z;B=Math.max(B,Math.sqrt(t*t+n*n+a*a))}let F=new u(t,!0,{preserveDrawingBuffer:!1}),V=new c(F);V.clearColor=new x(.04,.05,.07,1);let O=new h("divergence-cam",Math.PI/4,Math.PI/3,2.4*B,T,V);O.attachControl(t,!0),(0,r.disableWheelZoom)(O),b.current=O,g.current={target:T,alpha:O.alpha,beta:O.beta,radius:O.radius},new d("divergence-light",new f(.4,1,.3),V);let Z=null,D="\0",q=Math.max(.02*B,.25*m)/(.9*m),W=[],H=(e,t,n,a,r)=>{if(0===t.length)return;let s=k.CreateSphere(e,{diameter:.9*m,segments:6},V),i=new y(`${e}-mat`,V);i.diffuseColor=new p(1,1,1),i.specularColor=new p(0,0,0),s.material=i,s.metadata={hoverLabel:r},W.push(s);let l=t.length,o=new Float32Array(16*l),u=new Float32Array(4*l);for(let e=0;e<l;e++){let r=t[e],s=r.count/n,i=q*(.5+.5*s);v.Scaling(i,i,i).multiply(v.Translation((r.vx+.5)*m,(r.vy+.5)*m,(r.vz+.5)*m)).copyToArray(o,16*e);let[l,c,h]=a(s);u[4*e]=l,u[4*e+1]=c,u[4*e+2]=h,u[4*e+3]=1}s.thinInstanceSetBuffer("matrix",o,16,!1),s.thinInstanceSetBuffer("color",u,4,!0)},K=()=>{for(let e of((()=>{let e=S.current,t=e.map(e=>`${e.name}:${e.aabb.join(",")}`).join("|");if(t===D||(D=t,Z&&(Z.dispose(!1,!0),Z=null),0===e.length))return;Z=k.CreateBox("scene-proxy",{size:1},V);let n=new y("scene-proxy-mat",V);n.wireframe=!0,n.disableLighting=!0,n.emissiveColor=new p(.32,.4,.52),n.alpha=.35,Z.material=n,Z.isPickable=!0,Z.thinInstanceEnablePicking=!0,Z.metadata={hoverLabels:e.map(e=>e.name)};let a=e.length,r=new Float32Array(16*a);for(let t=0;t<a;t++){let n=e[t].aabb,a=Math.max(n[3]-n[0],.001),s=Math.max(n[4]-n[1],.001),i=Math.max(n[5]-n[2],.001);v.Scaling(a,s,i).multiply(v.Translation((n[0]+n[3])/2,(n[1]+n[4])/2,(n[2]+n[5])/2)).copyToArray(r,16*t)}Z.thinInstanceSetBuffer("matrix",r,16,!0)})(),W))e.dispose(!1,!0);W=[];let e=_.current,t=z.current,n=e.reduce((e,t)=>Math.max(e,t.count),1),r=t.reduce((e,t)=>Math.max(e,t.count),1),s=R.current;if("divergence"===s){let s=new Map(e.map(e=>[o(e),e])),i=new Map(t.map(e=>[o(e),e])),u=new Set([...s.keys(),...i.keys()]),c=[],h=[];for(let e of u){let t=(s.get(e)?.count??0)/n,a=(i.get(e)?.count??0)/r,l=i.get(e)??s.get(e),o=a-t,u={vx:l.vx,vy:l.vy,vz:l.vz,count:1e3*Math.abs(o)};(o>=0?c:h).push(u)}H("div-click",c,1e3,a.heatRgb,"Click-heavy"),H("div-gaze",h,1e3,l,"Gaze-heavy")}else("overlay"===s||"gaze"===s)&&H("gaze-voxel",e,n,l,"Gaze"),("overlay"===s||"click"===s)&&H("click-voxel",t,r,a.heatRgb,"Click")};L.current=K,K(),F.runRenderLoop(()=>V.render());let U=()=>F.resize();window.addEventListener("resize",U);let G=(0,s.attachMeshHover)(V,t,C),Y=(0,r.attachDoubleClickFocus)(V,t,O);w("ready"),i=()=>{window.removeEventListener("resize",U),G(),Y(),C(null),L.current=null,b.current=null,g.current=null,V.dispose(),F.dispose()}}catch(e){if(n)return;w("error"),k(e instanceof Error?e.message:"Failed to render overlay.")}})(),()=>{n=!0,i?.()}},[I,m]),(0,n.useEffect)(()=>{L.current?.()},[h,d,f,m,y]),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("canvas",{ref:p,className:"aspect-video w-full rounded-lg border border-edge bg-ink"}),M?(0,t.jsx)("div",{className:"pointer-events-none absolute z-10 max-w-64 truncate rounded border border-edge bg-ink/90 px-1.5 py-0.5 text-xs text-white shadow backdrop-blur",style:{left:M.x+12,top:M.y+12},children:M.label}):null,"ready"===x?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"absolute left-3 top-3 flex items-center gap-1 rounded-md border border-edge bg-ink/80 p-0.5 text-xs backdrop-blur",children:[(0,t.jsx)(c,{active:"overlay"===y,onClick:()=>j("overlay"),children:"Overlay"}),(0,t.jsx)(c,{active:"gaze"===y,onClick:()=>j("gaze"),children:"Gaze"}),(0,t.jsx)(c,{active:"click"===y,onClick:()=>j("click"),children:"Clicks"}),(0,t.jsx)(c,{active:"divergence"===y,onClick:()=>j("divergence"),children:"Divergence"})]}),(0,t.jsx)(i.ZoomButtons,{onZoom:e=>b.current&&(0,r.stepZoom)(b.current,e),onReset:()=>b.current&&g.current&&(0,r.resetFocus)(b.current,g.current)}),(0,t.jsx)(u,{mode:y})]}):(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 grid place-items-center text-sm text-fg-muted",children:"loading"===x?"Rendering…":"empty"===x?"No gaze or click hit-points in range. Enable gaze + pointer capture in the SDK.":"error"===x?v??"Overlay unavailable.":null})]})}])},19399,e=>{"use strict";var t=e.i(46369),n=e.i(19594);let a="__other_sp__",r="__other_mesh__";function s(e){return`${e[0]}|${e[1]}|${e[2]}`}function i(e,t){return t<=1?0:1.4-e/(t-1)*2.8}var l=e.i(56054),o=e.i(2348),u=e.i(87456),c=e.i(18637),h=e.i(2413);let d="__all__",m={maxStandpoints:6,maxMeshes:10,maxRibbons:70};function f(e,t){return`${e}|${t}`}function p(e){let t=e.aabb;return[(t[0]+t[3])/2,(t[1]+t[4])/2,(t[2]+t[5])/2]}function b(e){let t=0;for(let n=0;n<e.length;n++)t=31*t+e.charCodeAt(n)|0;return Math.abs(t)}function g({label:e,value:n,onChange:a,allLabel:r,options:s}){return(0,t.jsxs)("label",{className:"flex items-center gap-1.5 rounded-md border border-edge bg-ink/80 px-2 py-1 text-xs text-fg backdrop-blur",children:[(0,t.jsx)("span",{className:"font-medium text-fg-muted",children:e}),(0,t.jsxs)("select",{className:"max-w-[12rem] bg-transparent text-white outline-none",value:n,onChange:e=>a(e.target.value),children:[(0,t.jsx)("option",{value:d,children:r}),s.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))]})]})}function x({active:e,onClick:n,children:a,disabled:r=!1,title:s}){return(0,t.jsx)("button",{type:"button",onClick:n,disabled:r,title:s,className:`rounded px-2 py-0.5 font-medium transition ${r?"cursor-not-allowed text-fg-muted/40":e?"bg-amber text-ink":"text-fg-muted hover:text-fg"}`,children:a})}function w({standpoints:e,proxyMeshes:a,selectedKey:r,onSelect:s}){let i=(0,n.useRef)(null),l=(0,n.useMemo)(()=>e.filter(e=>e.origin),[e]),o=(0,n.useMemo)(()=>{let e=1/0,t=-1/0,n=1/0,r=-1/0,s=(a,s)=>{e=Math.min(e,a),t=Math.max(t,a),n=Math.min(n,s),r=Math.max(r,s)};for(let e of a)s(e.aabb[0],e.aabb[2]),s(e.aabb[3],e.aabb[5]);for(let e of l)s(e.origin[0],e.origin[2]);return Number.isFinite(e)?(t-e<.001&&(e-=1,t+=1),r-n<.001&&(n-=1,r+=1),{minX:e,maxX:t,minZ:n,maxZ:r}):{minX:-1,maxX:1,minZ:-1,maxZ:1}},[a,l]),u=(0,n.useMemo)(()=>{let e=Math.min(134/(o.maxX-o.minX),94/(o.maxZ-o.minZ));return(t,n)=>[8+(t-o.minX)*e,8+(n-o.minZ)*e]},[o]),c=(0,n.useMemo)(()=>l.reduce((e,t)=>Math.max(e,t.count),1),[l]);return(0,n.useEffect)(()=>{let e=i.current,t=e?.getContext("2d");if(!t)return;let n=window.devicePixelRatio||1;for(let r of(e.width=150*n,e.height=110*n,t.setTransform(n,0,0,n,0,0),t.clearRect(0,0,150,110),t.fillStyle="rgba(8,10,14,0.85)",t.fillRect(0,0,150,110),t.strokeStyle="rgba(120,140,170,0.35)",t.lineWidth=1,a)){let[e,n]=u(r.aabb[0],r.aabb[2]),[a,s]=u(r.aabb[3],r.aabb[5]);t.strokeRect(Math.min(e,a),Math.min(n,s),Math.abs(a-e),Math.abs(s-n))}for(let e of l){let[n,a]=u(e.origin[0],e.origin[2]),s=2+e.count/c*4,i=e.key===r;t.beginPath(),t.arc(n,a,s,0,2*Math.PI),t.fillStyle=i?"rgba(242,115,242,1)":"rgba(242,115,242,0.55)",t.fill(),i&&(t.beginPath(),t.arc(n,a,s+2.5,0,2*Math.PI),t.strokeStyle="rgba(255,255,255,0.9)",t.lineWidth=1.5,t.stroke())}},[a,l,u,c,r]),(0,t.jsxs)("div",{className:"absolute right-3 top-3 rounded-md border border-edge bg-ink/80 p-1 backdrop-blur",children:[(0,t.jsx)("div",{className:"px-1 pb-0.5 text-[10px] font-medium text-fg-muted",children:"Standpoints (top view)"}),(0,t.jsx)("canvas",{ref:i,className:"h-27.5 w-37.5 cursor-pointer rounded",onClick:e=>{let t=i.current;if(!t||0===l.length)return;let n=t.getBoundingClientRect(),a=(e.clientX-n.left)/n.width*150,r=(e.clientY-n.top)/n.height*110,o=null,c=1/0;for(let e of l){let[t,n]=u(e.origin[0],e.origin[2]),s=(t-a)**2+(n-r)**2;s<c&&(c=s,o=e)}o&&c<=196&&s(o.key)}})]})}e.s(["FlowSankey3DView",0,function({links:v,gridSize:k,proxyMeshes:y=[],maxLinks:j=80,api:M,flowQuery:C,hasFirstPerson:_=!1}){let z=(0,n.useRef)(null),S=(0,n.useRef)(null),R=(0,n.useRef)(null),[L,I]=(0,n.useState)("loading"),[A,P]=(0,n.useState)(null),[E,$]=(0,n.useState)(d),[N,T]=(0,n.useState)(d),[B,F]=(0,n.useState)(d),[V,O]=(0,n.useState)("aggregate"),[Z,D]=(0,n.useState)(null),[q,W]=(0,n.useState)("all"),[H,K]=(0,n.useState)(v),U=!!(M&&C),G=(0,n.useMemo)(()=>C?JSON.stringify(C):"",[C]),Y=(0,n.useRef)(!1);(0,n.useEffect)(()=>{!Y.current&&_&&(W("first-person"),Y.current=!0)},[_]),(0,n.useEffect)(()=>{_&&"viewer"===q&&W("first-person")},[_,q]),(0,n.useEffect)(()=>{U||K(v)},[v,U]),(0,n.useEffect)(()=>{if(!M||!C)return;let e=!1,t="all"===q?void 0:q;return M.flowHeatmap({...C,bins:k,limit:400,groupByOrigin:!0,cameraMode:t}).then(t=>{e||K(t)}).catch(()=>{e||K([])}),()=>{e=!0}},[M,G,q,k]);let X=(0,n.useMemo)(()=>{let e=new Map;for(let t of H){if(!t.originVoxel)continue;let n=s(t.originVoxel),a=t.origin,r=e.get(n);r?(r.count+=t.count,a&&(r.ox+=a[0]*t.count,r.oy+=a[1]*t.count,r.oz+=a[2]*t.count,r.wsum+=t.count)):e.set(n,{key:n,voxel:t.originVoxel,count:t.count,ox:a?a[0]*t.count:0,oy:a?a[1]*t.count:0,oz:a?a[2]*t.count:0,wsum:a?t.count:0})}return[...e.values()].map(e=>({key:e.key,voxel:e.voxel,count:e.count,origin:e.wsum>0?[e.ox/e.wsum,e.oy/e.wsum,e.oz/e.wsum]:void 0})).sort((e,t)=>t.count-e.count)},[H]),J=X.length>0,Q=(0,n.useMemo)(()=>B===d?null:X.find(e=>e.key===B)??null,[X,B]),ee=(0,n.useMemo)(()=>(function(e,t,n,l){let o=e.filter(e=>e.originVoxel);if(0===o.length)return{standpoints:[],gazes:[],meshes:[],ribbons:[],maxCount:1};let u=t.slice(0,Math.max(1,l.maxStandpoints)),c=new Set(u.map(e=>e.key)),h=e=>{let t=e.originVoxel?s(e.originVoxel):a;return c.has(t)?t:a},d=new Map;for(let e of o)d.set(e.mesh,(d.get(e.mesh)??0)+e.count);let m=new Set([...d.entries()].sort((e,t)=>t[1]-e[1]).slice(0,Math.max(1,l.maxMeshes)).map(([e])=>e)),f=e=>m.has(e)?e:r,p=new Map;for(let e of o){let t=h(e),n=f(e.mesh),a=`${t}|${e.azimuth_bin}|${e.elevation_bin}|${n}`,r=p.get(a);r?r.count+=e.count:p.set(a,{standpointId:t,gazeId:`${t}|${e.azimuth_bin}|${e.elevation_bin}`,meshId:n,azimuthBin:e.azimuth_bin,elevationBin:e.elevation_bin,count:e.count})}let b=[...p.values()].sort((e,t)=>t.count-e.count),g=b.slice(0,Math.max(1,l.maxRibbons)),x=b.slice(Math.max(1,l.maxRibbons));if(x.length>0){let e=new Map(g.map(e=>[`${e.standpointId}|${e.azimuthBin}|${e.elevationBin}|${r}`,e]));for(let t of x){let n=`${t.standpointId}|${t.azimuthBin}|${t.elevationBin}|${r}`,a=e.get(n);if(a)a.count+=t.count;else{let a={standpointId:t.standpointId,gazeId:t.gazeId,meshId:r,azimuthBin:t.azimuthBin,elevationBin:t.elevationBin,count:t.count};e.set(n,a),g.push(a)}}}let w=new Set(g.map(e=>e.standpointId)),v=new Set(g.map(e=>e.meshId)),k=[...u.filter(e=>w.has(e.key)).map(e=>e.key),...w.has(a)?[a]:[]],y=k.map((e,t)=>{let n=u.find(t=>t.key===e),r=g.filter(t=>t.standpointId===e).reduce((e,t)=>e+t.count,0);return{id:e,kind:"standpoint",pos:[-2.6,i(t,k.length),0],count:r,label:n?`[${n.voxel[0]}, ${n.voxel[1]}, ${n.voxel[2]}]`:"Other standpoints",isOther:e===a}}),j=new Map(y.map(e=>[e.id,e.pos[1]])),M=new Map;for(let e of g)M.set(e.meshId,(M.get(e.meshId)??0)+e.count);let C=[...v].sort((e,t)=>(M.get(t)??0)-(M.get(e)??0));C.sort((e,t)=>(e===r)-(t===r));let _=C.map((e,t)=>({id:e,kind:"mesh",pos:[2.6,i(t,C.length),0],count:M.get(e)??0,label:e===r?"Other meshes":e,isOther:e===r})),z=new Map;for(let e of g){let t=z.get(e.gazeId);t?t.count+=e.count:z.set(e.gazeId,{az:e.azimuthBin,el:e.elevationBin,sp:e.standpointId,count:e.count})}let S=[...z.entries()].map(([e,t])=>{let a=j.get(t.sp)??0,r=(t.az+.5)/n-.5;return{id:e,kind:"gaze",pos:[0,a+((t.el+.5)/n-.5)*.85,1.6*r],count:t.count,label:`(${t.az}, ${t.el})`,isOther:!1}}),R=g.reduce((e,t)=>Math.max(e,t.count),1);return{standpoints:y,gazes:S,meshes:_,ribbons:g,maxCount:R}})(H,X,k,m),[H,X,k]),et="twostage"===V&&J;(0,n.useEffect)(()=>{"twostage"!==V||J||O("aggregate")},[V,J]);let en=(0,n.useMemo)(()=>{if(B!==d&&J)return H.filter(e=>e.originVoxel&&s(e.originVoxel)===B);if(!J)return H;let e=new Map;for(let t of H){let n=`${t.azimuth_bin}|${t.elevation_bin}|${t.mesh}`,a=e.get(n);a?a.count+=t.count:e.set(n,{azimuth_bin:t.azimuth_bin,elevation_bin:t.elevation_bin,mesh:t.mesh,count:t.count})}return[...e.values()]},[H,B,J]),ea=(0,n.useMemo)(()=>[...en].sort((e,t)=>t.count-e.count).slice(0,Math.max(1,j)),[en,j]),er=(0,n.useMemo)(()=>{let e=new Map;for(let t of ea)e.set(t.mesh,(e.get(t.mesh)??0)+t.count);return[...e.entries()].sort((e,t)=>t[1]-e[1])},[ea]),es=(0,n.useMemo)(()=>{let e=new Map;for(let t of ea){let n=f(t.azimuth_bin,t.elevation_bin),a=e.get(n);a?a.count+=t.count:e.set(n,{azimuthBin:t.azimuth_bin,elevationBin:t.elevation_bin,count:t.count})}return[...e.values()].sort((e,t)=>t.count-e.count)},[ea]);(0,n.useEffect)(()=>{!et&&E!==d&&(er.some(([e])=>e===E)||$(d))},[et,E,er]),(0,n.useEffect)(()=>{!et&&N!==d&&(es.some(e=>f(e.azimuthBin,e.elevationBin)===N)||T(d))},[et,N,es]),(0,n.useEffect)(()=>{!et&&B!==d&&(X.some(e=>e.key===B)||F(d))},[et,B,X]),(0,n.useEffect)(()=>{$(d),T(d),F(d)},[V]);let ei=(0,n.useMemo)(()=>et?ee.ribbons.filter(e=>{let t=B===d||e.standpointId===B,n=N===d||f(e.azimuthBin,e.elevationBin)===N,a=E===d||e.meshId===E;return t&&n&&a}).length:ea.filter(e=>{let t=N===d||f(e.azimuth_bin,e.elevation_bin)===N,n=E===d||e.mesh===E;return t&&n}).length,[et,ee,ea,E,N,B]),el=et?ee.ribbons.length:ea.length,eo=(0,n.useMemo)(()=>et?ee.standpoints.map(e=>({value:e.id,label:`${e.label} \xb7 ${e.count}`})):X.slice(0,24).map(e=>({value:e.key,label:`[${e.voxel[0]}, ${e.voxel[1]}, ${e.voxel[2]}] \xb7 ${e.count}`})),[et,ee,X]),eu=(0,n.useMemo)(()=>{if(et){let e=new Map;for(let t of ee.ribbons){let n=f(t.azimuthBin,t.elevationBin),a=e.get(n);a?a.count+=t.count:e.set(n,{az:t.azimuthBin,el:t.elevationBin,count:t.count})}return[...e.values()].sort((e,t)=>t.count-e.count).map(e=>({value:f(e.az,e.el),label:`(${e.az}, ${e.el}) \xb7 ${e.count}`}))}return es.map(e=>({value:f(e.azimuthBin,e.elevationBin),label:`(${e.azimuthBin}, ${e.elevationBin}) \xb7 ${e.count}`}))},[et,ee,es]),ec=(0,n.useMemo)(()=>et?ee.meshes.map(e=>({value:e.id,label:`${e.label} \xb7 ${e.count}`})):er.map(([e,t])=>({value:e,label:`${e} \xb7 ${t}`})),[et,ee,er]),eh=(0,n.useRef)(ea);eh.current=ea;let ed=(0,n.useRef)(ee);ed.current=ee;let em=(0,n.useRef)(y);em.current=y;let ef=(0,n.useRef)(er);ef.current=er;let ep=(0,n.useRef)(E);ep.current=E;let eb=(0,n.useRef)(N);eb.current=N;let eg=(0,n.useRef)(B);eg.current=B;let ex=(0,n.useRef)(Q);ex.current=Q;let ew=(0,n.useRef)(null),ev=et?ee.ribbons.length>0:ea.length>0;return(0,n.useEffect)(()=>{let t=z.current;if(!t)return;if(!ev)return void I("empty");let n=!1,a=null;return I("loading"),P(null),(async()=>{try{let r,[{Engine:s},{Scene:i},{ArcRotateCamera:c},{HemisphericLight:h},{Vector3:m,Color3:g,Color4:x},{MeshBuilder:w},{StandardMaterial:v}]=await Promise.all([e.A(95338),e.A(79935),e.A(49958),e.A(7513),e.A(58532),e.A(43302),e.A(61027),e.A(87961)]);if(n)return;let y=new s(t,!0,{preserveDrawingBuffer:!1}),j=new i(y);j.clearColor=new x(.04,.05,.07,1);let M=[],C=()=>{for(let e of M)e.dispose();M=[]};if(et){let e=m.Zero();(r=new c("ts-cam",Math.PI/2,Math.PI/2.4,8.5,e,j)).attachControl(t,!0),(0,o.disableWheelZoom)(r),S.current=r,R.current={target:e,alpha:r.alpha,beta:r.beta,radius:r.radius},new h("ts-light",new m(.3,1,.2),j);let n={standpoint:[.95,.45,.95],gaze:[.45,.75,1],mesh:[1,.82,.42]},a={standpoint:.26,gaze:.13,mesh:.22},s=(e,t,n)=>{let a=e[0],r=e[1],s=e[2],i=t[0],l=t[1],o=t[2],u=[(a+i)/2,(r+l)/2+n,(s+o)/2],c=[];for(let e=0;e<=12;e++){let t=e/12,n=1-t;c.push(new m(n*n*a+2*n*t*u[0]+t*t*i,n*n*r+2*n*t*u[1]+t*t*l,n*n*s+2*n*t*u[2]+t*t*o))}return c},i=()=>{C();let e=ed.current;if(0===e.ribbons.length)return;let t=eg.current,r=eb.current,i=ep.current,o=e=>{let n=t===d||e.standpointId===t,a=r===d||f(e.azimuthBin,e.elevationBin)===r,s=i===d||e.meshId===i;return n&&a&&s},u=t!==d||r!==d||i!==d,c=new Set;for(let t of e.ribbons)o(t)&&(c.add(t.standpointId),c.add(t.gazeId),c.add(t.meshId));let h=[...e.standpoints,...e.gazes,...e.meshes],p=new Map(h.map(e=>[e.id,e.pos])),b=new Map(h.map(e=>[e.id,e.label]));for(let e of h){let t=w.CreateSphere(`ts-node-${e.kind}-${e.id}`,{diameter:a[e.kind],segments:8},j);t.position=new m(e.pos[0],e.pos[1],e.pos[2]);let r=new v(`ts-node-mat-${e.kind}-${e.id}`,j);r.disableLighting=!0;let[s,i,l]=n[e.kind];r.emissiveColor=new g(s,i,l),r.alpha=!u||c.has(e.id)?1:.2,t.material=r,t.isPickable=!0,t.metadata={hoverLabel:e.label},M.push(t,r)}for(let t of e.ribbons){let n=p.get(t.standpointId),a=p.get(t.gazeId),r=p.get(t.meshId);if(!n||!a||!r)continue;let i=t.count/e.maxCount,c=.18+.5*i,h=[...s(n,a,c),...s(a,r,c).slice(1)],d=o(t),[m,f,x]=(0,l.heatRgb)(i),k=w.CreateTube(`ts-link-${t.standpointId}-${t.gazeId}-${t.meshId}`,{path:h,radius:(d?1:.4)*(.012+.04*i),tessellation:8,cap:0,sideOrientation:0},j),y=new v(`ts-link-mat-${t.standpointId}-${t.gazeId}-${t.meshId}`,j);y.disableLighting=!0,y.emissiveColor=new g(m,f,x),y.alpha=d?.35+.65*i:u?.06:.18,k.material=y,k.isPickable=!0,k.metadata={hoverLabel:b.get(t.meshId)??t.meshId},M.push(k,y)}};ew.current=i,i()}else{let e=new Map;for(let t of em.current)e.set(t.name,p(t));let n=new Map,a=ef.current.map(([e])=>e).filter(t=>!e.has(t));for(let e=0;e<a.length;e++){let t=a[e],r=b(t),s=e/Math.max(1,a.length)*Math.PI*2+r%100/100*.35;n.set(t,[2.2*Math.cos(s),-.35+(r%7-3)*.06,2.2*Math.sin(s)])}for(let[t,a]of e.entries())n.set(t,a);let s=0,i=0,u=0,x=0;for(let e of n.values())s+=e[0],i+=e[1],u+=e[2],x++;let y=new m(s/Math.max(1,x),i/Math.max(1,x),u/Math.max(1,x)),_=1.8;for(let e of n.values()){let t=e[0]-y.x,n=e[1]-y.y,a=e[2]-y.z;_=Math.max(_,Math.sqrt(t*t+n*n+a*a))}let z=.75*_+1,L=Math.max(1,_/1.8);(r=new c("flow-cam",Math.PI/4,Math.PI/3,3.4*_,y,j)).attachControl(t,!0),(0,o.disableWheelZoom)(r),S.current=r,R.current={target:y,alpha:r.alpha,beta:r.beta,radius:r.radius},new h("flow-light",new m(.3,1,.2),j);let I=w.CreateSphere("flow-source-dome",{diameter:2*z,segments:20},j);I.position=y;let A=new v("flow-source-dome-mat",j);A.wireframe=!0,A.disableLighting=!0,A.emissiveColor=new g(.16,.2,.28),A.alpha=.35,I.material=A,I.isPickable=!1;let P=()=>{C();let e=eh.current;if(0===e.length)return;let t=ep.current,n=eb.current,a=ex.current,r=new Map;for(let e of em.current)r.set(e.name,p(e));let s=new Map,i=ef.current.map(([e])=>e).filter(e=>!r.has(e));for(let e=0;e<i.length;e++){let t=i[e],n=b(t),a=e/Math.max(1,i.length)*Math.PI*2+n%100/100*.35;s.set(t,[2.2*Math.cos(a),-.35+(n%7-3)*.06,2.2*Math.sin(a)])}for(let[e,t]of r.entries())s.set(e,t);let o=e.reduce((e,t)=>Math.max(e,t.count),1),u=new v("flow-source-node",j);u.disableLighting=!0,u.emissiveColor=new g(.45,.75,1);let c=new v("flow-target-node",j);c.disableLighting=!0,c.emissiveColor=new g(1,.82,.42),M.push(u,c);let h=new Set,x=new Set,_=e=>{let a=n===d||f(e.azimuth_bin,e.elevation_bin)===n,r=t===d||e.mesh===t;return a&&r},S=new Set,R=new Set;for(let t of e)_(t)&&(S.add(f(t.azimuth_bin,t.elevation_bin)),R.add(t.mesh));for(let a of e){let e=`${a.azimuth_bin}|${a.elevation_bin}`,r=s.get(a.mesh);if(!r)continue;let i=_(a),f=(a.azimuth_bin+.5)/k*Math.PI*2-Math.PI,p=(a.elevation_bin+.5)/k*Math.PI-Math.PI/2,b=Math.cos(p),C=b*Math.cos(f),I=Math.sin(p),A=b*Math.sin(f),P=new m(y.x+C*z,y.y+I*z,y.z+A*z),E=new m(r[0],r[1],r[2]);if(!h.has(e)){let a=w.CreateSphere(`flow-src-${e}`,{diameter:.12*L,segments:6},j);a.position=P;let r=u.clone(`flow-src-mat-${e}`);r.alpha=S.has(e)||t===d&&n===d?1:.22,a.material=r,a.isPickable=!1,h.add(e),M.push(a,r)}if(!x.has(a.mesh)){let e=w.CreateSphere(`flow-target-${a.mesh}`,{diameter:.2*L,segments:7},j);e.position=E;let r=c.clone(`flow-target-mat-${a.mesh}`);r.alpha=R.has(a.mesh)||t===d&&n===d?1:.22,e.material=r,e.isPickable=!0,e.metadata={hoverLabel:a.mesh},x.add(a.mesh),M.push(e,r)}let $=P.add(E).scale(.5),N=$.subtract(y),T=Math.sqrt(N.x*N.x+N.y*N.y+N.z*N.z),B=T>1e-6?N.x/T:0,F=T>1e-6?N.y/T:1,V=T>1e-6?N.z/T:0,O=(.35+a.count/o*.75)*L,Z=new m($.x+B*O,$.y+F*O+.12*L,$.z+V*O),D=[];for(let e=0;e<=18;e++){let t=e/18,n=1-t;D.push(new m(n*n*P.x+2*n*t*Z.x+t*t*E.x,n*n*P.y+2*n*t*Z.y+t*t*E.y,n*n*P.z+2*n*t*Z.z+t*t*E.z))}let q=a.count/o,[W,H,K]=(0,l.heatRgb)(q),U=w.CreateTube(`flow-link-${a.mesh}-${e}`,{path:D,radius:(i?1:.4)*(.012+.04*q)*L,tessellation:8,cap:0,sideOrientation:0},j),G=new v(`flow-link-mat-${a.mesh}-${e}`,j);G.disableLighting=!0,G.emissiveColor=new g(W,H,K),G.alpha=i?.35+.65*q:.08,U.material=G,U.isPickable=!0,U.metadata={hoverLabel:a.mesh},M.push(U,G)}let I=a?.origin;if(I){let e=new m(I[0],I[1],I[2]),t=w.CreateSphere("flow-standpoint",{diameter:.26*L,segments:10},j);t.position=e;let n=new v("flow-standpoint-mat",j);n.disableLighting=!0,n.emissiveColor=new g(.95,.45,.95),t.material=n,t.isPickable=!1;let a=w.CreateLines("flow-standpoint-stem",{points:[e,new m(e.x,y.y,e.z)]},j);a.color=new g(.95,.45,.95),a.isPickable=!1,M.push(t,n,a)}};ew.current=P,P()}y.runRenderLoop(()=>j.render());let _=()=>y.resize();window.addEventListener("resize",_);let z=(0,u.attachMeshHover)(j,t,D),L=(0,o.attachDoubleClickFocus)(j,t,r);I("ready"),a=()=>{window.removeEventListener("resize",_),z(),L(),D(null),ew.current=null,S.current=null,R.current=null,C(),j.dispose(),y.dispose()}}catch(e){if(n)return;I("error"),P(e instanceof Error?e.message:"Failed to render flow links.")}})(),()=>{n=!0,a?.()}},[et,k,ev]),(0,n.useEffect)(()=>{ew.current?.()},[ea,ee,y,E,N,B,Q]),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("canvas",{ref:z,className:"aspect-video w-full rounded-lg border border-edge bg-ink"}),Z?(0,t.jsx)("div",{className:"pointer-events-none absolute z-10 max-w-[16rem] truncate rounded border border-edge bg-ink/90 px-1.5 py-0.5 text-xs text-white shadow backdrop-blur",style:{left:Z.x+12,top:Z.y+12},children:Z.label}):null,"ready"===L?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"absolute left-3 top-3 flex flex-wrap gap-2",children:[J?(0,t.jsxs)("div",{className:"flex items-center gap-1 rounded-md border border-edge bg-ink/80 p-0.5 text-xs backdrop-blur",children:[(0,t.jsx)(x,{active:!et,onClick:()=>O("aggregate"),children:"Aggregate"}),(0,t.jsx)(x,{active:et,onClick:()=>O("twostage"),children:"Two-stage"})]}):null,U?(0,t.jsxs)("div",{className:"flex items-center gap-1 rounded-md border border-edge bg-ink/80 p-0.5 text-xs backdrop-blur",children:[(0,t.jsx)(x,{active:"first-person"===q,onClick:()=>W("first-person"),children:"Walk"}),(0,t.jsx)(x,{active:"viewer"===q,onClick:()=>W("viewer"),disabled:_,title:_?"Orbit (viewer) flow isn't available for walkable scenes":void 0,children:"Orbit"}),(0,t.jsx)(x,{active:"all"===q,onClick:()=>W("all"),children:"All"})]}):null,J?(0,t.jsx)(g,{label:"Standpoint",value:B,onChange:F,allLabel:"All standpoints",options:eo}):null,(0,t.jsx)(g,{label:et?"Gaze":"Source",value:N,onChange:T,allLabel:et?"All gaze sectors":"All sources",options:eu}),(0,t.jsx)(g,{label:"Mesh",value:E,onChange:$,allLabel:"All meshes",options:ec})]}),et?(0,t.jsx)(w,{standpoints:X,proxyMeshes:y,selectedKey:B,onSelect:e=>F(t=>t===e?d:e)}):null,(0,t.jsxs)("div",{className:"pointer-events-none absolute bottom-3 right-3 flex max-w-[20rem] flex-col items-end gap-2",children:[U&&!_?(0,t.jsxs)("div",{className:"rounded-md border border-edge bg-ink/80 px-2 py-1 text-xs text-fg-muted backdrop-blur",children:["Orbit-dominated scene — viewer ",(0,t.jsx)("em",{children:"position"})," adds little here. Use the"," ",(0,t.jsx)("strong",{children:"View dome"})," (§7.5) above for where viewers looked."]}):null,(0,t.jsxs)("div",{className:"rounded-md border border-edge bg-ink/80 px-2 py-1 text-xs text-fg backdrop-blur",children:["Active links: ",ei,"/",el]})]}),(0,t.jsx)(h.ZoomButtons,{onZoom:e=>S.current&&(0,o.stepZoom)(S.current,e),onReset:()=>S.current&&R.current&&(0,o.resetFocus)(S.current,R.current)}),(0,t.jsx)(c.HeatLegend,{title:"Flow volume",lowLabel:"fewer links",highLabel:"dominant links",note:et?"Three columns: standpoint → gaze sector → mesh. Top standpoints/meshes are kept; the tail folds into an “Other” node. Pick a standpoint (or click the minimap), gaze sector, or mesh to emphasize matching ribbons.":"Each arc aggregates clicks from one camera-direction bin to a mesh. Pick a source or mesh to emphasize matching links and dim the rest."})]}):(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 grid place-items-center text-sm text-fg-muted",children:"loading"===L?"Rendering…":"empty"===L?"No aggregate flow links in range.":"error"===L?A??"Flow view unavailable.":null})]})}],19399)},76421,e=>{"use strict";var t=e.i(46369),n=e.i(19594);let a={status:"idle",gated:!1,count:0};var r=e.i(60614),s=e.i(2348),i=e.i(2413);let l=new Set,o=[{key:"interaction",label:"Clicks & picks",color:"#fb923c",types:new Set(["pointer_click","mesh_interaction"])},{key:"actors",label:"Scene actors",color:"#e879f9",types:new Set(["node_transform"])},{key:"custom",label:"Custom",color:"#34d399",types:new Set(["custom"])},{key:"camera",label:"Camera",color:"#38bdf8",types:new Set(["camera_sample"])},{key:"pointer",label:"Pointer",color:"#94a3b8",types:new Set(["pointer_move","pointer_down","pointer_up"])},{key:"perf",label:"Perf",color:"#a78bfa",types:new Set(["frame_perf"])},{key:"lifecycle",label:"Lifecycle",color:"#f472b6",types:new Set(["session_start","session_end","scene_change","focus_change","visibility_change","viewport_resize","context_lost","context_restored","runtime_error","capability_change","input_action","resource_sample","compile_stall","mesh_visibility","hover_dwell"])}];function u(e,t,n){let a=Math.max(1,n),r=new Map;o.forEach((e,t)=>{for(let n of e.types)r.set(n,t)});let s=o.map(()=>new Set);for(let n of e){let e=r.get(n.type);if(void 0===e)continue;let i=Math.min(1,Math.max(0,(n.ts-t)/a));s[e].add(Math.round(600*i))}return o.map((e,t)=>({key:e.key,label:e.label,color:e.color,marks:[...s[t]].sort((e,t)=>e-t).map(e=>e/600)})).filter(e=>e.marks.length>0)}function c(e){let t=Math.max(0,Math.round(e/1e3)),n=Math.floor(t/60);return`${n}:${(t%60).toString().padStart(2,"0")}`}function h(e){let t=e.slice(e.lastIndexOf("/")+1);return t.length>20?`${t.slice(0,19)}\u2026`:t}function d({lanes:e,duration:n,progress:a,onSeek:r,hiddenTypes:s}){let i=e.filter(e=>{let t=o.find(t=>t.key===e.key);if(!t)return!0;for(let e of t.types)if(!s.has(e))return!0;return!1});if(0===i.length)return null;let l=`${Math.min(100,Math.max(0,a/Math.max(1,n)*100))}%`;return(0,t.jsxs)("div",{className:"mt-4",children:[(0,t.jsx)("div",{className:"mb-1.5 flex flex-wrap items-center gap-x-3 gap-y-1 text-[10px] text-fg-muted",children:i.map(e=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"inline-block h-2 w-2 rounded-sm",style:{backgroundColor:e.color}}),e.label,(0,t.jsxs)("span",{className:"tabular-nums text-fg-muted",children:["(",e.marks.length,")"]})]},e.key))}),(0,t.jsxs)("button",{type:"button","aria-label":"Event timeline — click to seek",className:"relative block w-full cursor-pointer select-none rounded-md border border-edge bg-ink/60 p-1.5 text-left",onClick:e=>{var t;let a;return t=e.clientX,void r(Math.min(1,Math.max(0,(t-(a=e.currentTarget.getBoundingClientRect()).left)/(a.width||1)))*n)},children:[(0,t.jsx)("div",{className:"flex flex-col gap-1",children:i.map(e=>(0,t.jsx)("div",{className:"relative h-2.5 rounded-sm bg-white/5",children:e.marks.map((n,a)=>(0,t.jsx)("span",{"aria-hidden":!0,className:"pointer-events-none absolute top-0 h-full w-px",style:{left:`${100*n}%`,backgroundColor:e.color,opacity:.85}},a))},e.key))}),(0,t.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-y-1 w-px bg-saffron",style:{left:l}})]})]})}e.s(["SessionReplayView",0,function({api:o,sessionId:m,hiddenTypes:f,isLive:p=!1}){let b=(0,n.useRef)(null),g=(0,n.useRef)(null),x=(0,n.useRef)(0),w=(0,n.useRef)(f??l),v=(0,n.useRef)(!1),k=(0,n.useRef)(null),y=(0,n.useRef)(!1),j=(0,n.useRef)(!1),M=(0,n.useRef)(null),C=(0,n.useRef)(0),_=(0,n.useRef)([]),z=(0,n.useRef)([]),S=(0,n.useRef)([]),R=(0,n.useRef)(!0),L=(0,n.useRef)("birdview"),I=(0,n.useRef)(null),A=(0,n.useRef)(null),P=(0,n.useRef)([]),E=(0,n.useRef)(null),$=(0,n.useRef)(null),[N,T]=(0,n.useState)("idle"),[B,F]=(0,n.useState)(null),[V,O]=(0,n.useState)(0),[Z,D]=(0,n.useState)(0),[q,W]=(0,n.useState)(!1),[H,K]=(0,n.useState)([]),[U,G]=(0,n.useState)([]),[Y,X]=(0,n.useState)([]),[J,Q]=(0,n.useState)(!0),[ee,et]=(0,n.useState)(!1),[en,ea]=(0,n.useState)("birdview"),[er,es]=(0,n.useState)(null),[ei,el]=(0,n.useState)(!1),[eo,eu]=(0,n.useState)(!1),[ec,eh]=(0,n.useState)(null);(0,n.useEffect)(()=>{R.current=J},[J]),(0,n.useEffect)(()=>{j.current=q},[q]),(0,n.useEffect)(()=>{y.current=ee},[ee]),(0,n.useEffect)(()=>{L.current=en,v.current=!0},[en]),(0,n.useEffect)(()=>{w.current=f??l,v.current=!0},[f]),(0,n.useEffect)(()=>{let t=b.current;if(!t)return;let n=!1,a=null;return T("loading"),F(null),W(!1),O(0),D(0),K([]),G([]),X([]),es(null),I.current=null,_.current=[],z.current=[],S.current=[],x.current=0,E.current=null,P.current=[],A.current=null,el(!1),eu(!1),eh(null),(async()=>{try{let[{Engine:i},{Scene:l},{ArcRotateCamera:c},{UniversalCamera:h},{HemisphericLight:d},{Vector3:f,Color3:b,Color4:$,Matrix:N},{MeshBuilder:B},{StandardMaterial:F},{ReplayPlayer:V}]=await Promise.all([e.A(95338),e.A(79935),e.A(49958),e.A(59188),e.A(7513),e.A(58532),e.A(43302),e.A(61027),e.A(85461),e.A(87961)]),Z=await o.sessionEvents(m);if(n)return;if(0===Z.length)return void T("empty");let q=Z[0].ts,H=Z[0].ts;for(let e of Z)e.ts<q&&(q=e.ts),e.ts>H&&(H=e.ts);let U=await (0,r.mergeSceneProxies)(o,{since:q-1,until:H+1});if(n)return;let Y=[...Z].sort((e,t)=>e.ts-t.ts),J=Y[0].ts,Q=[],ee=[],en=new Map,ea=null;for(let e of Y){let t=e.ts-J;if("camera_sample"===e.type){ea=[e.position[0],e.position[1],e.position[2]],Q.push({at:t,position:ea,direction:[e.direction[0],e.direction[1],e.direction[2]],..."number"==typeof e.fov?{fov:e.fov}:{}});continue}if("node_transform"===e.type){if(e.boneId)continue;let n=e.childPath?`${e.nodeId}/${e.childPath}`:e.nodeId,a=en.get(n);a||(a=[],en.set(n,a)),a.push({at:t,position:[e.position[0],e.position[1],e.position[2]]});continue}if("pointer_click"===e.type&&e.hitPoint){let n=e.ray?.origin??ea;if(!n)continue;ee.push({at:t,type:"pointer_click",origin:[n[0],n[1],n[2]],hit:[e.hitPoint[0],e.hitPoint[1],e.hitPoint[2]],...e.hitMesh?{mesh:e.hitMesh}:{}});continue}if("mesh_interaction"===e.type&&e.point){if(!ea)continue;ee.push({at:t,type:"mesh_interaction",origin:[ea[0],ea[1],ea[2]],hit:[e.point[0],e.point[1],e.point[2]],...e.mesh?{mesh:e.mesh}:{}})}}if(0===Q.length&&0===ee.length&&0===en.size)return void T("empty");let er=new i(t,!0,{preserveDrawingBuffer:!1}),ei=new l(er);ei.clearColor=new $(.04,.05,.07,1),A.current=ei;let el=new c("birdview-cam",-Math.PI/2,.22,12,f.Zero(),ei);el.attachControl(t,!0),(0,s.disableWheelZoom)(el),g.current=el,new d("replay-light",new f(0,1,0),ei);let eo=new h("replay-follow-cam",f.Zero(),ei);eo.minZ=.05,eo.fov=Math.PI/3,ei.activeCamera=el;let eu="birdview",ec=B.CreateGround("replay-ground",{width:20,height:20,subdivisions:20},ei),eh=new F("replay-ground-mat",ei);eh.diffuseColor=new b(.12,.14,.18),eh.wireframe=!0,ec.material=eh;let ed=new Set(en.keys()),em=new Set(Array.from(ed,e=>e.slice(e.lastIndexOf("/")+1))),ef=[],ep=[],eb=new Set,eg=e=>{if(eb.has(e.name)||(e=>{if(e.path){for(let t of ed)if(e.path===t||e.path.endsWith(`/${t}`))return!0}return em.has(e.name)})(e))return!1;eb.add(e.name);let t=e.aabb,n=Math.max(t[3]-t[0],.001),a=Math.max(t[4]-t[1],.001),r=Math.max(t[5]-t[2],.001),s=B.CreateBox(`replay-proxy-${e.name}`,{width:n,height:a,depth:r},ei);s.position=new f((t[0]+t[3])/2,(t[1]+t[4])/2,(t[2]+t[5])/2);let i=new F(`replay-proxy-mat-${e.name}`,ei);return i.wireframe=!0,i.disableLighting=!0,i.emissiveColor=new b(.32,.4,.52),i.alpha=.35,s.material=i,s.isPickable=!1,E.current&&s.setEnabled(!1),ep.push(s),ef.push({name:e.name,center:new f((t[0]+t[3])/2,t[4],(t[2]+t[5])/2)}),!0};for(let e of U)eg(e);_.current=ef,z.current=ef.map(()=>null),G(ef.map(e=>e.name)),P.current=ep;let ex=async()=>{let e=await (0,r.mergeSceneProxies)(o,{since:q-1}).catch(()=>null);if(n||!e)return;let t=!1;for(let n of e)eg(n)&&(t=!0);t&&(_.current=ef,z.current=ef.map((e,t)=>z.current[t]??null),G(ef.map(e=>e.name)),v.current=!0)},ew=[[.91,.47,.98],[.4,.95,.6],[.98,.8,.3],[.45,.85,1]],ev=e=>{let t=e.indexOf("/");return -1===t?e:e.slice(0,t)},ek=[],ey=new Map,ej=0,eM=(e,t,n)=>{let a=B.CreateSphere(`replay-actor-${e}`,{diameter:.5,segments:12},ei),r=new F(`replay-actor-mat-${e}`,ei);r.disableLighting=!0;let s=ew[ej%ew.length];r.emissiveColor=new b(s[0],s[1],s[2]),a.material=r,a.isPickable=!1,a.isVisible=!1,ej++;let i={key:e,mesh:a,samples:n,driveKey:t};return ek.push(i),ey.set(e,i),i},eC=new Map,e_=new Map;for(let[e,t]of en){if(0===t.length)continue;let n=ev(e);if(e===n)eC.set(n,t);else{let a=e_.get(n);(!a||t.length>a.samples.length)&&e_.set(n,{key:e,samples:t})}}for(let e of new Set([...eC.keys(),...e_.keys()])){let t=eC.get(e);if(t)eM(e,e,t);else{let t=e_.get(e);eM(e,t.key,t.samples)}}S.current=ek.map(()=>null),X(ek.map(e=>e.key));let ez=(e,t)=>{if(0===e.length||t<e[0].at)return null;let n=0,a=e.length-1,r=-1;for(;n<=a;){let s=n+a>>1;e[s].at<=t?(r=s,n=s+1):a=s-1}if(r<0)return null;let s=e[r],i=e[r+1];if(!i)return s.position;let l=i.at-s.at;if(l<=0)return s.position;let o=Math.max(0,Math.min(1,(t-s.at)/l));return[s.position[0]+(i.position[0]-s.position[0])*o,s.position[1]+(i.position[1]-s.position[1])*o,s.position[2]+(i.position[2]-s.position[2])*o]},eS=1,eR=1.4,eL=B.CreateSphere("replay-camera-origin",{diameter:.35,segments:12},ei),eI=new F("replay-camera-origin-mat",ei);eI.disableLighting=!0,eI.emissiveColor=new b(.6,.9,1),eL.material=eI;let eA=B.CreateLines("replay-camera-frustum",{points:[f.Zero(),new f(0,0,1)]},ei);eA.color=new b(.7,.95,1),eA.isPickable=!1;let eP=B.CreateCylinder("replay-camera-cone",{height:1,diameterTop:0,diameterBottom:1,tessellation:24},ei);eP.bakeTransformIntoVertices(N.RotationX(-Math.PI/2).multiply(N.Translation(0,0,.5)));let eE=new F("replay-camera-cone-mat",ei);eE.disableLighting=!0,eE.emissiveColor=new b(.4,.78,1),eE.alpha=.16,eE.backFaceCulling=!1,eP.material=eE,eP.isPickable=!1,eP.isVisible=!1;let e$=(e,t,n,a)=>{if(e?.dispose(),0===n.length)return null;let r=B.CreateLineSystem(t,{lines:n,...a?{colors:a,useVertexAlpha:!0}:{}},ei);return r.isPickable=!1,r},eN=null,eT=null,eB=null,eF=()=>{let e=w.current,t=[],n=[];for(let a of ee){if(e.has(a.type))continue;let[r,s,i]=a.hit,l="mesh_interaction"===a.type?new $(.45,.85,1,.32):new $(1,.7,.35,.32);t.push([new f(r-.1,s,i),new f(r+.1,s,i)]),t.push([new f(r,s-.1,i),new f(r,s+.1,i)]),t.push([new f(r,s,i-.1),new f(r,s,i+.1)]),n.push([l,l],[l,l],[l,l])}eB=e$(eB,"replay-persistent-marks",t,n)};eF();let eV=B.CreateSphere("replay-glow",{diameter:1,segments:12},ei),eO=new F("replay-glow-mat",ei);eO.disableLighting=!0,eO.emissiveColor=new b(1,.62,.2),eO.alpha=0,eV.material=eO,eV.isPickable=!1,eV.isVisible=!1;let eZ=1/0,eD=1/0,eq=1/0,eW=-1/0,eH=-1/0,eK=-1/0,eU=!1,eG=e=>{eZ=Math.min(eZ,e[0]),eD=Math.min(eD,e[1]),eq=Math.min(eq,e[2]),eW=Math.max(eW,e[0]),eH=Math.max(eH,e[1]),eK=Math.max(eK,e[2])},eY=()=>{let e;if(eU||!Number.isFinite(eZ))return;let t=(eZ+eW)/2,n=(eD+eH)/2,a=(eq+eK)/2,r=eW-eZ,s=eH-eD,i=eK-eq,l=Math.sqrt(r*r+s*s+i*i);el.setTarget(new f(t,n,a)),e=1.3*l,el.radius=Number.isFinite(e)?Math.max(8,e):12,eU=!0};for(let e of Q)eG(e.position);for(let e of ee)eG(e.origin),eG(e.hit);for(let e of en.values())for(let t of e)eG(t.position);for(let e of U)eG(e.aabb.slice(0,3)),eG(e.aabb.slice(3,6));eY();{let e=eW-eZ,t=eH-eD,n=eK-eq,a=Number.isFinite(e)?Math.sqrt(e*e+t*t+n*n):0,r=Math.min(Math.max(.035*a,.45),Math.max(.45,.18*a));eS=r/.35,eR=Math.max(.16*a,3.2*r,1.4),eL.scaling.setAll(eS)}let eX=-1,eJ=e=>{var a;let r=v.current;if(!r&&e===eX)return;v.current=!1,eX=e,r&&eF();let s=w.current;(a=L.current)!==eu&&(eu=a,"follow"===a?(el.detachControl(),ei.activeCamera=eo):(ei.activeCamera=el,el.attachControl(t,!0)));let i="follow"===L.current,l=s.has("camera_sample")?null:(e=>{if(0===Q.length)return null;let t=0,n=Q.length-1,a=-1;for(;t<=n;){let r=t+n>>1;Q[r].at<=e?(a=r,t=r+1):n=r-1}return a>=0?Q[a]:null})(e);if(l){eL.position.set(l.position[0],l.position[1],l.position[2]);let e=l.direction,t=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2])||1,n=eR,a=new f(l.position[0]+e[0]/t*n,l.position[1]+e[1]/t*n,l.position[2]+e[2]/t*n);if(i)eL.isVisible=!1,eA.isVisible=!1,eP.isVisible=!1,eo.position.set(l.position[0],l.position[1],l.position[2]),eo.setTarget(a),l.fov&&l.fov>0&&(eo.fov=l.fov);else{eL.isVisible=!0,eA.isVisible=!0,eA=B.CreateLines("replay-camera-frustum",{points:[eL.position.clone(),a],instance:eA},ei);let e=(l.fov&&l.fov>0?l.fov:Math.PI/3)/2,t=n*Math.tan(e);eP.isVisible=!0,eP.position.copyFrom(eL.position),eP.lookAt(a),eP.scaling.set(2*t,2*t,n)}}else eL.isVisible=!1,eA.isVisible=!1,eP.isVisible=!1;let o=s.has("node_transform");for(let t of ek){let n=o?null:ez(t.samples,e);if(!n){t.mesh.isVisible=!1;continue}t.mesh.isVisible=!0,t.mesh.position.set(n[0],n[1],n[2])}let u=ee.filter(t=>!s.has(t.type)&&t.at<=e&&t.at>=e-2200),c=[],h=[],d=[],m=[],p=null;for(let t of u){let n=e-t.at,a=Math.max(0,Math.min(1,1-n/2200)),r=new $(1,.62,.2,.18+.72*a),s=new f(t.origin[0],t.origin[1],t.origin[2]),i=new f(t.hit[0],t.hit[1],t.hit[2]);c.push([s,i]),h.push([r,r]);let l=.12+.08*a;d.push([new f(i.x-l,i.y,i.z),new f(i.x+l,i.y,i.z)]),d.push([new f(i.x,i.y-l,i.z),new f(i.x,i.y+l,i.z)]),d.push([new f(i.x,i.y,i.z-l),new f(i.x,i.y,i.z+l)]);let o=new $(1,.78,.42,.22+.72*a);if(m.push([o,o],[o,o],[o,o]),n<=900){let e=1-n/900;(!p||e>p.t)&&(p={hit:t.hit,t:e})}}if(p){let e=.25+.9*p.t;eV.isVisible=!0,eV.scaling.set(e,e,e),eV.position.set(p.hit[0],p.hit[1],p.hit[2]),eO.alpha=.12+.5*p.t}else eV.isVisible=!1;let b=null,g=-1/0;for(let e of u)e.mesh&&e.at>g&&(g=e.at,b=e.mesh);b!==I.current&&(I.current=b,n||es(b)),eN=e$(eN,"replay-trail-lines",c,h),eT=e$(eT,"replay-trail-hits",d,m)},eQ=Y.length>0?Y[Y.length-1].ts-J:0,e0=eQ,e1=Y.length>0?Y[Y.length-1].ts:-1/0,e2=Y.map(e=>({type:e.type,ts:e.ts})),e5=0,e3=null;if(p)k.current=null,M.current=e=>{if(n)return;let t="number"==typeof e.ts?e.ts:NaN;if(!Number.isFinite(t)||t<=e1)return;e1=t;let a=t-J;if(a>e0&&(e0=a),a>eQ&&(eQ=a),e2.push({type:e.type,ts:t}),"camera_sample"===e.type){let t=e.position,n=e.direction;if(t&&n){let r=[t[0],t[1],t[2]];ea=r;let s="number"==typeof e.fov?e.fov:void 0;Q.push({at:a,position:r,direction:[n[0],n[1],n[2]],...void 0!==s?{fov:s}:{}}),eG(r),eY()}}else if("pointer_click"===e.type){let t=e.hitPoint,n=e.ray,r=n?.origin??ea;if(t&&r){let n="string"==typeof e.hitMesh?e.hitMesh:void 0;ee.push({at:a,type:"pointer_click",origin:[r[0],r[1],r[2]],hit:[t[0],t[1],t[2]],...n?{mesh:n}:{}}),eG(t),v.current=!0}}else if("mesh_interaction"===e.type){let t=e.point;if(t&&ea){let n="string"==typeof e.mesh?e.mesh:void 0;ee.push({at:a,type:"mesh_interaction",origin:[ea[0],ea[1],ea[2]],hit:[t[0],t[1],t[2]],...n?{mesh:n}:{}}),eG(t),v.current=!0}}else if("node_transform"===e.type){let t=e.position;if(e.boneId||"string"!=typeof e.nodeId||!t)return;let n="string"==typeof e.childPath?e.childPath:void 0,r=n?`${e.nodeId}/${n}`:e.nodeId;((e,t)=>{let n=ev(e),a=ey.get(n);if(!a){a=eM(n,e,[]);let t=S.current;S.current=ek.map((e,n)=>t[n]??null),X(ek.map(e=>e.key))}e===a.driveKey?a.samples.push(t):e===n&&a.driveKey!==n&&(a.driveKey=n,a.samples.length=0,a.samples.push(t))})(r,{at:a,position:[t[0],t[1],t[2]]}),eG(t)}let r=performance.now();r-e5>250&&(e5=r,K(u(e2,J,Math.max(1,eQ)))),y.current&&a>x.current&&(x.current=a)},C.current=eQ,x.current=eQ,y.current=!0,et(!0),W(!1),O(eQ),D(eQ),K(u(e2,J,Math.max(1,eQ))),eJ(eQ),e3=setInterval(()=>void ex(),4e3);else{let e=new V(Z,{reset(){},apply(){}},{onProgress:e=>{n||(x.current=e,D(e))},onComplete:()=>{n||W(!1)}});k.current=e,O(e.durationMs),K(u(Y,J,e.durationMs)),e.update(0),eJ(0)}let e4=N.Identity(),e6=new Map,e8=e=>{let t=e6.get(e);if(t)return t;let n={w:e.offsetWidth||60,h:e.offsetHeight||16};return e.offsetWidth>0&&e6.set(e,n),n},e9=performance.now(),e7=0;er.runRenderLoop(()=>{if(p){let e=performance.now(),t=e-e9;if(e9=e,y.current)x.current+=t,x.current>eQ&&(eQ=x.current),C.current=eQ,D(x.current),e-e7>250&&(e7=e,O(eQ));else if(j.current){let e=x.current+t;e>=eQ&&(e=eQ),x.current=e,D(e)}}eJ(x.current),ei.render(),(()=>{if(!R.current)return;let e=t.clientWidth||er.getRenderWidth(),n=t.clientHeight||er.getRenderHeight(),a=el.viewport.toGlobal(e,n),r=ei.getTransformMatrix(),s=I.current,i=e=>e.slice(e.lastIndexOf("/")+1),l=e=>!!s&&(s===e||i(s)===i(e)||e.endsWith(`/${s}`)||s.endsWith(`/${e}`)),o=[],u=_.current,c=z.current;for(let e=0;e<u.length;e++){let t=c[e];if(!t)continue;let n=f.Project(u[e].center,e4,r,a);if(n.z<0||n.z>1){t.style.opacity="0";continue}o.push({el:t,x:n.x,y:n.y,liftPct:140,highlighted:l(u[e].name)})}let h=S.current;for(let e=0;e<ek.length;e++){let t=h[e];if(!t)continue;let n=ek[e].mesh;if(!n.isVisible){t.style.opacity="0";continue}let s=f.Project(n.position,e4,r,a);if(s.z<0||s.z>1){t.style.opacity="0";continue}o.push({el:t,x:s.x,y:s.y,liftPct:180,highlighted:l(ek[e].key)})}o.sort((e,t)=>e.highlighted!==t.highlighted?e.highlighted?-1:1:e.y-t.y||e.x-t.x);let d=[];for(let e of o){let{w:t,h:n}=e8(e.el),a=e.x-t/2,r=e.x+t/2,s=e.y-e.liftPct/100*n,i=s,l=!0,o=0;for(;l&&o++<256;)for(let e of(l=!1,d))a<e.right&&r>e.left&&i<e.bottom&&i+n>e.top&&(i=e.bottom+1,l=!0);d.push({left:a,right:r,top:i,bottom:i+n});let u=i-s;e.el.style.opacity="1",e.el.style.zIndex=e.highlighted?"10":"",e.el.style.transform=`translate(${e.x}px, ${e.y+u}px) translate(-50%, -${e.liftPct}%)`}})()});let te=()=>er.resize();window.addEventListener("resize",te),T("ready"),a=()=>{window.removeEventListener("resize",te),e3&&clearInterval(e3),M.current=null,k.current?.pause(),eA.dispose(),eP.dispose(),eN?.dispose(),eT?.dispose(),eB?.dispose(),eV.dispose(),E.current?.dispose(),E.current=null,P.current=[],A.current=null,ei.dispose(),er.dispose(),g.current=null,k.current=null}}catch(e){if(n)return;T("error"),F(e instanceof Error?e.message:"Failed to load replay.")}})(),()=>{n=!0,a?.()}},[o,m,p]);let ed=(0,n.useCallback)(()=>{if(p){et(!1),y.current=!1,W(e=>{let t=!e;return j.current=t,t});return}let e=k.current;e&&W(t=>(t?e.pause():e.play(),!t))},[p]),em=(0,n.useCallback)(e=>{if(p){et(!1),y.current=!1,W(!1),j.current=!1,x.current=e,D(e);return}let t=k.current;t&&(t.pause(),t.seek(e),W(!1),x.current=e,D(e))},[p]),ef=(0,n.useCallback)(()=>{et(!0),y.current=!0,W(!1),j.current=!1,x.current=C.current,D(C.current)},[]),{gated:ep}=function(e,t,r,s,i){let[l,o]=(0,n.useState)(a),u=(0,n.useRef)(s),c=(0,n.useRef)(i);return u.current=s,c.current=i,(0,n.useEffect)(()=>r?e.liveSession(t,e=>u.current(e),{onReset:()=>c.current(),onState:o}):void o(a),[e,t,r]),l}(o,m,p&&"ready"===N,e=>M.current?.(e),()=>{}),eb=(0,n.useCallback)(e=>{if(!er)return!1;if(er===e)return!0;let t=e=>e.slice(e.lastIndexOf("/")+1);return t(er)===t(e)||e.endsWith(`/${er}`)||er.endsWith(`/${e}`)},[er]),eg=(0,n.useCallback)(async t=>{let n=A.current;if(n){eu(!0),eh(`Loading ${t.name}…`);try{let[{loadSceneBackdrop:a}]=await Promise.all([e.A(90974),e.A(22365)]);if(A.current!==n)return;E.current?.dispose();let r=await a(n,t);if(A.current!==n)return void r.dispose();for(let e of(E.current=r,P.current))e.setEnabled(!1);v.current=!0,el(!0),eh(`Loaded ${t.name} (${r.meshes.length} meshes).`)}catch(e){eh(e instanceof Error?e.message:"Could not load model.")}finally{eu(!1)}}},[]),ex=(0,n.useCallback)(e=>{let t=e.target.files?.[0];e.target.value="",t&&eg(t)},[eg]),ew=(0,n.useCallback)(()=>{for(let e of(E.current?.dispose(),E.current=null,P.current))e.setEnabled(!0);v.current=!0,el(!1),eh(null)},[]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("canvas",{ref:b,className:"aspect-video w-full rounded-lg border border-edge bg-ink"}),(0,t.jsxs)("div",{className:`pointer-events-none absolute inset-0 overflow-hidden ${J?"":"hidden"}`,children:[U.map((e,n)=>(0,t.jsx)("div",{title:e,ref:e=>{e&&(z.current[n]=e)},className:`absolute left-0 top-0 whitespace-nowrap rounded px-1.5 py-0.5 text-[10px] font-medium opacity-0 transition-colors ${eb(e)?"bg-amber/30 text-white ring-2 ring-amber shadow-lg shadow-amber/30":"bg-ink/80 text-saffron ring-1 ring-amber/30"}`,children:h(e)},e)),Y.map((e,n)=>(0,t.jsx)("div",{title:e,ref:e=>{e&&(S.current[n]=e)},className:`absolute left-0 top-0 whitespace-nowrap rounded px-1.5 py-0.5 text-[10px] font-medium opacity-0 transition-colors ${eb(e)?"bg-fuchsia-400/30 text-white ring-2 ring-fuchsia-300 shadow-lg shadow-fuchsia-500/30":"bg-ink/80 text-fuchsia-300 ring-1 ring-fuchsia-400/30"}`,children:h(e)},`actor-${e}`))]}),"ready"===N&&(U.length>0||Y.length>0)?(0,t.jsx)("button",{type:"button",onClick:()=>Q(e=>!e),className:"absolute left-3 top-3 rounded-md border border-edge bg-ink/80 px-2 py-1 text-xs font-medium text-fg transition hover:bg-ink hover:text-white","aria-pressed":J?"true":"false",children:J?"Hide labels":"Show labels"}):null,"ready"===N&&"birdview"===en?(0,t.jsx)(i.ZoomButtons,{onZoom:e=>g.current&&(0,s.stepZoom)(g.current,e)}):null,"ready"!==N?(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 grid place-items-center text-sm text-fg-muted",children:"loading"===N?"Loading replay…":"empty"===N?"No replayable events (raw retention may be disabled).":"error"===N?B??"Replay unavailable.":null}):null]}),(0,t.jsxs)("div",{className:"mt-3 flex items-center gap-3",children:[(0,t.jsx)("button",{type:"button",onClick:ed,disabled:"ready"!==N,className:"rounded-md bg-amber px-3 py-1.5 text-sm font-medium text-ink transition hover:bg-ember disabled:opacity-40",children:q?"Pause":"Play"}),p?(0,t.jsxs)("button",{type:"button",onClick:ef,disabled:"ready"!==N,"aria-pressed":ee?"true":"false",className:`flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-sm font-medium transition disabled:opacity-40 ${ee?"bg-rose-500/20 text-rose-300 ring-1 ring-rose-400/40":"border border-edge text-fg hover:bg-ink hover:text-white"}`,children:[(0,t.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${ee?"animate-pulse bg-rose-400":"bg-fg-muted"}`}),ee?"LIVE":"Resume live"]}):null,(0,t.jsxs)("div",{role:"group","aria-label":"Camera view",className:"flex items-center rounded-md border border-edge p-0.5 text-xs font-medium",children:[(0,t.jsx)("button",{type:"button",onClick:()=>ea("birdview"),disabled:"ready"!==N,"aria-pressed":"birdview"===en?"true":"false",className:`rounded px-2 py-1 transition disabled:opacity-40 ${"birdview"===en?"bg-amber text-ink":"text-fg hover:text-white"}`,children:"Birdview"}),(0,t.jsx)("button",{type:"button",onClick:()=>ea("follow"),disabled:"ready"!==N,"aria-pressed":"follow"===en?"true":"false",className:`rounded px-2 py-1 transition disabled:opacity-40 ${"follow"===en?"bg-amber text-ink":"text-fg hover:text-white"}`,children:"Follow camera"})]}),(0,t.jsx)("span",{className:"w-12 text-right font-mono text-xs tabular-nums text-fg-muted",children:c(Z)}),(0,t.jsx)("input",{type:"range",min:0,max:Math.max(1,V),step:50,value:Math.min(Z,V),onChange:e=>em(Number(e.target.value)),disabled:"ready"!==N,className:"flex-1 accent-amber"}),(0,t.jsx)("span",{className:"w-12 font-mono text-xs tabular-nums text-fg-muted",children:c(V)})]}),"ready"===N?(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-3",children:[(0,t.jsx)("input",{ref:$,type:"file",accept:".glb,.gltf,model/gltf-binary,model/gltf+json",onChange:ex,className:"hidden"}),(0,t.jsx)("button",{type:"button",onClick:()=>$.current?.click(),disabled:eo,className:"rounded-md border border-edge bg-ink/80 px-2.5 py-1.5 text-xs font-medium text-fg transition hover:bg-ink hover:text-white disabled:opacity-40",children:eo?"Loading model…":ei?"Replace model (.glb)":"Load model (.glb)"}),ei?(0,t.jsx)("button",{type:"button",onClick:ew,disabled:eo,className:"rounded-md border border-edge px-2.5 py-1.5 text-xs font-medium text-fg transition hover:bg-ink hover:text-white disabled:opacity-40",children:"Remove model"}):null,ec?(0,t.jsx)("span",{className:"text-xs text-fg-muted",role:"status",children:ec}):(0,t.jsx)("span",{className:"text-xs text-fg-muted",children:"Load a glTF model to replace the wireframe boxes with your real scene."})]}):null,"ready"===N?(0,t.jsx)(d,{lanes:H,duration:V,progress:Z,onSeek:em,hiddenTypes:f??l}):null,p&&ep&&"ready"===N?(0,t.jsx)("p",{className:"mt-2 text-xs text-fg-muted",children:"Live follow is unavailable — raw session retention is disabled on the collector."}):null]})}],76421)},64434,e=>{"use strict";e.s([],4255),e.i(4255);var t=e.i(48939),n=e.i(53993),a=e.i(19399),r=e.i(39592),s=e.i(46369),i=e.i(19594),l=e.i(56054),o=e.i(2348),u=e.i(87456),c=e.i(18637),h=e.i(2413);let d="__all__";function m(e){return`${e[0]},${e[1]},${e[2]}`}function f({label:e,value:t,onChange:n,allLabel:a,options:r}){return(0,s.jsxs)("label",{className:"flex items-center gap-1.5 rounded-md border border-edge bg-ink/80 px-2 py-1 text-xs text-fg backdrop-blur",children:[(0,s.jsx)("span",{className:"font-medium text-fg-muted",children:e}),(0,s.jsxs)("select",{className:"max-w-[12rem] bg-transparent text-white outline-none",value:t,onChange:e=>n(e.target.value),children:[(0,s.jsx)("option",{value:d,children:a}),r.map(e=>(0,s.jsx)("option",{value:e.value,children:e.label},e.value))]})]})}var p=e.i(76421),b=e.i(37215);e.s(["CAMERA_DOME_SUBTITLE",()=>b.CAMERA_DOME_SUBTITLE,"CAMERA_DOME_TITLE",()=>b.CAMERA_DOME_TITLE,"CLICK_RAYS_SUBTITLE",()=>b.CLICK_RAYS_SUBTITLE,"CLICK_RAYS_TITLE",()=>b.CLICK_RAYS_TITLE,"CameraDome3DView",()=>t.CameraDome3DView,"ClickRays3DView",0,function({rays:t,cellSize:n,proxyMeshes:a=[]}){let r=(0,i.useRef)(null),p=(0,i.useRef)(null),b=(0,i.useRef)(null),[g,x]=(0,i.useState)("loading"),[w,v]=(0,i.useState)(null),[k,y]=(0,i.useState)(d),[j,M]=(0,i.useState)(d),[C,_]=(0,i.useState)(null),z=(0,i.useRef)(t),S=(0,i.useRef)(a),R=(0,i.useRef)(k),L=(0,i.useRef)(j);z.current=t,S.current=a,R.current=k,L.current=j;let I=(0,i.useRef)(null),A=t.length>0,P=(0,i.useMemo)(()=>{let e=new Map;for(let n of t){let t=m(n.camVoxel),a=e.get(t);a?a.count+=n.count:e.set(t,{key:t,voxel:n.camVoxel,count:n.count})}return[...e.values()].sort((e,t)=>t.count-e.count)},[t]),E=(0,i.useMemo)(()=>{let e=new Map;for(let n of t)""!==n.mesh&&e.set(n.mesh,(e.get(n.mesh)??0)+n.count);return[...e.entries()].map(([e,t])=>({name:e,count:t})).sort((e,t)=>t.count-e.count)},[t]);return(0,i.useEffect)(()=>{k!==d&&(P.some(e=>e.key===k)||y(d))},[k,P]),(0,i.useEffect)(()=>{j!==d&&(E.some(e=>e.name===j)||M(d))},[j,E]),(0,i.useEffect)(()=>{let t=r.current;if(!t)return;if(!A)return void x("empty");let a=!1,s=null;return x("loading"),v(null),(async()=>{try{let[{Engine:r},{Scene:i},{ArcRotateCamera:c},{HemisphericLight:h},{Vector3:f,Color3:g,Color4:w,Matrix:v},{MeshBuilder:k},{StandardMaterial:y}]=await Promise.all([e.A(95338),e.A(79935),e.A(49958),e.A(7513),e.A(58532),e.A(43302),e.A(61027),e.A(34486),e.A(87961)]);if(a)return;let j=z.current,M=0,C=0,A=0,P=0,E=(e,t,n)=>{M+=e,C+=t,A+=n,P++};for(let e of j)E(e.origin[0],e.origin[1],e.origin[2]),E(e.hit[0],e.hit[1],e.hit[2]);let $=P>0?new f(M/P,C/P,A/P):f.Zero(),N=4*n;for(let e of j)for(let t of[e.origin,e.hit]){let e=t[0]-$.x,n=t[1]-$.y,a=t[2]-$.z;N=Math.max(N,Math.sqrt(e*e+n*n+a*a))}let T=new r(t,!0,{preserveDrawingBuffer:!1}),B=new i(T);B.clearColor=new w(.04,.05,.07,1);let F=new c("rays-cam",Math.PI/4,Math.PI/3,2.4*N,$,B);F.attachControl(t,!0),(0,o.disableWheelZoom)(F),p.current=F,b.current={target:$,alpha:F.alpha,beta:F.beta,radius:F.radius},new h("rays-light",new f(.4,1,.3),B);let V=null,O="\0",Z=[],D=Math.max(3*n,.18*N),q=()=>{for(let e of((()=>{let e=S.current,t=e.map(e=>`${e.name}:${e.aabb.join(",")}`).join("|");if(t===O||(O=t,V&&(V.dispose(!1,!0),V=null),0===e.length))return;V=k.CreateBox("scene-proxy",{size:1},B);let n=new y("scene-proxy-mat",B);n.wireframe=!0,n.disableLighting=!0,n.emissiveColor=new g(.32,.4,.52),n.alpha=.35,V.material=n,V.isPickable=!0,V.thinInstanceEnablePicking=!0,V.metadata={hoverLabels:e.map(e=>e.name)};let a=e.length,r=new Float32Array(16*a);for(let t=0;t<a;t++){let n=e[t].aabb,a=Math.max(n[3]-n[0],.001),s=Math.max(n[4]-n[1],.001),i=Math.max(n[5]-n[2],.001);v.Scaling(a,s,i).multiply(v.Translation((n[0]+n[3])/2,(n[1]+n[4])/2,(n[2]+n[5])/2)).copyToArray(r,16*t)}V.thinInstanceSetBuffer("matrix",r,16,!0)})(),Z))e.dispose(!1,!0);Z=[];let e=z.current,t=S.current,a=R.current,r=L.current,s=a===d?e:e.filter(e=>m(e.camVoxel)===a),i=s.reduce((e,t)=>Math.max(e,t.count),1),o=[],u=[];for(let e of s){let t=e.count/i,[n,a,r]=(0,l.heatRgb)(t),s=new w(n,a,r,.35+.65*t);o.push([new f(e.origin[0],e.origin[1],e.origin[2]),new f(e.hit[0],e.hit[1],e.hit[2])]),u.push([s,s])}if(o.length>0){let e=k.CreateLineSystem("click-rays",{lines:o,colors:u,useVertexAlpha:!0},B);e.isPickable=!1,Z.push(e)}let c=new Map;for(let e of s)c.set(m(e.camVoxel),e.camVoxel);if(c.size>0){let e=k.CreateSphere("rays-eye",{diameter:.6*n,segments:6},B),t=new y("rays-eye-mat",B);t.disableLighting=!0,t.emissiveColor=new g(.9,.95,1),e.material=t;let a=[...c.values()],r=new Float32Array(16*a.length);for(let e=0;e<a.length;e++){let t=a[e];v.Translation((t[0]+.5)*n,(t[1]+.5)*n,(t[2]+.5)*n).copyToArray(r,16*e)}e.thinInstanceSetBuffer("matrix",r,16,!0),Z.push(e)}if(r!==d){let a=e.filter(e=>e.mesh===r);if(a.length>0){let e,s=t.find(e=>e.name===r);if(s){let t=s.aabb;e=new f((t[0]+t[3])/2,(t[1]+t[4])/2,(t[2]+t[5])/2)}else{let t=0,n=0,r=0;for(let e of a)t+=e.hit[0],n+=e.hit[1],r+=e.hit[2];e=new f(t/a.length,n/a.length,r/a.length)}let i=a.reduce((e,t)=>Math.max(e,t.count),1),o=[],u=[];for(let t of a){let n=t.origin[0]-t.hit[0],a=t.origin[1]-t.hit[1],r=t.origin[2]-t.hit[2],s=Math.sqrt(n*n+a*a+r*r)||1,c=t.count/i,h=D*(.4+.6*c),d=new f(e.x+n/s*h,e.y+a/s*h,e.z+r/s*h),[m,p,b]=(0,l.heatRgb)(c),g=new w(m,p,b,1);o.push([e.clone(),d]),u.push([new w(m,p,b,.25),g])}if(o.length>0){let e=k.CreateLineSystem("mesh-rose",{lines:o,colors:u,useVertexAlpha:!0},B);e.isPickable=!1,Z.push(e)}let c=k.CreateSphere("mesh-rose-hub",{diameter:.8*n,segments:8},B),h=new y("mesh-rose-hub-mat",B);h.disableLighting=!0,h.emissiveColor=new g(1,.85,.4),c.material=h,c.position=e,c.isPickable=!0,c.metadata={hoverLabel:r},Z.push(c)}}};I.current=q,q(),T.runRenderLoop(()=>B.render());let W=()=>T.resize();window.addEventListener("resize",W);let H=(0,u.attachMeshHover)(B,t,_),K=(0,o.attachDoubleClickFocus)(B,t,F);x("ready"),s=()=>{window.removeEventListener("resize",W),H(),K(),_(null),I.current=null,p.current=null,b.current=null,B.dispose(),T.dispose()}}catch(e){if(a)return;x("error"),v(e instanceof Error?e.message:"Failed to render click rays.")}})(),()=>{a=!0,s?.()}},[A,n]),(0,i.useEffect)(()=>{I.current?.()},[t,a,n,k,j]),(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)("canvas",{ref:r,className:"aspect-video w-full rounded-lg border border-edge bg-ink"}),C?(0,s.jsx)("div",{className:"pointer-events-none absolute z-10 max-w-[16rem] truncate rounded border border-edge bg-ink/90 px-1.5 py-0.5 text-xs text-white shadow backdrop-blur",style:{left:C.x+12,top:C.y+12},children:C.label}):null,"ready"===g?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"absolute left-3 top-3 flex gap-2",children:[(0,s.jsx)(f,{label:"Viewpoint",value:k,onChange:y,allLabel:"All viewpoints",options:P.map(e=>({value:e.key,label:`(${e.voxel.join(", ")}) \xb7 ${e.count}`}))}),(0,s.jsx)(f,{label:"Mesh rose",value:j,onChange:M,allLabel:"No mesh focus",options:E.map(e=>({value:e.name,label:`${e.name} \xb7 ${e.count}`}))})]}),(0,s.jsx)(h.ZoomButtons,{onZoom:e=>p.current&&(0,o.stepZoom)(p.current,e),onReset:()=>p.current&&b.current&&(0,o.resetFocus)(p.current,b.current)}),(0,s.jsx)(c.HeatLegend,{title:"Click volume",lowLabel:"few clicks",highLabel:"most clicks",note:"Lines run from the camera position (bright eye) to where the click landed. Pick a viewpoint to see only clicks made from there; pick a mesh to see which directions its clicks came from."})]}):(0,s.jsx)("div",{className:"pointer-events-none absolute inset-0 grid place-items-center text-sm text-fg-muted",children:"loading"===g?"Rendering…":"empty"===g?"No correlated clicks in range.":"error"===g?w??"Click rays unavailable.":null})]})},"ERROR_HEATMAP_SUBTITLE",()=>b.ERROR_HEATMAP_SUBTITLE,"ERROR_HEATMAP_TITLE",()=>b.ERROR_HEATMAP_TITLE,"FLOW_SANKEY_HELP",()=>b.FLOW_SANKEY_HELP,"FLOW_SANKEY_SUBTITLE",()=>b.FLOW_SANKEY_SUBTITLE,"FLOW_SANKEY_TITLE",()=>b.FLOW_SANKEY_TITLE,"FlowSankey3DView",()=>a.FlowSankey3DView,"GAZE_CLICK_SUBTITLE",()=>b.GAZE_CLICK_SUBTITLE,"GAZE_CLICK_TITLE",()=>b.GAZE_CLICK_TITLE,"GazeClickDivergence3DView",()=>r.GazeClickDivergence3DView,"SESSION_REPLAY_TITLE",()=>b.SESSION_REPLAY_TITLE,"SessionReplayView",()=>p.SessionReplayView,"WORLD_HEATMAP_SUBTITLE",()=>b.WORLD_HEATMAP_SUBTITLE,"WORLD_HEATMAP_TITLE",()=>b.WORLD_HEATMAP_TITLE,"WorldHeatmap3DView",()=>n.WorldHeatmap3DView,"sessionReplaySubtitle",()=>b.sessionReplaySubtitle,"sessionReplayTitle",()=>b.sessionReplayTitle],64434)},94452,e=>{e.n(e.i(64434))},95338,e=>{e.v(t=>Promise.all(["static/chunks/21at65obnoo8z.js","static/chunks/08m_4cihfmik8.js","static/chunks/2uhrhq35bki6u.js","static/chunks/1di5enkavl9vx.js","static/chunks/1gtj_l5ame5mw.js","static/chunks/0ti58h622yo-_.js","static/chunks/2btabnibkm0db.js"].map(t=>e.l(t))).then(()=>t(62619)))},79935,e=>{e.v(t=>Promise.all(["static/chunks/1dfwa563iciz3.js","static/chunks/00g5suuoa-_wn.js","static/chunks/21at65obnoo8z.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/0ti58h622yo-_.js","static/chunks/0bgcaf2x51kms.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/1di5enkavl9vx.js","static/chunks/0ubxyut5rr600.js"].map(t=>e.l(t))).then(()=>t(90189)))},49958,e=>{e.v(t=>Promise.all(["static/chunks/00g5suuoa-_wn.js","static/chunks/08obqw64faj8j.js","static/chunks/1d1tpj9nm1nhf.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/21at65obnoo8z.js","static/chunks/1xbzxfeq9789f.js","static/chunks/1i4f3n_2_3ery.js","static/chunks/0ti58h622yo-_.js","static/chunks/0ubxyut5rr600.js","static/chunks/1di5enkavl9vx.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/0u8yr4k1y6m2t.js"].map(t=>e.l(t))).then(()=>t(50734)))},7513,e=>{e.v(t=>Promise.all(["static/chunks/3ed24zmt8qfys.js","static/chunks/09ppu_k464q-n.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/1di5enkavl9vx.js","static/chunks/21at65obnoo8z.js"].map(t=>e.l(t))).then(()=>t(67984)))},58532,e=>{e.v(t=>Promise.all(["static/chunks/3c_31f20z4jrl.js","static/chunks/1di5enkavl9vx.js","static/chunks/21at65obnoo8z.js"].map(t=>e.l(t))).then(()=>t(29959)))},43302,e=>{e.v(t=>Promise.all(["static/chunks/3ckp70rgr63u9.js","static/chunks/00g5suuoa-_wn.js","static/chunks/026vw95s88gsy.js","static/chunks/20qelrstvz9_n.js","static/chunks/21at65obnoo8z.js","static/chunks/1_8acnu6_-qe-.js","static/chunks/08obqw64faj8j.js","static/chunks/1d1tpj9nm1nhf.js","static/chunks/0ti58h622yo-_.js","static/chunks/0u8yr4k1y6m2t.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/0bgcaf2x51kms.js","static/chunks/0ubxyut5rr600.js","static/chunks/1di5enkavl9vx.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/3a_khw6q6pyh1.js"].map(t=>e.l(t))).then(()=>t(16874)))},61027,e=>{e.v(t=>Promise.all(["static/chunks/2si5cg3hl5dtf.js","static/chunks/2h5hase6ewoyc.js","static/chunks/00g5suuoa-_wn.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/1bmyq1b0by7ug.js","static/chunks/21at65obnoo8z.js","static/chunks/0ubxyut5rr600.js","static/chunks/0ti58h622yo-_.js","static/chunks/1d1tpj9nm1nhf.js","static/chunks/0bgcaf2x51kms.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/1di5enkavl9vx.js"].map(t=>e.l(t))).then(()=>t(27455)))},15523,e=>{e.v(t=>Promise.all(["static/chunks/16hdip1drt8o-.js","static/chunks/00g5suuoa-_wn.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/3ez20hi1mxw0w.js","static/chunks/0ubxyut5rr600.js","static/chunks/1d1tpj9nm1nhf.js","static/chunks/0u8yr4k1y6m2t.js","static/chunks/0ti58h622yo-_.js","static/chunks/1di5enkavl9vx.js","static/chunks/21at65obnoo8z.js"].map(t=>e.l(t))).then(()=>t(91263)))},97456,e=>{e.v(t=>Promise.all(["static/chunks/01urdkl1j8o6l.js","static/chunks/2nwlqtv3vrzcv.js","static/chunks/21at65obnoo8z.js","static/chunks/0ti58h622yo-_.js","static/chunks/1gtj_l5ame5mw.js","static/chunks/1di5enkavl9vx.js","static/chunks/10b0qqdnb_nox.js"].map(t=>e.l(t))).then(()=>t(61623)))},34486,e=>{e.v(t=>Promise.all(["static/chunks/34y7nx6qmat06.js","static/chunks/00g5suuoa-_wn.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/3ez20hi1mxw0w.js","static/chunks/1di5enkavl9vx.js","static/chunks/1d1tpj9nm1nhf.js","static/chunks/0ti58h622yo-_.js","static/chunks/0ubxyut5rr600.js","static/chunks/0u8yr4k1y6m2t.js","static/chunks/21at65obnoo8z.js"].map(t=>e.l(t))).then(()=>t(90951)))},87961,e=>{e.v(t=>Promise.all(["static/chunks/00g5suuoa-_wn.js","static/chunks/3ez20hi1mxw0w.js","static/chunks/21at65obnoo8z.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/3qatb38-tk_gd.js","static/chunks/1di5enkavl9vx.js","static/chunks/3fdx-rnos5ft-.js","static/chunks/0bgcaf2x51kms.js","static/chunks/0ubxyut5rr600.js","static/chunks/0ti58h622yo-_.js"].map(t=>e.l(t))).then(()=>t(87531)))},59188,e=>{e.v(t=>Promise.all(["static/chunks/1j7e3qpjuj89a.js","static/chunks/00g5suuoa-_wn.js","static/chunks/3ez20hi1mxw0w.js","static/chunks/21at65obnoo8z.js","static/chunks/0y4e49hpuucdi.js","static/chunks/0ti58h622yo-_.js","static/chunks/21ko5mxfderw0.js","static/chunks/1di5enkavl9vx.js"].map(t=>e.l(t))).then(()=>t(67049)))},90974,e=>{e.v(t=>Promise.all(["static/chunks/2ies66gmou203.js","static/chunks/1di5enkavl9vx.js"].map(t=>e.l(t))).then(()=>t(97900)))},22365,e=>{e.v(t=>Promise.all(["static/chunks/2mgmvz66gh5ub.js","static/chunks/00g5suuoa-_wn.js","static/chunks/20qelrstvz9_n.js","static/chunks/08obqw64faj8j.js","static/chunks/1qjsgebn9m-0l.js","static/chunks/21at65obnoo8z.js","static/chunks/18txc1wwwu9f9.js","static/chunks/1bmyq1b0by7ug.js","static/chunks/1rr74xxjtckyv.js","static/chunks/141tngxsk32hq.js","static/chunks/04g-l-_b4payc.js","static/chunks/1d1tpj9nm1nhf.js","static/chunks/0f0-i105odxqd.js","static/chunks/0bgcaf2x51kms.js","static/chunks/1uu55ejvi7q5u.js","static/chunks/1di5enkavl9vx.js","static/chunks/1_8acnu6_-qe-.js","static/chunks/0u8yr4k1y6m2t.js","static/chunks/2c--awgkdcikq.js","static/chunks/0ti58h622yo-_.js","static/chunks/0ubxyut5rr600.js","static/chunks/21muzwu43o8xg.js","static/chunks/21ko5mxfderw0.js","static/chunks/3fgfbxxb-j_bn.js"].map(t=>e.l(t))).then(()=>t(80911)))}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,99203,t=>{"use strict";var e=t.i(84572),i=t.i(19434),n=t.i(32602),r=t.i(38116);class o extends e.FlowGraphAsyncExecutionBlock{constructor(t){super(t,["animationLoop","animationEnd","animationGroupLoop"]),this.config=t,this.speed=this.registerDataInput("speed",i.RichTypeNumber),this.loop=this.registerDataInput("loop",i.RichTypeBoolean),this.from=this.registerDataInput("from",i.RichTypeNumber,0),this.to=this.registerDataInput("to",i.RichTypeNumber),this.currentFrame=this.registerDataOutput("currentFrame",i.RichTypeNumber),this.currentTime=this.registerDataOutput("currentTime",i.RichTypeNumber),this.currentAnimationGroup=this.registerDataOutput("currentAnimationGroup",i.RichTypeAny),this.animationGroup=this.registerDataInput("animationGroup",i.RichTypeAny,t?.animationGroup),this.animation=this.registerDataInput("animation",i.RichTypeAny),this.object=this.registerDataInput("object",i.RichTypeAny)}_preparePendingTasks(t){let e=this.animationGroup.getValue(t),i=this.animation.getValue(t);if(!e&&!i)return this._reportError(t,"No animation or animation group provided");{let r=this.currentAnimationGroup.getValue(t);r&&r!==e&&r.dispose();let o=e;if(i&&!o){let e=this.object.getValue(t);if(!e)return this._reportError(t,"No target object provided");let r=Array.isArray(i)?i:[i],a=r[0].name;o=new n.AnimationGroup("flowGraphAnimationGroup-"+a+"-"+e.name,t.configuration.scene);let s=!1,u=t._getGlobalContextVariable("interpolationAnimations",[]);for(let t of r)o.addTargetedAnimation(t,e),-1!==u.indexOf(t.uniqueId)&&(s=!0);s&&this._checkInterpolationDuplications(t,r,e)}let a=this.speed.getValue(t)||1,s=this.from.getValue(t)??0,u=this.to.getValue(t)||o.to,l=!isFinite(u)||this.loop.getValue(t);this.currentAnimationGroup.setValue(o,t);let p=t._getGlobalContextVariable("currentlyRunningAnimationGroups",[]);-1!==p.indexOf(o.uniqueId)&&o.stop();try{o.start(l,a,s,u),o.onAnimationGroupEndObservable.add(()=>this._onAnimationGroupEnd(t)),o.onAnimationEndObservable.add(()=>this._eventsSignalOutputs.animationEnd._activateSignal(t)),o.onAnimationLoopObservable.add(()=>this._eventsSignalOutputs.animationLoop._activateSignal(t)),o.onAnimationGroupLoopObservable.add(()=>this._eventsSignalOutputs.animationGroupLoop._activateSignal(t)),p.push(o.uniqueId),t._setGlobalContextVariable("currentlyRunningAnimationGroups",p)}catch(e){this._reportError(t,e)}}}_reportError(t,e){super._reportError(t,e),this.currentFrame.setValue(-1,t),this.currentTime.setValue(-1,t)}_executeOnTick(t){let e=this.currentAnimationGroup.getValue(t);e&&(this.currentFrame.setValue(e.getCurrentFrame(),t),this.currentTime.setValue(e.animatables[0]?.elapsedTime??0,t))}_execute(t){this._startPendingTasks(t)}_onAnimationGroupEnd(t){this._removeFromCurrentlyRunning(t,this.currentAnimationGroup.getValue(t)),this._resetAfterCanceled(t),this.done._activateSignal(t)}_checkInterpolationDuplications(t,e,i){for(let n of t._getGlobalContextVariable("currentlyRunningAnimationGroups",[])){let r=t.assetsContext.animationGroups.find(t=>t.uniqueId===n);if(r)for(let n of r.targetedAnimations)for(let o of e)n.animation.targetProperty===o.targetProperty&&n.target===i&&this._stopAnimationGroup(t,r)}}_stopAnimationGroup(t,e){e.stop(!0),e.name.startsWith("flowGraphAnimationGroup-")&&e.dispose(),this._removeFromCurrentlyRunning(t,e)}_removeFromCurrentlyRunning(t,e){let i=t._getGlobalContextVariable("currentlyRunningAnimationGroups",[]),n=i.indexOf(e.uniqueId);-1!==n&&(i.splice(n,1),t._setGlobalContextVariable("currentlyRunningAnimationGroups",i))}_cancelPendingTasks(t){let e=this.currentAnimationGroup.getValue(t);e&&this._stopAnimationGroup(t,e)}getClassName(){return"FlowGraphPlayAnimationBlock"}}let a=!1;function s(){a||(a=!0,(0,r.RegisterClass)("FlowGraphPlayAnimationBlock",o))}t.s(["FlowGraphPlayAnimationBlock",0,o,"RegisterFlowGraphPlayAnimationBlock",0,s],99033),t.i(12305),s(),t.s([],21947),t.i(21947),t.i(99033),t.s(["FlowGraphPlayAnimationBlock",0,o],99203)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,65334,t=>{"use strict";var e=t.i(19434),i=t.i(79957),o=t.i(38116);class s extends i.FlowGraphExecutionBlock{constructor(t){super(t),this.condition=this.registerDataInput("condition",e.RichTypeBoolean),this.onTrue=this._registerSignalOutput("onTrue"),this.onFalse=this._registerSignalOutput("onFalse")}_execute(t){this.condition.getValue(t)?this.onTrue._activateSignal(t):this.onFalse._activateSignal(t)}getClassName(){return"FlowGraphBranchBlock"}}let a=!1;function n(){a||(a=!0,(0,o.RegisterClass)("FlowGraphBranchBlock",s))}t.s(["FlowGraphBranchBlock",0,s,"RegisterFlowGraphBranchBlock",0,n],25375),n(),t.s([],3495),t.i(3495),t.i(25375),t.s(["FlowGraphBranchBlock",0,s],65334)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,78725,e=>{"use strict";var t=e.i(37068),r=e.i(19434),a=e.i(30302),i=e.i(92943),s=e.i(38116);class l extends t.FlowGraphBlock{constructor(e){super(e),this.config=e,this.array=this.registerDataInput("array",r.RichTypeAny),this.index=this.registerDataInput("index",r.RichTypeAny,new a.FlowGraphInteger(-1)),this.value=this.registerDataOutput("value",r.RichTypeAny)}_updateOutputs(e){let t=this.array.getValue(e),r=(0,i.getNumericValue)(this.index.getValue(e));t&&r>=0&&r<t.length?this.value.setValue(t[r],e):this.value.setValue(null,e)}serialize(e){super.serialize(e)}getClassName(){return"FlowGraphArrayIndexBlock"}}let u=!1;function n(){u||(u=!0,(0,s.RegisterClass)("FlowGraphArrayIndexBlock",l))}e.s(["FlowGraphArrayIndexBlock",0,l,"RegisterFlowGraphArrayIndexBlock",0,n],61048),n(),e.s([],32865),e.i(32865),e.i(61048),e.s(["FlowGraphArrayIndexBlock",0,l],78725)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,4396,i=>{"use strict";i.s([],67924),i.i(67924);var n=i.i(35160);i.s(["ThinEngine",()=>n.ThinEngine],4396)}]);
|