@uptimizr/dashboard 0.4.4 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/404.html +1 -1
- package/out/__next.__PAGE__.txt +4 -4
- package/out/__next._full.txt +11 -11
- package/out/__next._head.txt +4 -4
- package/out/__next._index.txt +4 -4
- package/out/__next._tree.txt +2 -2
- package/out/_next/static/chunks/{2o8k8x5zcepfy.js → 0-k4hp87gwues.js} +1 -1
- package/out/_next/static/chunks/{0s84ekz_f9ngx.js → 0-laj-bivzp4x.js} +1 -1
- package/out/_next/static/chunks/{3tdzweqszru4y.js → 04zj0yf1qhk1o.js} +1 -1
- package/out/_next/static/chunks/05s0t-besbvu1.css +3 -0
- package/out/_next/static/chunks/{1e_-_7biavwmb.js → 06fbalmyyfpsy.js} +1 -1
- package/out/_next/static/chunks/{3yr66ufoli71t.js → 07hgbbqksqd1g.js} +1 -1
- package/out/_next/static/chunks/08ou2nvy48e0u.js +1 -0
- package/out/_next/static/chunks/08y5-irjbsiy8.js +1 -0
- package/out/_next/static/chunks/{2pbgsq7vvtk8_.js → 0_jrfk2u1u3fi.js} +1 -1
- package/out/_next/static/chunks/{1-4v8oivkgnyl.js → 0a475u_q5i_dd.js} +2 -2
- package/out/_next/static/chunks/0aad2r4s4wl1x.js +5 -0
- package/out/_next/static/chunks/{2rjfrjhp4kjev.js → 0cmyc-uvk93kl.js} +52 -52
- package/out/_next/static/chunks/{1ozi46t8jajqh.js → 0d9pxx1w_zqr9.js} +1 -1
- package/out/_next/static/chunks/{3-x7522okdy-7.js → 0e5dcxmkprebg.js} +1 -1
- package/out/_next/static/chunks/{1n_gxvu31aofy.js → 0gk5rnci1hznh.js} +2 -2
- package/out/_next/static/chunks/0gnjtwq-474uc.js +1 -0
- package/out/_next/static/chunks/0gsh_d0m5xss1.js +1 -0
- package/out/_next/static/chunks/0i9wa8hjd-5tc.js +1 -0
- package/out/_next/static/chunks/0ibzpjo0h731v.js +1 -0
- package/out/_next/static/chunks/{41yy4p3-rtyz1.js → 0j0a0wvmmghxj.js} +1 -1
- package/out/_next/static/chunks/{29gv2swsp7tzu.js → 0j2ygtc_-bo3m.js} +1 -1
- package/out/_next/static/chunks/{0dck67in84de0.js → 0j_3k5qhv_mdx.js} +1 -1
- package/out/_next/static/chunks/0jap7l5-bskj4.js +114 -0
- package/out/_next/static/chunks/{0n92hec_jb_-_.js → 0jis2w2mfx062.js} +1 -1
- package/out/_next/static/chunks/0jjvp2slpf7d6.js +1 -0
- package/out/_next/static/chunks/0ko10wo4rc9-b.js +1 -0
- package/out/_next/static/chunks/0lqmvz6k2h_of.js +1 -0
- package/out/_next/static/chunks/0lwjmr8efrlbt.js +17 -0
- package/out/_next/static/chunks/0noxyupihh8dk.js +1 -0
- package/out/_next/static/chunks/{2-hdejef-mpka.js → 0o0qtv35dqv3i.js} +219 -16
- package/out/_next/static/chunks/{43hwl25uke0l_.js → 0o1vph7x9shzu.js} +1 -1
- package/out/_next/static/chunks/{1tt1bbry-4f-6.js → 0o73w0cn5n_vl.js} +1 -1
- package/out/_next/static/chunks/0p6phe9kjlxn8.js +1 -0
- package/out/_next/static/chunks/0ptxb9dcwsw3o.js +1 -0
- package/out/_next/static/chunks/{31ei992g8gqz9.js → 0q0i4pdyq66gb.js} +1 -1
- package/out/_next/static/chunks/0q8pt8fd0ma30.js +1 -0
- package/out/_next/static/chunks/0qqx9aoz8l5d2.js +1 -0
- package/out/_next/static/chunks/0r-x702_jvhud.js +112 -0
- package/out/_next/static/chunks/{2h5nvlgky7fpa.js → 0rykrf_vofbad.js} +1 -1
- package/out/_next/static/chunks/0tsk32q-88t_7.js +1 -0
- package/out/_next/static/chunks/0u7577db_ivyr.js +1 -0
- package/out/_next/static/chunks/0unnrt0un064x.js +1 -0
- package/out/_next/static/chunks/{3mvaub8qjdyuc.js → 0uygtr4mo3h0v.js} +1 -1
- package/out/_next/static/chunks/0vf3facit951s.js +1 -0
- package/out/_next/static/chunks/{2pcdnd4nzcw4c.js → 0vzo-8t8c26k9.js} +1 -1
- package/out/_next/static/chunks/0xx7_7y5jdlh4.js +1 -0
- package/out/_next/static/chunks/0xyija62b6txc.js +1 -0
- package/out/_next/static/chunks/{0vso09vdz38sr.js → 0xzamrecplwzw.js} +1 -1
- package/out/_next/static/chunks/{2khh_pmm224k5.js → 0yd4_xh476fjn.js} +14 -217
- package/out/_next/static/chunks/0ypejzd74ixbw.js +338 -0
- package/out/_next/static/chunks/0zeb37703zcz3.js +1 -0
- package/out/_next/static/chunks/0zu5ato7-1-q9.js +1 -0
- package/out/_next/static/chunks/0zydv7y47dxgh.js +1 -0
- package/out/_next/static/chunks/103x4jwovb6d-.js +1 -0
- package/out/_next/static/chunks/107wfq84g9-kn.js +1 -0
- package/out/_next/static/chunks/10afagk8yn__n.js +1 -0
- package/out/_next/static/chunks/12ory_c78yl31.js +1 -0
- package/out/_next/static/chunks/{1ccn725by19i1.js → 133dqp8_7_yo6.js} +1 -1
- package/out/_next/static/chunks/1365lgwdd4vuo.js +1 -0
- package/out/_next/static/chunks/146ou-ohb_qhs.js +1 -0
- package/out/_next/static/chunks/{425epvuw3yy-n.js → 14e4k-718qadd.js} +31 -31
- package/out/_next/static/chunks/14orr68xgdykd.js +1 -0
- package/out/_next/static/chunks/15qfoj-vl9thu.js +1 -0
- package/out/_next/static/chunks/{0okbyggxe6mx5.js → 161yjxmdz9obc.js} +1 -1
- package/out/_next/static/chunks/166yqx3_qvbpy.js +1 -0
- package/out/_next/static/chunks/16gwjao676ieb.js +1 -0
- package/out/_next/static/chunks/{0n-zml1gn0o1u.js → 16rmmzhy2p7bw.js} +1 -1
- package/out/_next/static/chunks/{442e2l3jzxd-_.js → 17_jjyx4jz9dd.js} +1 -1
- package/out/_next/static/chunks/{0zf26k6juhlzo.js → 184pz6z3dflfm.js} +13 -10
- package/out/_next/static/chunks/18h9ugdz6igdb.js +1 -0
- package/out/_next/static/chunks/19d8n5t7ka2fb.js +1 -0
- package/out/_next/static/chunks/{1mvadj46owrck.js → 1_4hh3dfop93j.js} +1 -1
- package/out/_next/static/chunks/1_rbzw3n4fk0g.js +1 -0
- package/out/_next/static/chunks/{22ja7c3gk0_ko.js → 1a94whad0y57f.js} +1 -1
- package/out/_next/static/chunks/{1vmpltnr0cyos.js → 1aa9g197l4twm.js} +1 -1
- package/out/_next/static/chunks/1bq0fcnt1wy86.js +1 -0
- package/out/_next/static/chunks/{1fyh50hjt7hi_.js → 1bv-jzy_2jiqs.js} +1 -1
- package/out/_next/static/chunks/1c6mho7e0enta.js +1 -0
- package/out/_next/static/chunks/{2ymtumj-hfrjo.js → 1dfaheve77dhi.js} +1 -1
- package/out/_next/static/chunks/1dgf112ehnhm1.js +1 -0
- package/out/_next/static/chunks/{32vaw89wdwv5_.js → 1eirucr9s6-h5.js} +1 -1
- package/out/_next/static/chunks/{0dva036n8ab62.js → 1f07l3q77zat1.js} +1 -1
- package/out/_next/static/chunks/1fervgvgv10r-.js +1 -0
- package/out/_next/static/chunks/1fsof7un7igrn.js +1 -0
- package/out/_next/static/chunks/{3gyyjsot8mdav.js → 1gvu5a6ffbs7l.js} +1 -1
- package/out/_next/static/chunks/{0t89-lfct-7m6.js → 1h1gixjbjkbsl.js} +5 -5
- package/out/_next/static/chunks/1iel4pzhhh-c3.js +1 -0
- package/out/_next/static/chunks/1iojfx3-g4_n9.js +1 -0
- package/out/_next/static/chunks/{1__nujzr9e352.js → 1j4c0nvdo5q68.js} +1 -1
- package/out/_next/static/chunks/{1o3ggu95lfu6i.js → 1j4jt5q7px8sy.js} +1 -1
- package/out/_next/static/chunks/{2g_1ov-0j2kwd.js → 1jjw9hxgi2vzi.js} +1 -1
- package/out/_next/static/chunks/1k_8olnprvi8r.js +1 -0
- package/out/_next/static/chunks/1l0rt7d4m-xdk.js +5 -0
- package/out/_next/static/chunks/{1oljzgz5jistn.js → 1lu7rjfvxj8yj.js} +1 -1
- package/out/_next/static/chunks/{2c2dspoukng-5.js → 1mt4cnd_d6jvf.js} +1 -1
- package/out/_next/static/chunks/1my968s78he8g.js +272 -0
- package/out/_next/static/chunks/{03zip1uidm6x9.js → 1s0dpdqy480hg.js} +1 -1
- package/out/_next/static/chunks/1t-yolk97lmot.js +12 -0
- package/out/_next/static/chunks/1t2g1v0ubcsam.js +1 -0
- package/out/_next/static/chunks/{18wa83g0qfh-b.js → 1tbes2sv-qzcx.js} +1 -1
- package/out/_next/static/chunks/1upy8a5cb75kt.js +1 -0
- package/out/_next/static/chunks/{2zpn7010iqgsy.js → 1x0j78ohufpul.js} +1 -1
- package/out/_next/static/chunks/1xed71f608m4b.js +1 -0
- package/out/_next/static/chunks/1z790xxb46gxy.js +1 -0
- package/out/_next/static/chunks/{22rl_arnzs-ve.js → 1zmx71cvc6ksk.js} +1 -1
- package/out/_next/static/chunks/{3kalvwsf11-ss.js → 2-_a-v1xeo5hb.js} +15 -12
- package/out/_next/static/chunks/2-i29-jdbwww6.js +532 -0
- package/out/_next/static/chunks/{1solqr18og2ot.js → 2117sv2qzo6yq.js} +1 -1
- package/out/_next/static/chunks/219n3q-_eengm.js +1 -0
- package/out/_next/static/chunks/21wo3vdr_uby8.js +1 -0
- package/out/_next/static/chunks/{1nqojcig-0m3c.js → 22yht3s7c-xih.js} +1 -1
- package/out/_next/static/chunks/{3go-mst7n3udd.js → 23-y1f_zw56vo.js} +1 -1
- package/out/_next/static/chunks/{0-tzsd_n-ywom.js → 25brs445bjbik.js} +2 -2
- package/out/_next/static/chunks/25gep78-izw79.js +4 -0
- package/out/_next/static/chunks/{099ilz3dmm1jw.js → 26i7dn31afdtm.js} +1 -1
- package/out/_next/static/chunks/27hbplu797elx.js +1 -0
- package/out/_next/static/chunks/{3n-7bcmfbh299.js → 27z7j17kcrty_.js} +11 -11
- package/out/_next/static/chunks/{380ivzcfb4o_3.js → 287hakn2ijupp.js} +2 -2
- package/out/_next/static/chunks/28i3wgvgn_at1.js +1 -0
- package/out/_next/static/chunks/2992eiy52nazj.js +1 -0
- package/out/_next/static/chunks/29_n5j-hg_gsa.js +1 -0
- package/out/_next/static/chunks/29bxq-67oazfg.js +1 -0
- package/out/_next/static/chunks/{309f81l5ucsb_.js → 29hkkj9raxte9.js} +50 -50
- package/out/_next/static/chunks/29ings58w7kp1.js +1 -0
- package/out/_next/static/chunks/{2e46-2ubc90do.js → 2_6b9lraq-exh.js} +5 -5
- package/out/_next/static/chunks/{3w4qettzp7khe.js → 2_lw4d7t-xcqi.js} +32 -32
- package/out/_next/static/chunks/2_n0cpkdsjzli.js +1 -0
- package/out/_next/static/chunks/2a3iy701j4r_y.js +1 -0
- package/out/_next/static/chunks/2al9dh3_1ixhv.js +1 -0
- package/out/_next/static/chunks/{1gvdmbr65lpud.js → 2as_br1awqk6k.js} +69 -69
- package/out/_next/static/chunks/{0c5d3qn2mb3ew.js → 2awr1c_vfsutb.js} +1 -1
- package/out/_next/static/chunks/{2q0rz76kj6h5z.js → 2b5nt7yn-pq3a.js} +1 -1
- package/out/_next/static/chunks/2bxe3kjr17tdp.js +1 -0
- package/out/_next/static/chunks/{2z9mdtudj8crz.js → 2c8rmxz151fxa.js} +20 -18
- package/out/_next/static/chunks/{35aagg46wp139.js → 2clevl_9ayd0x.js} +1 -1
- package/out/_next/static/chunks/{41qxc142snm22.js → 2dvbzar93ooc-.js} +1 -1
- package/out/_next/static/chunks/2e-vp0e11g9ew.js +1 -0
- package/out/_next/static/chunks/{2-p206i_ihx09.js → 2epukrz6paj9n.js} +1 -1
- package/out/_next/static/chunks/2exj9-0p6n9x-.js +1 -0
- package/out/_next/static/chunks/{05uqfgf-hh-p5.js → 2fspbfbxbswzd.js} +1 -1
- package/out/_next/static/chunks/2gf8l6hbmt7v3.js +1 -0
- package/out/_next/static/chunks/{1ph0tfo-4hl-f.js → 2h07np207nlx7.js} +1 -1
- package/out/_next/static/chunks/{11p92pnn5el0v.js → 2h9i_adbqaxs4.js} +1 -1
- package/out/_next/static/chunks/{0bj_310rugcn1.js → 2iu0_3cx-ny74.js} +11 -11
- package/out/_next/static/chunks/2jio3sio-_43z.js +1 -0
- package/out/_next/static/chunks/{0uxdbfa8gv6tk.js → 2kk_vvmr2xm3d.js} +29 -29
- package/out/_next/static/chunks/2kmmk9coo9_b0.js +505 -0
- package/out/_next/static/chunks/{055baac5e-c2o.js → 2laz1v9fg2a2z.js} +1 -1
- package/out/_next/static/chunks/{1qsut_e3msg0l.js → 2mjjo0yj-4ro4.js} +1 -1
- package/out/_next/static/chunks/{0av6n_6q6kzo3.js → 2mrkv0z2i74pv.js} +2 -2
- package/out/_next/static/chunks/{04_3ri5emyfcu.js → 2neieeo9g2u56.js} +1 -1
- package/out/_next/static/chunks/{1upkv4ltuh3s5.js → 2oacwtbslo90t.js} +84 -84
- package/out/_next/static/chunks/2pb_uosb-aa8x.js +1 -0
- package/out/_next/static/chunks/2qu-gpm3ux1l6.js +1 -0
- package/out/_next/static/chunks/2rsi6v7qmqx2b.js +1 -0
- package/out/_next/static/chunks/2s4fzgzkwjluu.js +2 -0
- package/out/_next/static/chunks/2tdvuc-27khif.js +1 -0
- package/out/_next/static/chunks/{2bm95r0011asw.js → 2trolrgd7neax.js} +1 -1
- package/out/_next/static/chunks/2uyuafmoe5wi0.js +3 -0
- package/out/_next/static/chunks/2w2e0pxgs-n8f.js +1 -0
- package/out/_next/static/chunks/{1qxhgauuomthl.js → 2wgh5i70bzelt.js} +60 -60
- package/out/_next/static/chunks/{3d76e_yd8l_0x.js → 2x-7kbwq8tl-o.js} +59 -59
- package/out/_next/static/chunks/{1t2exh89lnazc.js → 2xe4bgir5l-9b.js} +32 -99
- package/out/_next/static/chunks/2xujlsx3stqig.js +1 -0
- package/out/_next/static/chunks/{267q_eg-c6f6m.js → 3-yhe6rcsjh88.js} +1 -1
- package/out/_next/static/chunks/30y71dxdpv52d.js +1 -0
- package/out/_next/static/chunks/32c-e_v8_2xkf.js +1 -0
- package/out/_next/static/chunks/32oj0iudhp8bm.js +1 -0
- package/out/_next/static/chunks/{0w-hm7g7trtjg.js → 336ckqpboqmbn.js} +1 -1
- package/out/_next/static/chunks/33p9du6y9eegg.js +1 -0
- package/out/_next/static/chunks/{3w_umk1xtj6to.js → 36pz_ews7u0xb.js} +1 -1
- package/out/_next/static/chunks/{1ux1rpe-n1mai.js → 374lzksboll-t.js} +1 -1
- package/out/_next/static/chunks/38om-j0h0rryk.js +1 -0
- package/out/_next/static/chunks/{3oyuoqr8y2g9r.js → 38q0enmlg5q9o.js} +2 -2
- package/out/_next/static/chunks/{25gf6xn9u1c57.js → 39cou9lia_g7l.js} +1 -1
- package/out/_next/static/chunks/39pkya0_bvcaj.js +1 -0
- package/out/_next/static/chunks/{1x99m91nt1m3b.js → 39rhmj_32ujyj.js} +1 -1
- package/out/_next/static/chunks/3_1zzmx92j9c0.js +1 -0
- package/out/_next/static/chunks/{3z4suna4kq4j5.js → 3_dm45k0vk1aa.js} +34 -35
- package/out/_next/static/chunks/3_earszshuz4n.js +1 -0
- package/out/_next/static/chunks/{1ephzzweysylq.js → 3_gfl66zf638s.js} +38 -105
- package/out/_next/static/chunks/3ap_uxc8lx7ni.js +1 -0
- package/out/_next/static/chunks/{0pv2wirx45e1m.js → 3b6na8zrex8jo.js} +1 -1
- package/out/_next/static/chunks/3c0cxt72vilyz.js +1 -0
- package/out/_next/static/chunks/3cp5nmtwxq4gr.js +1 -0
- package/out/_next/static/chunks/{0tn-9w46cwydp.js → 3d43gd91r06y6.js} +39 -40
- package/out/_next/static/chunks/3g78x0pdaoi_4.js +1 -0
- package/out/_next/static/chunks/{1di5enkavl9vx.js → 3gjvl1p-tugfe.js} +2 -2
- package/out/_next/static/chunks/{1mrvp94tietcv.js → 3i8iro1gas1vx.js} +1 -1
- package/out/_next/static/chunks/{3-_08i4_7yhno.js → 3ioxfi3bvznhh.js} +1 -1
- package/out/_next/static/chunks/{2i82rmjta9ijs.js → 3j3ol_d1vsdhx.js} +1 -1
- package/out/_next/static/chunks/3kpqfqr99vo7z.js +1 -0
- package/out/_next/static/chunks/3lladf_wemm-2.js +1 -0
- package/out/_next/static/chunks/{0-0hui1_v3h8b.js → 3mmy9zsb7zo-m.js} +12 -9
- package/out/_next/static/chunks/{17aahvhpls1l7.js → 3my05px5mv_s5.js} +83 -16
- package/out/_next/static/chunks/3n62hbywoknop.js +1 -0
- package/out/_next/static/chunks/{0wq_9f98weoe3.js → 3nr48h9zwum-3.js} +1 -1
- package/out/_next/static/chunks/{2x83vs8ns4pww.js → 3nwaovnpiyrt8.js} +1 -1
- package/out/_next/static/chunks/3o_dmzpahx-5g.js +1 -0
- package/out/_next/static/chunks/{0g2wngc6oe7fd.js → 3p03l0z65c8vc.js} +27 -25
- package/out/_next/static/chunks/{00xc-0pj7on2s.js → 3puu2_-t0lln9.js} +29 -29
- package/out/_next/static/chunks/{077eo-0dhbxz-.js → 3qo7e6b73mfxq.js} +1 -1
- package/out/_next/static/chunks/3r7v7un976sn7.js +1 -0
- package/out/_next/static/chunks/{255knovck7pv2.js → 3rj-5v0j_2-_2.js} +4 -4
- package/out/_next/static/chunks/3rl_nhqwew40w.js +1 -0
- package/out/_next/static/chunks/3s7hqij6xp_4e.js +1 -0
- package/out/_next/static/chunks/{1ng-fqh2_n984.js → 3si3migsmvz9o.js} +1 -1
- package/out/_next/static/chunks/3t4ys6th6gf2w.js +1 -0
- package/out/_next/static/chunks/{1og49_atcksim.js → 3twr9ds68-9us.js} +1 -1
- package/out/_next/static/chunks/{2ftp5xmq_w23j.js → 3txu-i5qn183a.js} +65 -65
- package/out/_next/static/chunks/{3y_51bmdnc0ey.js → 3uarw1i1ij1er.js} +1 -1
- package/out/_next/static/chunks/3un-w6wutw1qn.js +1 -0
- package/out/_next/static/chunks/3v8kgnjk27wbe.js +1 -0
- package/out/_next/static/chunks/{1t7nl8rx7mabd.js → 3vtmucpx25o7q.js} +61 -61
- package/out/_next/static/chunks/{04j9pexbmysdy.js → 3vu5y270muh-7.js} +1 -1
- package/out/_next/static/chunks/3we1khqfexh3x.js +1 -0
- package/out/_next/static/chunks/3yk0hzfq5rcs6.js +1 -0
- package/out/_next/static/chunks/3z35loj4i-id4.js +1 -0
- package/out/_next/static/chunks/{28ndw4nsw2t_4.js → 3zv5kyos9vtmm.js} +1 -1
- package/out/_next/static/chunks/{1hsvckd0sgdgr.js → 415g3asdds1ac.js} +1 -1
- package/out/_next/static/chunks/{1nasz7q3tvb53.js → 42lqt7ig40wk5.js} +1 -1
- package/out/_next/static/chunks/42s6ghsurq5q7.js +1 -0
- package/out/_next/static/chunks/42yctcfi2rfwr.js +1 -0
- package/out/_next/static/chunks/43_fau1gg69eo.js +1 -0
- package/out/_next/static/chunks/43ywrdzg_7af8.js +31 -0
- package/out/_next/static/chunks/{1ho02fc091nj2.js → 44m1ijc5cv80x.js} +1 -1
- package/out/_next/static/chunks/{3k-gz8qf-mj-p.js → 453_bg0lgesmp.js} +1 -1
- package/out/_next/static/chunks/{turbopack-3r8yn0j92tqw_.js → turbopack-1s36ieuku1ds3.js} +1 -1
- package/out/_not-found/__next._full.txt +9 -9
- package/out/_not-found/__next._head.txt +4 -4
- package/out/_not-found/__next._index.txt +4 -4
- package/out/_not-found/__next._not-found.__PAGE__.txt +2 -2
- package/out/_not-found/__next._not-found.txt +3 -3
- package/out/_not-found/__next._tree.txt +2 -2
- package/out/_not-found.html +1 -1
- package/out/_not-found.txt +9 -9
- package/out/index.html +1 -1
- package/out/index.txt +11 -11
- package/package.json +14 -14
- package/out/_next/static/chunks/00g5suuoa-_wn.js +0 -1
- package/out/_next/static/chunks/00o9hr_3hd0r8.js +0 -1
- package/out/_next/static/chunks/01fh3_bncbe5u.js +0 -1
- package/out/_next/static/chunks/01urdkl1j8o6l.js +0 -1
- package/out/_next/static/chunks/026vw95s88gsy.js +0 -1
- package/out/_next/static/chunks/02eui3ctddbd2.js +0 -1
- package/out/_next/static/chunks/04c4nksb5y9r-.js +0 -1
- package/out/_next/static/chunks/04g-l-_b4payc.js +0 -1
- package/out/_next/static/chunks/05bdni_jrobq1.js +0 -1
- package/out/_next/static/chunks/05o0tb8l_htmw.js +0 -1
- package/out/_next/static/chunks/07z6p262h5hgl.js +0 -1
- package/out/_next/static/chunks/08m_4cihfmik8.js +0 -1
- package/out/_next/static/chunks/08obqw64faj8j.js +0 -1
- package/out/_next/static/chunks/09ppu_k464q-n.js +0 -1
- package/out/_next/static/chunks/0bgcaf2x51kms.js +0 -1
- package/out/_next/static/chunks/0dg4wxz-6u5lo.js +0 -1
- package/out/_next/static/chunks/0erga_bzezbza.js +0 -1
- package/out/_next/static/chunks/0f0-i105odxqd.js +0 -1
- package/out/_next/static/chunks/0gyeqz9pagssf.js +0 -1
- package/out/_next/static/chunks/0i82k-t0fbn8f.js +0 -1
- package/out/_next/static/chunks/0kzw45f61wm3j.js +0 -1
- package/out/_next/static/chunks/0l8bfa2xewq69.js +0 -1
- package/out/_next/static/chunks/0qxd_8t3nca36.js +0 -1
- package/out/_next/static/chunks/0s1jghzw8jufz.js +0 -1
- package/out/_next/static/chunks/0ti58h622yo-_.js +0 -2
- package/out/_next/static/chunks/0u8yr4k1y6m2t.js +0 -1
- package/out/_next/static/chunks/0ubxyut5rr600.js +0 -1
- package/out/_next/static/chunks/0wbw9h7rsis2r.js +0 -1
- package/out/_next/static/chunks/0y4e49hpuucdi.js +0 -1
- package/out/_next/static/chunks/0yvevihll7sz-.js +0 -1
- package/out/_next/static/chunks/1-b44873bjsdw.js +0 -1
- package/out/_next/static/chunks/1-c3a1vnl8v1q.js +0 -1
- package/out/_next/static/chunks/1-xf86jgea22y.js +0 -1
- package/out/_next/static/chunks/10b0qqdnb_nox.js +0 -1
- package/out/_next/static/chunks/12kdmh0h_mboy.js +0 -1
- package/out/_next/static/chunks/141tngxsk32hq.js +0 -1
- package/out/_next/static/chunks/14ijcpo72av4r.js +0 -1
- package/out/_next/static/chunks/16hdip1drt8o-.js +0 -1
- package/out/_next/static/chunks/18txc1wwwu9f9.js +0 -1
- package/out/_next/static/chunks/19dp8nr4uygg2.js +0 -5
- package/out/_next/static/chunks/1_8acnu6_-qe-.js +0 -1
- package/out/_next/static/chunks/1bmyq1b0by7ug.js +0 -1
- package/out/_next/static/chunks/1d1tpj9nm1nhf.js +0 -1
- package/out/_next/static/chunks/1dfwa563iciz3.js +0 -1
- package/out/_next/static/chunks/1fwsjnd1y-lx_.js +0 -1
- package/out/_next/static/chunks/1gaexq_suxai0.js +0 -1
- package/out/_next/static/chunks/1gtj_l5ame5mw.js +0 -1
- package/out/_next/static/chunks/1i4f3n_2_3ery.js +0 -1
- package/out/_next/static/chunks/1j7e3qpjuj89a.js +0 -1
- package/out/_next/static/chunks/1qjsgebn9m-0l.js +0 -1
- package/out/_next/static/chunks/1rb8wewjbdisv.js +0 -1
- package/out/_next/static/chunks/1rr74xxjtckyv.js +0 -1
- package/out/_next/static/chunks/1uu55ejvi7q5u.js +0 -1
- package/out/_next/static/chunks/1xbzxfeq9789f.js +0 -1
- package/out/_next/static/chunks/1ybiu-rkt50_1.js +0 -1
- package/out/_next/static/chunks/20qelrstvz9_n.js +0 -1
- package/out/_next/static/chunks/21at65obnoo8z.js +0 -1
- package/out/_next/static/chunks/21ko5mxfderw0.js +0 -1
- package/out/_next/static/chunks/21muzwu43o8xg.js +0 -1
- package/out/_next/static/chunks/23d-hvrwpixpm.js +0 -1
- package/out/_next/static/chunks/2569rrrffvm2w.js +0 -31
- package/out/_next/static/chunks/29o74k0d6hkdf.js +0 -1
- package/out/_next/static/chunks/2btabnibkm0db.js +0 -1
- package/out/_next/static/chunks/2c--awgkdcikq.js +0 -1
- package/out/_next/static/chunks/2ep7mjbaoeou0.js +0 -1
- package/out/_next/static/chunks/2ezgqm7atphi6.js +0 -1
- package/out/_next/static/chunks/2gfjzq_vjea4w.js +0 -1
- package/out/_next/static/chunks/2h5hase6ewoyc.js +0 -1
- package/out/_next/static/chunks/2hghi41nhdww2.css +0 -3
- package/out/_next/static/chunks/2ies66gmou203.js +0 -1
- package/out/_next/static/chunks/2jenu2eek9viz.js +0 -1
- package/out/_next/static/chunks/2luaj_cf5f19-.js +0 -1
- package/out/_next/static/chunks/2mgmvz66gh5ub.js +0 -1
- package/out/_next/static/chunks/2nwlqtv3vrzcv.js +0 -1
- package/out/_next/static/chunks/2si5cg3hl5dtf.js +0 -4
- package/out/_next/static/chunks/2uhrhq35bki6u.js +0 -1
- package/out/_next/static/chunks/2zdzgmacaoor9.js +0 -1
- package/out/_next/static/chunks/2zyjw8g4tiu51.js +0 -1
- package/out/_next/static/chunks/3-irhmtm1q5qw.js +0 -1
- package/out/_next/static/chunks/3-k74vn9exnb6.js +0 -1
- package/out/_next/static/chunks/34845aqksy1dl.js +0 -3
- package/out/_next/static/chunks/34y7nx6qmat06.js +0 -1
- package/out/_next/static/chunks/36rqw8h6ildpl.js +0 -1
- package/out/_next/static/chunks/3a_khw6q6pyh1.js +0 -1
- package/out/_next/static/chunks/3c_31f20z4jrl.js +0 -1
- package/out/_next/static/chunks/3ckp70rgr63u9.js +0 -1
- package/out/_next/static/chunks/3ed24zmt8qfys.js +0 -1
- package/out/_next/static/chunks/3ez20hi1mxw0w.js +0 -1
- package/out/_next/static/chunks/3fdx-rnos5ft-.js +0 -1
- package/out/_next/static/chunks/3fgfbxxb-j_bn.js +0 -4
- package/out/_next/static/chunks/3lehc5pujwhsz.js +0 -1
- package/out/_next/static/chunks/3m0ytnc241yfz.js +0 -1
- package/out/_next/static/chunks/3mpe7c3iyxn5h.js +0 -1
- package/out/_next/static/chunks/3nw7u4bie0-g6.js +0 -1
- package/out/_next/static/chunks/3qatb38-tk_gd.js +0 -1
- package/out/_next/static/chunks/3rpm-1ryf073k.js +0 -1
- package/out/_next/static/chunks/3tdcdi_utmoy_.js +0 -1
- package/out/_next/static/chunks/3tt_ir_va6262.js +0 -1
- package/out/_next/static/chunks/43qmngblcab8f.js +0 -1
- /package/out/_next/static/{UgXxCZvX6DcLoCaAHvGbP → 5UjNvd7WCk97iC2cSmEGH}/_buildManifest.js +0 -0
- /package/out/_next/static/{UgXxCZvX6DcLoCaAHvGbP → 5UjNvd7WCk97iC2cSmEGH}/_clientMiddlewareManifest.js +0 -0
- /package/out/_next/static/{UgXxCZvX6DcLoCaAHvGbP → 5UjNvd7WCk97iC2cSmEGH}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,37875,t=>{"use strict";class e{static GetShadersRepository(t=0){return 0===t?e.ShadersRepository:e.ShadersRepositoryWGSL}static GetShadersStore(t=0){return 0===t?e.ShadersStore:e.ShadersStoreWGSL}static GetIncludesShadersStore(t=0){return 0===t?e.IncludesShadersStore:e.IncludesShadersStoreWGSL}}e.ShadersRepository="src/Shaders/",e.ShadersStore={},e.IncludesShadersStore={},e.ShadersRepositoryWGSL="src/ShadersWGSL/",e.ShadersStoreWGSL={},e.IncludesShadersStoreWGSL={},t.s(["ShaderStore",0,e])},46833,t=>{"use strict";var e=t.i(47997);class i{static GetPlanes(t){let r=[];for(let t=0;t<6;t++)r.push(new e.Plane(0,0,0,0));return i.GetPlanesToRef(t,r),r}static GetNearPlaneToRef(t,e){let i=t.m;e.normal.x=i[3]+i[2],e.normal.y=i[7]+i[6],e.normal.z=i[11]+i[10],e.d=i[15]+i[14],e.normalize()}static GetFarPlaneToRef(t,e){let i=t.m;e.normal.x=i[3]-i[2],e.normal.y=i[7]-i[6],e.normal.z=i[11]-i[10],e.d=i[15]-i[14],e.normalize()}static GetLeftPlaneToRef(t,e){let i=t.m;e.normal.x=i[3]+i[0],e.normal.y=i[7]+i[4],e.normal.z=i[11]+i[8],e.d=i[15]+i[12],e.normalize()}static GetRightPlaneToRef(t,e){let i=t.m;e.normal.x=i[3]-i[0],e.normal.y=i[7]-i[4],e.normal.z=i[11]-i[8],e.d=i[15]-i[12],e.normalize()}static GetTopPlaneToRef(t,e){let i=t.m;e.normal.x=i[3]-i[1],e.normal.y=i[7]-i[5],e.normal.z=i[11]-i[9],e.d=i[15]-i[13],e.normalize()}static GetBottomPlaneToRef(t,e){let i=t.m;e.normal.x=i[3]+i[1],e.normal.y=i[7]+i[5],e.normal.z=i[11]+i[9],e.d=i[15]+i[13],e.normalize()}static GetPlanesToRef(t,e){i.GetNearPlaneToRef(t,e[0]),i.GetFarPlaneToRef(t,e[1]),i.GetLeftPlaneToRef(t,e[2]),i.GetRightPlaneToRef(t,e[3]),i.GetTopPlaneToRef(t,e[4]),i.GetBottomPlaneToRef(t,e[5])}static IsPointInFrustum(t,e){for(let i=0;i<6;i++)if(0>e[i].dotCoordinate(t))return!1;return!0}}t.s(["Frustum",0,i])},5252,t=>{"use strict";var e=t.i(95410),i=t.i(45707);t.s(["PickingInfo",0,class{constructor(){this.hit=!1,this.distance=0,this.pickedPoint=null,this.pickedMesh=null,this.bu=0,this.bv=0,this.faceId=-1,this.subMeshFaceId=-1,this.subMeshId=0,this.pickedSprite=null,this.thinInstanceIndex=-1,this.ray=null,this.originMesh=null,this.aimTransform=null,this.gripTransform=null}getNormal(t=!1,r=!0){let n;if(!this.pickedMesh||r&&!this.pickedMesh.isVerticesDataPresent(i.VertexBuffer.NormalKind))return null;let a=this.pickedMesh.getIndices();a?.length===0&&(a=null);let o=e.TmpVectors.Vector3[0],s=e.TmpVectors.Vector3[1],h=e.TmpVectors.Vector3[2];if(r){let t=this.pickedMesh.getVerticesData(i.VertexBuffer.NormalKind),r=a?e.Vector3.FromArrayToRef(t,3*a[3*this.faceId],o):o.copyFromFloats(t[3*this.faceId*3],t[3*this.faceId*3+1],t[3*this.faceId*3+2]),l=a?e.Vector3.FromArrayToRef(t,3*a[3*this.faceId+1],s):s.copyFromFloats(t[(3*this.faceId+1)*3],t[(3*this.faceId+1)*3+1],t[(3*this.faceId+1)*3+2]),c=a?e.Vector3.FromArrayToRef(t,3*a[3*this.faceId+2],h):h.copyFromFloats(t[(3*this.faceId+2)*3],t[(3*this.faceId+2)*3+1],t[(3*this.faceId+2)*3+2]);r=r.scale(this.bu),l=l.scale(this.bv),c=c.scale(1-this.bu-this.bv),n=new e.Vector3(r.x+l.x+c.x,r.y+l.y+c.y,r.z+l.z+c.z)}else{let t=this.pickedMesh.getVerticesData(i.VertexBuffer.PositionKind),r=a?e.Vector3.FromArrayToRef(t,3*a[3*this.faceId],o):o.copyFromFloats(t[3*this.faceId*3],t[3*this.faceId*3+1],t[3*this.faceId*3+2]),l=a?e.Vector3.FromArrayToRef(t,3*a[3*this.faceId+1],s):s.copyFromFloats(t[(3*this.faceId+1)*3],t[(3*this.faceId+1)*3+1],t[(3*this.faceId+1)*3+2]),c=a?e.Vector3.FromArrayToRef(t,3*a[3*this.faceId+2],h):h.copyFromFloats(t[(3*this.faceId+2)*3],t[(3*this.faceId+2)*3+1],t[(3*this.faceId+2)*3+2]),u=r.subtract(l),d=c.subtract(l);n=e.Vector3.Cross(u,d)}let l=(t,i)=>{if(-1!==this.thinInstanceIndex){let r=t._thinInstanceDataStorage.matrixData,n=this.thinInstanceIndex<<4;if(r&&r.length>n){let t=e.TmpVectors.Matrix[0];e.Matrix.FromArrayToRef(r,n,t),e.Vector3.TransformNormalToRef(i,t,i)}}let r=t.getWorldMatrix();t.nonUniformScaling&&(e.TmpVectors.Matrix[0].copyFrom(r),(r=e.TmpVectors.Matrix[0]).setTranslationFromFloats(0,0,0),r.invert(),r.transposeToRef(e.TmpVectors.Matrix[1]),r=e.TmpVectors.Matrix[1]),e.Vector3.TransformNormalToRef(i,r,i)};if(t&&l(this.pickedMesh,n),this.ray){let i=e.TmpVectors.Vector3[0].copyFrom(n);t||l(this.pickedMesh,i),e.Vector3.Dot(i,this.ray.direction)>0&&n.negateInPlace()}return n.normalize(),n}getTextureCoordinates(t=i.VertexBuffer.UVKind){if(!this.pickedMesh||!this.pickedMesh.isVerticesDataPresent(t))return null;let r=this.pickedMesh.getIndices();if(!r)return null;let n=this.pickedMesh.getVerticesData(t);if(!n)return null;let a=e.Vector2.FromArray(n,2*r[3*this.faceId]),o=e.Vector2.FromArray(n,2*r[3*this.faceId+1]),s=e.Vector2.FromArray(n,2*r[3*this.faceId+2]);return a=a.scale(this.bu),o=o.scale(this.bv),s=s.scale(1-this.bu-this.bv),new e.Vector2(a.x+o.x+s.x,a.y+o.y+s.y)}}])},95801,t=>{"use strict";var e=t.i(95410);class i{}i.POINTERDOWN=1,i.POINTERUP=2,i.POINTERMOVE=4,i.POINTERWHEEL=8,i.POINTERPICK=16,i.POINTERTAP=32,i.POINTERDOUBLETAP=64;class r{constructor(t,e){this.type=t,this.event=e}}t.s(["PointerEventTypes",0,i,"PointerInfo",0,class extends r{get pickInfo(){return this._pickInfo||this._generatePickInfo(),this._pickInfo}constructor(t,e,i,r=null){super(t,e),this._pickInfo=i,this._inputManager=r}_generatePickInfo(){this._inputManager&&(this._pickInfo=this._inputManager._pickMove(this.event),this._inputManager._setRayOnPointerInfo(this._pickInfo,this.event),this._inputManager=null)}},"PointerInfoPre",0,class extends r{constructor(t,i,r,n){super(t,i),this.ray=null,this.originalPickingInfo=null,this.skipOnPointerObservable=!1,this.localPosition=new e.Vector2(r,n)}}])},35705,t=>{"use strict";class e{}e.KEYDOWN=1,e.KEYUP=2;class i{constructor(t,e){this.type=t,this.event=e}}t.s(["KeyboardEventTypes",0,e,"KeyboardInfo",0,i,"KeyboardInfoPre",0,class extends i{get skipOnPointerObservable(){return this.skipOnKeyboardObservable}set skipOnPointerObservable(t){this.skipOnKeyboardObservable=t}constructor(t,e){super(t,e),this.type=t,this.event=e,this.skipOnKeyboardObservable=!1}}])},21056,t=>{"use strict";var e,i;(i=e||(e={}))[i.PointerMove=0]="PointerMove",i[i.PointerDown=1]="PointerDown",i[i.PointerUp=2]="PointerUp";class r{}r.DOM_DELTA_PIXEL=0,r.DOM_DELTA_LINE=1,r.DOM_DELTA_PAGE=2,t.s(["EventConstants",0,r])},5108,t=>{"use strict";class e{constructor(t,e){this.width=t,this.height=e}toString(){return`{W: ${this.width}, H: ${this.height}}`}getClassName(){return"Size"}getHashCode(){let t=0|this.width;return 397*t^this.height}copyFrom(t){this.width=t.width,this.height=t.height}copyFromFloats(t,e){return this.width=t,this.height=e,this}set(t,e){return this.copyFromFloats(t,e)}multiplyByFloats(t,i){return new e(this.width*t,this.height*i)}clone(){return new e(this.width,this.height)}equals(t){return!!t&&this.width===t.width&&this.height===t.height}get surface(){return this.width*this.height}static Zero(){return new e(0,0)}add(t){return new e(this.width+t.width,this.height+t.height)}subtract(t){return new e(this.width-t.width,this.height-t.height)}scale(t){return new e(this.width*t,this.height*t)}static Lerp(t,i,r){return new e(t.width+(i.width-t.width)*r,t.height+(i.height-t.height)*r)}}t.s(["Size",0,e])},88645,t=>{"use strict";t.s(["useOpenGLOrientationForUV",()=>!1])},45984,28602,t=>{"use strict";var e=t.i(95410),i=t.i(42580),r=t.i(90629);class n{constructor(t,e,i){this.name=t,this.from=e,this.to=i}clone(){return new n(this.name,this.from,this.to)}}t.s(["AnimationRange",0,n],28602);var a=t.i(18418),o=t.i(5108),s=t.i(44674),h=t.i(68401),l=t.i(38116);let c=Object.freeze(new e.Quaternion(0,0,0,0)),u=Object.freeze(e.Vector3.Zero()),d=Object.freeze(e.Vector2.Zero()),p=Object.freeze(o.Size.Zero()),_=Object.freeze(i.Color3.Black()),m=Object.freeze(new i.Color4(0,0,0,0)),g={key:0,repeatCount:0,loopMode:2};class f{static _PrepareAnimation(t,r,n,a,s,h,l,c){let u;if(!isNaN(parseFloat(s))&&isFinite(s)?u=f.ANIMATIONTYPE_FLOAT:s instanceof e.Quaternion?u=f.ANIMATIONTYPE_QUATERNION:s instanceof e.Vector3?u=f.ANIMATIONTYPE_VECTOR3:s instanceof e.Vector2?u=f.ANIMATIONTYPE_VECTOR2:s instanceof i.Color3?u=f.ANIMATIONTYPE_COLOR3:s instanceof i.Color4?u=f.ANIMATIONTYPE_COLOR4:s instanceof o.Size&&(u=f.ANIMATIONTYPE_SIZE),void 0==u)return null;let d=new f(t,r,n,u,l);return d.setKeys([{frame:0,value:s},{frame:a,value:h}]),void 0!==c&&d.setEasingFunction(c),d}get runtimeAnimations(){return this._runtimeAnimations}get hasRunningRuntimeAnimations(){for(let t of this._runtimeAnimations)if(!t.isStopped())return!0;return!1}constructor(t,e,i,r,n,a){this.name=t,this.targetProperty=e,this.framePerSecond=i,this.dataType=r,this.loopMode=n,this.enableBlending=a,this._easingFunction=null,this._runtimeAnimations=[],this._events=[],this.blendingSpeed=.01,this._ranges={},this._coreAnimation=null,this.targetPropertyPath=e.split("."),this.dataType=r,this.loopMode=void 0===n?f.ANIMATIONLOOPMODE_CYCLE:n,this.uniqueId=f._UniqueIdGenerator++}toString(t){let e="Name: "+this.name+", property: "+this.targetProperty;if(e+=", datatype: "+["Float","Vector3","Quaternion","Matrix","Color3","Vector2"][this.dataType],e+=", nKeys: "+(this._keys?this._keys.length:"none"),e+=", nRanges: "+(this._ranges?Object.keys(this._ranges).length:"none"),t){e+=", Ranges: {";let t=!0;for(let i in this._ranges)t||(e+=", "),t=!1,e+=i;e+="}"}return e}addEvent(t){this._events.push(t),this._events.sort((t,e)=>t.frame-e.frame)}removeEvents(t){for(let e=0;e<this._events.length;e++)this._events[e].frame===t&&(this._events.splice(e,1),e--)}getEvents(){return this._events}createRange(t,e,i){this._ranges[t]||(this._ranges[t]=new n(t,e,i))}deleteRange(t,e=!0){let i=this._ranges[t];if(i){if(e){let t=i.from,e=i.to;for(let i=this._keys.length-1;i>=0;i--)this._keys[i].frame>=t&&this._keys[i].frame<=e&&this._keys.splice(i,1)}this._ranges[t]=null}}getRange(t){return this._ranges[t]}getKeys(){return this._keys}getHighestFrame(){let t=0;for(let e=0,i=this._keys.length;e<i;e++)t<this._keys[e].frame&&(t=this._keys[e].frame);return t}getEasingFunction(){return this._easingFunction}setEasingFunction(t){this._easingFunction=t}floatInterpolateFunction(t,e,i){return(0,r.Lerp)(t,e,i)}floatInterpolateFunctionWithTangents(t,e,i,n,a){return(0,r.Hermite)(t,e,i,n,a)}quaternionInterpolateFunction(t,i,r){return e.Quaternion.Slerp(t,i,r)}quaternionInterpolateFunctionWithTangents(t,i,r,n,a){return e.Quaternion.Hermite(t,i,r,n,a).normalize()}vector3InterpolateFunction(t,i,r){return e.Vector3.Lerp(t,i,r)}vector3InterpolateFunctionWithTangents(t,i,r,n,a){return e.Vector3.Hermite(t,i,r,n,a)}vector2InterpolateFunction(t,i,r){return e.Vector2.Lerp(t,i,r)}vector2InterpolateFunctionWithTangents(t,i,r,n,a){return e.Vector2.Hermite(t,i,r,n,a)}sizeInterpolateFunction(t,e,i){return o.Size.Lerp(t,e,i)}color3InterpolateFunction(t,e,r){return i.Color3.Lerp(t,e,r)}color3InterpolateFunctionWithTangents(t,e,r,n,a){return i.Color3.Hermite(t,e,r,n,a)}color4InterpolateFunction(t,e,r){return i.Color4.Lerp(t,e,r)}color4InterpolateFunctionWithTangents(t,e,r,n,a){return i.Color4.Hermite(t,e,r,n,a)}_getKeyValue(t){return"function"==typeof t?t():t}evaluate(t){return g.key=0,this._interpolate(t,g)}_interpolate(t,e,i=!1){let r;if(e.loopMode===f.ANIMATIONLOOPMODE_CONSTANT&&e.repeatCount>0)return e.highLimitValue.clone?e.highLimitValue.clone():e.highLimitValue;let n=this._keys;if(this._coreAnimation)r=this._coreAnimation._key;else{let a=n.length;for(r=e.key;r>=0&&t<n[r].frame;)--r;for(;r+1<=a-1&&t>=n[r+1].frame;)++r;if(e.key=r,r<0)return i?void 0:this._getKeyValue(n[0].value);if(r+1>a-1)return i?void 0:this._getKeyValue(n[a-1].value);this._key=r}let a=n[r],o=n[r+1];if(i&&(t===a.frame||t===o.frame))return;let s=this._getKeyValue(a.value),h=this._getKeyValue(o.value);if(1===a.interpolation)if(o.frame>t)return s;else return h;let l=void 0!==a.outTangent&&void 0!==o.inTangent,g=o.frame-a.frame,T=(t-a.frame)/g,A=a.easingFunction||this.getEasingFunction();switch(A&&(T=A.ease(T)),this.dataType){case f.ANIMATIONTYPE_FLOAT:{let t=l?this.floatInterpolateFunctionWithTangents(s,a.outTangent*g,h,o.inTangent*g,T):this.floatInterpolateFunction(s,h,T);switch(e.loopMode){case f.ANIMATIONLOOPMODE_CYCLE:case f.ANIMATIONLOOPMODE_CONSTANT:case f.ANIMATIONLOOPMODE_YOYO:return t;case f.ANIMATIONLOOPMODE_RELATIVE:case f.ANIMATIONLOOPMODE_RELATIVE_FROM_CURRENT:return(e.offsetValue??0)*e.repeatCount+t}break}case f.ANIMATIONTYPE_QUATERNION:{let t=l?this.quaternionInterpolateFunctionWithTangents(s,a.outTangent.scale(g),h,o.inTangent.scale(g),T):this.quaternionInterpolateFunction(s,h,T);switch(e.loopMode){case f.ANIMATIONLOOPMODE_CYCLE:case f.ANIMATIONLOOPMODE_CONSTANT:case f.ANIMATIONLOOPMODE_YOYO:break;case f.ANIMATIONLOOPMODE_RELATIVE:case f.ANIMATIONLOOPMODE_RELATIVE_FROM_CURRENT:return t.addInPlace((e.offsetValue||c).scale(e.repeatCount))}return t}case f.ANIMATIONTYPE_VECTOR3:{let t=l?this.vector3InterpolateFunctionWithTangents(s,a.outTangent.scale(g),h,o.inTangent.scale(g),T):this.vector3InterpolateFunction(s,h,T);switch(e.loopMode){case f.ANIMATIONLOOPMODE_CYCLE:case f.ANIMATIONLOOPMODE_CONSTANT:case f.ANIMATIONLOOPMODE_YOYO:return t;case f.ANIMATIONLOOPMODE_RELATIVE:case f.ANIMATIONLOOPMODE_RELATIVE_FROM_CURRENT:return t.add((e.offsetValue||u).scale(e.repeatCount))}break}case f.ANIMATIONTYPE_VECTOR2:{let t=l?this.vector2InterpolateFunctionWithTangents(s,a.outTangent.scale(g),h,o.inTangent.scale(g),T):this.vector2InterpolateFunction(s,h,T);switch(e.loopMode){case f.ANIMATIONLOOPMODE_CYCLE:case f.ANIMATIONLOOPMODE_CONSTANT:case f.ANIMATIONLOOPMODE_YOYO:return t;case f.ANIMATIONLOOPMODE_RELATIVE:case f.ANIMATIONLOOPMODE_RELATIVE_FROM_CURRENT:return t.add((e.offsetValue||d).scale(e.repeatCount))}break}case f.ANIMATIONTYPE_SIZE:switch(e.loopMode){case f.ANIMATIONLOOPMODE_CYCLE:case f.ANIMATIONLOOPMODE_CONSTANT:case f.ANIMATIONLOOPMODE_YOYO:return this.sizeInterpolateFunction(s,h,T);case f.ANIMATIONLOOPMODE_RELATIVE:case f.ANIMATIONLOOPMODE_RELATIVE_FROM_CURRENT:return this.sizeInterpolateFunction(s,h,T).add((e.offsetValue||p).scale(e.repeatCount))}break;case f.ANIMATIONTYPE_COLOR3:{let t=l?this.color3InterpolateFunctionWithTangents(s,a.outTangent.scale(g),h,o.inTangent.scale(g),T):this.color3InterpolateFunction(s,h,T);switch(e.loopMode){case f.ANIMATIONLOOPMODE_CYCLE:case f.ANIMATIONLOOPMODE_CONSTANT:case f.ANIMATIONLOOPMODE_YOYO:return t;case f.ANIMATIONLOOPMODE_RELATIVE:case f.ANIMATIONLOOPMODE_RELATIVE_FROM_CURRENT:return t.add((e.offsetValue||_).scale(e.repeatCount))}break}case f.ANIMATIONTYPE_COLOR4:{let t=l?this.color4InterpolateFunctionWithTangents(s,a.outTangent.scale(g),h,o.inTangent.scale(g),T):this.color4InterpolateFunction(s,h,T);switch(e.loopMode){case f.ANIMATIONLOOPMODE_CYCLE:case f.ANIMATIONLOOPMODE_CONSTANT:case f.ANIMATIONLOOPMODE_YOYO:return t;case f.ANIMATIONLOOPMODE_RELATIVE:case f.ANIMATIONLOOPMODE_RELATIVE_FROM_CURRENT:return t.add((e.offsetValue||m).scale(e.repeatCount))}break}case f.ANIMATIONTYPE_MATRIX:switch(e.loopMode){case f.ANIMATIONLOOPMODE_CYCLE:case f.ANIMATIONLOOPMODE_CONSTANT:case f.ANIMATIONLOOPMODE_YOYO:if(f.AllowMatricesInterpolation)return this.matrixInterpolateFunction(s,h,T,e.workValue);return s;case f.ANIMATIONLOOPMODE_RELATIVE:case f.ANIMATIONLOOPMODE_RELATIVE_FROM_CURRENT:return s}}return 0}matrixInterpolateFunction(t,i,r,n){return f.AllowMatrixDecomposeForInterpolation?n?(e.Matrix.DecomposeLerpToRef(t,i,r,n),n):e.Matrix.DecomposeLerp(t,i,r):n?(e.Matrix.LerpToRef(t,i,r,n),n):e.Matrix.Lerp(t,i,r)}clone(t=!1){let e=new f(this.name,this.targetPropertyPath.join("."),this.framePerSecond,this.dataType,this.loopMode);if(e.enableBlending=this.enableBlending,e.blendingSpeed=this.blendingSpeed,this._keys&&e.setKeys(this._keys,!1,t),this._ranges)for(let t in e._ranges={},this._ranges){let i=this._ranges[t];i&&(e._ranges[t]=i.clone())}return e}setKeys(t,e=!1,i=!1){if(e)this._keys=t;else if(this._keys=t.slice(0),i)for(let t=0;t<this._keys.length;t++){let e=this._keys[t];this._keys[t]={frame:e.frame,value:e.value.clone?e.value.clone():e.value,inTangent:e.inTangent&&e.inTangent.clone?e.inTangent.clone():e.inTangent,outTangent:e.outTangent&&e.outTangent.clone?e.outTangent.clone():e.outTangent,interpolation:e.interpolation,lockedTangent:e.lockedTangent,easingFunction:e.easingFunction}}}createKeyForFrame(t){g.key=0;let e=this._interpolate(t,g,!0);if(!e)return this._keys[g.key].frame===t?g.key:g.key+1;let i={frame:t,value:e.clone?e.clone():e};return this._keys.splice(g.key+1,0,i),g.key+1}serialize(){let t={};t.name=this.name,t.property=this.targetProperty,t.framePerSecond=this.framePerSecond,t.dataType=this.dataType,t.loopBehavior=this.loopMode,t.enableBlending=this.enableBlending,t.blendingSpeed=this.blendingSpeed;let e=this.dataType;t.keys=[];let i=this.getKeys();for(let r=0;r<i.length;r++){let n=i[r],a={};switch(a.frame=n.frame,e){case f.ANIMATIONTYPE_FLOAT:a.values=[n.value],void 0!==n.inTangent&&a.values.push(n.inTangent),void 0!==n.outTangent&&(void 0===n.inTangent&&a.values.push(void 0),a.values.push(n.outTangent)),void 0!==n.interpolation&&(void 0===n.inTangent&&a.values.push(void 0),void 0===n.outTangent&&a.values.push(void 0),a.values.push(n.interpolation));break;case f.ANIMATIONTYPE_QUATERNION:case f.ANIMATIONTYPE_MATRIX:case f.ANIMATIONTYPE_VECTOR3:case f.ANIMATIONTYPE_COLOR3:case f.ANIMATIONTYPE_COLOR4:a.values=n.value.asArray(),void 0!=n.inTangent&&a.values.push(n.inTangent.asArray()),void 0!=n.outTangent&&(void 0===n.inTangent&&a.values.push(void 0),a.values.push(n.outTangent.asArray())),void 0!==n.interpolation&&(void 0===n.inTangent&&a.values.push(void 0),void 0===n.outTangent&&a.values.push(void 0),a.values.push(n.interpolation))}t.keys.push(a)}for(let e in t.ranges=[],this._ranges){let i=this._ranges[e];if(!i)continue;let r={};r.name=e,r.from=i.from,r.to=i.to,t.ranges.push(r)}return t}static _UniversalLerp(t,e,i){let r=t.constructor;return r.Lerp?r.Lerp(t,e,i):r.Slerp?r.Slerp(t,e,i):t.toFixed?t*(1-i)+i*e:e}}function T(t,i,r,n=!1,a){let o,s=t;(o="object"==typeof i?i:{referenceFrame:i??0,range:r,cloneOriginalAnimation:n,clonedAnimationName:a}).cloneOriginalAnimation&&((s=t.clone()).name=o.clonedAnimationName||s.name);let h=s.getKeys();if(!h.length)return s;let l=o.referenceFrame&&o.referenceFrame>=0?o.referenceFrame:0,c=0,u=h[0],d=h.length-1,p=h[d],_={referenceValue:u.value,referencePosition:e.TmpVectors.Vector3[0],referenceQuaternion:e.TmpVectors.Quaternion[0],referenceScaling:e.TmpVectors.Vector3[1],keyPosition:e.TmpVectors.Vector3[2],keyQuaternion:e.TmpVectors.Quaternion[1],keyScaling:e.TmpVectors.Vector3[3]},m=u.frame,A=p.frame;if(o.range){let t=s.getRange(o.range);t&&(m=t.from,A=t.to)}else m=o.fromFrame??m,A=o.toFrame??A;m!==u.frame&&(c=s.createKeyForFrame(m)),A!==p.frame&&(d=s.createKeyForFrame(A));let I=s.getKeys();if(1===I.length){let t=s._getKeyValue(I[0]);_.referenceValue=t.clone?t.clone():t}else if(l<=u.frame){let t=s._getKeyValue(u.value);_.referenceValue=t.clone?t.clone():t}else if(l>=p.frame){let t=s._getKeyValue(p.value);_.referenceValue=t.clone?t.clone():t}else{g.key=0;let t=s._interpolate(l,g);_.referenceValue=t.clone?t.clone():t}s.dataType===f.ANIMATIONTYPE_QUATERNION?_.referenceValue.normalize().conjugateInPlace():s.dataType===f.ANIMATIONTYPE_MATRIX&&(_.referenceValue.decompose(_.referenceScaling,_.referenceQuaternion,_.referencePosition),_.referenceQuaternion.normalize().conjugateInPlace());let M=Number.MAX_VALUE,O=o.clipKeys?[]:null;for(let t=c;t<=d;t++){let i=I[t];if((O||o.cloneOriginalAnimation)&&(i={frame:i.frame,value:i.value.clone?i.value.clone():i.value,inTangent:i.inTangent,outTangent:i.outTangent,interpolation:i.interpolation,lockedTangent:i.lockedTangent,easingFunction:i.easingFunction},O&&(M===Number.MAX_VALUE&&(M=i.frame),i.frame-=M,O.push(i))),!t||s.dataType===f.ANIMATIONTYPE_FLOAT||i.value!==u.value)switch(s.dataType){case f.ANIMATIONTYPE_MATRIX:i.value.decompose(_.keyScaling,_.keyQuaternion,_.keyPosition),_.keyPosition.subtractInPlace(_.referencePosition),_.keyScaling.divideInPlace(_.referenceScaling),_.referenceQuaternion.multiplyToRef(_.keyQuaternion,_.keyQuaternion),e.Matrix.ComposeToRef(_.keyScaling,_.keyQuaternion,_.keyPosition,i.value);break;case f.ANIMATIONTYPE_QUATERNION:_.referenceValue.multiplyToRef(i.value,i.value);break;case f.ANIMATIONTYPE_VECTOR2:case f.ANIMATIONTYPE_VECTOR3:case f.ANIMATIONTYPE_COLOR3:case f.ANIMATIONTYPE_COLOR4:i.value.subtractToRef(_.referenceValue,i.value);break;case f.ANIMATIONTYPE_SIZE:i.value.width-=_.referenceValue.width,i.value.height-=_.referenceValue.height;break;default:i.value-=_.referenceValue}}return O&&s.setKeys(O,!0),s}function A(t,e,i,r){let n=new f(t+"Animation",t,i,e,f.ANIMATIONLOOPMODE_CONSTANT);return n.setEasingFunction(r),n}function I(t,e,i,r,n,a,o,s,h,l,c){let u=f._PrepareAnimation(t,i,r,n,a,o,s,h);return u&&(e.getScene&&(c=e.getScene()),c)?c.beginDirectAnimation(e,[u],0,n,u.loopMode!==f.ANIMATIONLOOPMODE_CONSTANT,1,l):null}function M(t,e,i,r,n,a,o,s,h,l,c){let u=f._PrepareAnimation(t,r,n,a,o,s,h,l);return u?e.getScene().beginDirectHierarchyAnimation(e,i,[u],0,a,1===u.loopMode,1,c):null}function O(t,e,i,r,n,a,o,s,h,l){let c=f._PrepareAnimation(t,i,r,n,a,o,s,h);return c?(e.animations.push(c),e.getScene().beginAnimation(e,0,n,1===c.loopMode,1,l)):null}function y(t,e,i,r,n,a,o,s=null,h=!0,l){if(o<=0)return i[t]=e,s&&s(),null;let c=o/1e3*n;return a.setKeys(l??[{frame:0,value:i[t].clone?i[t].clone():i[t]},{frame:c,value:e}]),i.animations||(i.animations=[]),i.animations.push(a),r.beginAnimation(i,0,c,!1,1,s??void 0,void 0,h)}function P(t,e){h.SerializationHelper.AppendSerializedAnimations(t,e)}function E(t){let r,n,a=new f(t.name,t.property,t.framePerSecond,t.dataType,t.loopBehavior),o=t.dataType,s=[];for(t.enableBlending&&(a.enableBlending=t.enableBlending),t.blendingSpeed&&(a.blendingSpeed=t.blendingSpeed),n=0;n<t.keys.length;n++){let a,h,l,c=t.keys[n];switch(o){case f.ANIMATIONTYPE_FLOAT:r=c.values[0],c.values.length>=2&&(a=c.values[1]),c.values.length>=3&&(h=c.values[2]),c.values.length>=4&&(l=c.values[3]);break;case f.ANIMATIONTYPE_QUATERNION:if(r=e.Quaternion.FromArray(c.values),c.values.length>=8){let t=e.Quaternion.FromArray(c.values.slice(4,8));t.equals(e.Quaternion.Zero())||(a=t)}if(c.values.length>=12){let t=e.Quaternion.FromArray(c.values.slice(8,12));t.equals(e.Quaternion.Zero())||(h=t)}c.values.length>=13&&(l=c.values[12]);break;case f.ANIMATIONTYPE_MATRIX:r=e.Matrix.FromArray(c.values),c.values.length>=17&&(l=c.values[16]);break;case f.ANIMATIONTYPE_COLOR3:r=i.Color3.FromArray(c.values),c.values[3]&&(a=i.Color3.FromArray(c.values[3])),c.values[4]&&(h=i.Color3.FromArray(c.values[4])),c.values[5]&&(l=c.values[5]);break;case f.ANIMATIONTYPE_COLOR4:r=i.Color4.FromArray(c.values),c.values[4]&&(a=i.Color4.FromArray(c.values[4])),c.values[5]&&(h=i.Color4.FromArray(c.values[5])),c.values[6]&&(l=i.Color4.FromArray(c.values[6]));break;case f.ANIMATIONTYPE_VECTOR3:default:r=e.Vector3.FromArray(c.values),c.values[3]&&(a=e.Vector3.FromArray(c.values[3])),c.values[4]&&(h=e.Vector3.FromArray(c.values[4])),c.values[5]&&(l=c.values[5])}let u={};u.frame=c.frame,u.value=r,void 0!=a&&(u.inTangent=a),void 0!=h&&(u.outTangent=h),void 0!=l&&(u.interpolation=l),s.push(u)}if(a.setKeys(s),t.ranges)for(n=0;n<t.ranges.length;n++)r=t.ranges[n],a.createRange(r.name,r.from,r.to);return a}async function N(t,e){return await new Promise((i,r)=>{let n=new s.WebRequest;n.addEventListener("readystatechange",()=>{if(4==n.readyState)if(200==n.status){let e=JSON.parse(n.responseText);if(e.animations&&(e=e.animations),e.length){let t=[];for(let i of e)t.push(E(i));i(t)}else{let r=E(e);t&&(r.name=t),i(r)}}else r("Unable to load the animation")}),n.open("GET",e),n.send()})}async function v(t){let e=this?.SnippetUrl??f.SnippetUrl;return await new Promise((i,r)=>{let n=new s.WebRequest;n.addEventListener("readystatechange",()=>{if(4==n.readyState)if(200==n.status){let e=JSON.parse(JSON.parse(n.responseText).jsonPayload);if(e.animations){let r=JSON.parse(e.animations),n=[];for(let e of r.animations){let i=E(e);i.snippetId=t,n.push(i)}i(n)}else{let r=E(JSON.parse(e.animation));r.snippetId=t,i(r)}}else r("Unable to load the snippet "+t)}),n.open("GET",e+"/"+t.replace(/#/g,"/")),n.send()})}f._UniqueIdGenerator=0,f.AllowMatricesInterpolation=!1,f.AllowMatrixDecomposeForInterpolation=!0,f.InheritOriginalValueFromActiveAnimations=!1,f.SnippetUrl="https://snippet.babylonjs.com",f.ANIMATIONTYPE_FLOAT=0,f.ANIMATIONTYPE_VECTOR3=1,f.ANIMATIONTYPE_QUATERNION=2,f.ANIMATIONTYPE_MATRIX=3,f.ANIMATIONTYPE_COLOR3=4,f.ANIMATIONTYPE_COLOR4=7,f.ANIMATIONTYPE_VECTOR2=5,f.ANIMATIONTYPE_SIZE=6,f.ANIMATIONLOOPMODE_RELATIVE=0,f.ANIMATIONLOOPMODE_CYCLE=1,f.ANIMATIONLOOPMODE_CONSTANT=2,f.ANIMATIONLOOPMODE_YOYO=4,f.ANIMATIONLOOPMODE_RELATIVE_FROM_CURRENT=5;let R=!1;t.s(["Animation",0,f,"AnimationCreateAnimation",0,A,"AnimationMakeAnimationAdditive",0,T,"AnimationParse",0,E,"RegisterAnimation",0,function(){R||(R=!0,f.Parse=E,f.ParseFromFileAsync=N,f.ParseFromSnippetAsync=v,f.CreateFromSnippetAsync=v,f.CreateAnimation=A,f.CreateAndStartAnimation=I,f.CreateAndStartHierarchyAnimation=M,f.CreateMergeAndStartAnimation=O,f.MakeAnimationAdditive=T,f.TransitionTo=y,f.AppendSerializedAnimations=P,(0,l.RegisterClass)("BABYLON.Animation",f),a.Node._AnimationRangeFactory=(t,e,i)=>new n(t,e,i))},"_StaticOffsetValueColor3",0,_,"_StaticOffsetValueColor4",0,m,"_StaticOffsetValueQuaternion",0,c,"_StaticOffsetValueSize",0,p,"_StaticOffsetValueVector2",0,d,"_StaticOffsetValueVector3",0,u],45984)},27913,t=>{"use strict";var e=t.i(49097);t.s(["DrawWrapper",0,class{static GetEffect(t){return void 0===t.getPipelineContext?t.effect:t}constructor(t,e=!0){this._wasPreviouslyReady=!1,this._forceRebindOnNextCall=!0,this._wasPreviouslyUsingInstances=null,this.effect=null,this.defines=null,this.drawContext=t.createDrawContext(),e&&(this.materialContext=t.createMaterialContext())}setEffect(t,e,i=!0){this.effect=t,void 0!==e&&(this.defines=e),i&&this.drawContext?.reset()}dispose(t=!1){if(this.effect){let i=this.effect;t?i.dispose():e.TimingTools.SetImmediate(()=>{i.getEngine().onEndFrameObservable.addOnce(()=>{i.dispose()})}),this.effect=null}this.drawContext?.dispose()}}])},1901,t=>{"use strict";t.s(["IntersectionInfo",0,class{constructor(t,e,i){this.bu=t,this.bv=e,this.distance=i,this.faceId=0,this.subMeshId=0,this._internalSubMeshId=0}}])},58910,t=>{"use strict";var e,i,r,n,a=t.i(95410);(e=r||(r={}))[e.LOCAL=0]="LOCAL",e[e.WORLD=1]="WORLD",e[e.BONE=2]="BONE";class o{}o.X=new a.Vector3(1,0,0),o.Y=new a.Vector3(0,1,0),o.Z=new a.Vector3(0,0,1),(i=n||(n={}))[i.X=0]="X",i[i.Y=1]="Y",i[i.Z=2]="Z",t.s(["Axis",0,o,"Coordinate",0,n,"Space",0,r])},75202,t=>{"use strict";class e{static get ForceFullSceneLoadingForIncremental(){return e._ForceFullSceneLoadingForIncremental}static set ForceFullSceneLoadingForIncremental(t){e._ForceFullSceneLoadingForIncremental=t}static get ShowLoadingScreen(){return e._ShowLoadingScreen}static set ShowLoadingScreen(t){e._ShowLoadingScreen=t}static get loggingLevel(){return e._LoggingLevel}static set loggingLevel(t){e._LoggingLevel=t}static get CleanBoneMatrixWeights(){return e._CleanBoneMatrixWeights}static set CleanBoneMatrixWeights(t){e._CleanBoneMatrixWeights=t}}e._ForceFullSceneLoadingForIncremental=!1,e._ShowLoadingScreen=!0,e._CleanBoneMatrixWeights=!1,e._LoggingLevel=0,t.s(["SceneLoaderFlags",0,e])},87023,t=>{"use strict";var e,i,r=t.i(90629),n=t.i(95410),a=t.i(82579);(e=i||(i={}))[e.CW=0]="CW",e[e.CCW=1]="CCW";class o{constructor(t){this._radians=t,this._radians<0&&(this._radians+=2*Math.PI)}degrees(){return 180*this._radians/Math.PI}radians(){return this._radians}static BetweenTwoPoints(t,e){let i=e.subtract(t);return new o(Math.atan2(i.y,i.x))}static BetweenTwoVectors(t,e){let i=t.lengthSquared()*e.lengthSquared();if(0===i)return new o(Math.PI/2);i=Math.sqrt(i);let n=t.dot(e)/i;return new o(Math.acos(n=(0,r.Clamp)(n,-1,1)))}static FromRadians(t){return new o(t)}static FromDegrees(t){return new o(t*Math.PI/180)}}class s{constructor(t,e,i){this.startPoint=t,this.midPoint=e,this.endPoint=i;const r=Math.pow(e.x,2)+Math.pow(e.y,2),a=(Math.pow(t.x,2)+Math.pow(t.y,2)-r)/2,s=(r-Math.pow(i.x,2)-Math.pow(i.y,2))/2,h=(t.x-e.x)*(e.y-i.y)-(e.x-i.x)*(t.y-e.y);this.centerPoint=new n.Vector2((a*(e.y-i.y)-s*(t.y-e.y))/h,((t.x-e.x)*s-(e.x-i.x)*a)/h),this.radius=this.centerPoint.subtract(this.startPoint).length(),this.startAngle=o.BetweenTwoPoints(this.centerPoint,this.startPoint);const l=this.startAngle.degrees();let c=o.BetweenTwoPoints(this.centerPoint,this.midPoint).degrees(),u=o.BetweenTwoPoints(this.centerPoint,this.endPoint).degrees();c-l>180&&(c-=360),c-l<-180&&(c+=360),u-c>180&&(u-=360),u-c<-180&&(u+=360),this.orientation=c-l<0?0:1,this.angle=o.FromDegrees(0===this.orientation?l-u:u-l)}}class h{constructor(t,e){this._points=[],this._length=0,this.closed=!1,this._points.push(new n.Vector2(t,e))}addLineTo(t,e){if(this.closed)return this;let i=new n.Vector2(t,e),r=this._points[this._points.length-1];return this._points.push(i),this._length+=i.subtract(r).length(),this}addArcTo(t,e,i,r,a=36){if(this.closed)return this;let o=new s(this._points[this._points.length-1],new n.Vector2(t,e),new n.Vector2(i,r)),h=o.angle.radians()/a;0===o.orientation&&(h*=-1);let l=o.startAngle.radians()+h;for(let t=0;t<a;t++){let t=Math.cos(l)*o.radius+o.centerPoint.x,e=Math.sin(l)*o.radius+o.centerPoint.y;this.addLineTo(t,e),l+=h}return this}addQuadraticCurveTo(t,e,i,r,n=36){if(this.closed)return this;let a=(t,e,i,r)=>(1-t)*(1-t)*e+2*t*(1-t)*i+t*t*r,o=this._points[this._points.length-1];for(let s=0;s<=n;s++){let h=s/n,l=a(h,o.x,t,i),c=a(h,o.y,e,r);this.addLineTo(l,c)}return this}addBezierCurveTo(t,e,i,r,n,a,o=36){if(this.closed)return this;let s=(t,e,i,r,n)=>(1-t)*(1-t)*(1-t)*e+3*t*(1-t)*(1-t)*i+3*t*t*(1-t)*r+t*t*t*n,h=this._points[this._points.length-1];for(let l=0;l<=o;l++){let c=l/o,u=s(c,h.x,t,i,n),d=s(c,h.y,e,r,a);this.addLineTo(u,d)}return this}isPointInside(t){let e=!1,i=this._points.length;for(let r=i-1,n=0;n<i;r=n++){let i=this._points[r],a=this._points[n],o=a.x-i.x,s=a.y-i.y;if(Math.abs(s)>Number.EPSILON){if(s<0&&(i=this._points[n],o=-o,a=this._points[r],s=-s),t.y<i.y||t.y>a.y)continue;if(t.y===i.y&&t.x===i.x)return!0;{let r=s*(t.x-i.x)-o*(t.y-i.y);if(0===r)return!0;if(r<0)continue;e=!e}}else{if(t.y!==i.y)continue;if(a.x<=t.x&&t.x<=i.x||i.x<=t.x&&t.x<=a.x)return!0}}return e}close(){return this.closed=!0,this}length(){let t=this._length;if(this.closed){let e=this._points[this._points.length-1];t+=this._points[0].subtract(e).length()}return t}area(){let t=this._points.length,e=0;for(let i=t-1,r=0;r<t;i=r++)e+=this._points[i].x*this._points[r].y-this._points[r].x*this._points[i].y;return .5*e}getPoints(){return this._points}getPointAtLengthPosition(t){if(t<0||t>1)return n.Vector2.Zero();let e=t*this.length(),i=0;for(let t=0;t<this._points.length;t++){let r=(t+1)%this._points.length,a=this._points[t],o=this._points[r].subtract(a),s=o.length()+i;if(e>=i&&e<=s){let t=o.normalize(),r=e-i;return new n.Vector2(a.x+t.x*r,a.y+t.y*r)}i=s}return n.Vector2.Zero()}static StartingAt(t,e){return new h(t,e)}}class l{constructor(t,e=null,i,r=!1){this.path=t,this._curve=[],this._distances=[],this._tangents=[],this._normals=[],this._binormals=[],this._pointAtData={id:0,point:n.Vector3.Zero(),previousPointArrayIndex:0,position:0,subPosition:0,interpolateReady:!1,interpolationMatrix:n.Matrix.Identity()};for(let e=0;e<t.length;e++)this._curve[e]=t[e].clone();this._raw=i||!1,this._alignTangentsWithPath=r,this._compute(e,r)}getCurve(){return this._curve}getPoints(){return this._curve}length(){return this._distances[this._distances.length-1]}getTangents(){return this._tangents}getNormals(){return this._normals}getBinormals(){return this._binormals}getDistances(){return this._distances}getPointAt(t){return this._updatePointAtData(t).point}getTangentAt(t,e=!1){return this._updatePointAtData(t,e),e?n.Vector3.TransformCoordinates(n.Vector3.Forward(),this._pointAtData.interpolationMatrix):this._tangents[this._pointAtData.previousPointArrayIndex]}getNormalAt(t,e=!1){return this._updatePointAtData(t,e),e?n.Vector3.TransformCoordinates(n.Vector3.Right(),this._pointAtData.interpolationMatrix):this._normals[this._pointAtData.previousPointArrayIndex]}getBinormalAt(t,e=!1){return this._updatePointAtData(t,e),e?n.Vector3.TransformCoordinates(n.Vector3.UpReadOnly,this._pointAtData.interpolationMatrix):this._binormals[this._pointAtData.previousPointArrayIndex]}getDistanceAt(t){return this.length()*t}getPreviousPointIndexAt(t){return this._updatePointAtData(t),this._pointAtData.previousPointArrayIndex}getSubPositionAt(t){return this._updatePointAtData(t),this._pointAtData.subPosition}getClosestPositionTo(t){let e=Number.MAX_VALUE,i=0;for(let r=0;r<this._curve.length-1;r++){let a=this._curve[r+0],o=this._curve[r+1].subtract(a).normalize(),s=this._distances[r+1]-this._distances[r+0],h=Math.min(Math.max(n.Vector3.Dot(o,t.subtract(a).normalize()),0)*n.Vector3.Distance(a,t)/s,1),l=n.Vector3.Distance(a.add(o.scale(h*s)),t);l<e&&(e=l,i=(this._distances[r+0]+s*h)/this.length())}return i}slice(t=0,e=1){if(t<0&&(t=1- -1*t%1),e<0&&(e=1- -1*e%1),t>e){let i=t;t=e,e=i}let i=this.getCurve(),r=this.getPointAt(t),n=this.getPreviousPointIndexAt(t),a=this.getPointAt(e),o=this.getPreviousPointIndexAt(e)+1,s=[];return 0!==t&&(n++,s.push(r)),s.push(...i.slice(n,o)),(1!==e||1===t)&&s.push(a),new l(s,this.getNormalAt(t),this._raw,this._alignTangentsWithPath)}update(t,e=null,i=!1){for(let e=0;e<t.length;e++)this._curve[e].x=t[e].x,this._curve[e].y=t[e].y,this._curve[e].z=t[e].z;return this._compute(e,i),this}_compute(t,e=!1){let i,r,a,o,s,h=this._curve.length;if(h<2)return;this._tangents[0]=this._getFirstNonNullVector(0),this._raw||this._tangents[0].normalize(),this._tangents[h-1]=this._curve[h-1].subtract(this._curve[h-2]),this._raw||this._tangents[h-1].normalize();let l=this._tangents[0],c=this._normalVector(l,t);this._normals[0]=c,this._raw||this._normals[0].normalize(),this._binormals[0]=n.Vector3.Cross(l,this._normals[0]),this._raw||this._binormals[0].normalize(),this._distances[0]=0;for(let t=1;t<h;t++)i=this._getLastNonNullVector(t),t<h-1&&(r=this._getFirstNonNullVector(t),this._tangents[t]=e?r:i.add(r),this._tangents[t].normalize()),this._distances[t]=this._distances[t-1]+this._curve[t].subtract(this._curve[t-1]).length(),a=this._tangents[t],s=this._binormals[t-1],this._normals[t]=n.Vector3.Cross(s,a),this._raw||(0===this._normals[t].length()?(o=this._normals[t-1],this._normals[t]=o.clone()):this._normals[t].normalize()),this._binormals[t]=n.Vector3.Cross(a,this._normals[t]),this._raw||this._binormals[t].normalize();this._pointAtData.id=NaN}_getFirstNonNullVector(t){let e=1,i=this._curve[t+e].subtract(this._curve[t]);for(;0===i.length()&&t+e+1<this._curve.length;)e++,i=this._curve[t+e].subtract(this._curve[t]);return i}_getLastNonNullVector(t){let e=1,i=this._curve[t].subtract(this._curve[t-e]);for(;0===i.length()&&t>e+1;)e++,i=this._curve[t].subtract(this._curve[t-e]);return i}_normalVector(t,e){let i,o=t.length();if(0===o&&(o=1),null==e){let e;e=(0,r.WithinEpsilon)(Math.abs(t.y)/o,1,a.Epsilon)?(0,r.WithinEpsilon)(Math.abs(t.x)/o,1,a.Epsilon)?(0,r.WithinEpsilon)(Math.abs(t.z)/o,1,a.Epsilon)?n.Vector3.Zero():new n.Vector3(0,0,1):new n.Vector3(1,0,0):new n.Vector3(0,-1,0),i=n.Vector3.Cross(t,e)}else i=n.Vector3.Cross(t,e),n.Vector3.CrossToRef(i,t,i);return i.normalize(),i}_updatePointAtData(t,e=!1){let i;if(this._pointAtData.id===t)return this._pointAtData.interpolateReady||this._updateInterpolationMatrix(),this._pointAtData;this._pointAtData.id=t;let r=this.getPoints();if(t<=0)return this._setPointAtData(0,0,r[0],0,e);if(t>=1)return this._setPointAtData(1,1,r[r.length-1],r.length-1,e);let a=r[0],o=0,s=t*this.length();for(let h=1;h<r.length;h++){i=r[h];let l=n.Vector3.Distance(a,i);if((o+=l)===s)return this._setPointAtData(t,1,i,h,e);if(o>s){let r=(o-s)/l,n=a.subtract(i),c=i.add(n.scaleInPlace(r));return this._setPointAtData(t,1-r,c,h-1,e)}a=i}return this._pointAtData}_setPointAtData(t,e,i,r,n){return this._pointAtData.point=i,this._pointAtData.position=t,this._pointAtData.subPosition=e,this._pointAtData.previousPointArrayIndex=r,this._pointAtData.interpolateReady=n,n&&this._updateInterpolationMatrix(),this._pointAtData}_updateInterpolationMatrix(){this._pointAtData.interpolationMatrix=n.Matrix.Identity();let t=this._pointAtData.previousPointArrayIndex;if(t!==this._tangents.length-1){let e=t+1,i=this._tangents[t].clone(),r=this._normals[t].clone(),a=this._binormals[t].clone(),o=this._tangents[e].clone(),s=this._normals[e].clone(),h=this._binormals[e].clone(),l=n.Quaternion.RotationQuaternionFromAxis(r,a,i),c=n.Quaternion.RotationQuaternionFromAxis(s,h,o);n.Quaternion.Slerp(l,c,this._pointAtData.subPosition).toRotationMatrix(this._pointAtData.interpolationMatrix)}}}class c{static CreateQuadraticBezier(t,e,i,r){r=r>2?r:3;let a=[],o=(t,e,i,r)=>(1-t)*(1-t)*e+2*t*(1-t)*i+t*t*r;for(let s=0;s<=r;s++)a.push(new n.Vector3(o(s/r,t.x,e.x,i.x),o(s/r,t.y,e.y,i.y),o(s/r,t.z,e.z,i.z)));return new c(a)}static CreateCubicBezier(t,e,i,r,a){a=a>3?a:4;let o=[],s=(t,e,i,r,n)=>(1-t)*(1-t)*(1-t)*e+3*t*(1-t)*(1-t)*i+3*t*t*(1-t)*r+t*t*t*n;for(let h=0;h<=a;h++)o.push(new n.Vector3(s(h/a,t.x,e.x,i.x,r.x),s(h/a,t.y,e.y,i.y,r.y),s(h/a,t.z,e.z,i.z,r.z)));return new c(o)}static CreateHermiteSpline(t,e,i,r,a){let o=[],s=1/a;for(let h=0;h<=a;h++)o.push(n.Vector3.Hermite(t,e,i,r,h*s));return new c(o)}static CreateCatmullRomSpline(t,e,i){let r=[],a=1/e,o=0;if(i){let i=t.length;for(let s=0;s<i;s++){o=0;for(let h=0;h<e;h++)r.push(n.Vector3.CatmullRom(t[s%i],t[(s+1)%i],t[(s+2)%i],t[(s+3)%i],o)),o+=a}r.push(r[0])}else{let i=[];i.push(t[0].clone()),i.push(...t),i.push(t[t.length-1].clone());let s=0;for(;s<i.length-3;s++){o=0;for(let t=0;t<e;t++)r.push(n.Vector3.CatmullRom(i[s],i[s+1],i[s+2],i[s+3],o)),o+=a}s--,r.push(n.Vector3.CatmullRom(i[s],i[s+1],i[s+2],i[s+3],o))}return new c(r)}static ArcThru3Points(t,e,i,r=32,a=!1,o=!1){let s=[],h=e.subtract(t),l=i.subtract(e),u=t.subtract(i),d=n.Vector3.Cross(h,l),p=d.length();if(p<1e-8)return new c(s);let _=h.lengthSquared(),m=l.lengthSquared(),g=u.lengthSquared(),f=d.lengthSquared(),T=.5*h.length()*l.length()*u.length()/p,A=n.Vector3.Dot(h,u),I=n.Vector3.Dot(h,l),M=n.Vector3.Dot(l,u),O=t.scale(-.5*m*A/f).add(e.scale(-.5*g*I/f)).add(i.scale(-.5*_*M/f)),y=t.subtract(O).normalize(),P=n.Vector3.Cross(d,y).normalize();if(o){let e=2*Math.PI/r;for(let t=0;t<=2*Math.PI;t+=e)s.push(O.add(y.scale(T*Math.cos(t)).add(P.scale(T*Math.sin(t)))));s.push(t)}else{let e,n=1/r,o=0;do e=O.add(y.scale(T*Math.cos(o)).add(P.scale(T*Math.sin(o)))),s.push(e),o+=n;while(!e.equalsWithEpsilon(i,T*n*1.1))s.push(i),a&&s.push(t)}return new c(s)}constructor(t){this._length=0,this._points=t,this._length=this._computeLength(t)}getPoints(){return this._points}length(){return this._length}continue(t){let e=this._points[this._points.length-1],i=this._points.slice(),r=t.getPoints();for(let t=1;t<r.length;t++)i.push(r[t].subtract(r[0]).add(e));return new c(i)}_computeLength(t){let e=0;for(let i=1;i<t.length;i++)e+=t[i].subtract(t[i-1]).length();return e}}t.s(["Angle",0,o,"Arc2",0,s,"BezierCurve",0,class{static Interpolate(t,e,i,r,n){if(0===t)return 0;let a=1-3*r+3*e,o=3*r-6*e,s=3*e,h=t;for(let e=0;e<5;e++){let e=h*h,i=e*h*a+o*e+s*h,r=1/(3*a*e+2*o*h+s);h-=(i-t)*r,h=Math.min(1,Math.max(0,h))}return 3*Math.pow(1-h,2)*h*i+3*(1-h)*Math.pow(h,2)*n+Math.pow(h,3)}},"Curve3",0,c,"Orientation",0,i,"Path2",0,h,"Path3D",0,l])},15205,t=>{"use strict";var e=t.i(87023);class i{constructor(){this._easingMode=i.EASINGMODE_EASEIN}setEasingMode(t){let e=Math.min(Math.max(t,0),2);this._easingMode=e}getEasingMode(){return this._easingMode}easeInCore(t){throw Error("You must implement this method")}ease(t){switch(this._easingMode){case i.EASINGMODE_EASEIN:return this.easeInCore(t);case i.EASINGMODE_EASEOUT:return 1-this.easeInCore(1-t)}return t>=.5?(1-this.easeInCore((1-t)*2))*.5+.5:.5*this.easeInCore(2*t)}}i.EASINGMODE_EASEIN=0,i.EASINGMODE_EASEOUT=1,i.EASINGMODE_EASEINOUT=2,t.s(["BackEase",0,class extends i{constructor(t=1){super(),this.amplitude=t}easeInCore(t){return Math.pow(t,3)-t*Math.max(0,this.amplitude)*Math.sin(3.141592653589793*t)}},"BezierCurveEase",0,class extends i{constructor(t=0,e=0,i=1,r=1){super(),this.x1=t,this.y1=e,this.x2=i,this.y2=r}easeInCore(t){return e.BezierCurve.Interpolate(t,this.x1,this.y1,this.x2,this.y2)}},"BounceEase",0,class extends i{constructor(t=3,e=2){super(),this.bounces=t,this.bounciness=e}easeInCore(t){let e=Math.max(0,this.bounces),i=this.bounciness;i<=1&&(i=1.001);let r=Math.pow(i,e),n=1-i,a=(1-r)/n+.5*r,o=Math.floor(Math.log(-(t*a)*(1-i)+1)/Math.log(i)),s=(1-Math.pow(i,o))/(n*a),h=(s+(1-Math.pow(i,o+1))/(n*a))*.5,l=t-h,c=h-s;return-Math.pow(1/i,e-o)/(c*c)*(l-c)*(l+c)}},"CircleEase",0,class extends i{easeInCore(t){return 1-Math.sqrt(1-(t=Math.max(0,Math.min(1,t)))*t)}},"CubicEase",0,class extends i{easeInCore(t){return t*t*t}},"EasingFunction",0,i,"ElasticEase",0,class extends i{constructor(t=3,e=3){super(),this.oscillations=t,this.springiness=e}easeInCore(t){let e=Math.max(0,this.oscillations),i=Math.max(0,this.springiness);return(0===i?t:(Math.exp(i*t)-1)/(Math.exp(i)-1))*Math.sin((6.283185307179586*e+1.5707963267948966)*t)}},"ExponentialEase",0,class extends i{constructor(t=2){super(),this.exponent=t}easeInCore(t){return this.exponent<=0?t:(Math.exp(this.exponent*t)-1)/(Math.exp(this.exponent)-1)}}])},81139,95357,35218,58106,t=>{"use strict";var e=t.i(85595),i=t.i(53773),r=t.i(95603),n=t.i(95410),a=t.i(82579),o=t.i(58910);class s{constructor(t,e,i){this._cameraPosition=e,this._behavior=i,this.activeInput=!1,this.speed=1,this.zoomSpeed=1,this.panSpeed=1,this.rotationXSpeed=1,this.rotationYSpeed=1,this._zoomSpeedMultiplier=1,this._panSpeedMultiplier=1,this.zoomInertia=.9,this.panInertia=.9,this.rotationInertia=.9,this.zoomAccumulatedPixels=0,this.panAccumulatedPixels=new n.Vector3,this.rotationAccumulatedPixels=new n.Vector3,this.zoomDeltaCurrentFrame=0,this.panDeltaCurrentFrame=n.Vector3.Zero(),this.rotationDeltaCurrentFrame=n.Vector3.Zero(),this._zoomVelocity=0,this._panVelocity=new n.Vector3,this.referenceFrameRate=60,this._rotationVelocity=new n.Vector3,this._prevFrameTimeMs=0,this._scene=t}computeCurrentFrameDeltas(){let t=this._scene.getEngine().getDeltaTime(),e=this._getEffectiveDeltaMs(t);if(0===this._zoomVelocity&&0===this.zoomAccumulatedPixels&&0===this._panVelocity.x&&0===this._panVelocity.y&&0===this._panVelocity.z&&0===this.panAccumulatedPixels.x&&0===this.panAccumulatedPixels.y&&0===this.panAccumulatedPixels.z&&0===this._rotationVelocity.x&&0===this._rotationVelocity.y&&0===this._rotationVelocity.z&&0===this.rotationAccumulatedPixels.x&&0===this.rotationAccumulatedPixels.y&&0===this.rotationAccumulatedPixels.z&&!this.activeInput){this.panDeltaCurrentFrame.setAll(0),this.rotationDeltaCurrentFrame.setAll(0),this.zoomDeltaCurrentFrame=0,t>0&&(this._prevFrameTimeMs=t);return}this.panDeltaCurrentFrame.setAll(0),this.rotationDeltaCurrentFrame.setAll(0),this.zoomDeltaCurrentFrame=0,(this.panAccumulatedPixels.lengthSquared()>0||this.rotationAccumulatedPixels.lengthSquared()>0||0!==this.zoomAccumulatedPixels)&&this._behavior?.isInterpolating&&this._behavior.stopAllAnimations(),this._panVelocity.copyFromFloats(this._calculateCurrentVelocity(this._panVelocity.x,this.panAccumulatedPixels.x,this.panInertia),this._calculateCurrentVelocity(this._panVelocity.y,this.panAccumulatedPixels.y,this.panInertia),this._calculateCurrentVelocity(this._panVelocity.z,this.panAccumulatedPixels.z,this.panInertia)),this._panVelocity.scaleToRef(this.speed*this.panSpeed*this._panSpeedMultiplier*e,this.panDeltaCurrentFrame),this._rotationVelocity.copyFromFloats(this._calculateCurrentVelocity(this._rotationVelocity.x,this.rotationAccumulatedPixels.x,this.rotationInertia),this._calculateCurrentVelocity(this._rotationVelocity.y,this.rotationAccumulatedPixels.y,this.rotationInertia),this._calculateCurrentVelocity(this._rotationVelocity.z,this.rotationAccumulatedPixels.z,this.rotationInertia)),this.rotationDeltaCurrentFrame.copyFromFloats(this._rotationVelocity.x*this.speed*this.rotationXSpeed*e,this._rotationVelocity.y*this.speed*this.rotationYSpeed*e,0),this._zoomVelocity=this._calculateCurrentVelocity(this._zoomVelocity,this.zoomAccumulatedPixels,this.zoomInertia),this.zoomDeltaCurrentFrame=this._zoomVelocity*(this.speed*this.zoomSpeed*this._zoomSpeedMultiplier)*e,t>0&&(this._prevFrameTimeMs=t),this.zoomAccumulatedPixels=0,this.panAccumulatedPixels.setAll(0),this.rotationAccumulatedPixels.setAll(0),this.activeInput=!1}resetRotationVelocity(){this._rotationVelocity.setAll(0),this.rotationAccumulatedPixels.setAll(0)}resetPanVelocity(){this._panVelocity.setAll(0),this.panAccumulatedPixels.setAll(0)}resetZoomVelocity(){this._zoomVelocity=0,this.zoomAccumulatedPixels=0}get isInterpolating(){return!!this._behavior?.isInterpolating}getFrameIndependentDecay(t){let e=this._scene.getEngine().getDeltaTime();return Math.pow(t,this._getEffectiveDeltaMs(e)/(1e3/this.referenceFrameRate))}getFrameIndependentInputScale(t){let e=1-t;return e<=0?1:(1-this.getFrameIndependentDecay(t))/e}_getEffectiveDeltaMs(t){return t>0?t:this._prevFrameTimeMs>0?this._prevFrameTimeMs:1e3/this.referenceFrameRate}_calculateCurrentVelocity(t,e,i){let r=t,n=this._scene.getEngine().getDeltaTime(),a=this._getEffectiveDeltaMs(n);if(0===a)return r;let o=this.getFrameIndependentDecay(i);if(r*=o,0!==e||this.activeInput){let t=1-i;r+=e/a*(t>0?(1-o)/t:1)}else 1e-6>Math.abs(r)&&(r=0);return r}}t.s(["CameraMovement",0,s],95357);class h{constructor(t,e){this.inputMap=[],this.handlers=t,this._createDefaultEntries=e,this.resetInputMap()}resolveInteraction(t,e){for(let i of this.inputMap)if(i.source===t&&this._entryMatches(i,e))return i;return null}resetInputMap(){this.inputMap=this._createDefaultEntries?.()??[]}getEntry(t,e,i){let r=this.inputMap;for(let n=0;n<r.length;n++){let a=r[n];if(a.source===t&&a.interaction===e&&this._entryConditionsMatch(a,i))return a}}getEntries(t,e,i){let r=[],n=this.inputMap;for(let a=0;a<n.length;a++){let o=n[a];o.source===t&&o.interaction===e&&this._entryConditionsMatch(o,i)&&r.push(o)}return r}addEntry(t){let e=this._entrySpecificity(t),i=this.inputMap.length;for(let t=0;t<this.inputMap.length;t++)if(this._entrySpecificity(this.inputMap[t])<e){i=t;break}this.inputMap.splice(i,0,t)}setInteraction(t,e,i){let r=this.resolveInteraction(t,e);return r&&this._entryCoversAllConditionsOf(r,e)?r.interaction=i:this.addEntry({source:t,...e??{},interaction:i}),!0}_entryCoversAllConditionsOf(t,e){if(!e)return!0;for(let i of Object.keys(e)){let r=e[i];if(void 0!==r){if("modifiers"===i){let e=t.modifiers??{};for(let t of Object.keys(r))if(void 0!==r[t]&&void 0===e[t])return!1}else if(void 0===t[i])return!1}}return!0}setInteractions(t,e,i){let r=0,n=this.inputMap;for(let a=0;a<n.length;a++){let o=n[a];o.source===t&&this._entryMatches(o,e)&&(o.interaction=i,r++)}return r}_entryMatches(t,e){switch(t.source){case"pointer":if(void 0!==t.button&&t.button!==e?.button)return!1;return this._matchModifiers(t.modifiers,e?.modifiers);case"wheel":return this._matchModifiers(t.modifiers,e?.modifiers);case"touch":if(void 0!==t.touchCount&&t.touchCount!==e?.touchCount)return!1;return!0;case"keyboard":if(void 0!==t.key&&(Array.isArray(t.key)?-1===t.key.indexOf(e?.key??-1):t.key!==e?.key))return!1;return this._matchModifiers(t.modifiers,e?.modifiers)}}_entryConditionsMatch(t,e){if(!e)return!0;switch(t.source){case"pointer":if("button"in e&&t.button!==e.button)return!1;return!("modifiers"in e)||this._entryModifiersMatch(t.modifiers,e.modifiers);case"wheel":return!("modifiers"in e)||this._entryModifiersMatch(t.modifiers,e.modifiers);case"touch":return!("touchCount"in e)||t.touchCount===e.touchCount;case"keyboard":if("key"in e){if(void 0===t.key)return void 0===e.key;if(void 0===e.key||(Array.isArray(t.key)?-1===t.key.indexOf(e.key):t.key!==e.key))return!1}return!("modifiers"in e)||this._entryModifiersMatch(t.modifiers,e.modifiers)}}_entrySpecificity(t){let e=0;return"button"in t&&void 0!==t.button&&e++,"key"in t&&void 0!==t.key&&e++,"touchCount"in t&&void 0!==t.touchCount&&e++,"modifiers"in t&&t.modifiers&&e++,e}_matchModifiers(t,e){return!t||(void 0===t.ctrl||t.ctrl===(e?.ctrl??!1))&&(void 0===t.shift||t.shift===(e?.shift??!1))&&(void 0===t.alt||t.alt===(e?.alt??!1))}_entryModifiersMatch(t,e){return e?void 0===e.ctrl&&void 0===e.shift&&void 0===e.alt?!t||void 0===t.ctrl&&void 0===t.shift&&void 0===t.alt:(void 0===e.ctrl||t?.ctrl===e.ctrl)&&(void 0===e.shift||t?.shift===e.shift)&&(void 0===e.alt||t?.alt===e.alt):!t}}t.s(["InputMapper",0,h],35218);class l extends s{constructor(t,e,i){super(t,e,i),this.input=new h({translate:(t,e,i)=>{this.panAccumulatedPixels.x+=t,this.panAccumulatedPixels.y+=e,this.panAccumulatedPixels.z+=i},rotate:(t,e)=>{this.rotationAccumulatedPixels.x+=t,this.rotationAccumulatedPixels.y+=e}},()=>this._createDefaultInputMap())}_createDefaultInputMap(){return[{source:"pointer",interaction:"rotate"},{source:"keyboard",interaction:"translate"},{source:"keyboard",interaction:"rotate"},{source:"touch",interaction:"rotate"},{source:"touch",interaction:"translate"}]}}let c=n.Matrix.Zero(),u=n.Quaternion.Identity();class d extends r.Camera{get inertia(){return this._targetInertia}set inertia(t){this._targetInertia=t,this.movement&&(this.movement.panInertia=t,this.movement.rotationInertia=t)}constructor(t,e,i,r=!0){super(t,e,i,r),this.cameraDirection=new n.Vector3(0,0,0),this.cameraRotation=new n.Vector2(0,0),this._targetInertia=.9,this.updateUpVectorFromRotation=!1,this.speed=2,this.noRotationConstraint=!1,this.invertRotation=!1,this.inverseRotationSpeed=.2,this._panningEpsilon=a.Epsilon,this._rotationEpsilon=a.Epsilon,this.lockedTarget=null,this._currentTarget=n.Vector3.Zero(),this._initialFocalDistance=1,this._viewMatrix=n.Matrix.Zero(),this._cameraTransformMatrix=n.Matrix.Zero(),this._cameraRotationMatrix=n.Matrix.Zero(),this._transformedReferencePoint=n.Vector3.Zero(),this._deferredPositionUpdate=new n.Vector3,this._deferredRotationQuaternionUpdate=new n.Quaternion,this._deferredRotationUpdate=new n.Vector3,this._deferredUpdated=!1,this._deferOnly=!1,this._cachedRotationZ=0,this._cachedQuaternionRotationZ=0,this._referencePoint=n.Vector3.Forward(this.getScene().useRightHandedSystem),this.rotation=new n.Vector3(0,this.getScene().useRightHandedSystem?Math.PI:0,0),this.movement=new l(this.getScene(),this.position),this.movement.panInertia=this.inertia,this.movement.rotationInertia=this.inertia}getFrontPosition(t){this.getWorldMatrix();let e=n.TmpVectors.Vector3[0],i=n.TmpVectors.Vector3[1];return i.set(0,0,this._scene.useRightHandedSystem?-1:1),this.getDirectionToRef(i,e),e.scaleInPlace(t),this.globalPosition.add(e)}_getLockedTargetPosition(){if(!this.lockedTarget)return null;if(this.lockedTarget.absolutePosition){let t=this.lockedTarget;t.computeWorldMatrix().getTranslationToRef(t.absolutePosition)}return this.lockedTarget.absolutePosition||this.lockedTarget}storeState(){return this._storedPosition=this.position.clone(),this._storedRotation=this.rotation.clone(),this.rotationQuaternion&&(this._storedRotationQuaternion=this.rotationQuaternion.clone()),super.storeState()}_restoreStateValues(){return!!super._restoreStateValues()&&(this.position=this._storedPosition.clone(),this.rotation=this._storedRotation.clone(),this.rotationQuaternion&&this._storedRotationQuaternion&&(this.rotationQuaternion=this._storedRotationQuaternion.clone()),this.cameraDirection.copyFromFloats(0,0,0),this.cameraRotation.copyFromFloats(0,0),!0)}_initCache(){super._initCache(),this._cache.lockedTarget=new n.Vector3(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),this._cache.rotation=new n.Vector3(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),this._cache.rotationQuaternion=new n.Quaternion(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE)}_updateCache(t){t||super._updateCache();let e=this._getLockedTargetPosition();e?this._cache.lockedTarget?this._cache.lockedTarget.copyFrom(e):this._cache.lockedTarget=e.clone():this._cache.lockedTarget=null,this._cache.rotation.copyFrom(this.rotation),this.rotationQuaternion&&this._cache.rotationQuaternion.copyFrom(this.rotationQuaternion)}_isSynchronizedViewMatrix(){if(!super._isSynchronizedViewMatrix())return!1;let t=this._getLockedTargetPosition();return(this._cache.lockedTarget?this._cache.lockedTarget.equals(t):!t)&&(this.rotationQuaternion?this.rotationQuaternion.equals(this._cache.rotationQuaternion):this._cache.rotation.equals(this.rotation))}_computeLocalCameraSpeed(){let t=this.getEngine();return this.speed*Math.sqrt(t.getDeltaTime()/(100*t.getFps()))}setTarget(t){this.upVector.normalize(),this._initialFocalDistance=t.subtract(this.position).length(),this.position.z===t.z&&(this.position.z+=a.Epsilon),this._referencePoint.normalize().scaleInPlace(this._initialFocalDistance),this.getScene().useRightHandedSystem?n.Matrix.LookAtRHToRef(this.position,t,n.Vector3.UpReadOnly,c):n.Matrix.LookAtLHToRef(this.position,t,n.Vector3.UpReadOnly,c),c.invert();let e=this.rotationQuaternion||u;n.Quaternion.FromRotationMatrixToRef(c,e),e.toEulerAnglesToRef(this.rotation),this.rotation.z=0}get target(){return this.getTarget()}set target(t){this.setTarget(t)}getTarget(){return this._currentTarget}_decideIfNeedsToMove(){return Math.abs(this.cameraDirection.x)>0||Math.abs(this.cameraDirection.y)>0||Math.abs(this.cameraDirection.z)>0}_updatePosition(){if(this.parent){this.parent.getWorldMatrix().invertToRef(n.TmpVectors.Matrix[0]),n.Vector3.TransformNormalToRef(this.cameraDirection,n.TmpVectors.Matrix[0],n.TmpVectors.Vector3[0]),this._deferredPositionUpdate.addInPlace(n.TmpVectors.Vector3[0]),this._deferOnly?this._deferredUpdated=!0:this.position.copyFrom(this._deferredPositionUpdate);return}this._deferredPositionUpdate.addInPlace(this.cameraDirection),this._deferOnly?this._deferredUpdated=!0:this.position.copyFrom(this._deferredPositionUpdate)}_checkInputs(){let t=this.movement,e=0!==this.cameraDirection.x||0!==this.cameraDirection.y||0!==this.cameraDirection.z;t.panAccumulatedPixels.addInPlace(this.cameraDirection),t.rotationAccumulatedPixels.x+=this.cameraRotation.x,t.rotationAccumulatedPixels.y+=this.cameraRotation.y,t.computeCurrentFrameDeltas(),this.cameraDirection.copyFrom(t.panDeltaCurrentFrame),this.cameraRotation.set(t.rotationDeltaCurrentFrame.x,t.rotationDeltaCurrentFrame.y);let i=this.speed*this._panningEpsilon;!e&&Math.abs(this.cameraDirection.x)<i&&Math.abs(this.cameraDirection.y)<i&&Math.abs(this.cameraDirection.z)<i&&(this.cameraDirection.setAll(0),t.resetPanVelocity());let r=this.invertRotation?-this.inverseRotationSpeed:1,a=this._decideIfNeedsToMove(),o=!!(this.cameraRotation.x||this.cameraRotation.y);this._deferredUpdated=!1,this._deferredRotationUpdate.copyFrom(this.rotation),this._deferredPositionUpdate.copyFrom(this.position),this.rotationQuaternion&&this._deferredRotationQuaternionUpdate.copyFrom(this.rotationQuaternion),a&&this._updatePosition(),o&&(this.rotationQuaternion&&this.rotationQuaternion.toEulerAnglesToRef(this._deferredRotationUpdate),this._deferredRotationUpdate.x+=this.cameraRotation.x*r,this._deferredRotationUpdate.y+=this.cameraRotation.y*r,!this.noRotationConstraint&&(this._deferredRotationUpdate.x>1.570796&&(this._deferredRotationUpdate.x=1.570796),this._deferredRotationUpdate.x<-1.570796&&(this._deferredRotationUpdate.x=-1.570796)),this._deferOnly?this._deferredUpdated=!0:this.rotation.copyFrom(this._deferredRotationUpdate),this.rotationQuaternion&&this._deferredRotationUpdate.lengthSquared()&&(n.Quaternion.RotationYawPitchRollToRef(this._deferredRotationUpdate.y,this._deferredRotationUpdate.x,this._deferredRotationUpdate.z,this._deferredRotationQuaternionUpdate),this._deferOnly?this._deferredUpdated=!0:this.rotationQuaternion.copyFrom(this._deferredRotationQuaternionUpdate))),this.cameraDirection.setAll(0),this.cameraRotation.set(0,0),super._checkInputs()}_updateCameraRotationMatrix(){this.rotationQuaternion?this.rotationQuaternion.toRotationMatrix(this._cameraRotationMatrix):n.Matrix.RotationYawPitchRollToRef(this.rotation.y,this.rotation.x,this.rotation.z,this._cameraRotationMatrix)}_rotateUpVectorWithCameraRotationMatrix(){return n.Vector3.TransformNormalToRef(n.Vector3.UpReadOnly,this._cameraRotationMatrix,this.upVector),this}_getViewMatrix(){return this.lockedTarget&&this.setTarget(this._getLockedTargetPosition()),this._updateCameraRotationMatrix(),this.rotationQuaternion&&this._cachedQuaternionRotationZ!=this.rotationQuaternion.z?(this._rotateUpVectorWithCameraRotationMatrix(),this._cachedQuaternionRotationZ=this.rotationQuaternion.z):this._cachedRotationZ!==this.rotation.z&&(this._rotateUpVectorWithCameraRotationMatrix(),this._cachedRotationZ=this.rotation.z),n.Vector3.TransformCoordinatesToRef(this._referencePoint,this._cameraRotationMatrix,this._transformedReferencePoint),this.position.addToRef(this._transformedReferencePoint,this._currentTarget),this.updateUpVectorFromRotation&&(this.rotationQuaternion?o.Axis.Y.rotateByQuaternionToRef(this.rotationQuaternion,this.upVector):(n.Quaternion.FromEulerVectorToRef(this.rotation,u),o.Axis.Y.rotateByQuaternionToRef(u,this.upVector))),this._computeViewMatrix(this.position,this._currentTarget,this.upVector),this._viewMatrix}_computeViewMatrix(t,e,i){if(this.getScene().useRightHandedSystem?n.Matrix.LookAtRHToRef(t,e,i,this._viewMatrix):n.Matrix.LookAtLHToRef(t,e,i,this._viewMatrix),this.parent){let t=this.parent.getWorldMatrix();this._viewMatrix.invert(),this._viewMatrix.multiplyToRef(t,this._viewMatrix),this._viewMatrix.invert(),this._markSyncedWithParent()}}createRigCamera(t,e){if(this.cameraRigMode!==r.Camera.RIG_MODE_NONE){let e=new d(t,this.position.clone(),this.getScene());return e.isRigCamera=!0,e.rigParent=this,this.cameraRigMode===r.Camera.RIG_MODE_VR&&(this.rotationQuaternion||(this.rotationQuaternion=new n.Quaternion),e._cameraRigParams={},e.rotationQuaternion=new n.Quaternion),e.mode=this.mode,e.orthoLeft=this.orthoLeft,e.orthoRight=this.orthoRight,e.orthoTop=this.orthoTop,e.orthoBottom=this.orthoBottom,e}return null}_updateRigCameras(){let t=this._rigCameras[0],e=this._rigCameras[1];switch(this.computeWorldMatrix(),this.cameraRigMode){case r.Camera.RIG_MODE_STEREOSCOPIC_ANAGLYPH:case r.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL:case r.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED:case r.Camera.RIG_MODE_STEREOSCOPIC_OVERUNDER:case r.Camera.RIG_MODE_STEREOSCOPIC_INTERLACED:{let i=this.cameraRigMode===r.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED?1:-1,n=this.cameraRigMode===r.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED?-1:1;this._getRigCamPositionAndTarget(this._cameraRigParams.stereoHalfAngle*i,t),this._getRigCamPositionAndTarget(this._cameraRigParams.stereoHalfAngle*n,e);break}case r.Camera.RIG_MODE_VR:t.rotationQuaternion&&e.rotationQuaternion&&this.rotationQuaternion?(t.rotationQuaternion.copyFrom(this.rotationQuaternion),e.rotationQuaternion.copyFrom(this.rotationQuaternion)):(t.rotation.copyFrom(this.rotation),e.rotation.copyFrom(this.rotation)),t.position.copyFrom(this.position),e.position.copyFrom(this.position)}super._updateRigCameras()}_getRigCamPositionAndTarget(t,e){this.getTarget().subtractToRef(this.position,d._TargetFocalPoint),d._TargetFocalPoint.normalize().scaleInPlace(this._initialFocalDistance);let i=d._TargetFocalPoint.addInPlace(this.position);n.Matrix.TranslationToRef(-i.x,-i.y,-i.z,d._TargetTransformMatrix),d._TargetTransformMatrix.multiplyToRef(n.Matrix.RotationAxis(e.upVector,t),d._RigCamTransformMatrix),n.Matrix.TranslationToRef(i.x,i.y,i.z,d._TargetTransformMatrix),d._RigCamTransformMatrix.multiplyToRef(d._TargetTransformMatrix,d._RigCamTransformMatrix),n.Vector3.TransformCoordinatesToRef(this.position,d._RigCamTransformMatrix,e.position),e.setTarget(i)}getClassName(){return"TargetCamera"}}d._RigCamTransformMatrix=new n.Matrix,d._TargetTransformMatrix=new n.Matrix,d._TargetFocalPoint=new n.Vector3,(0,e.__decorate)([(0,i.serialize)()],d.prototype,"updateUpVectorFromRotation",void 0),(0,e.__decorate)([(0,i.serializeAsVector3)()],d.prototype,"rotation",void 0),(0,e.__decorate)([(0,i.serialize)()],d.prototype,"speed",void 0),(0,e.__decorate)([(0,i.serializeAsMeshReference)("lockedTargetId")],d.prototype,"lockedTarget",void 0),t.s(["TargetCamera",0,d],81139);var p=t.i(80434),_=t.i(68401),m={};t.s(["CameraInputTypes",0,m,"CameraInputsManager",0,class{constructor(t){this.attachedToElement=!1,this.attached={},this.camera=t,this.checkInputs=()=>{}}add(t){let e=t.getSimpleName();this.attached[e]?p.Logger.Warn("camera input of type "+e+" already exists on camera"):(this.attached[e]=t,t.camera=this.camera,t.checkInputs&&(this.checkInputs=this._addCheckInputs(t.checkInputs.bind(t))),this.attachedToElement&&t.attachControl(this.noPreventDefault))}remove(t){for(let e in this.attached){let i=this.attached[e];if(i===t){i.detachControl(),i.camera=null,delete this.attached[e],this.rebuildInputCheck();return}}}removeByType(t){for(let e in this.attached){let i=this.attached[e];i.getClassName()===t&&(i.detachControl(),i.camera=null,delete this.attached[e],this.rebuildInputCheck())}}_addCheckInputs(t){let e=this.checkInputs;return()=>{e(),t()}}attachInput(t){this.attachedToElement&&t.attachControl(this.noPreventDefault)}attachElement(t=!1){if(!this.attachedToElement)for(let e in t=!r.Camera.ForceAttachControlToAlwaysPreventDefault&&t,this.attachedToElement=!0,this.noPreventDefault=t,this.attached)this.attached[e].attachControl(t)}detachElement(t=!1){for(let e in this.attached)this.attached[e].detachControl(),t&&(this.attached[e].camera=null);this.attachedToElement=!1}rebuildInputCheck(){for(let t in this.checkInputs=()=>{},this.attached){let e=this.attached[t];e.checkInputs&&(this.checkInputs=this._addCheckInputs(e.checkInputs.bind(e)))}}clear(){this.attachedToElement&&this.detachElement(!0),this.attached={},this.attachedToElement=!1,this.checkInputs=()=>{}}serialize(t){let e={};for(let t in this.attached){let i=this.attached[t],r=_.SerializationHelper.Serialize(i);e[i.getClassName()]=r}t.inputsmgr=e}parse(t){let e=t.inputsmgr;if(e)for(let t in this.clear(),e){let i=m[t];if(i){let r=e[t],n=_.SerializationHelper.Parse(()=>new i,r,null);this.add(n)}}else for(let e in this.attached){let i=m[this.attached[e].getClassName()];if(i){let r=_.SerializationHelper.Parse(()=>new i,t,null);this.remove(this.attached[e]),this.add(r)}}}}],58106)},2604,t=>{t.v(e=>Promise.all(["static/chunks/2h5nvlgky7fpa.js"].map(e=>t.l(e))).then(()=>e(96964)))}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,88645,e=>{"use strict";e.s(["useOpenGLOrientationForUV",()=>!1])},71615,74308,e=>{"use strict";var t=e.i(85595),s=e.i(53773),i=e.i(90176),r=e.i(95410),a=e.i(88048),n=e.i(38116),o=e.i(33945),h=e.i(49097),l=e.i(79488),d=e.i(47997),u=e.i(26225);function c(e,t,s=!1){let i=t.width,r=t.height;if(e instanceof Float32Array){let t=e.byteLength/e.BYTES_PER_ELEMENT,s=new Uint8Array(t);for(;--t>=0;){let i=e[t];i<0?i=0:i>1&&(i=1),s[t]=255*i}e=s}let a=document.createElement("canvas");a.width=i,a.height=r;let n=a.getContext("2d");if(!n)return null;let o=n.createImageData(i,r);if(o.data.set(e),n.putImageData(o,0,0),s){let e=document.createElement("canvas");e.width=i,e.height=r;let t=e.getContext("2d");return t?(t.translate(0,r),t.scale(1,-1),t.drawImage(a,0,0),e.toDataURL("image/png")):null}return a.toDataURL("image/png")}function p(e,t=0,s=0){let i=e.getInternalTexture();if(!i)return null;let r=e._readPixelsSync(t,s);return r?c(r,e.getSize(),i.invertY):null}async function _(e,t=0,s=0){let i=e.getInternalTexture();if(!i)return null;let r=await e.readPixels(t,s);return r?c(r,e.getSize(),i.invertY):null}e.s(["GenerateBase64StringFromTexture",0,p,"GenerateBase64StringFromTextureAsync",0,_],74308);var f=e.i(88645),g=e.i(68401);class x extends a.BaseTexture{static _CreateVideoTexture(e,t,s,i=!1,r=!1,a=x.TRILINEAR_SAMPLINGMODE,n={},h,l=5){throw(0,o._WarnImport)("VideoTexture")}get noMipmap(){return this._noMipmap}get mimeType(){return this._mimeType}set isBlocking(e){this._isBlocking=e}get isBlocking(){return this._isBlocking}get invertY(){return this._invertY}constructor(e,t,s,r,a=x.TRILINEAR_SAMPLINGMODE,n=null,o=null,l=null,d=!1,u,c,p,_,g){let m;super(t),this.url=null,this.uOffset=0,this.vOffset=0,this.uScale=1,this.vScale=1,this.uAng=0,this.vAng=0,this.wAng=0,this.uRotationCenter=.5,this.vRotationCenter=.5,this.wRotationCenter=.5,this.homogeneousRotationInUVTransform=!1,this.inspectableCustomProperties=null,this._noMipmap=!1,this._invertY=!1,this._rowGenerationMatrix=null,this._cachedTextureMatrix=null,this._projectionModeMatrix=null,this._t0=null,this._t1=null,this._t2=null,this._cachedUOffset=-1,this._cachedVOffset=-1,this._cachedUScale=0,this._cachedVScale=0,this._cachedUAng=-1,this._cachedVAng=-1,this._cachedWAng=-1,this._cachedReflectionProjectionMatrixId=-1,this._cachedURotationCenter=-1,this._cachedVRotationCenter=-1,this._cachedWRotationCenter=-1,this._cachedHomogeneousRotationInUVTransform=!1,this._cachedIdentity3x2=!0,this._cachedReflectionTextureMatrix=null,this._cachedReflectionUOffset=-1,this._cachedReflectionVOffset=-1,this._cachedReflectionUScale=0,this._cachedReflectionVScale=0,this._cachedReflectionCoordinatesMode=-1,this._buffer=null,this._deleteBuffer=!1,this._format=null,this._delayedOnLoad=null,this._delayedOnError=null,this.onLoadObservable=new i.Observable,this._isBlocking=!0,this.name=e||"",this.url=e;let b=!1,T=null,R=!0;"object"==typeof s&&null!==s?(m=s.noMipmap??!1,r=s.invertY??!f.useOpenGLOrientationForUV,a=s.samplingMode??x.TRILINEAR_SAMPLINGMODE,n=s.onLoad??null,o=s.onError??null,l=s.buffer??null,d=s.deleteBuffer??!1,u=s.format,c=s.mimeType,p=s.loaderOptions,_=s.creationFlags,b=s.useSRGBBuffer??!1,T=s.internalTexture??null,R=s.gammaSpace??R,g=s.forcedExtension??g):m=!!s,this._gammaSpace=R,this._noMipmap=m,this._invertY=void 0===r?!f.useOpenGLOrientationForUV:r,this._initialSamplingMode=a,this._buffer=l,this._deleteBuffer=d,this._mimeType=c,this._loaderOptions=p,this._creationFlags=_,this._useSRGBBuffer=b,this._forcedExtension=g,void 0!==u&&(this._format=u);const v=this.getScene(),S=this._getEngine();if(!S)return;S.onBeforeTextureInitObservable.notifyObservers(this);const O=()=>{this._texture&&(this._texture._invertVScale&&(this.vScale*=-1,this.vOffset+=1),null!==this._texture._cachedWrapU&&(this.wrapU=this._texture._cachedWrapU,this._texture._cachedWrapU=null),null!==this._texture._cachedWrapV&&(this.wrapV=this._texture._cachedWrapV,this._texture._cachedWrapV=null),null!==this._texture._cachedWrapR&&(this.wrapR=this._texture._cachedWrapR,this._texture._cachedWrapR=null)),this.onLoadObservable.hasObservers()&&this.onLoadObservable.notifyObservers(this),n&&n(),!this.isBlocking&&v&&v.resetCachedMaterial()},P=(e,t)=>{this._loadingError=!0,this._errorObject={message:e,exception:t},o&&o(e,t),x.OnTextureLoadErrorObservable.notifyObservers(this)};if(!this.url&&!T){this._delayedOnLoad=O,this._delayedOnError=P;return}if(this._texture=T??this._getFromCache(this.url,m,a,this._invertY,b,this.isCube),this._texture)if(this._texture.isReady)h.TimingTools.SetImmediate(()=>O());else{const e=this._texture.onLoadedObservable.add(O);this._texture.onErrorObservable.add(t=>{P(t.message,t.exception),this._texture?.onLoadedObservable.remove(e)})}else if(v&&v.useDelayedTextureLoading)this.delayLoadState=4,this._delayedOnLoad=O,this._delayedOnError=P;else{try{this._texture=S.createTexture(this.url,m,this._invertY,v,a,O,P,this._buffer,void 0,this._format,this._forcedExtension,c,p,_,b)}catch(e){throw P("error loading",e),e}d&&(this._buffer=null)}}updateURL(e,t=null,s,i){this.url&&(this.releaseInternalTexture(),this.getScene().markAllMaterialsAsDirty(1,e=>e.hasTexture(this))),(!this.name||this.name.startsWith("data:"))&&(this.name=e),this.url=e,this._buffer=t,this._forcedExtension=i,this.delayLoadState=4;let r=this._delayedOnLoad,a=()=>{r?r():this.onLoadObservable.hasObservers()&&this.onLoadObservable.notifyObservers(this),s&&s()};this._delayedOnLoad=a,this.delayLoad()}delayLoad(){if(4!==this.delayLoadState)return;let e=this.getScene();if(!e)return;let t=this.url;!t&&(this.name.indexOf("://")>0||this.name.startsWith("data:"))&&(t=this.name),this.delayLoadState=1,this._texture=this._getFromCache(t,this._noMipmap,this.samplingMode,this._invertY,this._useSRGBBuffer,this.isCube),this._texture?this._delayedOnLoad&&(this._texture.isReady?h.TimingTools.SetImmediate(this._delayedOnLoad):this._texture.onLoadedObservable.add(this._delayedOnLoad)):(this._texture=e.getEngine().createTexture(t,this._noMipmap,this._invertY,e,this.samplingMode,this._delayedOnLoad,this._delayedOnError,this._buffer,null,this._format,this._forcedExtension,this._mimeType,this._loaderOptions,this._creationFlags,this._useSRGBBuffer),this._deleteBuffer&&(this._buffer=null)),this._delayedOnLoad=null,this._delayedOnError=null}_prepareRowForTextureGeneration(e,t,s,i){e*=this._cachedUScale,t*=this._cachedVScale,e-=this.uRotationCenter*this._cachedUScale,t-=this.vRotationCenter*this._cachedVScale,s-=this.wRotationCenter,r.Vector3.TransformCoordinatesFromFloatsToRef(e,t,s,this._rowGenerationMatrix,i),i.x+=this.uRotationCenter*this._cachedUScale+this._cachedUOffset,i.y+=this.vRotationCenter*this._cachedVScale+this._cachedVOffset,i.z+=this.wRotationCenter}getTextureMatrix(e=1){if(this.uOffset===this._cachedUOffset&&this.vOffset===this._cachedVOffset&&this.uScale*e===this._cachedUScale&&this.vScale===this._cachedVScale&&this.uAng===this._cachedUAng&&this.vAng===this._cachedVAng&&this.wAng===this._cachedWAng&&this.uRotationCenter===this._cachedURotationCenter&&this.vRotationCenter===this._cachedVRotationCenter&&this.wRotationCenter===this._cachedWRotationCenter&&this.homogeneousRotationInUVTransform===this._cachedHomogeneousRotationInUVTransform)return this._cachedTextureMatrix;this._cachedUOffset=this.uOffset,this._cachedVOffset=this.vOffset,this._cachedUScale=this.uScale*e,this._cachedVScale=this.vScale,this._cachedUAng=this.uAng,this._cachedVAng=this.vAng,this._cachedWAng=this.wAng,this._cachedURotationCenter=this.uRotationCenter,this._cachedVRotationCenter=this.vRotationCenter,this._cachedWRotationCenter=this.wRotationCenter,this._cachedHomogeneousRotationInUVTransform=this.homogeneousRotationInUVTransform,this._cachedTextureMatrix&&this._rowGenerationMatrix||(this._cachedTextureMatrix=r.Matrix.Zero(),this._rowGenerationMatrix=new r.Matrix,this._t0=r.Vector3.Zero(),this._t1=r.Vector3.Zero(),this._t2=r.Vector3.Zero()),r.Matrix.RotationYawPitchRollToRef(this.vAng,this.uAng,this.wAng,this._rowGenerationMatrix),this.homogeneousRotationInUVTransform?(r.Matrix.TranslationToRef(-this._cachedURotationCenter,-this._cachedVRotationCenter,-this._cachedWRotationCenter,r.TmpVectors.Matrix[0]),r.Matrix.TranslationToRef(this._cachedURotationCenter,this._cachedVRotationCenter,this._cachedWRotationCenter,r.TmpVectors.Matrix[1]),r.Matrix.ScalingToRef(this._cachedUScale,this._cachedVScale,0,r.TmpVectors.Matrix[2]),r.Matrix.TranslationToRef(this._cachedUOffset,this._cachedVOffset,0,r.TmpVectors.Matrix[3]),r.TmpVectors.Matrix[0].multiplyToRef(this._rowGenerationMatrix,this._cachedTextureMatrix),this._cachedTextureMatrix.multiplyToRef(r.TmpVectors.Matrix[1],this._cachedTextureMatrix),this._cachedTextureMatrix.multiplyToRef(r.TmpVectors.Matrix[2],this._cachedTextureMatrix),this._cachedTextureMatrix.multiplyToRef(r.TmpVectors.Matrix[3],this._cachedTextureMatrix),this._cachedTextureMatrix.setRowFromFloats(2,this._cachedTextureMatrix.m[12],this._cachedTextureMatrix.m[13],this._cachedTextureMatrix.m[14],1)):(this._prepareRowForTextureGeneration(0,0,0,this._t0),this._prepareRowForTextureGeneration(1,0,0,this._t1),this._prepareRowForTextureGeneration(0,1,0,this._t2),this._t1.subtractInPlace(this._t0),this._t2.subtractInPlace(this._t0),r.Matrix.FromValuesToRef(this._t1.x,this._t1.y,this._t1.z,0,this._t2.x,this._t2.y,this._t2.z,0,this._t0.x,this._t0.y,this._t0.z,0,0,0,0,1,this._cachedTextureMatrix));let t=this.getScene();if(!t)return this._cachedTextureMatrix;let s=this._cachedIdentity3x2;return this._cachedIdentity3x2=this._cachedTextureMatrix.isIdentityAs3x2(),this.optimizeUVAllocation&&s!==this._cachedIdentity3x2&&t.markAllMaterialsAsDirty(1,e=>e.hasTexture(this)),this._cachedTextureMatrix}getReflectionTextureMatrix(){let e=this.getScene();if(!e)return this._cachedReflectionTextureMatrix;if(this.uOffset===this._cachedReflectionUOffset&&this.vOffset===this._cachedReflectionVOffset&&this.uScale===this._cachedReflectionUScale&&this.vScale===this._cachedReflectionVScale&&this.coordinatesMode===this._cachedReflectionCoordinatesMode){if(this.coordinatesMode!==x.PROJECTION_MODE)return this._cachedReflectionTextureMatrix;else if(this._cachedReflectionProjectionMatrixId===e.getProjectionMatrix().updateFlag)return this._cachedReflectionTextureMatrix}this._cachedReflectionTextureMatrix||(this._cachedReflectionTextureMatrix=r.Matrix.Zero()),this._projectionModeMatrix||(this._projectionModeMatrix=r.Matrix.Zero());let t=this._cachedReflectionCoordinatesMode!==this.coordinatesMode;switch(this._cachedReflectionUOffset=this.uOffset,this._cachedReflectionVOffset=this.vOffset,this._cachedReflectionUScale=this.uScale,this._cachedReflectionVScale=this.vScale,this._cachedReflectionCoordinatesMode=this.coordinatesMode,this.coordinatesMode){case x.PLANAR_MODE:r.Matrix.IdentityToRef(this._cachedReflectionTextureMatrix),this._cachedReflectionTextureMatrix[0]=this.uScale,this._cachedReflectionTextureMatrix[5]=this.vScale,this._cachedReflectionTextureMatrix[12]=this.uOffset,this._cachedReflectionTextureMatrix[13]=this.vOffset;break;case x.PROJECTION_MODE:{r.Matrix.FromValuesToRef(.5,0,0,0,0,-.5,0,0,0,0,0,0,.5,.5,1,1,this._projectionModeMatrix);let t=e.getProjectionMatrix();this._cachedReflectionProjectionMatrixId=t.updateFlag,t.multiplyToRef(this._projectionModeMatrix,this._cachedReflectionTextureMatrix);break}default:r.Matrix.IdentityToRef(this._cachedReflectionTextureMatrix)}return t&&e.markAllMaterialsAsDirty(1,e=>e.hasTexture(this)),this._cachedReflectionTextureMatrix}clone(){let e={noMipmap:this._noMipmap,invertY:this._invertY,samplingMode:this.samplingMode,onLoad:void 0,onError:void 0,buffer:this._texture?this._texture._buffer:void 0,deleteBuffer:this._deleteBuffer,format:this.textureFormat,mimeType:this.mimeType,loaderOptions:this._loaderOptions,creationFlags:this._creationFlags,useSRGBBuffer:this._useSRGBBuffer};return g.SerializationHelper.Clone(()=>new x(this._texture?this._texture.url:null,this.getScene(),e),this)}serialize(){let e=this.name;!x.SerializeBuffers&&this.name.startsWith("data:")&&(this.name=""),this.name.startsWith("data:")&&this.url===this.name&&(this.url="");let t=super.serialize(x._SerializeInternalTextureUniqueId);if(!t)return null;if(x.SerializeBuffers||x.ForceSerializeBuffers)if("string"==typeof this._buffer&&this._buffer.startsWith("data:"))t.base64String=this._buffer,t.name=t.name.replace("data:","");else if(this.url&&this.url.startsWith("data:")&&this._buffer instanceof Uint8Array){let e=this.mimeType||"image/png";t.base64String=`data:${e};base64,${(0,u.EncodeArrayBufferToBase64)(this._buffer)}`}else(x.ForceSerializeBuffers||this.url&&this.url.startsWith("blob:")||this._forceSerialize)&&(t.base64String=!this._engine||this._engine._features.supportSyncTextureRead?p(this):_(this));return t.invertY=this._invertY,t.samplingMode=this.samplingMode,t._creationFlags=this._creationFlags,t._useSRGBBuffer=this._useSRGBBuffer,x._SerializeInternalTextureUniqueId&&(t.internalTextureUniqueId=this._texture?.uniqueId),t.internalTextureLabel=this._texture?.label,t.noMipmap=this._noMipmap,this.name=e,t}getClassName(){return"Texture"}dispose(){super.dispose(),this.onLoadObservable.clear(),this._delayedOnLoad=null,this._delayedOnError=null,this._buffer=null}static Parse(e,t,s){let i;if(e.customType){let i=l.InstantiationTools.Instantiate(e.customType).Parse(e,t,s);return e.samplingMode&&i.updateSamplingMode&&i._samplingMode&&i._samplingMode!==e.samplingMode&&i.updateSamplingMode(e.samplingMode),i}if(e.isCube&&!e.isRenderTarget)return x._CubeTextureParser(e,t,s);let r=void 0!==e.internalTextureUniqueId;if(!e.name&&!e.isRenderTarget&&!r)return null;if(r){for(let s of t.getEngine().getLoadedTexturesCache())if(s.uniqueId===e.internalTextureUniqueId){i=s;break}}let a=t=>{if(t&&t._texture&&(t._texture._cachedWrapU=null,t._texture._cachedWrapV=null,t._texture._cachedWrapR=null),e.samplingMode){let s=e.samplingMode;t&&t.samplingMode!==s&&t.updateSamplingMode(s)}if(t&&e.animations)for(let s=0;s<e.animations.length;s++){let i=e.animations[s],r=(0,n.GetClass)("BABYLON.Animation");r&&t.animations.push(r.Parse(i))}t&&t._texture&&(r&&!i&&t._texture._setUniqueId(e.internalTextureUniqueId),t._texture.label=e.internalTextureLabel)};return g.SerializationHelper.Parse(()=>{let r=!0;if(e.noMipmap&&(r=!1),e.mirrorPlane){let s=x._CreateMirror(e.name,e.renderTargetSize,t,r);return s._waitingRenderList=e.renderList,s.mirrorPlane=d.Plane.FromArray(e.mirrorPlane),a(s),s}if(e.isRenderTarget&&!e.base64String){let s=null;if(e.isCube){if(t.reflectionProbes)for(let s=0;s<t.reflectionProbes.length;s++){let i=t.reflectionProbes[s];if(i.name===e.name)return i.cubeTexture}}else(s=x._CreateRenderTargetTexture(e.name,e.renderTargetSize,t,r,e._creationFlags??0))._waitingRenderList=e.renderList;return a(s),s}if(e.isVideo){let i=x._CreateVideoTexture(s+(e.url||e.name),s+(e.src||e.url),t,r,e.invertY,e.samplingMode,e.settings||{});return a(i),i}{let n;if("string"==typeof e.base64String&&e.base64String&&!i){let s={buffer:e.base64String,noMipmap:!r,invertY:e.invertY,samplingMode:e.samplingMode,useSRGBBuffer:e._useSRGBBuffer??!1,creationFlags:e._creationFlags??0,onLoad:()=>{a(n)}},i=e.base64String,o=i.startsWith("data:")?i.substring(5):i;(n=x.CreateFromBase64String("",o,t,s)).name=e.name}else{let o;o=e.name&&(e.name.indexOf("://")>0||e.name.startsWith("data:"))?e.name:s+e.name,e.url&&(e.url.startsWith("data:")||x.UseSerializedUrlIfAny)&&(o=e.url),n=new x(o,t,{noMipmap:!r,invertY:e.invertY,samplingMode:e.samplingMode,useSRGBBuffer:e._useSRGBBuffer??!1,creationFlags:e._creationFlags??0,onLoad:()=>{a(n)},internalTexture:i})}return n}},e,t)}static CreateFromBase64String(e,t,s,i,r,a=x.TRILINEAR_SAMPLINGMODE,n=null,o=null,h=5,l,d){return new x("data:"+t,s,i,r,a,n,o,e,!1,h,void 0,void 0,l,d)}static LoadFromDataString(e,t,s,i=!1,r,a=!0,n=x.TRILINEAR_SAMPLINGMODE,o=null,h=null,l=5,d,u){return"data:"!==e.substring(0,5)&&(e="data:"+e),new x(e,s,r,a,n,o,h,t,i,l,void 0,void 0,d,u)}}x.SerializeBuffers=!0,x.ForceSerializeBuffers=!1,x.OnTextureLoadErrorObservable=new i.Observable,x._SerializeInternalTextureUniqueId=!1,x._CubeTextureParser=(e,t,s)=>{throw(0,o._WarnImport)("CubeTexture")},x._CreateMirror=(e,t,s,i)=>{throw(0,o._WarnImport)("MirrorTexture")},x._CreateRenderTargetTexture=(e,t,s,i,r)=>{throw(0,o._WarnImport)("RenderTargetTexture")},x.NEAREST_SAMPLINGMODE=1,x.NEAREST_NEAREST_MIPLINEAR=8,x.BILINEAR_SAMPLINGMODE=2,x.LINEAR_LINEAR_MIPNEAREST=11,x.TRILINEAR_SAMPLINGMODE=3,x.LINEAR_LINEAR_MIPLINEAR=3,x.NEAREST_NEAREST_MIPNEAREST=4,x.NEAREST_LINEAR_MIPNEAREST=5,x.NEAREST_LINEAR_MIPLINEAR=6,x.NEAREST_LINEAR=7,x.NEAREST_NEAREST=1,x.LINEAR_NEAREST_MIPNEAREST=9,x.LINEAR_NEAREST_MIPLINEAR=10,x.LINEAR_LINEAR=2,x.LINEAR_NEAREST=12,x.EXPLICIT_MODE=0,x.SPHERICAL_MODE=1,x.PLANAR_MODE=2,x.CUBIC_MODE=3,x.PROJECTION_MODE=4,x.SKYBOX_MODE=5,x.INVCUBIC_MODE=6,x.EQUIRECTANGULAR_MODE=7,x.FIXED_EQUIRECTANGULAR_MODE=8,x.FIXED_EQUIRECTANGULAR_MIRRORED_MODE=9,x.CLAMP_ADDRESSMODE=0,x.WRAP_ADDRESSMODE=1,x.MIRROR_ADDRESSMODE=2,x.UseSerializedUrlIfAny=!1,(0,t.__decorate)([(0,s.serialize)()],x.prototype,"url",void 0),(0,t.__decorate)([(0,s.serialize)()],x.prototype,"uOffset",void 0),(0,t.__decorate)([(0,s.serialize)()],x.prototype,"vOffset",void 0),(0,t.__decorate)([(0,s.serialize)()],x.prototype,"uScale",void 0),(0,t.__decorate)([(0,s.serialize)()],x.prototype,"vScale",void 0),(0,t.__decorate)([(0,s.serialize)()],x.prototype,"uAng",void 0),(0,t.__decorate)([(0,s.serialize)()],x.prototype,"vAng",void 0),(0,t.__decorate)([(0,s.serialize)()],x.prototype,"wAng",void 0),(0,t.__decorate)([(0,s.serialize)()],x.prototype,"uRotationCenter",void 0),(0,t.__decorate)([(0,s.serialize)()],x.prototype,"vRotationCenter",void 0),(0,t.__decorate)([(0,s.serialize)()],x.prototype,"wRotationCenter",void 0),(0,t.__decorate)([(0,s.serialize)()],x.prototype,"homogeneousRotationInUVTransform",void 0),(0,t.__decorate)([(0,s.serialize)()],x.prototype,"isBlocking",null);let m=!1;e.s(["RegisterTexture",0,function(){m||(m=!0,(0,n.RegisterClass)("BABYLON.Texture",x),g.SerializationHelper._TextureParser=x.Parse)},"Texture",0,x],71615)},87409,e=>{"use strict";class t{constructor(e,t,s,i){this.x=e,this.y=t,this.width=s,this.height=i}toGlobal(e,s){return new t(this.x*e,this.y*s,this.width*e,this.height*s)}toGlobalToRef(e,t,s){return s.x=this.x*e,s.y=this.y*t,s.width=this.width*e,s.height=this.height*t,this}clone(){return new t(this.x,this.y,this.width,this.height)}}e.s(["Viewport",0,t])},27913,e=>{"use strict";var t=e.i(49097);e.s(["DrawWrapper",0,class{static GetEffect(e){return void 0===e.getPipelineContext?e.effect:e}constructor(e,t=!0){this._wasPreviouslyReady=!1,this._forceRebindOnNextCall=!0,this._wasPreviouslyUsingInstances=null,this.effect=null,this.defines=null,this.drawContext=e.createDrawContext(),t&&(this.materialContext=e.createMaterialContext())}setEffect(e,t,s=!0){this.effect=e,void 0!==t&&(this.defines=t),s&&this.drawContext?.reset()}dispose(e=!1){if(this.effect){let s=this.effect;e?s.dispose():t.TimingTools.SetImmediate(()=>{s.getEngine().onEndFrameObservable.addOnce(()=>{s.dispose()})}),this.effect=null}this.drawContext?.dispose()}}])},75707,e=>{"use strict";var t=e.i(45707),s=e.i(87409),i=e.i(90176),r=e.i(7540),a=e.i(27913);let n={positions:[1,1,-1,1,-1,-1,1,-1],indices:[0,1,2,0,2,3]};class o{static RegisterShaderCodeProcessing(e,t){t?o._CustomShaderCodeProcessing[e??""]=t:delete o._CustomShaderCodeProcessing[e??""]}static _GetShaderCodeProcessing(e){return o._CustomShaderCodeProcessing[e]??o._CustomShaderCodeProcessing[""]}get name(){return this.options.name}set name(e){this.options.name=e}isReady(){return this._drawWrapper.effect?.isReady()??!1}get drawWrapper(){return this._drawWrapper}get effect(){return this._drawWrapper.effect}set effect(e){this._drawWrapper.effect=e}constructor(e){this.alphaMode=0,this.onEffectCreatedObservable=new i.Observable(void 0,!0),this.onApplyObservable=new i.Observable,this._shadersLoaded=!1,this._webGPUReady=!1,this._importPromises=[],this.options={...e,name:e.name||"effectWrapper",engine:e.engine,uniforms:e.uniforms||e.uniformNames||[],uniformNames:void 0,samplers:e.samplers||e.samplerNames||[],samplerNames:void 0,attributeNames:e.attributeNames||["position"],uniformBuffers:e.uniformBuffers||[],defines:e.defines||"",useShaderStore:e.useShaderStore||!1,vertexUrl:e.vertexUrl||e.vertexShader||"postprocess",vertexShader:void 0,fragmentShader:e.fragmentShader||"pass",indexParameters:e.indexParameters,blockCompilation:e.blockCompilation||!1,shaderLanguage:e.shaderLanguage||0,onCompiled:e.onCompiled||void 0,extraInitializations:e.extraInitializations||void 0,extraInitializationsAsync:e.extraInitializationsAsync||void 0,useAsPostProcess:e.useAsPostProcess??!1,allowEmptySourceTexture:e.allowEmptySourceTexture??!1},this.options.uniformNames=this.options.uniforms,this.options.samplerNames=this.options.samplers,this.options.vertexShader=this.options.vertexUrl,this.options.useAsPostProcess&&(this.options.allowEmptySourceTexture||-1!==this.options.samplers.indexOf("textureSampler")||this.options.samplers.push("textureSampler"),-1===this.options.uniforms.indexOf("scale")&&this.options.uniforms.push("scale")),e.vertexUrl||e.vertexShader?this._shaderPath={vertexSource:this.options.vertexShader}:(this.options.useAsPostProcess||(this.options.uniforms.push("scale"),this.onApplyObservable.add(()=>{this.effect.setFloat2("scale",1,1)})),this._shaderPath={vertex:this.options.vertexShader}),this._shaderPath.fragmentSource=this.options.fragmentShader,this._shaderPath.spectorName=this.options.name,this.options.useShaderStore&&(this._shaderPath.fragment=this._shaderPath.fragmentSource,this._shaderPath.vertex||(this._shaderPath.vertex=this._shaderPath.vertexSource),delete this._shaderPath.fragmentSource,delete this._shaderPath.vertexSource),this.onApplyObservable.add(()=>{this.bind()}),this.options.useShaderStore||(this._onContextRestoredObserver=this.options.engine.onContextRestoredObservable.add(()=>{this.effect._pipelineContext=null,this.effect._prepareEffect()})),this._drawWrapper=new a.DrawWrapper(this.options.engine),this._webGPUReady=1===this.options.shaderLanguage;const t=Array.isArray(this.options.defines)?this.options.defines.join("\n"):this.options.defines;this._postConstructor(this.options.blockCompilation,t,this.options.extraInitializations)}_gatherImports(e=!1,t){}_postConstructor(t,s=null,i,r){this._importPromises.length=0,r&&this._importPromises.push(...r);let a=this.options.engine.isWebGPU&&!o.ForceGLSL;this._gatherImports(a,this._importPromises),this.options.useShaderStore&&"postprocess"===this._shaderPath.vertex&&this._importPromises.push(a&&this._webGPUReady?e.A(48518):e.A(8350)),void 0!==i&&i(a,this._importPromises),a&&this._webGPUReady&&(this.options.shaderLanguage=1),t||this.updateEffect(s)}updateEffect(e=null,t=null,s=null,i,a,n,h,l){let d,u=o._GetShaderCodeProcessing(this.name);if(u?.defineCustomBindings){let i=t?.slice()??[];i.push(...this.options.uniforms);let r=s?.slice()??[];r.push(...this.options.samplers),e=u.defineCustomBindings(this.name,e,i,r),t=i,s=r}this.options.defines=e||"";let c=this._shadersLoaded||0===this._importPromises.length?void 0:async()=>{await Promise.all(this._importPromises),this._shadersLoaded=!0};d=this.options.extraInitializationsAsync?async()=>{await c?.(),await this.options.extraInitializationsAsync()}:c,this.options.useShaderStore?this._drawWrapper.effect=this.options.engine.createEffect({vertex:h??this._shaderPath.vertex,fragment:l??this._shaderPath.fragment},{attributes:this.options.attributeNames,uniformsNames:t||this.options.uniforms,uniformBuffersNames:this.options.uniformBuffers,samplers:s||this.options.samplers,defines:null!==e?e:"",fallbacks:null,onCompiled:a??this.options.onCompiled,onError:n??null,indexParameters:i||this.options.indexParameters,processCodeAfterIncludes:u?.processCodeAfterIncludes?(e,t)=>u.processCodeAfterIncludes(this.name,e,t):null,processFinalCode:u?.processFinalCode?(e,t)=>u.processFinalCode(this.name,e,t):null,shaderLanguage:this.options.shaderLanguage,extraInitializationsAsync:d},this.options.engine):this._drawWrapper.effect=new r.Effect(this._shaderPath,this.options.attributeNames,t||this.options.uniforms,s||this.options.samplerNames,this.options.engine,e,void 0,a||this.options.onCompiled,void 0,void 0,void 0,this.options.shaderLanguage,d),this.onEffectCreatedObservable.notifyObservers(this._drawWrapper.effect)}bind(e=!1){this.options.useAsPostProcess&&!e&&(this.options.engine.setAlphaMode(this.alphaMode),this.drawWrapper.effect.setFloat2("scale",1,1)),o._GetShaderCodeProcessing(this.name)?.bindCustomBindings?.(this.name,this._drawWrapper.effect)}dispose(e=!1){this._onContextRestoredObserver&&(this.effect.getEngine().onContextRestoredObservable.remove(this._onContextRestoredObserver),this._onContextRestoredObserver=null),this.onEffectCreatedObservable.clear(),this._drawWrapper.dispose(!0)}}o.ForceGLSL=!1,o._CustomShaderCodeProcessing={},e.s(["EffectRenderer",0,class{constructor(e,i=n){this._fullscreenViewport=new s.Viewport(0,0,1,1);const r=i.positions??n.positions,a=i.indices??n.indices;this.engine=e,this._vertexBuffers={[t.VertexBuffer.PositionKind]:new t.VertexBuffer(e,r,t.VertexBuffer.PositionKind,!1,!1,2)},this._indexBuffer=e.createIndexBuffer(a),this._indexBufferLength=a.length,this._onContextRestoredObserver=e.onContextRestoredObservable.add(()=>{for(let t in this._indexBuffer=e.createIndexBuffer(a),this._vertexBuffers)this._vertexBuffers[t]._rebuild()})}setViewport(e=this._fullscreenViewport){this.engine.setViewport(e)}bindBuffers(e){this.engine.bindBuffers(this._vertexBuffers,this._indexBuffer,e)}applyEffectWrapper(e,t=!1,s=!1){this.engine.setState(!0),this.engine.depthCullingState.depthTest=t,this.engine.stencilState.stencilTest=s,this.engine.enableEffect(e.drawWrapper),this.bindBuffers(e.effect),e.onApplyObservable.notifyObservers({})}saveStates(){this._savedStateDepthTest=this.engine.depthCullingState.depthTest,this._savedStateStencilTest=this.engine.stencilState.stencilTest}restoreStates(){this.engine.depthCullingState.depthTest=this._savedStateDepthTest,this.engine.stencilState.stencilTest=this._savedStateStencilTest}draw(){this.engine.drawElementsType(0,0,this._indexBufferLength)}_isRenderTargetTexture(e){return void 0!==e.renderTarget}render(e,t=null){if(!e.effect.isReady())return;this.saveStates(),this.setViewport();let s=null===t?null:this._isRenderTargetTexture(t)?t.renderTarget:t;s&&this.engine.bindFramebuffer(s),this.applyEffectWrapper(e),this.draw(),s&&this.engine.unBindFramebuffer(s),this.restoreStates()}dispose(){let e=this._vertexBuffers[t.VertexBuffer.PositionKind];e&&(e.dispose(),delete this._vertexBuffers[t.VertexBuffer.PositionKind]),this._indexBuffer&&this.engine._releaseBuffer(this._indexBuffer),this._onContextRestoredObserver&&(this.engine.onContextRestoredObservable.remove(this._onContextRestoredObserver),this._onContextRestoredObserver=null)}},"EffectWrapper",0,o])},1330,42688,e=>{"use strict";var t=e.i(85595),s=e.i(70432),i=e.i(90176),r=e.i(95410),a=e.i(7540),n=e.i(53773),o=e.i(68401),h=e.i(38116),l=e.i(32622),d=e.i(98551),u=e.i(75707);class c{static get ForceGLSL(){return u.EffectWrapper.ForceGLSL}static set ForceGLSL(e){u.EffectWrapper.ForceGLSL=e}static RegisterShaderCodeProcessing(e,t){u.EffectWrapper.RegisterShaderCodeProcessing(e,t)}get name(){return this._effectWrapper.name}set name(e){this._effectWrapper.name=e}get alphaMode(){return this._effectWrapper.alphaMode}set alphaMode(e){this._effectWrapper.alphaMode=e}get samples(){return this._samples}set samples(e){this._samples=Math.min(e,this._engine.getCaps().maxMSAASamples),this._textures.forEach(e=>{e.setSamples(this._samples)})}get shaderLanguage(){return this._shaderLanguage}getEffectName(){return this._fragmentUrl}set onActivate(e){this._onActivateObserver&&this.onActivateObservable.remove(this._onActivateObserver),e&&(this._onActivateObserver=this.onActivateObservable.add(e))}set onSizeChanged(e){this._onSizeChangedObserver&&this.onSizeChangedObservable.remove(this._onSizeChangedObserver),this._onSizeChangedObserver=this.onSizeChangedObservable.add(e)}set onApply(e){this._onApplyObserver&&this.onApplyObservable.remove(this._onApplyObserver),this._onApplyObserver=this.onApplyObservable.add(e)}set onBeforeRender(e){this._onBeforeRenderObserver&&this.onBeforeRenderObservable.remove(this._onBeforeRenderObserver),this._onBeforeRenderObserver=this.onBeforeRenderObservable.add(e)}set onAfterRender(e){this._onAfterRenderObserver&&this.onAfterRenderObservable.remove(this._onAfterRenderObserver),this._onAfterRenderObserver=this.onAfterRenderObservable.add(e)}get inputTexture(){return this._textures.data[this._currentRenderTextureInd]}set inputTexture(e){this._forcedOutputTexture=e}restoreDefaultInputTexture(){this._forcedOutputTexture&&(this._forcedOutputTexture=null,this.markTextureDirty())}getCamera(){return this._camera}get texelSize(){return this._shareOutputWithPostProcess?this._shareOutputWithPostProcess.texelSize:(this._forcedOutputTexture&&this._texelSize.copyFromFloats(1/this._forcedOutputTexture.width,1/this._forcedOutputTexture.height),this._texelSize)}constructor(e,t,n,o,d,_,f=1,g,x,m=null,b=0,T="postprocess",R,v=!1,S=5,O,P){let C;this._parentContainer=null,this.width=-1,this.height=-1,this.nodeMaterialSource=null,this._outputTexture=null,this.autoClear=!0,this.forceAutoClearInAlphaMode=!1,this.animations=[],this.enablePixelPerfectMode=!1,this.forceFullscreenViewport=!0,this.scaleMode=1,this.alwaysForcePOT=!1,this._samples=1,this.adaptScaleToCurrentViewport=!1,this.doNotSerialize=!1,this._webGPUReady=!1,this._reusable=!1,this._renderId=0,this.externalTextureSamplerBinding=!1,this._textures=new s.SmartArray(2),this._textureCache=[],this._currentRenderTextureInd=0,this._scaleRatio=new r.Vector2(1,1),this._texelSize=r.Vector2.Zero(),this.onActivateObservable=new i.Observable,this.onSizeChangedObservable=new i.Observable,this.onApplyObservable=new i.Observable,this.onBeforeRenderObservable=new i.Observable,this.onAfterRenderObservable=new i.Observable,this.onDisposeObservable=new i.Observable,p||(p=!0,l.AbstractEngine.prototype.setTextureFromPostProcess=function(e,t,s){let i=null;t&&(t._forcedOutputTexture?i=t._forcedOutputTexture:t._textures.data[t._currentRenderTextureInd]&&(i=t._textures.data[t._currentRenderTextureInd])),this._bindTexture(e,i?.texture??null,s)},l.AbstractEngine.prototype.setTextureFromPostProcessOutput=function(e,t,s){this._bindTexture(e,t?._outputTexture?.texture??null,s)},a.Effect.prototype.setTextureFromPostProcess=function(e,t){this._engine.setTextureFromPostProcess(this._samplers[e],t,e)},a.Effect.prototype.setTextureFromPostProcessOutput=function(e,t){this._engine.setTextureFromPostProcessOutput(this._samplers[e],t,e)},(0,h.RegisterClass)("BABYLON.PostProcess",c));let M=1,y=null;if(n&&!Array.isArray(n)){const e=n;n=e.uniforms??null,o=e.samplers??null,M=e.size??1,_=e.camera??null,f=e.samplingMode??1,g=e.engine,x=e.reusable,m=Array.isArray(e.defines)?e.defines.join("\n"):e.defines??null,b=e.textureType??0,T=e.vertexUrl??"postprocess",R=e.indexParameters,v=e.blockCompilation??!1,S=e.textureFormat??5,O=e.shaderLanguage??0,y=e.uniformBuffers??null,P=e.extraInitializations,C=e.effectWrapper}else d&&(M="number"==typeof d?d:{width:d.width,height:d.height});if(this._useExistingThinPostProcess=!!C,this._effectWrapper=C??new u.EffectWrapper({name:e,useShaderStore:!0,useAsPostProcess:!0,fragmentShader:t,engine:g||_?.getScene().getEngine(),uniforms:n,samplers:o,uniformBuffers:y,defines:m,vertexUrl:T,indexParameters:R,blockCompilation:!0,shaderLanguage:O,extraInitializations:void 0}),this.name=e,this.onEffectCreatedObservable=this._effectWrapper.onEffectCreatedObservable,null!=_?(this._camera=_,this._scene=_.getScene(),_.attachPostProcess(this),this._engine=this._scene.getEngine(),this._scene.addPostProcess(this),this.uniqueId=this._scene.getUniqueId()):g&&(this._engine=g,this._engine.postProcesses.push(this)),this._options=M,this.renderTargetSamplingMode=f||1,this._reusable=x||!1,this._textureType=b,this._textureFormat=S,this._shaderLanguage=O||0,this._samplers=o||[],-1===this._samplers.indexOf("textureSampler")&&this._samplers.push("textureSampler"),this._fragmentUrl=t,this._vertexUrl=T,this._parameters=n||[],-1===this._parameters.indexOf("scale")&&this._parameters.push("scale"),this._uniformBuffers=y||[],this._indexParameters=R,!this._useExistingThinPostProcess){this._webGPUReady=1===this._shaderLanguage;const e=[];this._gatherImports(this._engine.isWebGPU&&!c.ForceGLSL,e),this._effectWrapper._webGPUReady=this._webGPUReady,this._effectWrapper._postConstructor(v,m,P,e)}}_gatherImports(t=!1,s){t&&this._webGPUReady?s.push(Promise.all([e.A(48518)])):s.push(Promise.all([e.A(8350)]))}getClassName(){return"PostProcess"}getEngine(){return this._engine}getEffect(){return this._effectWrapper.drawWrapper.effect}shareOutputWith(e){return this._disposeTextures(),this._shareOutputWithPostProcess=e,this}useOwnOutput(){0==this._textures.length&&(this._textures=new s.SmartArray(2)),this._shareOutputWithPostProcess=null}updateEffect(e=null,t=null,s=null,i,r,a,n,o){this._effectWrapper.updateEffect(e,t,s,i,r,a,n,o),this._postProcessDefines=Array.isArray(this._effectWrapper.options.defines)?this._effectWrapper.options.defines.join("\n"):this._effectWrapper.options.defines}isReusable(){return this._reusable}markTextureDirty(){this.width=-1}_createRenderTargetTexture(e,t,s=0){for(let i=0;i<this._textureCache.length;i++)if(this._textureCache[i].texture.width===e.width&&this._textureCache[i].texture.height===e.height&&this._textureCache[i].postProcessChannel===s&&this._textureCache[i].texture._generateDepthBuffer===t.generateDepthBuffer&&this._textureCache[i].texture.samples===t.samples)return this._textureCache[i].texture;let i=this._engine.createRenderTargetTexture(e,t);return this._textureCache.push({texture:i,postProcessChannel:s,lastUsedRenderId:-1}),i}_flushTextureCache(){let e=this._renderId;for(let t=this._textureCache.length-1;t>=0;t--)if(e-this._textureCache[t].lastUsedRenderId>100){let e=!1;for(let s=0;s<this._textures.length;s++)if(this._textures.data[s]===this._textureCache[t].texture){e=!0;break}e||(this._textureCache[t].texture.dispose(),this._textureCache.splice(t,1))}}resize(e,t,s=null,i=!1,r=!1){this._textures.length>0&&this._textures.reset(),this.width=e,this.height=t;let a=null;if(s){for(let e=0;e<s._postProcesses.length;e++)if(null!==s._postProcesses[e]){a=s._postProcesses[e];break}}let n={width:this.width,height:this.height},o={generateMipMaps:i,generateDepthBuffer:r||a===this,generateStencilBuffer:(r||a===this)&&this._engine.isStencilEnable,samplingMode:this.renderTargetSamplingMode,type:this._textureType,format:this._textureFormat,samples:this._samples,label:"PostProcessRTT-"+this.name};this._textures.push(this._createRenderTargetTexture(n,o,0)),this._reusable&&this._textures.push(this._createRenderTargetTexture(n,o,1)),this._texelSize.copyFromFloats(1/this.width,1/this.height),this.onSizeChangedObservable.notifyObservers(this)}_getTarget(){let e;if(this._shareOutputWithPostProcess)e=this._shareOutputWithPostProcess.inputTexture;else if(this._forcedOutputTexture)e=this._forcedOutputTexture,this.width=this._forcedOutputTexture.width,this.height=this._forcedOutputTexture.height;else{let t;e=this.inputTexture;for(let s=0;s<this._textureCache.length;s++)if(this._textureCache[s].texture===e){t=this._textureCache[s];break}t&&(t.lastUsedRenderId=this._renderId)}return e}activate(e,t=null,s){let i=null===e||void 0!==e.cameraRigMode?e||this._camera:null,r=i?.getScene()??e,a=r.getEngine(),n=a.getCaps().maxTextureSize,o=(t?t.width:this._engine.getRenderWidth(!0))*this._options|0,h=(t?t.height:this._engine.getRenderHeight(!0))*this._options|0,l=this._options.width||o,u=this._options.height||h,c=7!==this.renderTargetSamplingMode&&1!==this.renderTargetSamplingMode&&2!==this.renderTargetSamplingMode,p=null;if(!this._shareOutputWithPostProcess&&!this._forcedOutputTexture){if(this.adaptScaleToCurrentViewport){let e=a.currentViewport;e&&(l*=e.width,u*=e.height)}(c||this.alwaysForcePOT)&&(this._options.width||(l=a.needPOTTextures?(0,d.GetExponentOfTwo)(l,n,this.scaleMode):l),this._options.height||(u=a.needPOTTextures?(0,d.GetExponentOfTwo)(u,n,this.scaleMode):u)),this.width===l&&this.height===u&&(p=this._getTarget())||this.resize(l,u,i,c,s),this._textures.forEach(e=>{e.samples!==this.samples&&this._engine.updateRenderTargetTextureSampleCount(e,this.samples)}),this._flushTextureCache(),this._renderId++}return p||(p=this._getTarget()),this.enablePixelPerfectMode?(this._scaleRatio.copyFromFloats(o/l,h/u),this._engine.bindFramebuffer(p,0,o,h,this.forceFullscreenViewport)):(this._scaleRatio.copyFromFloats(1,1),this._engine.bindFramebuffer(p,0,void 0,void 0,this.forceFullscreenViewport)),this._engine._debugInsertMarker?.(`post process ${this.name} input`),this.onActivateObservable.notifyObservers(i),this.autoClear&&(0===this.alphaMode||this.forceAutoClearInAlphaMode)&&this._engine.clear(this.clearColor?this.clearColor:r.clearColor,r._allowPostProcessClearColor,!0,!0),this._reusable&&(this._currentRenderTextureInd=(this._currentRenderTextureInd+1)%2),p}get isSupported(){return this._effectWrapper.drawWrapper.effect.isSupported}get aspectRatio(){return this._shareOutputWithPostProcess?this._shareOutputWithPostProcess.aspectRatio:this._forcedOutputTexture?this._forcedOutputTexture.width/this._forcedOutputTexture.height:this.width/this.height}isReady(){return this._effectWrapper.isReady()}apply(){let e;return this._effectWrapper.isReady()?(this._engine.enableEffect(this._effectWrapper.drawWrapper),this._engine.setState(!1),this._engine.setDepthBuffer(!1),this._engine.setDepthWrite(!1),this.alphaConstants&&this.getEngine().setAlphaConstants(this.alphaConstants.r,this.alphaConstants.g,this.alphaConstants.b,this.alphaConstants.a),this._engine.setAlphaMode(this.alphaMode),e=this._shareOutputWithPostProcess?this._shareOutputWithPostProcess.inputTexture:this._forcedOutputTexture?this._forcedOutputTexture:this.inputTexture,this.externalTextureSamplerBinding||this._effectWrapper.drawWrapper.effect._bindTexture("textureSampler",e?.texture),this._effectWrapper.drawWrapper.effect.setVector2("scale",this._scaleRatio),this.onApplyObservable.notifyObservers(this._effectWrapper.drawWrapper.effect),this._effectWrapper.bind(!0),this._effectWrapper.drawWrapper.effect):null}_disposeTextures(){this._shareOutputWithPostProcess||this._forcedOutputTexture?this._disposeTextureCache():(this._disposeTextureCache(),this._textures.dispose())}_disposeTextureCache(){for(let e=this._textureCache.length-1;e>=0;e--)this._textureCache[e].texture.dispose();this._textureCache.length=0}setPrePassRenderer(e){return!!this._prePassEffectConfiguration&&(this._prePassEffectConfiguration=e.addEffectConfiguration(this._prePassEffectConfiguration),this._prePassEffectConfiguration.enabled=!0,!0)}dispose(e){let t;if(e=e||this._camera,this._useExistingThinPostProcess||this._effectWrapper.dispose(),this._disposeTextures(),this._scene&&this._scene.removePostProcess(this),this._parentContainer&&((t=this._parentContainer.postProcesses.indexOf(this))>-1&&this._parentContainer.postProcesses.splice(t,1),this._parentContainer=null),-1!==(t=this._engine.postProcesses.indexOf(this))&&this._engine.postProcesses.splice(t,1),this.onDisposeObservable.notifyObservers(),e){if(e.detachPostProcess(this),0===(t=e._postProcesses.indexOf(this))&&e._postProcesses.length>0){let e=this._camera._getFirstPostProcess();e&&e.markTextureDirty()}this.onActivateObservable.clear(),this.onAfterRenderObservable.clear(),this.onApplyObservable.clear(),this.onBeforeRenderObservable.clear(),this.onSizeChangedObservable.clear(),this.onEffectCreatedObservable.clear()}}serialize(){let e=o.SerializationHelper.Serialize(this),t=this.getCamera()||this._scene&&this._scene.activeCamera;return e.customType="BABYLON."+this.getClassName(),e.cameraId=t?t.id:null,e.reusable=this._reusable,e.textureType=this._textureType,e.fragmentUrl=this._fragmentUrl,e.parameters=this._parameters,e.samplers=this._samplers,e.uniformBuffers=this._uniformBuffers,e.options=this._options,e.defines=this._postProcessDefines,e.textureFormat=this._textureFormat,e.vertexUrl=this._vertexUrl,e.indexParameters=this._indexParameters,e}clone(){let e=this.serialize();e._engine=this._engine,e.cameraId=null;let t=c.Parse(e,this._scene,"");return t?(t.onActivateObservable=this.onActivateObservable.clone(),t.onSizeChangedObservable=this.onSizeChangedObservable.clone(),t.onApplyObservable=this.onApplyObservable.clone(),t.onBeforeRenderObservable=this.onBeforeRenderObservable.clone(),t.onAfterRenderObservable=this.onAfterRenderObservable.clone(),t._prePassEffectConfiguration=this._prePassEffectConfiguration,t):null}static Parse(e,t,s){let i=(0,h.GetClass)(e.customType);if(!i||!i._Parse)return null;let r=t?t.getCameraById(e.cameraId):null;return i._Parse(e,r,t,s)}static _Parse(e,t,s,i){return o.SerializationHelper.Parse(()=>new c(e.name,e.fragmentUrl,e.parameters,e.samplers,e.options,t,e.renderTargetSamplingMode,e._engine,e.reusable,e.defines,e.textureType,e.vertexUrl,e.indexParameters,!1,e.textureFormat),e,s,i)}}(0,t.__decorate)([(0,n.serialize)()],c.prototype,"uniqueId",void 0),(0,t.__decorate)([(0,n.serialize)()],c.prototype,"name",null),(0,t.__decorate)([(0,n.serialize)()],c.prototype,"width",void 0),(0,t.__decorate)([(0,n.serialize)()],c.prototype,"height",void 0),(0,t.__decorate)([(0,n.serialize)()],c.prototype,"renderTargetSamplingMode",void 0),(0,t.__decorate)([(0,n.serializeAsColor4)()],c.prototype,"clearColor",void 0),(0,t.__decorate)([(0,n.serialize)()],c.prototype,"autoClear",void 0),(0,t.__decorate)([(0,n.serialize)()],c.prototype,"forceAutoClearInAlphaMode",void 0),(0,t.__decorate)([(0,n.serialize)()],c.prototype,"alphaMode",null),(0,t.__decorate)([(0,n.serialize)()],c.prototype,"alphaConstants",void 0),(0,t.__decorate)([(0,n.serialize)()],c.prototype,"enablePixelPerfectMode",void 0),(0,t.__decorate)([(0,n.serialize)()],c.prototype,"forceFullscreenViewport",void 0),(0,t.__decorate)([(0,n.serialize)()],c.prototype,"scaleMode",void 0),(0,t.__decorate)([(0,n.serialize)()],c.prototype,"alwaysForcePOT",void 0),(0,t.__decorate)([(0,n.serialize)("samples")],c.prototype,"_samples",void 0),(0,t.__decorate)([(0,n.serialize)()],c.prototype,"adaptScaleToCurrentViewport",void 0);let p=!1;e.s(["PostProcess",0,c],42688);var _=e.i(71615),f=e.i(7989),g=u,x=e.i(70855);class m extends g.EffectWrapper{_gatherImports(t,s){t?(this._webGPUReady=!0,s.push(Promise.all([e.A(81318)]))):s.push(Promise.all([e.A(87721)])),super._gatherImports(t,s)}constructor(e,t=null,s){const i={name:e,engine:t||x.EngineStore.LastCreatedEngine,useShaderStore:!0,useAsPostProcess:!0,fragmentShader:m.FragmentUrl,...s};i.engine||(i.engine=x.EngineStore.LastCreatedEngine),super(i)}}m.FragmentUrl="pass";class b extends g.EffectWrapper{_gatherImports(t,s){t?(this._webGPUReady=!0,s.push(Promise.all([e.A(67001)]))):s.push(Promise.all([e.A(15491)])),super._gatherImports(t,s)}constructor(e,t=null,s){super({...s,name:e,engine:t||x.EngineStore.LastCreatedEngine,useShaderStore:!0,useAsPostProcess:!0,fragmentShader:b.FragmentUrl,defines:"#define POSITIVEX"}),this._face=0}get face(){return this._face}set face(e){if(!(e<0)&&!(e>5))switch(this._face=e,this._face){case 0:this.updateEffect("#define POSITIVEX");break;case 1:this.updateEffect("#define NEGATIVEX");break;case 2:this.updateEffect("#define POSITIVEY");break;case 3:this.updateEffect("#define NEGATIVEY");break;case 4:this.updateEffect("#define POSITIVEZ");break;case 5:this.updateEffect("#define NEGATIVEZ")}}}b.FragmentUrl="passCube";class T extends c{get face(){return this._effectWrapper.face}set face(e){this._effectWrapper.face=e}getClassName(){return"PassCubePostProcess"}constructor(e,t,s=null,i,r,a,n=0,o=!1){const h={size:"number"==typeof t?t:void 0,camera:s,samplingMode:i,engine:r,reusable:a,textureType:n,blockCompilation:o,...t};super(e,m.FragmentUrl,{effectWrapper:"number"!=typeof t&&t.effectWrapper?void 0:new b(e,r,h),...h})}static _Parse(e,t,s,i){return o.SerializationHelper.Parse(()=>new T(e.name,e.options,t,e.renderTargetSamplingMode,e._engine,e.reusable),e,s,i)}}(0,t.__decorate)([(0,n.serialize)()],T.prototype,"face",null),e.i(90629);var R=e.i(6351);R.ToHalfFloat,R.FromHalfFloat,e.s(["RGBDTextureTools",0,class{static ExpandRGBDTexture(t){let s=t._texture;if(!s||!t.isRGBD)return;let i=s.getEngine(),r=i.getCaps(),a=s.isReady,n=!1;r.textureHalfFloatRender&&r.textureHalfFloatLinearFiltering?(n=!0,s.type=2):r.textureFloatRender&&r.textureFloatLinearFiltering&&(n=!0,s.type=1),n&&(s.isReady=!1,s._isRGBD=!1,s.invertY=!1);let o=async()=>{let r=i.isWebGPU;s.isReady=!1,r?await e.A(94674):await e.A(97517);let a=new c("rgbdDecode","rgbdDecode",null,null,1,null,3,i,!1,void 0,s.type,void 0,null,!1,void 0,+!!r);a.externalTextureSamplerBinding=!0;let n=i.createRenderTargetTexture(s.width,{generateDepthBuffer:!1,generateMipMaps:!1,generateStencilBuffer:!1,samplingMode:s.samplingMode,type:s.type,format:5});a.onEffectCreatedObservable.addOnce(e=>{e.executeWhenCompiled(()=>{a.onApply=e=>{e._bindTexture("textureSampler",s),e.setFloat2("scale",1,1)},t.getScene().postProcessManager.directRender([a],n,!0),i.restoreDefaultFramebuffer(),i._releaseTexture(s),a&&a.dispose(),n._swapAndDie(s),s.isReady=!0})})};n&&(a?o():t.onLoadObservable.addOnce(o))}static async EncodeTextureToRGBD(t,s,i=0){var r,a,n,o,h;let l;return s.getEngine().isWebGPU?await e.A(94368):await e.A(80923),await (r=i,a=1,n=5,l=t.getEngine(),t.isReady=!1,a=a??t.samplingMode,r=r??t.type,n=n??t.format,o=o??t.width,h=h??t.height,-1===r&&(r=0),new Promise(e=>{let i=new c("postprocess","rgbdEncode",null,null,1,null,a,l,!1,void 0,r,void 0,null,!1,n);i.externalTextureSamplerBinding=!0;let d=l.createRenderTargetTexture({width:o,height:h},{generateDepthBuffer:!1,generateMipMaps:!1,generateStencilBuffer:!1,samplingMode:a,type:r,format:n});i.onEffectCreatedObservable.addOnce(a=>{a.executeWhenCompiled(()=>{i.onApply=e=>{e._bindTexture("textureSampler",t),e.setFloat2("scale",1,1)},s.postProcessManager.directRender([i],d,!0),l.restoreDefaultFramebuffer(),l._releaseTexture(t),i&&i.dispose(),d._swapAndDie(t),t.type=r,t.format=5,t.isReady=!0,e(t)})})}))}}],1330)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,17606,60712,e=>{"use strict";var t=e.i(95410),s=e.i(80434),r=e.i(28326),i=e.i(67560),n=e.i(26299),o=e.i(45707);class a extends r.AbstractMesh{constructor(e,t){for(const s of(super(e,t.getScene()),this._indexInSourceMeshInstanceArray=-1,this._distanceToCamera=0,t.addInstance(this),this._sourceMesh=t,this._unIndexed=t._unIndexed,this.position.copyFrom(t.position),this.rotation.copyFrom(t.rotation),this.scaling.copyFrom(t.scaling),t.rotationQuaternion&&(this.rotationQuaternion=t.rotationQuaternion.clone()),this.animations=t.animations.slice(),t.getAnimationRanges()))null!=s&&this.createAnimationRange(s.name,s.from,s.to);if(this.infiniteDistance=t.infiniteDistance,this.setPivotMatrix(t.getPivotMatrix()),t.skeleton||t.morphTargetManager||!t.hasBoundingInfo)this.refreshBoundingInfo(!0,!0);else{const e=t.getBoundingInfo();this.buildBoundingInfo(e.minimum,e.maximum)}this._syncSubMeshes()}getClassName(){return"InstancedMesh"}get lightSources(){return this._sourceMesh._lightSources}_resyncLightSources(){}_resyncLightSource(){}_removeLightSource(){}get receiveShadows(){return this._sourceMesh.receiveShadows}set receiveShadows(e){this._sourceMesh?.receiveShadows!==e&&s.Logger.Warn("Setting receiveShadows on an instanced mesh has no effect")}get material(){return this._sourceMesh.material}set material(e){this._sourceMesh?.material!==e&&s.Logger.Warn("Setting material on an instanced mesh has no effect")}get visibility(){return this._sourceMesh.visibility}set visibility(e){this._sourceMesh?.visibility!==e&&s.Logger.Warn("Setting visibility on an instanced mesh has no effect")}get skeleton(){return this._sourceMesh.skeleton}set skeleton(e){this._sourceMesh?.skeleton!==e&&s.Logger.Warn("Setting skeleton on an instanced mesh has no effect")}get renderingGroupId(){return this._sourceMesh.renderingGroupId}set renderingGroupId(e){this._sourceMesh&&e!==this._sourceMesh.renderingGroupId&&s.Logger.Warn("Note - setting renderingGroupId of an instanced mesh has no effect on the scene")}getTotalVertices(){return this._sourceMesh?this._sourceMesh.getTotalVertices():0}getTotalIndices(){return this._sourceMesh.getTotalIndices()}get sourceMesh(){return this._sourceMesh}get geometry(){return this._sourceMesh._geometry}createInstance(e){return this._sourceMesh.createInstance(e)}isReady(e=!1){return this._sourceMesh.isReady(e,!0)}getVerticesData(e,t,s){return this._sourceMesh.getVerticesData(e,t,s)}copyVerticesData(e,t){this._sourceMesh.copyVerticesData(e,t)}getVertexBuffer(e,t){return this._sourceMesh.getVertexBuffer(e,t)}setVerticesData(e,t,s,r){return this.sourceMesh&&this.sourceMesh.setVerticesData(e,t,s,r),this.sourceMesh}updateVerticesData(e,t,s,r){return this.sourceMesh&&this.sourceMesh.updateVerticesData(e,t,s,r),this.sourceMesh}setIndices(e,t=null){return this.sourceMesh&&this.sourceMesh.setIndices(e,t),this.sourceMesh}isVerticesDataPresent(e){return this._sourceMesh.isVerticesDataPresent(e)}getIndices(){return this._sourceMesh.getIndices()}get _positions(){return this._sourceMesh._positions}refreshBoundingInfo(e=!1,t=!1){if(this.hasBoundingInfo&&this.getBoundingInfo().isLocked)return this;let s=this._sourceMesh.geometry?this._sourceMesh.geometry.boundingBias:null;return this._refreshBoundingInfo(this._sourceMesh._getData("object"==typeof e?e:{applySkeleton:e,applyMorph:t},null,o.VertexBuffer.PositionKind),s),this}_preActivate(){return this._currentLOD&&this._currentLOD._preActivate(),this}_activate(e,t){if(super._activate(e,t),this._sourceMesh.subMeshes||s.Logger.Warn("Instances should only be created for meshes with geometry."),this._currentLOD){if(this._currentLOD._getWorldMatrixDeterminant()>=0!=this._getWorldMatrixDeterminant()>=0)return this._internalAbstractMeshDataInfo._actAsRegularMesh=!0,!0;if(this._internalAbstractMeshDataInfo._actAsRegularMesh=!1,this._currentLOD._registerInstanceForRenderId(this,e),t){if(!this._currentLOD._internalAbstractMeshDataInfo._isActiveIntermediate)return this._currentLOD._internalAbstractMeshDataInfo._onlyForInstancesIntermediate=!0,!0}else if(!this._currentLOD._internalAbstractMeshDataInfo._isActive)return this._currentLOD._internalAbstractMeshDataInfo._onlyForInstances=!0,!0}return!1}_postActivate(){this._sourceMesh.edgesShareWithInstances&&this._sourceMesh._edgesRenderer&&this._sourceMesh._edgesRenderer.isEnabled&&this._sourceMesh._renderingGroup?(this._sourceMesh._renderingGroup._edgesRenderers.pushNoDuplicate(this._sourceMesh._edgesRenderer),this._sourceMesh._edgesRenderer.customInstances.push(this.getWorldMatrix())):this._edgesRenderer&&this._edgesRenderer.isEnabled&&this._sourceMesh._renderingGroup&&this._sourceMesh._renderingGroup._edgesRenderers.push(this._edgesRenderer)}getWorldMatrix(){if(this._currentLOD&&this._currentLOD!==this._sourceMesh&&this._currentLOD.billboardMode!==n.TransformNode.BILLBOARDMODE_NONE&&this._currentLOD._masterMesh!==this){this._billboardWorldMatrix||(this._billboardWorldMatrix=new t.Matrix);let e=this._currentLOD._masterMesh;return this._currentLOD._masterMesh=this,t.TmpVectors.Vector3[7].copyFrom(this._currentLOD.position),this._currentLOD.position.set(0,0,0),this._billboardWorldMatrix.copyFrom(this._currentLOD.computeWorldMatrix(!0)),this._currentLOD.position.copyFrom(t.TmpVectors.Vector3[7]),this._currentLOD._masterMesh=e,this._billboardWorldMatrix}return super.getWorldMatrix()}get isAnInstance(){return!0}getLOD(e){if(!e)return this;let t=this.sourceMesh.getLODLevels();if(t&&0!==t.length){let t=this.getBoundingInfo();this._currentLOD=this.sourceMesh.getLOD(e,t.boundingSphere)}else this._currentLOD=this.sourceMesh;return this._currentLOD}_preActivateForIntermediateRendering(e){return this.sourceMesh._preActivateForIntermediateRendering(e)}_syncSubMeshes(){if(this.releaseSubMeshes(),this._sourceMesh.subMeshes)for(let e=0;e<this._sourceMesh.subMeshes.length;e++)this._sourceMesh.subMeshes[e].clone(this,this._sourceMesh);return this}_generatePointsArray(){return this._sourceMesh._generatePointsArray()}_updateBoundingInfo(){return this.hasBoundingInfo?this.getBoundingInfo().update(this.worldMatrixFromCache):this.buildBoundingInfo(this.absolutePosition,this.absolutePosition,this.worldMatrixFromCache),this._updateSubMeshesBoundingInfo(this.worldMatrixFromCache),this}clone(e,t=null,s,r){let n=(r||this._sourceMesh).createInstance(e);if(i.DeepCopier.DeepCopy(this,n,["name","subMeshes","uniqueId","parent","lightSources","receiveShadows","material","visibility","skeleton","sourceMesh","isAnInstance","facetNb","isFacetDataEnabled","isBlocked","useBones","hasInstances","collider","edgesRenderer","forward","up","right","absolutePosition","absoluteScaling","absoluteRotationQuaternion","isWorldMatrixFrozen","nonUniformScaling","behaviors","worldMatrixFromCache","hasThinInstances","hasBoundingInfo","geometry"],[]),t&&(n.parent=t),!s)for(let e=0;e<this.getScene().meshes.length;e++){let t=this.getScene().meshes[e];t.parent===this&&t.clone(t.name,n)}return n.computeWorldMatrix(!0),this.onClonedObservable.notifyObservers(n),n}dispose(e,t=!1){this._sourceMesh.removeInstance(this),super.dispose(e,t)}_serializeAsParent(e){super._serializeAsParent(e),e.parentId=this._sourceMesh.uniqueId,e.parentInstanceIndex=this._indexInSourceMeshInstanceArray}instantiateHierarchy(e=null,t,s){let r=this.clone("Clone of "+(this.name||this.id),e||this.parent,!0,t&&t.newSourcedMesh);for(let e of(r&&s&&s(this,r),this.getChildTransformNodes(!0)))e.instantiateHierarchy(r,t,s);return r}}e.s(["InstancedMesh",0,a],17606);var h=e.i(68401),u=e.i(19990),c=e.i(71615),l=e.i(69914),f=e.i(44674),_=e.i(25974),d=e.i(70855),p=e.i(36146),x=e.i(1682),m=e.i(47899),g=e.i(38116);let y={effect:null,subMesh:null};class A extends _.PushMaterial{constructor(e,s,r,i={},n=!0){super(e,s,n),this._textures={},this._internalTextures={},this._textureArrays={},this._externalTextures={},this._floats={},this._ints={},this._uints={},this._floatsArrays={},this._colors3={},this._colors3Arrays={},this._colors4={},this._colors4Arrays={},this._vectors2={},this._vectors3={},this._vectors4={},this._quaternions={},this._quaternionsArrays={},this._matrices={},this._matrixArrays={},this._matrices3x3={},this._matrices2x2={},this._vectors2Arrays={},this._vectors3Arrays={},this._vectors4Arrays={},this._uniformBuffers={},this._textureSamplers={},this._storageBuffers={},this._cachedWorldViewMatrix=new t.Matrix,this._cachedWorldViewProjectionMatrix=new t.Matrix,this._multiview=!1,this._vertexPullingMetadata=null,this._materialHelperNeedsPreviousMatrices=!1,this._shaderPath=r,this._options={needAlphaBlending:!1,needAlphaTesting:!1,attributes:["position","normal","uv"],uniforms:["worldViewProjection"],uniformBuffers:[],samplers:[],externalTextures:[],samplerObjects:[],storageBuffers:[],defines:[],useClipPlane:!1,...i}}get shaderPath(){return this._shaderPath}set shaderPath(e){this._shaderPath=e}get options(){return this._options}get isMultiview(){return this._multiview}getClassName(){return"ShaderMaterial"}needAlphaBlending(){return this.alpha<1||this._options.needAlphaBlending}needAlphaTesting(){return this._options.needAlphaTesting}_checkUniform(e){-1===this._options.uniforms.indexOf(e)&&this._options.uniforms.push(e)}setTexture(e,t){return -1===this._options.samplers.indexOf(e)&&this._options.samplers.push(e),this._textures[e]=t,this}setInternalTexture(e,t){return -1===this._options.samplers.indexOf(e)&&this._options.samplers.push(e),this._internalTextures[e]=t,this}removeTexture(e){delete this._textures[e]}setTextureArray(e,t){return -1===this._options.samplers.indexOf(e)&&this._options.samplers.push(e),this._checkUniform(e),this._textureArrays[e]=t,this}setExternalTexture(e,t){return -1===this._options.externalTextures.indexOf(e)&&this._options.externalTextures.push(e),this._externalTextures[e]=t,this}setFloat(e,t){return this._checkUniform(e),this._floats[e]=t,this}setInt(e,t){return this._checkUniform(e),this._ints[e]=t,this}setUInt(e,t){return this._checkUniform(e),this._uints[e]=t,this}setFloats(e,t){return this._checkUniform(e),this._floatsArrays[e]=t,this}setColor3(e,t){return this._checkUniform(e),this._colors3[e]=t,this}setColor3Array(e,t){return this._checkUniform(e),this._colors3Arrays[e]=t.reduce((e,t)=>(e.push(t.r,t.g,t.b),e),[]),this}setColor4(e,t){return this._checkUniform(e),this._colors4[e]=t,this}setColor4Array(e,t){return this._checkUniform(e),this._colors4Arrays[e]=t.reduce((e,t)=>(e.push(t.r,t.g,t.b,t.a),e),[]),this}setVector2(e,t){return this._checkUniform(e),this._vectors2[e]=t,this}setVector3(e,t){return this._checkUniform(e),this._vectors3[e]=t,this}setVector4(e,t){return this._checkUniform(e),this._vectors4[e]=t,this}setQuaternion(e,t){return this._checkUniform(e),this._quaternions[e]=t,this}setQuaternionArray(e,t){return this._checkUniform(e),this._quaternionsArrays[e]=t.reduce((e,t)=>(t.toArray(e,e.length),e),[]),this}setMatrix(e,t){return this._checkUniform(e),this._matrices[e]=t,this}setMatrices(e,t){this._checkUniform(e);let s=new Float32Array(16*t.length);for(let e=0;e<t.length;e++)t[e].copyToArray(s,16*e);return this._matrixArrays[e]=s,this}setMatrix3x3(e,t){return this._checkUniform(e),this._matrices3x3[e]=t,this}setMatrix2x2(e,t){return this._checkUniform(e),this._matrices2x2[e]=t,this}setArray2(e,t){return this._checkUniform(e),this._vectors2Arrays[e]=t,this}setArray3(e,t){return this._checkUniform(e),this._vectors3Arrays[e]=t,this}setArray4(e,t){return this._checkUniform(e),this._vectors4Arrays[e]=t,this}setUniformBuffer(e,t){return -1===this._options.uniformBuffers.indexOf(e)&&this._options.uniformBuffers.push(e),this._uniformBuffers[e]=t,this}setTextureSampler(e,t){return -1===this._options.samplerObjects.indexOf(e)&&this._options.samplerObjects.push(e),this._textureSamplers[e]=t,this}setStorageBuffer(e,t){return -1===this._options.storageBuffers.indexOf(e)&&this._options.storageBuffers.push(e),this._storageBuffers[e]=t,this}setDefine(e,t){let s=e.trimEnd()+" ",r=this.options.defines.findIndex(t=>t===e||t.startsWith(s));return r>=0&&this.options.defines.splice(r,1),("boolean"!=typeof t||t)&&this.options.defines.push(s+t),this}isReadyForSubMesh(e,t,s){return this.isReady(e,s,t)}isReady(e,t,s){let r=s&&this._storeEffectOnSubMeshes;if(this.isFrozen){let e=r?s._drawWrapper:this._drawWrapper;if(e.effect&&e._wasPreviouslyReady&&e._wasPreviouslyUsingInstances===t)return!0}let i=this.getScene(),n=i.getEngine(),a=[],h=[],c=null,f=this._shaderPath,_=this._options.uniforms,d=this._options.uniformBuffers,g=this._options.samplers;n.getCaps().multiview&&i.activeCamera&&i.activeCamera.outputRenderTarget&&i.activeCamera.outputRenderTarget.getViewCount()>1&&(this._multiview=!0,a.push("#define MULTIVIEW"),-1!==_.indexOf("viewProjection")&&-1===_.indexOf("viewProjectionR")&&_.push("viewProjectionR"));for(let e=0;e<this._options.defines.length;e++){let t=0===this._options.defines[e].indexOf("#define")?this._options.defines[e]:`#define ${this._options.defines[e]}`;a.push(t)}for(let e=0;e<this._options.attributes.length;e++)h.push(this._options.attributes[e]);if(e&&e.isVerticesDataPresent(o.VertexBuffer.ColorKind)&&(-1===h.indexOf(o.VertexBuffer.ColorKind)&&h.push(o.VertexBuffer.ColorKind),a.push("#define VERTEXCOLOR")),t&&(a.push("#define INSTANCES"),(0,x.PushAttributesForInstances)(h,this._materialHelperNeedsPreviousMatrices),e?.hasThinInstances&&(a.push("#define THIN_INSTANCES"),e&&e.isVerticesDataPresent(o.VertexBuffer.ColorInstanceKind)&&(h.push(o.VertexBuffer.ColorInstanceKind),a.push("#define INSTANCESCOLOR")))),e&&e.useBones&&e.computeBonesUsingShaders&&e.skeleton){h.push(o.VertexBuffer.MatricesIndicesKind),h.push(o.VertexBuffer.MatricesWeightsKind),e.numBoneInfluencers>4&&(h.push(o.VertexBuffer.MatricesIndicesExtraKind),h.push(o.VertexBuffer.MatricesWeightsExtraKind));let t=e.skeleton;a.push("#define NUM_BONE_INFLUENCERS "+e.numBoneInfluencers),(c=new l.EffectFallbacks).addCPUSkinningFallback(0,e),t.isUsingTextureForMatrices?(a.push("#define BONETEXTURE"),-1===_.indexOf("boneTextureInfo")&&_.push("boneTextureInfo"),-1===this._options.samplers.indexOf("boneSampler")&&this._options.samplers.push("boneSampler")):(a.push("#define BonesPerMesh "+(t.bones.length+1)),-1===_.indexOf("mBones")&&_.push("mBones"))}else a.push("#define NUM_BONE_INFLUENCERS 0");let A=0,M=e?e.morphTargetManager:null;if(M){let t=-1!==a.indexOf("#define UV1"),s=-1!==a.indexOf("#define UV2"),r=-1!==a.indexOf("#define TANGENT"),i=-1!==a.indexOf("#define NORMAL"),n=-1!==a.indexOf("#define VERTEXCOLOR");A=(0,x.PrepareDefinesAndAttributesForMorphTargets)(M,a,h,e,!0,i,r,t,s,n),M.isUsingTextureForTargets&&(-1===_.indexOf("morphTargetTextureIndices")&&_.push("morphTargetTextureIndices"),-1===this._options.samplers.indexOf("morphTargets")&&this._options.samplers.push("morphTargets")),A>0&&((_=_.slice()).push("morphTargetInfluences"),_.push("morphTargetCount"),_.push("morphTargetTextureInfo"),_.push("morphTargetTextureIndices"))}else a.push("#define NUM_MORPH_INFLUENCERS 0");if(e){let s=e.bakedVertexAnimationManager;s&&s.isEnabled&&(a.push("#define BAKED_VERTEX_ANIMATION_TEXTURE"),-1===_.indexOf("bakedVertexAnimationSettings")&&_.push("bakedVertexAnimationSettings"),-1===_.indexOf("bakedVertexAnimationTextureSizeInverted")&&_.push("bakedVertexAnimationTextureSizeInverted"),-1===_.indexOf("bakedVertexAnimationTime")&&_.push("bakedVertexAnimationTime"),-1===this._options.samplers.indexOf("bakedVertexAnimationTexture")&&this._options.samplers.push("bakedVertexAnimationTexture"),t&&h.push("bakedVertexAnimationSettingsInstanced"))}for(let e in this._textures)if(!this._textures[e].isReady())return!1;for(let e in this._internalTextures)if(!this._internalTextures[e].isReady)return!1;e&&this.needAlphaTestingForMesh(e)&&a.push("#define ALPHATEST"),!1!==this._options.useClipPlane&&((0,p.AddClipPlaneUniforms)(_),(0,p.PrepareStringDefinesForClipPlanes)(this,i,a)),i.fogEnabled&&e?.applyFog&&i.fogMode!==u.Scene.FOGMODE_NONE&&(a.push("#define FOG"),-1===_.indexOf("view")&&_.push("view"),-1===_.indexOf("vFogInfos")&&_.push("vFogInfos"),-1===_.indexOf("vFogColor")&&_.push("vFogColor")),this._useLogarithmicDepth&&(a.push("#define LOGARITHMICDEPTH"),-1===_.indexOf("logarithmicDepthConstant")&&_.push("logarithmicDepthConstant"));let v=s?s.getRenderingMesh():e;if(v&&this.useVertexPulling){let e=v.geometry;e&&(this._vertexPullingMetadata=(0,m.PrepareVertexPullingUniforms)(e),this._vertexPullingMetadata&&this._vertexPullingMetadata.forEach((e,t)=>{_.push(`vp_${t}_info`)})),a.push("#define USE_VERTEX_PULLING");let t=v.geometry?.getIndexBuffer();t&&!v.isUnIndexed&&(a.push("#define VERTEX_PULLING_USE_INDEX_BUFFER"),t.is32Bits&&a.push("#define VERTEX_PULLING_INDEX_BUFFER_32BITS"))}this.customShaderNameResolve&&(_=_.slice(),d=d.slice(),g=g.slice(),f=this.customShaderNameResolve(this.name,_,d,g,a,h));let T=r?s._getDrawWrapper(void 0,!0):this._drawWrapper,b=T?.effect??null,I=T?.defines??null,S=a.join("\n"),O=b;return I!==S&&(O=n.createEffect(f,{attributes:h,uniformsNames:_,uniformBuffersNames:d,samplers:g,defines:S,fallbacks:c,onCompiled:this.onCompiled,onError:this.onError,indexParameters:{maxSimultaneousMorphTargets:A},shaderLanguage:this._options.shaderLanguage,extraInitializationsAsync:this._options.extraInitializationsAsync},n),r?s.setEffect(O,S,this._materialContext):T&&T.setEffect(O,S),this._onEffectCreatedObservable&&(y.effect=O,y.subMesh=s??e?.subMeshes[0]??null,this._onEffectCreatedObservable.notifyObservers(y))),T._wasPreviouslyUsingInstances=!!t,!!O?.isReady()&&(b!==O&&i.resetCachedMaterial(),T._wasPreviouslyReady=!0,!0)}bindOnlyWorldMatrix(e,t){let s=t??this.getEffect();if(!s)return;let r=this._options.uniforms;-1!==r.indexOf("world")&&s.setMatrix("world",e);let i=this.getScene();-1!==r.indexOf("worldView")&&(e.multiplyToRef(i.getViewMatrix(),this._cachedWorldViewMatrix),s.setMatrix("worldView",this._cachedWorldViewMatrix)),-1!==r.indexOf("worldViewProjection")&&(e.multiplyToRef(i.getTransformMatrix(),this._cachedWorldViewProjectionMatrix),s.setMatrix("worldViewProjection",this._cachedWorldViewProjectionMatrix)),-1!==r.indexOf("view")&&s.setMatrix("view",i.getViewMatrix())}bindForSubMesh(e,t,s){this.bind(e,t,s._drawWrapperOverride?.effect,s)}bind(e,t,s,r){let i=r&&this._storeEffectOnSubMeshes,n=s??(i?r.effect:this.getEffect());if(!n)return;let o=this.getScene();this._activeEffect=n,this.bindOnlyWorldMatrix(e,s);let a=this._options.uniformBuffers,h=!1;if(n&&a&&a.length>0&&o.getEngine().supportsUniformBuffers)for(let s=0;s<a.length;++s)switch(a[s]){case"Mesh":t&&(t.getMeshUniformBuffer().bindToEffect(n,"Mesh"),t.transferToEffect(e));break;case"Scene":(0,x.BindSceneUniformBuffer)(n,o.getSceneUniformBuffer()),o.finalizeSceneUbo(),h=!0}let u=t&&i?this._mustRebind(o,n,r,t.visibility):o.getCachedMaterial()!==this;if(n&&u){let e;for(e in h||-1===this._options.uniforms.indexOf("view")||n.setMatrix("view",o.getViewMatrix()),h||-1===this._options.uniforms.indexOf("projection")||n.setMatrix("projection",o.getProjectionMatrix()),!h&&-1!==this._options.uniforms.indexOf("viewProjection")&&(n.setMatrix("viewProjection",o.getTransformMatrix()),this._multiview&&n.setMatrix("viewProjectionR",o._transformMatrixR)),o.activeCamera&&-1!==this._options.uniforms.indexOf("cameraPosition")&&n.setVector3("cameraPosition",o.activeCamera.globalPosition),(0,x.BindBonesParameters)(t,n),(0,p.BindClipPlane)(n,this,o),this._vertexPullingMetadata&&(0,m.BindVertexPullingUniforms)(n,this._vertexPullingMetadata),this._useLogarithmicDepth&&(0,x.BindLogDepth)(i?r.materialDefines:n.defines,n,o),t&&(0,x.BindFogParameters)(o,t,n),this._textures)n.setTexture(e,this._textures[e]);for(e in this._internalTextures)n._bindTexture(e,this._internalTextures[e]);for(e in this._textureArrays)n.setTextureArray(e,this._textureArrays[e]);for(e in this._ints)n.setInt(e,this._ints[e]);for(e in this._uints)n.setUInt(e,this._uints[e]);for(e in this._floats)n.setFloat(e,this._floats[e]);for(e in this._floatsArrays)n.setArray(e,this._floatsArrays[e]);for(e in this._colors3)n.setColor3(e,this._colors3[e]);for(e in this._colors3Arrays)n.setArray3(e,this._colors3Arrays[e]);for(e in this._colors4){let t=this._colors4[e];n.setFloat4(e,t.r,t.g,t.b,t.a)}for(e in this._colors4Arrays)n.setArray4(e,this._colors4Arrays[e]);for(e in this._vectors2)n.setVector2(e,this._vectors2[e]);for(e in this._vectors3)n.setVector3(e,this._vectors3[e]);for(e in this._vectors4)n.setVector4(e,this._vectors4[e]);for(e in this._quaternions)n.setQuaternion(e,this._quaternions[e]);for(e in this._matrices)n.setMatrix(e,this._matrices[e]);for(e in this._matrixArrays)n.setMatrices(e,this._matrixArrays[e]);for(e in this._matrices3x3)n.setMatrix3x3(e,this._matrices3x3[e]);for(e in this._matrices2x2)n.setMatrix2x2(e,this._matrices2x2[e]);for(e in this._vectors2Arrays)n.setArray2(e,this._vectors2Arrays[e]);for(e in this._vectors3Arrays)n.setArray3(e,this._vectors3Arrays[e]);for(e in this._vectors4Arrays)n.setArray4(e,this._vectors4Arrays[e]);for(e in this._quaternionsArrays)n.setArray4(e,this._quaternionsArrays[e]);for(e in this._uniformBuffers){let t=this._uniformBuffers[e].getBuffer();t&&n.bindUniformBuffer(t,e)}let s=o.getEngine(),a=s.setExternalTexture;if(a)for(e in this._externalTextures)a.call(s,e,this._externalTextures[e]);let u=s.setTextureSampler;if(u)for(e in this._textureSamplers)u.call(s,e,this._textureSamplers[e]);let c=s.setStorageBuffer;if(c)for(e in this._storageBuffers)c.call(s,e,this._storageBuffers[e])}if(n&&t&&(u||!this.isFrozen)){(0,x.BindMorphTargetParameters)(t,n),t.morphTargetManager&&t.morphTargetManager.isUsingTextureForTargets&&t.morphTargetManager._bind(n);let e=t.bakedVertexAnimationManager;if(e&&e.isEnabled){let e=i?r._drawWrapper:this._drawWrapper;t.bakedVertexAnimationManager?.bind(n,!!e._wasPreviouslyUsingInstances)}}this._afterBind(t,n,r)}getActiveTextures(){let e=super.getActiveTextures();for(let t in this._textures)e.push(this._textures[t]);for(let t in this._textureArrays){let s=this._textureArrays[t];for(let t=0;t<s.length;t++)e.push(s[t])}return e}hasTexture(e){if(super.hasTexture(e))return!0;for(let t in this._textures)if(this._textures[t]===e)return!0;let t=e.getInternalTexture();for(let e in this._internalTextures)if(this._internalTextures[e]===t)return!0;for(let t in this._textureArrays){let s=this._textureArrays[t];for(let t=0;t<s.length;t++)if(s[t]===e)return!0}return!1}clone(e){let t=h.SerializationHelper.Clone(()=>new A(e,this.getScene(),this._shaderPath,this._options,this._storeEffectOnSubMeshes),this);for(let s of(t.name=e,t.id=e,"object"==typeof t._shaderPath&&(t._shaderPath={...t._shaderPath}),this._options={...this._options},Object.keys(this._options))){let e=this._options[s];Array.isArray(e)&&(this._options[s]=e.slice(0))}for(let e in this.stencil.copyTo(t.stencil),this._textures)t.setTexture(e,this._textures[e]);for(let e in this._internalTextures)t.setInternalTexture(e,this._internalTextures[e]);for(let e in this._textureArrays)t.setTextureArray(e,this._textureArrays[e]);for(let e in this._externalTextures)t.setExternalTexture(e,this._externalTextures[e]);for(let e in this._ints)t.setInt(e,this._ints[e]);for(let e in this._uints)t.setUInt(e,this._uints[e]);for(let e in this._floats)t.setFloat(e,this._floats[e]);for(let e in this._floatsArrays)t.setFloats(e,this._floatsArrays[e]);for(let e in this._colors3)t.setColor3(e,this._colors3[e]);for(let e in this._colors3Arrays)t._colors3Arrays[e]=this._colors3Arrays[e];for(let e in this._colors4)t.setColor4(e,this._colors4[e]);for(let e in this._colors4Arrays)t._colors4Arrays[e]=this._colors4Arrays[e];for(let e in this._vectors2)t.setVector2(e,this._vectors2[e]);for(let e in this._vectors3)t.setVector3(e,this._vectors3[e]);for(let e in this._vectors4)t.setVector4(e,this._vectors4[e]);for(let e in this._quaternions)t.setQuaternion(e,this._quaternions[e]);for(let e in this._quaternionsArrays)t._quaternionsArrays[e]=this._quaternionsArrays[e];for(let e in this._matrices)t.setMatrix(e,this._matrices[e]);for(let e in this._matrixArrays)t._matrixArrays[e]=this._matrixArrays[e].slice();for(let e in this._matrices3x3)t.setMatrix3x3(e,this._matrices3x3[e]);for(let e in this._matrices2x2)t.setMatrix2x2(e,this._matrices2x2[e]);for(let e in this._vectors2Arrays)t.setArray2(e,this._vectors2Arrays[e]);for(let e in this._vectors3Arrays)t.setArray3(e,this._vectors3Arrays[e]);for(let e in this._vectors4Arrays)t.setArray4(e,this._vectors4Arrays[e]);for(let e in this._uniformBuffers)t.setUniformBuffer(e,this._uniformBuffers[e]);for(let e in this._textureSamplers)t.setTextureSampler(e,this._textureSamplers[e]);for(let e in this._storageBuffers)t.setStorageBuffer(e,this._storageBuffers[e]);return t}dispose(e,t,s){if(t){let e;for(e in this._textures)this._textures[e].dispose();for(e in this._internalTextures)this._internalTextures[e].dispose();for(e in this._textureArrays){let t=this._textureArrays[e];for(let e=0;e<t.length;e++)t[e].dispose()}}this._textures={},this._internalTextures={},super.dispose(e,t,s)}serialize(){let e,t=h.SerializationHelper.Serialize(this);for(e in t.customType="BABYLON.ShaderMaterial",t.uniqueId=this.uniqueId,t.options=this._options,t.shaderPath=this._shaderPath,t.storeEffectOnSubMeshes=this._storeEffectOnSubMeshes,t.stencil=this.stencil.serialize(),t.textures={},this._textures)t.textures[e]=this._textures[e].serialize();for(e in t.textureArrays={},this._textureArrays){t.textureArrays[e]=[];let s=this._textureArrays[e];for(let r=0;r<s.length;r++)t.textureArrays[e].push(s[r].serialize())}for(e in t.ints={},this._ints)t.ints[e]=this._ints[e];for(e in t.uints={},this._uints)t.uints[e]=this._uints[e];for(e in t.floats={},this._floats)t.floats[e]=this._floats[e];for(e in t.floatsArrays={},this._floatsArrays)t.floatsArrays[e]=this._floatsArrays[e];for(e in t.colors3={},this._colors3){let s=this._colors3[e];t.colors3[e]=[s.r,s.g,s.b]}for(e in t.colors3Arrays={},this._colors3Arrays)t.colors3Arrays[e]=this._colors3Arrays[e];for(e in t.colors4={},this._colors4){let s=this._colors4[e];t.colors4[e]=[s.r,s.g,s.b,s.a]}for(e in t.colors4Arrays={},this._colors4Arrays)t.colors4Arrays[e]=this._colors4Arrays[e];for(e in t.vectors2={},this._vectors2){let s=this._vectors2[e];t.vectors2[e]=[s.x,s.y]}for(e in t.vectors3={},this._vectors3){let s=this._vectors3[e];t.vectors3[e]=[s.x,s.y,s.z]}for(e in t.vectors4={},this._vectors4){let s=this._vectors4[e];t.vectors4[e]=[s.x,s.y,s.z,s.w]}for(e in t.quaternions={},this._quaternions)t.quaternions[e]=this._quaternions[e].asArray();for(e in t.matrices={},this._matrices)t.matrices[e]=this._matrices[e].asArray();for(e in t.matrixArray={},this._matrixArrays)t.matrixArray[e]=this._matrixArrays[e];for(e in t.matrices3x3={},this._matrices3x3)t.matrices3x3[e]=this._matrices3x3[e];for(e in t.matrices2x2={},this._matrices2x2)t.matrices2x2[e]=this._matrices2x2[e];for(e in t.vectors2Arrays={},this._vectors2Arrays)t.vectors2Arrays[e]=this._vectors2Arrays[e];for(e in t.vectors3Arrays={},this._vectors3Arrays)t.vectors3Arrays[e]=this._vectors3Arrays[e];for(e in t.vectors4Arrays={},this._vectors4Arrays)t.vectors4Arrays[e]=this._vectors4Arrays[e];for(e in t.quaternionsArrays={},this._quaternionsArrays)t.quaternionsArrays[e]=this._quaternionsArrays[e];return t}}function M(e,s,r){let i,n=h.SerializationHelper.Parse(()=>new A(e.name,s,e.shaderPath,e.options,e.storeEffectOnSubMeshes),e,s,r);for(i in e.stencil&&n.stencil.parse(e.stencil,s,r),e.textures)n.setTexture(i,c.Texture.Parse(e.textures[i],s,r));for(i in e.textureArrays){let t=e.textureArrays[i],o=[];for(let e=0;e<t.length;e++)o.push(c.Texture.Parse(t[e],s,r));n.setTextureArray(i,o)}for(i in e.ints)n.setInt(i,e.ints[i]);for(i in e.uints)n.setUInt(i,e.uints[i]);for(i in e.floats)n.setFloat(i,e.floats[i]);for(i in e.floatsArrays)n.setFloats(i,e.floatsArrays[i]);for(i in e.colors3){let t=e.colors3[i];n.setColor3(i,{r:t[0],g:t[1],b:t[2]})}for(i in e.colors3Arrays){let t=e.colors3Arrays[i].reduce((e,t,s)=>(s%3==0?e.push([t]):e[e.length-1].push(t),e),[]).map(e=>({r:e[0],g:e[1],b:e[2]}));n.setColor3Array(i,t)}for(i in e.colors4){let t=e.colors4[i];n.setColor4(i,{r:t[0],g:t[1],b:t[2],a:t[3]})}for(i in e.colors4Arrays){let t=e.colors4Arrays[i].reduce((e,t,s)=>(s%4==0?e.push([t]):e[e.length-1].push(t),e),[]).map(e=>({r:e[0],g:e[1],b:e[2],a:e[3]}));n.setColor4Array(i,t)}for(i in e.vectors2){let t=e.vectors2[i];n.setVector2(i,{x:t[0],y:t[1]})}for(i in e.vectors3){let t=e.vectors3[i];n.setVector3(i,{x:t[0],y:t[1],z:t[2]})}for(i in e.vectors4){let t=e.vectors4[i];n.setVector4(i,{x:t[0],y:t[1],z:t[2],w:t[3]})}for(i in e.quaternions)n.setQuaternion(i,t.Quaternion.FromArray(e.quaternions[i]));for(i in e.matrices)n.setMatrix(i,t.Matrix.FromArray(e.matrices[i]));for(i in e.matrixArray)n._matrixArrays[i]=new Float32Array(e.matrixArray[i]);for(i in e.matrices3x3)n.setMatrix3x3(i,e.matrices3x3[i]);for(i in e.matrices2x2)n.setMatrix2x2(i,e.matrices2x2[i]);for(i in e.vectors2Arrays)n.setArray2(i,e.vectors2Arrays[i]);for(i in e.vectors3Arrays)n.setArray3(i,e.vectors3Arrays[i]);for(i in e.vectors4Arrays)n.setArray4(i,e.vectors4Arrays[i]);for(i in e.quaternionsArrays)n.setArray4(i,e.quaternionsArrays[i]);return n}async function v(e,t,s,r=""){return await new Promise((i,n)=>{let o=new f.WebRequest;o.addEventListener("readystatechange",()=>{if(4==o.readyState)if(200==o.status){let t=M(JSON.parse(o.responseText),s||d.EngineStore.LastCreatedScene,r);e&&(t.name=e),i(t)}else n("Unable to load the ShaderMaterial")}),o.open("GET",t),o.send()})}async function T(e,t,s=""){let r=this?.SnippetUrl??A.SnippetUrl;return await new Promise((i,n)=>{let o=new f.WebRequest;o.addEventListener("readystatechange",()=>{if(4==o.readyState)if(200==o.status){let r=M(JSON.parse(JSON.parse(JSON.parse(o.responseText).jsonPayload).shaderMaterial),t||d.EngineStore.LastCreatedScene,s);r.snippetId=e,i(r)}else n("Unable to load the snippet "+e)}),o.open("GET",r+"/"+e.replace(/#/g,"/")),o.send()})}A.SnippetUrl="https://snippet.babylonjs.com";let b=!1;e.s(["RegisterShaderMaterial",0,function(){b||(b=!0,A.Parse=M,A.ParseFromFileAsync=v,A.ParseFromSnippetAsync=T,A.CreateFromSnippetAsync=T,(0,g.RegisterClass)("BABYLON.ShaderMaterial",A))},"ShaderMaterial",0,A],60712)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,21009,t=>{"use strict";class r{static SetMatrixPrecision(t){if(r.MatrixTrackPrecisionChange=!1,t&&!r.MatrixUse64Bits&&r.MatrixTrackedMatrices)for(let t=0;t<r.MatrixTrackedMatrices.length;++t){let e=r.MatrixTrackedMatrices[t],i=e._m;e._m=Array(16);for(let t=0;t<16;++t)e._m[t]=i[t]}r.MatrixUse64Bits=t,r.MatrixCurrentType=r.MatrixUse64Bits?Array:Float32Array,r.MatrixTrackedMatrices=null}}r.MatrixUse64Bits=!1,r.MatrixTrackPrecisionChange=!0,r.MatrixCurrentType=Float32Array,r.MatrixTrackedMatrices=[],t.s(["PerformanceConfigurator",0,r])},90629,t=>{"use strict";t.s(["Clamp",0,function(t,r=0,e=1){return Math.min(e,Math.max(r,t))},"Hermite",0,function(t,r,e,i,s){let n=s*s,a=s*n;return t*(2*a-3*n+1)+e*(-2*a+3*n)+r*(a-2*n+s)+i*(a-n)},"HighestCommonFactor",0,function t(r,e){let i=r%e;return 0===i?e:t(e,i)},"ILog2",0,function(t){if(Math.log2)return Math.floor(Math.log2(t));if(t<0)return NaN;if(0===t)return-1/0;let r=0;if(t<1){for(;t<1;)r++,t*=2;r=-r}else if(t>1)for(;t>1;)r++,t=Math.floor(t/2);return r},"Lerp",0,function(t,r,e){return t+(r-t)*e},"NormalizeRadians",0,function(t){return t-2*Math.PI*Math.floor((t+Math.PI)/(2*Math.PI))},"RandomRange",0,function(t,r){return t===r?t:Math.random()*(r-t)+t},"ToHex",0,function(t){let r=t.toString(16);return t<=15?("0"+r).toUpperCase():r.toUpperCase()},"WithinEpsilon",0,function(t,r,e=1401298e-51){return Math.abs(t-r)<=e}])},70855,33945,90176,t=>{"use strict";var r,e,i;let s={},n={};function a(t,r,e=!1){let i=function(){if(e&&1){let e=`${t}.${r}`;n[e]||(n[e]=!0,console.warn(`[Babylon.js] ${e}() requires a side-effect import. See: https://doc.babylonjs.com/setup/treeshaking`))}};return i.__isSideEffectStub=!0,i}t.s(["_IsSideEffectImplemented",0,function(t){return!!t&&!t.__isSideEffectStub},"_MissingSideEffect",0,a,"_MissingSideEffectProperty",0,function(t,r){return{get(){},set(t){Object.defineProperty(this,r,{value:t,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0}},"_WarnImport",0,function(t,r=!1){if(!r||!s[t])return s[t]=!0,`${t} needs to be imported before as it contains a side-effect required by your code.`}],33945);let h="u">typeof WeakRef;class o{constructor(t,r=!1,e,i){this.initialize(t,r,e,i)}initialize(t,r=!1,e,i){return this.mask=t,this.skipNextObservers=r,this.target=e,this.currentTarget=i,this}}class l{constructor(t,r,e=null){this.callback=t,this.mask=r,this.scope=e,this._willBeUnregistered=!1,this.unregisterOnNextCall=!1,this._remove=null}remove(t=!1){this._remove&&this._remove(t)}}class u{static FromPromise(t,r){let e=new u;return t.then(t=>{e.notifyObservers(t)}).catch(t=>{if(r)r.notifyObservers(t);else throw t}),e}get observers(){return this._observers}constructor(t,r=!1){this.notifyIfTriggered=r,this._observers=[],this._numObserversMarkedAsDeleted=0,this._hasNotified=!1,this._eventState=new o(0),t&&(this._onObserverAdded=t)}add(t,r=-1,e=!1,i=null,s=!1){if(!t)return null;let n=new l(t,r,i);n.unregisterOnNextCall=s,e?this._observers.unshift(n):this._observers.push(n),this._onObserverAdded&&this._onObserverAdded(n),this._hasNotified&&this.notifyIfTriggered&&void 0!==this._lastNotifiedValue&&this.notifyObserver(n,this._lastNotifiedValue);let a=h?new WeakRef(this):{deref:()=>this};return n._remove=(t=!1)=>{let r=a.deref();r&&(t?r.remove(n):r._remove(n))},n}addOnce(t){return this.add(t,void 0,void 0,void 0,!0)}remove(t){return!!t&&(t._remove=null,-1!==this._observers.indexOf(t)&&(this._deferUnregister(t),!0))}removeCallback(t,r){for(let e=0;e<this._observers.length;e++){let i=this._observers[e];if(!i._willBeUnregistered&&i.callback===t&&(!r||r===i.scope))return this._deferUnregister(i),!0}return!1}_deferUnregister(t){t._willBeUnregistered||(this._numObserversMarkedAsDeleted++,t.unregisterOnNextCall=!1,t._willBeUnregistered=!0,setTimeout(()=>{this._remove(t)},0))}_remove(t,r=!0){if(!t)return!1;let e=this._observers.indexOf(t);return -1!==e&&(r&&this._numObserversMarkedAsDeleted--,this._observers.splice(e,1),!0)}makeObserverTopPriority(t){this._remove(t,!1),this._observers.unshift(t)}makeObserverBottomPriority(t){this._remove(t,!1),this._observers.push(t)}notifyObservers(t,r=-1,e,i,s){if(this.notifyIfTriggered&&(this._hasNotified=!0,this._lastNotifiedValue=t),!this._observers.length)return!0;let n=this._eventState;for(let a of(n.mask=r,n.target=e,n.currentTarget=i,n.skipNextObservers=!1,n.lastReturnValue=t,n.userInfo=s,this._observers))if(!a._willBeUnregistered&&(a.mask&r&&(a.unregisterOnNextCall&&this._deferUnregister(a),a.scope?n.lastReturnValue=a.callback.apply(a.scope,[t,n]):n.lastReturnValue=a.callback(t,n)),n.skipNextObservers))return!1;return!0}notifyObserver(t,r,e=-1){if(this.notifyIfTriggered&&(this._hasNotified=!0,this._lastNotifiedValue=r),t._willBeUnregistered)return;let i=this._eventState;i.mask=e,i.skipNextObservers=!1,t.unregisterOnNextCall&&this._deferUnregister(t),t.callback(r,i)}hasObservers(){return this._observers.length-this._numObserversMarkedAsDeleted>0}clear(){for(;this._observers.length;){let t=this._observers.pop();t&&(t._remove=null)}this._onObserverAdded=null,this._numObserversMarkedAsDeleted=0,this.cleanLastNotifiedState()}cleanLastNotifiedState(){this._hasNotified=!1,this._lastNotifiedValue=void 0}clone(){let t=new u;return t._observers=this._observers.slice(0),t}hasSpecificMask(t=-1){for(let r of this._observers)if(r.mask&t||r.mask===t)return!0;return!1}}(r=u.prototype).notifyObserversWithPromise??(r.notifyObserversWithPromise=a("Observable","notifyObserversWithPromise")),(e=u.prototype).runCoroutineAsync??(e.runCoroutineAsync=a("Observable","runCoroutineAsync")),(i=u.prototype).cancelAllCoroutines??(i.cancelAllCoroutines=a("Observable","cancelAllCoroutines")),t.s(["Observable",0,u],90176);class c{static get LastCreatedEngine(){return 0===this.Instances.length?null:this.Instances[this.Instances.length-1]}static get LastCreatedScene(){return this._LastCreatedScene}}c.Instances=[],c.OnEnginesDisposedObservable=new u,c._LastCreatedScene=null,c.UseFallbackTexture=!0,c.FallbackTexture="",t.s(["EngineStore",0,c],70855)},38116,t=>{"use strict";let r={};t.s(["GetClass",0,function(t){return r[t]},"RegisterClass",0,function(t,e){r[t]=e}])},42580,t=>{"use strict";var r=t.i(42476),e=t.i(82579),i=t.i(90629),s=t.i(38116);function n(t){return Math.pow(t,e.ToLinearSpace)}function a(t){return t<=.04045?.0773993808*t:Math.pow(.947867299*(t+.055),2.4)}function h(t){return Math.pow(t,e.ToGammaSpace)}function o(t){return t<=.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}class l{constructor(t=0,r=0,e=0){this.r=t,this.g=r,this.b=e}toString(){return"{R: "+this.r+" G:"+this.g+" B:"+this.b+"}"}getClassName(){return"Color3"}getHashCode(){let t=255*this.r|0;return 397*(t=397*t^255*this.g)^255*this.b}toArray(t,r=0){return t[r]=this.r,t[r+1]=this.g,t[r+2]=this.b,this}fromArray(t,r=0){return l.FromArrayToRef(t,r,this),this}toColor4(t=1){return new u(this.r,this.g,this.b,t)}asArray(){return[this.r,this.g,this.b]}toLuminance(){return .3*this.r+.59*this.g+.11*this.b}multiply(t){return new l(this.r*t.r,this.g*t.g,this.b*t.b)}multiplyToRef(t,r){return r.r=this.r*t.r,r.g=this.g*t.g,r.b=this.b*t.b,r}multiplyInPlace(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this}multiplyByFloats(t,r,e){return new l(this.r*t,this.g*r,this.b*e)}divide(t){throw ReferenceError("Can not divide a color")}divideToRef(t,r){throw ReferenceError("Can not divide a color")}divideInPlace(t){throw ReferenceError("Can not divide a color")}minimizeInPlace(t){return this.minimizeInPlaceFromFloats(t.r,t.g,t.b)}maximizeInPlace(t){return this.maximizeInPlaceFromFloats(t.r,t.g,t.b)}minimizeInPlaceFromFloats(t,r,e){return this.r=Math.min(t,this.r),this.g=Math.min(r,this.g),this.b=Math.min(e,this.b),this}maximizeInPlaceFromFloats(t,r,e){return this.r=Math.max(t,this.r),this.g=Math.max(r,this.g),this.b=Math.max(e,this.b),this}floorToRef(t){throw ReferenceError("Can not floor a color")}floor(){throw ReferenceError("Can not floor a color")}fractToRef(t){throw ReferenceError("Can not fract a color")}fract(){throw ReferenceError("Can not fract a color")}equals(t){return t&&this.r===t.r&&this.g===t.g&&this.b===t.b}equalsFloats(t,r,e){return this.equalsToFloats(t,r,e)}equalsToFloats(t,r,e){return this.r===t&&this.g===r&&this.b===e}equalsWithEpsilon(t,r=e.Epsilon){return(0,i.WithinEpsilon)(this.r,t.r,r)&&(0,i.WithinEpsilon)(this.g,t.g,r)&&(0,i.WithinEpsilon)(this.b,t.b,r)}negate(){throw ReferenceError("Can not negate a color")}negateInPlace(){throw ReferenceError("Can not negate a color")}negateToRef(t){throw ReferenceError("Can not negate a color")}scale(t){return new l(this.r*t,this.g*t,this.b*t)}scaleInPlace(t){return this.r*=t,this.g*=t,this.b*=t,this}scaleToRef(t,r){return r.r=this.r*t,r.g=this.g*t,r.b=this.b*t,r}scaleAndAddToRef(t,r){return r.r+=this.r*t,r.g+=this.g*t,r.b+=this.b*t,r}clampToRef(t=0,r=1,e){return e.r=(0,i.Clamp)(this.r,t,r),e.g=(0,i.Clamp)(this.g,t,r),e.b=(0,i.Clamp)(this.b,t,r),e}add(t){return new l(this.r+t.r,this.g+t.g,this.b+t.b)}addInPlace(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this}addInPlaceFromFloats(t,r,e){return this.r+=t,this.g+=r,this.b+=e,this}addToRef(t,r){return r.r=this.r+t.r,r.g=this.g+t.g,r.b=this.b+t.b,r}subtract(t){return new l(this.r-t.r,this.g-t.g,this.b-t.b)}subtractToRef(t,r){return r.r=this.r-t.r,r.g=this.g-t.g,r.b=this.b-t.b,r}subtractInPlace(t){return this.r-=t.r,this.g-=t.g,this.b-=t.b,this}subtractFromFloats(t,r,e){return new l(this.r-t,this.g-r,this.b-e)}subtractFromFloatsToRef(t,r,e,i){return i.r=this.r-t,i.g=this.g-r,i.b=this.b-e,i}clone(){return new l(this.r,this.g,this.b)}copyFrom(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copyFromFloats(t,r,e){return this.r=t,this.g=r,this.b=e,this}set(t,r,e){return this.copyFromFloats(t,r,e)}setAll(t){return this.r=this.g=this.b=t,this}toHexString(){let t=Math.round(255*this.r),r=Math.round(255*this.g),e=Math.round(255*this.b);return"#"+(0,i.ToHex)(t)+(0,i.ToHex)(r)+(0,i.ToHex)(e)}fromHexString(t){return"#"!==t.substring(0,1)||7!==t.length||(this.r=parseInt(t.substring(1,3),16)/255,this.g=parseInt(t.substring(3,5),16)/255,this.b=parseInt(t.substring(5,7),16)/255),this}toHSV(){return this.toHSVToRef(new l)}toHSVToRef(t){let r=this.r,e=this.g,i=this.b,s=Math.max(r,e,i),n=Math.min(r,e,i),a=0,h=0,o=s-n;return 0!==s&&(h=o/s),s!=n&&(s==r?(a=(e-i)/o,e<i&&(a+=6)):s==e?a=(i-r)/o+2:s==i&&(a=(r-e)/o+4),a*=60),t.r=a,t.g=h,t.b=s,t}toLinearSpace(t=!1){let r=new l;return this.toLinearSpaceToRef(r,t),r}toLinearSpaceToRef(t,r=!1){return r?(t.r=a(this.r),t.g=a(this.g),t.b=a(this.b)):(t.r=n(this.r),t.g=n(this.g),t.b=n(this.b)),this}toGammaSpace(t=!1){let r=new l;return this.toGammaSpaceToRef(r,t),r}toGammaSpaceToRef(t,r=!1){return r?(t.r=o(this.r),t.g=o(this.g),t.b=o(this.b)):(t.r=h(this.r),t.g=h(this.g),t.b=h(this.b)),this}static HSVtoRGBToRef(t,r,e,i){let s=e*r,n=t/60,a=s*(1-Math.abs(n%2-1)),h=0,o=0,l=0;n>=0&&n<=1?(h=s,o=a):n>=1&&n<=2?(h=a,o=s):n>=2&&n<=3?(o=s,l=a):n>=3&&n<=4?(o=a,l=s):n>=4&&n<=5?(h=a,l=s):n>=5&&n<=6&&(h=s,l=a);let u=e-s;return i.r=h+u,i.g=o+u,i.b=l+u,i}static FromHSV(t,r,e){let i=new l(0,0,0);return l.HSVtoRGBToRef(t,r,e,i),i}static FromHexString(t){return new l(0,0,0).fromHexString(t)}static FromArray(t,r=0){return new l(t[r],t[r+1],t[r+2])}static FromArrayToRef(t,r=0,e){e.r=t[r],e.g=t[r+1],e.b=t[r+2]}static FromInts(t,r,e){return new l(t/255,r/255,e/255)}static Lerp(t,r,e){let i=new l(0,0,0);return l.LerpToRef(t,r,e,i),i}static LerpToRef(t,r,e,i){i.r=t.r+(r.r-t.r)*e,i.g=t.g+(r.g-t.g)*e,i.b=t.b+(r.b-t.b)*e}static Hermite(t,r,e,i,s){let n=s*s,a=s*n,h=2*a-3*n+1,o=-2*a+3*n,u=a-2*n+s,c=a-n;return new l(t.r*h+e.r*o+r.r*u+i.r*c,t.g*h+e.g*o+r.g*u+i.g*c,t.b*h+e.b*o+r.b*u+i.b*c)}static Hermite1stDerivative(t,r,e,i,s){let n=l.Black();return this.Hermite1stDerivativeToRef(t,r,e,i,s,n),n}static Hermite1stDerivativeToRef(t,r,e,i,s,n){let a=s*s;n.r=(a-s)*6*t.r+(3*a-4*s+1)*r.r+(-a+s)*6*e.r+(3*a-2*s)*i.r,n.g=(a-s)*6*t.g+(3*a-4*s+1)*r.g+(-a+s)*6*e.g+(3*a-2*s)*i.g,n.b=(a-s)*6*t.b+(3*a-4*s+1)*r.b+(-a+s)*6*e.b+(3*a-2*s)*i.b}static Red(){return new l(1,0,0)}static Green(){return new l(0,1,0)}static Blue(){return new l(0,0,1)}static Black(){return new l(0,0,0)}static get BlackReadOnly(){return l._BlackReadOnly}static White(){return new l(1,1,1)}static Purple(){return new l(.5,0,.5)}static Magenta(){return new l(1,0,1)}static Yellow(){return new l(1,1,0)}static Gray(){return new l(.5,.5,.5)}static Teal(){return new l(0,1,1)}static Random(){return new l(Math.random(),Math.random(),Math.random())}}l._V8PerformanceHack=new l(.5,.5,.5),l._BlackReadOnly=l.Black();class u{constructor(t=0,r=0,e=0,i=1){this.r=t,this.g=r,this.b=e,this.a=i}asArray(){return[this.r,this.g,this.b,this.a]}toArray(t,r=0){return t[r]=this.r,t[r+1]=this.g,t[r+2]=this.b,t[r+3]=this.a,this}fromArray(t,r=0){return this.r=t[r],this.g=t[r+1],this.b=t[r+2],this.a=t[r+3],this}equals(t){return t&&this.r===t.r&&this.g===t.g&&this.b===t.b&&this.a===t.a}add(t){return new u(this.r+t.r,this.g+t.g,this.b+t.b,this.a+t.a)}addToRef(t,r){return r.r=this.r+t.r,r.g=this.g+t.g,r.b=this.b+t.b,r.a=this.a+t.a,r}addInPlace(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this.a+=t.a,this}addInPlaceFromFloats(t,r,e,i){return this.r+=t,this.g+=r,this.b+=e,this.a+=i,this}subtract(t){return new u(this.r-t.r,this.g-t.g,this.b-t.b,this.a-t.a)}subtractToRef(t,r){return r.r=this.r-t.r,r.g=this.g-t.g,r.b=this.b-t.b,r.a=this.a-t.a,r}subtractInPlace(t){return this.r-=t.r,this.g-=t.g,this.b-=t.b,this.a-=t.a,this}subtractFromFloats(t,r,e,i){return new u(this.r-t,this.g-r,this.b-e,this.a-i)}subtractFromFloatsToRef(t,r,e,i,s){return s.r=this.r-t,s.g=this.g-r,s.b=this.b-e,s.a=this.a-i,s}scale(t){return new u(this.r*t,this.g*t,this.b*t,this.a*t)}scaleInPlace(t){return this.r*=t,this.g*=t,this.b*=t,this.a*=t,this}scaleToRef(t,r){return r.r=this.r*t,r.g=this.g*t,r.b=this.b*t,r.a=this.a*t,r}scaleAndAddToRef(t,r){return r.r+=this.r*t,r.g+=this.g*t,r.b+=this.b*t,r.a+=this.a*t,r}clampToRef(t=0,r=1,e){return e.r=(0,i.Clamp)(this.r,t,r),e.g=(0,i.Clamp)(this.g,t,r),e.b=(0,i.Clamp)(this.b,t,r),e.a=(0,i.Clamp)(this.a,t,r),e}multiply(t){return new u(this.r*t.r,this.g*t.g,this.b*t.b,this.a*t.a)}multiplyToRef(t,r){return r.r=this.r*t.r,r.g=this.g*t.g,r.b=this.b*t.b,r.a=this.a*t.a,r}multiplyInPlace(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this.a*=t.a,this}multiplyByFloats(t,r,e,i){return new u(this.r*t,this.g*r,this.b*e,this.a*i)}divide(t){throw ReferenceError("Can not divide a color")}divideToRef(t,r){throw ReferenceError("Can not divide a color")}divideInPlace(t){throw ReferenceError("Can not divide a color")}minimizeInPlace(t){return this.r=Math.min(this.r,t.r),this.g=Math.min(this.g,t.g),this.b=Math.min(this.b,t.b),this.a=Math.min(this.a,t.a),this}maximizeInPlace(t){return this.r=Math.max(this.r,t.r),this.g=Math.max(this.g,t.g),this.b=Math.max(this.b,t.b),this.a=Math.max(this.a,t.a),this}minimizeInPlaceFromFloats(t,r,e,i){return this.r=Math.min(t,this.r),this.g=Math.min(r,this.g),this.b=Math.min(e,this.b),this.a=Math.min(i,this.a),this}maximizeInPlaceFromFloats(t,r,e,i){return this.r=Math.max(t,this.r),this.g=Math.max(r,this.g),this.b=Math.max(e,this.b),this.a=Math.max(i,this.a),this}floorToRef(t){throw ReferenceError("Can not floor a color")}floor(){throw ReferenceError("Can not floor a color")}fractToRef(t){throw ReferenceError("Can not fract a color")}fract(){throw ReferenceError("Can not fract a color")}negate(){throw ReferenceError("Can not negate a color")}negateInPlace(){throw ReferenceError("Can not negate a color")}negateToRef(t){throw ReferenceError("Can not negate a color")}equalsWithEpsilon(t,r=e.Epsilon){return(0,i.WithinEpsilon)(this.r,t.r,r)&&(0,i.WithinEpsilon)(this.g,t.g,r)&&(0,i.WithinEpsilon)(this.b,t.b,r)&&(0,i.WithinEpsilon)(this.a,t.a,r)}equalsToFloats(t,r,e,i){return this.r===t&&this.g===r&&this.b===e&&this.a===i}toString(){return"{R: "+this.r+" G:"+this.g+" B:"+this.b+" A:"+this.a+"}"}getClassName(){return"Color4"}getHashCode(){let t=255*this.r|0;return 397*(t=397*(t=397*t^255*this.g)^255*this.b)^255*this.a}clone(){return new u().copyFrom(this)}copyFrom(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this}copyFromFloats(t,r,e,i){return this.r=t,this.g=r,this.b=e,this.a=i,this}set(t,r,e,i){return this.copyFromFloats(t,r,e,i)}setAll(t){return this.r=this.g=this.b=this.a=t,this}toHexString(t=!1){let r=Math.round(255*this.r),e=Math.round(255*this.g),s=Math.round(255*this.b);if(t)return"#"+(0,i.ToHex)(r)+(0,i.ToHex)(e)+(0,i.ToHex)(s);let n=Math.round(255*this.a);return"#"+(0,i.ToHex)(r)+(0,i.ToHex)(e)+(0,i.ToHex)(s)+(0,i.ToHex)(n)}fromHexString(t){return"#"!==t.substring(0,1)||9!==t.length&&7!==t.length||(this.r=parseInt(t.substring(1,3),16)/255,this.g=parseInt(t.substring(3,5),16)/255,this.b=parseInt(t.substring(5,7),16)/255,9===t.length&&(this.a=parseInt(t.substring(7,9),16)/255)),this}toLinearSpace(t=!1){let r=new u;return this.toLinearSpaceToRef(r,t),r}toLinearSpaceToRef(t,r=!1){return r?(t.r=a(this.r),t.g=a(this.g),t.b=a(this.b)):(t.r=n(this.r),t.g=n(this.g),t.b=n(this.b)),t.a=this.a,this}toGammaSpace(t=!1){let r=new u;return this.toGammaSpaceToRef(r,t),r}toGammaSpaceToRef(t,r=!1){return r?(t.r=o(this.r),t.g=o(this.g),t.b=o(this.b)):(t.r=h(this.r),t.g=h(this.g),t.b=h(this.b)),t.a=this.a,this}static FromHexString(t){return"#"!==t.substring(0,1)||9!==t.length&&7!==t.length?new u(0,0,0,0):new u(0,0,0,1).fromHexString(t)}static Lerp(t,r,e){return u.LerpToRef(t,r,e,new u)}static LerpToRef(t,r,e,i){return i.r=t.r+(r.r-t.r)*e,i.g=t.g+(r.g-t.g)*e,i.b=t.b+(r.b-t.b)*e,i.a=t.a+(r.a-t.a)*e,i}static Hermite(t,r,e,i,s){let n=s*s,a=s*n,h=2*a-3*n+1,o=-2*a+3*n,l=a-2*n+s,c=a-n;return new u(t.r*h+e.r*o+r.r*l+i.r*c,t.g*h+e.g*o+r.g*l+i.g*c,t.b*h+e.b*o+r.b*l+i.b*c,t.a*h+e.a*o+r.a*l+i.a*c)}static Hermite1stDerivative(t,r,e,i,s){let n=new u;return this.Hermite1stDerivativeToRef(t,r,e,i,s,n),n}static Hermite1stDerivativeToRef(t,r,e,i,s,n){let a=s*s;n.r=(a-s)*6*t.r+(3*a-4*s+1)*r.r+(-a+s)*6*e.r+(3*a-2*s)*i.r,n.g=(a-s)*6*t.g+(3*a-4*s+1)*r.g+(-a+s)*6*e.g+(3*a-2*s)*i.g,n.b=(a-s)*6*t.b+(3*a-4*s+1)*r.b+(-a+s)*6*e.b+(3*a-2*s)*i.b,n.a=(a-s)*6*t.a+(3*a-4*s+1)*r.a+(-a+s)*6*e.a+(3*a-2*s)*i.a}static FromColor3(t,r=1){return new u(t.r,t.g,t.b,r)}static FromArray(t,r=0){return new u(t[r],t[r+1],t[r+2],t[r+3])}static FromArrayToRef(t,r=0,e){e.r=t[r],e.g=t[r+1],e.b=t[r+2],e.a=t[r+3]}static FromInts(t,r,e,i){return new u(t/255,r/255,e/255,i/255)}static CheckColors4(t,r){if(t.length===3*r){let r=[];for(let e=0;e<t.length;e+=3){let i=e/3*4;r[i]=t[e],r[i+1]=t[e+1],r[i+2]=t[e+2],r[i+3]=1}return r}return t}}u._V8PerformanceHack=new u(.5,.5,.5,.5);class c{}c.Color3=(0,r.BuildArray)(3,l.Black),c.Color4=(0,r.BuildArray)(3,()=>new u(0,0,0,0));let g=!1;t.s(["Color3",0,l,"Color4",0,u,"RegisterMathColor",0,function(){g||(g=!0,Object.defineProperties(l.prototype,{dimension:{value:[3]},rank:{value:1}}),Object.defineProperties(u.prototype,{dimension:{value:[4]},rank:{value:1}}),(0,s.RegisterClass)("BABYLON.Color3",l),(0,s.RegisterClass)("BABYLON.Color4",u))},"TmpColors",0,c])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,81139,95357,35218,58106,e=>{"use strict";var t=e.i(85595),i=e.i(53773),o=e.i(95603),a=e.i(95410),s=e.i(82579),r=e.i(58910);class n{constructor(e,t,i){this._cameraPosition=t,this._behavior=i,this.activeInput=!1,this.speed=1,this.zoomSpeed=1,this.panSpeed=1,this.rotationXSpeed=1,this.rotationYSpeed=1,this._zoomSpeedMultiplier=1,this._panSpeedMultiplier=1,this.zoomInertia=.9,this.panInertia=.9,this.rotationInertia=.9,this.zoomAccumulatedPixels=0,this.panAccumulatedPixels=new a.Vector3,this.rotationAccumulatedPixels=new a.Vector3,this.zoomDeltaCurrentFrame=0,this.panDeltaCurrentFrame=a.Vector3.Zero(),this.rotationDeltaCurrentFrame=a.Vector3.Zero(),this._zoomVelocity=0,this._panVelocity=new a.Vector3,this.referenceFrameRate=60,this._rotationVelocity=new a.Vector3,this._prevFrameTimeMs=0,this._scene=e}computeCurrentFrameDeltas(){let e=this._scene.getEngine().getDeltaTime(),t=this._getEffectiveDeltaMs(e);if(0===this._zoomVelocity&&0===this.zoomAccumulatedPixels&&0===this._panVelocity.x&&0===this._panVelocity.y&&0===this._panVelocity.z&&0===this.panAccumulatedPixels.x&&0===this.panAccumulatedPixels.y&&0===this.panAccumulatedPixels.z&&0===this._rotationVelocity.x&&0===this._rotationVelocity.y&&0===this._rotationVelocity.z&&0===this.rotationAccumulatedPixels.x&&0===this.rotationAccumulatedPixels.y&&0===this.rotationAccumulatedPixels.z&&!this.activeInput){this.panDeltaCurrentFrame.setAll(0),this.rotationDeltaCurrentFrame.setAll(0),this.zoomDeltaCurrentFrame=0,e>0&&(this._prevFrameTimeMs=e);return}this.panDeltaCurrentFrame.setAll(0),this.rotationDeltaCurrentFrame.setAll(0),this.zoomDeltaCurrentFrame=0,(this.panAccumulatedPixels.lengthSquared()>0||this.rotationAccumulatedPixels.lengthSquared()>0||0!==this.zoomAccumulatedPixels)&&this._behavior?.isInterpolating&&this._behavior.stopAllAnimations(),this._panVelocity.copyFromFloats(this._calculateCurrentVelocity(this._panVelocity.x,this.panAccumulatedPixels.x,this.panInertia),this._calculateCurrentVelocity(this._panVelocity.y,this.panAccumulatedPixels.y,this.panInertia),this._calculateCurrentVelocity(this._panVelocity.z,this.panAccumulatedPixels.z,this.panInertia)),this._panVelocity.scaleToRef(this.speed*this.panSpeed*this._panSpeedMultiplier*t,this.panDeltaCurrentFrame),this._rotationVelocity.copyFromFloats(this._calculateCurrentVelocity(this._rotationVelocity.x,this.rotationAccumulatedPixels.x,this.rotationInertia),this._calculateCurrentVelocity(this._rotationVelocity.y,this.rotationAccumulatedPixels.y,this.rotationInertia),this._calculateCurrentVelocity(this._rotationVelocity.z,this.rotationAccumulatedPixels.z,this.rotationInertia)),this.rotationDeltaCurrentFrame.copyFromFloats(this._rotationVelocity.x*this.speed*this.rotationXSpeed*t,this._rotationVelocity.y*this.speed*this.rotationYSpeed*t,0),this._zoomVelocity=this._calculateCurrentVelocity(this._zoomVelocity,this.zoomAccumulatedPixels,this.zoomInertia),this.zoomDeltaCurrentFrame=this._zoomVelocity*(this.speed*this.zoomSpeed*this._zoomSpeedMultiplier)*t,e>0&&(this._prevFrameTimeMs=e),this.zoomAccumulatedPixels=0,this.panAccumulatedPixels.setAll(0),this.rotationAccumulatedPixels.setAll(0),this.activeInput=!1}resetRotationVelocity(){this._rotationVelocity.setAll(0),this.rotationAccumulatedPixels.setAll(0)}resetPanVelocity(){this._panVelocity.setAll(0),this.panAccumulatedPixels.setAll(0)}resetZoomVelocity(){this._zoomVelocity=0,this.zoomAccumulatedPixels=0}get isInterpolating(){return!!this._behavior?.isInterpolating}getFrameIndependentDecay(e){let t=this._scene.getEngine().getDeltaTime();return Math.pow(e,this._getEffectiveDeltaMs(t)/(1e3/this.referenceFrameRate))}getFrameIndependentInputScale(e){let t=1-e;return t<=0?1:(1-this.getFrameIndependentDecay(e))/t}_getEffectiveDeltaMs(e){return e>0?e:this._prevFrameTimeMs>0?this._prevFrameTimeMs:1e3/this.referenceFrameRate}_calculateCurrentVelocity(e,t,i){let o=e,a=this._scene.getEngine().getDeltaTime(),s=this._getEffectiveDeltaMs(a);if(0===s)return o;let r=this.getFrameIndependentDecay(i);if(o*=r,0!==t||this.activeInput){let e=1-i;o+=t/s*(e>0?(1-r)/e:1)}else 1e-6>Math.abs(o)&&(o=0);return o}}e.s(["CameraMovement",0,n],95357);class h{constructor(e,t){this.inputMap=[],this.handlers=e,this._createDefaultEntries=t,this.resetInputMap()}resolveInteraction(e,t){for(let i of this.inputMap)if(i.source===e&&this._entryMatches(i,t))return i;return null}resetInputMap(){this.inputMap=this._createDefaultEntries?.()??[]}getEntry(e,t,i){let o=this.inputMap;for(let a=0;a<o.length;a++){let s=o[a];if(s.source===e&&s.interaction===t&&this._entryConditionsMatch(s,i))return s}}getEntries(e,t,i){let o=[],a=this.inputMap;for(let s=0;s<a.length;s++){let r=a[s];r.source===e&&r.interaction===t&&this._entryConditionsMatch(r,i)&&o.push(r)}return o}addEntry(e){let t=this._entrySpecificity(e),i=this.inputMap.length;for(let e=0;e<this.inputMap.length;e++)if(this._entrySpecificity(this.inputMap[e])<t){i=e;break}this.inputMap.splice(i,0,e)}setInteraction(e,t,i){let o=this.resolveInteraction(e,t);return o&&this._entryCoversAllConditionsOf(o,t)?o.interaction=i:this.addEntry({source:e,...t??{},interaction:i}),!0}_entryCoversAllConditionsOf(e,t){if(!t)return!0;for(let i of Object.keys(t)){let o=t[i];if(void 0!==o){if("modifiers"===i){let t=e.modifiers??{};for(let e of Object.keys(o))if(void 0!==o[e]&&void 0===t[e])return!1}else if(void 0===e[i])return!1}}return!0}setInteractions(e,t,i){let o=0,a=this.inputMap;for(let s=0;s<a.length;s++){let r=a[s];r.source===e&&this._entryMatches(r,t)&&(r.interaction=i,o++)}return o}_entryMatches(e,t){switch(e.source){case"pointer":if(void 0!==e.button&&e.button!==t?.button)return!1;return this._matchModifiers(e.modifiers,t?.modifiers);case"wheel":return this._matchModifiers(e.modifiers,t?.modifiers);case"touch":if(void 0!==e.touchCount&&e.touchCount!==t?.touchCount)return!1;return!0;case"keyboard":if(void 0!==e.key&&(Array.isArray(e.key)?-1===e.key.indexOf(t?.key??-1):e.key!==t?.key))return!1;return this._matchModifiers(e.modifiers,t?.modifiers)}}_entryConditionsMatch(e,t){if(!t)return!0;switch(e.source){case"pointer":if("button"in t&&e.button!==t.button)return!1;return!("modifiers"in t)||this._entryModifiersMatch(e.modifiers,t.modifiers);case"wheel":return!("modifiers"in t)||this._entryModifiersMatch(e.modifiers,t.modifiers);case"touch":return!("touchCount"in t)||e.touchCount===t.touchCount;case"keyboard":if("key"in t){if(void 0===e.key)return void 0===t.key;if(void 0===t.key||(Array.isArray(e.key)?-1===e.key.indexOf(t.key):e.key!==t.key))return!1}return!("modifiers"in t)||this._entryModifiersMatch(e.modifiers,t.modifiers)}}_entrySpecificity(e){let t=0;return"button"in e&&void 0!==e.button&&t++,"key"in e&&void 0!==e.key&&t++,"touchCount"in e&&void 0!==e.touchCount&&t++,"modifiers"in e&&e.modifiers&&t++,t}_matchModifiers(e,t){return!e||(void 0===e.ctrl||e.ctrl===(t?.ctrl??!1))&&(void 0===e.shift||e.shift===(t?.shift??!1))&&(void 0===e.alt||e.alt===(t?.alt??!1))}_entryModifiersMatch(e,t){return t?void 0===t.ctrl&&void 0===t.shift&&void 0===t.alt?!e||void 0===e.ctrl&&void 0===e.shift&&void 0===e.alt:(void 0===t.ctrl||e?.ctrl===t.ctrl)&&(void 0===t.shift||e?.shift===t.shift)&&(void 0===t.alt||e?.alt===t.alt):!e}}e.s(["InputMapper",0,h],35218);class l extends n{constructor(e,t,i){super(e,t,i),this.input=new h({translate:(e,t,i)=>{this.panAccumulatedPixels.x+=e,this.panAccumulatedPixels.y+=t,this.panAccumulatedPixels.z+=i},rotate:(e,t)=>{this.rotationAccumulatedPixels.x+=e,this.rotationAccumulatedPixels.y+=t}},()=>this._createDefaultInputMap())}_createDefaultInputMap(){return[{source:"pointer",interaction:"rotate"},{source:"keyboard",interaction:"translate"},{source:"keyboard",interaction:"rotate"},{source:"touch",interaction:"rotate"},{source:"touch",interaction:"translate"}]}}let c=a.Matrix.Zero(),d=a.Quaternion.Identity();class u extends o.Camera{get inertia(){return this._targetInertia}set inertia(e){this._targetInertia=e,this.movement&&(this.movement.panInertia=e,this.movement.rotationInertia=e)}constructor(e,t,i,o=!0){super(e,t,i,o),this.cameraDirection=new a.Vector3(0,0,0),this.cameraRotation=new a.Vector2(0,0),this._targetInertia=.9,this.updateUpVectorFromRotation=!1,this.speed=2,this.noRotationConstraint=!1,this.invertRotation=!1,this.inverseRotationSpeed=.2,this._panningEpsilon=s.Epsilon,this._rotationEpsilon=s.Epsilon,this.lockedTarget=null,this._currentTarget=a.Vector3.Zero(),this._initialFocalDistance=1,this._viewMatrix=a.Matrix.Zero(),this._cameraTransformMatrix=a.Matrix.Zero(),this._cameraRotationMatrix=a.Matrix.Zero(),this._transformedReferencePoint=a.Vector3.Zero(),this._deferredPositionUpdate=new a.Vector3,this._deferredRotationQuaternionUpdate=new a.Quaternion,this._deferredRotationUpdate=new a.Vector3,this._deferredUpdated=!1,this._deferOnly=!1,this._cachedRotationZ=0,this._cachedQuaternionRotationZ=0,this._referencePoint=a.Vector3.Forward(this.getScene().useRightHandedSystem),this.rotation=new a.Vector3(0,this.getScene().useRightHandedSystem?Math.PI:0,0),this.movement=new l(this.getScene(),this.position),this.movement.panInertia=this.inertia,this.movement.rotationInertia=this.inertia}getFrontPosition(e){this.getWorldMatrix();let t=a.TmpVectors.Vector3[0],i=a.TmpVectors.Vector3[1];return i.set(0,0,this._scene.useRightHandedSystem?-1:1),this.getDirectionToRef(i,t),t.scaleInPlace(e),this.globalPosition.add(t)}_getLockedTargetPosition(){if(!this.lockedTarget)return null;if(this.lockedTarget.absolutePosition){let e=this.lockedTarget;e.computeWorldMatrix().getTranslationToRef(e.absolutePosition)}return this.lockedTarget.absolutePosition||this.lockedTarget}storeState(){return this._storedPosition=this.position.clone(),this._storedRotation=this.rotation.clone(),this.rotationQuaternion&&(this._storedRotationQuaternion=this.rotationQuaternion.clone()),super.storeState()}_restoreStateValues(){return!!super._restoreStateValues()&&(this.position=this._storedPosition.clone(),this.rotation=this._storedRotation.clone(),this.rotationQuaternion&&this._storedRotationQuaternion&&(this.rotationQuaternion=this._storedRotationQuaternion.clone()),this.cameraDirection.copyFromFloats(0,0,0),this.cameraRotation.copyFromFloats(0,0),!0)}_initCache(){super._initCache(),this._cache.lockedTarget=new a.Vector3(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),this._cache.rotation=new a.Vector3(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),this._cache.rotationQuaternion=new a.Quaternion(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE)}_updateCache(e){e||super._updateCache();let t=this._getLockedTargetPosition();t?this._cache.lockedTarget?this._cache.lockedTarget.copyFrom(t):this._cache.lockedTarget=t.clone():this._cache.lockedTarget=null,this._cache.rotation.copyFrom(this.rotation),this.rotationQuaternion&&this._cache.rotationQuaternion.copyFrom(this.rotationQuaternion)}_isSynchronizedViewMatrix(){if(!super._isSynchronizedViewMatrix())return!1;let e=this._getLockedTargetPosition();return(this._cache.lockedTarget?this._cache.lockedTarget.equals(e):!e)&&(this.rotationQuaternion?this.rotationQuaternion.equals(this._cache.rotationQuaternion):this._cache.rotation.equals(this.rotation))}_computeLocalCameraSpeed(){let e=this.getEngine();return this.speed*Math.sqrt(e.getDeltaTime()/(100*e.getFps()))}setTarget(e){this.upVector.normalize(),this._initialFocalDistance=e.subtract(this.position).length(),this.position.z===e.z&&(this.position.z+=s.Epsilon),this._referencePoint.normalize().scaleInPlace(this._initialFocalDistance),this.getScene().useRightHandedSystem?a.Matrix.LookAtRHToRef(this.position,e,a.Vector3.UpReadOnly,c):a.Matrix.LookAtLHToRef(this.position,e,a.Vector3.UpReadOnly,c),c.invert();let t=this.rotationQuaternion||d;a.Quaternion.FromRotationMatrixToRef(c,t),t.toEulerAnglesToRef(this.rotation),this.rotation.z=0}get target(){return this.getTarget()}set target(e){this.setTarget(e)}getTarget(){return this._currentTarget}_decideIfNeedsToMove(){return Math.abs(this.cameraDirection.x)>0||Math.abs(this.cameraDirection.y)>0||Math.abs(this.cameraDirection.z)>0}_updatePosition(){if(this.parent){this.parent.getWorldMatrix().invertToRef(a.TmpVectors.Matrix[0]),a.Vector3.TransformNormalToRef(this.cameraDirection,a.TmpVectors.Matrix[0],a.TmpVectors.Vector3[0]),this._deferredPositionUpdate.addInPlace(a.TmpVectors.Vector3[0]),this._deferOnly?this._deferredUpdated=!0:this.position.copyFrom(this._deferredPositionUpdate);return}this._deferredPositionUpdate.addInPlace(this.cameraDirection),this._deferOnly?this._deferredUpdated=!0:this.position.copyFrom(this._deferredPositionUpdate)}_checkInputs(){let e=this.movement,t=0!==this.cameraDirection.x||0!==this.cameraDirection.y||0!==this.cameraDirection.z;e.panAccumulatedPixels.addInPlace(this.cameraDirection),e.rotationAccumulatedPixels.x+=this.cameraRotation.x,e.rotationAccumulatedPixels.y+=this.cameraRotation.y,e.computeCurrentFrameDeltas(),this.cameraDirection.copyFrom(e.panDeltaCurrentFrame),this.cameraRotation.set(e.rotationDeltaCurrentFrame.x,e.rotationDeltaCurrentFrame.y);let i=this.speed*this._panningEpsilon;!t&&Math.abs(this.cameraDirection.x)<i&&Math.abs(this.cameraDirection.y)<i&&Math.abs(this.cameraDirection.z)<i&&(this.cameraDirection.setAll(0),e.resetPanVelocity());let o=this.invertRotation?-this.inverseRotationSpeed:1,s=this._decideIfNeedsToMove(),r=!!(this.cameraRotation.x||this.cameraRotation.y);this._deferredUpdated=!1,this._deferredRotationUpdate.copyFrom(this.rotation),this._deferredPositionUpdate.copyFrom(this.position),this.rotationQuaternion&&this._deferredRotationQuaternionUpdate.copyFrom(this.rotationQuaternion),s&&this._updatePosition(),r&&(this.rotationQuaternion&&this.rotationQuaternion.toEulerAnglesToRef(this._deferredRotationUpdate),this._deferredRotationUpdate.x+=this.cameraRotation.x*o,this._deferredRotationUpdate.y+=this.cameraRotation.y*o,!this.noRotationConstraint&&(this._deferredRotationUpdate.x>1.570796&&(this._deferredRotationUpdate.x=1.570796),this._deferredRotationUpdate.x<-1.570796&&(this._deferredRotationUpdate.x=-1.570796)),this._deferOnly?this._deferredUpdated=!0:this.rotation.copyFrom(this._deferredRotationUpdate),this.rotationQuaternion&&this._deferredRotationUpdate.lengthSquared()&&(a.Quaternion.RotationYawPitchRollToRef(this._deferredRotationUpdate.y,this._deferredRotationUpdate.x,this._deferredRotationUpdate.z,this._deferredRotationQuaternionUpdate),this._deferOnly?this._deferredUpdated=!0:this.rotationQuaternion.copyFrom(this._deferredRotationQuaternionUpdate))),this.cameraDirection.setAll(0),this.cameraRotation.set(0,0),super._checkInputs()}_updateCameraRotationMatrix(){this.rotationQuaternion?this.rotationQuaternion.toRotationMatrix(this._cameraRotationMatrix):a.Matrix.RotationYawPitchRollToRef(this.rotation.y,this.rotation.x,this.rotation.z,this._cameraRotationMatrix)}_rotateUpVectorWithCameraRotationMatrix(){return a.Vector3.TransformNormalToRef(a.Vector3.UpReadOnly,this._cameraRotationMatrix,this.upVector),this}_getViewMatrix(){return this.lockedTarget&&this.setTarget(this._getLockedTargetPosition()),this._updateCameraRotationMatrix(),this.rotationQuaternion&&this._cachedQuaternionRotationZ!=this.rotationQuaternion.z?(this._rotateUpVectorWithCameraRotationMatrix(),this._cachedQuaternionRotationZ=this.rotationQuaternion.z):this._cachedRotationZ!==this.rotation.z&&(this._rotateUpVectorWithCameraRotationMatrix(),this._cachedRotationZ=this.rotation.z),a.Vector3.TransformCoordinatesToRef(this._referencePoint,this._cameraRotationMatrix,this._transformedReferencePoint),this.position.addToRef(this._transformedReferencePoint,this._currentTarget),this.updateUpVectorFromRotation&&(this.rotationQuaternion?r.Axis.Y.rotateByQuaternionToRef(this.rotationQuaternion,this.upVector):(a.Quaternion.FromEulerVectorToRef(this.rotation,d),r.Axis.Y.rotateByQuaternionToRef(d,this.upVector))),this._computeViewMatrix(this.position,this._currentTarget,this.upVector),this._viewMatrix}_computeViewMatrix(e,t,i){if(this.getScene().useRightHandedSystem?a.Matrix.LookAtRHToRef(e,t,i,this._viewMatrix):a.Matrix.LookAtLHToRef(e,t,i,this._viewMatrix),this.parent){let e=this.parent.getWorldMatrix();this._viewMatrix.invert(),this._viewMatrix.multiplyToRef(e,this._viewMatrix),this._viewMatrix.invert(),this._markSyncedWithParent()}}createRigCamera(e,t){if(this.cameraRigMode!==o.Camera.RIG_MODE_NONE){let t=new u(e,this.position.clone(),this.getScene());return t.isRigCamera=!0,t.rigParent=this,this.cameraRigMode===o.Camera.RIG_MODE_VR&&(this.rotationQuaternion||(this.rotationQuaternion=new a.Quaternion),t._cameraRigParams={},t.rotationQuaternion=new a.Quaternion),t.mode=this.mode,t.orthoLeft=this.orthoLeft,t.orthoRight=this.orthoRight,t.orthoTop=this.orthoTop,t.orthoBottom=this.orthoBottom,t}return null}_updateRigCameras(){let e=this._rigCameras[0],t=this._rigCameras[1];switch(this.computeWorldMatrix(),this.cameraRigMode){case o.Camera.RIG_MODE_STEREOSCOPIC_ANAGLYPH:case o.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL:case o.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED:case o.Camera.RIG_MODE_STEREOSCOPIC_OVERUNDER:case o.Camera.RIG_MODE_STEREOSCOPIC_INTERLACED:{let i=this.cameraRigMode===o.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED?1:-1,a=this.cameraRigMode===o.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED?-1:1;this._getRigCamPositionAndTarget(this._cameraRigParams.stereoHalfAngle*i,e),this._getRigCamPositionAndTarget(this._cameraRigParams.stereoHalfAngle*a,t);break}case o.Camera.RIG_MODE_VR:e.rotationQuaternion&&t.rotationQuaternion&&this.rotationQuaternion?(e.rotationQuaternion.copyFrom(this.rotationQuaternion),t.rotationQuaternion.copyFrom(this.rotationQuaternion)):(e.rotation.copyFrom(this.rotation),t.rotation.copyFrom(this.rotation)),e.position.copyFrom(this.position),t.position.copyFrom(this.position)}super._updateRigCameras()}_getRigCamPositionAndTarget(e,t){this.getTarget().subtractToRef(this.position,u._TargetFocalPoint),u._TargetFocalPoint.normalize().scaleInPlace(this._initialFocalDistance);let i=u._TargetFocalPoint.addInPlace(this.position);a.Matrix.TranslationToRef(-i.x,-i.y,-i.z,u._TargetTransformMatrix),u._TargetTransformMatrix.multiplyToRef(a.Matrix.RotationAxis(t.upVector,e),u._RigCamTransformMatrix),a.Matrix.TranslationToRef(i.x,i.y,i.z,u._TargetTransformMatrix),u._RigCamTransformMatrix.multiplyToRef(u._TargetTransformMatrix,u._RigCamTransformMatrix),a.Vector3.TransformCoordinatesToRef(this.position,u._RigCamTransformMatrix,t.position),t.setTarget(i)}getClassName(){return"TargetCamera"}}u._RigCamTransformMatrix=new a.Matrix,u._TargetTransformMatrix=new a.Matrix,u._TargetFocalPoint=new a.Vector3,(0,t.__decorate)([(0,i.serialize)()],u.prototype,"updateUpVectorFromRotation",void 0),(0,t.__decorate)([(0,i.serializeAsVector3)()],u.prototype,"rotation",void 0),(0,t.__decorate)([(0,i.serialize)()],u.prototype,"speed",void 0),(0,t.__decorate)([(0,i.serializeAsMeshReference)("lockedTargetId")],u.prototype,"lockedTarget",void 0),e.s(["TargetCamera",0,u],81139);var p=e.i(80434),_=e.i(68401),m={};e.s(["CameraInputTypes",0,m,"CameraInputsManager",0,class{constructor(e){this.attachedToElement=!1,this.attached={},this.camera=e,this.checkInputs=()=>{}}add(e){let t=e.getSimpleName();this.attached[t]?p.Logger.Warn("camera input of type "+t+" already exists on camera"):(this.attached[t]=e,e.camera=this.camera,e.checkInputs&&(this.checkInputs=this._addCheckInputs(e.checkInputs.bind(e))),this.attachedToElement&&e.attachControl(this.noPreventDefault))}remove(e){for(let t in this.attached){let i=this.attached[t];if(i===e){i.detachControl(),i.camera=null,delete this.attached[t],this.rebuildInputCheck();return}}}removeByType(e){for(let t in this.attached){let i=this.attached[t];i.getClassName()===e&&(i.detachControl(),i.camera=null,delete this.attached[t],this.rebuildInputCheck())}}_addCheckInputs(e){let t=this.checkInputs;return()=>{t(),e()}}attachInput(e){this.attachedToElement&&e.attachControl(this.noPreventDefault)}attachElement(e=!1){if(!this.attachedToElement)for(let t in e=!o.Camera.ForceAttachControlToAlwaysPreventDefault&&e,this.attachedToElement=!0,this.noPreventDefault=e,this.attached)this.attached[t].attachControl(e)}detachElement(e=!1){for(let t in this.attached)this.attached[t].detachControl(),e&&(this.attached[t].camera=null);this.attachedToElement=!1}rebuildInputCheck(){for(let e in this.checkInputs=()=>{},this.attached){let t=this.attached[e];t.checkInputs&&(this.checkInputs=this._addCheckInputs(t.checkInputs.bind(t)))}}clear(){this.attachedToElement&&this.detachElement(!0),this.attached={},this.attachedToElement=!1,this.checkInputs=()=>{}}serialize(e){let t={};for(let e in this.attached){let i=this.attached[e],o=_.SerializationHelper.Serialize(i);t[i.getClassName()]=o}e.inputsmgr=t}parse(e){let t=e.inputsmgr;if(t)for(let e in this.clear(),t){let i=m[e];if(i){let o=t[e],a=_.SerializationHelper.Parse(()=>new i,o,null);this.add(a)}}else for(let t in this.attached){let i=m[this.attached[t].getClassName()];if(i){let o=_.SerializationHelper.Parse(()=>new i,e,null);this.remove(this.attached[t]),this.add(o)}}}}],58106)},27030,e=>{"use strict";var t,i,o,a,s,r=e.i(85595),n=e.i(53773),h=e.i(95410),l=e.i(81139),c=e.i(58106),d=e.i(35705),u=e.i(13856);class p{constructor(){this.keysUp=[38],this.keysUpward=[33],this.keysDown=[40],this.keysDownward=[34],this.keysLeft=[37],this.keysRight=[39],this.rotationSpeed=.5,this.keysRotateLeft=[],this.keysRotateRight=[],this.keysRotateUp=[],this.keysRotateDown=[],this._keys=[]}attachControl(e){e=u.Tools.BackCompatCameraNoPreventDefault(arguments),this._onCanvasBlurObserver||(this._scene=this.camera.getScene(),this._engine=this._scene.getEngine(),this._onCanvasBlurObserver=this._engine.onCanvasBlurObservable.add(()=>{this._keys.length=0}),this._onKeyboardObserver=this._scene.onKeyboardObservable.add(t=>{let i=t.event;if(!i.metaKey){if(t.type===d.KeyboardEventTypes.KEYDOWN)(-1!==this.keysUp.indexOf(i.keyCode)||-1!==this.keysDown.indexOf(i.keyCode)||-1!==this.keysLeft.indexOf(i.keyCode)||-1!==this.keysRight.indexOf(i.keyCode)||-1!==this.keysUpward.indexOf(i.keyCode)||-1!==this.keysDownward.indexOf(i.keyCode)||-1!==this.keysRotateLeft.indexOf(i.keyCode)||-1!==this.keysRotateRight.indexOf(i.keyCode)||-1!==this.keysRotateUp.indexOf(i.keyCode)||-1!==this.keysRotateDown.indexOf(i.keyCode))&&(-1===this._keys.indexOf(i.keyCode)&&this._keys.push(i.keyCode),e||i.preventDefault());else if(-1!==this.keysUp.indexOf(i.keyCode)||-1!==this.keysDown.indexOf(i.keyCode)||-1!==this.keysLeft.indexOf(i.keyCode)||-1!==this.keysRight.indexOf(i.keyCode)||-1!==this.keysUpward.indexOf(i.keyCode)||-1!==this.keysDownward.indexOf(i.keyCode)||-1!==this.keysRotateLeft.indexOf(i.keyCode)||-1!==this.keysRotateRight.indexOf(i.keyCode)||-1!==this.keysRotateUp.indexOf(i.keyCode)||-1!==this.keysRotateDown.indexOf(i.keyCode)){let t=this._keys.indexOf(i.keyCode);t>=0&&this._keys.splice(t,1),e||i.preventDefault()}}}))}detachControl(){this._scene&&(this._onKeyboardObserver&&this._scene.onKeyboardObservable.remove(this._onKeyboardObserver),this._onCanvasBlurObserver&&this._engine.onCanvasBlurObservable.remove(this._onCanvasBlurObserver),this._onKeyboardObserver=null,this._onCanvasBlurObserver=null),this._keys.length=0}checkInputs(){if(this._onKeyboardObserver){let e=this.camera,t=e.movement.input,i=t.getEntry("keyboard","translate"),o=t.getEntry("keyboard","rotate"),a=o?.sensitivity??1,s=e._localDirection.copyFromFloats(0,0,0);for(let t=0;t<this._keys.length;t++){let i=this._keys[t];-1!==this.keysLeft.indexOf(i)?s.x-=1:-1!==this.keysUp.indexOf(i)?s.z+=1:-1!==this.keysRight.indexOf(i)?s.x+=1:-1!==this.keysDown.indexOf(i)?s.z-=1:-1!==this.keysUpward.indexOf(i)?s.y+=1:-1!==this.keysDownward.indexOf(i)?s.y-=1:-1!==this.keysRotateLeft.indexOf(i)?o&&(e.cameraRotation.y-=this._getLocalRotation()*a):-1!==this.keysRotateRight.indexOf(i)?o&&(e.cameraRotation.y+=this._getLocalRotation()*a):-1!==this.keysRotateUp.indexOf(i)?o&&(e.cameraRotation.x-=this._getLocalRotation()*a):-1!==this.keysRotateDown.indexOf(i)&&o&&(e.cameraRotation.x+=this._getLocalRotation()*a)}if(i&&(0!==s.x||0!==s.y||0!==s.z)){let t=e._computeLocalCameraSpeed()*(i.sensitivity??1);s.normalize().scaleInPlace(t),e.getScene().useRightHandedSystem&&(s.z*=-1),e.getViewMatrix().invertToRef(e._cameraTransformMatrix),h.Vector3.TransformNormalToRef(s,e._cameraTransformMatrix,e._transformedDirection),e.cameraDirection.addInPlace(e._transformedDirection)}}}getClassName(){return"FreeCameraKeyboardMoveInput"}_onLostFocus(){this._keys.length=0}getSimpleName(){return"keyboard"}_getLocalRotation(){let e=this.camera._calculateHandednessMultiplier();return this.rotationSpeed*this._engine.getDeltaTime()/1e3*e}}(0,r.__decorate)([(0,n.serialize)()],p.prototype,"keysUp",void 0),(0,r.__decorate)([(0,n.serialize)()],p.prototype,"keysUpward",void 0),(0,r.__decorate)([(0,n.serialize)()],p.prototype,"keysDown",void 0),(0,r.__decorate)([(0,n.serialize)()],p.prototype,"keysDownward",void 0),(0,r.__decorate)([(0,n.serialize)()],p.prototype,"keysLeft",void 0),(0,r.__decorate)([(0,n.serialize)()],p.prototype,"keysRight",void 0),(0,r.__decorate)([(0,n.serialize)()],p.prototype,"rotationSpeed",void 0),(0,r.__decorate)([(0,n.serialize)()],p.prototype,"keysRotateLeft",void 0),(0,r.__decorate)([(0,n.serialize)()],p.prototype,"keysRotateRight",void 0),(0,r.__decorate)([(0,n.serialize)()],p.prototype,"keysRotateUp",void 0),(0,r.__decorate)([(0,n.serialize)()],p.prototype,"keysRotateDown",void 0),c.CameraInputTypes.FreeCameraKeyboardMoveInput=p;var _=e.i(90176),m=e.i(95801);class y{_applyPointerRotation(e,t){this._pointerConditions.button=this._currentActiveButton;let i=this.camera.movement.input.resolveInteraction("pointer",this._pointerConditions);if(!i||"rotate"!==i.interaction)return;let o=i.sensitivityX??i.sensitivity??1/this.angularSensibility,a=i.sensitivityY??i.sensitivity??1/this.angularSensibility;this.camera.cameraRotation.y+=e*o,this.camera.cameraRotation.x+=t*a}constructor(e=!0){this.touchEnabled=e,this.buttons=[0,1,2],this.angularSensibility=2e3,this._previousPosition=null,this.onPointerMovedObservable=new _.Observable,this._allowCameraRotation=!0,this._currentActiveButton=-1,this._activePointerId=-1,this._pointerConditions={}}attachControl(e){e=u.Tools.BackCompatCameraNoPreventDefault(arguments);let t=this.camera.getEngine(),i=t.getInputElement();this._pointerInput||(this._pointerInput=o=>{let a=o.event,s="touch"===a.pointerType;if(!this.touchEnabled&&s||o.type!==m.PointerEventTypes.POINTERMOVE&&-1===this.buttons.indexOf(a.button))return;let r=a.target;if(o.type===m.PointerEventTypes.POINTERDOWN){if(s&&-1!==this._activePointerId||!s&&-1!==this._currentActiveButton)return;this._activePointerId=a.pointerId;try{r?.setPointerCapture(a.pointerId)}catch(e){}-1===this._currentActiveButton&&(this._currentActiveButton=a.button),this._previousPosition={x:a.clientX,y:a.clientY},!e&&(a.preventDefault(),i&&i.focus()),t.isPointerLock&&this._onMouseMove&&this._onMouseMove(o.event)}else if(o.type===m.PointerEventTypes.POINTERUP){if(s&&this._activePointerId!==a.pointerId||!s&&this._currentActiveButton!==a.button)return;try{r?.releasePointerCapture(a.pointerId)}catch(e){}this._currentActiveButton=-1,this._previousPosition=null,e||a.preventDefault(),this._activePointerId=-1}else if(o.type===m.PointerEventTypes.POINTERMOVE&&(this._activePointerId===a.pointerId||!s)){if(t.isPointerLock&&this._onMouseMove)this._onMouseMove(o.event);else if(this._previousPosition){let t=this.camera._calculateHandednessMultiplier(),i=(a.clientX-this._previousPosition.x)*t,o=(a.clientY-this._previousPosition.y)*t;this._allowCameraRotation&&this._applyPointerRotation(i,o),this.onPointerMovedObservable.notifyObservers({offsetX:i,offsetY:o}),this._previousPosition={x:a.clientX,y:a.clientY},e||a.preventDefault()}}}),this._onMouseMove=i=>{if(!t.isPointerLock)return;let o=this.camera._calculateHandednessMultiplier();this._applyPointerRotation(i.movementX*o,i.movementY*o),this._previousPosition=null,e||i.preventDefault()},this._observer=this.camera.getScene()._inputManager._addCameraPointerObserver(this._pointerInput,m.PointerEventTypes.POINTERDOWN|m.PointerEventTypes.POINTERUP|m.PointerEventTypes.POINTERMOVE),i&&(this._contextMenuBind=e=>this.onContextMenu(e),i.addEventListener("contextmenu",this._contextMenuBind,!1))}onContextMenu(e){e.preventDefault()}detachControl(){if(this._observer){if(this.camera.getScene()._inputManager._removeCameraPointerObserver(this._observer),this._contextMenuBind){let e=this.camera.getEngine().getInputElement();e&&e.removeEventListener("contextmenu",this._contextMenuBind)}this.onPointerMovedObservable&&this.onPointerMovedObservable.clear(),this._observer=null,this._onMouseMove=null,this._previousPosition=null}this._activePointerId=-1,this._currentActiveButton=-1}getClassName(){return"FreeCameraMouseInput"}getSimpleName(){return"mouse"}}(0,r.__decorate)([(0,n.serialize)()],y.prototype,"buttons",void 0),(0,r.__decorate)([(0,n.serialize)()],y.prototype,"angularSensibility",void 0),c.CameraInputTypes.FreeCameraMouseInput=y;var v=e.i(21056);class f{constructor(){this.wheelPrecisionX=3,this.wheelPrecisionY=3,this.wheelPrecisionZ=3,this.onChangedObservable=new _.Observable,this._wheelDeltaX=0,this._wheelDeltaY=0,this._wheelDeltaZ=0,this._ffMultiplier=12,this._normalize=120}attachControl(e){e=u.Tools.BackCompatCameraNoPreventDefault(arguments),this._wheel=t=>{if(t.type!==m.PointerEventTypes.POINTERWHEEL)return;let i=t.event,o=i.deltaMode===v.EventConstants.DOM_DELTA_LINE?this._ffMultiplier:1;this._wheelDeltaX+=this.wheelPrecisionX*o*i.deltaX/this._normalize,this._wheelDeltaY-=this.wheelPrecisionY*o*i.deltaY/this._normalize,this._wheelDeltaZ+=this.wheelPrecisionZ*o*i.deltaZ/this._normalize,i.preventDefault&&!e&&i.preventDefault()},this._observer=this.camera.getScene()._inputManager._addCameraPointerObserver(this._wheel,m.PointerEventTypes.POINTERWHEEL)}detachControl(){this._observer&&(this.camera.getScene()._inputManager._removeCameraPointerObserver(this._observer),this._observer=null,this._wheel=null),this.onChangedObservable&&this.onChangedObservable.clear()}checkInputs(){this.onChangedObservable.notifyObservers({wheelDeltaX:this._wheelDeltaX,wheelDeltaY:this._wheelDeltaY,wheelDeltaZ:this._wheelDeltaZ}),this._wheelDeltaX=0,this._wheelDeltaY=0,this._wheelDeltaZ=0}getClassName(){return"BaseCameraMouseWheelInput"}getSimpleName(){return"mousewheel"}}(0,r.__decorate)([(0,n.serialize)()],f.prototype,"wheelPrecisionX",void 0),(0,r.__decorate)([(0,n.serialize)()],f.prototype,"wheelPrecisionY",void 0),(0,r.__decorate)([(0,n.serialize)()],f.prototype,"wheelPrecisionZ",void 0),(t=i||(i={}))[t.MoveRelative=0]="MoveRelative",t[t.RotateRelative=1]="RotateRelative",t[t.MoveScene=2]="MoveScene";class R extends f{constructor(){super(...arguments),this._moveRelative=h.Vector3.Zero(),this._rotateRelative=h.Vector3.Zero(),this._moveScene=h.Vector3.Zero(),this._wheelXAction=i.MoveRelative,this._wheelXActionCoordinate=0,this._wheelYAction=i.MoveRelative,this._wheelYActionCoordinate=2,this._wheelZAction=null,this._wheelZActionCoordinate=null}getClassName(){return"FreeCameraMouseWheelInput"}set wheelXMoveRelative(e){(null!==e||this._wheelXAction===i.MoveRelative)&&(this._wheelXAction=i.MoveRelative,this._wheelXActionCoordinate=e)}get wheelXMoveRelative(){return this._wheelXAction!==i.MoveRelative?null:this._wheelXActionCoordinate}set wheelYMoveRelative(e){(null!==e||this._wheelYAction===i.MoveRelative)&&(this._wheelYAction=i.MoveRelative,this._wheelYActionCoordinate=e)}get wheelYMoveRelative(){return this._wheelYAction!==i.MoveRelative?null:this._wheelYActionCoordinate}set wheelZMoveRelative(e){(null!==e||this._wheelZAction===i.MoveRelative)&&(this._wheelZAction=i.MoveRelative,this._wheelZActionCoordinate=e)}get wheelZMoveRelative(){return this._wheelZAction!==i.MoveRelative?null:this._wheelZActionCoordinate}set wheelXRotateRelative(e){(null!==e||this._wheelXAction===i.RotateRelative)&&(this._wheelXAction=i.RotateRelative,this._wheelXActionCoordinate=e)}get wheelXRotateRelative(){return this._wheelXAction!==i.RotateRelative?null:this._wheelXActionCoordinate}set wheelYRotateRelative(e){(null!==e||this._wheelYAction===i.RotateRelative)&&(this._wheelYAction=i.RotateRelative,this._wheelYActionCoordinate=e)}get wheelYRotateRelative(){return this._wheelYAction!==i.RotateRelative?null:this._wheelYActionCoordinate}set wheelZRotateRelative(e){(null!==e||this._wheelZAction===i.RotateRelative)&&(this._wheelZAction=i.RotateRelative,this._wheelZActionCoordinate=e)}get wheelZRotateRelative(){return this._wheelZAction!==i.RotateRelative?null:this._wheelZActionCoordinate}set wheelXMoveScene(e){(null!==e||this._wheelXAction===i.MoveScene)&&(this._wheelXAction=i.MoveScene,this._wheelXActionCoordinate=e)}get wheelXMoveScene(){return this._wheelXAction!==i.MoveScene?null:this._wheelXActionCoordinate}set wheelYMoveScene(e){(null!==e||this._wheelYAction===i.MoveScene)&&(this._wheelYAction=i.MoveScene,this._wheelYActionCoordinate=e)}get wheelYMoveScene(){return this._wheelYAction!==i.MoveScene?null:this._wheelYActionCoordinate}set wheelZMoveScene(e){(null!==e||this._wheelZAction===i.MoveScene)&&(this._wheelZAction=i.MoveScene,this._wheelZActionCoordinate=e)}get wheelZMoveScene(){return this._wheelZAction!==i.MoveScene?null:this._wheelZActionCoordinate}checkInputs(){if(0===this._wheelDeltaX&&0===this._wheelDeltaY&&0==this._wheelDeltaZ)return;this._moveRelative.setAll(0),this._rotateRelative.setAll(0),this._moveScene.setAll(0),this._updateCamera(),this.camera.getScene().useRightHandedSystem&&(this._moveRelative.z*=-1);let e=h.Matrix.Zero();this.camera.getViewMatrix().invertToRef(e);let t=h.Vector3.Zero();h.Vector3.TransformNormalToRef(this._moveRelative,e,t),this.camera.cameraRotation.x+=this._rotateRelative.x/200,this.camera.cameraRotation.y+=this._rotateRelative.y/200,this.camera.cameraDirection.addInPlace(t),this.camera.cameraDirection.addInPlace(this._moveScene),super.checkInputs()}_updateCamera(){this._updateCameraProperty(this._wheelDeltaX,this._wheelXAction,this._wheelXActionCoordinate),this._updateCameraProperty(this._wheelDeltaY,this._wheelYAction,this._wheelYActionCoordinate),this._updateCameraProperty(this._wheelDeltaZ,this._wheelZAction,this._wheelZActionCoordinate)}_updateCameraProperty(e,t,o){if(0===e||null===t||null===o)return;let a=null;switch(t){case i.MoveRelative:a=this._moveRelative;break;case i.RotateRelative:a=this._rotateRelative;break;case i.MoveScene:a=this._moveScene}switch(o){case 0:a.set(e,0,0);break;case 1:a.set(0,e,0);break;case 2:a.set(0,0,e)}}}(0,r.__decorate)([(0,n.serialize)()],R.prototype,"wheelXMoveRelative",null),(0,r.__decorate)([(0,n.serialize)()],R.prototype,"wheelYMoveRelative",null),(0,r.__decorate)([(0,n.serialize)()],R.prototype,"wheelZMoveRelative",null),(0,r.__decorate)([(0,n.serialize)()],R.prototype,"wheelXRotateRelative",null),(0,r.__decorate)([(0,n.serialize)()],R.prototype,"wheelYRotateRelative",null),(0,r.__decorate)([(0,n.serialize)()],R.prototype,"wheelZRotateRelative",null),(0,r.__decorate)([(0,n.serialize)()],R.prototype,"wheelXMoveScene",null),(0,r.__decorate)([(0,n.serialize)()],R.prototype,"wheelYMoveScene",null),(0,r.__decorate)([(0,n.serialize)()],R.prototype,"wheelZMoveScene",null),c.CameraInputTypes.FreeCameraMouseWheelInput=R;class g{constructor(e=!1){this.allowMouse=e,this.touchAngularSensibility=2e5,this.touchMoveSensibility=250,this.singleFingerRotate=!1,this._offsetX=null,this._offsetY=null,this._pointerPressed=[],this._isSafari=u.Tools.IsSafari()}attachControl(e){e=u.Tools.BackCompatCameraNoPreventDefault(arguments);let t=null;if(void 0===this._pointerInput&&(this._onLostFocus=()=>{this._offsetX=null,this._offsetY=null},this._pointerInput=i=>{let o=i.event,a="mouse"===o.pointerType||this._isSafari&&void 0===o.pointerType;if(this.allowMouse||!a){if(i.type===m.PointerEventTypes.POINTERDOWN){if(e||o.preventDefault(),this._pointerPressed.push(o.pointerId),1!==this._pointerPressed.length)return;t={x:o.clientX,y:o.clientY}}else if(i.type===m.PointerEventTypes.POINTERUP){e||o.preventDefault();let i=this._pointerPressed.indexOf(o.pointerId);if(-1===i||(this._pointerPressed.splice(i,1),0!=i))return;t=null,this._offsetX=null,this._offsetY=null}else if(i.type===m.PointerEventTypes.POINTERMOVE){if(e||o.preventDefault(),!t||0!=this._pointerPressed.indexOf(o.pointerId))return;this._offsetX=o.clientX-t.x,this._offsetY=-(o.clientY-t.y)}}}),this._observer=this.camera.getScene()._inputManager._addCameraPointerObserver(this._pointerInput,m.PointerEventTypes.POINTERDOWN|m.PointerEventTypes.POINTERUP|m.PointerEventTypes.POINTERMOVE),this._onLostFocus){let e=this.camera.getEngine().getInputElement();e&&e.addEventListener("blur",this._onLostFocus)}}detachControl(){if(this._pointerInput){if(this._observer&&(this.camera.getScene()._inputManager._removeCameraPointerObserver(this._observer),this._observer=null),this._onLostFocus){let e=this.camera.getEngine().getInputElement();e&&e.removeEventListener("blur",this._onLostFocus),this._onLostFocus=null}this._pointerPressed.length=0,this._offsetX=null,this._offsetY=null}}checkInputs(){if(null===this._offsetX||null===this._offsetY||0===this._offsetX&&0===this._offsetY)return;let e=this.camera,t=e.movement.input,i=t.getEntry("touch","rotate"),o=t.getEntry("touch","translate"),a=e._calculateHandednessMultiplier(),s=this.singleFingerRotate&&1===this._pointerPressed.length||!this.singleFingerRotate&&this._pointerPressed.length>1;if(i){let t=i.sensitivity??1/this.touchAngularSensibility;e.cameraRotation.y=this._offsetX*a*t,s&&(e.cameraRotation.x=-(this._offsetY*a)*t)}if(!s&&o){let t=e._computeLocalCameraSpeed(),i=o.sensitivity??(0!==this.touchMoveSensibility?1/this.touchMoveSensibility:0),a=h.TmpVectors.Vector3[0];a.copyFromFloats(0,0,t*this._offsetY*i),h.Matrix.RotationYawPitchRollToRef(e.rotation.y,e.rotation.x,0,e._cameraRotationMatrix),h.Vector3.TransformCoordinatesToRef(a,e._cameraRotationMatrix,a),e.cameraDirection.addInPlace(a)}}getClassName(){return"FreeCameraTouchInput"}getSimpleName(){return"touch"}}(0,r.__decorate)([(0,n.serialize)()],g.prototype,"touchAngularSensibility",void 0),(0,r.__decorate)([(0,n.serialize)()],g.prototype,"touchMoveSensibility",void 0),c.CameraInputTypes.FreeCameraTouchInput=g;var M=e.i(33945);class C extends c.CameraInputsManager{constructor(e){super(e),this._mouseInput=null,this._mouseWheelInput=null}addKeyboard(){return this.add(new p),this}addMouse(e=!0){return this._mouseInput||(this._mouseInput=new y(e),this.add(this._mouseInput)),this}removeMouse(){return this._mouseInput&&this.remove(this._mouseInput),this}addMouseWheel(){return this._mouseWheelInput||(this._mouseWheelInput=new R,this.add(this._mouseWheelInput)),this}removeMouseWheel(){return this._mouseWheelInput&&this.remove(this._mouseWheelInput),this}addTouch(){return this.add(new g),this}clear(){super.clear(),this._mouseInput=null}}(o=C.prototype).addDeviceOrientation??(o.addDeviceOrientation=(0,M._MissingSideEffect)("FreeCameraInputsManager","addDeviceOrientation")),(a=C.prototype).addVirtualJoystick??(a.addVirtualJoystick=(0,M._MissingSideEffect)("FreeCameraInputsManager","addVirtualJoystick")),(s=C.prototype).addGamepad??(s.addGamepad=(0,M._MissingSideEffect)("FreeCameraInputsManager","addGamepad"));var k=e.i(32622),w=e.i(38116);class P extends l.TargetCamera{get angularSensibility(){let e=this.inputs.attached.mouse;return e?e.angularSensibility:0}set angularSensibility(e){let t=this.inputs.attached.mouse;t&&(t.angularSensibility=e)}get keysUp(){let e=this.inputs.attached.keyboard;return e?e.keysUp:[]}set keysUp(e){let t=this.inputs.attached.keyboard;t&&(t.keysUp=e)}get keysUpward(){let e=this.inputs.attached.keyboard;return e?e.keysUpward:[]}set keysUpward(e){let t=this.inputs.attached.keyboard;t&&(t.keysUpward=e)}get keysDown(){let e=this.inputs.attached.keyboard;return e?e.keysDown:[]}set keysDown(e){let t=this.inputs.attached.keyboard;t&&(t.keysDown=e)}get keysDownward(){let e=this.inputs.attached.keyboard;return e?e.keysDownward:[]}set keysDownward(e){let t=this.inputs.attached.keyboard;t&&(t.keysDownward=e)}get keysLeft(){let e=this.inputs.attached.keyboard;return e?e.keysLeft:[]}set keysLeft(e){let t=this.inputs.attached.keyboard;t&&(t.keysLeft=e)}get keysRight(){let e=this.inputs.attached.keyboard;return e?e.keysRight:[]}set keysRight(e){let t=this.inputs.attached.keyboard;t&&(t.keysRight=e)}get keysRotateLeft(){let e=this.inputs.attached.keyboard;return e?e.keysRotateLeft:[]}set keysRotateLeft(e){let t=this.inputs.attached.keyboard;t&&(t.keysRotateLeft=e)}get keysRotateRight(){let e=this.inputs.attached.keyboard;return e?e.keysRotateRight:[]}set keysRotateRight(e){let t=this.inputs.attached.keyboard;t&&(t.keysRotateRight=e)}get keysRotateUp(){let e=this.inputs.attached.keyboard;return e?e.keysRotateUp:[]}set keysRotateUp(e){let t=this.inputs.attached.keyboard;t&&(t.keysRotateUp=e)}get keysRotateDown(){let e=this.inputs.attached.keyboard;return e?e.keysRotateDown:[]}set keysRotateDown(e){let t=this.inputs.attached.keyboard;t&&(t.keysRotateDown=e)}constructor(e,t,i,o=!0){super(e,t,i,o),this.ellipsoid=new h.Vector3(.5,1,.5),this.ellipsoidOffset=new h.Vector3(0,0,0),this.checkCollisions=!1,this.applyGravity=!1,this._needMoveForGravity=!1,this._oldPosition=h.Vector3.Zero(),this._diffPosition=h.Vector3.Zero(),this._newPosition=h.Vector3.Zero(),this._collisionMask=-1,this._onCollisionPositionChange=(e,t,i=null)=>{this._newPosition.copyFrom(t),this._newPosition.subtractToRef(this._oldPosition,this._diffPosition),this._diffPosition.length()>k.AbstractEngine.CollisionsEpsilon&&(this.position.addToRef(this._diffPosition,this._deferredPositionUpdate),this._deferOnly?this._deferredUpdated=!0:this.position.copyFrom(this._deferredPositionUpdate),this.onCollide&&i&&this.onCollide(i))},this.inputs=new C(this),this.inputs.addKeyboard().addMouse()}attachControl(e,t){t=u.Tools.BackCompatCameraNoPreventDefault(arguments),this.inputs.attachElement(t)}detachControl(){this.inputs.detachElement(),this.cameraDirection=new h.Vector3(0,0,0),this.cameraRotation=new h.Vector2(0,0)}get collisionMask(){return this._collisionMask}set collisionMask(e){this._collisionMask=isNaN(e)?-1:e}_collideWithWorld(e){(this.parent?h.Vector3.TransformCoordinates(this.position,this.parent.getWorldMatrix()):this.position).subtractFromFloatsToRef(0,this.ellipsoid.y,0,this._oldPosition),this._oldPosition.addInPlace(this.ellipsoidOffset);let t=this.getScene().collisionCoordinator;this._collider||(this._collider=t.createCollider()),this._collider._radius=this.ellipsoid,this._collider.collisionMask=this._collisionMask;let i=e;this.applyGravity&&(i=e.add(this.getScene().gravity)),t.getNewPosition(this._oldPosition,i,this._collider,3,null,this._onCollisionPositionChange,this.uniqueId)}_checkInputs(){this._localDirection||(this._localDirection=h.Vector3.Zero(),this._transformedDirection=h.Vector3.Zero()),this.inputs.checkInputs(),super._checkInputs()}set needMoveForGravity(e){this._needMoveForGravity=e}get needMoveForGravity(){return this._needMoveForGravity}_decideIfNeedsToMove(){return this._needMoveForGravity||Math.abs(this.cameraDirection.x)>0||Math.abs(this.cameraDirection.y)>0||Math.abs(this.cameraDirection.z)>0}_updatePosition(){this.checkCollisions&&this.getScene().collisionsEnabled?this._collideWithWorld(this.cameraDirection):super._updatePosition()}dispose(){this.inputs.clear(),super.dispose()}getClassName(){return"FreeCamera"}}(0,r.__decorate)([(0,n.serializeAsVector3)()],P.prototype,"ellipsoid",void 0),(0,r.__decorate)([(0,n.serializeAsVector3)()],P.prototype,"ellipsoidOffset",void 0),(0,r.__decorate)([(0,n.serialize)()],P.prototype,"checkCollisions",void 0),(0,r.__decorate)([(0,n.serialize)()],P.prototype,"applyGravity",void 0);let T=!1;e.s(["FreeCamera",0,P,"RegisterFreeCamera",0,function(){T||(T=!0,(0,w.RegisterClass)("BABYLON.FreeCamera",P))}],27030)}]);
|