@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,59157,62589,72056,e=>{"use strict";e.s(["IsWrapper",0,function(e){return void 0===e.getPipelineContext}],59157),e.s(["WebGLShaderProcessor",0,class{constructor(){this.shaderLanguage=0}postProcessor(e,t,r,i,s){return s.drawBuffersExtensionDisabled&&(e=e.replace(/#extension.+GL_EXT_draw_buffers.+(enable|require)/g,"")),e}}],62589);let t=/(flat\s)?\s*varying\s*.*/;e.s(["WebGL2ShaderProcessor",0,class{constructor(){this.shaderLanguage=0}attributeProcessor(e){return e.replace("attribute","in")}varyingCheck(e,r){return t.test(e)}varyingProcessor(e,t){return e.replace("varying",t?"in":"out")}postProcessor(e,t,r){let i=-1!==e.search(/#extension.+GL_EXT_draw_buffers.+require/);if(e=(e=e.replace(/#extension.+(GL_OVR_multiview2|GL_OES_standard_derivatives|GL_EXT_shader_texture_lod|GL_EXT_frag_depth|GL_EXT_draw_buffers).+(enable|require)/g,"")).replace(/texture2D\s*\(/g,"texture("),r){let r=-1!==e.search(/layout *\(location *= *0\) *out/g),s=-1!==t.indexOf("#define DUAL_SOURCE_BLENDING");s&&(e="#extension GL_EXT_blend_func_extended : require\n"+e),e=(e=(e=(e=(e=(e=(e=e.replace(/texture2DLodEXT\s*\(/g,"textureLod(")).replace(/textureCubeLodEXT\s*\(/g,"textureLod(")).replace(/textureCube\s*\(/g,"texture(")).replace(/gl_FragDepthEXT/g,"gl_FragDepth")).replace(/gl_FragColor/g,"glFragColor")).replace(/gl_FragData/g,"glFragData")).replace(/void\s+?main\s*\(/g,(i||r?"":s?"layout(location = 0, index = 0) out vec4 glFragColor;\nlayout(location = 0, index = 1) out vec4 glFragColor2;\n":"layout(location = 0) out vec4 glFragColor;\n")+"void main(")}else if(t.indexOf("#define VERTEXOUTPUT_INVARIANT")>=0&&(e="invariant gl_Position;\n"+e),-1!==t.indexOf("#define MULTIVIEW"))return"#extension GL_OVR_multiview2 : require\nlayout (num_views = 2) in;\n"+e;return e}}],72056)},43615,e=>{"use strict";class t{get underlyingResource(){return null}constructor(){this.references=0,this.capacity=0,this.is32Bits=!1,this.uniqueId=t._Counter++}}t._Counter=0,e.s(["DataBuffer",0,t])},35160,28636,63613,23949,e=>{"use strict";var t,r,i,s,a,n,_,l,h=e.i(7540),u=e.i(47432),o=e.i(32622),c=e.i(59157),g=e.i(80434),f=e.i(55018),d=e.i(62589),E=e.i(72056),T=e.i(43615);class R extends T.DataBuffer{constructor(e){super(),this._buffer=e}get underlyingResource(){return this._buffer}}e.s(["WebGLDataBuffer",0,R],28636);var p=e.i(98551);class A{get underlyingResource(){return this._webGLTexture}constructor(e=null,t){if(this._MSAARenderBuffers=null,this._context=t,!e&&!(e=t.createTexture()))throw Error("Unable to create webGL texture");this.set(e)}setUsage(){}set(e){this._webGLTexture=e}reset(){this._webGLTexture=null,this._MSAARenderBuffers=null}addMSAARenderBuffer(e){this._MSAARenderBuffers||(this._MSAARenderBuffers=[]),this._MSAARenderBuffers.push(e)}releaseMSAARenderBuffers(){if(this._MSAARenderBuffers){for(let e of this._MSAARenderBuffers)this._context.deleteRenderbuffer(e);this._MSAARenderBuffers=null}}getMSAARenderBuffer(e=0){return this._MSAARenderBuffers?.[e]??null}release(){this.releaseMSAARenderBuffers(),this._webGLTexture&&this._context.deleteTexture(this._webGLTexture),this.reset()}}e.s(["WebGLHardwareTexture",0,A],63613);var x=e.i(93298),S=e.i(61599),b=e.i(21296);function m(e){return 13===e||14===e||15===e||16===e||17===e||18===e||19===e}function B(e){return 13===e||17===e||18===e||19===e}e.s(["HasStencilAspect",0,B,"IsDepthTexture",0,m],23949);var C=e.i(29309),P=e.i(33945);class L{}class M extends o.AbstractEngine{get name(){return this._name}set name(e){this._name=e}get version(){return this._webGLVersion}static get ShadersRepository(){return h.Effect.ShadersRepository}static set ShadersRepository(e){h.Effect.ShadersRepository=e}get supportsUniformBuffers(){return this.webGLVersion>1&&!this.disableUniformBuffers}get needPOTTextures(){return this._webGLVersion<2||this.forcePOTTextures}get _supportsHardwareTextureRescaling(){return!1}set framebufferDimensionsObject(e){this._framebufferDimensionsObject=e}snapshotRenderingReset(){this.snapshotRendering=!1}constructor(e,t,r,i){let s;if(r=r||{},super(t??r.antialias,r,i),this._name="WebGL",this.forcePOTTextures=!1,this.validateShaderPrograms=!1,this.disableUniformBuffers=!1,this._webGLVersion=1,this._vertexAttribArraysEnabled=[],this._uintIndicesCurrentlySet=!1,this._currentBoundBuffer=[],this._currentFramebuffer=null,this._dummyFramebuffer=null,this._currentBufferPointers=[],this._currentInstanceLocations=[],this._currentInstanceBuffers=[],this._vaoRecordInProgress=!1,this._mustWipeVertexAttributes=!1,this._nextFreeTextureSlots=[],this._maxSimultaneousTextures=0,this._maxMSAASamplesOverride=null,this._unpackFlipYCached=null,this.enableUnpackFlipYCached=!0,this._boundUniforms={},!e)return;if(e.getContext){if(s=e,void 0===r.preserveDrawingBuffer&&(r.preserveDrawingBuffer=!1),void 0===r.xrCompatible&&(r.xrCompatible=!1),navigator&&navigator.userAgent){this._setupMobileChecks();const e=navigator.userAgent;for(const t of M.ExceptionList){const i=t.key,s=t.targets;if(new RegExp(i).test(e)){if(t.capture&&t.captureConstraint){const r=t.capture,i=t.captureConstraint,s=new RegExp(r).exec(e);if(s&&s.length>0&&parseInt(s[s.length-1])>=i)continue}for(const e of s)switch(e){case"uniformBuffer":this.disableUniformBuffers=!0;break;case"vao":this.disableVertexArrayObjects=!0;break;case"antialias":r.antialias=!1;break;case"maxMSAASamples":this._maxMSAASamplesOverride=1}}}}if(this._doNotHandleContextLost?this._onContextLost=()=>{(0,u.deleteStateObject)(this._gl)}:(this._onContextLost=e=>{e.preventDefault(),this._contextWasLost=!0,(0,u.deleteStateObject)(this._gl),g.Logger.Warn("WebGL context lost."),this.onContextLostObservable.notifyObservers(this)},this._onContextRestored=()=>{this._restoreEngineAfterContextLost(()=>this._initGLContext())},s.addEventListener("webglcontextrestored",this._onContextRestored,!1),r.powerPreference=r.powerPreference||"high-performance"),s.addEventListener("webglcontextlost",this._onContextLost,!1),this._badDesktopOS&&(r.xrCompatible=!1),!r.disableWebGL2Support)try{this._gl=s.getContext("webgl2",r)||s.getContext("experimental-webgl2",r),this._gl&&(this._webGLVersion=2,this._shaderPlatformName="WEBGL2",this._gl.deleteQuery||(this._webGLVersion=1,this._shaderPlatformName="WEBGL1"))}catch(e){}if(!this._gl){if(!s)throw Error("The provided canvas is null or undefined.");try{this._gl=s.getContext("webgl",r)||s.getContext("experimental-webgl",r)}catch(e){throw Error("WebGL not supported",{cause:e})}}if(!this._gl)throw Error("WebGL not supported")}else{this._gl=e,s=this._gl.canvas,this._gl.renderbufferStorageMultisample?(this._webGLVersion=2,this._shaderPlatformName="WEBGL2"):this._shaderPlatformName="WEBGL1";const t=this._gl.getContextAttributes();t&&(r.stencil=t.stencil)}this._sharedInit(s),this._gl.pixelStorei(this._gl.UNPACK_COLORSPACE_CONVERSION_WEBGL,this._gl.NONE),void 0!==r.useHighPrecisionFloats&&(this._highPrecisionShadersAllowed=r.useHighPrecisionFloats),this.resize(),this._initGLContext(),this._initFeatures();for(let e=0;e<this._caps.maxVertexAttribs;e++)this._currentBufferPointers[e]=new L;this._shaderProcessor=this.webGLVersion>1?new E.WebGL2ShaderProcessor:new d.WebGLShaderProcessor;const a=`Babylon.js v${M.Version}`;g.Logger.Log(a+` - ${this.description}`),this._renderingCanvas&&this._renderingCanvas.setAttribute&&this._renderingCanvas.setAttribute("data-engine",a);const n=(0,u.getStateObject)(this._gl);n.validateShaderPrograms=this.validateShaderPrograms,n.parallelShaderCompile=this._caps.parallelShaderCompile}_clearEmptyResources(){this._dummyFramebuffer=null,super._clearEmptyResources()}_getShaderProcessingContext(e){return null}areAllEffectsReady(){for(let e in this._compiledEffects)if(!this._compiledEffects[e].isReady())return!1;return!0}_initGLContext(){this._caps={maxTexturesImageUnits:this._gl.getParameter(this._gl.MAX_TEXTURE_IMAGE_UNITS),maxCombinedTexturesImageUnits:this._gl.getParameter(this._gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS),maxVertexTextureImageUnits:this._gl.getParameter(this._gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS),maxTextureSize:this._gl.getParameter(this._gl.MAX_TEXTURE_SIZE),maxSamples:this._webGLVersion>1?this._gl.getParameter(this._gl.MAX_SAMPLES):1,maxCubemapTextureSize:this._gl.getParameter(this._gl.MAX_CUBE_MAP_TEXTURE_SIZE),maxRenderTextureSize:this._gl.getParameter(this._gl.MAX_RENDERBUFFER_SIZE),maxVertexAttribs:this._gl.getParameter(this._gl.MAX_VERTEX_ATTRIBS),maxVaryingVectors:this._gl.getParameter(this._gl.MAX_VARYING_VECTORS),maxFragmentUniformVectors:this._gl.getParameter(this._gl.MAX_FRAGMENT_UNIFORM_VECTORS),maxVertexUniformVectors:this._gl.getParameter(this._gl.MAX_VERTEX_UNIFORM_VECTORS),shaderFloatPrecision:0,parallelShaderCompile:this._gl.getExtension("KHR_parallel_shader_compile")||void 0,standardDerivatives:this._webGLVersion>1||null!==this._gl.getExtension("OES_standard_derivatives"),maxAnisotropy:1,astc:this._gl.getExtension("WEBGL_compressed_texture_astc")||this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_astc"),bptc:this._gl.getExtension("EXT_texture_compression_bptc")||this._gl.getExtension("WEBKIT_EXT_texture_compression_bptc"),s3tc:this._gl.getExtension("WEBGL_compressed_texture_s3tc")||this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc"),s3tc_srgb:this._gl.getExtension("WEBGL_compressed_texture_s3tc_srgb")||this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc_srgb"),pvrtc:this._gl.getExtension("WEBGL_compressed_texture_pvrtc")||this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),etc1:this._gl.getExtension("WEBGL_compressed_texture_etc1")||this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_etc1"),etc2:this._gl.getExtension("WEBGL_compressed_texture_etc")||this._gl.getExtension("WEBKIT_WEBGL_compressed_texture_etc")||this._gl.getExtension("WEBGL_compressed_texture_es3_0"),textureAnisotropicFilterExtension:this._gl.getExtension("EXT_texture_filter_anisotropic")||this._gl.getExtension("WEBKIT_EXT_texture_filter_anisotropic")||this._gl.getExtension("MOZ_EXT_texture_filter_anisotropic"),uintIndices:this._webGLVersion>1||null!==this._gl.getExtension("OES_element_index_uint"),fragmentDepthSupported:this._webGLVersion>1||null!==this._gl.getExtension("EXT_frag_depth"),highPrecisionShaderSupported:!1,timerQuery:this._gl.getExtension("EXT_disjoint_timer_query_webgl2")||this._gl.getExtension("EXT_disjoint_timer_query"),supportOcclusionQuery:this._webGLVersion>1,canUseTimestampForTimerQuery:!1,drawBuffersExtension:!1,maxMSAASamples:1,colorBufferFloat:!!(this._webGLVersion>1&&this._gl.getExtension("EXT_color_buffer_float")),blendFloat:null!==this._gl.getExtension("EXT_float_blend"),supportFloatTexturesResolve:!1,rg11b10ufColorRenderable:!1,colorBufferHalfFloat:!!(this._webGLVersion>1&&this._gl.getExtension("EXT_color_buffer_half_float")),textureFloat:!!(this._webGLVersion>1||this._gl.getExtension("OES_texture_float")),textureHalfFloat:!!(this._webGLVersion>1||this._gl.getExtension("OES_texture_half_float")),textureHalfFloatRender:!1,textureFloatLinearFiltering:!1,textureFloatRender:!1,textureHalfFloatLinearFiltering:!1,vertexArrayObject:!1,instancedArrays:!1,textureLOD:!!(this._webGLVersion>1||this._gl.getExtension("EXT_shader_texture_lod")),texelFetch:1!==this._webGLVersion,blendMinMax:!1,multiview:this._gl.getExtension("OVR_multiview2"),oculusMultiview:this._gl.getExtension("OCULUS_multiview"),depthTextureExtension:!1,canUseGLInstanceID:this._webGLVersion>1,canUseGLVertexID:this._webGLVersion>1,supportComputeShaders:!1,supportSRGBBuffers:!1,supportTransformFeedbacks:this._webGLVersion>1,textureMaxLevel:this._webGLVersion>1,texture2DArrayMaxLayerCount:this._webGLVersion>1?this._gl.getParameter(this._gl.MAX_ARRAY_TEXTURE_LAYERS):128,disableMorphTargetTexture:!1,textureNorm16:!!this._gl.getExtension("EXT_texture_norm16"),blendParametersPerTarget:!1,dualSourceBlending:!1,supportReadWriteStorageTextures:!1},this._caps.supportFloatTexturesResolve=this._caps.colorBufferFloat,this._caps.rg11b10ufColorRenderable=this._caps.colorBufferFloat,this._glVersion=this._gl.getParameter(this._gl.VERSION);let e=this._gl.getExtension("WEBGL_debug_renderer_info");null!=e&&(this._glRenderer=this._gl.getParameter(e.UNMASKED_RENDERER_WEBGL),this._glVendor=this._gl.getParameter(e.UNMASKED_VENDOR_WEBGL)),this._glVendor||(this._glVendor=this._gl.getParameter(this._gl.VENDOR)||"Unknown vendor"),this._glRenderer||(this._glRenderer=this._gl.getParameter(this._gl.RENDERER)||"Unknown renderer"),36193!==this._gl.HALF_FLOAT_OES&&(this._gl.HALF_FLOAT_OES=36193),34842!==this._gl.RGBA16F&&(this._gl.RGBA16F=34842),34836!==this._gl.RGBA32F&&(this._gl.RGBA32F=34836),35056!==this._gl.DEPTH24_STENCIL8&&(this._gl.DEPTH24_STENCIL8=35056),this._caps.timerQuery&&(1===this._webGLVersion&&(this._gl.getQuery=this._caps.timerQuery.getQueryEXT.bind(this._caps.timerQuery)),this._caps.canUseTimestampForTimerQuery=(this._gl.getQuery(this._caps.timerQuery.TIMESTAMP_EXT,this._caps.timerQuery.QUERY_COUNTER_BITS_EXT)??0)>0),this._caps.maxAnisotropy=this._caps.textureAnisotropicFilterExtension?this._gl.getParameter(this._caps.textureAnisotropicFilterExtension.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0,this._caps.textureFloatLinearFiltering=!!(this._caps.textureFloat&&this._gl.getExtension("OES_texture_float_linear")),this._caps.textureFloatRender=!!(this._caps.textureFloat&&this._canRenderToFloatFramebuffer()),this._caps.textureHalfFloatLinearFiltering=!!(this._webGLVersion>1||this._caps.textureHalfFloat&&this._gl.getExtension("OES_texture_half_float_linear")),this._caps.textureNorm16&&(this._gl.R16_EXT=33322,this._gl.RG16_EXT=33324,this._gl.RGB16_EXT=32852,this._gl.RGBA16_EXT=32859,this._gl.R16_SNORM_EXT=36760,this._gl.RG16_SNORM_EXT=36761,this._gl.RGB16_SNORM_EXT=36762,this._gl.RGBA16_SNORM_EXT=36763);let t=this._gl.getExtension("OES_draw_buffers_indexed");if(this._caps.blendParametersPerTarget=!!t,this._alphaState=new C.AlphaState(this._caps.blendParametersPerTarget),t&&(this._gl.blendEquationSeparateIndexed=t.blendEquationSeparateiOES.bind(t),this._gl.blendEquationIndexed=t.blendEquationiOES.bind(t),this._gl.blendFuncSeparateIndexed=t.blendFuncSeparateiOES.bind(t),this._gl.blendFuncIndexed=t.blendFunciOES.bind(t),this._gl.colorMaskIndexed=t.colorMaskiOES.bind(t),this._gl.disableIndexed=t.disableiOES.bind(t),this._gl.enableIndexed=t.enableiOES.bind(t)),this._caps.dualSourceBlending=!!this._gl.getExtension("WEBGL_blend_func_extended"),this._caps.astc&&(this._gl.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR=this._caps.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,this._gl.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR=this._caps.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,this._gl.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR=this._caps.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,this._gl.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR=this._caps.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,this._gl.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR=this._caps.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,this._gl.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR=this._caps.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,this._gl.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR=this._caps.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,this._gl.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR=this._caps.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,this._gl.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR=this._caps.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,this._gl.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR=this._caps.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,this._gl.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR=this._caps.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,this._gl.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR=this._caps.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,this._gl.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR=this._caps.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,this._gl.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR=this._caps.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR),this._caps.bptc&&(this._gl.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT=this._caps.bptc.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT),this._caps.s3tc_srgb&&(this._gl.COMPRESSED_SRGB_S3TC_DXT1_EXT=this._caps.s3tc_srgb.COMPRESSED_SRGB_S3TC_DXT1_EXT,this._gl.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=this._caps.s3tc_srgb.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,this._gl.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=this._caps.s3tc_srgb.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT),this._caps.etc2&&(this._gl.COMPRESSED_SRGB8_ETC2=this._caps.etc2.COMPRESSED_SRGB8_ETC2,this._gl.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=this._caps.etc2.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC),this._webGLVersion>1&&5131!==this._gl.HALF_FLOAT_OES&&(this._gl.HALF_FLOAT_OES=5131),this._caps.textureHalfFloatRender=this._caps.textureHalfFloat&&this._canRenderToHalfFloatFramebuffer(),this._webGLVersion>1)this._caps.drawBuffersExtension=!0,this._caps.maxMSAASamples=null!==this._maxMSAASamplesOverride?this._maxMSAASamplesOverride:this._gl.getParameter(this._gl.MAX_SAMPLES),this._caps.maxDrawBuffers=this._gl.getParameter(this._gl.MAX_DRAW_BUFFERS);else{let e=this._gl.getExtension("WEBGL_draw_buffers");if(null!==e){this._caps.drawBuffersExtension=!0,this._gl.drawBuffers=e.drawBuffersWEBGL.bind(e),this._caps.maxDrawBuffers=this._gl.getParameter(e.MAX_DRAW_BUFFERS_WEBGL),this._gl.DRAW_FRAMEBUFFER=this._gl.FRAMEBUFFER;for(let t=0;t<16;t++)this._gl["COLOR_ATTACHMENT"+t+"_WEBGL"]=e["COLOR_ATTACHMENT"+t+"_WEBGL"]}}if(this._webGLVersion>1)this._caps.depthTextureExtension=!0;else{let e=this._gl.getExtension("WEBGL_depth_texture");null!=e&&(this._caps.depthTextureExtension=!0,this._gl.UNSIGNED_INT_24_8=e.UNSIGNED_INT_24_8_WEBGL)}if(this.disableVertexArrayObjects)this._caps.vertexArrayObject=!1;else if(this._webGLVersion>1)this._caps.vertexArrayObject=!0;else{let e=this._gl.getExtension("OES_vertex_array_object");null!=e&&(this._caps.vertexArrayObject=!0,this._gl.createVertexArray=e.createVertexArrayOES.bind(e),this._gl.bindVertexArray=e.bindVertexArrayOES.bind(e),this._gl.deleteVertexArray=e.deleteVertexArrayOES.bind(e))}if(this._webGLVersion>1)this._caps.instancedArrays=!0;else{let e=this._gl.getExtension("ANGLE_instanced_arrays");null!=e?(this._caps.instancedArrays=!0,this._gl.drawArraysInstanced=e.drawArraysInstancedANGLE.bind(e),this._gl.drawElementsInstanced=e.drawElementsInstancedANGLE.bind(e),this._gl.vertexAttribDivisor=e.vertexAttribDivisorANGLE.bind(e)):this._caps.instancedArrays=!1}if(this._gl.getShaderPrecisionFormat){let e=this._gl.getShaderPrecisionFormat(this._gl.VERTEX_SHADER,this._gl.HIGH_FLOAT),t=this._gl.getShaderPrecisionFormat(this._gl.FRAGMENT_SHADER,this._gl.HIGH_FLOAT);if(e&&t&&(this._caps.highPrecisionShaderSupported=0!==e.precision&&0!==t.precision,this._caps.shaderFloatPrecision=Math.min(e.precision,t.precision)),!this._shouldUseHighPrecisionShader){let e=this._gl.getShaderPrecisionFormat(this._gl.VERTEX_SHADER,this._gl.MEDIUM_FLOAT),t=this._gl.getShaderPrecisionFormat(this._gl.FRAGMENT_SHADER,this._gl.MEDIUM_FLOAT);e&&t&&(this._caps.shaderFloatPrecision=Math.min(e.precision,t.precision))}this._caps.shaderFloatPrecision<10&&(this._caps.shaderFloatPrecision=10)}if(this._webGLVersion>1)this._caps.blendMinMax=!0;else{let e=this._gl.getExtension("EXT_blend_minmax");null!=e&&(this._caps.blendMinMax=!0,this._gl.MAX=e.MAX_EXT,this._gl.MIN=e.MIN_EXT)}if(!this._caps.supportSRGBBuffers){if(this._webGLVersion>1)this._caps.supportSRGBBuffers=!0,this._glSRGBExtensionValues={SRGB:WebGL2RenderingContext.SRGB,SRGB8:WebGL2RenderingContext.SRGB8,SRGB8_ALPHA8:WebGL2RenderingContext.SRGB8_ALPHA8};else{let e=this._gl.getExtension("EXT_sRGB");null!=e&&(this._caps.supportSRGBBuffers=!0,this._glSRGBExtensionValues={SRGB:e.SRGB_EXT,SRGB8:e.SRGB_ALPHA_EXT,SRGB8_ALPHA8:e.SRGB_ALPHA_EXT})}if(this._creationOptions){let e=this._creationOptions.forceSRGBBufferSupportState;void 0!==e&&(this._caps.supportSRGBBuffers=this._caps.supportSRGBBuffers&&e)}}this._depthCullingState.depthTest=!0,this._depthCullingState.depthFunc=this._gl.LEQUAL,this._depthCullingState.depthMask=!0,this._maxSimultaneousTextures=this._caps.maxCombinedTexturesImageUnits;for(let e=0;e<this._maxSimultaneousTextures;e++)this._nextFreeTextureSlots.push(e);"Mali-G72"===this._glRenderer&&(this._caps.disableMorphTargetTexture=!0)}_initFeatures(){this._features={forceBitmapOverHTMLImageElement:"u"<typeof HTMLImageElement,supportRenderAndCopyToLodForFloatTextures:1!==this._webGLVersion,supportDepthStencilTexture:1!==this._webGLVersion,supportShadowSamplers:1!==this._webGLVersion,uniformBufferHardCheckMatrix:!1,allowTexturePrefiltering:1!==this._webGLVersion,trackUbosInFrame:!1,checkUbosContentBeforeUpload:!1,supportCSM:1!==this._webGLVersion,basisNeedsPOT:1===this._webGLVersion,support3DTextures:1!==this._webGLVersion,needTypeSuffixInShaderConstants:1!==this._webGLVersion,supportMSAA:1!==this._webGLVersion,supportSSAO2:1!==this._webGLVersion,supportIBLShadows:1!==this._webGLVersion,supportExtendedTextureFormats:1!==this._webGLVersion,supportSwitchCaseInShader:1!==this._webGLVersion,supportSyncTextureRead:!0,needsInvertingBitmap:!0,useUBOBindingCache:!0,needShaderCodeInlining:!1,needToAlwaysBindUniformBuffers:!1,supportRenderPasses:!1,supportSpriteInstancing:!0,forceVertexBufferStrideAndOffsetMultiple4Bytes:!1,_checkNonFloatVertexBuffersDontRecreatePipelineContext:!1}}get webGLVersion(){return this._webGLVersion}getClassName(){return"ThinEngine"}_prepareWorkingCanvas(){if(this._workingCanvas)return;this._workingCanvas=this.createCanvas(1,1);let e=this._workingCanvas.getContext("2d");e&&(this._workingContext=e)}getInfo(){return this.getGlInfo()}getGlInfo(){return{vendor:this._glVendor,renderer:this._glRenderer,version:this._glVersion}}extractDriverInfo(){let e=this.getGlInfo();return e&&e.renderer?e.renderer:""}getRenderWidth(e=!1){return!e&&this._currentRenderTarget?this._currentRenderTarget.width:this._framebufferDimensionsObject?this._framebufferDimensionsObject.framebufferWidth:this._gl.drawingBufferWidth}getRenderHeight(e=!1){return!e&&this._currentRenderTarget?this._currentRenderTarget.height:this._framebufferDimensionsObject?this._framebufferDimensionsObject.framebufferHeight:this._gl.drawingBufferHeight}clear(e,t,r,i=!1,s=0){let a=this.stencilStateComposer.useStencilGlobalOnly;this.stencilStateComposer.useStencilGlobalOnly=!0,this.applyStates(),this.stencilStateComposer.useStencilGlobalOnly=a;let n=0;if(t&&e){let t=!0;if(this._currentRenderTarget){let r=this._currentRenderTarget.texture?.format;if(8===r||9===r||10===r||11===r){let r=this._currentRenderTarget.texture?.type;7===r||5===r?(M._TempClearColorUint32[0]=255*e.r,M._TempClearColorUint32[1]=255*e.g,M._TempClearColorUint32[2]=255*e.b,M._TempClearColorUint32[3]=255*e.a,this._gl.clearBufferuiv(this._gl.COLOR,0,M._TempClearColorUint32)):(M._TempClearColorInt32[0]=255*e.r,M._TempClearColorInt32[1]=255*e.g,M._TempClearColorInt32[2]=255*e.b,M._TempClearColorInt32[3]=255*e.a,this._gl.clearBufferiv(this._gl.COLOR,0,M._TempClearColorInt32)),t=!1}}t&&(this._gl.clearColor(e.r,e.g,e.b,void 0!==e.a?e.a:1),n|=this._gl.COLOR_BUFFER_BIT)}r&&(this.useReverseDepthBuffer?(this._depthCullingState.depthFunc=this._gl.GEQUAL,this._gl.clearDepth(0)):this._gl.clearDepth(1),n|=this._gl.DEPTH_BUFFER_BIT),i&&(this._gl.clearStencil(s),n|=this._gl.STENCIL_BUFFER_BIT),this._gl.clear(n)}_viewport(e,t,r,i){(e!==this._viewportCached.x||t!==this._viewportCached.y||r!==this._viewportCached.z||i!==this._viewportCached.w)&&(this._viewportCached.x=e,this._viewportCached.y=t,this._viewportCached.z=r,this._viewportCached.w=i,this._gl.viewport(e,t,r,i))}endFrame(){super.endFrame(),this._badOS&&this.flushFramebuffer()}get performanceMonitor(){throw Error("Not Supported by ThinEngine")}bindFramebuffer(e,t=0,r,i,s,a=0,n=0){this._currentRenderTarget&&this._resolveAndGenerateMipMapsFramebuffer(this._currentRenderTarget),this._currentRenderTarget=e,this._bindUnboundFramebuffer(e._framebuffer);let _=this._gl;e.isMulti||(e.is2DArray||e.is3D?(_.framebufferTextureLayer(_.FRAMEBUFFER,_.COLOR_ATTACHMENT0,e.texture._hardwareTexture?.underlyingResource,a,n),e._currentLOD=a):e.isCube?_.framebufferTexture2D(_.FRAMEBUFFER,_.COLOR_ATTACHMENT0,_.TEXTURE_CUBE_MAP_POSITIVE_X+t,e.texture._hardwareTexture?.underlyingResource,a):e._currentLOD!==a&&(_.framebufferTexture2D(_.FRAMEBUFFER,_.COLOR_ATTACHMENT0,_.TEXTURE_2D,e.texture._hardwareTexture?.underlyingResource,a),e._currentLOD=a));let l=e._depthStencilTexture;if(l){e.is3D&&(e.texture.width!==l.width||e.texture.height!==l.height||e.texture.depth!==l.depth)&&g.Logger.Warn("Depth/Stencil attachment for 3D target must have same dimensions as color attachment");let r=e._depthStencilTextureWithStencil?_.DEPTH_STENCIL_ATTACHMENT:_.DEPTH_ATTACHMENT;e.is2DArray||e.is3D?_.framebufferTextureLayer(_.FRAMEBUFFER,r,l._hardwareTexture?.underlyingResource,a,n):e.isCube?_.framebufferTexture2D(_.FRAMEBUFFER,r,_.TEXTURE_CUBE_MAP_POSITIVE_X+t,l._hardwareTexture?.underlyingResource,a):_.framebufferTexture2D(_.FRAMEBUFFER,r,_.TEXTURE_2D,l._hardwareTexture?.underlyingResource,a)}e._MSAAFramebuffer&&this._bindUnboundFramebuffer(e._MSAAFramebuffer),this._cachedViewport&&!s?this.setViewport(this._cachedViewport,r,i):(!r&&(r=e.width,a&&(r/=Math.pow(2,a))),!i&&(i=e.height,a&&(i/=Math.pow(2,a))),this._viewport(0,0,r,i)),this.wipeCaches()}setStateCullFaceType(e,t){let r=this.cullBackFaces??e??!0?this._gl.BACK:this._gl.FRONT;(this._depthCullingState.cullFace!==r||t)&&(this._depthCullingState.cullFace=r)}setState(e,t=0,r,i=!1,s,a,n=0){(this._depthCullingState.cull!==e||r)&&(this._depthCullingState.cull=e),this.setStateCullFaceType(s,r),this.setZOffset(t),this.setZOffsetUnits(n);let _=i?this._gl.CW:this._gl.CCW;(this._depthCullingState.frontFace!==_||r)&&(this._depthCullingState.frontFace=_),this._stencilStateComposer.stencilMaterial=a}_resolveAndGenerateMipMapsFramebuffer(e,t=!1){e.disableAutomaticMSAAResolve||(e.isMulti?this.resolveMultiFramebuffer(e):this.resolveFramebuffer(e)),t||(e.isMulti?this.generateMipMapsMultiFramebuffer(e):this.generateMipMapsFramebuffer(e))}_bindUnboundFramebuffer(e){this._currentFramebuffer!==e&&(this._gl.bindFramebuffer(this._gl.FRAMEBUFFER,e),this._currentFramebuffer=e)}_currentFrameBufferIsDefaultFrameBuffer(){return null===this._currentFramebuffer}generateMipmaps(e){let t=this._getTextureTarget(e);this._bindTextureDirectly(t,e,!0),this._gl.generateMipmap(t),this._bindTextureDirectly(t,null)}unBindFramebuffer(e,t,r){this._currentRenderTarget=null,this._resolveAndGenerateMipMapsFramebuffer(e,t),r&&(e._MSAAFramebuffer&&this._bindUnboundFramebuffer(e._framebuffer),r()),this._bindUnboundFramebuffer(null)}generateMipMapsFramebuffer(e){!e.isMulti&&e.texture?.generateMipMaps&&!e.isCube&&this.generateMipmaps(e.texture)}resolveFramebuffer(e){let t=this._gl;if(!e._MSAAFramebuffer||e.isMulti)return;let r=e.resolveMSAAColors?t.COLOR_BUFFER_BIT:0;r|=e._generateDepthBuffer&&e.resolveMSAADepth?t.DEPTH_BUFFER_BIT:0,r|=e._generateStencilBuffer&&e.resolveMSAAStencil?t.STENCIL_BUFFER_BIT:0,t.bindFramebuffer(t.READ_FRAMEBUFFER,e._MSAAFramebuffer),t.bindFramebuffer(t.DRAW_FRAMEBUFFER,e._framebuffer),t.blitFramebuffer(0,0,e.width,e.height,0,0,e.width,e.height,r,t.NEAREST)}flushFramebuffer(){this._gl.flush()}restoreDefaultFramebuffer(){this._currentRenderTarget?this.unBindFramebuffer(this._currentRenderTarget):this._bindUnboundFramebuffer(null),this._cachedViewport&&this.setViewport(this._cachedViewport),this.wipeCaches()}_resetVertexBufferBinding(){this.bindArrayBuffer(null),this._cachedVertexBuffers=null}createVertexBuffer(e,t,r){return this._createVertexBuffer(e,this._gl.STATIC_DRAW)}_createVertexBuffer(e,t){let r=this._gl.createBuffer();if(!r)throw Error("Unable to create vertex buffer");let i=new R(r);return this.bindArrayBuffer(i),"number"!=typeof e?e instanceof Array?(this._gl.bufferData(this._gl.ARRAY_BUFFER,new Float32Array(e),t),i.capacity=4*e.length):(this._gl.bufferData(this._gl.ARRAY_BUFFER,e,t),i.capacity=e.byteLength):(this._gl.bufferData(this._gl.ARRAY_BUFFER,new Uint8Array(e),t),i.capacity=e),this._resetVertexBufferBinding(),i.references=1,i}createDynamicVertexBuffer(e,t){return this._createVertexBuffer(e,this._gl.DYNAMIC_DRAW)}_resetIndexBufferBinding(){this.bindIndexBuffer(null),this._cachedIndexBuffer=null}createIndexBuffer(e,t,r){let i=this._gl.createBuffer(),s=new R(i);if(!i)throw Error("Unable to create index buffer");this.bindIndexBuffer(s);let a=this._normalizeIndexData(e);return this._gl.bufferData(this._gl.ELEMENT_ARRAY_BUFFER,a,t?this._gl.DYNAMIC_DRAW:this._gl.STATIC_DRAW),this._resetIndexBufferBinding(),s.references=1,s.is32Bits=4===a.BYTES_PER_ELEMENT,s}_normalizeIndexData(e){if(2===e.BYTES_PER_ELEMENT)return e;if(this._caps.uintIndices){if(e instanceof Uint32Array)return e;else for(let t=0;t<e.length;t++)if(e[t]>=65535)return new Uint32Array(e)}return new Uint16Array(e)}bindArrayBuffer(e){this._vaoRecordInProgress||this._unbindVertexArrayObject(),this._bindBuffer(e,this._gl.ARRAY_BUFFER)}bindUniformBlock(e,t,r){let i=e.program,s=this._gl.getUniformBlockIndex(i,t);this._gl.uniformBlockBinding(i,s,r)}bindIndexBuffer(e){this._vaoRecordInProgress||this._unbindVertexArrayObject(),this._bindBuffer(e,this._gl.ELEMENT_ARRAY_BUFFER)}_bindBuffer(e,t){(this._vaoRecordInProgress||this._currentBoundBuffer[t]!==e)&&(this._gl.bindBuffer(t,e?e.underlyingResource:null),this._currentBoundBuffer[t]=e)}updateArrayBuffer(e){this._gl.bufferSubData(this._gl.ARRAY_BUFFER,0,e)}_vertexAttribPointer(e,t,r,i,s,a,n){let _=this._currentBufferPointers[t];if(!_)return;let l=!1;_.active?(_.buffer!==e&&(_.buffer=e,l=!0),_.size!==r&&(_.size=r,l=!0),_.type!==i&&(_.type=i,l=!0),_.normalized!==s&&(_.normalized=s,l=!0),_.stride!==a&&(_.stride=a,l=!0),_.offset!==n&&(_.offset=n,l=!0)):(l=!0,_.active=!0,_.index=t,_.size=r,_.type=i,_.normalized=s,_.stride=a,_.offset=n,_.buffer=e),(l||this._vaoRecordInProgress)&&(this.bindArrayBuffer(e),i===this._gl.UNSIGNED_INT||i===this._gl.INT?this._gl.vertexAttribIPointer(t,r,i,a,n):this._gl.vertexAttribPointer(t,r,i,s,a,n))}_bindIndexBufferWithCache(e){null!=e&&this._cachedIndexBuffer!==e&&(this._cachedIndexBuffer=e,this.bindIndexBuffer(e),this._uintIndicesCurrentlySet=e.is32Bits)}_bindVertexBuffersAttributes(e,t,r){let i=t.getAttributesNames();this._vaoRecordInProgress||this._unbindVertexArrayObject(),this.unbindAllAttributes();for(let s=0;s<i.length;s++){let a=t.getAttributeLocation(s);if(a>=0){let t=i[s],n=null;if(r&&(n=r[t]),n||(n=e[t]),!n)continue;this._gl.enableVertexAttribArray(a),this._vaoRecordInProgress||(this._vertexAttribArraysEnabled[a]=!0);let _=n.getBuffer();_&&(this._vertexAttribPointer(_,a,n.getSize(),n.type,n.normalized,n.byteStride,n.byteOffset),n.getIsInstanced()&&(this._gl.vertexAttribDivisor(a,n.getInstanceDivisor()),this._vaoRecordInProgress||(this._currentInstanceLocations.push(a),this._currentInstanceBuffers.push(_))))}}}recordVertexArrayObject(e,t,r,i){let s=this._gl.createVertexArray();if(!s)throw Error("Unable to create VAO");return this._vaoRecordInProgress=!0,this._gl.bindVertexArray(s),this._mustWipeVertexAttributes=!0,this._bindVertexBuffersAttributes(e,r,i),this.bindIndexBuffer(t),this._vaoRecordInProgress=!1,this._gl.bindVertexArray(null),s}bindVertexArrayObject(e,t){this._cachedVertexArrayObject!==e&&(this._cachedVertexArrayObject=e,this._gl.bindVertexArray(e),this._cachedVertexBuffers=null,this._cachedIndexBuffer=null,this._uintIndicesCurrentlySet=null!=t&&t.is32Bits,this._mustWipeVertexAttributes=!0)}bindBuffersDirectly(e,t,r,i,s){if(this._cachedVertexBuffers!==e||this._cachedEffectForVertexBuffers!==s){this._cachedVertexBuffers=e,this._cachedEffectForVertexBuffers=s;let t=s.getAttributesCount();this._unbindVertexArrayObject(),this.unbindAllAttributes();let a=0;for(let n=0;n<t;n++)if(n<r.length){let t=s.getAttributeLocation(n);t>=0&&(this._gl.enableVertexAttribArray(t),this._vertexAttribArraysEnabled[t]=!0,this._vertexAttribPointer(e,t,r[n],this._gl.FLOAT,!1,i,a)),a+=4*r[n]}}this._bindIndexBufferWithCache(t)}_unbindVertexArrayObject(){this._cachedVertexArrayObject&&(this._cachedVertexArrayObject=null,this._gl.bindVertexArray(null))}bindBuffers(e,t,r,i){(this._cachedVertexBuffers!==e||this._cachedEffectForVertexBuffers!==r)&&(this._cachedVertexBuffers=e,this._cachedEffectForVertexBuffers=r,this._bindVertexBuffersAttributes(e,r,i)),this._bindIndexBufferWithCache(t)}unbindInstanceAttributes(){let e;for(let t=0,r=this._currentInstanceLocations.length;t<r;t++){let r=this._currentInstanceBuffers[t];e!=r&&r.references&&(e=r,this.bindArrayBuffer(r));let i=this._currentInstanceLocations[t];this._gl.vertexAttribDivisor(i,0)}this._currentInstanceBuffers.length=0,this._currentInstanceLocations.length=0}releaseVertexArrayObject(e){this._gl.deleteVertexArray(e)}_releaseBuffer(e){return e.references--,0===e.references&&(this._deleteBuffer(e),!0)}_deleteBuffer(e){this._gl.deleteBuffer(e.underlyingResource)}updateAndBindInstancesBuffer(e,t,r){if(this.bindArrayBuffer(e),t&&this._gl.bufferSubData(this._gl.ARRAY_BUFFER,0,t),void 0!==r[0].index)this.bindInstancesBuffer(e,r,!0);else for(let t=0;t<4;t++){let i=r[t];this._vertexAttribArraysEnabled[i]||(this._gl.enableVertexAttribArray(i),this._vertexAttribArraysEnabled[i]=!0),this._vertexAttribPointer(e,i,4,this._gl.FLOAT,!1,64,16*t),this._gl.vertexAttribDivisor(i,1),this._currentInstanceLocations.push(i),this._currentInstanceBuffers.push(e)}}bindInstancesBuffer(e,t,r=!0){this.bindArrayBuffer(e);let i=0;if(r)for(let e=0;e<t.length;e++)i+=4*t[e].attributeSize;for(let r=0;r<t.length;r++){let s=t[r];void 0===s.index&&(s.index=this._currentEffect.getAttributeLocationByName(s.attributeName)),s.index<0||(this._vertexAttribArraysEnabled[s.index]||(this._gl.enableVertexAttribArray(s.index),this._vertexAttribArraysEnabled[s.index]=!0),this._vertexAttribPointer(e,s.index,s.attributeSize,s.attributeType||this._gl.FLOAT,s.normalized||!1,i,s.offset),this._gl.vertexAttribDivisor(s.index,void 0===s.divisor?1:s.divisor),this._currentInstanceLocations.push(s.index),this._currentInstanceBuffers.push(e))}}disableInstanceAttributeByName(e){if(!this._currentEffect)return;let t=this._currentEffect.getAttributeLocationByName(e);this.disableInstanceAttribute(t)}disableInstanceAttribute(e){let t,r=!1;for(;-1!==(t=this._currentInstanceLocations.indexOf(e));)this._currentInstanceLocations.splice(t,1),this._currentInstanceBuffers.splice(t,1),r=!0;r&&(this._gl.vertexAttribDivisor(e,0),this.disableAttributeByIndex(e))}disableAttributeByIndex(e){this._gl.disableVertexAttribArray(e),this._vertexAttribArraysEnabled[e]=!1,this._currentBufferPointers[e].active=!1}draw(e,t,r,i){this.drawElementsType(+!e,t,r,i)}drawPointClouds(e,t,r){this.drawArraysType(2,e,t,r)}drawUnIndexed(e,t,r,i){this.drawArraysType(+!e,t,r,i)}drawElementsType(e,t,r,i){this.applyStates(),this._reportDrawCall();let s=this._drawMode(e),a=this._uintIndicesCurrentlySet?this._gl.UNSIGNED_INT:this._gl.UNSIGNED_SHORT,n=this._uintIndicesCurrentlySet?4:2;i?this._gl.drawElementsInstanced(s,r,a,t*n,i):this._gl.drawElements(s,r,a,t*n)}drawArraysType(e,t,r,i){this.applyStates(),this._reportDrawCall();let s=this._drawMode(e);i?this._gl.drawArraysInstanced(s,t,r,i):this._gl.drawArrays(s,t,r)}_drawMode(e){switch(e){case 0:default:return this._gl.TRIANGLES;case 2:case 3:return this._gl.POINTS;case 1:case 4:return this._gl.LINES;case 5:return this._gl.LINE_LOOP;case 6:return this._gl.LINE_STRIP;case 7:return this._gl.TRIANGLE_STRIP;case 8:return this._gl.TRIANGLE_FAN}}_releaseEffect(e){this._compiledEffects[e._key]&&delete this._compiledEffects[e._key];let t=e.getPipelineContext();t&&this._deletePipelineContext(t)}_deletePipelineContext(e){e&&e.program&&(e.program.__SPECTOR_rebuildProgram=null,(0,b.resetCachedPipeline)(e),this._gl&&(this._currentProgram===e.program&&this._setProgram(null),this._gl.deleteProgram(e.program)))}_getGlobalDefines(e){return(0,S._GetGlobalDefines)(e,this.isNDCHalfZRange,this.useReverseDepthBuffer,this.useExactSrgbConversions)}createEffect(e,t,r,i,s,a,n,_,l,o=0,c){let g="string"==typeof e?e:e.vertexToken||e.vertexSource||e.vertexElement||e.vertex,f="string"==typeof e?e:e.fragmentToken||e.fragmentSource||e.fragmentElement||e.fragment,d=this._getGlobalDefines(),E=void 0!==t.attributes,T=s??t.defines??"";d&&(T+=d);let R=g+"+"+f+"@"+T;if(this._compiledEffects[R]){let e=this._compiledEffects[R];return n&&e.isReady()&&n(e),e._refCount++,e}this._gl&&(0,u.getStateObject)(this._gl);let p=new h.Effect(e,t,E?this:r,i,this,s,a,n,_,l,R,t.shaderLanguage??o,t.extraInitializationsAsync??c);return this._compiledEffects[R]=p,p}_getShaderSource(e){return this._gl.getShaderSource(e)}createRawShaderProgram(e,t,r,i,s=null){let a=(0,u.getStateObject)(this._gl);return a._contextWasLost=this._contextWasLost,a.validateShaderPrograms=this.validateShaderPrograms,(0,u.createRawShaderProgram)(e,t,r,i||this._gl,s)}createShaderProgram(e,t,r,i,s,a=null){let n=(0,u.getStateObject)(this._gl);return n._contextWasLost=this._contextWasLost,n.validateShaderPrograms=this.validateShaderPrograms,(0,u.createShaderProgram)(e,t,r,i,s||this._gl,a)}inlineShaderCode(e){return e}createPipelineContext(e){this._gl&&((0,u.getStateObject)(this._gl).parallelShaderCompile=this._caps.parallelShaderCompile);let t=(0,u.createPipelineContext)(this._gl,e);return t.engine=this,t}createMaterialContext(){}createDrawContext(){}_finalizePipelineContext(e){return(0,u._finalizePipelineContext)(e,this._gl,this.validateShaderPrograms)}_preparePipelineContextAsync(e,t,r,i,s,a,n,_,l,h,o){let c=(0,u.getStateObject)(this._gl);return c._contextWasLost=this._contextWasLost,c.validateShaderPrograms=this.validateShaderPrograms,c._createShaderProgramInjection=this._createShaderProgram.bind(this),c.createRawShaderProgramInjection=this.createRawShaderProgram.bind(this),c.createShaderProgramInjection=this.createShaderProgram.bind(this),c.loadFileInjection=this._loadFile.bind(this),(0,u._preparePipelineContext)(e,t,r,i,s,a,n,_,l,h,o)}_createShaderProgram(e,t,r,i,s=null){return(0,u._createShaderProgram)(e,t,r,i,s)}_isRenderingStateCompiled(e){return!this._isDisposed&&(0,u._isRenderingStateCompiled)(e,this._gl,this.validateShaderPrograms)}_executeWhenRenderingStateIsCompiled(e,t){(0,u._executeWhenRenderingStateIsCompiled)(e,t)}getUniforms(e,t){let r=[];for(let i=0;i<t.length;i++)r.push(this._gl.getUniformLocation(e.program,t[i]));return r}getAttributes(e,t){let r=[];for(let i=0;i<t.length;i++)try{r.push(this._gl.getAttribLocation(e.program,t[i]))}catch(e){r.push(-1)}return r}enableEffect(e){(e=null!==e&&(0,c.IsWrapper)(e)?e.effect:e)&&e!==this._currentEffect&&(this._stencilStateComposer.stencilMaterial=void 0,this.bindSamplers(e),this._currentEffect=e,e.onBind&&e.onBind(e),e._onBindObservable&&e._onBindObservable.notifyObservers(e))}setInt(e,t){return!!e&&(this._gl.uniform1i(e,t),!0)}setInt2(e,t,r){return!!e&&(this._gl.uniform2i(e,t,r),!0)}setInt3(e,t,r,i){return!!e&&(this._gl.uniform3i(e,t,r,i),!0)}setInt4(e,t,r,i,s){return!!e&&(this._gl.uniform4i(e,t,r,i,s),!0)}setIntArray(e,t){return!!e&&(this._gl.uniform1iv(e,t),!0)}setIntArray2(e,t){return!!e&&t.length%2==0&&(this._gl.uniform2iv(e,t),!0)}setIntArray3(e,t){return!!e&&t.length%3==0&&(this._gl.uniform3iv(e,t),!0)}setIntArray4(e,t){return!!e&&t.length%4==0&&(this._gl.uniform4iv(e,t),!0)}setUInt(e,t){return!!e&&(this._gl.uniform1ui(e,t),!0)}setUInt2(e,t,r){return!!e&&(this._gl.uniform2ui(e,t,r),!0)}setUInt3(e,t,r,i){return!!e&&(this._gl.uniform3ui(e,t,r,i),!0)}setUInt4(e,t,r,i,s){return!!e&&(this._gl.uniform4ui(e,t,r,i,s),!0)}setUIntArray(e,t){return!!e&&(this._gl.uniform1uiv(e,t),!0)}setUIntArray2(e,t){return!!e&&t.length%2==0&&(this._gl.uniform2uiv(e,t),!0)}setUIntArray3(e,t){return!!e&&t.length%3==0&&(this._gl.uniform3uiv(e,t),!0)}setUIntArray4(e,t){return!!e&&t.length%4==0&&(this._gl.uniform4uiv(e,t),!0)}setArray(e,t){return!!e&&!(t.length<1)&&(this._gl.uniform1fv(e,t),!0)}setArray2(e,t){return!!e&&t.length%2==0&&(this._gl.uniform2fv(e,t),!0)}setArray3(e,t){return!!e&&t.length%3==0&&(this._gl.uniform3fv(e,t),!0)}setArray4(e,t){return!!e&&t.length%4==0&&(this._gl.uniform4fv(e,t),!0)}setMatrices(e,t){return!!e&&(this._gl.uniformMatrix4fv(e,!1,t),!0)}setMatrix3x3(e,t){return!!e&&(this._gl.uniformMatrix3fv(e,!1,t),!0)}setMatrix2x2(e,t){return!!e&&(this._gl.uniformMatrix2fv(e,!1,t),!0)}setFloat(e,t){return!!e&&(this._gl.uniform1f(e,t),!0)}setFloat2(e,t,r){return!!e&&(this._gl.uniform2f(e,t,r),!0)}setFloat3(e,t,r,i){return!!e&&(this._gl.uniform3f(e,t,r,i),!0)}setFloat4(e,t,r,i,s){return!!e&&(this._gl.uniform4f(e,t,r,i,s),!0)}applyStates(){if(this._depthCullingState.apply(this._gl),this._stencilStateComposer.apply(this._gl),this._alphaState.apply(this._gl,this._currentRenderTarget&&this._currentRenderTarget.textures?this._currentRenderTarget.textures.length:1),this._colorWriteChanged){this._colorWriteChanged=!1;let e=this._colorWrite;this._gl.colorMask(e,e,e,e)}}wipeCaches(e){(!this.preventCacheWipeBetweenFrames||e)&&(this._currentEffect=null,this._viewportCached.x=0,this._viewportCached.y=0,this._viewportCached.z=0,this._viewportCached.w=0,this._unbindVertexArrayObject(),e&&(this._currentProgram=null,this.resetTextureCache(),this._stencilStateComposer.reset(),this._depthCullingState.reset(),this._depthCullingState.depthFunc=this._gl.LEQUAL,this._alphaState.reset(),this._resetAlphaMode(),this._colorWrite=!0,this._colorWriteChanged=!0,this._unpackFlipYCached=null,this._gl.pixelStorei(this._gl.UNPACK_COLORSPACE_CONVERSION_WEBGL,this._gl.NONE),this._gl.pixelStorei(this._gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),this._mustWipeVertexAttributes=!0,this.unbindAllAttributes()),this._resetVertexBufferBinding(),this._cachedIndexBuffer=null,this._cachedEffectForVertexBuffers=null,this.bindIndexBuffer(null))}_getSamplingParameters(e,t){let r=this._gl,i=r.NEAREST,s=r.NEAREST,a=!1;switch(e){case 11:i=r.LINEAR,s=t?r.LINEAR_MIPMAP_NEAREST:r.LINEAR;break;case 3:i=r.LINEAR,a=!0,s=t?r.LINEAR_MIPMAP_LINEAR:r.LINEAR;break;case 8:a=!0,i=r.NEAREST,s=t?r.NEAREST_MIPMAP_LINEAR:r.NEAREST;break;case 4:i=r.NEAREST,s=t?r.NEAREST_MIPMAP_NEAREST:r.NEAREST;break;case 5:i=r.NEAREST,s=t?r.LINEAR_MIPMAP_NEAREST:r.LINEAR;break;case 6:a=!0,i=r.NEAREST,s=t?r.LINEAR_MIPMAP_LINEAR:r.LINEAR;break;case 7:i=r.NEAREST,s=r.LINEAR;break;case 1:i=r.NEAREST,s=r.NEAREST;break;case 9:i=r.LINEAR,s=t?r.NEAREST_MIPMAP_NEAREST:r.NEAREST;break;case 10:a=!0,i=r.LINEAR,s=t?r.NEAREST_MIPMAP_LINEAR:r.NEAREST;break;case 2:i=r.LINEAR,s=r.LINEAR;break;case 12:i=r.LINEAR,s=r.NEAREST}return{min:s,mag:i,hasMipMaps:a}}_createTexture(){let e=this._gl.createTexture();if(!e)throw Error("Unable to create texture");return e}_createHardwareTexture(){return new A(this._createTexture(),this._gl)}_createInternalTexture(e,t,r=!0,i=0){let s,a,n=!1,_=0,l=3,h=5,u=!1,o=1,c=!1,f=0,d=!1;void 0!==t&&"object"==typeof t?(s=!!t.generateMipMaps,n=!!t.createMipMaps,_=void 0===t.type?0:t.type,l=void 0===t.samplingMode?3:t.samplingMode,h=void 0===t.format?5:t.format,u=void 0!==t.useSRGBBuffer&&t.useSRGBBuffer,o=t.samples??1,a=t.label,c=!!t.createMSAATexture,f=t.comparisonFunction||0,d=!!t.isCube):s=!!t,u&&(u=this._caps.supportSRGBBuffers&&(this.webGLVersion>1||this.isWebGPU)),(1!==_||this._caps.textureFloatLinearFiltering)&&(2!==_||this._caps.textureHalfFloatLinearFiltering)||(l=1),1!==_||this._caps.textureFloat||(_=0,g.Logger.Warn("Float textures are not supported. Type forced to TEXTURETYPE_UNSIGNED_BYTE"));let E=m(h),T=B(h),R=this._gl,p=new x.InternalTexture(this,i),A=e.width||e,S=e.height||e,b=e.depth||0,C=e.layers||0,P=this._getSamplingParameters(l,(s||n)&&!E),L=0!==C?R.TEXTURE_2D_ARRAY:0!==b?R.TEXTURE_3D:d?R.TEXTURE_CUBE_MAP:R.TEXTURE_2D,M=E?this._getInternalFormatFromDepthTextureFormat(h,!0,T):this._getRGBABufferInternalSizedFormat(_,h,u),G=E?T?R.DEPTH_STENCIL:R.DEPTH_COMPONENT:this._getInternalFormat(h),I=E?this._getWebGLTextureTypeFromDepthTextureFormat(h):this._getWebGLTextureType(_);if(this._bindTextureDirectly(L,p),0!==C)p.is2DArray=!0,R.texImage3D(L,0,M,A,S,C,0,G,I,null);else if(0!==b)p.is3D=!0,R.texImage3D(L,0,M,A,S,b,0,G,I,null);else if(d){p.isCube=!0;for(let e=0;e<6;e++)R.texImage2D(R.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,M,A,S,0,G,I,null)}else R.texImage2D(L,0,M,A,S,0,G,I,null);if(R.texParameteri(L,R.TEXTURE_MAG_FILTER,P.mag),R.texParameteri(L,R.TEXTURE_MIN_FILTER,P.min),R.texParameteri(L,R.TEXTURE_WRAP_S,R.CLAMP_TO_EDGE),R.texParameteri(L,R.TEXTURE_WRAP_T,R.CLAMP_TO_EDGE),E&&this.webGLVersion>1&&(0===f?(R.texParameteri(L,R.TEXTURE_COMPARE_FUNC,515),R.texParameteri(L,R.TEXTURE_COMPARE_MODE,R.NONE)):(R.texParameteri(L,R.TEXTURE_COMPARE_FUNC,f),R.texParameteri(L,R.TEXTURE_COMPARE_MODE,R.COMPARE_REF_TO_TEXTURE))),(s||n)&&this._gl.generateMipmap(L),this._bindTextureDirectly(L,null),p._useSRGBBuffer=u,p.baseWidth=A,p.baseHeight=S,p.width=A,p.height=S,p.depth=C||b,p.isReady=!0,p.samples=o,p.generateMipMaps=s,p.samplingMode=l,p.type=_,p.format=h,p.label=a,p.comparisonFunction=f,this._internalTexturesCache.push(p),c){let e;if(!(e=m(p.format)?this._setupFramebufferDepthAttachments(B(p.format),19!==p.format,p.width,p.height,o,p.format,!0):this._createRenderBuffer(p.width,p.height,o,-1,this._getRGBABufferInternalSizedFormat(p.type,p.format,p._useSRGBBuffer),-1)))throw Error("Unable to create render buffer");p._autoMSAAManagement=!0;let t=p._hardwareTexture;t||(t=p._hardwareTexture=this._createHardwareTexture()),t.addMSAARenderBuffer(e)}return p}_getUseSRGBBuffer(e,t){return e&&this._caps.supportSRGBBuffers&&(this.webGLVersion>1||t)}createTexture(e,t,r,i,s=3,a=null,n=null,_=null,l=null,h=null,u=null,o,c,g,f){return this._createTextureBase(e,t,r,i,s,a,n,(...e)=>this._prepareWebGLTexture(...e,h),(e,t,r,s,a,n)=>{let _=this._gl,l=r.width===e&&r.height===t;a._creationFlags=g??0;let h=this._getTexImageParametersForCreateTexture(a.format,a._useSRGBBuffer);if(l)return _.texImage2D(_.TEXTURE_2D,0,h.internalFormat,h.format,h.type,r),!1;let u=this._caps.maxTextureSize;if(r.width>u||r.height>u||!this._supportsHardwareTextureRescaling)return this._prepareWorkingCanvas(),!!this._workingCanvas&&!!this._workingContext&&(this._workingCanvas.width=e,this._workingCanvas.height=t,this._workingContext.drawImage(r,0,0,r.width,r.height,0,0,e,t),_.texImage2D(_.TEXTURE_2D,0,h.internalFormat,h.format,h.type,this._workingCanvas),a.width=e,a.height=t,!1);{let e=new x.InternalTexture(this,2);this._bindTextureDirectly(_.TEXTURE_2D,e,!0),_.texImage2D(_.TEXTURE_2D,0,h.internalFormat,h.format,h.type,r),this._rescaleTexture(e,a,i,h.format,()=>{this._releaseTexture(e),this._bindTextureDirectly(_.TEXTURE_2D,a,!0),n()})}return!0},_,l,h,u,o,c,f)}_getTexImageParametersForCreateTexture(e,t){let r,i;return 1===this.webGLVersion?i=r=this._getInternalFormat(e,t):(r=this._getInternalFormat(e,!1),i=this._getRGBABufferInternalSizedFormat(0,e,t)),{internalFormat:i,format:r,type:this._gl.UNSIGNED_BYTE}}_rescaleTexture(e,t,r,i,s){}_unpackFlipY(e){this._unpackFlipYCached!==e&&(this._gl.pixelStorei(this._gl.UNPACK_FLIP_Y_WEBGL,+!!e),this.enableUnpackFlipYCached&&(this._unpackFlipYCached=e))}_getUnpackAlignement(){return this._gl.getParameter(this._gl.UNPACK_ALIGNMENT)}_getTextureTarget(e){return e.isCube?this._gl.TEXTURE_CUBE_MAP:e.is3D?this._gl.TEXTURE_3D:e.is2DArray||e.isMultiview?this._gl.TEXTURE_2D_ARRAY:this._gl.TEXTURE_2D}updateTextureSamplingMode(e,t,r=!1){let i=this._getTextureTarget(t),s=this._getSamplingParameters(e,t.useMipMaps||r);this._setTextureParameterInteger(i,this._gl.TEXTURE_MAG_FILTER,s.mag,t),this._setTextureParameterInteger(i,this._gl.TEXTURE_MIN_FILTER,s.min),r&&s.hasMipMaps&&(t.generateMipMaps=!0,this._gl.generateMipmap(i)),this._bindTextureDirectly(i,null),t.samplingMode=e}updateTextureDimensions(e,t,r,i=1){}updateTextureWrappingMode(e,t,r=null,i=null){let s=this._getTextureTarget(e);null!==t&&(this._setTextureParameterInteger(s,this._gl.TEXTURE_WRAP_S,this._getTextureWrapMode(t),e),e._cachedWrapU=t),null!==r&&(this._setTextureParameterInteger(s,this._gl.TEXTURE_WRAP_T,this._getTextureWrapMode(r),e),e._cachedWrapV=r),(e.is2DArray||e.is3D)&&null!==i&&(this._setTextureParameterInteger(s,this._gl.TEXTURE_WRAP_R,this._getTextureWrapMode(i),e),e._cachedWrapR=i),this._bindTextureDirectly(s,null)}_uploadCompressedDataToTextureDirectly(e,t,r,i,s,a=0,n=0){let _=this._gl,l=_.TEXTURE_2D;if(e.isCube&&(l=_.TEXTURE_CUBE_MAP_POSITIVE_X+a),e._useSRGBBuffer)switch(t){case 37492:case 36196:this._caps.etc2?t=_.COMPRESSED_SRGB8_ETC2:e._useSRGBBuffer=!1;break;case 37496:this._caps.etc2?t=_.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:e._useSRGBBuffer=!1;break;case 36492:t=_.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT;break;case 37808:t=_.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR;break;case 37809:t=_.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR;break;case 37810:t=_.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR;break;case 37811:t=_.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR;break;case 37812:t=_.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR;break;case 37813:t=_.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR;break;case 37814:t=_.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR;break;case 37815:t=_.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR;break;case 37816:t=_.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR;break;case 37817:t=_.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR;break;case 37818:t=_.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR;break;case 37819:t=_.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR;break;case 37820:t=_.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR;break;case 37821:t=_.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR;break;case 33776:this._caps.s3tc_srgb?t=_.COMPRESSED_SRGB_S3TC_DXT1_EXT:e._useSRGBBuffer=!1;break;case 33777:this._caps.s3tc_srgb?t=_.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:e._useSRGBBuffer=!1;break;case 33779:this._caps.s3tc_srgb?t=_.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:e._useSRGBBuffer=!1;break;default:e._useSRGBBuffer=!1}if(e.generateMipMaps){let a=e._hardwareTexture;a.memoryAllocated||(_.texStorage2D(e.isCube?_.TEXTURE_CUBE_MAP:_.TEXTURE_2D,Math.floor(Math.log2(Math.max(r,i)))+1,t,e.width,e.height),a.memoryAllocated=!0),this._gl.compressedTexSubImage2D(l,n,0,0,r,i,t,s)}else this._gl.compressedTexImage2D(l,n,t,r,i,0,s)}_uploadDataToTextureDirectly(e,t,r=0,i=0,s,a=!1){let n=this._gl,_=this._getWebGLTextureType(e.type),l=this._getInternalFormat(e.format),h=void 0===s?this._getRGBABufferInternalSizedFormat(e.type,e.format,e._useSRGBBuffer):this._getInternalFormat(s,e._useSRGBBuffer);this._unpackFlipY(e.invertY);let u=n.TEXTURE_2D;e.isCube&&(u=n.TEXTURE_CUBE_MAP_POSITIVE_X+r);let o=Math.round(Math.log(e.width)*Math.LOG2E),c=Math.round(Math.log(e.height)*Math.LOG2E),g=a?e.width:Math.pow(2,Math.max(o-i,0)),f=a?e.height:Math.pow(2,Math.max(c-i,0));n.texImage2D(u,i,h,g,f,0,l,_,t)}updateTextureData(e,t,r,i,s,a,n=0,_=0,l=!1){let h=this._gl,u=this._getWebGLTextureType(e.type),o=this._getInternalFormat(e.format);this._unpackFlipY(e.invertY);let c=h.TEXTURE_2D,g=h.TEXTURE_2D;e.isCube&&(g=h.TEXTURE_CUBE_MAP_POSITIVE_X+n,c=h.TEXTURE_CUBE_MAP),this._bindTextureDirectly(c,e,!0),h.texSubImage2D(g,_,r,i,s,a,o,u,t),l&&this._gl.generateMipmap(g),this._bindTextureDirectly(c,null)}_uploadArrayBufferViewToTexture(e,t,r=0,i=0){let s=this._gl,a=e.isCube?s.TEXTURE_CUBE_MAP:s.TEXTURE_2D;this._bindTextureDirectly(a,e,!0),this._uploadDataToTextureDirectly(e,t,r,i),this._bindTextureDirectly(a,null,!0)}_prepareWebGLTextureContinuation(e,t,r,i,s){let a=this._gl;if(!a)return;let n=this._getSamplingParameters(s,!r);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,n.mag),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,n.min),r||i||a.generateMipmap(a.TEXTURE_2D),this._bindTextureDirectly(a.TEXTURE_2D,null),t&&t.removePendingData(e),e.onLoadedObservable.notifyObservers(e),e.onLoadedObservable.clear()}_prepareWebGLTexture(e,t,r,i,s,a,n,_,l,h){let u=this.getCaps().maxTextureSize,o=Math.min(u,this.needPOTTextures?(0,p.GetExponentOfTwo)(i.width,u):i.width),c=Math.min(u,this.needPOTTextures?(0,p.GetExponentOfTwo)(i.height,u):i.height),g=this._gl;if(g){if(!e._hardwareTexture){r&&r.removePendingData(e);return}this._bindTextureDirectly(g.TEXTURE_2D,e,!0),this._unpackFlipY(void 0===s||!!s),e.baseWidth=i.width,e.baseHeight=i.height,e.width=o,e.height=c,e.isReady=!0,e.type=-1!==e.type?e.type:0,e.format=-1!==e.format?e.format:h??(".jpg"!==t||e._useSRGBBuffer?5:4),_(o,c,i,t,e,()=>{this._prepareWebGLTextureContinuation(e,r,a,n,l)})||this._prepareWebGLTextureContinuation(e,r,a,n,l)}}_getInternalFormatFromDepthTextureFormat(e,t,r){let i=this._gl;if(!t)return i.STENCIL_INDEX8;let s=r?i.DEPTH_STENCIL:i.DEPTH_COMPONENT;return this.webGLVersion>1?15===e?s=i.DEPTH_COMPONENT16:16===e?s=i.DEPTH_COMPONENT24:17===e||13===e?s=r?i.DEPTH24_STENCIL8:i.DEPTH_COMPONENT24:14===e?s=i.DEPTH_COMPONENT32F:18===e&&(s=r?i.DEPTH32F_STENCIL8:i.DEPTH_COMPONENT32F):s=i.DEPTH_COMPONENT16,s}_getWebGLTextureTypeFromDepthTextureFormat(e){let t=this._gl,r=t.UNSIGNED_INT;return 15===e?r=t.UNSIGNED_SHORT:17===e||13===e?r=t.UNSIGNED_INT_24_8:14===e?r=t.FLOAT:18===e?r=t.FLOAT_32_UNSIGNED_INT_24_8_REV:19===e&&(r=t.UNSIGNED_BYTE),r}_setupFramebufferDepthAttachments(e,t,r,i,s=1,a,n=!1){let _=this._gl;a=a??(e?13:14);let l=this._getInternalFormatFromDepthTextureFormat(a,t,e);return e&&t?this._createRenderBuffer(r,i,s,_.DEPTH_STENCIL,l,n?-1:_.DEPTH_STENCIL_ATTACHMENT):t?this._createRenderBuffer(r,i,s,l,l,n?-1:_.DEPTH_ATTACHMENT):e?this._createRenderBuffer(r,i,s,l,l,n?-1:_.STENCIL_ATTACHMENT):null}_createRenderBuffer(e,t,r,i,s,a,n=!0){let _=this._gl.createRenderbuffer();return this._updateRenderBuffer(_,e,t,r,i,s,a,n)}_updateRenderBuffer(e,t,r,i,s,a,n,_=!0){let l=this._gl;return l.bindRenderbuffer(l.RENDERBUFFER,e),i>1&&l.renderbufferStorageMultisample?l.renderbufferStorageMultisample(l.RENDERBUFFER,i,a,t,r):l.renderbufferStorage(l.RENDERBUFFER,s,t,r),-1!==n&&l.framebufferRenderbuffer(l.FRAMEBUFFER,n,l.RENDERBUFFER,e),_&&l.bindRenderbuffer(l.RENDERBUFFER,null),e}_releaseTexture(e){this._deleteTexture(e._hardwareTexture),this.unbindAllTextures();let t=this._internalTexturesCache.indexOf(e);-1!==t&&this._internalTexturesCache.splice(t,1),e._lodTextureHigh&&e._lodTextureHigh.dispose(),e._lodTextureMid&&e._lodTextureMid.dispose(),e._lodTextureLow&&e._lodTextureLow.dispose(),e._irradianceTexture&&e._irradianceTexture.dispose()}_deleteTexture(e){e?.release()}_setProgram(e){this._currentProgram!==e&&((0,u._setProgram)(e,this._gl),this._currentProgram=e)}bindSamplers(e){let t=e.getPipelineContext();this._setProgram(t.program);let r=e.getSamplers();for(let t=0;t<r.length;t++){let i=e.getUniform(r[t]);i&&(this._boundUniforms[t]=i)}this._currentEffect=null}_activateCurrentTexture(){this._currentTextureChannel!==this._activeChannel&&(this._gl.activeTexture(this._gl.TEXTURE0+this._activeChannel),this._currentTextureChannel=this._activeChannel)}_bindTextureDirectly(e,t,r=!1,i=!1){let s=!1,a=t&&t._associatedChannel>-1;if(r&&a&&(this._activeChannel=t._associatedChannel),this._boundTexturesCache[this._activeChannel]!==t||i){if(this._activateCurrentTexture(),t&&t.isMultiview)throw g.Logger.Error(["_bindTextureDirectly called with a multiview texture!",e,t]),"_bindTextureDirectly called with a multiview texture!";this._gl.bindTexture(e,t?._hardwareTexture?.underlyingResource??null),this._boundTexturesCache[this._activeChannel]=t,t&&(t._associatedChannel=this._activeChannel)}else r&&(s=!0,this._activateCurrentTexture());return a&&!r&&this._bindSamplerUniformToChannel(t._associatedChannel,this._activeChannel),s}_bindTexture(e,t,r){if(void 0===e)return;t&&(t._associatedChannel=e),this._activeChannel=e;let i=t?this._getTextureTarget(t):this._gl.TEXTURE_2D;this._bindTextureDirectly(i,t)}unbindAllTextures(){for(let e=0;e<this._maxSimultaneousTextures;e++)this._activeChannel=e,this._bindTextureDirectly(this._gl.TEXTURE_2D,null),this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP,null),this.webGLVersion>1&&(this._bindTextureDirectly(this._gl.TEXTURE_3D,null),this._bindTextureDirectly(this._gl.TEXTURE_2D_ARRAY,null))}setTexture(e,t,r,i){void 0!==e&&(t&&(this._boundUniforms[e]=t),this._setTexture(e,r))}_bindSamplerUniformToChannel(e,t){let r=this._boundUniforms[e];r&&r._currentState!==t&&(this._gl.uniform1i(r,t),r._currentState=t)}_getTextureWrapMode(e){switch(e){case 1:break;case 0:return this._gl.CLAMP_TO_EDGE;case 2:return this._gl.MIRRORED_REPEAT}return this._gl.REPEAT}_setTexture(e,t,r=!1,i=!1,s=""){let a;if(!t)return null!=this._boundTexturesCache[e]&&(this._activeChannel=e,this._bindTextureDirectly(this._gl.TEXTURE_2D,null),this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP,null),this.webGLVersion>1&&(this._bindTextureDirectly(this._gl.TEXTURE_3D,null),this._bindTextureDirectly(this._gl.TEXTURE_2D_ARRAY,null))),!1;if(t.video){this._activeChannel=e;let r=t.getInternalTexture();r&&(r._associatedChannel=e),t.update()}else if(4===t.delayLoadState)return t.delayLoad(),!1;a=i?t.depthStencilTexture:t.isReady()?t.getInternalTexture():t.isCube?this.emptyCubeTexture:t.is3D?this.emptyTexture3D:t.is2DArray?this.emptyTexture2DArray:this.emptyTexture,!r&&a&&(a._associatedChannel=e);let n=!0;this._boundTexturesCache[e]===a&&(r||this._bindSamplerUniformToChannel(a._associatedChannel,e),n=!1),this._activeChannel=e;let _=this._getTextureTarget(a);if(n&&this._bindTextureDirectly(_,a,r),a&&!a.isMultiview){if(a.isCube&&a._cachedCoordinatesMode!==t.coordinatesMode){a._cachedCoordinatesMode=t.coordinatesMode;let e=+(3!==t.coordinatesMode&&5!==t.coordinatesMode);t.wrapU=e,t.wrapV=e}a._cachedWrapU!==t.wrapU&&(a._cachedWrapU=t.wrapU,this._setTextureParameterInteger(_,this._gl.TEXTURE_WRAP_S,this._getTextureWrapMode(t.wrapU),a)),a._cachedWrapV!==t.wrapV&&(a._cachedWrapV=t.wrapV,this._setTextureParameterInteger(_,this._gl.TEXTURE_WRAP_T,this._getTextureWrapMode(t.wrapV),a)),a.is3D&&a._cachedWrapR!==t.wrapR&&(a._cachedWrapR=t.wrapR,this._setTextureParameterInteger(_,this._gl.TEXTURE_WRAP_R,this._getTextureWrapMode(t.wrapR),a)),this._setAnisotropicLevel(_,a,t.anisotropicFilteringLevel)}return!0}setTextureArray(e,t,r,i){if(void 0!==e&&t){this._textureUnits&&this._textureUnits.length===r.length||(this._textureUnits=new Int32Array(r.length));for(let t=0;t<r.length;t++){let i=r[t].getInternalTexture();i?(this._textureUnits[t]=e+t,i._associatedChannel=e+t):this._textureUnits[t]=-1}this._gl.uniform1iv(t,this._textureUnits);for(let e=0;e<r.length;e++)this._setTexture(this._textureUnits[e],r[e],!0)}}_setAnisotropicLevel(e,t,r){let i=this._caps.textureAnisotropicFilterExtension;11!==t.samplingMode&&3!==t.samplingMode&&2!==t.samplingMode&&(r=1),i&&t._cachedAnisotropicFilteringLevel!==r&&(this._setTextureParameterFloat(e,i.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(r,this._caps.maxAnisotropy),t),t._cachedAnisotropicFilteringLevel=r)}_setTextureParameterFloat(e,t,r,i){this._bindTextureDirectly(e,i,!0,!0),this._gl.texParameterf(e,t,r)}_setTextureParameterInteger(e,t,r,i){i&&this._bindTextureDirectly(e,i,!0,!0),this._gl.texParameteri(e,t,r)}unbindAllAttributes(){if(this._mustWipeVertexAttributes){this._mustWipeVertexAttributes=!1;for(let e=0;e<this._caps.maxVertexAttribs;e++)this.disableAttributeByIndex(e);return}for(let e=0,t=this._vertexAttribArraysEnabled.length;e<t;e++)!(e>=this._caps.maxVertexAttribs)&&this._vertexAttribArraysEnabled[e]&&this.disableAttributeByIndex(e)}releaseEffects(){this._compiledEffects={},this.onReleaseEffectsObservable.notifyObservers(this)}dispose(){(0,f.IsWindowObjectExist)()&&this._renderingCanvas&&(this._renderingCanvas.removeEventListener("webglcontextlost",this._onContextLost),this._onContextRestored&&this._renderingCanvas.removeEventListener("webglcontextrestored",this._onContextRestored)),super.dispose(),this._dummyFramebuffer&&this._gl.deleteFramebuffer(this._dummyFramebuffer),this.unbindAllAttributes(),this._boundUniforms={},this._workingCanvas=null,this._workingContext=null,this._currentBufferPointers.length=0,this._currentProgram=null,this._creationOptions.loseContextOnDispose&&this._gl.getExtension("WEBGL_lose_context")?.loseContext(),(0,u.deleteStateObject)(this._gl)}attachContextLostEvent(e){this._renderingCanvas&&this._renderingCanvas.addEventListener("webglcontextlost",e,!1)}attachContextRestoredEvent(e){this._renderingCanvas&&this._renderingCanvas.addEventListener("webglcontextrestored",e,!1)}getError(){return this._gl.getError()}_canRenderToFloatFramebuffer(){return this._webGLVersion>1?this._caps.colorBufferFloat:this._canRenderToFramebuffer(1)}_canRenderToHalfFloatFramebuffer(){return this._webGLVersion>1?this._caps.colorBufferFloat:this._canRenderToFramebuffer(2)}_canRenderToFramebuffer(e){let t=this._gl;for(;t.getError()!==t.NO_ERROR;);let r=!0,i=t.createTexture();t.bindTexture(t.TEXTURE_2D,i),t.texImage2D(t.TEXTURE_2D,0,this._getRGBABufferInternalSizedFormat(e),1,1,0,t.RGBA,this._getWebGLTextureType(e),null),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST);let s=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,s),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,i,0);let a=t.checkFramebufferStatus(t.FRAMEBUFFER);if((r=(r=r&&a===t.FRAMEBUFFER_COMPLETE)&&t.getError()===t.NO_ERROR)&&(t.clear(t.COLOR_BUFFER_BIT),r=r&&t.getError()===t.NO_ERROR),r){t.bindFramebuffer(t.FRAMEBUFFER,null);let e=t.RGBA,i=t.UNSIGNED_BYTE,s=new Uint8Array(4);t.readPixels(0,0,1,1,e,i,s),r=r&&t.getError()===t.NO_ERROR}for(t.deleteTexture(i),t.deleteFramebuffer(s),t.bindFramebuffer(t.FRAMEBUFFER,null);!r&&t.getError()!==t.NO_ERROR;);return r}_getWebGLTextureType(e){if(1===this._webGLVersion){switch(e){case 1:return this._gl.FLOAT;case 2:return this._gl.HALF_FLOAT_OES;case 0:break;case 8:return this._gl.UNSIGNED_SHORT_4_4_4_4;case 9:return this._gl.UNSIGNED_SHORT_5_5_5_1;case 10:return this._gl.UNSIGNED_SHORT_5_6_5}return this._gl.UNSIGNED_BYTE}switch(e){case 3:return this._gl.BYTE;case 0:break;case 4:return this._gl.SHORT;case 5:return this._gl.UNSIGNED_SHORT;case 6:return this._gl.INT;case 7:return this._gl.UNSIGNED_INT;case 1:return this._gl.FLOAT;case 2:return this._gl.HALF_FLOAT;case 8:return this._gl.UNSIGNED_SHORT_4_4_4_4;case 9:return this._gl.UNSIGNED_SHORT_5_5_5_1;case 10:return this._gl.UNSIGNED_SHORT_5_6_5;case 11:return this._gl.UNSIGNED_INT_2_10_10_10_REV;case 12:return this._gl.UNSIGNED_INT_24_8;case 13:return this._gl.UNSIGNED_INT_10F_11F_11F_REV;case 14:return this._gl.UNSIGNED_INT_5_9_9_9_REV;case 15:return this._gl.FLOAT_32_UNSIGNED_INT_24_8_REV}return this._gl.UNSIGNED_BYTE}_getInternalFormat(e,t=!1){let r=t?this._glSRGBExtensionValues.SRGB8_ALPHA8:this._gl.RGBA;switch(e){case 0:r=this._gl.ALPHA;break;case 1:r=this._gl.LUMINANCE;break;case 2:r=this._gl.LUMINANCE_ALPHA;break;case 6:case 33322:case 36760:r=this._gl.RED;break;case 7:case 33324:case 36761:r=this._gl.RG;break;case 4:case 32852:case 36762:r=t?this._glSRGBExtensionValues.SRGB:this._gl.RGB;break;case 5:case 32859:case 36763:r=t?this._glSRGBExtensionValues.SRGB8_ALPHA8:this._gl.RGBA}if(this._webGLVersion>1)switch(e){case 8:r=this._gl.RED_INTEGER;break;case 9:r=this._gl.RG_INTEGER;break;case 10:r=this._gl.RGB_INTEGER;break;case 11:r=this._gl.RGBA_INTEGER}return r}_getRGBABufferInternalSizedFormat(e,t,r=!1){if(1===this._webGLVersion){if(void 0!==t)switch(t){case 0:return this._gl.ALPHA;case 1:return this._gl.LUMINANCE;case 2:return this._gl.LUMINANCE_ALPHA;case 4:return r?this._glSRGBExtensionValues.SRGB:this._gl.RGB}return this._gl.RGBA}switch(e){case 3:switch(t){case 6:return this._gl.R8_SNORM;case 7:return this._gl.RG8_SNORM;case 4:return this._gl.RGB8_SNORM;case 8:return this._gl.R8I;case 9:return this._gl.RG8I;case 10:return this._gl.RGB8I;case 11:return this._gl.RGBA8I;default:return this._gl.RGBA8_SNORM}case 0:switch(t){case 6:return this._gl.R8;case 7:return this._gl.RG8;case 4:return r?this._glSRGBExtensionValues.SRGB8:this._gl.RGB8;case 5:return r?this._glSRGBExtensionValues.SRGB8_ALPHA8:this._gl.RGBA8;case 8:return this._gl.R8UI;case 9:return this._gl.RG8UI;case 10:return this._gl.RGB8UI;case 11:return this._gl.RGBA8UI;case 0:return this._gl.ALPHA;case 1:return this._gl.LUMINANCE;case 2:return this._gl.LUMINANCE_ALPHA;default:return this._gl.RGBA8}case 4:switch(t){case 8:return this._gl.R16I;case 36760:return this._gl.R16_SNORM_EXT;case 36761:return this._gl.RG16_SNORM_EXT;case 36762:return this._gl.RGB16_SNORM_EXT;case 36763:return this._gl.RGBA16_SNORM_EXT;case 9:return this._gl.RG16I;case 10:return this._gl.RGB16I;default:return this._gl.RGBA16I}case 5:switch(t){case 8:return this._gl.R16UI;case 33322:return this._gl.R16_EXT;case 33324:return this._gl.RG16_EXT;case 32852:return this._gl.RGB16_EXT;case 32859:return this._gl.RGBA16_EXT;case 9:return this._gl.RG16UI;case 10:return this._gl.RGB16UI;default:return this._gl.RGBA16UI}case 6:switch(t){case 8:return this._gl.R32I;case 9:return this._gl.RG32I;case 10:return this._gl.RGB32I;default:return this._gl.RGBA32I}case 7:switch(t){case 8:return this._gl.R32UI;case 9:return this._gl.RG32UI;case 10:return this._gl.RGB32UI;default:return this._gl.RGBA32UI}case 1:switch(t){case 6:return this._gl.R32F;case 7:return this._gl.RG32F;case 4:return this._gl.RGB32F;default:return this._gl.RGBA32F}case 2:switch(t){case 6:return this._gl.R16F;case 7:return this._gl.RG16F;case 4:return this._gl.RGB16F;default:return this._gl.RGBA16F}case 10:return this._gl.RGB565;case 13:return this._gl.R11F_G11F_B10F;case 14:return this._gl.RGB9_E5;case 8:return this._gl.RGBA4;case 9:return this._gl.RGB5_A1;case 11:switch(t){case 5:default:return this._gl.RGB10_A2;case 11:return this._gl.RGB10_A2UI}}return r?this._glSRGBExtensionValues.SRGB8_ALPHA8:this._gl.RGBA8}readPixels(e,t,r,i,s=!0,a=!0,n=null){let _=s?this._gl.RGBA:this._gl.RGB,l=r*i*(s?4:3);if(n){if(n.length<l)return g.Logger.Error(`Data buffer is too small to store the read pixels (${n.length} should be more than ${l})`),Promise.resolve(n)}else n=new Uint8Array(l);return a&&this.flushFramebuffer(),this._gl.readPixels(e,t,r,i,_,this._gl.UNSIGNED_BYTE,n),Promise.resolve(n)}static get IsSupportedAsync(){return Promise.resolve(this.isSupported())}static get IsSupported(){return this.isSupported()}static isSupported(){if(null!==this._HasMajorPerformanceCaveat)return!this._HasMajorPerformanceCaveat;if(null===this._IsSupported)try{let e=o.AbstractEngine._CreateCanvas(1,1),t=e.getContext("webgl")||e.getContext("experimental-webgl");this._IsSupported=null!=t&&!!globalThis.WebGLRenderingContext}catch(e){this._IsSupported=!1}return this._IsSupported}static get HasMajorPerformanceCaveat(){if(null===this._HasMajorPerformanceCaveat)try{let e=o.AbstractEngine._CreateCanvas(1,1),t=e.getContext("webgl",{failIfMajorPerformanceCaveat:!0})||e.getContext("experimental-webgl",{failIfMajorPerformanceCaveat:!0});this._HasMajorPerformanceCaveat=!t}catch(e){this._HasMajorPerformanceCaveat=!1}return this._HasMajorPerformanceCaveat}}M._TempClearColorUint32=new Uint32Array(4),M._TempClearColorInt32=new Int32Array(4),M.ExceptionList=[{key:"Chrome/63.0",capture:"63\\.0\\.3239\\.(\\d+)",captureConstraint:108,targets:["uniformBuffer"]},{key:"Firefox/58",capture:null,captureConstraint:null,targets:["uniformBuffer"]},{key:"Firefox/59",capture:null,captureConstraint:null,targets:["uniformBuffer"]},{key:"Chrome/72.+?Mobile",capture:null,captureConstraint:null,targets:["vao"]},{key:"Chrome/73.+?Mobile",capture:null,captureConstraint:null,targets:["vao"]},{key:"Chrome/74.+?Mobile",capture:null,captureConstraint:null,targets:["vao"]},{key:"Mac OS.+Chrome/71",capture:null,captureConstraint:null,targets:["vao"]},{key:"Mac OS.+Chrome/72",capture:null,captureConstraint:null,targets:["vao"]},{key:"Mac OS.+Chrome",capture:null,captureConstraint:null,targets:["uniformBuffer"]},{key:"Chrome/12\\d\\..+?Mobile",capture:null,captureConstraint:null,targets:["uniformBuffer"]},{key:".*AppleWebKit.*(15.4).*Safari",capture:null,captureConstraint:null,targets:["antialias","maxMSAASamples"]},{key:".*(15.4).*AppleWebKit.*Safari",capture:null,captureConstraint:null,targets:["antialias","maxMSAASamples"]}],M._ConcatenateShader=S._ConcatenateShader,M._IsSupported=null,M._HasMajorPerformanceCaveat=null,(t=M.prototype).startTimeQuery??(t.startTimeQuery=(0,P._MissingSideEffect)("ThinEngine","startTimeQuery")),(r=M.prototype).endTimeQuery??(r.endTimeQuery=(0,P._MissingSideEffect)("ThinEngine","endTimeQuery")),(i=M.prototype).createUniformBuffer??(i.createUniformBuffer=(0,P._MissingSideEffect)("ThinEngine","createUniformBuffer")),(s=M.prototype).createDynamicUniformBuffer??(s.createDynamicUniformBuffer=(0,P._MissingSideEffect)("ThinEngine","createDynamicUniformBuffer")),(a=M.prototype).updateUniformBuffer??(a.updateUniformBuffer=(0,P._MissingSideEffect)("ThinEngine","updateUniformBuffer")),(n=M.prototype).bindUniformBuffer??(n.bindUniformBuffer=(0,P._MissingSideEffect)("ThinEngine","bindUniformBuffer")),(_=M.prototype).bindUniformBufferBase??(_.bindUniformBufferBase=(0,P._MissingSideEffect)("ThinEngine","bindUniformBufferBase")),(l=M.prototype).bindUniformBlock??(l.bindUniformBlock=(0,P._MissingSideEffect)("ThinEngine","bindUniformBlock")),e.s(["ThinEngine",0,M],35160)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,50734,t=>{"use strict";var e,i,a=t.i(85595),s=t.i(53773),n=t.i(90176),o=t.i(95410),r=t.i(90629),h=t.i(18418),l=t.i(88577),u=t.i(95801),c=t.i(87869),_=t.i(82579);class p{constructor(){this._zoomStopsAnimation=!1,this._idleRotationSpeed=.05,this._idleRotationWaitTime=2e3,this._idleRotationSpinupTime=2e3,this.targetAlpha=null,this._attachedCamera=null,this._isPointerDown=!1,this._lastFrameTime=null,this._lastInteractionTime=-1/0,this._cameraRotationSpeed=0,this._lastFrameRadius=0}get name(){return"AutoRotation"}set zoomStopsAnimation(t){this._zoomStopsAnimation=t}get zoomStopsAnimation(){return this._zoomStopsAnimation}set idleRotationSpeed(t){this._idleRotationSpeed=t}get idleRotationSpeed(){return this._idleRotationSpeed}set idleRotationWaitTime(t){this._idleRotationWaitTime=t}get idleRotationWaitTime(){return this._idleRotationWaitTime}set idleRotationSpinupTime(t){this._idleRotationSpinupTime=t}get idleRotationSpinupTime(){return this._idleRotationSpinupTime}get rotationInProgress(){return Math.abs(this._cameraRotationSpeed)>0}get attachedNode(){return this._attachedCamera}init(){}attach(t){this._attachedCamera=t;let e=this._attachedCamera.getScene();this._onPrePointerObservableObserver=e.onPrePointerObservable.add(t=>{if(t.type===u.PointerEventTypes.POINTERDOWN){this._isPointerDown=!0;return}t.type===u.PointerEventTypes.POINTERUP&&(this._isPointerDown=!1)}),this._onAfterCheckInputsObserver=t.onAfterCheckInputsObservable.add(()=>{if(this._reachTargetAlpha())return;let t=c.PrecisionDate.Now,e=0;null!=this._lastFrameTime&&(e=t-this._lastFrameTime),this._lastFrameTime=t,this._applyUserInteraction();let i=Math.max(Math.min((t-this._lastInteractionTime-this._idleRotationWaitTime)/this._idleRotationSpinupTime,1),0);this._cameraRotationSpeed=this._idleRotationSpeed*i,this._attachedCamera&&(this._attachedCamera.alpha-=this._cameraRotationSpeed*(e/1e3))})}detach(){if(!this._attachedCamera)return;let t=this._attachedCamera.getScene();this._onPrePointerObservableObserver&&t.onPrePointerObservable.remove(this._onPrePointerObservableObserver),this._attachedCamera.onAfterCheckInputsObservable.remove(this._onAfterCheckInputsObserver),this._attachedCamera=null,this._lastFrameTime=null}resetLastInteractionTime(t){this._lastInteractionTime=t??c.PrecisionDate.Now}_reachTargetAlpha(){return!!this._attachedCamera&&!!this.targetAlpha&&Math.abs(this._attachedCamera.alpha-this.targetAlpha)<_.Epsilon}_userIsZooming(){return!!this._attachedCamera&&0!==this._attachedCamera.inertialRadiusOffset}_shouldAnimationStopForInteraction(){if(!this._attachedCamera)return!1;let t=!1;return this._lastFrameRadius===this._attachedCamera.radius&&0!==this._attachedCamera.inertialRadiusOffset&&(t=!0),this._lastFrameRadius=this._attachedCamera.radius,this._zoomStopsAnimation?t:this._userIsZooming()}_applyUserInteraction(){this._userIsMoving()&&!this._shouldAnimationStopForInteraction()&&(this._lastInteractionTime=c.PrecisionDate.Now)}_userIsMoving(){return!!this._attachedCamera&&(0!==this._attachedCamera.inertialAlphaOffset||0!==this._attachedCamera.inertialBetaOffset||0!==this._attachedCamera.inertialRadiusOffset||0!==this._attachedCamera.inertialPanningX||0!==this._attachedCamera.inertialPanningY||this._isPointerDown)}}var m=t.i(15205),d=t.i(45984);class g{constructor(){this.transitionDuration=450,this.lowerRadiusTransitionRange=2,this.upperRadiusTransitionRange=-2,this._autoTransitionRange=!1,this._attachedCamera=null,this._radiusIsAnimating=!1,this._radiusBounceTransition=null,this._animatables=[]}get name(){return"Bouncing"}get autoTransitionRange(){return this._autoTransitionRange}set autoTransitionRange(t){if(this._autoTransitionRange===t)return;this._autoTransitionRange=t;let e=this._attachedCamera;e&&(t?this._onMeshTargetChangedObserver=e.onMeshTargetChangedObservable.add(t=>{if(t&&(t.computeWorldMatrix(!0),t.getBoundingInfo)){let e=t.getBoundingInfo().diagonalLength;this.lowerRadiusTransitionRange=.05*e,this.upperRadiusTransitionRange=.05*e}}):this._onMeshTargetChangedObserver&&e.onMeshTargetChangedObservable.remove(this._onMeshTargetChangedObserver))}get attachedNode(){return this._attachedCamera}init(){}attach(t){this._attachedCamera=t,this._onAfterCheckInputsObserver=t.onAfterCheckInputsObservable.add(()=>{this._attachedCamera&&(this._isRadiusAtLimit(this._attachedCamera.lowerRadiusLimit)&&this._applyBoundRadiusAnimation(this.lowerRadiusTransitionRange),this._isRadiusAtLimit(this._attachedCamera.upperRadiusLimit)&&this._applyBoundRadiusAnimation(this.upperRadiusTransitionRange))})}detach(){this._attachedCamera&&(this._onAfterCheckInputsObserver&&this._attachedCamera.onAfterCheckInputsObservable.remove(this._onAfterCheckInputsObserver),this._onMeshTargetChangedObserver&&this._attachedCamera.onMeshTargetChangedObservable.remove(this._onMeshTargetChangedObserver),this._attachedCamera=null)}_isRadiusAtLimit(t){return!!this._attachedCamera&&this._attachedCamera.radius===t&&!this._radiusIsAnimating}_applyBoundRadiusAnimation(t){if(!this._attachedCamera)return;this._radiusBounceTransition||(g.EasingFunction.setEasingMode(g.EasingMode),this._radiusBounceTransition=d.Animation.CreateAnimation("radius",d.Animation.ANIMATIONTYPE_FLOAT,60,g.EasingFunction)),this._cachedWheelPrecision=this._attachedCamera.wheelPrecision,this._attachedCamera.wheelPrecision=1/0,this._attachedCamera.inertialRadiusOffset=0,this.stopAllAnimations(),this._radiusIsAnimating=!0;let e=d.Animation.TransitionTo("radius",this._attachedCamera.radius+t,this._attachedCamera,this._attachedCamera.getScene(),60,this._radiusBounceTransition,this.transitionDuration,()=>this._clearAnimationLocks());e&&this._animatables.push(e)}_clearAnimationLocks(){this._radiusIsAnimating=!1,this._attachedCamera&&(this._attachedCamera.wheelPrecision=this._cachedWheelPrecision)}stopAllAnimations(){for(this._attachedCamera&&(this._attachedCamera.animations=[]);this._animatables.length;)this._animatables[0].onAnimationEnd=null,this._animatables[0].stop(),this._animatables.shift()}}g.EasingFunction=new m.BackEase(.3),g.EasingMode=m.EasingFunction.EASINGMODE_EASEOUT;class f{constructor(){this.onTargetFramingAnimationEndObservable=new n.Observable,this._mode=f.FitFrustumSidesMode,this._radiusScale=1,this._positionScale=.5,this._defaultElevation=.3,this._elevationReturnTime=1500,this._elevationReturnWaitTime=1e3,this._zoomStopsAnimation=!1,this._framingTime=1500,this.autoCorrectCameraLimitsAndSensibility=!0,this._attachedCamera=null,this._isPointerDown=!1,this._lastInteractionTime=-1/0,this._animatables=[],this._betaIsAnimating=!1}get name(){return"Framing"}set mode(t){this._mode=t}get mode(){return this._mode}set radiusScale(t){this._radiusScale=t}get radiusScale(){return this._radiusScale}set positionScale(t){this._positionScale=t}get positionScale(){return this._positionScale}set defaultElevation(t){this._defaultElevation=t}get defaultElevation(){return this._defaultElevation}set elevationReturnTime(t){this._elevationReturnTime=t}get elevationReturnTime(){return this._elevationReturnTime}set elevationReturnWaitTime(t){this._elevationReturnWaitTime=t}get elevationReturnWaitTime(){return this._elevationReturnWaitTime}set zoomStopsAnimation(t){this._zoomStopsAnimation=t}get zoomStopsAnimation(){return this._zoomStopsAnimation}set framingTime(t){this._framingTime=t}get framingTime(){return this._framingTime}get attachedNode(){return this._attachedCamera}init(){}attach(t){this._attachedCamera=t;let e=this._attachedCamera.getScene();f.EasingFunction.setEasingMode(f.EasingMode),this._onPrePointerObservableObserver=e.onPrePointerObservable.add(t=>{if(t.type===u.PointerEventTypes.POINTERDOWN){this._isPointerDown=!0;return}t.type===u.PointerEventTypes.POINTERUP&&(this._isPointerDown=!1)}),this._onMeshTargetChangedObserver=t.onMeshTargetChangedObservable.add(t=>{t&&t.getBoundingInfo&&this.zoomOnMesh(t,void 0,()=>{this.onTargetFramingAnimationEndObservable.notifyObservers()})}),this._onAfterCheckInputsObserver=t.onAfterCheckInputsObservable.add(()=>{this._applyUserInteraction(),this._maintainCameraAboveGround()})}detach(){if(!this._attachedCamera)return;let t=this._attachedCamera.getScene();this._onPrePointerObservableObserver&&t.onPrePointerObservable.remove(this._onPrePointerObservableObserver),this._onAfterCheckInputsObserver&&this._attachedCamera.onAfterCheckInputsObservable.remove(this._onAfterCheckInputsObserver),this._onMeshTargetChangedObserver&&this._attachedCamera.onMeshTargetChangedObservable.remove(this._onMeshTargetChangedObserver),this._attachedCamera=null}zoomOnMesh(t,e=!1,i=null){t.computeWorldMatrix(!0);let a=t.getBoundingInfo().boundingBox;this.zoomOnBoundingInfo(a.minimumWorld,a.maximumWorld,e,i)}zoomOnMeshHierarchy(t,e=!1,i=null){t.computeWorldMatrix(!0);let a=t.getHierarchyBoundingVectors(!0);this.zoomOnBoundingInfo(a.min,a.max,e,i)}zoomOnMeshesHierarchy(t,e=!1,i=null){let a=new o.Vector3(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),s=new o.Vector3(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE);for(let e=0;e<t.length;e++){let i=t[e].getHierarchyBoundingVectors(!0);o.Vector3.CheckExtends(i.min,a,s),o.Vector3.CheckExtends(i.max,a,s)}this.zoomOnBoundingInfo(a,s,e,i)}zoomOnBoundingInfo(t,e,i=!1,a=null){let s;if(!this._attachedCamera)return!1;let n=t.y,r=n+(e.y-n)*this._positionScale,h=e.subtract(t).scale(.5);if(!isFinite(r))return!1;if(i)s=new o.Vector3(0,r,0);else{let e=t.add(h);s=new o.Vector3(e.x,r,e.z)}this._vectorTransition||(this._vectorTransition=d.Animation.CreateAnimation("target",d.Animation.ANIMATIONTYPE_VECTOR3,60,f.EasingFunction)),this._betaIsAnimating=!0;let l=d.Animation.TransitionTo("target",s,this._attachedCamera,this._attachedCamera.getScene(),60,this._vectorTransition,this._framingTime);l&&this._animatables.push(l);let u=0;if(this._mode===f.FitFrustumSidesMode){let i=this._calculateLowerRadiusFromModelBoundingSphere(t,e);this.autoCorrectCameraLimitsAndSensibility&&(this._attachedCamera.lowerRadiusLimit=h.length()+this._attachedCamera.minZ),u=i}else this._mode===f.IgnoreBoundsSizeMode&&(u=this._calculateLowerRadiusFromModelBoundingSphere(t,e),this.autoCorrectCameraLimitsAndSensibility&&null===this._attachedCamera.lowerRadiusLimit&&(this._attachedCamera.lowerRadiusLimit=this._attachedCamera.minZ));if(this.autoCorrectCameraLimitsAndSensibility){let i=e.subtract(t).length();this._attachedCamera.panningSensibility=5e3/i,this._attachedCamera.wheelPrecision=100/u}return this._radiusTransition||(this._radiusTransition=d.Animation.CreateAnimation("radius",d.Animation.ANIMATIONTYPE_FLOAT,60,f.EasingFunction)),(l=d.Animation.TransitionTo("radius",u,this._attachedCamera,this._attachedCamera.getScene(),60,this._radiusTransition,this._framingTime,()=>{this.stopAllAnimations(),a&&a(),this._attachedCamera&&this._attachedCamera.useInputToRestoreState&&this._attachedCamera.storeState()}))&&this._animatables.push(l),!0}_calculateLowerRadiusFromModelBoundingSphere(t,e){let i=this._attachedCamera;if(!i)return 0;let a=i._calculateLowerRadiusFromModelBoundingSphere(t,e,this._radiusScale);return i.lowerRadiusLimit&&this._mode===f.IgnoreBoundsSizeMode&&(a=a<i.lowerRadiusLimit?i.lowerRadiusLimit:a),i.upperRadiusLimit&&(a=a>i.upperRadiusLimit?i.upperRadiusLimit:a),a}_maintainCameraAboveGround(){if(this._elevationReturnTime<0)return;let t=c.PrecisionDate.Now-this._lastInteractionTime,e=.5*Math.PI-this._defaultElevation,i=.5*Math.PI;if(this._attachedCamera&&!this._betaIsAnimating&&this._attachedCamera.beta>i&&t>=this._elevationReturnWaitTime){this._betaIsAnimating=!0,this.stopAllAnimations(),this._betaTransition||(this._betaTransition=d.Animation.CreateAnimation("beta",d.Animation.ANIMATIONTYPE_FLOAT,60,f.EasingFunction));let t=d.Animation.TransitionTo("beta",e,this._attachedCamera,this._attachedCamera.getScene(),60,this._betaTransition,this._elevationReturnTime,()=>{this._clearAnimationLocks(),this.stopAllAnimations()});t&&this._animatables.push(t)}}_clearAnimationLocks(){this._betaIsAnimating=!1}_applyUserInteraction(){this.isUserIsMoving&&(this._lastInteractionTime=c.PrecisionDate.Now,this.stopAllAnimations(),this._clearAnimationLocks())}stopAllAnimations(){for(this._attachedCamera&&(this._attachedCamera.animations=[]);this._animatables.length;)this._animatables[0]&&(this._animatables[0].onAnimationEnd=null,this._animatables[0].stop()),this._animatables.shift()}get isUserIsMoving(){return!!this._attachedCamera&&(0!==this._attachedCamera.inertialAlphaOffset||0!==this._attachedCamera.inertialBetaOffset||0!==this._attachedCamera.inertialRadiusOffset||0!==this._attachedCamera.inertialPanningX||0!==this._attachedCamera.inertialPanningY||this._isPointerDown)}}f.EasingFunction=new m.ExponentialEase,f.EasingMode=m.EasingFunction.EASINGMODE_EASEINOUT,f.IgnoreBoundsSizeMode=0,f.FitFrustumSidesMode=1;var y=t.i(95603),v=t.i(81139),T=t.i(58106),b=t.i(13856);class P{constructor(){this._currentMousePointerIdDown=-1,this.buttons=[0,1,2]}attachControl(t){t=b.Tools.BackCompatCameraNoPreventDefault(arguments);let e=this.camera.getEngine(),i=e.getInputElement(),a=0,s=null;this._pointA=null,this._pointB=null,this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._buttonsPressed=0,this._pointerInput=n=>{let o=n.event,r="touch"===o.pointerType;if(n.type!==u.PointerEventTypes.POINTERMOVE&&-1===this.buttons.indexOf(o.button))return;let h=o.target;if(this._altKey=o.altKey,this._ctrlKey=o.ctrlKey,this._metaKey=o.metaKey,this._shiftKey=o.shiftKey,this._buttonsPressed=o.buttons,e.isPointerLock){let t=o.movementX,e=o.movementY;this.onTouch(null,t,e),this._pointA=null,this._pointB=null}else if(n.type!==u.PointerEventTypes.POINTERDOWN&&n.type!==u.PointerEventTypes.POINTERDOUBLETAP&&r&&this._pointA?.pointerId!==o.pointerId&&this._pointB?.pointerId!==o.pointerId)return;else if(n.type===u.PointerEventTypes.POINTERDOWN&&(-1===this._currentMousePointerIdDown||r)){try{h?.setPointerCapture(o.pointerId)}catch(t){}if(null===this._pointA)this._pointA={x:o.clientX,y:o.clientY,pointerId:o.pointerId,type:o.pointerType,button:o.button};else{if(null!==this._pointB)return;this._pointB={x:o.clientX,y:o.clientY,pointerId:o.pointerId,type:o.pointerType,button:o.button}}-1!==this._currentMousePointerIdDown||r||(this._currentMousePointerIdDown=o.pointerId),this.onButtonDown(o),!t&&(o.preventDefault(),i&&i.focus())}else if(n.type===u.PointerEventTypes.POINTERDOUBLETAP)this.onDoubleTap(o.pointerType,o);else if(n.type===u.PointerEventTypes.POINTERUP&&(this._currentMousePointerIdDown===o.pointerId||r)){try{h?.releasePointerCapture(o.pointerId)}catch(t){}r||(this._pointB=null),e._badOS?this._pointA=this._pointB=null:this._pointB&&this._pointA&&this._pointA.pointerId==o.pointerId?(this._pointA=this._pointB,this._pointB=null):this._pointA&&this._pointB&&this._pointB.pointerId==o.pointerId?this._pointB=null:this._pointA=this._pointB=null,(0!==a||s)&&(this.onMultiTouch(this._pointA,this._pointB,a,0,s,null),a=0,s=null),this._currentMousePointerIdDown=-1,this.onButtonUp(o),t||o.preventDefault()}else if(n.type===u.PointerEventTypes.POINTERMOVE){if(t||o.preventDefault(),this._pointA&&null===this._pointB){let t=o.clientX-this._pointA.x,e=o.clientY-this._pointA.y;this._pointA.x=o.clientX,this._pointA.y=o.clientY,this.onTouch(this._pointA,t,e)}else if(this._pointA&&this._pointB){let t=this._pointA.pointerId===o.pointerId?this._pointA:this._pointB;t.x=o.clientX,t.y=o.clientY;let e=this._pointA.x-this._pointB.x,i=this._pointA.y-this._pointB.y,r=e*e+i*i,h={x:(this._pointA.x+this._pointB.x)/2,y:(this._pointA.y+this._pointB.y)/2,pointerId:o.pointerId,type:n.type};this.onMultiTouch(this._pointA,this._pointB,a,r,s,h),s=h,a=r}}},this._observer=this.camera.getScene()._inputManager._addCameraPointerObserver(this._pointerInput,u.PointerEventTypes.POINTERDOWN|u.PointerEventTypes.POINTERUP|u.PointerEventTypes.POINTERMOVE|u.PointerEventTypes.POINTERDOUBLETAP),this._onLostFocus=()=>{this._pointA=this._pointB=null,a=0,s=null,this.onLostFocus()},this._contextMenuBind=t=>this.onContextMenu(t),i&&i.addEventListener("contextmenu",this._contextMenuBind,!1);let n=this.camera.getScene().getEngine().getHostWindow();n&&b.Tools.RegisterTopRootEvents(n,[{name:"blur",handler:this._onLostFocus}])}detachControl(){if(this._onLostFocus){let t=this.camera.getScene().getEngine().getHostWindow();t&&b.Tools.UnregisterTopRootEvents(t,[{name:"blur",handler:this._onLostFocus}])}if(this._observer){if(this.camera.getScene()._inputManager._removeCameraPointerObserver(this._observer),this._observer=null,this._contextMenuBind){let t=this.camera.getScene().getEngine().getInputElement();t&&t.removeEventListener("contextmenu",this._contextMenuBind)}this._onLostFocus=null}this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._buttonsPressed=0,this._currentMousePointerIdDown=-1}getClassName(){return"BaseCameraPointersInput"}getSimpleName(){return"pointers"}onDoubleTap(t,e){}onTouch(t,e,i){}onMultiTouch(t,e,i,a,s,n){}onContextMenu(t){t.preventDefault()}onButtonDown(t){}onButtonUp(t){}onLostFocus(){}}(0,a.__decorate)([(0,s.serialize)()],P.prototype,"buttons",void 0);class O extends P{constructor(){super(...arguments),this.pinchZoom=!0,this.multiTouchPanning=!0,this.multiTouchPanAndZoom=!0,this._isPinching=!1,this._twoFingerActivityCount=0,this._shouldStartPinchZoom=!1}_computePinchZoom(t,e){}_computeMultiTouchPanning(t,e){}onMultiTouch(t,e,i,a,s,n){0===i&&null===s||(0!==a||null!==n)&&(this.multiTouchPanAndZoom?(this._computePinchZoom(i,a),this._computeMultiTouchPanning(s,n)):this.multiTouchPanning&&this.pinchZoom?(this._twoFingerActivityCount++,this._isPinching||this._shouldStartPinchZoom?(this._computePinchZoom(i,a),this._isPinching=!0):this._computeMultiTouchPanning(s,n)):this.multiTouchPanning?this._computeMultiTouchPanning(s,n):this.pinchZoom&&this._computePinchZoom(i,a))}onButtonUp(t){this._twoFingerActivityCount=0,this._isPinching=!1}onLostFocus(){this._twoFingerActivityCount=0,this._isPinching=!1}}(0,a.__decorate)([(0,s.serialize)()],O.prototype,"pinchZoom",void 0),(0,a.__decorate)([(0,s.serialize)()],O.prototype,"multiTouchPanning",void 0),(0,a.__decorate)([(0,s.serialize)()],O.prototype,"multiTouchPanAndZoom",void 0);class R extends O{constructor(){super(...arguments),this.buttons=[0,1,2],this.angularSensibilityX=1e3,this.angularSensibilityY=1e3,this.pinchPrecision=12,this.pinchDeltaPercentage=0,this.useNaturalPinchZoom=!1,this.panningSensibility=1e3,this.pinchInwards=!0,this._activeEntry=null,this._pointerLockConditions={button:0,modifiers:{}},this._pointerModifiers={ctrl:!1,alt:!1,shift:!1},this._pointerConditions={modifiers:this._pointerModifiers}}getClassName(){return"ArcRotateCameraPointersInput"}_computeMultiTouchPanning(t,e){if(t&&e){let i=e.x-t.x,a=e.y-t.y,s=this.camera.movement.input.getEntry("pointer","pan"),n=s?.sensitivity??(0!==this.panningSensibility?1/this.panningSensibility:0);0!==n&&(this.camera.movement.activeInput=!0,this.camera.movement.panAccumulatedPixels.x+=-i*n,this.camera.movement.panAccumulatedPixels.y+=a*n)}}_computePinchZoom(t,e){let i=this.camera.radius||R.MinimumRadiusForPinch;if(this.useNaturalPinchZoom)this.camera.radius=i*Math.sqrt(t)/Math.sqrt(e);else if(this.pinchDeltaPercentage){let a=(e-t)*.001*i*this.pinchDeltaPercentage;this.camera.movement.activeInput=!0,this.camera.movement.zoomAccumulatedPixels+=a}else{let i=(e-t)/(this.pinchPrecision*(this.pinchInwards?1:-1)*(this.angularSensibilityX+this.angularSensibilityY)/2);this.camera.movement.activeInput=!0,this.camera.movement.zoomAccumulatedPixels+=i}}onTouch(t,e,i){let a=this._activeEntry??(this.camera.getEngine().isPointerLock?this.camera.movement.input.resolveInteraction("pointer",this._pointerLockConditions):null);if(a){if("pan"===a.interaction){let t=a.sensitivity??(0!==this.panningSensibility?1/this.panningSensibility:0);0!==t&&(this.camera.movement.activeInput=!0,this.camera.movement.panAccumulatedPixels.x+=-e*t,this.camera.movement.panAccumulatedPixels.y+=i*t)}else if("rotate"===a.interaction){let t=a.sensitivityX??a.sensitivity??1/this.angularSensibilityX,s=a.sensitivityY??a.sensitivity??1/this.angularSensibilityY;this.camera.movement.activeInput=!0,this.camera.movement.rotationAccumulatedPixels.x+=-e*t,this.camera.movement.rotationAccumulatedPixels.y+=-i*s}}}onDoubleTap(){this.camera.useInputToRestoreState&&this.camera.restoreState()}onMultiTouch(t,e,i,a,s,n){this._shouldStartPinchZoom=this._twoFingerActivityCount<20&&Math.abs(Math.sqrt(a)-Math.sqrt(i))>this.camera.pinchToPanMaxDistance,super.onMultiTouch(t,e,i,a,s,n)}onButtonDown(t){this._pointerConditions.button=t.button,this._pointerModifiers.ctrl=t.ctrlKey,this._pointerModifiers.alt=t.altKey,this._pointerModifiers.shift=t.shiftKey,this._activeEntry=this.camera.movement.input.resolveInteraction("pointer",this._pointerConditions),super.onButtonDown(t)}onButtonUp(t){this._activeEntry=null,super.onButtonUp(t)}onLostFocus(){this._activeEntry=null,super.onLostFocus()}}R.MinimumRadiusForPinch=.001,(0,a.__decorate)([(0,s.serialize)()],R.prototype,"buttons",void 0),(0,a.__decorate)([(0,s.serialize)()],R.prototype,"angularSensibilityX",void 0),(0,a.__decorate)([(0,s.serialize)()],R.prototype,"angularSensibilityY",void 0),(0,a.__decorate)([(0,s.serialize)()],R.prototype,"pinchPrecision",void 0),(0,a.__decorate)([(0,s.serialize)()],R.prototype,"pinchDeltaPercentage",void 0),(0,a.__decorate)([(0,s.serialize)()],R.prototype,"useNaturalPinchZoom",void 0),(0,a.__decorate)([(0,s.serialize)()],R.prototype,"panningSensibility",void 0),T.CameraInputTypes.ArcRotateCameraPointersInput=R;var C=t.i(35705);class A{constructor(){this.keysUp=[38],this.keysDown=[40],this.keysLeft=[37],this.keysRight=[39],this.keysReset=[220],this.keysZoomIn=[187,107],this.keysZoomOut=[189,109],this.panningSensibility=50,this.zoomingSensibility=25,this.angularSpeed=.01,this._useAltToZoom=!0,this._keys=[],this._keyboardModifiers={ctrl:!1,alt:!1},this._keyboardConditions={modifiers:this._keyboardModifiers},this._rotateDirection=new o.Vector2,this._panDirection=new o.Vector2}get useAltToZoom(){return this._useAltToZoom}set useAltToZoom(t){this._useAltToZoom=t,this._applyUseAltToZoomToInputMap()}_applyUseAltToZoomToInputMap(){if(!this.camera?.movement)return;let t=this.camera.movement.input,e=t.getEntry("keyboard","zoom",{modifiers:{alt:!0}});!this._useAltToZoom&&e?t.inputMap.splice(t.inputMap.indexOf(e),1):this._useAltToZoom&&!e&&t.addEntry({source:"keyboard",modifiers:{alt:!0},interaction:"zoom"})}attachControl(t){t=b.Tools.BackCompatCameraNoPreventDefault(arguments),this._onCanvasBlurObserver||(this._scene=this.camera.getScene(),this._engine=this._scene.getEngine(),this._applyUseAltToZoomToInputMap(),this._onCanvasBlurObserver=this._engine.onCanvasBlurObservable.add(()=>{this._keys.length=0}),this._onKeyboardObserver=this._scene.onKeyboardObservable.add(e=>{let i=e.event;if(!i.metaKey){if(e.type===C.KeyboardEventTypes.KEYDOWN)this._ctrlPressed=i.ctrlKey,this._altPressed=i.altKey,(-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.keysReset.indexOf(i.keyCode)||-1!==this.keysZoomIn.indexOf(i.keyCode)||-1!==this.keysZoomOut.indexOf(i.keyCode))&&(-1===this._keys.indexOf(i.keyCode)&&this._keys.push(i.keyCode),i.preventDefault&&!t&&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.keysReset.indexOf(i.keyCode)||-1!==this.keysZoomIn.indexOf(i.keyCode)||-1!==this.keysZoomOut.indexOf(i.keyCode)){let e=this._keys.indexOf(i.keyCode);e>=0&&this._keys.splice(e,1),i.preventDefault&&!t&&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 t=this.camera,e=t.movement.input;this._keyboardModifiers.ctrl=this._ctrlPressed,this._keyboardModifiers.alt=this._altPressed;let i=this._rotateDirection.set(0,0),a=this._panDirection.set(0,0),s=0,n=0;for(let o=0;o<this._keys.length;o++){let r=this._keys[o];if(this._keyboardConditions.key=r,-1===this.keysReset.indexOf(r)){let t=e.resolveInteraction("keyboard",this._keyboardConditions);if(t)if("pan"===t.interaction)n=Math.max(n,t.sensitivity??1/this.panningSensibility),-1!==this.keysLeft.indexOf(r)?a.x-=1:-1!==this.keysRight.indexOf(r)?a.x+=1:-1!==this.keysUp.indexOf(r)?a.y+=1:-1!==this.keysDown.indexOf(r)&&(a.y-=1);else if("zoom"===t.interaction){let i=t.sensitivity??1/this.zoomingSensibility;-1!==this.keysUp.indexOf(r)||-1!==this.keysZoomIn.indexOf(r)?e.handlers.zoom(i):(-1!==this.keysDown.indexOf(r)||-1!==this.keysZoomOut.indexOf(r))&&e.handlers.zoom(-i)}else"rotate"===t.interaction&&(s=Math.max(s,t.sensitivity??this.angularSpeed),-1!==this.keysLeft.indexOf(r)?i.x-=1:-1!==this.keysRight.indexOf(r)?i.x+=1:-1!==this.keysUp.indexOf(r)?i.y-=1:-1!==this.keysDown.indexOf(r)&&(i.y+=1))}-1!==this.keysReset.indexOf(r)&&t.useInputToRestoreState&&t.restoreState()}(0!==i.x||0!==i.y)&&(i.normalize().scaleInPlace(s),e.handlers.rotate(i.x,i.y)),(0!==a.x||0!==a.y)&&(a.normalize().scaleInPlace(n),e.handlers.pan(a.x,a.y))}}getClassName(){return"ArcRotateCameraKeyboardMoveInput"}getSimpleName(){return"keyboard"}}(0,a.__decorate)([(0,s.serialize)()],A.prototype,"keysUp",void 0),(0,a.__decorate)([(0,s.serialize)()],A.prototype,"keysDown",void 0),(0,a.__decorate)([(0,s.serialize)()],A.prototype,"keysLeft",void 0),(0,a.__decorate)([(0,s.serialize)()],A.prototype,"keysRight",void 0),(0,a.__decorate)([(0,s.serialize)()],A.prototype,"keysReset",void 0),(0,a.__decorate)([(0,s.serialize)()],A.prototype,"keysZoomIn",void 0),(0,a.__decorate)([(0,s.serialize)()],A.prototype,"keysZoomOut",void 0),(0,a.__decorate)([(0,s.serialize)()],A.prototype,"panningSensibility",void 0),(0,a.__decorate)([(0,s.serialize)()],A.prototype,"zoomingSensibility",void 0),(0,a.__decorate)([(0,s.serialize)()],A.prototype,"angularSpeed",void 0),(0,a.__decorate)([(0,s.serialize)()],A.prototype,"useAltToZoom",null),T.CameraInputTypes.ArcRotateCameraKeyboardMoveInput=A;var M=t.i(47997),I=t.i(21056);class S{constructor(){this.wheelPrecision=3,this.zoomToMouseLocation=!1,this.wheelDeltaPercentage=0,this.customComputeDeltaFromMouseWheel=null,this._viewOffset=new o.Vector3(0,0,0),this._globalOffset=new o.Vector3(0,0,0),this._inertialPanning=o.Vector3.Zero(),this._zoomToMouseRadiusOffset=0}_computeDeltaFromMouseWheelLegacyEvent(t,e){let i=.01*t*this.wheelDeltaPercentage*e;return t>0?i/(1+this.wheelDeltaPercentage):i*(1+this.wheelDeltaPercentage)}attachControl(t){t=b.Tools.BackCompatCameraNoPreventDefault(arguments),this._wheel=e=>{let i;if(e.type!==u.PointerEventTypes.POINTERWHEEL)return;let a=e.event,s=a.deltaMode===I.EventConstants.DOM_DELTA_LINE?40:1,n=-(a.deltaY*s);if(this.customComputeDeltaFromMouseWheel)i=this.customComputeDeltaFromMouseWheel(n,this,a);else if(this.wheelDeltaPercentage){if((i=this._computeDeltaFromMouseWheelLegacyEvent(n,this.camera.radius))>0){let t=this.zoomToMouseLocation?this._zoomToMouseRadiusOffset:this.camera.inertialRadiusOffset,e=this.camera.radius,a=t+i;for(let t=0;t<20&&!(e<=a)&&!(.001>Math.abs(a*this.camera.inertia));t++)e-=a,a*=this.camera.inertia;e=(0,r.Clamp)(e,0,Number.MAX_VALUE),i=this._computeDeltaFromMouseWheelLegacyEvent(n,e)}}else{let t=this.camera.movement.input.getEntry("wheel","zoom");i=n*(t?.sensitivity??1/(40*this.wheelPrecision))}i&&(this.zoomToMouseLocation?(this._hitPlane||this._updateHitPlane(),this._zoomToMouse(i)):this.camera.movement.zoomAccumulatedPixels+=i),a.preventDefault&&!t&&a.preventDefault()},this._observer=this.camera.getScene()._inputManager._addCameraPointerObserver(this._wheel,u.PointerEventTypes.POINTERWHEEL),this.zoomToMouseLocation&&this._inertialPanning.setAll(0)}detachControl(){this._observer&&(this.camera.getScene()._inputManager._removeCameraPointerObserver(this._observer),this._observer=null,this._wheel=null)}checkInputs(){if(!this.zoomToMouseLocation)return;let t=this.camera;if(Math.abs(this._zoomToMouseRadiusOffset)+this._inertialPanning.lengthSquared()+Math.abs(t.inertialAlphaOffset)+Math.abs(t.inertialBetaOffset)+Math.abs(t.inertialRadiusOffset)){this._updateHitPlane(),t.target.addInPlace(this._inertialPanning),t.radius-=this._zoomToMouseRadiusOffset;let e=t.movement.getFrameIndependentDecay(t.inertia);this._inertialPanning.scaleInPlace(e),this._zoomToMouseRadiusOffset*=e,this._zeroIfClose(this._inertialPanning),Math.abs(this._zoomToMouseRadiusOffset)<_.Epsilon&&(this._zoomToMouseRadiusOffset=0)}}getClassName(){return"ArcRotateCameraMouseWheelInput"}getSimpleName(){return"mousewheel"}_updateHitPlane(){let t=this.camera,e=t.target.subtract(t.position);this._hitPlane=M.Plane.FromPositionAndNormal(t.target,e)}_getPosition(){let t=this.camera,e=t.getScene(),i=e.createPickingRay(e.pointerX,e.pointerY,o.Matrix.Identity(),t,!1);(0!==t.targetScreenOffset.x||0!==t.targetScreenOffset.y)&&(this._viewOffset.set(t.targetScreenOffset.x,t.targetScreenOffset.y,0),t.getViewMatrix().invertToRef(t._cameraTransformMatrix),this._globalOffset=o.Vector3.TransformNormal(this._viewOffset,t._cameraTransformMatrix),i.origin.addInPlace(this._globalOffset));let a=0;return this._hitPlane&&(a=i.intersectsPlane(this._hitPlane)??0),i.origin.addInPlace(i.direction.scaleInPlace(a))}_zoomToMouse(t){let e=this.camera,i=1-e.inertia,a=e.movement.getFrameIndependentInputScale(e.inertia);if(e.lowerRadiusLimit){let s=e.lowerRadiusLimit??0;e.radius-(this._zoomToMouseRadiusOffset+t*a)/i<s&&(t=((e.radius-s)*i-this._zoomToMouseRadiusOffset)/a)}if(e.upperRadiusLimit){let s=e.upperRadiusLimit??0;e.radius-(this._zoomToMouseRadiusOffset+t*a)/i>s&&(t=((e.radius-s)*i-this._zoomToMouseRadiusOffset)/a)}let s=t/i/e.radius,n=this._getPosition(),r=o.TmpVectors.Vector3[6];n.subtractToRef(e.target,r),r.scaleInPlace(s),r.scaleInPlace(i),r.scaleInPlace(a),this._inertialPanning.addInPlace(r),this._zoomToMouseRadiusOffset+=t*a}_zeroIfClose(t){Math.abs(t.x)<_.Epsilon&&(t.x=0),Math.abs(t.y)<_.Epsilon&&(t.y=0),Math.abs(t.z)<_.Epsilon&&(t.z=0)}}(0,a.__decorate)([(0,s.serialize)()],S.prototype,"wheelPrecision",void 0),(0,a.__decorate)([(0,s.serialize)()],S.prototype,"zoomToMouseLocation",void 0),(0,a.__decorate)([(0,s.serialize)()],S.prototype,"wheelDeltaPercentage",void 0),T.CameraInputTypes.ArcRotateCameraMouseWheelInput=S;var E=T,B=t.i(33945);class x extends E.CameraInputsManager{constructor(t){super(t)}addMouseWheel(){return this.add(new S),this}addPointers(){return this.add(new R),this}addKeyboard(){return this.add(new A),this}}(e=x.prototype).addVRDeviceOrientation??(e.addVRDeviceOrientation=(0,B._MissingSideEffect)("ArcRotateCameraInputsManager","addVRDeviceOrientation")),(i=x.prototype).addGamepad??(i.addGamepad=(0,B._MissingSideEffect)("ArcRotateCameraInputsManager","addGamepad"));var w=t.i(38116),D=t.i(95357),L=t.i(35218);class k extends D.CameraMovement{constructor(t,e,i){super(t,e,i),this.input=new L.InputMapper({pan:(t,e)=>{this.panAccumulatedPixels.x+=t,this.panAccumulatedPixels.y+=e},rotate:(t,e)=>{this.rotationAccumulatedPixels.x+=t,this.rotationAccumulatedPixels.y+=e},zoom:t=>{this.zoomAccumulatedPixels+=t}},()=>this._createDefaultInputMap())}_createDefaultInputMap(){return[{source:"pointer",button:0,modifiers:{ctrl:!0},interaction:"pan"},{source:"pointer",button:0,interaction:"rotate"},{source:"pointer",button:2,interaction:"pan"},{source:"wheel",interaction:"zoom"},{source:"keyboard",key:[187,107,189,109],interaction:"zoom"},{source:"keyboard",modifiers:{ctrl:!0},interaction:"pan"},{source:"keyboard",modifiers:{alt:!0},interaction:"zoom"},{source:"keyboard",interaction:"rotate"}]}}function N(t){let e=Math.PI/2;return(0!==t.x||0!==t.z)&&(e=Math.acos(t.x/Math.sqrt(Math.pow(t.x,2)+Math.pow(t.z,2)))),t.z<0&&(e=2*Math.PI-e),e}function z(t,e){return Math.acos(t/e)}function V(t,e){return isNaN(t)?e:t}class F extends v.TargetCamera{get target(){return this._target}set target(t){this.setTarget(t)}get targetHost(){return this._targetHost}set targetHost(t){t&&this.setTarget(t)}getTarget(){return this.target}get position(){return this._position}set position(t){this.setPosition(t)}set upVector(t){this._upToYMatrix||(this._yToUpMatrix=new o.Matrix,this._upToYMatrix=new o.Matrix,this._upVector=o.Vector3.Zero()),t.normalize(),this._upVector.copyFrom(t),this.setMatUp()}get upVector(){return this._upVector}setMatUp(){o.Matrix.RotationAlignToRef(o.Vector3.UpReadOnly,this._upVector,this._yToUpMatrix),o.Matrix.RotationAlignToRef(this._upVector,o.Vector3.UpReadOnly,this._upToYMatrix)}get inertialAlphaOffset(){if(0!==this._inertialAlphaOffset)return this._inertialAlphaOffset;if(0!==this.movement.rotationAccumulatedPixels.x)return this.movement.rotationAccumulatedPixels.x;let t=this.movement.rotationDeltaCurrentFrame.x;return Math.abs(t)<this._rotationEpsilon?0:t}set inertialAlphaOffset(t){this._inertialAlphaOffset=t,0===t&&this.movement.resetRotationVelocity()}get inertialBetaOffset(){if(0!==this._inertialBetaOffset)return this._inertialBetaOffset;if(0!==this.movement.rotationAccumulatedPixels.y)return this.movement.rotationAccumulatedPixels.y;let t=this.movement.rotationDeltaCurrentFrame.y;return Math.abs(t)<this._rotationEpsilon?0:t}set inertialBetaOffset(t){this._inertialBetaOffset=t,0===t&&this.movement.resetRotationVelocity()}get inertialRadiusOffset(){if(0!==this._inertialRadiusOffset)return this._inertialRadiusOffset;if(0!==this.movement.zoomAccumulatedPixels)return this.movement.zoomAccumulatedPixels;let t=this.movement.zoomDeltaCurrentFrame;return Math.abs(t)<this._rotationEpsilon?0:t}set inertialRadiusOffset(t){this._inertialRadiusOffset=t,0===t&&this.movement.resetZoomVelocity()}get panningInertia(){return this._panningInertia}set panningInertia(t){this._panningInertia=t,this.movement&&(this.movement.panInertia=t)}get inertia(){return this._inertia}set inertia(t){this._inertia=t,this.movement&&(this.movement.rotationInertia=t,this.movement.zoomInertia=t)}get angularSensibilityX(){let t=this.inputs.attached.pointers;return t?t.angularSensibilityX:0}set angularSensibilityX(t){let e=this.inputs.attached.pointers;e&&(e.angularSensibilityX=t)}get angularSensibilityY(){let t=this.inputs.attached.pointers;return t?t.angularSensibilityY:0}set angularSensibilityY(t){let e=this.inputs.attached.pointers;e&&(e.angularSensibilityY=t)}get pinchPrecision(){let t=this.inputs.attached.pointers;return t?t.pinchPrecision:0}set pinchPrecision(t){let e=this.inputs.attached.pointers;e&&(e.pinchPrecision=t)}get pinchDeltaPercentage(){let t=this.inputs.attached.pointers;return t?t.pinchDeltaPercentage:0}set pinchDeltaPercentage(t){let e=this.inputs.attached.pointers;e&&(e.pinchDeltaPercentage=t)}get useNaturalPinchZoom(){let t=this.inputs.attached.pointers;return!!t&&t.useNaturalPinchZoom}set useNaturalPinchZoom(t){let e=this.inputs.attached.pointers;e&&(e.useNaturalPinchZoom=t)}get panningSensibility(){let t=this.inputs.attached.pointers;return t?t.panningSensibility:0}set panningSensibility(t){let e=this.inputs.attached.pointers;e&&(e.panningSensibility=t)}get keysUp(){let t=this.inputs.attached.keyboard;return t?t.keysUp:[]}set keysUp(t){let e=this.inputs.attached.keyboard;e&&(e.keysUp=t)}get keysDown(){let t=this.inputs.attached.keyboard;return t?t.keysDown:[]}set keysDown(t){let e=this.inputs.attached.keyboard;e&&(e.keysDown=t)}get keysLeft(){let t=this.inputs.attached.keyboard;return t?t.keysLeft:[]}set keysLeft(t){let e=this.inputs.attached.keyboard;e&&(e.keysLeft=t)}get keysRight(){let t=this.inputs.attached.keyboard;return t?t.keysRight:[]}set keysRight(t){let e=this.inputs.attached.keyboard;e&&(e.keysRight=t)}get wheelPrecision(){let t=this.inputs.attached.mousewheel;return t?t.wheelPrecision:0}set wheelPrecision(t){let e=this.inputs.attached.mousewheel;e&&(e.wheelPrecision=t)}get zoomToMouseLocation(){let t=this.inputs.attached.mousewheel;return!!t&&t.zoomToMouseLocation}set zoomToMouseLocation(t){let e=this.inputs.attached.mousewheel;e&&(e.zoomToMouseLocation=t)}get wheelDeltaPercentage(){let t=this.inputs.attached.mousewheel;return t?t.wheelDeltaPercentage:0}set wheelDeltaPercentage(t){let e=this.inputs.attached.mousewheel;e&&(e.wheelDeltaPercentage=t)}get _useCtrlForPanning(){return this._useCtrlForPanningInternal}set _useCtrlForPanning(t){this._useCtrlForPanningInternal=t;let e=this.movement.input,i=e.getEntry("keyboard","pan",{modifiers:{ctrl:!0}});!t&&i?e.inputMap.splice(e.inputMap.indexOf(i),1):t&&!i&&e.addEntry({source:"keyboard",modifiers:{ctrl:!0},interaction:"pan"});let a=e.getEntry("pointer","pan",{modifiers:{ctrl:!0}});!t&&a?e.inputMap.splice(e.inputMap.indexOf(a),1):t&&!a&&e.addEntry({source:"pointer",button:0,modifiers:{ctrl:!0},interaction:"pan"})}get _panningMouseButton(){return this._panningMouseButtonInternal}set _panningMouseButton(t){this._panningMouseButtonInternal=t;let e=this.movement.input.getEntry("pointer","pan",{modifiers:{}});e&&(e.button=t)}get isInterpolating(){return this._isInterpolating}get bouncingBehavior(){return this._bouncingBehavior}get useBouncingBehavior(){return null!=this._bouncingBehavior}set useBouncingBehavior(t){t!==this.useBouncingBehavior&&(t?(this._bouncingBehavior=new g,this.addBehavior(this._bouncingBehavior)):this._bouncingBehavior&&(this.removeBehavior(this._bouncingBehavior),this._bouncingBehavior=null))}get framingBehavior(){return this._framingBehavior}get useFramingBehavior(){return null!=this._framingBehavior}set useFramingBehavior(t){t!==this.useFramingBehavior&&(t?(this._framingBehavior=new f,this.addBehavior(this._framingBehavior)):this._framingBehavior&&(this.removeBehavior(this._framingBehavior),this._framingBehavior=null))}get autoRotationBehavior(){return this._autoRotationBehavior}get useAutoRotationBehavior(){return null!=this._autoRotationBehavior}set useAutoRotationBehavior(t){t!==this.useAutoRotationBehavior&&(t?(this._autoRotationBehavior=new p,this.addBehavior(this._autoRotationBehavior)):this._autoRotationBehavior&&(this.removeBehavior(this._autoRotationBehavior),this._autoRotationBehavior=null))}constructor(t,e,i,a,s,r,h=!0){super(t,o.Vector3.Zero(),r,h),this._inertialAlphaOffset=0,this._inertialBetaOffset=0,this._inertialRadiusOffset=0,this.lowerAlphaLimit=null,this.upperAlphaLimit=null,this.lowerBetaLimit=.01,this.upperBetaLimit=Math.PI-.01,this.lowerRadiusLimit=null,this.upperRadiusLimit=null,this.lowerTargetYLimit=-1/0,this.inertialPanningX=0,this.inertialPanningY=0,this.pinchToPanMaxDistance=20,this.panningDistanceLimit=null,this.panningOriginTarget=o.Vector3.Zero(),this._panningInertia=.9,this._inertia=.9,this.zoomOnFactor=1,this.targetScreenOffset=o.Vector2.Zero(),this.allowUpsideDown=!0,this.useInputToRestoreState=!0,this.restoreStateInterpolationFactor=0,this._currentInterpolationFactor=0,this._viewMatrix=new o.Matrix,this._useCtrlForPanningInternal=!0,this._panningMouseButtonInternal=2,this.panningAxis=new o.Vector3(1,1,0),this._transformedDirection=new o.Vector3,this.mapPanning=!1,this._isInterpolating=!1,this.onMeshTargetChangedObservable=new n.Observable,this.checkCollisions=!1,this.collisionRadius=new o.Vector3(.5,.5,.5),this._previousPosition=o.Vector3.Zero(),this._collisionVelocity=o.Vector3.Zero(),this._newPosition=o.Vector3.Zero(),this._computationVector=o.Vector3.Zero(),this._goalAlpha=NaN,this._goalBeta=NaN,this._goalRadius=NaN,this._goalTarget=new o.Vector3(NaN,NaN,NaN),this._goalTargetScreenOffset=new o.Vector2(NaN,NaN),this._onCollisionPositionChange=(t,e,i=null)=>{i?(this.setPosition(e),this.onCollide&&this.onCollide(i)):this._previousPosition.copyFrom(this._position);let a=Math.cos(this.alpha),s=Math.sin(this.alpha),n=Math.cos(this.beta),o=Math.sin(this.beta);0===o&&(o=1e-4);let r=this._getTargetPosition();this._computationVector.copyFromFloats(this.radius*a*o,this.radius*n,this.radius*s*o),r.addToRef(this._computationVector,this._newPosition),this._position.copyFrom(this._newPosition);let h=this.upVector;this.allowUpsideDown&&this.beta<0&&(h=(h=h.clone()).negate()),this._computeViewMatrix(this._position,r,h),this._viewMatrix.addAtIndex(12,this.targetScreenOffset.x),this._viewMatrix.addAtIndex(13,this.targetScreenOffset.y),this._collisionTriggered=!1},this._target=o.Vector3.Zero(),s&&this.setTarget(s),this.alpha=e,this.beta=i,this.radius=a,this.getViewMatrix(),this.inputs=new x(this),this.inputs.addKeyboard().addMouseWheel().addPointers(),this.movement=new k(this.getScene(),this._position),this.movement.rotationInertia=this._inertia,this.movement.zoomInertia=this._inertia,this.movement.panInertia=this._panningInertia}_initCache(){super._initCache(),this._cache._target=new o.Vector3(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),this._cache.alpha=void 0,this._cache.beta=void 0,this._cache.radius=void 0,this._cache.targetScreenOffset=o.Vector2.Zero()}_updateCache(t){t||super._updateCache(),this._cache._target.copyFrom(this._getTargetPosition()),this._cache.alpha=this.alpha,this._cache.beta=this.beta,this._cache.radius=this.radius,this._cache.targetScreenOffset.copyFrom(this.targetScreenOffset)}_getTargetPosition(){if(this._targetHost&&this._targetHost.getAbsolutePosition){let t=this._targetHost.getAbsolutePosition();this._targetBoundingCenter?t.addToRef(this._targetBoundingCenter,this._target):this._target.copyFrom(t)}let t=this._getLockedTargetPosition();return t||this._target}storeState(){return this._storedAlpha=this.alpha,this._storedBeta=this.beta,this._storedRadius=this.radius,this._storedTarget=this._getTargetPosition().clone(),this._storedTargetScreenOffset=this.targetScreenOffset.clone(),super.storeState()}_restoreStateValues(){return this.hasStateStored()&&this.restoreStateInterpolationFactor>_.Epsilon&&this.restoreStateInterpolationFactor<1?(this.interpolateTo(this._storedAlpha,this._storedBeta,this._storedRadius,this._storedTarget,this._storedTargetScreenOffset,this.restoreStateInterpolationFactor),!0):!!super._restoreStateValues()&&(this.setTarget(this._storedTarget.clone()),this.alpha=this._storedAlpha,this.beta=this._storedBeta,this.radius=this._storedRadius,this.targetScreenOffset=this._storedTargetScreenOffset.clone(),this.inertialAlphaOffset=0,this.inertialBetaOffset=0,this.inertialRadiusOffset=0,this.inertialPanningX=0,this.inertialPanningY=0,!0)}stopInterpolation(){this._goalAlpha=NaN,this._goalBeta=NaN,this._goalRadius=NaN,this._goalTarget.set(NaN,NaN,NaN),this._goalTargetScreenOffset.set(NaN,NaN)}interpolateTo(t=this.alpha,e=this.beta,i=this.radius,a=this.target,s=this.targetScreenOffset,n){this.inertialAlphaOffset=0,this.inertialBetaOffset=0,this.inertialRadiusOffset=0,this.inertialPanningX=0,this.inertialPanningY=0,null!=n?this._currentInterpolationFactor=n:0!==this.restoreStateInterpolationFactor?this._currentInterpolationFactor=this.restoreStateInterpolationFactor:this._currentInterpolationFactor=.1,this._goalAlpha=V(t,this._goalAlpha),this._goalBeta=V(e,this._goalBeta),this._goalRadius=V(i,this._goalRadius),this._goalTarget.set(V(a.x,this._goalTarget.x),V(a.y,this._goalTarget.y),V(a.z,this._goalTarget.z)),this._goalTargetScreenOffset.set(V(s.x,this._goalTargetScreenOffset.x),V(s.y,this._goalTargetScreenOffset.y)),this._goalAlpha=(0,r.Clamp)(this._goalAlpha,this.lowerAlphaLimit??-1/0,this.upperAlphaLimit??1/0),this._goalBeta=(0,r.Clamp)(this._goalBeta,this.lowerBetaLimit??-1/0,this.upperBetaLimit??1/0),this._goalRadius=(0,r.Clamp)(this._goalRadius,this.lowerRadiusLimit??-1/0,this.upperRadiusLimit??1/0),this._goalTarget.y=(0,r.Clamp)(this._goalTarget.y,this.lowerTargetYLimit??-1/0,1/0),this._isInterpolating=!0}_isSynchronizedViewMatrix(){return!!super._isSynchronizedViewMatrix()&&this._cache._target.equals(this._getTargetPosition())&&this._cache.alpha===this.alpha&&this._cache.beta===this.beta&&this._cache.radius===this.radius&&this._cache.targetScreenOffset.equals(this.targetScreenOffset)}attachControl(t,e,i=!0,a=2){let s=arguments;e=b.Tools.BackCompatCameraNoPreventDefault(s),this._useCtrlForPanning=i,this._panningMouseButton=a,"boolean"==typeof s[0]&&(s.length>1&&(this._useCtrlForPanning=s[1]),s.length>2&&(this._panningMouseButton=s[2])),this.inputs.attachElement(e),this._reset=()=>{this.inertialAlphaOffset=0,this.inertialBetaOffset=0,this.inertialRadiusOffset=0,this.inertialPanningX=0,this.inertialPanningY=0}}detachControl(){this.inputs.detachElement(),this._reset&&this._reset()}_applyRotationAndZoomDelta(t,e,i){let a=this.invertRotation?-1:1,s=t*this._calculateHandednessMultiplier();this.beta<0&&(s*=-1),this.alpha+=s*a,this.beta+=e*a,this.radius-=i}_applyPanDelta(t,e){let i=o.TmpVectors.Vector3[0].copyFromFloats(t,e,e);if(this._viewMatrix.invertToRef(this._cameraTransformMatrix),i.multiplyInPlace(this.panningAxis),o.Vector3.TransformNormalToRef(i,this._cameraTransformMatrix,this._transformedDirection),this.mapPanning){let t=this.upVector,e=o.Vector3.CrossToRef(this._transformedDirection,t,this._transformedDirection);o.Vector3.CrossToRef(t,e,this._transformedDirection)}else this.panningAxis.y||(this._transformedDirection.y=0);if(!this._targetHost)if(this.panningDistanceLimit)this._transformedDirection.addInPlace(this._target),o.Vector3.DistanceSquared(this._transformedDirection,this.panningOriginTarget)<=this.panningDistanceLimit*this.panningDistanceLimit&&this._target.copyFrom(this._transformedDirection);else{if(this.parent){let t=o.TmpVectors.Matrix[0];this.parent.getWorldMatrix().getRotationMatrixToRef(t),t.transposeToRef(t),o.Vector3.TransformCoordinatesToRef(this._transformedDirection,t,this._transformedDirection)}this._target.addInPlace(this._transformedDirection)}}_checkInputs(){if(this._collisionTriggered)return;this.inputs.checkInputs();let t=!1;this.movement.computeCurrentFrameDeltas();let e=this.movement.rotationDeltaCurrentFrame,i=this.movement.zoomDeltaCurrentFrame,a=this.movement.panDeltaCurrentFrame;if((0!==e.x||0!==e.y||0!==i||0!==a.x||0!==a.y)&&(t=!0,(0!==e.x||0!==e.y||0!==i)&&this._applyRotationAndZoomDelta(e.x,e.y,i),(0!==a.x||0!==a.y)&&this._applyPanDelta(a.x,a.y)),(0!==this._inertialAlphaOffset||0!==this._inertialBetaOffset||0!==this._inertialRadiusOffset)&&(this._applyRotationAndZoomDelta(this._inertialAlphaOffset,this._inertialBetaOffset,this._inertialRadiusOffset),this._inertialAlphaOffset*=this.inertia,this._inertialBetaOffset*=this.inertia,this._inertialRadiusOffset*=this.inertia,Math.abs(this._inertialAlphaOffset)<this._rotationEpsilon&&(this._inertialAlphaOffset=0),Math.abs(this._inertialBetaOffset)<this._rotationEpsilon&&(this._inertialBetaOffset=0),Math.abs(this._inertialRadiusOffset)<this._rotationEpsilon&&(this._inertialRadiusOffset=0),t=!0),0!==this.inertialPanningX||0!==this.inertialPanningY){this._applyPanDelta(this.inertialPanningX,this.inertialPanningY),this.inertialPanningX*=this.panningInertia,this.inertialPanningY*=this.panningInertia;let e=this._panningEpsilon;Math.abs(this.inertialPanningX)<e&&(this.inertialPanningX=0),Math.abs(this.inertialPanningY)<e&&(this.inertialPanningY=0),t=!0}if(t)this.stopInterpolation();else if(this._isInterpolating){let t=!1,e=1-Math.pow(2,-(this._scene.getEngine().getDeltaTime()/1e3)/this._currentInterpolationFactor),i=V(this._goalRadius,this.radius);if(!isNaN(this._goalTarget.x)||!isNaN(this._goalTarget.y)||!isNaN(this._goalTarget.z)){let a=o.TmpVectors.Vector3[0].set(V(this._goalTarget.x,this._target.x),V(this._goalTarget.y,this._target.y),V(this._goalTarget.z,this._target.z));o.Vector3.LerpToRef(this.target,a,e,this._target),10*o.Vector3.Distance(this.target,a)/i<_.Epsilon?(this._goalTarget.set(NaN,NaN,NaN),this.target.copyFrom(a),this.setTarget(this.target,!1,!0,!0)):t=!0}if(!isNaN(this._goalAlpha)||!isNaN(this._goalBeta)){let i=o.Quaternion.RotationAlphaBetaGammaToRef(V(this._goalAlpha,this.alpha),V(this._goalBeta,this.beta),0,o.TmpVectors.Quaternion[0]),a=o.Quaternion.RotationAlphaBetaGammaToRef(this.alpha,this.beta,0,o.TmpVectors.Quaternion[1]),s=o.Quaternion.SlerpToRef(a,i,e,o.TmpVectors.Quaternion[2]);s.normalize();let n=s.toAlphaBetaGammaToRef(o.TmpVectors.Vector3[0]);if(this.alpha=n.x,this.beta=n.y,s.isApprox(i,_.Epsilon/5)){this._goalAlpha=NaN,this._goalBeta=NaN;let t=i.toAlphaBetaGammaToRef(o.TmpVectors.Vector3[0]);this.alpha=t.x,this.beta=t.y}else t=!0}if(isNaN(this._goalRadius)||(this.radius+=(i-this.radius)*e,Math.abs(i/this.radius-1)<_.Epsilon?(this._goalRadius=NaN,this.radius=i):t=!0),!isNaN(this._goalTargetScreenOffset.x)||!isNaN(this._goalTargetScreenOffset.y)){let i=o.TmpVectors.Vector2[0].set(V(this._goalTargetScreenOffset.x,this.targetScreenOffset.x),V(this._goalTargetScreenOffset.y,this.targetScreenOffset.y));o.Vector2.LerpToRef(this.targetScreenOffset,i,e,this.targetScreenOffset),o.Vector2.Distance(this.targetScreenOffset,i)<_.Epsilon?(this._goalTargetScreenOffset.set(NaN,NaN),this.targetScreenOffset.copyFrom(i)):t=!0}this._isInterpolating=t}this._checkLimits(),super._checkInputs()}_checkLimits(){null===this.lowerBetaLimit||void 0===this.lowerBetaLimit?this.allowUpsideDown&&this.beta>Math.PI&&(this.beta=this.beta-2*Math.PI):this.beta<this.lowerBetaLimit&&(this.beta=this.lowerBetaLimit),null===this.upperBetaLimit||void 0===this.upperBetaLimit?this.allowUpsideDown&&this.beta<-Math.PI&&(this.beta=this.beta+2*Math.PI):this.beta>this.upperBetaLimit&&(this.beta=this.upperBetaLimit),null!==this.lowerAlphaLimit&&this.alpha<this.lowerAlphaLimit&&(this.alpha=this.lowerAlphaLimit),null!==this.upperAlphaLimit&&this.alpha>this.upperAlphaLimit&&(this.alpha=this.upperAlphaLimit),null!==this.lowerRadiusLimit&&this.radius<this.lowerRadiusLimit&&(this.radius=this.lowerRadiusLimit,this.inertialRadiusOffset=0),null!==this.upperRadiusLimit&&this.radius>this.upperRadiusLimit&&(this.radius=this.upperRadiusLimit,this.inertialRadiusOffset=0),this.target.y=Math.max(this.target.y,this.lowerTargetYLimit)}rebuildAnglesAndRadius(){this._position.subtractToRef(this._getTargetPosition(),this._computationVector),(0!==this._upVector.x||1!==this._upVector.y||0!==this._upVector.z)&&o.Vector3.TransformCoordinatesToRef(this._computationVector,this._upToYMatrix,this._computationVector),this.radius=this._computationVector.length(),0===this.radius&&(this.radius=1e-4);let t=this.alpha;this.alpha=N(this._computationVector),this.beta=z(this._computationVector.y,this.radius);let e=Math.round((t-this.alpha)/(2*Math.PI));this.alpha+=2*e*Math.PI,this._checkLimits()}setPosition(t){this._position.equals(t)||(this._position.copyFrom(t),this.rebuildAnglesAndRadius())}setTarget(t,e=!1,i=!1,a=!1){if(a=this.overrideCloneAlphaBetaRadius??a,t.computeWorldMatrix)e&&t.getBoundingInfo?this._targetBoundingCenter=t.getBoundingInfo().boundingBox.centerWorld.clone():this._targetBoundingCenter=null,t.computeWorldMatrix(),this._targetHost=t,this._target=this._getTargetPosition(),this.onMeshTargetChangedObservable.notifyObservers(this._targetHost);else{let e=this._getTargetPosition();if(e&&!i&&e.equals(t))return;this._targetHost=null,this._target=t,this._targetBoundingCenter=null,this.onMeshTargetChangedObservable.notifyObservers(null)}a||this.rebuildAnglesAndRadius()}_getViewMatrix(){let t=Math.cos(this.alpha),e=Math.sin(this.alpha),i=Math.cos(this.beta),a=Math.sin(this.beta);0===a&&(a=1e-4),0===this.radius&&(this.radius=1e-4);let s=this._getTargetPosition();if(this._computationVector.copyFromFloats(this.radius*t*a,this.radius*i,this.radius*e*a),(0!==this._upVector.x||1!==this._upVector.y||0!==this._upVector.z)&&o.Vector3.TransformCoordinatesToRef(this._computationVector,this._yToUpMatrix,this._computationVector),s.addToRef(this._computationVector,this._newPosition),this.getScene().collisionsEnabled&&this.checkCollisions){let t=this.getScene().collisionCoordinator;this._collider||(this._collider=t.createCollider()),this._collider._radius=this.collisionRadius,this._newPosition.subtractToRef(this._position,this._collisionVelocity),this._collisionTriggered=!0,t.getNewPosition(this._position,this._collisionVelocity,this._collider,3,null,this._onCollisionPositionChange,this.uniqueId)}else{this._position.copyFrom(this._newPosition);let t=this.upVector;this.allowUpsideDown&&a<0&&(t=t.negate()),this._computeViewMatrix(this._position,s,t),this._viewMatrix.addAtIndex(12,this.targetScreenOffset.x),this._viewMatrix.addAtIndex(13,this.targetScreenOffset.y)}return this._currentTarget.copyFrom(s),this._viewMatrix}zoomOn(t,e=!1){t=t||this.getScene().meshes;let i=l.Mesh.MinMax(t),a=this._calculateLowerRadiusFromModelBoundingSphere(i.min,i.max);if(a=Math.max(Math.min(a,this.upperRadiusLimit||Number.MAX_VALUE),this.lowerRadiusLimit||0),this.radius=a*this.zoomOnFactor,this.mode===y.Camera.ORTHOGRAPHIC_CAMERA){let t=this.getScene().getEngine().getAspectRatio(this),e=a*this.zoomOnFactor/2;this.orthoLeft=-e*t,this.orthoRight=e*t,this.orthoBottom=-e,this.orthoTop=e}this.focusOn({min:i.min,max:i.max,distance:a},e)}focusOn(t,e=!1){let i,a;if(void 0===t.min){let e=t||this.getScene().meshes;i=l.Mesh.MinMax(e),a=o.Vector3.Distance(i.min,i.max)}else i=t,a=t.distance;this._target=l.Mesh.Center(i),e||(this.maxZ=2*a)}createRigCamera(t,e){let i=0;switch(this.cameraRigMode){case y.Camera.RIG_MODE_STEREOSCOPIC_ANAGLYPH:case y.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL:case y.Camera.RIG_MODE_STEREOSCOPIC_OVERUNDER:case y.Camera.RIG_MODE_STEREOSCOPIC_INTERLACED:case y.Camera.RIG_MODE_VR:i=this._cameraRigParams.stereoHalfAngle*(0===e?1:-1);break;case y.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED:i=this._cameraRigParams.stereoHalfAngle*(0===e?-1:1)}let a=new F(t,this.alpha+i,this.beta,this.radius,this._target,this.getScene());return a._cameraRigParams={},a.isRigCamera=!0,a.rigParent=this,a.upVector=this.upVector,a.mode=this.mode,a.orthoLeft=this.orthoLeft,a.orthoRight=this.orthoRight,a.orthoBottom=this.orthoBottom,a.orthoTop=this.orthoTop,a}_updateRigCameras(){let t=this._rigCameras[0],e=this._rigCameras[1];switch(t.beta=e.beta=this.beta,this.cameraRigMode){case y.Camera.RIG_MODE_STEREOSCOPIC_ANAGLYPH:case y.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL:case y.Camera.RIG_MODE_STEREOSCOPIC_OVERUNDER:case y.Camera.RIG_MODE_STEREOSCOPIC_INTERLACED:case y.Camera.RIG_MODE_VR:t.alpha=this.alpha-this._cameraRigParams.stereoHalfAngle,e.alpha=this.alpha+this._cameraRigParams.stereoHalfAngle;break;case y.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED:t.alpha=this.alpha+this._cameraRigParams.stereoHalfAngle,e.alpha=this.alpha-this._cameraRigParams.stereoHalfAngle}super._updateRigCameras()}_calculateLowerRadiusFromModelBoundingSphere(t,e,i=1){let a=o.Vector3.Distance(t,e),s=this.getScene().getEngine().getAspectRatio(this),n=Math.tan(this.fov/2),r=n*s,h=.5*a*i;return Math.max(h*Math.sqrt(1+1/(r*r)),h*Math.sqrt(1+1/(n*n)))}dispose(){this.inputs.clear(),super.dispose()}getClassName(){return"ArcRotateCamera"}}(0,a.__decorate)([(0,s.serialize)()],F.prototype,"alpha",void 0),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"beta",void 0),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"radius",void 0),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"overrideCloneAlphaBetaRadius",void 0),(0,a.__decorate)([(0,s.serializeAsVector3)("target")],F.prototype,"_target",void 0),(0,a.__decorate)([(0,s.serializeAsMeshReference)("targetHost")],F.prototype,"_targetHost",void 0),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"inertialAlphaOffset",null),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"inertialBetaOffset",null),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"inertialRadiusOffset",null),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"lowerAlphaLimit",void 0),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"upperAlphaLimit",void 0),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"lowerBetaLimit",void 0),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"upperBetaLimit",void 0),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"lowerRadiusLimit",void 0),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"upperRadiusLimit",void 0),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"lowerTargetYLimit",void 0),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"inertialPanningX",void 0),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"inertialPanningY",void 0),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"pinchToPanMaxDistance",void 0),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"panningDistanceLimit",void 0),(0,a.__decorate)([(0,s.serializeAsVector3)()],F.prototype,"panningOriginTarget",void 0),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"panningInertia",null),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"zoomToMouseLocation",null),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"zoomOnFactor",void 0),(0,a.__decorate)([(0,s.serializeAsVector2)()],F.prototype,"targetScreenOffset",void 0),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"allowUpsideDown",void 0),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"useInputToRestoreState",void 0),(0,a.__decorate)([(0,s.serialize)()],F.prototype,"restoreStateInterpolationFactor",void 0);let Z=!1;function U(){Z||(Z=!0,h.Node.AddNodeConstructor("ArcRotateCamera",(t,e)=>()=>new F(t,0,0,1,o.Vector3.Zero(),e)),(0,w.RegisterClass)("BABYLON.ArcRotateCamera",F))}t.s(["ArcRotateCamera",0,F,"ComputeAlpha",0,N,"ComputeBeta",0,z,"RegisterArcRotateCamera",0,U],6879),U(),t.s([],26373),t.i(26373),t.i(6879),t.s(["ArcRotateCamera",0,F,"ComputeAlpha",0,N,"ComputeBeta",0,z,"RegisterArcRotateCamera",0,U],50734)}]);
|
|
@@ -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])},58910,t=>{"use strict";var e,s,a,i,r=t.i(95410);(e=a||(a={}))[e.LOCAL=0]="LOCAL",e[e.WORLD=1]="WORLD",e[e.BONE=2]="BONE";class n{}n.X=new r.Vector3(1,0,0),n.Y=new r.Vector3(0,1,0),n.Z=new r.Vector3(0,0,1),(s=i||(i={}))[s.X=0]="X",s[s.Y=1]="Y",s[s.Z=2]="Z",t.s(["Axis",0,n,"Coordinate",0,i,"Space",0,a])},70432,t=>{"use strict";class e{constructor(t){this.length=0,this.data=Array(t),this._id=e._GlobalId++}push(t){this.data[this.length++]=t,this.length>this.data.length&&(this.data.length*=2)}forEach(t){for(let e=0;e<this.length;e++)t(this.data[e])}sort(t){this.data.sort(t)}reset(){this.length=0}dispose(){this.reset(),this.data&&(this.data.length=0)}concat(t){if(0!==t.length){this.length+t.length>this.data.length&&(this.data.length=(this.length+t.length)*2);for(let e=0;e<t.length;e++)this.data[this.length++]=(t.data||t)[e]}}indexOf(t){let e=this.data.indexOf(t);return e>=this.length?-1:e}contains(t){return -1!==this.indexOf(t)}}e._GlobalId=0,t.s(["SmartArray",0,e,"SmartArrayNoDuplicate",0,class extends e{constructor(){super(...arguments),this._duplicateId=0}push(t){super.push(t),t.__smartArrayFlags||(t.__smartArrayFlags={}),t.__smartArrayFlags[this._id]=this._duplicateId}pushNoDuplicate(t){return(!t.__smartArrayFlags||t.__smartArrayFlags[this._id]!==this._duplicateId)&&(this.push(t),!0)}reset(){super.reset(),this._duplicateId++}concatWithNoDuplicate(t){if(0!==t.length){this.length+t.length>this.data.length&&(this.data.length=(this.length+t.length)*2);for(let e=0;e<t.length;e++){let s=(t.data||t)[e];this.pushNoDuplicate(s)}}}}])},46833,t=>{"use strict";var e=t.i(47997);class s{static GetPlanes(t){let a=[];for(let t=0;t<6;t++)a.push(new e.Plane(0,0,0,0));return s.GetPlanesToRef(t,a),a}static GetNearPlaneToRef(t,e){let s=t.m;e.normal.x=s[3]+s[2],e.normal.y=s[7]+s[6],e.normal.z=s[11]+s[10],e.d=s[15]+s[14],e.normalize()}static GetFarPlaneToRef(t,e){let s=t.m;e.normal.x=s[3]-s[2],e.normal.y=s[7]-s[6],e.normal.z=s[11]-s[10],e.d=s[15]-s[14],e.normalize()}static GetLeftPlaneToRef(t,e){let s=t.m;e.normal.x=s[3]+s[0],e.normal.y=s[7]+s[4],e.normal.z=s[11]+s[8],e.d=s[15]+s[12],e.normalize()}static GetRightPlaneToRef(t,e){let s=t.m;e.normal.x=s[3]-s[0],e.normal.y=s[7]-s[4],e.normal.z=s[11]-s[8],e.d=s[15]-s[12],e.normalize()}static GetTopPlaneToRef(t,e){let s=t.m;e.normal.x=s[3]-s[1],e.normal.y=s[7]-s[5],e.normal.z=s[11]-s[9],e.d=s[15]-s[13],e.normalize()}static GetBottomPlaneToRef(t,e){let s=t.m;e.normal.x=s[3]+s[1],e.normal.y=s[7]+s[5],e.normal.z=s[11]+s[9],e.d=s[15]+s[13],e.normalize()}static GetPlanesToRef(t,e){s.GetNearPlaneToRef(t,e[0]),s.GetFarPlaneToRef(t,e[1]),s.GetLeftPlaneToRef(t,e[2]),s.GetRightPlaneToRef(t,e[3]),s.GetTopPlaneToRef(t,e[4]),s.GetBottomPlaneToRef(t,e[5])}static IsPointInFrustum(t,e){for(let s=0;s<6;s++)if(0>e[s].dotCoordinate(t))return!1;return!0}}t.s(["Frustum",0,s])},95801,t=>{"use strict";var e=t.i(95410);class s{}s.POINTERDOWN=1,s.POINTERUP=2,s.POINTERMOVE=4,s.POINTERWHEEL=8,s.POINTERPICK=16,s.POINTERTAP=32,s.POINTERDOUBLETAP=64;class a{constructor(t,e){this.type=t,this.event=e}}t.s(["PointerEventTypes",0,s,"PointerInfo",0,class extends a{get pickInfo(){return this._pickInfo||this._generatePickInfo(),this._pickInfo}constructor(t,e,s,a=null){super(t,e),this._pickInfo=s,this._inputManager=a}_generatePickInfo(){this._inputManager&&(this._pickInfo=this._inputManager._pickMove(this.event),this._inputManager._setRayOnPointerInfo(this._pickInfo,this.event),this._inputManager=null)}},"PointerInfoPre",0,class extends a{constructor(t,s,a,i){super(t,s),this.ray=null,this.originalPickingInfo=null,this.skipOnPointerObservable=!1,this.localPosition=new e.Vector2(a,i)}}])},35705,t=>{"use strict";class e{}e.KEYDOWN=1,e.KEYUP=2;class s{constructor(t,e){this.type=t,this.event=e}}t.s(["KeyboardEventTypes",0,e,"KeyboardInfo",0,s,"KeyboardInfoPre",0,class extends s{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,s;(s=e||(e={}))[s.PointerMove=0]="PointerMove",s[s.PointerDown=1]="PointerDown",s[s.PointerUp=2]="PointerUp";class a{}a.DOM_DELTA_PIXEL=0,a.DOM_DELTA_LINE=1,a.DOM_DELTA_PAGE=2,t.s(["EventConstants",0,a])},87409,t=>{"use strict";class e{constructor(t,e,s,a){this.x=t,this.y=e,this.width=s,this.height=a}toGlobal(t,s){return new e(this.x*t,this.y*s,this.width*t,this.height*s)}toGlobalToRef(t,e,s){return s.x=this.x*t,s.y=this.y*e,s.width=this.width*t,s.height=this.height*e,this}clone(){return new e(this.x,this.y,this.width,this.height)}}t.s(["Viewport",0,e])},67049,t=>{"use strict";var e=t.i(27030);class s extends e.FreeCamera{get touchAngularSensibility(){let t=this.inputs.attached.touch;return t?t.touchAngularSensibility:0}set touchAngularSensibility(t){let e=this.inputs.attached.touch;e&&(e.touchAngularSensibility=t)}get touchMoveSensibility(){let t=this.inputs.attached.touch;return t?t.touchMoveSensibility:0}set touchMoveSensibility(t){let e=this.inputs.attached.touch;e&&(e.touchMoveSensibility=t)}constructor(t,e,s){super(t,e,s),this.inputs.addTouch(),this._setupInputs()}getClassName(){return"TouchCamera"}_setupInputs(){let t=this.inputs.attached.touch,e=this.inputs.attached.mouse;e?e.touchEnabled=!t:t&&(t.allowMouse=!e)}}var a=t.i(95410),i=t.i(18418),r=t.i(95603);class n extends s{get gamepadAngularSensibility(){let t=this.inputs.attached.gamepad;return t?t.gamepadAngularSensibility:0}set gamepadAngularSensibility(t){let e=this.inputs.attached.gamepad;e&&(e.gamepadAngularSensibility=t)}get gamepadMoveSensibility(){let t=this.inputs.attached.gamepad;return t?t.gamepadMoveSensibility:0}set gamepadMoveSensibility(t){let e=this.inputs.attached.gamepad;e&&(e.gamepadMoveSensibility=t)}constructor(t,e,s){super(t,e,s),this.inputs.addGamepad()}getClassName(){return"UniversalCamera"}}let o=!1;function h(){o||(o=!0,i.Node.AddNodeConstructor("FreeCamera",(t,e)=>()=>new n(t,a.Vector3.Zero(),e)),r.Camera._CreateDefaultParsedCamera=(t,e)=>new n(t,a.Vector3.Zero(),e))}t.s(["RegisterUniversalCamera",0,h,"UniversalCamera",0,n],33048),h(),t.s([],65401),t.i(65401),t.i(33048),t.s(["RegisterUniversalCamera",0,h,"UniversalCamera",0,n],67049)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,17766,87452,e=>{"use strict";var t=e.i(45707),s=e.i(90176);e.s(["PostProcessManager",0,class{constructor(e){this._vertexBuffers={},this._activePostProcesses=[],this.onBeforeRenderObservable=new s.Observable,this._scene=e}_prepareBuffers(){if(this._vertexBuffers[t.VertexBuffer.PositionKind])return;let e=[];e.push(1,1),e.push(-1,1),e.push(-1,-1),e.push(1,-1),this._vertexBuffers[t.VertexBuffer.PositionKind]=new t.VertexBuffer(this._scene.getEngine(),e,t.VertexBuffer.PositionKind,!1,!1,2),this._buildIndexBuffer()}_buildIndexBuffer(){let e=[];e.push(0),e.push(1),e.push(2),e.push(0),e.push(2),e.push(3),this._indexBuffer=this._scene.getEngine().createIndexBuffer(e)}_getActivePostProcesses(e){let t=this._activePostProcesses;t.length=0;for(let s=0;s<e.length;s++){let r=e[s];r&&t.push(r)}return t}_rebuild(){let e=this._vertexBuffers[t.VertexBuffer.PositionKind];e&&(e._rebuild(),this._buildIndexBuffer())}_prepareFrame(e=null,t=null){let s=this._scene.activeCamera;return!!s&&!!(t=t||this._getActivePostProcesses(s._postProcesses))&&0!==t.length&&!!this._scene.postProcessesEnabled&&(t[0].activate(s,e,null!=t),!0)}directRender(e,t=null,s=!1,r=0,i=0,n=!1,a=e.length){let h=this._scene.getEngine();for(let o=0;o<a;o++){o<e.length-1?e[o+1].activate(this._scene.activeCamera||this._scene,t?.texture):(t?h.bindFramebuffer(t,r,void 0,void 0,s,i):n||h.restoreDefaultFramebuffer(),h._debugInsertMarker?.(`post process ${e[o].name} output`));let a=e[o],l=a.apply();l&&(a.onBeforeRenderObservable.notifyObservers(l),this._prepareBuffers(),h.bindBuffers(this._vertexBuffers,this._indexBuffer,l),h.drawElementsType(0,0,6),a.onAfterRenderObservable.notifyObservers(l))}h.setDepthBuffer(!0),h.setDepthWrite(!0)}_finalizeFrame(e,t,s,r,i=!1){let n=this._scene.activeCamera;if(!n||(this.onBeforeRenderObservable.notifyObservers(this),0===(r=r||this._getActivePostProcesses(n._postProcesses)).length||!this._scene.postProcessesEnabled))return;let a=this._scene.getEngine();for(let h=0,o=r.length;h<o;h++){let l=r[h];if(h<o-1?l._outputTexture=r[h+1].activate(n,t?.texture):(t?(a.bindFramebuffer(t,s,void 0,void 0,i),l._outputTexture=t):(a.restoreDefaultFramebuffer(),l._outputTexture=null),a._debugInsertMarker?.(`post process ${r[h].name} output`)),e)break;let c=l.apply();c&&(l.onBeforeRenderObservable.notifyObservers(c),this._prepareBuffers(),a.bindBuffers(this._vertexBuffers,this._indexBuffer,c),a.drawElementsType(0,0,6),l.onAfterRenderObservable.notifyObservers(c))}a.setDepthBuffer(!0),a.setDepthWrite(!0),a.setAlphaMode(0)}dispose(){let e=this._vertexBuffers[t.VertexBuffer.PositionKind];e&&(e.dispose(),this._vertexBuffers[t.VertexBuffer.PositionKind]=null),this._indexBuffer&&(this._scene.getEngine()._releaseBuffer(this._indexBuffer),this._indexBuffer=null)}}],17766);var r=e.i(70432),i=e.i(95410);class n{set opaqueSortCompareFn(e){e?this._opaqueSortCompareFn=e:this._opaqueSortCompareFn=n.PainterSortCompare,this._renderOpaque=this._renderOpaqueSorted}set alphaTestSortCompareFn(e){e?this._alphaTestSortCompareFn=e:this._alphaTestSortCompareFn=n.PainterSortCompare,this._renderAlphaTest=this._renderAlphaTestSorted}set transparentSortCompareFn(e){e?this._transparentSortCompareFn=e:this._transparentSortCompareFn=n.defaultTransparentSortCompare,this._renderTransparent=this._renderTransparentSorted}constructor(e,t,s=null,i=null,n=null){this.index=e,this._opaqueSubMeshes=new r.SmartArray(256),this._transparentSubMeshes=new r.SmartArray(256),this._alphaTestSubMeshes=new r.SmartArray(256),this._depthOnlySubMeshes=new r.SmartArray(256),this._particleSystems=new r.SmartArray(256),this._spriteManagers=new r.SmartArray(256),this._empty=!0,this._edgesRenderers=new r.SmartArrayNoDuplicate(16),this.disableDepthPrePass=!1,this._scene=t,this.opaqueSortCompareFn=s,this.alphaTestSortCompareFn=i,this.transparentSortCompareFn=n}render(e,t,s,r,i=!0,n=!0,a=!0,h=!0,o){if(e)return void e(this._opaqueSubMeshes,this._alphaTestSubMeshes,this._transparentSubMeshes,this._depthOnlySubMeshes);let l=this._scene.getEngine();i&&0!==this._depthOnlySubMeshes.length&&(l.setColorWrite(!1),this._renderAlphaTest(this._depthOnlySubMeshes),l.setColorWrite(!0)),n&&0!==this._opaqueSubMeshes.length&&this._renderOpaque(this._opaqueSubMeshes),a&&0!==this._alphaTestSubMeshes.length&&this._renderAlphaTest(this._alphaTestSubMeshes);let c=l.getStencilBuffer();if(l.setStencilBuffer(!1),t&&this._renderSprites(),s&&this._renderParticles(r),this.onBeforeTransparentRendering&&this.onBeforeTransparentRendering(),h&&(o||0!==this._transparentSubMeshes.length||this._scene.useOrderIndependentTransparency)){if(l.setStencilBuffer(c),o)o(this._transparentSubMeshes,this);else if(this._scene.useOrderIndependentTransparency){let e=this._scene.depthPeelingRenderer.render(this._transparentSubMeshes);e.length&&this._renderTransparent(e)}else this._renderTransparent(this._transparentSubMeshes);l.setAlphaMode(0)}if(l.setStencilBuffer(!1),n&&this._edgesRenderers.length){for(let e=0;e<this._edgesRenderers.length;e++)this._edgesRenderers.data[e].render();l.setAlphaMode(0)}l.setStencilBuffer(c)}_renderOpaqueSorted(e){n._RenderSorted(e,this._opaqueSortCompareFn,this._scene.activeCamera,!1,this.disableDepthPrePass)}_renderAlphaTestSorted(e){n._RenderSorted(e,this._alphaTestSortCompareFn,this._scene.activeCamera,!1,this.disableDepthPrePass)}_renderTransparentSorted(e){n._RenderSorted(e,this._transparentSortCompareFn,this._scene.activeCamera,!0,this.disableDepthPrePass)}static _RenderSorted(e,t,s,r,a){let h,o=0,l=s?s.globalPosition:n._ZeroVector;if(r)for(;o<e.length;o++)(h=e.data[o])._alphaIndex=h.getMesh().alphaIndex,h._distanceToCamera=i.Vector3.Distance(h.getBoundingInfo().boundingSphere.centerWorld,l);let c=e.length===e.data.length?e.data:e.data.slice(0,e.length);t&&c.sort(t);let u=c[0].getMesh().getScene();for(o=0;o<c.length;o++)if(h=c[o],!u._activeMeshesFrozenButKeepClipping||h.isInFrustum(u._frustumPlanes)){if(r){let e=h.getMaterial();if(e&&e.needDepthPrePass&&!a){let t=e.getScene().getEngine();t.setColorWrite(!1),t.setAlphaMode(0),h.render(!1),t.setColorWrite(!0)}}h.render(r)}}static defaultTransparentSortCompare(e,t){return e._alphaIndex>t._alphaIndex?1:e._alphaIndex<t._alphaIndex?-1:n.backToFrontSortCompare(e,t)}static backToFrontSortCompare(e,t){return e._distanceToCamera<t._distanceToCamera?1:e._distanceToCamera>t._distanceToCamera?-1:0}static frontToBackSortCompare(e,t){return e._distanceToCamera<t._distanceToCamera?-1:+(e._distanceToCamera>t._distanceToCamera)}static PainterSortCompare(e,t){let s=e.getMesh(),r=t.getMesh();return s.material&&r.material?s.material.uniqueId-r.material.uniqueId:s.uniqueId-r.uniqueId}prepare(){this._opaqueSubMeshes.reset(),this._transparentSubMeshes.reset(),this._alphaTestSubMeshes.reset(),this._depthOnlySubMeshes.reset(),this._particleSystems.reset(),this.prepareSprites(),this._edgesRenderers.reset(),this._empty=!0}prepareSprites(){this._spriteManagers.reset()}dispose(){this._opaqueSubMeshes.dispose(),this._transparentSubMeshes.dispose(),this._alphaTestSubMeshes.dispose(),this._depthOnlySubMeshes.dispose(),this._particleSystems.dispose(),this._spriteManagers.dispose(),this._edgesRenderers.dispose()}dispatch(e,t,s){void 0===t&&(t=e.getMesh()),void 0===s&&(s=e.getMaterial()),null!=s&&(s.needAlphaBlendingForMesh(t)?this._transparentSubMeshes.push(e):s.needAlphaTestingForMesh(t)?(s.needDepthPrePass&&!this.disableDepthPrePass&&this._depthOnlySubMeshes.push(e),this._alphaTestSubMeshes.push(e)):(s.needDepthPrePass&&!this.disableDepthPrePass&&this._depthOnlySubMeshes.push(e),this._opaqueSubMeshes.push(e)),t._renderingGroup=this,t._edgesRenderer&&t.isEnabled()&&t.isVisible&&t._edgesRenderer.isEnabled&&this._edgesRenderers.pushNoDuplicate(t._edgesRenderer),this._empty=!1)}dispatchSprites(e){this._spriteManagers.push(e),this._empty=!1}dispatchParticles(e){this._particleSystems.push(e),this._empty=!1}_renderParticles(e){if(0===this._particleSystems.length)return;let t=this._scene.activeCamera;this._scene.onBeforeParticlesRenderingObservable.notifyObservers(this._scene);for(let s=0;s<this._particleSystems.length;s++){let r=this._particleSystems.data[s];if(0===(t&&t.layerMask&r.layerMask))continue;let i=r.emitter;i.position&&e&&-1===e.indexOf(i)||this._scene._activeParticles.addCount(r.render(),!1)}this._scene.onAfterParticlesRenderingObservable.notifyObservers(this._scene)}_renderSprites(){if(!this._scene.spritesEnabled||0===this._spriteManagers.length)return;let e=this._scene.activeCamera;this._scene.onBeforeSpritesRenderingObservable.notifyObservers(this._scene);for(let t=0;t<this._spriteManagers.length;t++){let s=this._spriteManagers.data[t];0!==(e&&e.layerMask&s.layerMask)&&s.render()}this._scene.onAfterSpritesRenderingObservable.notifyObservers(this._scene)}}n._ZeroVector=i.Vector3.Zero();class a{}class h{get disableDepthPrePass(){return this._disableDepthPrePass}set disableDepthPrePass(e){for(let t of(this._disableDepthPrePass=e,this._renderingGroups))t.disableDepthPrePass=e}get maintainStateBetweenFrames(){return this._maintainStateBetweenFrames}set maintainStateBetweenFrames(e){e!==this._maintainStateBetweenFrames&&(this._maintainStateBetweenFrames=e,this._maintainStateBetweenFrames||this.restoreDispachedFlags())}restoreDispachedFlags(){for(let e of this._scene.meshes)if(e.subMeshes)for(let t of e.subMeshes)t._wasDispatched=!1;if(this._scene.spriteManagers)for(let e of this._scene.spriteManagers)e._wasDispatched=!1;for(let e of this._scene.particleSystems)e._wasDispatched=!1}constructor(e){this._useSceneAutoClearSetup=!1,this._disableDepthPrePass=!1,this._renderingGroups=[],this._autoClearDepthStencil={},this._customOpaqueSortCompareFn={},this._customAlphaTestSortCompareFn={},this._customTransparentSortCompareFn={},this._renderingGroupInfo=new a,this._maintainStateBetweenFrames=!1,this._scene=e;for(let e=h.MIN_RENDERINGGROUPS;e<h.MAX_RENDERINGGROUPS;e++)this._autoClearDepthStencil[e]={autoClear:!0,depth:!0,stencil:!0}}get renderingGroups(){return this._renderingGroups}getRenderingGroup(e){let t=e||0;return this._prepareRenderingGroup(t),this._renderingGroups[t]}_clearDepthStencilBuffer(e=!0,t=!0){this._depthStencilBufferAlreadyCleaned||(this._scene.getEngine().clear(null,!1,e,t),this._depthStencilBufferAlreadyCleaned=!0)}render(e,t,s,r,i=!0,n=!0,a=!0,o=!0,l){let c=this._renderingGroupInfo;if(c.scene=this._scene,c.camera=this._scene.activeCamera,c.renderingManager=this,this._scene.spriteManagers&&r)for(let e=0;e<this._scene.spriteManagers.length;e++){let t=this._scene.spriteManagers[e];this.dispatchSprites(t)}for(let u=h.MIN_RENDERINGGROUPS;u<h.MAX_RENDERINGGROUPS;u++){this._depthStencilBufferAlreadyCleaned=u===h.MIN_RENDERINGGROUPS;let p=this._renderingGroups[u];if(!p||p._empty)continue;let d=1<<u;if(c.renderingGroupId=u,this._scene.onBeforeRenderingGroupObservable.notifyObservers(c,d),h.AUTOCLEAR){let e=this._useSceneAutoClearSetup?this._scene.getAutoClearDepthStencilSetup(u):this._autoClearDepthStencil[u];e&&e.autoClear&&this._clearDepthStencilBuffer(e.depth,e.stencil)}for(let e of this._scene._beforeRenderingGroupDrawStage)e.action(u);for(let h of(p.render(e,r,s,t,i,n,a,o,l),this._scene._afterRenderingGroupDrawStage))h.action(u);this._scene.onAfterRenderingGroupObservable.notifyObservers(c,d)}}reset(){if(!this.maintainStateBetweenFrames)for(let e=h.MIN_RENDERINGGROUPS;e<h.MAX_RENDERINGGROUPS;e++){let t=this._renderingGroups[e];t&&t.prepare()}}resetSprites(){if(!this.maintainStateBetweenFrames)for(let e=h.MIN_RENDERINGGROUPS;e<h.MAX_RENDERINGGROUPS;e++){let t=this._renderingGroups[e];t&&t.prepareSprites()}}dispose(){this.freeRenderingGroups(),this._renderingGroups.length=0,this._renderingGroupInfo=null}freeRenderingGroups(){for(let e=h.MIN_RENDERINGGROUPS;e<h.MAX_RENDERINGGROUPS;e++){let t=this._renderingGroups[e];t&&t.dispose()}}_prepareRenderingGroup(e){void 0===this._renderingGroups[e]&&(this._renderingGroups[e]=new n(e,this._scene,this._customOpaqueSortCompareFn[e],this._customAlphaTestSortCompareFn[e],this._customTransparentSortCompareFn[e]),this._renderingGroups[e].disableDepthPrePass=this._disableDepthPrePass)}dispatchSprites(e){this.maintainStateBetweenFrames&&e._wasDispatched||(e._wasDispatched=!0,this.getRenderingGroup(e.renderingGroupId).dispatchSprites(e))}dispatchParticles(e){this.maintainStateBetweenFrames&&e._wasDispatched||(e._wasDispatched=!0,this.getRenderingGroup(e.renderingGroupId).dispatchParticles(e))}dispatch(e,t,s){void 0===t&&(t=e.getMesh()),this.maintainStateBetweenFrames&&e._wasDispatched||(e._wasDispatched=!0,this.getRenderingGroup(t.renderingGroupId).dispatch(e,t,s))}setRenderingOrder(e,t=null,s=null,r=null){if(this._customOpaqueSortCompareFn[e]=t,this._customAlphaTestSortCompareFn[e]=s,this._customTransparentSortCompareFn[e]=r,this._renderingGroups[e]){let t=this._renderingGroups[e];t.opaqueSortCompareFn=this._customOpaqueSortCompareFn[e],t.alphaTestSortCompareFn=this._customAlphaTestSortCompareFn[e],t.transparentSortCompareFn=this._customTransparentSortCompareFn[e]}}setRenderingAutoClearDepthStencil(e,t,s=!0,r=!0){this._autoClearDepthStencil[e]={autoClear:t,depth:s,stencil:r}}getAutoClearDepthStencilSetup(e){return this._autoClearDepthStencil[e]}}h.MAX_RENDERINGGROUPS=4,h.MIN_RENDERINGGROUPS=0,h.AUTOCLEAR=!0,e.s(["RenderingManager",0,h],87452)},63217,e=>{"use strict";var t=e.i(87869);class s{get min(){return this._min}get max(){return this._max}get average(){return this._average}get lastSecAverage(){return this._lastSecAverage}get current(){return this._current}get total(){return this._totalAccumulated}get count(){return this._totalValueCount}constructor(){this._startMonitoringTime=0,this._min=0,this._max=0,this._average=0,this._lastSecAverage=0,this._current=0,this._totalValueCount=0,this._totalAccumulated=0,this._lastSecAccumulated=0,this._lastSecTime=0,this._lastSecValueCount=0}fetchNewFrame(){this._totalValueCount++,this._current=0,this._lastSecValueCount++}addCount(e,t){s.Enabled&&(this._current+=e,t&&this._fetchResult())}beginMonitoring(){s.Enabled&&(this._startMonitoringTime=t.PrecisionDate.Now)}endMonitoring(e=!0){if(!s.Enabled)return;e&&this.fetchNewFrame();let r=t.PrecisionDate.Now;this._current=r-this._startMonitoringTime,e&&this._fetchResult()}endFrame(){this._fetchResult()}_fetchResult(){this._totalAccumulated+=this._current,this._lastSecAccumulated+=this._current,this._min=Math.min(this._min,this._current),this._max=Math.max(this._max,this._current),this._average=this._totalAccumulated/this._totalValueCount;let e=t.PrecisionDate.Now;e-this._lastSecTime>1e3&&(this._lastSecAverage=this._lastSecAccumulated/this._lastSecValueCount,this._lastSecTime=e,this._lastSecAccumulated=0,this._lastSecValueCount=0)}}s.Enabled=!0,e.s(["PerfCounter",0,s])},46833,e=>{"use strict";var t=e.i(47997);class s{static GetPlanes(e){let r=[];for(let e=0;e<6;e++)r.push(new t.Plane(0,0,0,0));return s.GetPlanesToRef(e,r),r}static GetNearPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]+s[2],t.normal.y=s[7]+s[6],t.normal.z=s[11]+s[10],t.d=s[15]+s[14],t.normalize()}static GetFarPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]-s[2],t.normal.y=s[7]-s[6],t.normal.z=s[11]-s[10],t.d=s[15]-s[14],t.normalize()}static GetLeftPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]+s[0],t.normal.y=s[7]+s[4],t.normal.z=s[11]+s[8],t.d=s[15]+s[12],t.normalize()}static GetRightPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]-s[0],t.normal.y=s[7]-s[4],t.normal.z=s[11]-s[8],t.d=s[15]-s[12],t.normalize()}static GetTopPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]-s[1],t.normal.y=s[7]-s[5],t.normal.z=s[11]-s[9],t.d=s[15]-s[13],t.normalize()}static GetBottomPlaneToRef(e,t){let s=e.m;t.normal.x=s[3]+s[1],t.normal.y=s[7]+s[5],t.normal.z=s[11]+s[9],t.d=s[15]+s[13],t.normalize()}static GetPlanesToRef(e,t){s.GetNearPlaneToRef(e,t[0]),s.GetFarPlaneToRef(e,t[1]),s.GetLeftPlaneToRef(e,t[2]),s.GetRightPlaneToRef(e,t[3]),s.GetTopPlaneToRef(e,t[4]),s.GetBottomPlaneToRef(e,t[5])}static IsPointInFrustum(e,t){for(let s=0;s<6;s++)if(0>t[s].dotCoordinate(e))return!1;return!0}}e.s(["Frustum",0,s])},5252,e=>{"use strict";var t=e.i(95410),s=e.i(45707);e.s(["PickingInfo",0,class{constructor(){this.hit=!1,this.distance=0,this.pickedPoint=null,this.pickedMesh=null,this.bu=0,this.bv=0,this.faceId=-1,this.subMeshFaceId=-1,this.subMeshId=0,this.pickedSprite=null,this.thinInstanceIndex=-1,this.ray=null,this.originMesh=null,this.aimTransform=null,this.gripTransform=null}getNormal(e=!1,r=!0){let i;if(!this.pickedMesh||r&&!this.pickedMesh.isVerticesDataPresent(s.VertexBuffer.NormalKind))return null;let n=this.pickedMesh.getIndices();n?.length===0&&(n=null);let a=t.TmpVectors.Vector3[0],h=t.TmpVectors.Vector3[1],o=t.TmpVectors.Vector3[2];if(r){let e=this.pickedMesh.getVerticesData(s.VertexBuffer.NormalKind),r=n?t.Vector3.FromArrayToRef(e,3*n[3*this.faceId],a):a.copyFromFloats(e[3*this.faceId*3],e[3*this.faceId*3+1],e[3*this.faceId*3+2]),l=n?t.Vector3.FromArrayToRef(e,3*n[3*this.faceId+1],h):h.copyFromFloats(e[(3*this.faceId+1)*3],e[(3*this.faceId+1)*3+1],e[(3*this.faceId+1)*3+2]),c=n?t.Vector3.FromArrayToRef(e,3*n[3*this.faceId+2],o):o.copyFromFloats(e[(3*this.faceId+2)*3],e[(3*this.faceId+2)*3+1],e[(3*this.faceId+2)*3+2]);r=r.scale(this.bu),l=l.scale(this.bv),c=c.scale(1-this.bu-this.bv),i=new t.Vector3(r.x+l.x+c.x,r.y+l.y+c.y,r.z+l.z+c.z)}else{let e=this.pickedMesh.getVerticesData(s.VertexBuffer.PositionKind),r=n?t.Vector3.FromArrayToRef(e,3*n[3*this.faceId],a):a.copyFromFloats(e[3*this.faceId*3],e[3*this.faceId*3+1],e[3*this.faceId*3+2]),l=n?t.Vector3.FromArrayToRef(e,3*n[3*this.faceId+1],h):h.copyFromFloats(e[(3*this.faceId+1)*3],e[(3*this.faceId+1)*3+1],e[(3*this.faceId+1)*3+2]),c=n?t.Vector3.FromArrayToRef(e,3*n[3*this.faceId+2],o):o.copyFromFloats(e[(3*this.faceId+2)*3],e[(3*this.faceId+2)*3+1],e[(3*this.faceId+2)*3+2]),u=r.subtract(l),p=c.subtract(l);i=t.Vector3.Cross(u,p)}let l=(e,s)=>{if(-1!==this.thinInstanceIndex){let r=e._thinInstanceDataStorage.matrixData,i=this.thinInstanceIndex<<4;if(r&&r.length>i){let e=t.TmpVectors.Matrix[0];t.Matrix.FromArrayToRef(r,i,e),t.Vector3.TransformNormalToRef(s,e,s)}}let r=e.getWorldMatrix();e.nonUniformScaling&&(t.TmpVectors.Matrix[0].copyFrom(r),(r=t.TmpVectors.Matrix[0]).setTranslationFromFloats(0,0,0),r.invert(),r.transposeToRef(t.TmpVectors.Matrix[1]),r=t.TmpVectors.Matrix[1]),t.Vector3.TransformNormalToRef(s,r,s)};if(e&&l(this.pickedMesh,i),this.ray){let s=t.TmpVectors.Vector3[0].copyFrom(i);e||l(this.pickedMesh,s),t.Vector3.Dot(s,this.ray.direction)>0&&i.negateInPlace()}return i.normalize(),i}getTextureCoordinates(e=s.VertexBuffer.UVKind){if(!this.pickedMesh||!this.pickedMesh.isVerticesDataPresent(e))return null;let r=this.pickedMesh.getIndices();if(!r)return null;let i=this.pickedMesh.getVerticesData(e);if(!i)return null;let n=t.Vector2.FromArray(i,2*r[3*this.faceId]),a=t.Vector2.FromArray(i,2*r[3*this.faceId+1]),h=t.Vector2.FromArray(i,2*r[3*this.faceId+2]);return n=n.scale(this.bu),a=a.scale(this.bv),h=h.scale(1-this.bu-this.bv),new t.Vector2(n.x+a.x+h.x,n.y+a.y+h.y)}}])},95801,e=>{"use strict";var t=e.i(95410);class s{}s.POINTERDOWN=1,s.POINTERUP=2,s.POINTERMOVE=4,s.POINTERWHEEL=8,s.POINTERPICK=16,s.POINTERTAP=32,s.POINTERDOUBLETAP=64;class r{constructor(e,t){this.type=e,this.event=t}}e.s(["PointerEventTypes",0,s,"PointerInfo",0,class extends r{get pickInfo(){return this._pickInfo||this._generatePickInfo(),this._pickInfo}constructor(e,t,s,r=null){super(e,t),this._pickInfo=s,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(e,s,r,i){super(e,s),this.ray=null,this.originalPickingInfo=null,this.skipOnPointerObservable=!1,this.localPosition=new t.Vector2(r,i)}}])},35705,e=>{"use strict";class t{}t.KEYDOWN=1,t.KEYUP=2;class s{constructor(e,t){this.type=e,this.event=t}}e.s(["KeyboardEventTypes",0,t,"KeyboardInfo",0,s,"KeyboardInfoPre",0,class extends s{get skipOnPointerObservable(){return this.skipOnKeyboardObservable}set skipOnPointerObservable(e){this.skipOnKeyboardObservable=e}constructor(e,t){super(e,t),this.type=e,this.event=t,this.skipOnKeyboardObservable=!1}}])},21056,e=>{"use strict";var t,s;(s=t||(t={}))[s.PointerMove=0]="PointerMove",s[s.PointerDown=1]="PointerDown",s[s.PointerUp=2]="PointerUp";class r{}r.DOM_DELTA_PIXEL=0,r.DOM_DELTA_LINE=1,r.DOM_DELTA_PAGE=2,e.s(["EventConstants",0,r])},25974,e=>{"use strict";var t=e.i(95410),s=e.i(57135);class r extends s.Material{constructor(e,s,r=!0,i=!1){super(e,s,void 0,i),this._normalMatrix=new t.Matrix,this._storeEffectOnSubMeshes=r}getEffect(){return this._storeEffectOnSubMeshes?this._activeEffect:super.getEffect()}isReady(e,t){return!!e&&(!this._storeEffectOnSubMeshes||!e.subMeshes||0===e.subMeshes.length||this.isReadyForSubMesh(e,e.subMeshes[0],t))}_isReadyForSubMesh(e){let t=e.materialDefines;return!this.checkReadyOnEveryCall&&!!e.effect&&!!t&&t._renderId===this.getScene().getRenderId()}bindOnlyWorldMatrix(e){this._activeEffect.setMatrix("world",e)}bindOnlyNormalMatrix(e){this._activeEffect.setMatrix("normalMatrix",e)}bind(e,t){t&&this.bindForSubMesh(e,t,t.subMeshes[0])}_afterBind(e,t=null,s){super._afterBind(e,t,s),this.getScene()._cachedEffect=t,s?s._drawWrapper._forceRebindOnNextCall=!1:this._drawWrapper._forceRebindOnNextCall=!1}_mustRebind(e,t,s,r=1){return s._drawWrapper._forceRebindOnNextCall||e.isCachedMaterialInvalid(this,t,r)}dispose(e,t,s){this._activeEffect=void 0,super.dispose(e,t,s)}}e.s(["PushMaterial",0,r])},69914,e=>{"use strict";e.s(["EffectFallbacks",0,class{constructor(){this._defines={},this._currentRank=32,this._maxRank=-1,this._mesh=null}unBindMesh(){this._mesh=null}addFallback(e,t){this._defines[e]||(e<this._currentRank&&(this._currentRank=e),e>this._maxRank&&(this._maxRank=e),this._defines[e]=[]),this._defines[e].push(t)}addCPUSkinningFallback(e,t){this._mesh=t,e<this._currentRank&&(this._currentRank=e),e>this._maxRank&&(this._maxRank=e)}get hasMoreFallbacks(){return this._currentRank<=this._maxRank}reduce(e,t){if(this._mesh&&this._mesh.computeBonesUsingShaders&&this._mesh.numBoneInfluencers>0){this._mesh.computeBonesUsingShaders=!1,e=e.replace("#define NUM_BONE_INFLUENCERS "+this._mesh.numBoneInfluencers,"#define NUM_BONE_INFLUENCERS 0"),t._bonesComputationForcedToCPU=!0;let s=this._mesh.getScene();for(let e=0;e<s.meshes.length;e++){let r=s.meshes[e];if(!r.material){!this._mesh.material&&r.computeBonesUsingShaders&&r.numBoneInfluencers>0&&(r.computeBonesUsingShaders=!1);continue}if(r.computeBonesUsingShaders&&0!==r.numBoneInfluencers){if(r.material.getEffect()===t)r.computeBonesUsingShaders=!1;else if(r.subMeshes){for(let e of r.subMeshes)if(e.effect===t){r.computeBonesUsingShaders=!1;break}}}}}else{let t=this._defines[this._currentRank];if(t)for(let s=0;s<t.length;s++)e=e.replace("#define "+t[s],"");this._currentRank++}return e}}])},47899,e=>{"use strict";let t=new WeakMap;e.s(["BindVertexPullingUniforms",0,function(e,t){t.forEach((t,s)=>{let r=`vp_${s}_info`;e.setFloat4(r,t.offset,t.stride,t.type,+!!t.normalized)})},"PrepareVertexPullingUniforms",0,function(e){let s=e.getVertexBuffers();if(!s)return null;let r=t.get(e);if(r){let e=!1;for(let t in s)if(!r.has(t)){e=!0;break}if(!e)return r}else r=new Map,t.set(e,r);for(let e in s){let t=s[e];if(t){let s=t.byteOffset,i=t.byteStride,n=t.type,a=t.normalized;r.set(e,{offset:s,stride:i,type:n,normalized:a})}}return r}])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,74312,t=>{"use strict";var e=t.i(38759),s=t.i(19434),o=t.i(38116);class u extends e.FlowGraphExecutionBlockWithOutSignal{constructor(t){super(t),this.sound=this.registerDataInput("sound",s.RichTypeAny)}_execute(t,e){let s=this.sound.getValue(t);if(!s){this._reportError(t,"No sound provided"),this.out._activateSignal(t);return}5===s.state?s.resume():(2===s.state||3===s.state)&&s.pause(),this.out._activateSignal(t)}getClassName(){return"FlowGraphPauseSoundBlock"}}let a=!1;function i(){a||(a=!0,(0,o.RegisterClass)("FlowGraphPauseSoundBlock",u))}t.s(["FlowGraphPauseSoundBlock",0,u,"RegisterFlowGraphPauseSoundBlock",0,i],80577),i(),t.s([],58523),t.i(58523),t.i(80577),t.s(["FlowGraphPauseSoundBlock",0,u],74312)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,75707,e=>{"use strict";var t=e.i(45707),s=e.i(87409),r=e.i(90176),i=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 r.Observable(void 0,!0),this.onApplyObservable=new r.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,r,i){this._importPromises.length=0,i&&this._importPromises.push(...i);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!==r&&r(a,this._importPromises),a&&this._webGPUReady&&(this.options.shaderLanguage=1),t||this.updateEffect(s)}updateEffect(e=null,t=null,s=null,r,a,n,h,p){let l,u=o._GetShaderCodeProcessing(this.name);if(u?.defineCustomBindings){let r=t?.slice()??[];r.push(...this.options.uniforms);let i=s?.slice()??[];i.push(...this.options.samplers),e=u.defineCustomBindings(this.name,e,r,i),t=r,s=i}this.options.defines=e||"";let d=this._shadersLoaded||0===this._importPromises.length?void 0:async()=>{await Promise.all(this._importPromises),this._shadersLoaded=!0};l=this.options.extraInitializationsAsync?async()=>{await d?.(),await this.options.extraInitializationsAsync()}:d,this.options.useShaderStore?this._drawWrapper.effect=this.options.engine.createEffect({vertex:h??this._shaderPath.vertex,fragment:p??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:r||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:l},this.options.engine):this._drawWrapper.effect=new i.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,l),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,r=n){this._fullscreenViewport=new s.Viewport(0,0,1,1);const i=r.positions??n.positions,a=r.indices??n.indices;this.engine=e,this._vertexBuffers={[t.VertexBuffer.PositionKind]:new t.VertexBuffer(e,i,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),r=e.i(90176),i=e.i(95410),a=e.i(7540),n=e.i(53773),o=e.i(68401),h=e.i(38116),p=e.i(32622),l=e.i(98551),u=e.i(75707);class d{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,l,f,_=1,g,m,x=null,b=0,P="postprocess",v,C=!1,O=5,T,S){let y;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 i.Vector2(1,1),this._texelSize=i.Vector2.Zero(),this.onActivateObservable=new r.Observable,this.onSizeChangedObservable=new r.Observable,this.onApplyObservable=new r.Observable,this.onBeforeRenderObservable=new r.Observable,this.onAfterRenderObservable=new r.Observable,this.onDisposeObservable=new r.Observable,c||(c=!0,p.AbstractEngine.prototype.setTextureFromPostProcess=function(e,t,s){let r=null;t&&(t._forcedOutputTexture?r=t._forcedOutputTexture:t._textures.data[t._currentRenderTextureInd]&&(r=t._textures.data[t._currentRenderTextureInd])),this._bindTexture(e,r?.texture??null,s)},p.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",d));let w=1,R=null;if(n&&!Array.isArray(n)){const e=n;n=e.uniforms??null,o=e.samplers??null,w=e.size??1,f=e.camera??null,_=e.samplingMode??1,g=e.engine,m=e.reusable,x=Array.isArray(e.defines)?e.defines.join("\n"):e.defines??null,b=e.textureType??0,P=e.vertexUrl??"postprocess",v=e.indexParameters,C=e.blockCompilation??!1,O=e.textureFormat??5,T=e.shaderLanguage??0,R=e.uniformBuffers??null,S=e.extraInitializations,y=e.effectWrapper}else l&&(w="number"==typeof l?l:{width:l.width,height:l.height});if(this._useExistingThinPostProcess=!!y,this._effectWrapper=y??new u.EffectWrapper({name:e,useShaderStore:!0,useAsPostProcess:!0,fragmentShader:t,engine:g||f?.getScene().getEngine(),uniforms:n,samplers:o,uniformBuffers:R,defines:x,vertexUrl:P,indexParameters:v,blockCompilation:!0,shaderLanguage:T,extraInitializations:void 0}),this.name=e,this.onEffectCreatedObservable=this._effectWrapper.onEffectCreatedObservable,null!=f?(this._camera=f,this._scene=f.getScene(),f.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=w,this.renderTargetSamplingMode=_||1,this._reusable=m||!1,this._textureType=b,this._textureFormat=O,this._shaderLanguage=T||0,this._samplers=o||[],-1===this._samplers.indexOf("textureSampler")&&this._samplers.push("textureSampler"),this._fragmentUrl=t,this._vertexUrl=P,this._parameters=n||[],-1===this._parameters.indexOf("scale")&&this._parameters.push("scale"),this._uniformBuffers=R||[],this._indexParameters=v,!this._useExistingThinPostProcess){this._webGPUReady=1===this._shaderLanguage;const e=[];this._gatherImports(this._engine.isWebGPU&&!d.ForceGLSL,e),this._effectWrapper._webGPUReady=this._webGPUReady,this._effectWrapper._postConstructor(C,x,S,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,r,i,a,n,o){this._effectWrapper.updateEffect(e,t,s,r,i,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 r=0;r<this._textureCache.length;r++)if(this._textureCache[r].texture.width===e.width&&this._textureCache[r].texture.height===e.height&&this._textureCache[r].postProcessChannel===s&&this._textureCache[r].texture._generateDepthBuffer===t.generateDepthBuffer&&this._textureCache[r].texture.samples===t.samples)return this._textureCache[r].texture;let r=this._engine.createRenderTargetTexture(e,t);return this._textureCache.push({texture:r,postProcessChannel:s,lastUsedRenderId:-1}),r}_flushTextureCache(){let e=this._renderId;for(let t=this._textureCache.length-1;t>=0;t--)if(e-this._textureCache[t].lastUsedRenderId>100){let e=!1;for(let s=0;s<this._textures.length;s++)if(this._textures.data[s]===this._textureCache[t].texture){e=!0;break}e||(this._textureCache[t].texture.dispose(),this._textureCache.splice(t,1))}}resize(e,t,s=null,r=!1,i=!1){this._textures.length>0&&this._textures.reset(),this.width=e,this.height=t;let a=null;if(s){for(let e=0;e<s._postProcesses.length;e++)if(null!==s._postProcesses[e]){a=s._postProcesses[e];break}}let n={width:this.width,height:this.height},o={generateMipMaps:r,generateDepthBuffer:i||a===this,generateStencilBuffer:(i||a===this)&&this._engine.isStencilEnable,samplingMode:this.renderTargetSamplingMode,type:this._textureType,format:this._textureFormat,samples:this._samples,label:"PostProcessRTT-"+this.name};this._textures.push(this._createRenderTargetTexture(n,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 r=null===e||void 0!==e.cameraRigMode?e||this._camera:null,i=r?.getScene()??e,a=i.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,p=this._options.width||o,u=this._options.height||h,d=7!==this.renderTargetSamplingMode&&1!==this.renderTargetSamplingMode&&2!==this.renderTargetSamplingMode,c=null;if(!this._shareOutputWithPostProcess&&!this._forcedOutputTexture){if(this.adaptScaleToCurrentViewport){let e=a.currentViewport;e&&(p*=e.width,u*=e.height)}(d||this.alwaysForcePOT)&&(this._options.width||(p=a.needPOTTextures?(0,l.GetExponentOfTwo)(p,n,this.scaleMode):p),this._options.height||(u=a.needPOTTextures?(0,l.GetExponentOfTwo)(u,n,this.scaleMode):u)),this.width===p&&this.height===u&&(c=this._getTarget())||this.resize(p,u,r,d,s),this._textures.forEach(e=>{e.samples!==this.samples&&this._engine.updateRenderTargetTextureSampleCount(e,this.samples)}),this._flushTextureCache(),this._renderId++}return c||(c=this._getTarget()),this.enablePixelPerfectMode?(this._scaleRatio.copyFromFloats(o/p,h/u),this._engine.bindFramebuffer(c,0,o,h,this.forceFullscreenViewport)):(this._scaleRatio.copyFromFloats(1,1),this._engine.bindFramebuffer(c,0,void 0,void 0,this.forceFullscreenViewport)),this._engine._debugInsertMarker?.(`post process ${this.name} input`),this.onActivateObservable.notifyObservers(r),this.autoClear&&(0===this.alphaMode||this.forceAutoClearInAlphaMode)&&this._engine.clear(this.clearColor?this.clearColor:i.clearColor,i._allowPostProcessClearColor,!0,!0),this._reusable&&(this._currentRenderTextureInd=(this._currentRenderTextureInd+1)%2),c}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=d.Parse(e,this._scene,"");return t?(t.onActivateObservable=this.onActivateObservable.clone(),t.onSizeChangedObservable=this.onSizeChangedObservable.clone(),t.onApplyObservable=this.onApplyObservable.clone(),t.onBeforeRenderObservable=this.onBeforeRenderObservable.clone(),t.onAfterRenderObservable=this.onAfterRenderObservable.clone(),t._prePassEffectConfiguration=this._prePassEffectConfiguration,t):null}static Parse(e,t,s){let r=(0,h.GetClass)(e.customType);if(!r||!r._Parse)return null;let i=t?t.getCameraById(e.cameraId):null;return r._Parse(e,i,t,s)}static _Parse(e,t,s,r){return o.SerializationHelper.Parse(()=>new d(e.name,e.fragmentUrl,e.parameters,e.samplers,e.options,t,e.renderTargetSamplingMode,e._engine,e.reusable,e.defines,e.textureType,e.vertexUrl,e.indexParameters,!1,e.textureFormat),e,s,r)}}(0,t.__decorate)([(0,n.serialize)()],d.prototype,"uniqueId",void 0),(0,t.__decorate)([(0,n.serialize)()],d.prototype,"name",null),(0,t.__decorate)([(0,n.serialize)()],d.prototype,"width",void 0),(0,t.__decorate)([(0,n.serialize)()],d.prototype,"height",void 0),(0,t.__decorate)([(0,n.serialize)()],d.prototype,"renderTargetSamplingMode",void 0),(0,t.__decorate)([(0,n.serializeAsColor4)()],d.prototype,"clearColor",void 0),(0,t.__decorate)([(0,n.serialize)()],d.prototype,"autoClear",void 0),(0,t.__decorate)([(0,n.serialize)()],d.prototype,"forceAutoClearInAlphaMode",void 0),(0,t.__decorate)([(0,n.serialize)()],d.prototype,"alphaMode",null),(0,t.__decorate)([(0,n.serialize)()],d.prototype,"alphaConstants",void 0),(0,t.__decorate)([(0,n.serialize)()],d.prototype,"enablePixelPerfectMode",void 0),(0,t.__decorate)([(0,n.serialize)()],d.prototype,"forceFullscreenViewport",void 0),(0,t.__decorate)([(0,n.serialize)()],d.prototype,"scaleMode",void 0),(0,t.__decorate)([(0,n.serialize)()],d.prototype,"alwaysForcePOT",void 0),(0,t.__decorate)([(0,n.serialize)("samples")],d.prototype,"_samples",void 0),(0,t.__decorate)([(0,n.serialize)()],d.prototype,"adaptScaleToCurrentViewport",void 0);let c=!1;e.s(["PostProcess",0,d],42688);var f=e.i(71615),_=e.i(7989),g=u,m=e.i(70855);class x 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 r={name:e,engine:t||m.EngineStore.LastCreatedEngine,useShaderStore:!0,useAsPostProcess:!0,fragmentShader:x.FragmentUrl,...s};r.engine||(r.engine=m.EngineStore.LastCreatedEngine),super(r)}}x.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||m.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 P extends d{get face(){return this._effectWrapper.face}set face(e){this._effectWrapper.face=e}getClassName(){return"PassCubePostProcess"}constructor(e,t,s=null,r,i,a,n=0,o=!1){const h={size:"number"==typeof t?t:void 0,camera:s,samplingMode:r,engine:i,reusable:a,textureType:n,blockCompilation:o,...t};super(e,x.FragmentUrl,{effectWrapper:"number"!=typeof t&&t.effectWrapper?void 0:new b(e,i,h),...h})}static _Parse(e,t,s,r){return o.SerializationHelper.Parse(()=>new P(e.name,e.options,t,e.renderTargetSamplingMode,e._engine,e.reusable),e,s,r)}}(0,t.__decorate)([(0,n.serialize)()],P.prototype,"face",null),e.i(90629);var v=e.i(6351);v.ToHalfFloat,v.FromHalfFloat,e.s(["RGBDTextureTools",0,class{static ExpandRGBDTexture(t){let s=t._texture;if(!s||!t.isRGBD)return;let r=s.getEngine(),i=r.getCaps(),a=s.isReady,n=!1;i.textureHalfFloatRender&&i.textureHalfFloatLinearFiltering?(n=!0,s.type=2):i.textureFloatRender&&i.textureFloatLinearFiltering&&(n=!0,s.type=1),n&&(s.isReady=!1,s._isRGBD=!1,s.invertY=!1);let o=async()=>{let i=r.isWebGPU;s.isReady=!1,i?await e.A(94674):await e.A(97517);let a=new d("rgbdDecode","rgbdDecode",null,null,1,null,3,r,!1,void 0,s.type,void 0,null,!1,void 0,+!!i);a.externalTextureSamplerBinding=!0;let n=r.createRenderTargetTexture(s.width,{generateDepthBuffer:!1,generateMipMaps:!1,generateStencilBuffer:!1,samplingMode:s.samplingMode,type:s.type,format:5});a.onEffectCreatedObservable.addOnce(e=>{e.executeWhenCompiled(()=>{a.onApply=e=>{e._bindTexture("textureSampler",s),e.setFloat2("scale",1,1)},t.getScene().postProcessManager.directRender([a],n,!0),r.restoreDefaultFramebuffer(),r._releaseTexture(s),a&&a.dispose(),n._swapAndDie(s),s.isReady=!0})})};n&&(a?o():t.onLoadObservable.addOnce(o))}static async EncodeTextureToRGBD(t,s,r=0){var i,a,n,o,h;let p;return s.getEngine().isWebGPU?await e.A(94368):await e.A(80923),await (i=r,a=1,n=5,p=t.getEngine(),t.isReady=!1,a=a??t.samplingMode,i=i??t.type,n=n??t.format,o=o??t.width,h=h??t.height,-1===i&&(i=0),new Promise(e=>{let r=new d("postprocess","rgbdEncode",null,null,1,null,a,p,!1,void 0,i,void 0,null,!1,n);r.externalTextureSamplerBinding=!0;let l=p.createRenderTargetTexture({width:o,height:h},{generateDepthBuffer:!1,generateMipMaps:!1,generateStencilBuffer:!1,samplingMode:a,type:i,format:n});r.onEffectCreatedObservable.addOnce(a=>{a.executeWhenCompiled(()=>{r.onApply=e=>{e._bindTexture("textureSampler",t),e.setFloat2("scale",1,1)},s.postProcessManager.directRender([r],l,!0),p.restoreDefaultFramebuffer(),p._releaseTexture(t),r&&r.dispose(),l._swapAndDie(t),t.type=i,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,39695,47283,t=>{"use strict";var e=t.i(80434),r=t.i(13856);class i{constructor(t,e,r=!1,i,f=!1,s){this._uniformNames=[],this._valueCache={},this._engine=t,this._noUBO=!t.supportsUniformBuffers||f,this._dynamic=r,this._name=i??"no-name",this._data=e||[],this._uniformLocations={},this._uniformSizes={},this._uniformArraySizes={},this._uniformLocationPointer=0,this._needSync=!1,this._trackUBOsInFrame=!1,(void 0===s&&this._engine._features.trackUbosInFrame||!0===s)&&(this._buffers=[],this._bufferIndex=-1,this._bufferUpdatedLastFrame=!1,this._createBufferOnWrite=!1,this._currentFrameId=0,this._trackUBOsInFrame=!0),this._noUBO?(this.updateMatrix3x3=this._updateMatrix3x3ForEffect,this.updateMatrix2x2=this._updateMatrix2x2ForEffect,this.updateFloat=this._updateFloatForEffect,this.updateFloat2=this._updateFloat2ForEffect,this.updateFloat3=this._updateFloat3ForEffect,this.updateFloat4=this._updateFloat4ForEffect,this.updateFloatArray=this._updateFloatArrayForEffect,this.updateArray=this._updateArrayForEffect,this.updateIntArray=this._updateIntArrayForEffect,this.updateUIntArray=this._updateUIntArrayForEffect,this.updateMatrix=this._updateMatrixForEffect,this.updateMatrices=this._updateMatricesForEffect,this.updateVector3=this._updateVector3ForEffect,this.updateVector4=this._updateVector4ForEffect,this.updateColor3=this._updateColor3ForEffect,this.updateColor4=this._updateColor4ForEffect,this.updateDirectColor4=this._updateDirectColor4ForEffect,this.updateInt=this._updateIntForEffect,this.updateInt2=this._updateInt2ForEffect,this.updateInt3=this._updateInt3ForEffect,this.updateInt4=this._updateInt4ForEffect,this.updateUInt=this._updateUIntForEffect,this.updateUInt2=this._updateUInt2ForEffect,this.updateUInt3=this._updateUInt3ForEffect,this.updateUInt4=this._updateUInt4ForEffect):(this._engine._uniformBuffers.push(this),this.updateMatrix3x3=this._updateMatrix3x3ForUniform,this.updateMatrix2x2=this._updateMatrix2x2ForUniform,this.updateFloat=this._updateFloatForUniform,this.updateFloat2=this._updateFloat2ForUniform,this.updateFloat3=this._updateFloat3ForUniform,this.updateFloat4=this._updateFloat4ForUniform,this.updateFloatArray=this._updateFloatArrayForUniform,this.updateArray=this._updateArrayForUniform,this.updateIntArray=this._updateIntArrayForUniform,this.updateUIntArray=this._updateUIntArrayForUniform,this.updateMatrix=this._updateMatrixForUniform,this.updateMatrices=this._updateMatricesForUniform,this.updateVector3=this._updateVector3ForUniform,this.updateVector4=this._updateVector4ForUniform,this.updateColor3=this._updateColor3ForUniform,this.updateColor4=this._updateColor4ForUniform,this.updateDirectColor4=this._updateDirectColor4ForUniform,this.updateInt=this._updateIntForUniform,this.updateInt2=this._updateInt2ForUniform,this.updateInt3=this._updateInt3ForUniform,this.updateInt4=this._updateInt4ForUniform,this.updateUInt=this._updateUIntForUniform,this.updateUInt2=this._updateUInt2ForUniform,this.updateUInt3=this._updateUInt3ForUniform,this.updateUInt4=this._updateUInt4ForUniform)}get useUbo(){return!this._noUBO}get isSync(){return!this._needSync}isDynamic(){return this._dynamic}getData(){return this._bufferData}getBuffer(){return this._buffer}getUniformNames(){return this._uniformNames}_fillAlignment(t){let e;if(e=t<=2?t:4,this._uniformLocationPointer%e!=0){let t=this._uniformLocationPointer;this._uniformLocationPointer+=e-this._uniformLocationPointer%e;let r=this._uniformLocationPointer-t;for(let t=0;t<r;t++)this._data.push(0)}}addUniform(t,e,r=0){let i;if((r>0&&"number"==typeof e&&(this._uniformArraySizes[t]={strideSize:e,arraySize:r}),void 0===this._uniformLocations[t])&&(this._uniformNames.push(t),!this._noUBO)){if(r>0){if(e instanceof Array)throw"addUniform should not be use with Array in UBO: "+t;if(this._fillAlignment(4),16==e)e*=r;else{let t=4-e;e=e*r+t*r}i=[];for(let t=0;t<e;t++)i.push(0)}else{if(e instanceof Array)e=(i=e).length;else{i=[];for(let t=0;t<e;t++)i.push(0)}this._fillAlignment(e)}this._uniformSizes[t]=e,this._uniformLocations[t]=this._uniformLocationPointer,this._uniformLocationPointer+=e;for(let t=0;t<e;t++)this._data.push(i[t]);this._needSync=!0}}addMatrix(t,e){this.addUniform(t,Array.prototype.slice.call(e.asArray()))}addFloat2(t,e,r){this.addUniform(t,[e,r])}addFloat3(t,e,r,i){this.addUniform(t,[e,r,i])}addColor3(t,e){let r=[e.r,e.g,e.b];this.addUniform(t,r)}addColor4(t,e,r){let i=[e.r,e.g,e.b,r];this.addUniform(t,i)}addVector3(t,e){let r=[e.x,e.y,e.z];this.addUniform(t,r)}addMatrix3x3(t){this.addUniform(t,12)}addMatrix2x2(t){this.addUniform(t,8)}create(){this._noUBO||this._buffer||(this._fillAlignment(4),this._bufferData=new Float32Array(this._data),this._rebuild(),this._needSync=!0)}_getNamesDebug(){let t=[],e=0;for(let r in this._uniformLocations)if(t.push(r),10==++e)break;return t.join(",")}_rebuild(){!this._noUBO&&this._bufferData&&(this._dynamic?this._buffer=this._engine.createDynamicUniformBuffer(this._bufferData,this._name+"_UniformList:"+this._getNamesDebug()):this._buffer=this._engine.createUniformBuffer(this._bufferData,this._name+"_UniformList:"+this._getNamesDebug()),this._trackUBOsInFrame&&(this._buffers.push([this._buffer,this._engine._features.checkUbosContentBeforeUpload?this._bufferData.slice():void 0]),this._bufferIndex=this._buffers.length-1,this._createBufferOnWrite=!1))}_rebuildAfterContextLost(){this._trackUBOsInFrame&&(this._buffers=[],this._currentFrameId=0),this._rebuild()}get _numBuffers(){return this._buffers.length}get _indexBuffer(){return this._bufferIndex}get name(){return this._name}set name(t){this._name=t}get currentEffect(){return this._currentEffect}_buffersEqual(t,e){for(let r=0;r<t.length;++r)if(t[r]!==e[r])return!1;return!0}_copyBuffer(t,e){for(let r=0;r<t.length;++r)e[r]=t[r]}update(){if(!this._noUBO){if(this.bindUniformBuffer(),!this._buffer)return void this.create();if(!this._dynamic&&!this._needSync){this._createBufferOnWrite=this._trackUBOsInFrame;return}if(this._buffers&&this._buffers.length>1&&this._buffers[this._bufferIndex][1])if(this._buffersEqual(this._bufferData,this._buffers[this._bufferIndex][1])){this._needSync=!1,this._createBufferOnWrite=this._trackUBOsInFrame;return}else this._copyBuffer(this._bufferData,this._buffers[this._bufferIndex][1]);this._bufferUpdatedLastFrame=!0,this._engine.updateUniformBuffer(this._buffer,this._bufferData),this._needSync=!1,this._createBufferOnWrite=this._trackUBOsInFrame}}_createNewBuffer(){this._bufferIndex+1<this._buffers.length?(this._bufferIndex++,this._buffer=this._buffers[this._bufferIndex][0],this._createBufferOnWrite=!1,this._needSync=!0):this._rebuild()}_checkNewFrame(){this._trackUBOsInFrame&&this._currentFrameId!==this._engine.frameId&&(this._currentFrameId=this._engine.frameId,this._createBufferOnWrite=!1,this._buffers&&this._buffers.length>0?(1===this._buffers.length?this._needSync=!this._bufferUpdatedLastFrame:this._needSync=0!==this._bufferIndex,this._bufferIndex=0,this._buffer=this._buffers[this._bufferIndex][0]):this._bufferIndex=-1)}updateUniform(t,r,i){this._checkNewFrame();let f=this._uniformLocations[t];if(void 0===f){if(this._buffer)return void e.Logger.Error("Cannot add an uniform after UBO has been created. uniformName="+t);this.addUniform(t,i),f=this._uniformLocations[t]}if(this._buffer||this.create(),this._dynamic)for(let t=0;t<i;t++)this._bufferData[f+t]=r[t];else{let t=!1;for(let e=0;e<i;e++)(16!==i||this._engine._features.uniformBufferHardCheckMatrix)&&this._bufferData[f+e]===Math.fround(r[e])||(t=!0,this._createBufferOnWrite&&this._createNewBuffer(),this._bufferData[f+e]=r[e]);this._needSync=this._needSync||t}}updateUniformArray(t,i,f){this._checkNewFrame();let s=this._uniformLocations[t];if(void 0===s)return void e.Logger.Error("Cannot add an uniform Array dynamically. Please, add it using addUniform and make sure that uniform buffers are supported by the current engine.");this._buffer||this.create();let a=this._uniformArraySizes[t];if(this._dynamic)for(let t=0;t<f;t++)this._bufferData[s+t]=i[t];else{let t=!1,e=0,n=0;for(let u=0;u<f;u++)if(this._bufferData[s+4*n+e]!==r.Tools.FloatRound(i[u])&&(t=!0,this._createBufferOnWrite&&this._createNewBuffer(),this._bufferData[s+4*n+e]=i[u]),++e===a.strideSize){for(;e<4;e++)this._bufferData[s+4*n+e]=0;e=0,n++}this._needSync=this._needSync||t}}_cacheMatrix(t,e){this._checkNewFrame();let r=this._valueCache[t],i=e.updateFlag;return(void 0===r||r!==i)&&(this._valueCache[t]=i,!0)}_updateMatrix3x3ForUniform(t,e){for(let t=0;t<3;t++)i._TempBuffer[4*t]=e[3*t],i._TempBuffer[4*t+1]=e[3*t+1],i._TempBuffer[4*t+2]=e[3*t+2],i._TempBuffer[4*t+3]=0;this.updateUniform(t,i._TempBuffer,12)}_updateMatrix3x3ForEffect(t,e){this._currentEffect.setMatrix3x3(t,e)}_updateMatrix2x2ForEffect(t,e){this._currentEffect.setMatrix2x2(t,e)}_updateMatrix2x2ForUniform(t,e){for(let t=0;t<2;t++)i._TempBuffer[4*t]=e[2*t],i._TempBuffer[4*t+1]=e[2*t+1],i._TempBuffer[4*t+2]=0,i._TempBuffer[4*t+3]=0;this.updateUniform(t,i._TempBuffer,8)}_updateFloatForEffect(t,e,r=""){this._currentEffect.setFloat(t+r,e)}_updateFloatForUniform(t,e){i._TempBuffer[0]=e,this.updateUniform(t,i._TempBuffer,1)}_updateFloat2ForEffect(t,e,r,i=""){this._currentEffect.setFloat2(t+i,e,r)}_updateFloat2ForUniform(t,e,r){i._TempBuffer[0]=e,i._TempBuffer[1]=r,this.updateUniform(t,i._TempBuffer,2)}_updateFloat3ForEffect(t,e,r,i,f=""){this._currentEffect.setFloat3(t+f,e,r,i)}_updateFloat3ForUniform(t,e,r,f){i._TempBuffer[0]=e,i._TempBuffer[1]=r,i._TempBuffer[2]=f,this.updateUniform(t,i._TempBuffer,3)}_updateFloat4ForEffect(t,e,r,i,f,s=""){this._currentEffect.setFloat4(t+s,e,r,i,f)}_updateFloat4ForUniform(t,e,r,f,s){i._TempBuffer[0]=e,i._TempBuffer[1]=r,i._TempBuffer[2]=f,i._TempBuffer[3]=s,this.updateUniform(t,i._TempBuffer,4)}_updateFloatArrayForEffect(t,e,r=""){switch(this._uniformArraySizes[t]?.strideSize){case 2:this._currentEffect.setFloatArray2(t+r,e);break;case 3:this._currentEffect.setFloatArray3(t+r,e);break;case 4:this._currentEffect.setFloatArray4(t+r,e);break;default:this._currentEffect.setFloatArray(t+r,e)}}_updateFloatArrayForUniform(t,e){this.updateUniformArray(t,e,e.length)}_updateArrayForEffect(t,e){this._currentEffect.setArray(t,e)}_updateArrayForUniform(t,e){this.updateUniformArray(t,e,e.length)}_updateIntArrayForEffect(t,e){this._currentEffect.setIntArray(t,e)}_updateIntArrayForUniform(t,e){i._TempBufferInt32View.set(e),this.updateUniformArray(t,i._TempBuffer,e.length)}_updateUIntArrayForEffect(t,e){this._currentEffect.setUIntArray(t,e)}_updateUIntArrayForUniform(t,e){i._TempBufferUInt32View.set(e),this.updateUniformArray(t,i._TempBuffer,e.length)}_updateMatrixForEffect(t,e){this._currentEffect.setMatrix(t,e)}_updateMatrixForUniform(t,e){this._cacheMatrix(t,e)&&this.updateUniform(t,e.asArray(),16)}_updateMatricesForEffect(t,e){this._currentEffect.setMatrices(t,e)}_updateMatricesForUniform(t,e){this.updateUniform(t,e,e.length)}_updateVector3ForEffect(t,e){this._currentEffect.setVector3(t,e)}_updateVector3ForUniform(t,e){i._TempBuffer[0]=e.x,i._TempBuffer[1]=e.y,i._TempBuffer[2]=e.z,this.updateUniform(t,i._TempBuffer,3)}_updateVector4ForEffect(t,e){this._currentEffect.setVector4(t,e)}_updateVector4ForUniform(t,e){i._TempBuffer[0]=e.x,i._TempBuffer[1]=e.y,i._TempBuffer[2]=e.z,i._TempBuffer[3]=e.w,this.updateUniform(t,i._TempBuffer,4)}_updateColor3ForEffect(t,e,r=""){this._currentEffect.setColor3(t+r,e)}_updateColor3ForUniform(t,e){i._TempBuffer[0]=e.r,i._TempBuffer[1]=e.g,i._TempBuffer[2]=e.b,this.updateUniform(t,i._TempBuffer,3)}_updateColor4ForEffect(t,e,r,i=""){this._currentEffect.setColor4(t+i,e,r)}_updateDirectColor4ForEffect(t,e,r=""){this._currentEffect.setDirectColor4(t+r,e)}_updateColor4ForUniform(t,e,r){i._TempBuffer[0]=e.r,i._TempBuffer[1]=e.g,i._TempBuffer[2]=e.b,i._TempBuffer[3]=r,this.updateUniform(t,i._TempBuffer,4)}_updateDirectColor4ForUniform(t,e){i._TempBuffer[0]=e.r,i._TempBuffer[1]=e.g,i._TempBuffer[2]=e.b,i._TempBuffer[3]=e.a,this.updateUniform(t,i._TempBuffer,4)}_updateIntForEffect(t,e,r=""){this._currentEffect.setInt(t+r,e)}_updateIntForUniform(t,e){i._TempBufferInt32View[0]=e,this.updateUniform(t,i._TempBuffer,1)}_updateInt2ForEffect(t,e,r,i=""){this._currentEffect.setInt2(t+i,e,r)}_updateInt2ForUniform(t,e,r){i._TempBufferInt32View[0]=e,i._TempBufferInt32View[1]=r,this.updateUniform(t,i._TempBuffer,2)}_updateInt3ForEffect(t,e,r,i,f=""){this._currentEffect.setInt3(t+f,e,r,i)}_updateInt3ForUniform(t,e,r,f){i._TempBufferInt32View[0]=e,i._TempBufferInt32View[1]=r,i._TempBufferInt32View[2]=f,this.updateUniform(t,i._TempBuffer,3)}_updateInt4ForEffect(t,e,r,i,f,s=""){this._currentEffect.setInt4(t+s,e,r,i,f)}_updateInt4ForUniform(t,e,r,f,s){i._TempBufferInt32View[0]=e,i._TempBufferInt32View[1]=r,i._TempBufferInt32View[2]=f,i._TempBufferInt32View[3]=s,this.updateUniform(t,i._TempBuffer,4)}_updateUIntForEffect(t,e,r=""){this._currentEffect.setUInt(t+r,e)}_updateUIntForUniform(t,e){i._TempBufferUInt32View[0]=e,this.updateUniform(t,i._TempBuffer,1)}_updateUInt2ForEffect(t,e,r,i=""){this._currentEffect.setUInt2(t+i,e,r)}_updateUInt2ForUniform(t,e,r){i._TempBufferUInt32View[0]=e,i._TempBufferUInt32View[1]=r,this.updateUniform(t,i._TempBuffer,2)}_updateUInt3ForEffect(t,e,r,i,f=""){this._currentEffect.setUInt3(t+f,e,r,i)}_updateUInt3ForUniform(t,e,r,f){i._TempBufferUInt32View[0]=e,i._TempBufferUInt32View[1]=r,i._TempBufferUInt32View[2]=f,this.updateUniform(t,i._TempBuffer,3)}_updateUInt4ForEffect(t,e,r,i,f,s=""){this._currentEffect.setUInt4(t+s,e,r,i,f)}_updateUInt4ForUniform(t,e,r,f,s){i._TempBufferUInt32View[0]=e,i._TempBufferUInt32View[1]=r,i._TempBufferUInt32View[2]=f,i._TempBufferUInt32View[3]=s,this.updateUniform(t,i._TempBuffer,4)}setTexture(t,e){this._currentEffect.setTexture(t,e)}setTextureArray(t,e){this._currentEffect.setTextureArray(t,e)}bindTexture(t,e){this._currentEffect._bindTexture(t,e)}updateUniformDirectly(t,e){this.updateUniform(t,e,e.length),this.update()}bindToEffect(t,e){this._currentEffect=t,this._currentEffectName=e}bindUniformBuffer(){!this._noUBO&&this._buffer&&this._currentEffect&&this._currentEffect.bindUniformBuffer(this._buffer,this._currentEffectName)}unbindEffect(){this._currentEffect=void 0,this._currentEffectName=void 0}setDataBuffer(t){if(!this._buffers)return this._buffer===t;for(let e=0;e<this._buffers.length;++e)if(this._buffers[e][0]===t)return this._bufferIndex=e,this._buffer=t,this._createBufferOnWrite=!1,this._currentEffect=void 0,this._buffers.length>1&&this._buffers[e][1]&&this._bufferData.set(this._buffers[e][1]),this._valueCache={},this._currentFrameId=this._engine.frameId,!0;return!1}has(t){return void 0!==this._uniformLocations[t]}dispose(){if(this._noUBO)return;let t=this._engine._uniformBuffers,e=t.indexOf(this);if(-1!==e&&(t[e]=t[t.length-1],t.pop()),this._trackUBOsInFrame&&this._buffers)for(let t=0;t<this._buffers.length;++t){let e=this._buffers[t][0];this._engine._releaseBuffer(e)}else this._buffer&&this._engine._releaseBuffer(this._buffer)&&(this._buffer=null)}}i._MAX_UNIFORM_SIZE=256,i._TempBuffer=new Float32Array(i._MAX_UNIFORM_SIZE),i._TempBufferInt32View=new Int32Array(i._TempBuffer.buffer),i._TempBufferUInt32View=new Uint32Array(i._TempBuffer.buffer),t.s(["UniformBuffer",0,i],39695);class f{static CompareLightsPriority(t,e){return t.shadowEnabled!==e.shadowEnabled?!!e.shadowEnabled-!!t.shadowEnabled:e.renderPriority-t.renderPriority}}f.FALLOFF_DEFAULT=0,f.FALLOFF_PHYSICAL=1,f.FALLOFF_GLTF=2,f.FALLOFF_STANDARD=3,f.LIGHTMAP_DEFAULT=0,f.LIGHTMAP_SPECULAR=1,f.LIGHTMAP_SHADOWSONLY=2,f.INTENSITYMODE_AUTOMATIC=0,f.INTENSITYMODE_LUMINOUSPOWER=1,f.INTENSITYMODE_LUMINOUSINTENSITY=2,f.INTENSITYMODE_ILLUMINANCE=3,f.INTENSITYMODE_LUMINANCE=4,f.LIGHTTYPEID_POINTLIGHT=0,f.LIGHTTYPEID_DIRECTIONALLIGHT=1,f.LIGHTTYPEID_SPOTLIGHT=2,f.LIGHTTYPEID_HEMISPHERICLIGHT=3,f.LIGHTTYPEID_RECT_AREALIGHT=4,f.LIGHTTYPEID_CLUSTERED_CONTAINER=5,t.s(["LightConstants",0,f],47283)},60216,t=>{"use strict";var e=t.i(35160);let r=!1;t.s(["RegisterEngineDynamicBuffer",0,function(){r||(r=!0,e.ThinEngine.prototype.updateDynamicIndexBuffer=function(t,e,r=0){let i;this._currentBoundBuffer[this._gl.ELEMENT_ARRAY_BUFFER]=null,this.bindIndexBuffer(t),i=t.is32Bits?e instanceof Uint32Array?e:new Uint32Array(e):e instanceof Uint16Array?e:new Uint16Array(e),this._gl.bufferData(this._gl.ELEMENT_ARRAY_BUFFER,i,this._gl.DYNAMIC_DRAW),this._resetIndexBufferBinding()},e.ThinEngine.prototype.updateDynamicVertexBuffer=function(t,e,r,i){this.bindArrayBuffer(t),void 0===r&&(r=0);let f=e.byteLength||e.length;void 0===i||i>=f&&0===r?e instanceof Array?this._gl.bufferSubData(this._gl.ARRAY_BUFFER,r,new Float32Array(e)):this._gl.bufferSubData(this._gl.ARRAY_BUFFER,r,e):e instanceof Array?this._gl.bufferSubData(this._gl.ARRAY_BUFFER,r,new Float32Array(e).subarray(0,i/4)):(e=ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,i):new Uint8Array(e,0,i),this._gl.bufferSubData(this._gl.ARRAY_BUFFER,r,e)),this._resetVertexBufferBinding()})}])},45707,t=>{"use strict";var e=t.i(43615),r=t.i(80434),i=t.i(28978),f=t.i(60216),s=t.i(33945);class a{get isDisposed(){return this._isDisposed}constructor(t,r,i,s=0,a=!1,n=!1,u=!1,_,o){this._isAlreadyOwned=!1,this._isDisposed=!1,(0,f.RegisterEngineDynamicBuffer)(),t&&t.getScene?this._engine=t.getScene().getEngine():this._engine=t,this._updatable=i,this._instanced=n,this._divisor=_||1,this._label=o,r instanceof e.DataBuffer?(this._data=null,this._buffer=r):(this._data=r,this._buffer=null),this.byteStride=u?s:s*Float32Array.BYTES_PER_ELEMENT,a||this.create()}createVertexBuffer(t,e,r,i,f,s=!1,a){let u=s?e:e*Float32Array.BYTES_PER_ELEMENT,_=i?s?i:i*Float32Array.BYTES_PER_ELEMENT:this.byteStride;return new n(this._engine,this,t,this._updatable,!0,_,void 0===f?this._instanced:f,u,r,void 0,void 0,!0,this._divisor||a)}isUpdatable(){return this._updatable}getData(){return this._data}getBuffer(){return this._buffer}getStrideSize(){return this.byteStride/Float32Array.BYTES_PER_ELEMENT}create(t=null){!t&&this._buffer||(t=t||this._data)&&(this._buffer?this._updatable&&(this._engine.updateDynamicVertexBuffer(this._buffer,t),this._data=t):this._updatable?(this._buffer=this._engine.createDynamicVertexBuffer(t,this._label),this._data=t):this._buffer=this._engine.createVertexBuffer(t,void 0,this._label))}_rebuild(){if(this._data)this._buffer=null,this.create(this._data);else if(this._buffer){if(this._buffer.capacity>0)return void(this._updatable?this._buffer=this._engine.createDynamicVertexBuffer(this._buffer.capacity,this._label):this._buffer=this._engine.createVertexBuffer(this._buffer.capacity,void 0,this._label));r.Logger.Warn(`Missing data for buffer "${this._label}" ${this._buffer?"(uniqueId: "+this._buffer.uniqueId+")":""}. Buffer reconstruction failed.`),this._buffer=null}}update(t){this.create(t)}updateDirectly(t,e,r,i=!1){this._buffer&&this._updatable&&(this._engine.updateDynamicVertexBuffer(this._buffer,t,i?e:e*Float32Array.BYTES_PER_ELEMENT,r?r*this.byteStride:void 0),0===e&&void 0===r?this._data=t:this._data=null)}_increaseReferences(){if(this._buffer){if(!this._isAlreadyOwned){this._isAlreadyOwned=!0;return}this._buffer.references++}}dispose(){this._buffer&&this._engine._releaseBuffer(this._buffer)&&(this._isDisposed=!0,this._data=null,this._buffer=null)}}class n{get isDisposed(){return this._isDisposed}get instanceDivisor(){return this._instanceDivisor}set instanceDivisor(t){let e=0!=t;this._instanceDivisor=t,e!==this._instanced&&(this._instanced=e,this._computeHashCode())}get _maxVerticesCount(){let t=this.getData();return t?Array.isArray(t)?t.length/(this.byteStride/4)-this.byteOffset/4:(t.byteLength-this.byteOffset)/this.byteStride:0}constructor(t,e,r,f,s,o,h,d,E,c,p=!1,l=!1,T=1,m=!1){let A;if(this._isDisposed=!1,this.engine=t,"object"==typeof f&&null!==f?(A=f.updatable??!1,s=f.postponeInternalCreation,o=f.stride,h=f.instanced,d=f.offset,E=f.size,c=f.type,p=f.normalized??!1,l=f.useBytes??!1,T=f.divisor??1,m=f.takeBufferOwnership??!1,this._label=f.label):A=!!f,e instanceof a?(this._buffer=e,this._ownsBuffer=m):(this._buffer=new a(t,e,A,o,s,h,l,T,this._label),this._ownsBuffer=!0),this.uniqueId=n._Counter++,this._kind=r,void 0===c){const t=this.getData();this.type=t?_(t):n.FLOAT}else this.type=c;const R=(0,i.GetTypeByteLength)(this.type);l?(this._size=E||(o?o/R:u(r)),this.byteStride=o||this._buffer.byteStride||this._size*R,this.byteOffset=d||0):(this._size=E||o||u(r),this.byteStride=o?o*R:this._buffer.byteStride||this._size*R,this.byteOffset=(d||0)*R),this.normalized=p,this._instanced=void 0!==h&&h,this._instanceDivisor=h?T:0,this._alignBuffer(),this._computeHashCode()}static _GetTypeHashIndex(t){switch(t){case n.BYTE:return 0;case n.UNSIGNED_BYTE:return 1;case n.SHORT:return 2;case n.UNSIGNED_SHORT:return 3;case n.INT:return 4;case n.UNSIGNED_INT:return 5;case n.FLOAT:return 6;case n.HALF_FLOAT:return 7;default:throw Error(`Invalid vertex buffer type '${t}'`)}}_computeHashCode(){this.hashCode=(0|n._GetTypeHashIndex(this.type))+(!!this.normalized<<3)+(this._size-1<<4)+(!!this._instanced<<6)+(this.byteStride<<12)}_rebuild(){this._buffer?._rebuild()}getKind(){return this._kind}isUpdatable(){return this._buffer.isUpdatable()}getData(){return this._buffer.getData()}getFloatData(t,e){let r=this.getData();return r?(0,i.GetFloatData)(r,this._size,this.type,this.byteOffset,this.byteStride,this.normalized,t,e):null}getBuffer(){return this._buffer.getBuffer()}getWrapperBuffer(){return this._buffer}getStrideSize(){return this.byteStride/(0,i.GetTypeByteLength)(this.type)}getOffset(){return this.byteOffset/(0,i.GetTypeByteLength)(this.type)}getSize(t=!1){return t?this._size*(0,i.GetTypeByteLength)(this.type):this._size}getIsInstanced(){return this._instanced}getInstanceDivisor(){return this._instanceDivisor}create(t){this._buffer.create(t),this._alignBuffer()}update(t){this._buffer.update(t),this._alignBuffer()}updateDirectly(t,e,r=!1){this._buffer.updateDirectly(t,e,void 0,r),this._alignBuffer()}dispose(){this._ownsBuffer&&this._buffer.dispose(),this._isDisposed=!0}forEach(t,e){(0,i.EnumerateFloatValues)(this._buffer.getData(),this.byteOffset,this.byteStride,this._size,this.type,t,this.normalized,(t,r)=>{for(let i=0;i<this._size;i++)e(t[i],r+i)})}_alignBuffer(){}}function u(t){switch(t){case n.UVKind:case n.UV2Kind:case n.UV3Kind:case n.UV4Kind:case n.UV5Kind:case n.UV6Kind:return 2;case n.NormalKind:case n.PositionKind:return 3;case n.ColorKind:case n.ColorInstanceKind:case n.MatricesIndicesKind:case n.MatricesIndicesExtraKind:case n.MatricesWeightsKind:case n.MatricesWeightsExtraKind:case n.TangentKind:return 4;default:throw Error("Invalid kind '"+t+"'")}}function _(t){if(t instanceof Int8Array)return n.BYTE;if(t instanceof Uint8Array)return n.UNSIGNED_BYTE;if(t instanceof Int16Array)return n.SHORT;if(t instanceof Uint16Array)return n.UNSIGNED_SHORT;if(t instanceof Int32Array)return n.INT;else if(t instanceof Uint32Array)return n.UNSIGNED_INT;else return n.FLOAT}function o(t){return(0,i.GetTypeByteLength)(t)}function h(t,e,r,f,s,a,n,u){(0,i.EnumerateFloatValues)(t,e,r,f,s,a,n,(t,e)=>{for(let r=0;r<f;r++)u(t[r],e+r)})}function d(t,e,r,f,s,a,n,u){return(0,i.GetFloatData)(t,e,r,f,s,a,n,u)}n._Counter=0,n.BYTE=5120,n.UNSIGNED_BYTE=5121,n.SHORT=5122,n.UNSIGNED_SHORT=5123,n.INT=5124,n.UNSIGNED_INT=5125,n.FLOAT=5126,n.HALF_FLOAT=5131,n.PositionKind="position",n.NormalKind="normal",n.TangentKind="tangent",n.UVKind="uv",n.UV2Kind="uv2",n.UV3Kind="uv3",n.UV4Kind="uv4",n.UV5Kind="uv5",n.UV6Kind="uv6",n.ColorKind="color",n.ColorInstanceKind="instanceColor",n.MatricesIndicesKind="matricesIndices",n.MatricesWeightsKind="matricesWeights",n.MatricesIndicesExtraKind="matricesIndicesExtra",n.MatricesWeightsExtraKind="matricesWeightsExtra";let E=!1;Object.getOwnPropertyDescriptor(n.prototype,"effectiveByteStride")||Object.defineProperty(n.prototype,"effectiveByteStride",(0,s._MissingSideEffectProperty)("VertexBuffer","effectiveByteStride")),Object.getOwnPropertyDescriptor(n.prototype,"effectiveByteOffset")||Object.defineProperty(n.prototype,"effectiveByteOffset",(0,s._MissingSideEffectProperty)("VertexBuffer","effectiveByteOffset")),Object.getOwnPropertyDescriptor(n.prototype,"effectiveBuffer")||Object.defineProperty(n.prototype,"effectiveBuffer",(0,s._MissingSideEffectProperty)("VertexBuffer","effectiveBuffer")),t.s(["Buffer",0,a,"RegisterVertexBuffer",0,function(){E||(E=!0,n.DeduceStride=u,n.GetDataType=_,n.GetTypeByteLength=o,n.ForEach=h,n.GetFloatData=d)},"VertexBuffer",0,n,"VertexBufferDeduceStride",0,u,"VertexBufferForEach",0,h,"VertexBufferGetTypeByteLength",0,o])},70432,t=>{"use strict";class e{constructor(t){this.length=0,this.data=Array(t),this._id=e._GlobalId++}push(t){this.data[this.length++]=t,this.length>this.data.length&&(this.data.length*=2)}forEach(t){for(let e=0;e<this.length;e++)t(this.data[e])}sort(t){this.data.sort(t)}reset(){this.length=0}dispose(){this.reset(),this.data&&(this.data.length=0)}concat(t){if(0!==t.length){this.length+t.length>this.data.length&&(this.data.length=(this.length+t.length)*2);for(let e=0;e<t.length;e++)this.data[this.length++]=(t.data||t)[e]}}indexOf(t){let e=this.data.indexOf(t);return e>=this.length?-1:e}contains(t){return -1!==this.indexOf(t)}}e._GlobalId=0,t.s(["SmartArray",0,e,"SmartArrayNoDuplicate",0,class extends e{constructor(){super(...arguments),this._duplicateId=0}push(t){super.push(t),t.__smartArrayFlags||(t.__smartArrayFlags={}),t.__smartArrayFlags[this._id]=this._duplicateId}pushNoDuplicate(t){return(!t.__smartArrayFlags||t.__smartArrayFlags[this._id]!==this._duplicateId)&&(this.push(t),!0)}reset(){super.reset(),this._duplicateId++}concatWithNoDuplicate(t){if(0!==t.length){this.length+t.length>this.data.length&&(this.data.length=(this.length+t.length)*2);for(let e=0;e<t.length;e++){let r=(t.data||t)[e];this.pushNoDuplicate(r)}}}}])},17538,t=>{"use strict";var e=t.i(7540),r=t.i(95410),i=t.i(43809),f=t.i(39695);let s=new r.Matrix,a=new r.Matrix,n=new r.Matrix,u={getScene:()=>void 0,eyeAtCamera:!0};function _(t,e,r){let i=r.asArray(),f=e.asArray();for(let t=0;t<16;t++)i[t]=f[t];return i[12]-=t.x,i[13]-=t.y,i[14]-=t.z,r.markAsUpdated(),r}function o(t,e,r){if(!u.eyeAtCamera)return(0,i.InvertMatrixToRef)(e,a),_(t,a,n),(0,i.InvertMatrixToRef)(n,r),r;let f=r.asArray(),s=e.asArray();for(let t=0;t<16;t++)f[t]=s[t];return f[12]=0,f[13]=0,f[14]=0,r.markAsUpdated(),r}function h(t,e,r,f){return(0,i.MultiplyMatricesToRef)(o(t,e,f),r,f),f}function d(t,e,r,f){return(0,i.InvertMatrixToRef)(r,a),(0,i.MultiplyMatricesToRef)(e,a,n),_(t,n,a),o(t,r,n),(0,i.MultiplyMatricesToRef)(a,n,f),f}function E(t,e,r,f,s,u){return(0,i.InvertMatrixToRef)(r,a),(0,i.MultiplyMatricesToRef)(e,a,n),_(t,n,a),h(t,f,s,n),(0,i.MultiplyMatricesToRef)(a,n,u),u}function c(t,e){let r=u.getScene();if(!r||s===e)return e;s.updateFlag=e.updateFlag;let i=r.floatingOriginOffset;switch(t){case"world":return _(i,e,s);case"view":return o(i,e,s);case"worldView":return d(i,e,r.getViewMatrix(),s);case"viewProjection":return h(i,r.getViewMatrix(),r.getProjectionMatrix(),s);case"worldViewProjection":return E(i,e,r.getTransformMatrix(),r.getViewMatrix(),r.getProjectionMatrix(),s);default:if(t.startsWith("u_")){let f=t.toLowerCase();if(f.startsWith("u_worldviewprojection"))return E(i,e,r.getTransformMatrix(),r.getViewMatrix(),r.getProjectionMatrix(),s);if(f.startsWith("u_viewprojection"))return h(i,r.getViewMatrix(),r.getProjectionMatrix(),s);if(f.startsWith("u_worldview"))return d(i,e,r.getViewMatrix(),s);if(f.startsWith("u_world"))return _(i,e,s);if(f.startsWith("u_view"))return o(i,e,s)}return e}}let p=f.UniformBuffer,l=e.Effect,T=p.prototype._updateMatrixForUniform,m=e.Effect.prototype.setMatrix;t.s(["FloatingOriginCurrentScene",0,u,"OverrideMatrixFunctions",0,function(){l.prototype._setMatrixOverride=m,l.prototype.setMatrix=function(t,e){return this._setMatrixOverride(t,c(t,e)),this},p.prototype._updateMatrixForUniformOverride=T,p.prototype._updateMatrixForUniform=function(t,e){this._updateMatrixForUniformOverride(t,c(t,e))}},"ResetMatrixFunctions",0,function(){e.Effect.prototype.setMatrix=m,l._setMatrixOverride=void 0,p.prototype._updateMatrixForUniform=T,p.prototype._updateMatrixForUniformOverride=void 0}])},14149,t=>{"use strict";class e{}e.NAME_EFFECTLAYER="EffectLayer",e.NAME_LAYER="Layer",e.NAME_LENSFLARESYSTEM="LensFlareSystem",e.NAME_BOUNDINGBOXRENDERER="BoundingBoxRenderer",e.NAME_PARTICLESYSTEM="ParticleSystem",e.NAME_GAMEPAD="Gamepad",e.NAME_SIMPLIFICATIONQUEUE="SimplificationQueue",e.NAME_GEOMETRYBUFFERRENDERER="GeometryBufferRenderer",e.NAME_PREPASSRENDERER="PrePassRenderer",e.NAME_DEPTHRENDERER="DepthRenderer",e.NAME_DEPTHPEELINGRENDERER="DepthPeelingRenderer",e.NAME_POSTPROCESSRENDERPIPELINEMANAGER="PostProcessRenderPipelineManager",e.NAME_SPRITE="Sprite",e.NAME_SUBSURFACE="SubSurface",e.NAME_OUTLINERENDERER="Outline",e.NAME_PROCEDURALTEXTURE="ProceduralTexture",e.NAME_SHADOWGENERATOR="ShadowGenerator",e.NAME_OCTREE="Octree",e.NAME_PHYSICSENGINE="PhysicsEngine",e.NAME_AUDIO="Audio",e.NAME_FLUIDRENDERER="FluidRenderer",e.NAME_IBLCDFGENERATOR="iblCDFGenerator",e.NAME_CLUSTEREDLIGHTING="ClusteredLighting",e.STEP_ISREADYFORMESH_EFFECTLAYER=0,e.STEP_ISREADYFORMESH_DEPTHRENDERER=1,e.STEP_BEFOREEVALUATEACTIVEMESH_BOUNDINGBOXRENDERER=0,e.STEP_EVALUATESUBMESH_BOUNDINGBOXRENDERER=0,e.STEP_PREACTIVEMESH_BOUNDINGBOXRENDERER=0,e.STEP_CAMERADRAWRENDERTARGET_EFFECTLAYER=1,e.STEP_BEFORECAMERADRAW_PREPASS=0,e.STEP_BEFORECAMERADRAW_EFFECTLAYER=1,e.STEP_BEFORECAMERADRAW_LAYER=2,e.STEP_BEFORERENDERTARGETDRAW_PREPASS=0,e.STEP_BEFORERENDERTARGETDRAW_LAYER=1,e.STEP_BEFORERENDERINGMESH_PREPASS=0,e.STEP_BEFORERENDERINGMESH_OUTLINE=1,e.STEP_AFTERRENDERINGMESH_PREPASS=0,e.STEP_AFTERRENDERINGMESH_OUTLINE=1,e.STEP_AFTERRENDERINGGROUPDRAW_EFFECTLAYER_DRAW=0,e.STEP_AFTERRENDERINGGROUPDRAW_BOUNDINGBOXRENDERER=1,e.STEP_BEFORECAMERAUPDATE_SIMPLIFICATIONQUEUE=0,e.STEP_BEFORECLEAR_PROCEDURALTEXTURE=0,e.STEP_BEFORECLEAR_PREPASS=1,e.STEP_BEFORERENDERTARGETCLEAR_PREPASS=0,e.STEP_AFTERRENDERTARGETDRAW_PREPASS=0,e.STEP_AFTERRENDERTARGETDRAW_LAYER=1,e.STEP_AFTERCAMERADRAW_PREPASS=0,e.STEP_AFTERCAMERADRAW_EFFECTLAYER=1,e.STEP_AFTERCAMERADRAW_LENSFLARESYSTEM=2,e.STEP_AFTERCAMERADRAW_EFFECTLAYER_DRAW=3,e.STEP_AFTERCAMERADRAW_LAYER=4,e.STEP_AFTERCAMERADRAW_FLUIDRENDERER=5,e.STEP_AFTERCAMERAPOSTPROCESS_LAYER=0,e.STEP_AFTERRENDERTARGETPOSTPROCESS_LAYER=0,e.STEP_AFTERRENDER_AUDIO=0,e.STEP_GATHERRENDERTARGETS_DEPTHRENDERER=0,e.STEP_GATHERRENDERTARGETS_GEOMETRYBUFFERRENDERER=1,e.STEP_GATHERRENDERTARGETS_SHADOWGENERATOR=2,e.STEP_GATHERRENDERTARGETS_POSTPROCESSRENDERPIPELINEMANAGER=3,e.STEP_GATHERACTIVECAMERARENDERTARGETS_DEPTHRENDERER=0,e.STEP_GATHERACTIVECAMERARENDERTARGETS_FLUIDRENDERER=1,e.STEP_GATHERACTIVECAMERARENDERTARGETS_CLUSTEREDLIGHTING=2,e.STEP_POINTERMOVE_SPRITE=0,e.STEP_POINTERDOWN_SPRITE=0,e.STEP_POINTERUP_SPRITE=0;class r extends Array{constructor(t){super(...t)}static Create(){return Object.create(r.prototype)}registerStep(t,e,r){let i=0;for(;i<this.length&&!(t<this[i].index);i++);this.splice(i,0,{index:t,component:e,action:r.bind(e)})}clear(){this.length=0}}t.s(["SceneComponentConstants",0,e,"Stage",0,r])}]);
|