@uptimizr/dashboard 0.4.7 → 0.4.8

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.
Files changed (386) hide show
  1. package/out/404.html +1 -1
  2. package/out/__next.__PAGE__.txt +9 -9
  3. package/out/__next._full.txt +10 -10
  4. package/out/__next._tree.txt +1 -1
  5. package/out/_next/static/chunks/{209sxygecny37.js → 0-6mdj5wxsfid.js} +1 -1
  6. package/out/_next/static/chunks/{0ybs1u66q26su.js → 0-qthfqvm1jyj.js} +1 -1
  7. package/out/_next/static/chunks/01viyuclp2gm9.js +1 -0
  8. package/out/_next/static/chunks/02aym4t2hgo5c.js +1 -0
  9. package/out/_next/static/chunks/02ic9b5ejugow.js +1 -0
  10. package/out/_next/static/chunks/03p70i4c7qt0v.js +1 -0
  11. package/out/_next/static/chunks/{33i36o_l69sm5.js → 03pjr-ivdicng.js} +1 -1
  12. package/out/_next/static/chunks/041a06-lxipy5.js +1 -0
  13. package/out/_next/static/chunks/{1zm6eo861i3c8.js → 06dzkwetqis-5.js} +1 -1
  14. package/out/_next/static/chunks/{3ipx7xbxchsq9.js → 06kvanz5-fo52.js} +1 -1
  15. package/out/_next/static/chunks/07y8ke_iy59dn.js +1 -0
  16. package/out/_next/static/chunks/09jukc-4jl735.js +1 -0
  17. package/out/_next/static/chunks/{35sne1llxnc-m.js → 09khmdgez3t0a.js} +18 -18
  18. package/out/_next/static/chunks/{02qk_wmkf9at-.js → 0_dca4876jshu.js} +38 -38
  19. package/out/_next/static/chunks/0axcgnl5qzr6e.js +1 -0
  20. package/out/_next/static/chunks/0ay4fjomijs3n.js +1 -0
  21. package/out/_next/static/chunks/0c7fy79wlccat.js +1 -0
  22. package/out/_next/static/chunks/0cqe4-l3imct3.js +1 -0
  23. package/out/_next/static/chunks/0cssvelju788j.js +1 -0
  24. package/out/_next/static/chunks/{0-_j1khfoib6l.js → 0ctain5xq2wsd.js} +12 -12
  25. package/out/_next/static/chunks/{22yqh0zlo_vwr.js → 0df-dr3otg_4w.js} +1 -1
  26. package/out/_next/static/chunks/{26y9sv8_-ykxf.js → 0endw997j7ao9.js} +1 -1
  27. package/out/_next/static/chunks/0ev_pbit1v_qg.js +1 -0
  28. package/out/_next/static/chunks/0eyw9oiwipywb.js +1 -0
  29. package/out/_next/static/chunks/0fkzbuo1tex4u.js +1 -0
  30. package/out/_next/static/chunks/0govas0u0t4w3.js +1 -0
  31. package/out/_next/static/chunks/{0grasqqf5dw7r.js → 0guzhnususp3-.js} +2 -2
  32. package/out/_next/static/chunks/0h7bq_ysu17q7.js +3 -0
  33. package/out/_next/static/chunks/0hneh_3xzlo28.js +1 -0
  34. package/out/_next/static/chunks/0iaqwme19z_0s.js +1 -0
  35. package/out/_next/static/chunks/0ibmar10xndpn.js +1 -0
  36. package/out/_next/static/chunks/0ii8mqoteppgh.js +11 -0
  37. package/out/_next/static/chunks/{1uh9zgsy69g92.js → 0ip6v64di_l6x.js} +1 -1
  38. package/out/_next/static/chunks/{267prao6fyt22.js → 0ixymgjgz3grn.js} +10 -10
  39. package/out/_next/static/chunks/0kuah8g7lt5ox.js +1 -0
  40. package/out/_next/static/chunks/0l3k4j19vxm17.js +1 -0
  41. package/out/_next/static/chunks/0l6hg0ohwh9-m.js +1 -0
  42. package/out/_next/static/chunks/0m4um4ylhlfan.js +1 -0
  43. package/out/_next/static/chunks/0mj837d4h0ddq.js +1 -0
  44. package/out/_next/static/chunks/0nyn-f4905o91.js +1 -0
  45. package/out/_next/static/chunks/0og6i9rsgkuif.js +1 -0
  46. package/out/_next/static/chunks/0os1x-fxzgnxs.js +1 -0
  47. package/out/_next/static/chunks/0otnra7mp0hog.js +1 -0
  48. package/out/_next/static/chunks/{1gttu-n9am66k.js → 0oyf2xzv8ofkk.js} +21 -21
  49. package/out/_next/static/chunks/0qvsy3gcqjm12.js +1 -0
  50. package/out/_next/static/chunks/{1qg1l7t00nyib.js → 0rl4ddh2vgxyl.js} +14 -14
  51. package/out/_next/static/chunks/0rwpttmsmqvn_.js +1 -0
  52. package/out/_next/static/chunks/0so3wjp9ch93y.js +1 -0
  53. package/out/_next/static/chunks/{43fp64xnfy646.js → 0te4g160_rb5d.js} +1 -1
  54. package/out/_next/static/chunks/0uby-zvu799ef.js +1 -0
  55. package/out/_next/static/chunks/{3h6akt2uu05ku.js → 0uvn0op2mlr2u.js} +12 -12
  56. package/out/_next/static/chunks/0vwj4hxjm0igv.js +1 -0
  57. package/out/_next/static/chunks/{1m9zc5gm-327d.js → 0w7c30w07uct2.js} +10 -10
  58. package/out/_next/static/chunks/0wm38z3u2133a.js +1 -0
  59. package/out/_next/static/chunks/0y7yk5al7_p8q.js +4 -0
  60. package/out/_next/static/chunks/0ycr0gi6fn6bt.js +1 -0
  61. package/out/_next/static/chunks/0ywvahq9t0tki.js +1 -0
  62. package/out/_next/static/chunks/0zh6nslagkby-.js +1 -0
  63. package/out/_next/static/chunks/{3vbamaoiuk9yj.js → 0zo8xa0nej3ex.js} +1 -1
  64. package/out/_next/static/chunks/{2of8q0kaeqpf0.js → 0zsir95gpf3xw.js} +1 -1
  65. package/out/_next/static/chunks/0zu6ryyj0ig-j.js +3 -0
  66. package/out/_next/static/chunks/{2c721vfva711t.js → 1-jv8k10q_1uw.js} +1 -1
  67. package/out/_next/static/chunks/1-s5ioie9a94e.js +1 -0
  68. package/out/_next/static/chunks/{13zcn4lv0qj76.js → 1-yos1h0qws5e.js} +11 -11
  69. package/out/_next/static/chunks/10o7brc3x027r.js +1 -0
  70. package/out/_next/static/chunks/{060iult6f68_e.js → 10pae4gb9i929.js} +29 -29
  71. package/out/_next/static/chunks/13p93itm8a3ym.js +1 -0
  72. package/out/_next/static/chunks/{0btmk0wmekl02.js → 147s8i_lktp4_.js} +2 -2
  73. package/out/_next/static/chunks/{3njwfothmmg7u.js → 14tgo5xt_3j4w.js} +1 -1
  74. package/out/_next/static/chunks/1699hx-vlak0n.js +22 -0
  75. package/out/_next/static/chunks/16d6n9e77rqti.js +1 -0
  76. package/out/_next/static/chunks/{3zs7l4362msjd.js → 16f3d5dv83rsr.js} +1 -1
  77. package/out/_next/static/chunks/16i_tpwn_cmr-.js +1 -0
  78. package/out/_next/static/chunks/{1by60_b14x-3o.js → 16rfr165nbha0.js} +1 -1
  79. package/out/_next/static/chunks/{0zqgq0lwtz9tn.js → 16sl51pvzo4tf.js} +1 -1
  80. package/out/_next/static/chunks/{2n-pveub8b_5t.js → 1760s-32qpwgg.js} +1 -1
  81. package/out/_next/static/chunks/{1u8snlm6a7uhi.js → 18kq07c5xy_4g.js} +4 -4
  82. package/out/_next/static/chunks/{1rcdimhu0qhlu.js → 190tbzt861ao3.js} +39 -39
  83. package/out/_next/static/chunks/19bhv6cupnnyj.js +1 -0
  84. package/out/_next/static/chunks/1_14pn2wwebxy.js +1 -0
  85. package/out/_next/static/chunks/{3huu0tqmxwowu.js → 1_kikmeubh0wq.js} +30 -30
  86. package/out/_next/static/chunks/1ay3z6agelsvz.js +1 -0
  87. package/out/_next/static/chunks/1b-fi3bfmpe31.js +1 -0
  88. package/out/_next/static/chunks/1bae3tqv53x9_.js +1 -0
  89. package/out/_next/static/chunks/1bf421g4peccx.js +2 -0
  90. package/out/_next/static/chunks/1bfony5qsc5tp.js +1 -0
  91. package/out/_next/static/chunks/{1e8_jl2cxd3rp.js → 1ddt0ot7kl8vq.js} +40 -40
  92. package/out/_next/static/chunks/1emz2vjkgck4z.js +1 -0
  93. package/out/_next/static/chunks/1eogzzw8i1wsg.js +1 -0
  94. package/out/_next/static/chunks/{2apihn9ra2ufp.js → 1g9p2h1-31q8o.js} +1 -1
  95. package/out/_next/static/chunks/1gcz1k1v1woca.js +1 -0
  96. package/out/_next/static/chunks/{3v-0c2aj6c0on.js → 1h8lyicgqhpxa.js} +1 -1
  97. package/out/_next/static/chunks/{3772oce1n3t_g.js → 1hot663akaepl.js} +1 -1
  98. package/out/_next/static/chunks/1i7pgl3ks5ye0.js +1 -0
  99. package/out/_next/static/chunks/{2sys9nj8lo3uk.js → 1i8sk_qgpdjhs.js} +1 -1
  100. package/out/_next/static/chunks/{30bhz7czzs4mf.js → 1kk3ct7pkpf3b.js} +1 -1
  101. package/out/_next/static/chunks/{33hp-khdfohdq.js → 1kq9o8del67le.js} +1 -1
  102. package/out/_next/static/chunks/{3d-i_skta_wes.js → 1l7tzyx2mumlq.js} +1 -1
  103. package/out/_next/static/chunks/1n_uwed9o--go.js +1 -0
  104. package/out/_next/static/chunks/1o351eldttogn.js +1 -0
  105. package/out/_next/static/chunks/1ogs4_aj84bfn.js +1 -0
  106. package/out/_next/static/chunks/{0sw-8gxbg4x0l.js → 1p206txlluipi.js} +18 -18
  107. package/out/_next/static/chunks/1p2bt1w845v6c.js +1 -0
  108. package/out/_next/static/chunks/1p3rgz4aef1gk.js +1 -0
  109. package/out/_next/static/chunks/{41b5gpyqbj58m.js → 1qcgdx9yl0gfx.js} +4 -4
  110. package/out/_next/static/chunks/1ql3mm2w5r-m8.js +1 -0
  111. package/out/_next/static/chunks/1qvcyuyshi3ll.js +53 -0
  112. package/out/_next/static/chunks/1r0yyg5a_0knc.js +1 -0
  113. package/out/_next/static/chunks/{15o4_2t-l3rj5.js → 1sa6qiidtcyk2.js} +1 -1
  114. package/out/_next/static/chunks/1t-9vrdrsi8le.js +1 -0
  115. package/out/_next/static/chunks/{1rlfg62jxqj3z.js → 1t97zo0tlpbnz.js} +1 -1
  116. package/out/_next/static/chunks/1te2tinzqnwck.js +1 -0
  117. package/out/_next/static/chunks/{3sa_hlx3konc7.js → 1trt-m2nrck0v.js} +1 -1
  118. package/out/_next/static/chunks/1ty9jpwr3o_st.js +1 -0
  119. package/out/_next/static/chunks/1u6w6veke8rze.js +1 -0
  120. package/out/_next/static/chunks/1u900urmrbv73.js +1 -0
  121. package/out/_next/static/chunks/{3_dgblylldcgb.js → 1vz2gd8k74lpi.js} +1 -1
  122. package/out/_next/static/chunks/1wkpl9bfb0wn7.js +1 -0
  123. package/out/_next/static/chunks/1wrly9a9c3teq.js +1 -0
  124. package/out/_next/static/chunks/1x0m05155yy4e.js +1 -0
  125. package/out/_next/static/chunks/{3xl-op0hwxytg.js → 1xf1wfow43ekc.js} +5 -5
  126. package/out/_next/static/chunks/1y10o40v9odam.js +1 -0
  127. package/out/_next/static/chunks/{2s6kpclh6ie7o.js → 1y_zykt3fpen4.js} +29 -29
  128. package/out/_next/static/chunks/1ye6xtbm16pg4.js +1 -0
  129. package/out/_next/static/chunks/{1t5oynmttpfsw.js → 1z6_57k5h31u7.js} +1 -1
  130. package/out/_next/static/chunks/{0lep3_bqwfuin.js → 1zboqft0h6mop.js} +1 -1
  131. package/out/_next/static/chunks/{43v4y2gu5z9_h.js → 1zr3c351x0ri5.js} +1 -1
  132. package/out/_next/static/chunks/2-5p2lcedvrli.js +1 -0
  133. package/out/_next/static/chunks/206hxrq60f1_e.js +1 -0
  134. package/out/_next/static/chunks/20r05k3-studj.js +1 -0
  135. package/out/_next/static/chunks/22gs24kj2du56.js +1 -0
  136. package/out/_next/static/chunks/22x5pd1gyp7sf.js +1 -0
  137. package/out/_next/static/chunks/{2a07so920b6aa.js → 22z-2t_yp1jzs.js} +1 -1
  138. package/out/_next/static/chunks/{30n4y_uu8chbh.js → 23hmfdw6z5zfy.js} +30 -30
  139. package/out/_next/static/chunks/23y1krqnc-8sm.js +1 -0
  140. package/out/_next/static/chunks/{3f8qelpscqfym.js → 24tbkj1qkux88.js} +2 -2
  141. package/out/_next/static/chunks/{2ao-3jzz7yw3p.js → 26cmri51v7497.js} +11 -11
  142. package/out/_next/static/chunks/27jalbk9zu-2b.js +1 -0
  143. package/out/_next/static/chunks/285d2s9096ryc.js +1 -0
  144. package/out/_next/static/chunks/296ykep2nvppv.js +1 -0
  145. package/out/_next/static/chunks/29nehg5cal-ug.js +1 -0
  146. package/out/_next/static/chunks/2_a56_k3x7to6.js +1 -0
  147. package/out/_next/static/chunks/2a-0l6eb1blh3.js +4 -0
  148. package/out/_next/static/chunks/{3qn6r8-0u6dij.js → 2a31-txop1jzg.js} +38 -38
  149. package/out/_next/static/chunks/2bse5vll1o-x0.js +1 -0
  150. package/out/_next/static/chunks/2ct40spu9wfj7.js +1 -0
  151. package/out/_next/static/chunks/{2kok6zedeeltw.js → 2ept01b7t-e03.js} +1 -1
  152. package/out/_next/static/chunks/{3w59kt5ztyvoq.js → 2ey5dqelco_g5.js} +1 -1
  153. package/out/_next/static/chunks/2fd_009hw7y0m.js +1 -0
  154. package/out/_next/static/chunks/{0fd-0i1yt23kz.js → 2ftz9kaxrsgxh.js} +1 -1
  155. package/out/_next/static/chunks/2gefdnozflr7p.js +1 -0
  156. package/out/_next/static/chunks/{2izok2otbk8-2.js → 2gs-u1n5uv7iz.js} +37 -37
  157. package/out/_next/static/chunks/{2r96kyeehsji9.js → 2hizqql79u-54.js} +1 -1
  158. package/out/_next/static/chunks/2iqf2dpdg_vfl.js +1 -0
  159. package/out/_next/static/chunks/2j7z127s_ycjd.js +1 -0
  160. package/out/_next/static/chunks/2kax7uslfxdnx.js +31 -0
  161. package/out/_next/static/chunks/2lh_w9rzy3vek.js +1 -0
  162. package/out/_next/static/chunks/{0rracz73p38mo.js → 2ln1na26qwp-3.js} +9 -9
  163. package/out/_next/static/chunks/2n08l1q5o_27e.js +1 -0
  164. package/out/_next/static/chunks/2n7268gyd9z-6.js +1 -0
  165. package/out/_next/static/chunks/2nq9cgjmtqwvp.js +1 -0
  166. package/out/_next/static/chunks/{005bbq_px7lke.js → 2oj8qc_pv14nk.js} +2 -2
  167. package/out/_next/static/chunks/2q24e72-olbe8.js +1 -0
  168. package/out/_next/static/chunks/2qc4hscs26cro.js +1 -0
  169. package/out/_next/static/chunks/{0gf-ztg86zd80.js → 2qe46redkqhfg.js} +1 -1
  170. package/out/_next/static/chunks/2qmfe0mqw150h.js +1 -0
  171. package/out/_next/static/chunks/2qtc0nbl_521e.js +1 -0
  172. package/out/_next/static/chunks/{0e1jfrmioeuws.js → 2rofu6gu1xzuq.js} +1 -1
  173. package/out/_next/static/chunks/2tdi94rkq739i.js +1 -0
  174. package/out/_next/static/chunks/2u_2sacqa9xa7.js +1 -0
  175. package/out/_next/static/chunks/2ujqz6088shm5.js +1 -0
  176. package/out/_next/static/chunks/{1l_3oidssbhns.js → 2urh9qafp3fiw.js} +17 -17
  177. package/out/_next/static/chunks/{05v-nubi896jg.js → 2v06n4z8wsmn9.js} +1 -1
  178. package/out/_next/static/chunks/2vp-5skbk1nfu.js +1 -0
  179. package/out/_next/static/chunks/2vu973j_n6cpx.js +1 -0
  180. package/out/_next/static/chunks/{37cnbm5ft1mqf.js → 2wwra56rehfcj.js} +1 -1
  181. package/out/_next/static/chunks/2xpwr97h2asal.js +1 -0
  182. package/out/_next/static/chunks/3000-0b8n9t_2.js +1 -0
  183. package/out/_next/static/chunks/30t3203d7p2da.js +1 -0
  184. package/out/_next/static/chunks/31kto7-dxkt3z.js +1 -0
  185. package/out/_next/static/chunks/{2lsvk7xcfkarc.js → 32oflcl79d8mu.js} +1 -1
  186. package/out/_next/static/chunks/32ovg81ae0l03.js +1 -0
  187. package/out/_next/static/chunks/{0z9erbl3llr_b.js → 331kthnvoma7n.js} +16 -16
  188. package/out/_next/static/chunks/{0q75860p8u_ii.js → 337kn1mn34rc6.js} +1 -1
  189. package/out/_next/static/chunks/{2tc3e-iqv71y_.js → 33xug8kf0-a1o.js} +1 -1
  190. package/out/_next/static/chunks/{1-ogak5u00kwa.js → 34dcb7_flbrvo.js} +1 -1
  191. package/out/_next/static/chunks/34zotyeqrz_nq.js +1 -0
  192. package/out/_next/static/chunks/351wsmi75l8db.js +1 -0
  193. package/out/_next/static/chunks/{15jlgfcaeaki9.js → 36yv-ialtpx98.js} +1 -1
  194. package/out/_next/static/chunks/37hwasxtee5e0.js +1 -0
  195. package/out/_next/static/chunks/37t0iclgxes05.js +1 -0
  196. package/out/_next/static/chunks/{1q4lkgxfnqnew.js → 37xnvnx1jxfaf.js} +1 -1
  197. package/out/_next/static/chunks/{2z_iab7ozohhq.js → 38w74ixqt-9co.js} +16 -16
  198. package/out/_next/static/chunks/{2h249uvhh2sij.js → 39t2x_9zd2rst.js} +10 -10
  199. package/out/_next/static/chunks/{0thw099xk3_0p.js → 39v73timmzwny.js} +2 -2
  200. package/out/_next/static/chunks/{2n3xu_wbvtj7h.js → 3_xqc3658d8sw.js} +12 -12
  201. package/out/_next/static/chunks/3ba8eudvlczwe.js +1 -0
  202. package/out/_next/static/chunks/{2q6l-xdqzgmpf.js → 3buezhxqc8n6n.js} +1 -1
  203. package/out/_next/static/chunks/{1zt1xxovnjhkm.js → 3c5iwwj-fhbue.js} +1 -1
  204. package/out/_next/static/chunks/{2urx6fow8c8c9.js → 3d8ot2tw6yqfq.js} +12 -12
  205. package/out/_next/static/chunks/3dc057ffe7ij-.js +1 -0
  206. package/out/_next/static/chunks/3djnlzwj9869o.js +1 -0
  207. package/out/_next/static/chunks/{2y8i7_nxm4r05.js → 3fuqxjjf8o1v9.js} +5 -5
  208. package/out/_next/static/chunks/{0z004fn14pbcu.js → 3gt6rzg9qw-an.js} +1 -1
  209. package/out/_next/static/chunks/{1tgj55b305g4h.js → 3h_05w5j8x538.js} +1 -1
  210. package/out/_next/static/chunks/{3j9xvdz55bi4p.js → 3hkhd1_k8xohv.js} +33 -33
  211. package/out/_next/static/chunks/{42ymanq326mo7.js → 3ijcc5tfisfnj.js} +1 -1
  212. package/out/_next/static/chunks/3j0dbpd9zop3p.js +1 -0
  213. package/out/_next/static/chunks/{1zkd8v-qka--j.js → 3ju83xk-ca7ma.js} +21 -21
  214. package/out/_next/static/chunks/3jxhl4apmhbm1.js +13 -0
  215. package/out/_next/static/chunks/{302qk2fjdrthp.js → 3la99oz_0p0r6.js} +5 -5
  216. package/out/_next/static/chunks/3n1b34fd5fdrh.js +1 -0
  217. package/out/_next/static/chunks/{2j120dkh7q3uf.js → 3nq_hq4x3rn3r.js} +1 -1
  218. package/out/_next/static/chunks/3pgb1kkqrdl9t.js +1 -0
  219. package/out/_next/static/chunks/3pik_-jj-zkfl.js +1 -0
  220. package/out/_next/static/chunks/{2w99knknr5i8c.js → 3q38kdbzd2nbd.js} +1 -1
  221. package/out/_next/static/chunks/3q5zl4ks17au2.js +1 -0
  222. package/out/_next/static/chunks/{2uo6vm7mfgrbf.js → 3qr10445lte-n.js} +1 -1
  223. package/out/_next/static/chunks/3r-8bnguvxsyo.js +1 -0
  224. package/out/_next/static/chunks/3sg56j8boe-3o.js +1 -0
  225. package/out/_next/static/chunks/{2q8yg63br2jc9.js → 3u7zj1-jdg781.js} +1 -1
  226. package/out/_next/static/chunks/{32_c4mbb6j1l6.js → 3wj5dmf6cywz8.js} +22 -22
  227. package/out/_next/static/chunks/{3oqxl46ukaojj.js → 3wr_oijfsq8lr.js} +11 -11
  228. package/out/_next/static/chunks/3xu0dh1ikzwj2.js +1 -0
  229. package/out/_next/static/chunks/3y5tpixt23-fl.js +1 -0
  230. package/out/_next/static/chunks/40gjf-_jt8upu.js +5 -0
  231. package/out/_next/static/chunks/41f12o_5lf-i9.js +1 -0
  232. package/out/_next/static/chunks/42ma8lqduohlc.js +1 -0
  233. package/out/_next/static/chunks/{0ai0zgbgjqb92.js → 43usshq2nc125.js} +1 -1
  234. package/out/_next/static/chunks/{0hajwk2yd-rwr.js → 44bl4ufopbmyh.js} +1 -1
  235. package/out/_next/static/chunks/44iutzkw9r21x.js +1 -0
  236. package/out/_next/static/chunks/turbopack-1xrxa3noq196-.js +1 -0
  237. package/out/_not-found/__next._full.txt +8 -8
  238. package/out/_not-found/__next._not-found.__PAGE__.txt +7 -7
  239. package/out/_not-found/__next._tree.txt +1 -1
  240. package/out/_not-found.html +1 -1
  241. package/out/_not-found.txt +8 -8
  242. package/out/index.html +1 -1
  243. package/out/index.txt +10 -10
  244. package/package.json +9 -9
  245. package/out/_next/static/chunks/00fbhtmui-yxg.js +0 -1
  246. package/out/_next/static/chunks/017pn-pen381_.js +0 -1
  247. package/out/_next/static/chunks/01vov6inx1zzt.js +0 -1
  248. package/out/_next/static/chunks/03bd5plut08tg.js +0 -1
  249. package/out/_next/static/chunks/03dwfqmo73w_z.js +0 -1
  250. package/out/_next/static/chunks/03sn4419dam-h.js +0 -5
  251. package/out/_next/static/chunks/05ere0-228syf.js +0 -1
  252. package/out/_next/static/chunks/05h8u5lrypn5m.js +0 -1
  253. package/out/_next/static/chunks/05z79zh625ezu.js +0 -1
  254. package/out/_next/static/chunks/08lvtnv7b1cxp.js +0 -1
  255. package/out/_next/static/chunks/0_v2luu_qmeid.js +0 -1
  256. package/out/_next/static/chunks/0boov9mwycanf.js +0 -1
  257. package/out/_next/static/chunks/0d8x8m2x6ca_m.js +0 -1
  258. package/out/_next/static/chunks/0dmrdrwtd093b.js +0 -1
  259. package/out/_next/static/chunks/0e7nlxmneb2j_.js +0 -1
  260. package/out/_next/static/chunks/0es97pusfxupl.js +0 -1
  261. package/out/_next/static/chunks/0fxdyvb1w23d1.js +0 -1
  262. package/out/_next/static/chunks/0fxhc24djjcgq.js +0 -1
  263. package/out/_next/static/chunks/0hk1wg7h4araz.js +0 -1
  264. package/out/_next/static/chunks/0j74ipw4fps-n.js +0 -1
  265. package/out/_next/static/chunks/0kj-vckdn7t5p.js +0 -1
  266. package/out/_next/static/chunks/0lbs5xdyjuzuo.js +0 -1
  267. package/out/_next/static/chunks/0mp0jh1gj7290.js +0 -1
  268. package/out/_next/static/chunks/0ngpoj2g5i4kz.js +0 -1
  269. package/out/_next/static/chunks/0nhljhguceh66.js +0 -1
  270. package/out/_next/static/chunks/0p6z73afb9dj2.js +0 -1
  271. package/out/_next/static/chunks/0p9zfmidzqkps.js +0 -1
  272. package/out/_next/static/chunks/0sx-6rf3eteqn.js +0 -1
  273. package/out/_next/static/chunks/0u85f0dhb4i8e.js +0 -1
  274. package/out/_next/static/chunks/0uk7kigzm4vi2.js +0 -31
  275. package/out/_next/static/chunks/0ulufxnsrou61.js +0 -1
  276. package/out/_next/static/chunks/0xa9dyg6ezzyd.js +0 -2
  277. package/out/_next/static/chunks/0xvrfvur0p534.js +0 -1
  278. package/out/_next/static/chunks/0ydfhk-p6zvm0.js +0 -1
  279. package/out/_next/static/chunks/0zcsxvcvog9ue.js +0 -1
  280. package/out/_next/static/chunks/10_5p5-xf2aoo.js +0 -1
  281. package/out/_next/static/chunks/118qlrzdwpfmo.js +0 -1
  282. package/out/_next/static/chunks/11km5p4gd0ut4.js +0 -1
  283. package/out/_next/static/chunks/120rl4l29q9xs.js +0 -1
  284. package/out/_next/static/chunks/129m5i93ltoym.js +0 -1
  285. package/out/_next/static/chunks/12n73o884lyyl.js +0 -1
  286. package/out/_next/static/chunks/175st2ogkg_1o.js +0 -1
  287. package/out/_next/static/chunks/19rsodtu91ja_.js +0 -1
  288. package/out/_next/static/chunks/1a2ouhup611bz.js +0 -1
  289. package/out/_next/static/chunks/1cyq7i39885sl.js +0 -1
  290. package/out/_next/static/chunks/1d9it6yocgt54.js +0 -1
  291. package/out/_next/static/chunks/1dp1s1t-y7gal.js +0 -1
  292. package/out/_next/static/chunks/1dr7gh6xgypl8.js +0 -1
  293. package/out/_next/static/chunks/1dt30s_sp8415.js +0 -1
  294. package/out/_next/static/chunks/1f1rek_fxk3of.js +0 -1
  295. package/out/_next/static/chunks/1f2mna0k5efeq.js +0 -1
  296. package/out/_next/static/chunks/1gfz3sxwkkg3d.js +0 -1
  297. package/out/_next/static/chunks/1gr35qeguuws0.js +0 -1
  298. package/out/_next/static/chunks/1imi0xwi9hd99.js +0 -1
  299. package/out/_next/static/chunks/1ka5v5zu0cstt.js +0 -1
  300. package/out/_next/static/chunks/1n9nhz-6azcp3.js +0 -3
  301. package/out/_next/static/chunks/1ncqwe81t_9_x.js +0 -1
  302. package/out/_next/static/chunks/1nix_lulkpklo.js +0 -1
  303. package/out/_next/static/chunks/1ntqovuz2c217.js +0 -1
  304. package/out/_next/static/chunks/1pgs-98tfkq9_.js +0 -1
  305. package/out/_next/static/chunks/1q2z0aeopo8t8.js +0 -1
  306. package/out/_next/static/chunks/1ses023uud001.js +0 -1
  307. package/out/_next/static/chunks/1t9i20i5-f8ze.js +0 -1
  308. package/out/_next/static/chunks/1ug4k-1zhr63a.js +0 -1
  309. package/out/_next/static/chunks/1vrpzlif-z_p0.js +0 -1
  310. package/out/_next/static/chunks/1vurgl6oz2qey.js +0 -17
  311. package/out/_next/static/chunks/1w-qc09n9ijtq.js +0 -1
  312. package/out/_next/static/chunks/1ycqxcht6x54p.js +0 -1
  313. package/out/_next/static/chunks/1zj4307ugq0qz.js +0 -1
  314. package/out/_next/static/chunks/1zm52cjrfrq7c.js +0 -1
  315. package/out/_next/static/chunks/1zp9363yfhpom.js +0 -1
  316. package/out/_next/static/chunks/2-3hk_db5fpok.js +0 -1
  317. package/out/_next/static/chunks/2-bv9a_0zgw1f.js +0 -1
  318. package/out/_next/static/chunks/216uiih3_vdfd.js +0 -1
  319. package/out/_next/static/chunks/21kfpd_bityxt.js +0 -1
  320. package/out/_next/static/chunks/24ecas0m9tao7.js +0 -3
  321. package/out/_next/static/chunks/24pq9210rng3f.js +0 -1
  322. package/out/_next/static/chunks/26skkagvj1z96.js +0 -1
  323. package/out/_next/static/chunks/2701xfv_07wz_.js +0 -1
  324. package/out/_next/static/chunks/271333m8y3k0e.js +0 -1
  325. package/out/_next/static/chunks/29rkmguzky-bp.js +0 -1
  326. package/out/_next/static/chunks/2a2oy8ryz2tsk.js +0 -1
  327. package/out/_next/static/chunks/2apnpj0-fs9ks.js +0 -1
  328. package/out/_next/static/chunks/2b481pitl4k85.js +0 -1
  329. package/out/_next/static/chunks/2bettxaqt3d2p.js +0 -1
  330. package/out/_next/static/chunks/2d2kl_m64j9cb.js +0 -1
  331. package/out/_next/static/chunks/2droqjmvmgj13.js +0 -1
  332. package/out/_next/static/chunks/2dxbvwbbgpzoq.js +0 -1
  333. package/out/_next/static/chunks/2eqbsut829r5l.js +0 -1
  334. package/out/_next/static/chunks/2f3_mzxjh3gso.js +0 -1
  335. package/out/_next/static/chunks/2fsde0jwi5qtt.js +0 -1
  336. package/out/_next/static/chunks/2j2ynchpqh34-.js +0 -1
  337. package/out/_next/static/chunks/2kj6pzs_wap1v.js +0 -1
  338. package/out/_next/static/chunks/2lnj9jruy4nrv.js +0 -1
  339. package/out/_next/static/chunks/2ofwtw6p08sfz.js +0 -1
  340. package/out/_next/static/chunks/2phl5ta4iim7l.js +0 -12
  341. package/out/_next/static/chunks/2r5qgieqldcd9.js +0 -1
  342. package/out/_next/static/chunks/2r7y401cvjc1s.js +0 -1
  343. package/out/_next/static/chunks/2rmc6ru7mc-kg.js +0 -1
  344. package/out/_next/static/chunks/2w2k1gveljyb7.js +0 -1
  345. package/out/_next/static/chunks/2w_ptlw-ad8-9.js +0 -4
  346. package/out/_next/static/chunks/2ws1s9d52ayv8.js +0 -1
  347. package/out/_next/static/chunks/2x7enks3ydgai.js +0 -1
  348. package/out/_next/static/chunks/2ydub0t01728d.js +0 -1
  349. package/out/_next/static/chunks/3-m_vzabs1uez.js +0 -1
  350. package/out/_next/static/chunks/3527r3jo5fj3i.js +0 -1
  351. package/out/_next/static/chunks/355dg8yaa94hr.js +0 -1
  352. package/out/_next/static/chunks/35ntbr_c-yx44.js +0 -1
  353. package/out/_next/static/chunks/36enkx1skkv2-.js +0 -4
  354. package/out/_next/static/chunks/38xdo3cifphut.js +0 -1
  355. package/out/_next/static/chunks/3beawo-qwuk8k.js +0 -1
  356. package/out/_next/static/chunks/3cj_6sl9kr3e9.js +0 -1
  357. package/out/_next/static/chunks/3df_l2we755bb.js +0 -1
  358. package/out/_next/static/chunks/3eve5y7fpzx2h.js +0 -1
  359. package/out/_next/static/chunks/3ewgyb4y19w-3.js +0 -1
  360. package/out/_next/static/chunks/3f3789eh18_oy.js +0 -1
  361. package/out/_next/static/chunks/3g3-e9m1en45q.js +0 -1
  362. package/out/_next/static/chunks/3i239y-1hbkm-.js +0 -1
  363. package/out/_next/static/chunks/3kp8qmhoi24oz.js +0 -1
  364. package/out/_next/static/chunks/3ksq69yq-40_r.js +0 -1
  365. package/out/_next/static/chunks/3qye1lytea2i8.js +0 -1
  366. package/out/_next/static/chunks/3rlp9yr75liz7.js +0 -1
  367. package/out/_next/static/chunks/3tyo643l62h3m.js +0 -1
  368. package/out/_next/static/chunks/3tz2tpqa9uvwm.js +0 -1
  369. package/out/_next/static/chunks/3utpc-fc6_y0f.js +0 -1
  370. package/out/_next/static/chunks/3v6nxa28rxngq.js +0 -1
  371. package/out/_next/static/chunks/3vv99btjc-mky.js +0 -1
  372. package/out/_next/static/chunks/3x02lxdo28u9i.js +0 -1
  373. package/out/_next/static/chunks/3ydnxyc4rvad_.js +0 -1
  374. package/out/_next/static/chunks/3ylg4gfetwgxw.js +0 -1
  375. package/out/_next/static/chunks/3zdtteq-r2fs5.js +0 -62
  376. package/out/_next/static/chunks/3zkwt0gybqtgm.js +0 -1
  377. package/out/_next/static/chunks/40etabvml_71y.js +0 -1
  378. package/out/_next/static/chunks/417jkzz0slv9m.js +0 -1
  379. package/out/_next/static/chunks/41u2-5jayyajf.js +0 -22
  380. package/out/_next/static/chunks/42gcpy51w7lk1.js +0 -1
  381. package/out/_next/static/chunks/44cer242u-f8v.js +0 -1
  382. package/out/_next/static/chunks/44zi0gl0a6a8w.js +0 -1
  383. package/out/_next/static/chunks/turbopack-0n2o5_bkskckx.js +0 -1
  384. /package/out/_next/static/{A1hxMz783bIWo0Q9qqV3L → 4r0L0ZMJeBwOJCVDsvvZ4}/_buildManifest.js +0 -0
  385. /package/out/_next/static/{A1hxMz783bIWo0Q9qqV3L → 4r0L0ZMJeBwOJCVDsvvZ4}/_clientMiddlewareManifest.js +0 -0
  386. /package/out/_next/static/{A1hxMz783bIWo0Q9qqV3L → 4r0L0ZMJeBwOJCVDsvvZ4}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,51760,e=>{"use strict";var r=e.i(2342);let i="harmonicsFunctions",f=`#ifdef USESPHERICALFROMREFLECTIONMAP
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,96528,e=>{"use strict";var r=e.i(25044);let i="harmonicsFunctions",f=`#ifdef USESPHERICALFROMREFLECTIONMAP
2
2
  #ifdef SPHERICAL_HARMONICS
3
3
  fn computeEnvironmentIrradiance(normal: vec3f)->vec3f {return uniforms.vSphericalL00
4
4
  + uniforms.vSphericalL1_1*(normal.y)
@@ -13,7 +13,7 @@ fn computeEnvironmentIrradiance(normal: vec3f)->vec3f {return uniforms.vSpherica
13
13
  fn computeEnvironmentIrradiance(normal: vec3f)->vec3f {var Nx: f32=normal.x;var Ny: f32=normal.y;var Nz: f32=normal.z;var C1: vec3f=uniforms.vSphericalZZ.rgb;var Cx: vec3f=uniforms.vSphericalX.rgb;var Cy: vec3f=uniforms.vSphericalY.rgb;var Cz: vec3f=uniforms.vSphericalZ.rgb;var Cxx_zz: vec3f=uniforms.vSphericalXX_ZZ.rgb;var Cyy_zz: vec3f=uniforms.vSphericalYY_ZZ.rgb;var Cxy: vec3f=uniforms.vSphericalXY.rgb;var Cyz: vec3f=uniforms.vSphericalYZ.rgb;var Czx: vec3f=uniforms.vSphericalZX.rgb;var a1: vec3f=Cyy_zz*Ny+Cy;var a2: vec3f=Cyz*Nz+a1;var b1: vec3f=Czx*Nz+Cx;var b2: vec3f=Cxy*Ny+b1;var b3: vec3f=Cxx_zz*Nx+b2;var t1: vec3f=Cz *Nz+C1;var t2: vec3f=a2 *Ny+t1;var t3: vec3f=b3 *Nx+t2;return t3;}
14
14
  #endif
15
15
  #endif
16
- `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["harmonicsFunctionsWGSL",0,{name:i,shader:f}])},35551,e=>{"use strict";var r=e.i(2342);let i="helperFunctions",f=`const PI: f32=3.1415926535897932384626433832795;const TWO_PI: f32=6.283185307179586;const HALF_PI: f32=1.5707963267948966;const RECIPROCAL_PI: f32=0.3183098861837907;const RECIPROCAL_PI2: f32=0.15915494309189535;const RECIPROCAL_PI4: f32=0.07957747154594767;const HALF_MIN: f32=5.96046448e-08;
16
+ `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["harmonicsFunctionsWGSL",0,{name:i,shader:f}])},65503,e=>{"use strict";var r=e.i(25044);let i="helperFunctions",f=`const PI: f32=3.1415926535897932384626433832795;const TWO_PI: f32=6.283185307179586;const HALF_PI: f32=1.5707963267948966;const RECIPROCAL_PI: f32=0.3183098861837907;const RECIPROCAL_PI2: f32=0.15915494309189535;const RECIPROCAL_PI4: f32=0.07957747154594767;const HALF_MIN: f32=5.96046448e-08;
17
17
  const LinearEncodePowerApprox: f32=2.2;const GammaEncodePowerApprox: f32=1.0/LinearEncodePowerApprox;const LuminanceEncodeApprox: vec3f=vec3f(0.2126,0.7152,0.0722);const Epsilon:f32=0.0000001;fn square(x: f32)->f32 {return x*x;}
18
18
  fn saturate(x: f32)->f32 {return clamp(x,0.0,1.0);}
19
19
  fn saturateVec3(x: vec3f)->vec3f {return clamp(x,vec3f(),vec3f(1.0));}
@@ -99,16 +99,16 @@ fn max3(v: vec3f)->f32 {return max(v.x,max(v.y,v.z));}
99
99
  fn uint2float(i: u32)->f32 {return bitcast<f32>(0x3F800000u | (i>>9u))-1.0;}
100
100
  fn plasticSequence(rstate: u32)->vec2f {return vec2f(uint2float(rstate*3242174889u),
101
101
  uint2float(rstate*2447445414u));}
102
- `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["helperFunctionsWGSL",0,{name:i,shader:f}])},67263,e=>{"use strict";var r=e.i(2342);let i="logDepthDeclaration",f=`#ifdef LOGARITHMICDEPTH
102
+ `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["helperFunctionsWGSL",0,{name:i,shader:f}])},69288,e=>{"use strict";var r=e.i(25044);let i="logDepthDeclaration",f=`#ifdef LOGARITHMICDEPTH
103
103
  uniform logarithmicDepthConstant: f32;varying vFragmentDepth: f32;
104
104
  #endif
105
- `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["logDepthDeclarationWGSL",0,{name:i,shader:f}])},77918,e=>{"use strict";var r=e.i(2342);let i="mainUVVaryingDeclaration",f=`#ifdef MAINUV{X}
105
+ `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["logDepthDeclarationWGSL",0,{name:i,shader:f}])},48585,e=>{"use strict";var r=e.i(25044);let i="mainUVVaryingDeclaration",f=`#ifdef MAINUV{X}
106
106
  varying vMainUV{X}: vec2f;
107
107
  #endif
108
- `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["mainUVVaryingDeclarationWGSL",0,{name:i,shader:f}])},25661,e=>{"use strict";var r=e.i(2342);let i="meshUboDeclaration",f=`struct Mesh {world : mat4x4<f32>,
108
+ `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["mainUVVaryingDeclarationWGSL",0,{name:i,shader:f}])},95057,e=>{"use strict";var r=e.i(25044);let i="meshUboDeclaration",f=`struct Mesh {world : mat4x4<f32>,
109
109
  visibility : f32,};var<uniform> mesh : Mesh;
110
110
  #define WORLD_UBO
111
- `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["meshUboDeclarationWGSL",0,{name:i,shader:f}])},7112,98092,32895,e=>{"use strict";var r=e.i(2342);let i="openpbrDielectricReflectance",f=`struct ReflectanceParams
111
+ `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["meshUboDeclarationWGSL",0,{name:i,shader:f}])},47622,41690,32923,e=>{"use strict";var r=e.i(25044);let i="openpbrDielectricReflectance",f=`struct ReflectanceParams
112
112
  {F0: f32,
113
113
  F90: f32,
114
114
  coloredF0: vec3f,
@@ -129,7 +129,7 @@ let maxF0=max(specularColor.r,max(specularColor.g,specularColor.b));outParams.F0
129
129
  outParams.F0=dielectricF0*specularWeight;
130
130
  #endif
131
131
  outParams.F90=f90Scale*specularWeight;outParams.coloredF0=vec3f(dielectricF0*specularWeight)*specularColor.rgb;outParams.coloredF90=dielectricColorF90*vec3f(specularWeight);return outParams;}
132
- `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["openpbrDielectricReflectanceWGSL",0,{name:i,shader:f}],7112);let t="openpbrGeometryInfo",n=`struct geometryInfoOutParams
132
+ `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["openpbrDielectricReflectanceWGSL",0,{name:i,shader:f}],47622);let t="openpbrGeometryInfo",n=`struct geometryInfoOutParams
133
133
  {NdotV: f32,
134
134
  NdotVUnclamped: f32,
135
135
  environmentBrdf: vec3f,
@@ -166,7 +166,7 @@ normalW: vec3f,viewDirectionW: vec3f,roughness: f32,geometricNormalW: vec3f
166
166
  ,vAnisotropy: vec3f,TBN: mat3x3<f32>
167
167
  )->geometryInfoAnisoOutParams
168
168
  {let geoInfo: geometryInfoOutParams=geometryInfo(normalW,viewDirectionW,roughness,geometricNormalW);var outParams: geometryInfoAnisoOutParams;outParams.NdotV=geoInfo.NdotV;outParams.NdotVUnclamped=geoInfo.NdotVUnclamped;outParams.environmentBrdf=geoInfo.environmentBrdf;outParams.horizonOcclusion=geoInfo.horizonOcclusion;outParams.anisotropy=vAnisotropy.b;let anisotropyDirection: vec3f=vec3f(vAnisotropy.xy,0.);let anisoTBN: mat3x3<f32>=mat3x3<f32>(normalize(TBN[0]),normalize(TBN[1]),normalize(TBN[2]));outParams.anisotropicTangent=normalize(anisoTBN*anisotropyDirection);outParams.anisotropicBitangent=normalize(cross(anisoTBN[2],outParams.anisotropicTangent));outParams.TBN=TBN;return outParams;}
169
- `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=n),e.s(["openpbrGeometryInfoWGSL",0,{name:t,shader:n}],98092);let o="openpbrIblFunctions",a=`#ifdef REFLECTION
169
+ `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=n),e.s(["openpbrGeometryInfoWGSL",0,{name:t,shader:n}],41690);let o="openpbrIblFunctions",a=`#ifdef REFLECTION
170
170
  fn sampleIrradiance(
171
171
  surfaceNormal: vec3f
172
172
  #if defined(NORMAL) && defined(USESPHERICALINVERTEX)
@@ -385,7 +385,7 @@ return getReflectanceFromBRDFLookup(reflectance.coloredF0,reflectance.coloredF90
385
385
  #endif
386
386
  }
387
387
  #endif
388
- `;r.ShaderStore.IncludesShadersStoreWGSL[o]||(r.ShaderStore.IncludesShadersStoreWGSL[o]=a),e.s(["openpbrIblFunctionsWGSL",0,{name:o,shader:a}],32895)},57630,e=>{"use strict";var r=e.i(2342);let i="openpbrSubsurfaceLayerData",f=`var subsurface_weight: f32=uniforms.vSubsurfaceWeight;var subsurface_color: vec3f=uniforms.vSubsurfaceColor.rgb;var subsurface_radius: f32=uniforms.vSubsurfaceRadius;var subsurface_radius_scale: vec3f=uniforms.vSubsurfaceRadiusScale;var subsurface_scatter_anisotropy: f32=clamp(uniforms.vSubsurfaceScatterAnisotropy,-0.9999f,0.9999f);
388
+ `;r.ShaderStore.IncludesShadersStoreWGSL[o]||(r.ShaderStore.IncludesShadersStoreWGSL[o]=a),e.s(["openpbrIblFunctionsWGSL",0,{name:o,shader:a}],32923)},24186,e=>{"use strict";var r=e.i(25044);let i="openpbrSubsurfaceLayerData",f=`var subsurface_weight: f32=uniforms.vSubsurfaceWeight;var subsurface_color: vec3f=uniforms.vSubsurfaceColor.rgb;var subsurface_radius: f32=uniforms.vSubsurfaceRadius;var subsurface_radius_scale: vec3f=uniforms.vSubsurfaceRadiusScale;var subsurface_scatter_anisotropy: f32=clamp(uniforms.vSubsurfaceScatterAnisotropy,-0.9999f,0.9999f);
389
389
  #ifdef SUBSURFACE_WEIGHT
390
390
  let subsurfaceWeightFromTexture: vec4f=TEXRD(subsurfaceWeightSampler,subsurfaceWeightSamplerSampler,fragmentInputs.vSubsurfaceWeightUV+uvOffset);
391
391
  #endif
@@ -413,7 +413,7 @@ subsurface_color*=uniforms.vSubsurfaceColorInfos.y;
413
413
  #ifdef SUBSURFACE_RADIUS_SCALE
414
414
  subsurface_radius_scale*=subsurfaceRadiusScaleFromTexture.rgb;
415
415
  #endif
416
- `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["openpbrSubsurfaceLayerDataWGSL",0,{name:i,shader:f}])},86682,e=>{"use strict";var r=e.i(2342);let i="openpbrTransmissionLayerData",f=`var transmission_weight: f32=uniforms.vTransmissionWeight;var transmission_color: vec3f=uniforms.vTransmissionColor.rgb;var transmission_depth: f32=uniforms.vTransmissionDepth;var transmission_scatter: vec3f=uniforms.vTransmissionScatter.rgb;var transmission_scatter_anisotropy: f32=clamp(uniforms.vTransmissionScatterAnisotropy,-0.9999f,0.9999f);var transmission_dispersion_scale: f32=uniforms.vTransmissionDispersionScale;var transmission_dispersion_abbe_number: f32=uniforms.vTransmissionDispersionAbbeNumber;
416
+ `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["openpbrSubsurfaceLayerDataWGSL",0,{name:i,shader:f}])},24095,e=>{"use strict";var r=e.i(25044);let i="openpbrTransmissionLayerData",f=`var transmission_weight: f32=uniforms.vTransmissionWeight;var transmission_color: vec3f=uniforms.vTransmissionColor.rgb;var transmission_depth: f32=uniforms.vTransmissionDepth;var transmission_scatter: vec3f=uniforms.vTransmissionScatter.rgb;var transmission_scatter_anisotropy: f32=clamp(uniforms.vTransmissionScatterAnisotropy,-0.9999f,0.9999f);var transmission_dispersion_scale: f32=uniforms.vTransmissionDispersionScale;var transmission_dispersion_abbe_number: f32=uniforms.vTransmissionDispersionAbbeNumber;
417
417
  #ifdef TRANSMISSION_WEIGHT
418
418
  let transmissionWeightFromTexture: vec4f=TEXRD(transmissionWeightSampler,transmissionWeightSamplerSampler,fragmentInputs.vTransmissionWeightUV+uvOffset);
419
419
  #endif
@@ -449,11 +449,11 @@ transmission_scatter*=transmissionScatterFromTexture.rgb;
449
449
  #ifdef TRANSMISSION_DISPERSION_SCALE
450
450
  transmission_dispersion_scale*=transmissionDispersionScaleFromTexture.r;
451
451
  #endif
452
- `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["openpbrTransmissionLayerDataWGSL",0,{name:i,shader:f}])},14221,e=>{"use strict";var r=e.i(2342);e.i(34218),e.i(25661);let i="openpbrUboDeclaration",f=`uniform vTangentSpaceParams: vec2f;uniform vLightingIntensity: vec4f;uniform pointSize: f32;uniform vDebugMode: vec2f;uniform renderTargetSize: vec2f;uniform cameraInfo: vec4f;uniform vTextureRepetitionHexTilingParams: vec4f;uniform backgroundRefractionMatrix: mat4x4f;uniform vBackgroundRefractionInfos: vec3f;uniform vReflectionInfos: vec2f;uniform reflectionMatrix: mat4x4f;uniform vReflectionMicrosurfaceInfos: vec3f;uniform vReflectionPosition: vec3f;uniform vReflectionSize: vec3f;uniform vReflectionFilteringInfo: vec2f;uniform vReflectionDominantDirection: vec3f;uniform vReflectionColor: vec3f;uniform vSphericalL00: vec3f;uniform vSphericalL1_1: vec3f;uniform vSphericalL10: vec3f;uniform vSphericalL11: vec3f;uniform vSphericalL2_2: vec3f;uniform vSphericalL2_1: vec3f;uniform vSphericalL20: vec3f;uniform vSphericalL21: vec3f;uniform vSphericalL22: vec3f;uniform vSphericalX: vec3f;uniform vSphericalY: vec3f;uniform vSphericalZ: vec3f;uniform vSphericalXX_ZZ: vec3f;uniform vSphericalYY_ZZ: vec3f;uniform vSphericalZZ: vec3f;uniform vSphericalXY: vec3f;uniform vSphericalYZ: vec3f;uniform vSphericalZX: vec3f;uniform vBaseWeight: f32;uniform vBaseColor: vec4f;uniform vBaseDiffuseRoughness: f32;uniform vReflectanceInfo: vec4f;uniform vSpecularColor: vec4f;uniform vSpecularAnisotropy: vec3f;uniform vTransmissionWeight : f32;uniform vTransmissionColor : vec3f;uniform vTransmissionDepth : f32;uniform vTransmissionScatter : vec3f;uniform vTransmissionScatterAnisotropy : f32;uniform vTransmissionDispersionScale : f32;uniform vTransmissionDispersionAbbeNumber : f32;uniform vSubsurfaceWeight: f32;uniform vSubsurfaceColor: vec3f;uniform vSubsurfaceRadius: f32;uniform vSubsurfaceRadiusScale: vec3f;uniform vSubsurfaceScatterAnisotropy: f32;uniform vCoatWeight: f32;uniform vCoatColor: vec3f;uniform vCoatRoughness: f32;uniform vCoatRoughnessAnisotropy: f32;uniform vCoatIor: f32;uniform vCoatDarkening : f32;uniform vFuzzWeight: f32;uniform vFuzzColor: vec3f;uniform vFuzzRoughness: f32;uniform vGeometryThinWalled: f32;uniform vGeometryCoatTangent: vec2f;uniform vGeometryThickness: f32;uniform vEmissionColor: vec3f;uniform vThinFilmWeight: f32;uniform vThinFilmThickness: vec2f;uniform vThinFilmIor: f32;uniform vBaseWeightInfos: vec2f;uniform baseWeightMatrix: mat4x4f;uniform vBaseColorInfos: vec2f;uniform baseColorMatrix: mat4x4f;uniform vBaseDiffuseRoughnessInfos: vec2f;uniform baseDiffuseRoughnessMatrix: mat4x4f;uniform vBaseMetalnessInfos: vec2f;uniform baseMetalnessMatrix: mat4x4f;uniform vSpecularWeightInfos: vec2f;uniform specularWeightMatrix: mat4x4f;uniform vSpecularColorInfos: vec2f;uniform specularColorMatrix: mat4x4f;uniform vSpecularRoughnessInfos: vec2f;uniform specularRoughnessMatrix: mat4x4f;uniform vSpecularRoughnessAnisotropyInfos: vec2f;uniform specularRoughnessAnisotropyMatrix: mat4x4f;uniform vTransmissionWeightInfos : vec2f;uniform transmissionWeightMatrix : mat4x4f;uniform vTransmissionColorInfos : vec2f;uniform transmissionColorMatrix : mat4x4f;uniform vTransmissionDepthInfos : vec2f;uniform transmissionDepthMatrix : mat4x4f;uniform vTransmissionScatterInfos : vec2f;uniform transmissionScatterMatrix : mat4x4f;uniform vTransmissionDispersionScaleInfos : vec2f;uniform transmissionDispersionScaleMatrix : mat4x4f;uniform vSubsurfaceWeightInfos: vec2f;uniform subsurfaceWeightMatrix: mat4x4f;uniform vSubsurfaceColorInfos: vec2f;uniform subsurfaceColorMatrix: mat4x4f;uniform vSubsurfaceRadiusScaleInfos: vec2f;uniform subsurfaceRadiusScaleMatrix: mat4x4f;uniform vCoatWeightInfos: vec2f;uniform coatWeightMatrix: mat4x4f;uniform vCoatColorInfos: vec2f;uniform coatColorMatrix: mat4x4f;uniform vCoatRoughnessInfos: vec2f;uniform coatRoughnessMatrix: mat4x4f;uniform vCoatRoughnessAnisotropyInfos: vec2f;uniform coatRoughnessAnisotropyMatrix: mat4x4f;uniform vCoatDarkeningInfos : vec2f;uniform coatDarkeningMatrix : mat4x4f;uniform vFuzzWeightInfos: vec2f;uniform fuzzWeightMatrix: mat4x4f;uniform vFuzzColorInfos: vec2f;uniform fuzzColorMatrix: mat4x4f;uniform vFuzzRoughnessInfos: vec2f;uniform fuzzRoughnessMatrix: mat4x4f;uniform vGeometryNormalInfos: vec2f;uniform geometryNormalMatrix: mat4x4f;uniform vGeometryTangentInfos: vec2f;uniform geometryTangentMatrix: mat4x4f;uniform vGeometryCoatNormalInfos: vec2f;uniform geometryCoatNormalMatrix: mat4x4f;uniform vGeometryCoatTangentInfos: vec2f;uniform geometryCoatTangentMatrix: mat4x4f;uniform vGeometryOpacityInfos: vec2f;uniform geometryOpacityMatrix: mat4x4f;uniform vGeometryThicknessInfos: vec2f;uniform geometryThicknessMatrix: mat4x4f;uniform vEmissionColorInfos: vec2f;uniform emissionColorMatrix: mat4x4f;uniform vThinFilmWeightInfos: vec2f;uniform thinFilmWeightMatrix: mat4x4f;uniform vThinFilmThicknessInfos: vec2f;uniform thinFilmThicknessMatrix: mat4x4f;uniform vAmbientOcclusionInfos: vec2f;uniform ambientOcclusionMatrix: mat4x4f;
452
+ `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["openpbrTransmissionLayerDataWGSL",0,{name:i,shader:f}])},69337,e=>{"use strict";var r=e.i(25044);e.i(38267),e.i(95057);let i="openpbrUboDeclaration",f=`uniform vTangentSpaceParams: vec2f;uniform vLightingIntensity: vec4f;uniform pointSize: f32;uniform vDebugMode: vec2f;uniform renderTargetSize: vec2f;uniform cameraInfo: vec4f;uniform vTextureRepetitionHexTilingParams: vec4f;uniform backgroundRefractionMatrix: mat4x4f;uniform vBackgroundRefractionInfos: vec3f;uniform vReflectionInfos: vec2f;uniform reflectionMatrix: mat4x4f;uniform vReflectionMicrosurfaceInfos: vec3f;uniform vReflectionPosition: vec3f;uniform vReflectionSize: vec3f;uniform vReflectionFilteringInfo: vec2f;uniform vReflectionDominantDirection: vec3f;uniform vReflectionColor: vec3f;uniform vSphericalL00: vec3f;uniform vSphericalL1_1: vec3f;uniform vSphericalL10: vec3f;uniform vSphericalL11: vec3f;uniform vSphericalL2_2: vec3f;uniform vSphericalL2_1: vec3f;uniform vSphericalL20: vec3f;uniform vSphericalL21: vec3f;uniform vSphericalL22: vec3f;uniform vSphericalX: vec3f;uniform vSphericalY: vec3f;uniform vSphericalZ: vec3f;uniform vSphericalXX_ZZ: vec3f;uniform vSphericalYY_ZZ: vec3f;uniform vSphericalZZ: vec3f;uniform vSphericalXY: vec3f;uniform vSphericalYZ: vec3f;uniform vSphericalZX: vec3f;uniform vBaseWeight: f32;uniform vBaseColor: vec4f;uniform vBaseDiffuseRoughness: f32;uniform vReflectanceInfo: vec4f;uniform vSpecularColor: vec4f;uniform vSpecularAnisotropy: vec3f;uniform vTransmissionWeight : f32;uniform vTransmissionColor : vec3f;uniform vTransmissionDepth : f32;uniform vTransmissionScatter : vec3f;uniform vTransmissionScatterAnisotropy : f32;uniform vTransmissionDispersionScale : f32;uniform vTransmissionDispersionAbbeNumber : f32;uniform vSubsurfaceWeight: f32;uniform vSubsurfaceColor: vec3f;uniform vSubsurfaceRadius: f32;uniform vSubsurfaceRadiusScale: vec3f;uniform vSubsurfaceScatterAnisotropy: f32;uniform vCoatWeight: f32;uniform vCoatColor: vec3f;uniform vCoatRoughness: f32;uniform vCoatRoughnessAnisotropy: f32;uniform vCoatIor: f32;uniform vCoatDarkening : f32;uniform vFuzzWeight: f32;uniform vFuzzColor: vec3f;uniform vFuzzRoughness: f32;uniform vGeometryThinWalled: f32;uniform vGeometryCoatTangent: vec2f;uniform vGeometryThickness: f32;uniform vEmissionColor: vec3f;uniform vThinFilmWeight: f32;uniform vThinFilmThickness: vec2f;uniform vThinFilmIor: f32;uniform vBaseWeightInfos: vec2f;uniform baseWeightMatrix: mat4x4f;uniform vBaseColorInfos: vec2f;uniform baseColorMatrix: mat4x4f;uniform vBaseDiffuseRoughnessInfos: vec2f;uniform baseDiffuseRoughnessMatrix: mat4x4f;uniform vBaseMetalnessInfos: vec2f;uniform baseMetalnessMatrix: mat4x4f;uniform vSpecularWeightInfos: vec2f;uniform specularWeightMatrix: mat4x4f;uniform vSpecularColorInfos: vec2f;uniform specularColorMatrix: mat4x4f;uniform vSpecularRoughnessInfos: vec2f;uniform specularRoughnessMatrix: mat4x4f;uniform vSpecularRoughnessAnisotropyInfos: vec2f;uniform specularRoughnessAnisotropyMatrix: mat4x4f;uniform vTransmissionWeightInfos : vec2f;uniform transmissionWeightMatrix : mat4x4f;uniform vTransmissionColorInfos : vec2f;uniform transmissionColorMatrix : mat4x4f;uniform vTransmissionDepthInfos : vec2f;uniform transmissionDepthMatrix : mat4x4f;uniform vTransmissionScatterInfos : vec2f;uniform transmissionScatterMatrix : mat4x4f;uniform vTransmissionDispersionScaleInfos : vec2f;uniform transmissionDispersionScaleMatrix : mat4x4f;uniform vSubsurfaceWeightInfos: vec2f;uniform subsurfaceWeightMatrix: mat4x4f;uniform vSubsurfaceColorInfos: vec2f;uniform subsurfaceColorMatrix: mat4x4f;uniform vSubsurfaceRadiusScaleInfos: vec2f;uniform subsurfaceRadiusScaleMatrix: mat4x4f;uniform vCoatWeightInfos: vec2f;uniform coatWeightMatrix: mat4x4f;uniform vCoatColorInfos: vec2f;uniform coatColorMatrix: mat4x4f;uniform vCoatRoughnessInfos: vec2f;uniform coatRoughnessMatrix: mat4x4f;uniform vCoatRoughnessAnisotropyInfos: vec2f;uniform coatRoughnessAnisotropyMatrix: mat4x4f;uniform vCoatDarkeningInfos : vec2f;uniform coatDarkeningMatrix : mat4x4f;uniform vFuzzWeightInfos: vec2f;uniform fuzzWeightMatrix: mat4x4f;uniform vFuzzColorInfos: vec2f;uniform fuzzColorMatrix: mat4x4f;uniform vFuzzRoughnessInfos: vec2f;uniform fuzzRoughnessMatrix: mat4x4f;uniform vGeometryNormalInfos: vec2f;uniform geometryNormalMatrix: mat4x4f;uniform vGeometryTangentInfos: vec2f;uniform geometryTangentMatrix: mat4x4f;uniform vGeometryCoatNormalInfos: vec2f;uniform geometryCoatNormalMatrix: mat4x4f;uniform vGeometryCoatTangentInfos: vec2f;uniform geometryCoatTangentMatrix: mat4x4f;uniform vGeometryOpacityInfos: vec2f;uniform geometryOpacityMatrix: mat4x4f;uniform vGeometryThicknessInfos: vec2f;uniform geometryThicknessMatrix: mat4x4f;uniform vEmissionColorInfos: vec2f;uniform emissionColorMatrix: mat4x4f;uniform vThinFilmWeightInfos: vec2f;uniform thinFilmWeightMatrix: mat4x4f;uniform vThinFilmThicknessInfos: vec2f;uniform thinFilmThicknessMatrix: mat4x4f;uniform vAmbientOcclusionInfos: vec2f;uniform ambientOcclusionMatrix: mat4x4f;
453
453
  #define ADDITIONAL_UBO_DECLARATION
454
454
  #include<sceneUboDeclaration>
455
455
  #include<meshUboDeclaration>
456
- `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["openpbrUboDeclarationWGSL",0,{name:i,shader:f}])},51052,e=>{"use strict";var r=e.i(2342);let i="pbrBRDFFunctions",f=`#define FRESNEL_MAXIMUM_ON_ROUGH 0.25
456
+ `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["openpbrUboDeclarationWGSL",0,{name:i,shader:f}])},86165,e=>{"use strict";var r=e.i(25044);let i="pbrBRDFFunctions",f=`#define FRESNEL_MAXIMUM_ON_ROUGH 0.25
457
457
  #define BRDF_DIFFUSE_MODEL_EON 0
458
458
  #define BRDF_DIFFUSE_MODEL_BURLEY 1
459
459
  #define BRDF_DIFFUSE_MODEL_LAMBERT 2
@@ -625,7 +625,7 @@ fn transmittanceBRDF_Burley(tintColor: vec3f,diffusionDistance: vec3f,thickness:
625
625
  fn computeWrappedDiffuseNdotL(NdotL: f32,w: f32)->f32 {var t: f32=1.0+w;var invt2: f32=1.0/(t*t);return saturate((NdotL+w)*invt2);}
626
626
  #endif
627
627
  #endif
628
- `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["pbrBRDFFunctionsWGSL",0,{name:i,shader:f}])},81917,57676,41316,48545,89861,21844,80118,3480,54023,76632,81497,83268,78888,e=>{"use strict";var r=e.i(2342);e.i(77918);let i="pbrFragmentExtraDeclaration",f=`varying vPositionW: vec3f;
628
+ `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["pbrBRDFFunctionsWGSL",0,{name:i,shader:f}])},23275,54826,32777,76262,31989,72165,71714,99205,92668,56878,61444,92520,96645,e=>{"use strict";var r=e.i(25044);e.i(48585);let i="pbrFragmentExtraDeclaration",f=`varying vPositionW: vec3f;
629
629
  #if DEBUGMODE>0
630
630
  varying vClipSpacePosition: vec4f;
631
631
  #endif
@@ -642,15 +642,15 @@ varying vColor: vec4f;
642
642
  #if defined(CLUSTLIGHT_BATCH) && CLUSTLIGHT_BATCH>0
643
643
  varying vViewDepth: f32;
644
644
  #endif
645
- `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["pbrFragmentExtraDeclarationWGSL",0,{name:i,shader:f}],81917);let t="subSurfaceScatteringFunctions",n=`fn testLightingForSSS(diffusionProfile: f32)->bool
646
- {return diffusionProfile<1.;}`;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=n),e.s(["subSurfaceScatteringFunctionsWGSL",0,{name:t,shader:n}],57676);let o="importanceSampling",a=`fn hemisphereCosSample(u: vec2f)->vec3f {var phi: f32=2.*PI*u.x;var cosTheta2: f32=1.-u.y;var cosTheta: f32=sqrt(cosTheta2);var sinTheta: f32=sqrt(1.-cosTheta2);return vec3f(sinTheta*cos(phi),sinTheta*sin(phi),cosTheta);}
645
+ `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["pbrFragmentExtraDeclarationWGSL",0,{name:i,shader:f}],23275);let t="subSurfaceScatteringFunctions",n=`fn testLightingForSSS(diffusionProfile: f32)->bool
646
+ {return diffusionProfile<1.;}`;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=n),e.s(["subSurfaceScatteringFunctionsWGSL",0,{name:t,shader:n}],54826);let o="importanceSampling",a=`fn hemisphereCosSample(u: vec2f)->vec3f {var phi: f32=2.*PI*u.x;var cosTheta2: f32=1.-u.y;var cosTheta: f32=sqrt(cosTheta2);var sinTheta: f32=sqrt(1.-cosTheta2);return vec3f(sinTheta*cos(phi),sinTheta*sin(phi),cosTheta);}
647
647
  fn hemisphereImportanceSampleDggx(u: vec2f,a: f32)->vec3f {var phi: f32=2.*PI*u.x;var cosTheta2: f32=(1.-u.y)/(1.+(a+1.)*((a-1.)*u.y));var cosTheta: f32=sqrt(cosTheta2);var sinTheta: f32=sqrt(1.-cosTheta2);return vec3f(sinTheta*cos(phi),sinTheta*sin(phi),cosTheta);}
648
648
  fn hemisphereImportanceSampleDggxAnisotropic(Xi: vec2f,alphaTangent: f32,alphaBitangent: f32)->vec3f
649
649
  {let alphaT: f32=max(alphaTangent,0.0001);let alphaB: f32=max(alphaBitangent,0.0001);var phi: f32=atan(alphaB/alphaT*tan(2.0f*PI*Xi.x));if (Xi.x>0.5) {phi+=PI; }
650
650
  let cosPhi: f32=cos(phi);let sinPhi: f32=sin(phi);let alpha2: f32=(cosPhi*cosPhi)/(alphaT*alphaT) +
651
651
  (sinPhi*sinPhi)/(alphaB*alphaB);let tanTheta2: f32=Xi.y/(1.0f-Xi.y)/alpha2;let cosTheta: f32=1.0f/sqrt(1.0f+tanTheta2);let sinTheta: f32=sqrt(max(0.0f,1.0f-cosTheta*cosTheta));return vec3f(sinTheta*cosPhi,sinTheta*sinPhi,cosTheta);}
652
652
  fn hemisphereImportanceSampleDCharlie(u: vec2f,a: f32)->vec3f {
653
- var phi: f32=2.*PI*u.x;var sinTheta: f32=pow(u.y,a/(2.*a+1.));var cosTheta: f32=sqrt(1.-sinTheta*sinTheta);return vec3f(sinTheta*cos(phi),sinTheta*sin(phi),cosTheta);}`;r.ShaderStore.IncludesShadersStoreWGSL[o]||(r.ShaderStore.IncludesShadersStoreWGSL[o]=a),e.s(["importanceSamplingWGSL",0,{name:o,shader:a}],41316);let c="pbrHelperFunctions",s=`#define MINIMUMVARIANCE 0.0005
653
+ var phi: f32=2.*PI*u.x;var sinTheta: f32=pow(u.y,a/(2.*a+1.));var cosTheta: f32=sqrt(1.-sinTheta*sinTheta);return vec3f(sinTheta*cos(phi),sinTheta*sin(phi),cosTheta);}`;r.ShaderStore.IncludesShadersStoreWGSL[o]||(r.ShaderStore.IncludesShadersStoreWGSL[o]=a),e.s(["importanceSamplingWGSL",0,{name:o,shader:a}],32777);let c="pbrHelperFunctions",s=`#define MINIMUMVARIANCE 0.0005
654
654
  #ifndef TEXRD_DEFINED
655
655
  fn TEXRD(t: texture_2d<f32>,ts: sampler,uv: vec2f)->vec4f {return textureSample(t,ts,uv);}
656
656
  #define TEXRD_DEFINED
@@ -688,7 +688,7 @@ clearCoatIntensity);return clearCoatAbsorption;}
688
688
  fn computeDefaultMicroSurface(microSurface: f32,reflectivityColor: vec3f)->f32
689
689
  {const kReflectivityNoAlphaWorkflow_SmoothnessMax: f32=0.95;var reflectivityLuminance: f32=getLuminance(reflectivityColor);var reflectivityLuma: f32=sqrt(reflectivityLuminance);var resultMicroSurface=reflectivityLuma*kReflectivityNoAlphaWorkflow_SmoothnessMax;return resultMicroSurface;}
690
690
  #endif
691
- `;r.ShaderStore.IncludesShadersStoreWGSL[c]||(r.ShaderStore.IncludesShadersStoreWGSL[c]=s),e.s(["pbrHelperFunctionsWGSL",0,{name:c,shader:s}],48545),e.i(30433);let l="pbrDirectLightingSetupFunctions",d=`struct preLightingInfo
691
+ `;r.ShaderStore.IncludesShadersStoreWGSL[c]||(r.ShaderStore.IncludesShadersStoreWGSL[c]=s),e.s(["pbrHelperFunctionsWGSL",0,{name:c,shader:s}],76262),e.i(93496);let l="pbrDirectLightingSetupFunctions",d=`struct preLightingInfo
692
692
  {lightOffset: vec3f,
693
693
  lightDistanceSquared: f32,
694
694
  lightDistance: f32,
@@ -733,7 +733,7 @@ result.areaLightFresnel=data.Fresnel;result.areaLightSpecular=data.Specular;
733
733
  #endif
734
734
  result.areaLightDiffuse=data.Diffuse;result.LdotV=0.;result.roughness=0.;result.diffuseRoughness=0.;result.surfaceAlbedo=vec3f(0.);return result;}
735
735
  #endif
736
- `;r.ShaderStore.IncludesShadersStoreWGSL[l]||(r.ShaderStore.IncludesShadersStoreWGSL[l]=d),e.s(["pbrDirectLightingSetupFunctionsWGSL",0,{name:l,shader:d}],89861);let v="pbrDirectLightingFalloffFunctions",u=`fn computeDistanceLightFalloff_Standard(lightOffset: vec3f,range: f32)->f32
736
+ `;r.ShaderStore.IncludesShadersStoreWGSL[l]||(r.ShaderStore.IncludesShadersStoreWGSL[l]=d),e.s(["pbrDirectLightingSetupFunctionsWGSL",0,{name:l,shader:d}],31989);let v="pbrDirectLightingFalloffFunctions",u=`fn computeDistanceLightFalloff_Standard(lightOffset: vec3f,range: f32)->f32
737
737
  {return max(0.,1.0-length(lightOffset)/range);}
738
738
  fn computeDistanceLightFalloff_Physical(lightDistanceSquared: f32)->f32
739
739
  {return 1.0/maxEps(lightDistanceSquared);}
@@ -769,7 +769,7 @@ return computeDirectionalLightFalloff_GLTF(lightDirection,directionToLightCenter
769
769
  #else
770
770
  return computeDirectionalLightFalloff_Standard(lightDirection,directionToLightCenterW,cosHalfAngle,exponent);
771
771
  #endif
772
- }`;r.ShaderStore.IncludesShadersStoreWGSL[v]||(r.ShaderStore.IncludesShadersStoreWGSL[v]=u),e.s(["pbrDirectLightingFalloffFunctionsWGSL",0,{name:v,shader:u}],21844);let m="hdrFilteringFunctions",p=`#ifdef NUM_SAMPLES
772
+ }`;r.ShaderStore.IncludesShadersStoreWGSL[v]||(r.ShaderStore.IncludesShadersStoreWGSL[v]=u),e.s(["pbrDirectLightingFalloffFunctionsWGSL",0,{name:v,shader:u}],72165);let m="hdrFilteringFunctions",p=`#ifdef NUM_SAMPLES
773
773
  #if NUM_SAMPLES>0
774
774
  fn radicalInverse_VdC(value: u32)->f32
775
775
  {var bits=(value<<16u) | (value>>16u);bits=((bits & 0x55555555u)<<1u) | ((bits & 0xAAAAAAAAu)>>1u);bits=((bits & 0x33333333u)<<2u) | ((bits & 0xCCCCCCCCu)>>2u);bits=((bits & 0x0F0F0F0Fu)<<4u) | ((bits & 0xF0F0F0F0u)>>4u);bits=((bits & 0x00FF00FFu)<<8u) | ((bits & 0xFF00FF00u)>>8u);return f32(bits)*2.3283064365386963e-10; }
@@ -886,11 +886,11 @@ result=result/weight;return result;}
886
886
  #endif
887
887
  #endif
888
888
  #endif
889
- `;r.ShaderStore.IncludesShadersStoreWGSL[m]||(r.ShaderStore.IncludesShadersStoreWGSL[m]=p),e.s(["hdrFilteringFunctionsWGSL",0,{name:m,shader:p}],80118);let S="pbrBlockReflectance0",E=`var reflectanceF0: f32=reflectivityOut.reflectanceF0;var specularEnvironmentR0: vec3f=reflectivityOut.colorReflectanceF0;var specularEnvironmentR90: vec3f= reflectivityOut.reflectanceF90;
889
+ `;r.ShaderStore.IncludesShadersStoreWGSL[m]||(r.ShaderStore.IncludesShadersStoreWGSL[m]=p),e.s(["hdrFilteringFunctionsWGSL",0,{name:m,shader:p}],71714);let S="pbrBlockReflectance0",E=`var reflectanceF0: f32=reflectivityOut.reflectanceF0;var specularEnvironmentR0: vec3f=reflectivityOut.colorReflectanceF0;var specularEnvironmentR90: vec3f= reflectivityOut.reflectanceF90;
890
890
  #ifdef ALPHAFRESNEL
891
891
  var reflectance90: f32=fresnelGrazingReflectance(reflectanceF0);specularEnvironmentR90=specularEnvironmentR90*reflectance90;
892
892
  #endif
893
- `;r.ShaderStore.IncludesShadersStoreWGSL[S]||(r.ShaderStore.IncludesShadersStoreWGSL[S]=E),e.s(["pbrBlockReflectance0WGSL",0,{name:S,shader:E}],3480);let h="pbrClusteredLightingFunctions",g=`#if defined(CLUSTLIGHT{X}) && defined(CLUSTLIGHT_BATCH) && CLUSTLIGHT_BATCH>0
893
+ `;r.ShaderStore.IncludesShadersStoreWGSL[S]||(r.ShaderStore.IncludesShadersStoreWGSL[S]=E),e.s(["pbrBlockReflectance0WGSL",0,{name:S,shader:E}],99205);let h="pbrClusteredLightingFunctions",g=`#if defined(CLUSTLIGHT{X}) && defined(CLUSTLIGHT_BATCH) && CLUSTLIGHT_BATCH>0
894
894
  fn computeClusteredLighting{X}(
895
895
  lightDataTexture: texture_2d<f32>,
896
896
  lightData: vec4f,
@@ -1001,7 +1001,7 @@ result.sheen+=info.sheen;
1001
1001
  batchOffset+=CLUSTLIGHT_BATCH;}
1002
1002
  return result;}
1003
1003
  #endif
1004
- `;r.ShaderStore.IncludesShadersStoreWGSL[h]||(r.ShaderStore.IncludesShadersStoreWGSL[h]=g),e.s(["pbrClusteredLightingFunctionsWGSL",0,{name:h,shader:g}],54023),e.i(39383);let L="pbrDirectLightingFunctions",R=`#define CLEARCOATREFLECTANCE90 1.0
1004
+ `;r.ShaderStore.IncludesShadersStoreWGSL[h]||(r.ShaderStore.IncludesShadersStoreWGSL[h]=g),e.s(["pbrClusteredLightingFunctionsWGSL",0,{name:h,shader:g}],92668),e.i(55143);let L="pbrDirectLightingFunctions",R=`#define CLEARCOATREFLECTANCE90 1.0
1005
1005
  struct lightingInfo
1006
1006
  {diffuse: vec3f,
1007
1007
  #ifdef SS_TRANSLUCENCY
@@ -1114,7 +1114,7 @@ var sheenTerm: f32=fresnel*distribution*visibility;return sheenTerm*info.attenua
1114
1114
  #include<clusteredLightingFunctions>
1115
1115
  #include<pbrClusteredLightingFunctions>[0..maxSimultaneousLights]
1116
1116
  #endif
1117
- `;r.ShaderStore.IncludesShadersStoreWGSL[L]||(r.ShaderStore.IncludesShadersStoreWGSL[L]=R),e.s(["pbrDirectLightingFunctionsWGSL",0,{name:L,shader:R}],76632);let I="pbrBlockNormalGeometric",N=`var viewDirectionW: vec3f=normalize(scene.vEyePosition.xyz-input.vPositionW);
1117
+ `;r.ShaderStore.IncludesShadersStoreWGSL[L]||(r.ShaderStore.IncludesShadersStoreWGSL[L]=R),e.s(["pbrDirectLightingFunctionsWGSL",0,{name:L,shader:R}],56878);let I="pbrBlockNormalGeometric",N=`var viewDirectionW: vec3f=normalize(scene.vEyePosition.xyz-input.vPositionW);
1118
1118
  #ifdef NORMAL
1119
1119
  var normalW: vec3f=normalize(input.vNormalW);
1120
1120
  #else
@@ -1124,7 +1124,7 @@ var geometricNormalW: vec3f=normalW;
1124
1124
  #if defined(TWOSIDEDLIGHTING) && defined(NORMAL)
1125
1125
  geometricNormalW=select(-geometricNormalW,geometricNormalW,fragmentInputs.frontFacing);
1126
1126
  #endif
1127
- `;r.ShaderStore.IncludesShadersStoreWGSL[I]||(r.ShaderStore.IncludesShadersStoreWGSL[I]=N),e.s(["pbrBlockNormalGeometricWGSL",0,{name:I,shader:N}],81497);let C="pbrBlockImageProcessing",A=`#if defined(IMAGEPROCESSINGPOSTPROCESS) || defined(SS_SCATTERING)
1127
+ `;r.ShaderStore.IncludesShadersStoreWGSL[I]||(r.ShaderStore.IncludesShadersStoreWGSL[I]=N),e.s(["pbrBlockNormalGeometricWGSL",0,{name:I,shader:N}],61444);let C="pbrBlockImageProcessing",A=`#if defined(IMAGEPROCESSINGPOSTPROCESS) || defined(SS_SCATTERING)
1128
1128
  #if !defined(SKIPFINALCOLORCLAMP)
1129
1129
  finalColor=vec4f(clamp(finalColor.rgb,vec3f(0.),vec3f(30.0)),finalColor.a);
1130
1130
  #endif
@@ -1135,7 +1135,7 @@ finalColor=vec4f(finalColor.rgb,finalColor.a*mesh.visibility);
1135
1135
  #ifdef PREMULTIPLYALPHA
1136
1136
  finalColor=vec4f(finalColor.rgb*finalColor.a,finalColor.a);;
1137
1137
  #endif
1138
- `;r.ShaderStore.IncludesShadersStoreWGSL[C]||(r.ShaderStore.IncludesShadersStoreWGSL[C]=A),e.s(["pbrBlockImageProcessingWGSL",0,{name:C,shader:A}],83268);let T="pbrDebug",D=`#if DEBUGMODE>0
1138
+ `;r.ShaderStore.IncludesShadersStoreWGSL[C]||(r.ShaderStore.IncludesShadersStoreWGSL[C]=A),e.s(["pbrBlockImageProcessingWGSL",0,{name:C,shader:A}],92520);let T="pbrDebug",D=`#if DEBUGMODE>0
1139
1139
  if (input.vClipSpacePosition.x/input.vClipSpacePosition.w>=uniforms.vDebugMode.x) {var color: vec3f;
1140
1140
  #if DEBUGMODE==1
1141
1141
  color=fragmentInputs.vPositionW.rgb;
@@ -1319,7 +1319,7 @@ return fragmentOutputs;
1319
1319
  #endif
1320
1320
  }
1321
1321
  #endif
1322
- `;r.ShaderStore.IncludesShadersStoreWGSL[T]||(r.ShaderStore.IncludesShadersStoreWGSL[T]=D),e.s(["pbrDebugWGSL",0,{name:T,shader:D}],78888)},86441,48596,e=>{"use strict";var r=e.i(2342);let i="pbrFragmentReflectionDeclaration",f=`#ifdef REFLECTION
1322
+ `;r.ShaderStore.IncludesShadersStoreWGSL[T]||(r.ShaderStore.IncludesShadersStoreWGSL[T]=D),e.s(["pbrDebugWGSL",0,{name:T,shader:D}],96645)},10486,31278,e=>{"use strict";var r=e.i(25044);let i="pbrFragmentReflectionDeclaration",f=`#ifdef REFLECTION
1323
1323
  #ifdef REFLECTIONMAP_3D
1324
1324
  var reflectionSamplerSampler: sampler;var reflectionSampler: texture_cube<f32>;
1325
1325
  #ifdef LODBASEDMICROSFURACE
@@ -1347,7 +1347,7 @@ varying vDirectionW: vec3f;
1347
1347
  #endif
1348
1348
  #endif
1349
1349
  #endif
1350
- `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["pbrFragmentReflectionDeclarationWGSL",0,{name:i,shader:f}],86441);let t="pbrIBLFunctions",n=`#if defined(REFLECTION) || defined(SS_REFRACTION)
1350
+ `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["pbrFragmentReflectionDeclarationWGSL",0,{name:i,shader:f}],10486);let t="pbrIBLFunctions",n=`#if defined(REFLECTION) || defined(SS_REFRACTION)
1351
1351
  fn getLodFromAlphaG(cubeMapDimensionPixels: f32,microsurfaceAverageSlope: f32)->f32 {var microsurfaceAverageSlopeTexels: f32=cubeMapDimensionPixels*microsurfaceAverageSlope;var lod: f32=log2(microsurfaceAverageSlopeTexels);return lod;}
1352
1352
  fn getLinearLodFromRoughness(cubeMapDimensionPixels: f32,roughness: f32)->f32 {var lod: f32=log2(cubeMapDimensionPixels)*roughness;return lod;}
1353
1353
  #endif
@@ -1361,7 +1361,7 @@ fn environmentHorizonOcclusion(view: vec3f,normal: vec3f,geometricNormal: vec3f)
1361
1361
  fn UNPACK_LOD(x: f32)->f32 {return (1.0-x)*255.0;}
1362
1362
  fn getLodFromAlphaGNdotV(cubeMapDimensionPixels: f32,alphaG: f32,NdotV: f32)->f32 {var microsurfaceAverageSlope: f32=alphaG;microsurfaceAverageSlope*=sqrt(abs(NdotV));return getLodFromAlphaG(cubeMapDimensionPixels,microsurfaceAverageSlope);}
1363
1363
  #endif
1364
- `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=n),e.s(["pbrIBLFunctionsWGSL",0,{name:t,shader:n}],48596)},59994,77843,e=>{"use strict";var r=e.i(2342);let i="samplerFragmentDeclaration",f=`#ifdef _DEFINENAME_
1364
+ `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=n),e.s(["pbrIBLFunctionsWGSL",0,{name:t,shader:n}],31278)},71184,71047,e=>{"use strict";var r=e.i(25044);let i="samplerFragmentDeclaration",f=`#ifdef _DEFINENAME_
1365
1365
  #if _DEFINENAME_DIRECTUV==1
1366
1366
  #define v_VARYINGNAME_UV vMainUV1
1367
1367
  #elif _DEFINENAME_DIRECTUV==2
@@ -1379,7 +1379,7 @@ varying v_VARYINGNAME_UV: vec2f;
1379
1379
  #endif
1380
1380
  var _SAMPLERNAME_SamplerSampler: sampler;var _SAMPLERNAME_Sampler: texture_2d<f32>;
1381
1381
  #endif
1382
- `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["samplerFragmentDeclarationWGSL",0,{name:i,shader:f}],59994);let t="reflectionFunction",n=`fn computeFixedEquirectangularCoords(worldPos: vec4f,worldNormal: vec3f,direction: vec3f)->vec3f
1382
+ `;r.ShaderStore.IncludesShadersStoreWGSL[i]||(r.ShaderStore.IncludesShadersStoreWGSL[i]=f),e.s(["samplerFragmentDeclarationWGSL",0,{name:i,shader:f}],71184);let t="reflectionFunction",n=`fn computeFixedEquirectangularCoords(worldPos: vec4f,worldNormal: vec3f,direction: vec3f)->vec3f
1383
1383
  {var lon: f32=atan2(direction.z,direction.x);var lat: f32=acos(direction.y);var sphereCoords: vec2f= vec2f(lon,lat)*RECIPROCAL_PI2*2.0;var s: f32=sphereCoords.x*0.5+0.5;var t: f32=sphereCoords.y;return vec3f(s,t,0); }
1384
1384
  fn computeMirroredFixedEquirectangularCoords(worldPos: vec4f,worldNormal: vec3f,direction: vec3f)->vec3f
1385
1385
  {var lon: f32=atan2(direction.z,direction.x);var lat: f32=acos(direction.y);var sphereCoords: vec2f= vec2f(lon,lat)*RECIPROCAL_PI2*2.0;var s: f32=sphereCoords.x*0.5+0.5;var t: f32=sphereCoords.y;return vec3f(1.0-s,t,0); }
@@ -1443,7 +1443,7 @@ return vec3f(0,0,0);
1443
1443
  #endif
1444
1444
  }
1445
1445
  #endif
1446
- `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=n),e.s(["reflectionFunctionWGSL",0,{name:t,shader:n}],77843)},34218,e=>{"use strict";var r=e.i(2342);let i="sceneUboDeclaration",f=`struct Scene {viewProjection : mat4x4<f32>,
1446
+ `;r.ShaderStore.IncludesShadersStoreWGSL[t]||(r.ShaderStore.IncludesShadersStoreWGSL[t]=n),e.s(["reflectionFunctionWGSL",0,{name:t,shader:n}],71047)},38267,e=>{"use strict";var r=e.i(25044);let i="sceneUboDeclaration",f=`struct Scene {viewProjection : mat4x4<f32>,
1447
1447
  #ifdef MULTIVIEW
1448
1448
  viewProjectionR : mat4x4<f32>,
1449
1449
  #endif
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,66410,e=>{"use strict";var t=e.i(60699),s=e.i(65678),i=e.i(68282);class r extends t.FlowGraphBlock{constructor(e){super(e),this.userVariables=this.registerDataOutput("userVariables",s.RichTypeAny),this.executionId=this.registerDataOutput("executionId",s.RichTypeNumber)}_updateOutputs(e){this.userVariables.setValue(e.userVariables,e),this.executionId.setValue(e.executionId,e)}serialize(e){super.serialize(e)}getClassName(){return"FlowGraphContextBlock"}}let a=!1;e.s(["FlowGraphContextBlock",0,r,"RegisterFlowGraphContextBlock",0,function(){a||(a=!0,(0,i.RegisterClass)("FlowGraphContextBlock",r))}])}]);
@@ -1,4 +1,4 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,62308,e=>{"use strict";var r=e.i(2342);let o="helperFunctions",a=`const float PI=3.1415926535897932384626433832795;const float TWO_PI=6.283185307179586;const float HALF_PI=1.5707963267948966;const float RECIPROCAL_PI=0.3183098861837907;const float RECIPROCAL_PI2=0.15915494309189535;const float RECIPROCAL_PI4=0.07957747154594767;const float HALF_MIN=5.96046448e-08;
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,31660,e=>{"use strict";var r=e.i(25044);let o="helperFunctions",a=`const float PI=3.1415926535897932384626433832795;const float TWO_PI=6.283185307179586;const float HALF_PI=1.5707963267948966;const float RECIPROCAL_PI=0.3183098861837907;const float RECIPROCAL_PI2=0.15915494309189535;const float RECIPROCAL_PI4=0.07957747154594767;const float HALF_MIN=5.96046448e-08;
2
2
  const float LinearEncodePowerApprox=2.2;const float GammaEncodePowerApprox=1.0/LinearEncodePowerApprox;const vec3 LuminanceEncodeApprox=vec3(0.2126,0.7152,0.0722);const float Epsilon=0.0000001;
3
3
  #define saturate(x) clamp(x,0.0,1.0)
4
4
  #define absEps(x) abs(x)+Epsilon
@@ -116,7 +116,7 @@ float uint2float(uint i) {return uintBitsToFloat(0x3F800000u | (i>>9u))-1.0;}
116
116
  vec2 plasticSequence(const uint rstate) {return vec2(uint2float(rstate*3242174889u),
117
117
  uint2float(rstate*2447445414u));}
118
118
  #endif
119
- `;r.ShaderStore.IncludesShadersStore[o]||(r.ShaderStore.IncludesShadersStore[o]=a),e.s(["helperFunctions",0,{name:o,shader:a}])},76426,e=>{"use strict";var r=e.i(2342),o=e.i(62308);let a="rgbdDecodePixelShader",t=`varying vec2 vUV;uniform sampler2D textureSampler;
119
+ `;r.ShaderStore.IncludesShadersStore[o]||(r.ShaderStore.IncludesShadersStore[o]=a),e.s(["helperFunctions",0,{name:o,shader:a}])},44857,e=>{"use strict";var r=e.i(25044),o=e.i(31660);let a="rgbdDecodePixelShader",t=`varying vec2 vUV;uniform sampler2D textureSampler;
120
120
  #include<helperFunctions>
121
121
  #define CUSTOM_FRAGMENT_DEFINITIONS
122
122
  void main(void)
@@ -1,4 +1,4 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,83753,64767,e=>{"use strict";var t=e.i(2342);let a="clipPlaneVertexDeclaration",r=`#ifdef CLIPPLANE
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,67667,15345,e=>{"use strict";var t=e.i(25044);let a="clipPlaneVertexDeclaration",r=`#ifdef CLIPPLANE
2
2
  uniform vClipPlane: vec4<f32>;varying fClipDistance: f32;
3
3
  #endif
4
4
  #ifdef CLIPPLANE2
@@ -16,7 +16,7 @@ uniform vClipPlane5: vec4<f32>;varying fClipDistance5: f32;
16
16
  #ifdef CLIPPLANE6
17
17
  uniform vClipPlane6: vec4<f32>;varying fClipDistance6: f32;
18
18
  #endif
19
- `;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["clipPlaneVertexDeclarationWGSL",0,{name:a,shader:r}],83753);let s="clipPlaneVertex",o=`#ifdef CLIPPLANE
19
+ `;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["clipPlaneVertexDeclarationWGSL",0,{name:a,shader:r}],67667);let s="clipPlaneVertex",o=`#ifdef CLIPPLANE
20
20
  vertexOutputs.fClipDistance=dot(worldPos,uniforms.vClipPlane);
21
21
  #endif
22
22
  #ifdef CLIPPLANE2
@@ -34,17 +34,17 @@ vertexOutputs.fClipDistance5=dot(worldPos,uniforms.vClipPlane5);
34
34
  #ifdef CLIPPLANE6
35
35
  vertexOutputs.fClipDistance6=dot(worldPos,uniforms.vClipPlane6);
36
36
  #endif
37
- `;t.ShaderStore.IncludesShadersStoreWGSL[s]||(t.ShaderStore.IncludesShadersStoreWGSL[s]=o),e.s(["clipPlaneVertexWGSL",0,{name:s,shader:o}],64767)},43402,25462,e=>{"use strict";var t=e.i(2342);let a="fogVertexDeclaration",r=`#ifdef FOG
37
+ `;t.ShaderStore.IncludesShadersStoreWGSL[s]||(t.ShaderStore.IncludesShadersStoreWGSL[s]=o),e.s(["clipPlaneVertexWGSL",0,{name:s,shader:o}],15345)},3828,45320,e=>{"use strict";var t=e.i(25044);let a="fogVertexDeclaration",r=`#ifdef FOG
38
38
  varying vFogDistance: vec3f;
39
39
  #endif
40
- `;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["fogVertexDeclarationWGSL",0,{name:a,shader:r}],43402);let s="fogVertex",o=`#ifdef FOG
40
+ `;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["fogVertexDeclarationWGSL",0,{name:a,shader:r}],3828);let s="fogVertex",o=`#ifdef FOG
41
41
  #ifdef SCENE_UBO
42
42
  vertexOutputs.vFogDistance=(scene.view*worldPos).xyz;
43
43
  #else
44
44
  vertexOutputs.vFogDistance=(uniforms.view*worldPos).xyz;
45
45
  #endif
46
46
  #endif
47
- `;t.ShaderStore.IncludesShadersStoreWGSL[s]||(t.ShaderStore.IncludesShadersStoreWGSL[s]=o),e.s(["fogVertexWGSL",0,{name:s,shader:o}],25462)},72457,e=>{"use strict";var t=e.i(2342);let a="gaussianSplatting",r=`fn getDataUV(index: f32,dataTextureSize: vec2f)->vec2<f32> {let y: f32=floor(index/dataTextureSize.x);let x: f32=index-y*dataTextureSize.x;return vec2f((x+0.5),(y+0.5));}
47
+ `;t.ShaderStore.IncludesShadersStoreWGSL[s]||(t.ShaderStore.IncludesShadersStoreWGSL[s]=o),e.s(["fogVertexWGSL",0,{name:s,shader:o}],45320)},98302,e=>{"use strict";var t=e.i(25044);let a="gaussianSplatting",r=`fn getDataUV(index: f32,dataTextureSize: vec2f)->vec2<f32> {let y: f32=floor(index/dataTextureSize.x);let x: f32=index-y*dataTextureSize.x;return vec2f((x+0.5),(y+0.5));}
48
48
  struct Splat {center: vec4f,
49
49
  color: vec4f,
50
50
  covA: vec4f,
@@ -339,7 +339,7 @@ vec3f(rotationB.z,rotationB.w,rotationScale.x)
339
339
  var offsetSplatSpace: vec3f;if (axisLengthInViewZ.x>axisLengthInViewZ.y && axisLengthInViewZ.x>axisLengthInViewZ.z) {offsetSplatSpace=vec3f(0.0,quadPos.x,quadPos.y)*splatScale*gaussianSplatCutoffStddev;} else if (axisLengthInViewZ.y>axisLengthInViewZ.z) {offsetSplatSpace=vec3f(quadPos.x,0.0,quadPos.y)*splatScale*gaussianSplatCutoffStddev;} else {offsetSplatSpace=vec3f(quadPos.x,quadPos.y,0.0)*splatScale*gaussianSplatCutoffStddev;}
340
340
  let vertexObjectSpace=center+splatRotation*offsetSplatSpace;return splatWorld*vec4f(vertexObjectSpace,1.0);}
341
341
  #endif
342
- `;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["gaussianSplattingWGSL",0,{name:a,shader:r}])},35551,e=>{"use strict";var t=e.i(2342);let a="helperFunctions",r=`const PI: f32=3.1415926535897932384626433832795;const TWO_PI: f32=6.283185307179586;const HALF_PI: f32=1.5707963267948966;const RECIPROCAL_PI: f32=0.3183098861837907;const RECIPROCAL_PI2: f32=0.15915494309189535;const RECIPROCAL_PI4: f32=0.07957747154594767;const HALF_MIN: f32=5.96046448e-08;
342
+ `;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["gaussianSplattingWGSL",0,{name:a,shader:r}])},65503,e=>{"use strict";var t=e.i(25044);let a="helperFunctions",r=`const PI: f32=3.1415926535897932384626433832795;const TWO_PI: f32=6.283185307179586;const HALF_PI: f32=1.5707963267948966;const RECIPROCAL_PI: f32=0.3183098861837907;const RECIPROCAL_PI2: f32=0.15915494309189535;const RECIPROCAL_PI4: f32=0.07957747154594767;const HALF_MIN: f32=5.96046448e-08;
343
343
  const LinearEncodePowerApprox: f32=2.2;const GammaEncodePowerApprox: f32=1.0/LinearEncodePowerApprox;const LuminanceEncodeApprox: vec3f=vec3f(0.2126,0.7152,0.0722);const Epsilon:f32=0.0000001;fn square(x: f32)->f32 {return x*x;}
344
344
  fn saturate(x: f32)->f32 {return clamp(x,0.0,1.0);}
345
345
  fn saturateVec3(x: vec3f)->vec3f {return clamp(x,vec3f(),vec3f(1.0));}
@@ -425,16 +425,16 @@ fn max3(v: vec3f)->f32 {return max(v.x,max(v.y,v.z));}
425
425
  fn uint2float(i: u32)->f32 {return bitcast<f32>(0x3F800000u | (i>>9u))-1.0;}
426
426
  fn plasticSequence(rstate: u32)->vec2f {return vec2f(uint2float(rstate*3242174889u),
427
427
  uint2float(rstate*2447445414u));}
428
- `;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["helperFunctionsWGSL",0,{name:a,shader:r}])},67263,e=>{"use strict";var t=e.i(2342);let a="logDepthDeclaration",r=`#ifdef LOGARITHMICDEPTH
428
+ `;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["helperFunctionsWGSL",0,{name:a,shader:r}])},69288,e=>{"use strict";var t=e.i(25044);let a="logDepthDeclaration",r=`#ifdef LOGARITHMICDEPTH
429
429
  uniform logarithmicDepthConstant: f32;varying vFragmentDepth: f32;
430
430
  #endif
431
- `;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["logDepthDeclarationWGSL",0,{name:a,shader:r}])},42158,e=>{"use strict";var t=e.i(2342);let a="logDepthVertex",r=`#ifdef LOGARITHMICDEPTH
431
+ `;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["logDepthDeclarationWGSL",0,{name:a,shader:r}])},78507,e=>{"use strict";var t=e.i(25044);let a="logDepthVertex",r=`#ifdef LOGARITHMICDEPTH
432
432
  vertexOutputs.vFragmentDepth=1.0+vertexOutputs.position.w;vertexOutputs.position.z=log2(max(0.000001,vertexOutputs.vFragmentDepth))*uniforms.logarithmicDepthConstant;
433
433
  #endif
434
- `;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["logDepthVertexWGSL",0,{name:a,shader:r}])},25661,e=>{"use strict";var t=e.i(2342);let a="meshUboDeclaration",r=`struct Mesh {world : mat4x4<f32>,
434
+ `;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["logDepthVertexWGSL",0,{name:a,shader:r}])},95057,e=>{"use strict";var t=e.i(25044);let a="meshUboDeclaration",r=`struct Mesh {world : mat4x4<f32>,
435
435
  visibility : f32,};var<uniform> mesh : Mesh;
436
436
  #define WORLD_UBO
437
- `;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["meshUboDeclarationWGSL",0,{name:a,shader:r}])},34218,e=>{"use strict";var t=e.i(2342);let a="sceneUboDeclaration",r=`struct Scene {viewProjection : mat4x4<f32>,
437
+ `;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["meshUboDeclarationWGSL",0,{name:a,shader:r}])},38267,e=>{"use strict";var t=e.i(25044);let a="sceneUboDeclaration",r=`struct Scene {viewProjection : mat4x4<f32>,
438
438
  #ifdef MULTIVIEW
439
439
  viewProjectionR : mat4x4<f32>,
440
440
  #endif
@@ -444,7 +444,7 @@ vEyePosition : vec4<f32>,
444
444
  inverseProjection : mat4x4<f32>,};
445
445
  #define SCENE_UBO
446
446
  var<uniform> scene : Scene;
447
- `;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["sceneUboDeclarationWGSL",0,{name:a,shader:r}])},16102,e=>{"use strict";var t=e.i(2342),a=e.i(34218),r=e.i(25661),s=e.i(35551),o=e.i(83753),f=e.i(43402),i=e.i(67263),l=e.i(72457),c=e.i(64767),n=e.i(25462),d=e.i(42158);let x="gaussianSplattingVertexShader",v=`#include<sceneUboDeclaration>
447
+ `;t.ShaderStore.IncludesShadersStoreWGSL[a]||(t.ShaderStore.IncludesShadersStoreWGSL[a]=r),e.s(["sceneUboDeclarationWGSL",0,{name:a,shader:r}])},20689,e=>{"use strict";var t=e.i(25044),a=e.i(38267),r=e.i(95057),s=e.i(65503),o=e.i(67667),f=e.i(3828),i=e.i(69288),l=e.i(98302),c=e.i(15345),n=e.i(45320),d=e.i(78507);let x="gaussianSplattingVertexShader",v=`#include<sceneUboDeclaration>
448
448
  #include<meshUboDeclaration>
449
449
  #include<helperFunctions>
450
450
  #include<clipPlaneVertexDeclaration>
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,2348,2413,e=>{"use strict";let t=1/1.2;e.s(["ZOOM_IN_FACTOR",0,t,"ZOOM_OUT_FACTOR",0,1.2,"attachDoubleClickFocus",0,function(e,t,n){let r=()=>{let t=e.pick(e.pointerX,e.pointerY);t?.hit&&t.pickedPoint&&n.setTarget(t.pickedPoint)};return t.addEventListener("dblclick",r),()=>t.removeEventListener("dblclick",r)},"disableWheelZoom",0,function(e){e.inputs.removeByType("ArcRotateCameraMouseWheelInput")},"resetFocus",0,function(e,t){e.setTarget(t.target),e.alpha=t.alpha,e.beta=t.beta,e.radius=t.radius},"stepZoom",0,function(e,t){let n=e.lowerRadiusLimit??.01,r=e.upperRadiusLimit??1/0;e.radius=Math.min(r,Math.max(n,e.radius*t))}],2348);var n=e.i(63671);e.s(["ZoomButtons",0,function({onZoom:e,onReset:r}){let a="grid h-8 w-8 place-items-center rounded-md border border-edge bg-ink/80 text-lg leading-none text-fg backdrop-blur transition hover:bg-ink hover:text-white";return(0,n.jsxs)("div",{className:"absolute right-3 top-3 flex flex-col gap-1",children:[(0,n.jsx)("button",{type:"button","aria-label":"Zoom in",className:a,onClick:()=>e(t),children:"+"}),(0,n.jsx)("button",{type:"button","aria-label":"Zoom out",className:a,onClick:()=>e(1.2),children:"−"}),r?(0,n.jsx)("button",{type:"button","aria-label":"Reset camera focus to center",title:"Reset focus to center",className:a,onClick:r,children:(0,n.jsxs)("svg",{viewBox:"0 0 16 16",width:"16",height:"16",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round","aria-hidden":"true",children:[(0,n.jsx)("circle",{cx:"8",cy:"8",r:"3"}),(0,n.jsx)("path",{d:"M8 1v2.5M8 12.5V15M1 8h2.5M12.5 8H15"})]})}):null]})}],2413)},87456,e=>{"use strict";e.s(["attachMeshHover",0,function(e,t,n){let r=0,a=null,i=t=>{let i=t.offsetX,l=t.offsetY;r||(r=requestAnimationFrame(()=>{var t,s;let o;r=0;let u=e.pick(i,l,e=>e.isPickable&&e.isEnabled()),c=u?.pickedMesh?(t=u.pickedMesh,s=u.thinInstanceIndex??-1,(o=t.metadata)?s>=0&&o.hoverLabels?o.hoverLabels[s]??null:o.hoverLabel??null:null):null;c?n({label:c,x:i,y:l}):null!==a&&n(null),a=c}))},l=()=>{r&&(cancelAnimationFrame(r),r=0),null!==a&&(a=null,n(null))};return t.addEventListener("pointermove",i),t.addEventListener("pointerleave",l),()=>{t.removeEventListener("pointermove",i),t.removeEventListener("pointerleave",l),r&&cancelAnimationFrame(r)}}])},48939,e=>{"use strict";var t=e.i(63671),n=e.i(48093);function r(e){return Number.isNaN(e)||e<0?0:e>1?1:e}function a(e){let t=r(e),n=[[0,.1,.9],[0,.85,1],[.1,.9,.2],[1,.85,0],[1,.15,0],[1,1,1]],a=n.length-1,i=t*a,l=Math.min(Math.floor(i),a-1),s=i-l,o=n[l],u=n[l+1];return o&&u?[o[0]+(u[0]-o[0])*s,o[1]+(u[1]-o[1])*s,o[2]+(u[2]-o[2])*s]:[1,1,1]}var i=e.i(56054),l=e.i(2348),s=e.i(87456),o=e.i(18637),u=e.i(2413);e.s(["CameraDome3DView",0,function({bins:c,gridSize:d}){let h=(0,n.useRef)(null),m=(0,n.useRef)(null),f=(0,n.useRef)(null),[p,b]=(0,n.useState)("loading"),[g,x]=(0,n.useState)(null),[w,v]=(0,n.useState)("markers"),[y,k]=(0,n.useState)(null),M=(0,n.useRef)(c),C=(0,n.useRef)(d),S=(0,n.useRef)(w);M.current=c,C.current=d,S.current=w;let z=(0,n.useRef)(null),R=c.length>0;return(0,n.useEffect)(()=>{let t=h.current;if(!t)return;if(!R)return void b("empty");let n=!1,o=null;return b("loading"),x(null),(async()=>{try{let[{Engine:u},{Scene:c},{ArcRotateCamera:d},{HemisphericLight:h},{Vector3:p,Color3:g,Color4:x,Matrix:w},{MeshBuilder:v},{StandardMaterial:y},{Mesh:R},{DynamicTexture:L}]=await Promise.all([e.A(69721),e.A(341),e.A(21342),e.A(72976),e.A(35285),e.A(42598),e.A(97938),e.A(82141),e.A(53),e.A(95369),e.A(82926)]);if(n)return;let I=new u(t,!0,{preserveDrawingBuffer:!1}),_=new c(I);_.clearColor=new x(.04,.05,.07,1);let A=p.Zero(),j=new d("dome-cam",Math.PI/3,Math.PI/2.4,3.6,A,_);j.attachControl(t,!0),j.lowerRadiusLimit=1.6,j.upperRadiusLimit=8,(0,l.disableWheelZoom)(j),m.current=j,f.current={target:A,alpha:j.alpha,beta:j.beta,radius:j.radius},new h("dome-light",new p(.3,1,.2),_);let E=v.CreateSphere("dome",{diameter:2,segments:20},_),$=new y("dome-mat",_);$.wireframe=!0,$.disableLighting=!0,$.emissiveColor=new g(.16,.2,.28),$.alpha=.5,E.material=$,E.isPickable=!1;let P=[];for(let e=0;e<=64;e++){let t=e/64*Math.PI*2;P.push(new p(Math.cos(t),0,Math.sin(t)))}let N=v.CreateLines("dome-horizon",{points:P},_);N.color=new g(.3,.36,.46),N.isPickable=!1;let T=v.CreateLines("dome-forward",{points:[p.Zero(),new p(1.25,0,0)]},_);T.color=new g(.4,.7,.95),T.isPickable=!1;let B=[],F=()=>{for(let e of B)e.dispose(!1,!0);B=[];let e=M.current;if(0===e.length)return;let t=e.reduce((e,t)=>Math.max(e,t.count),1),n=C.current>0?C.current:1;if("markers"===S.current){let r=v.CreateBox("dome-marker",{size:1},_),a=new y("dome-marker-mat",_);a.disableLighting=!0,a.emissiveColor=g.White(),a.specularColor=new g(0,0,0),r.material=a,r.isPickable=!0,r.thinInstanceEnablePicking=!0;let l=e.length,s=new Float32Array(16*l),o=new Float32Array(4*l),u=Array(l);for(let r=0;r<l;r++){let a=e[r],l=(a.azimuth_bin+.5)/n*Math.PI*2-Math.PI,c=(a.elevation_bin+.5)/n*Math.PI-Math.PI/2,d=Math.cos(c),h=d*Math.cos(l),m=Math.sin(c),f=d*Math.sin(l),p=a.count/t,b=.03+.12*p;w.Scaling(b,b,b).multiply(w.Translation(h,m,f)).copyToArray(s,16*r);let[g,x,v]=(0,i.heatRgb)(p);o[4*r]=g,o[4*r+1]=x,o[4*r+2]=v,o[4*r+3]=1,u[r]=`dir (${a.azimuth_bin}, ${a.elevation_bin}) \xb7 ${a.count}`}r.thinInstanceSetBuffer("matrix",s,16,!0),r.thinInstanceSetBuffer("color",o,4,!0),r.metadata={hoverLabels:u},B.push(r)}else{let t=function(e,t={}){let n=void 0!==t.width&&t.width>0?Math.floor(t.width):256,i=void 0!==t.height&&t.height>0?Math.floor(t.height):Math.max(1,Math.floor(n/2)),l=t.colorRamp??a,s=void 0!==t.blurBins&&t.blurBins>0?t.blurBins:1.5,o=r(t.alphaFloor??0),u=r(t.opacity??1),c=e.gridSize>0?e.gridSize:1,d=new Uint8ClampedArray(n*i*4),h=e.bins.filter(e=>e.count>0);if(0===h.length)return{width:n,height:i,rgba:d};let m=Math.max(1e-4,Math.PI/c*s),f=2*m*m,p=Math.cos(Math.min(Math.PI,3*m)),b=h.map(e=>{var t,n;let r,[a,i]=(t=e.azimuthBin,n=e.elevationBin,[(t+.5)/c*Math.PI*2-Math.PI,(n+.5)/c*Math.PI-Math.PI/2]);return[(r=Math.cos(i))*Math.cos(a),Math.sin(i),r*Math.sin(a)]}),g=new Float32Array(n*i),x=0;for(let e=0;e<i;e++){let t=Math.PI/2-(e+.5)/i*Math.PI,r=Math.cos(t),a=Math.sin(t);for(let t=0;t<n;t++){let i=(t+.5)/n*Math.PI*2-Math.PI,l=r*Math.cos(i),s=r*Math.sin(i),o=0;for(let e=0;e<h.length;e++){let t=b[e],n=l*t[0]+a*t[1]+s*t[2];if(n<p)continue;let r=Math.acos(n>1?1:n<-1?-1:n);o+=h[e].count*Math.exp(-(r*r)/f)}g[e*n+t]=o,o>x&&(x=o)}}if(x<=0)return{width:n,height:i,rgba:d};for(let e=0;e<g.length;e++){let t=r(g[e]/x),[n,a,i]=l(t),s=(o+(1-o)*t)*u,c=4*e;d[c]=Math.round(255*n),d[c+1]=Math.round(255*a),d[c+2]=Math.round(255*i),d[c+3]=Math.round(255*r(s))}return{width:n,height:i,rgba:d}}({bins:e.map(e=>({azimuthBin:e.azimuth_bin,elevationBin:e.elevation_bin,count:e.count})),gridSize:n},{width:256,blurBins:1.5,opacity:.95}),i=new L("dome-skytex",{width:t.width,height:t.height},_,!1);i.hasAlpha=!0;let l=i.getContext(),s=l.createImageData(t.width,t.height);s.data.set(t.rgba),l.putImageData(s,0,0),i.update();let o=v.CreateSphere("dome-sky",{diameter:2,segments:48,sideOrientation:R.DOUBLESIDE},_),u=new y("dome-sky-mat",_);u.disableLighting=!0,u.emissiveColor=g.White(),u.diffuseColor=new g(0,0,0),u.specularColor=new g(0,0,0),u.emissiveTexture=i,u.opacityTexture=i,u.backFaceCulling=!1,o.material=u,o.isPickable=!1,B.push(o)}};z.current=F,F(),I.runRenderLoop(()=>_.render());let V=()=>I.resize();window.addEventListener("resize",V);let O=(0,s.attachMeshHover)(_,t,k),Z=(0,l.attachDoubleClickFocus)(_,t,j);b("ready"),o=()=>{window.removeEventListener("resize",V),O(),Z(),k(null),z.current=null,m.current=null,f.current=null,_.dispose(),I.dispose()}}catch(e){if(n)return;b("error"),x(e instanceof Error?e.message:"Failed to render dome.")}})(),()=>{n=!0,o?.()}},[R]),(0,n.useEffect)(()=>{z.current?.()},[c,d,w]),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("canvas",{ref:h,className:"aspect-video w-full rounded-lg border border-edge bg-ink"}),y?(0,t.jsx)("div",{className:"pointer-events-none absolute z-10 max-w-[16rem] truncate rounded border border-edge bg-ink/90 px-1.5 py-0.5 text-xs text-white shadow backdrop-blur",style:{left:y.x+12,top:y.y+12},children:y.label}):null,"ready"===p?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"absolute left-3 top-3 flex overflow-hidden rounded-md border border-edge bg-ink/80 text-xs backdrop-blur",children:["markers","skydome"].map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>v(e),className:`px-2.5 py-1 ${w===e?"bg-fg/15 font-medium text-white":"text-fg-muted hover:text-fg"}`,children:"markers"===e?"Markers":"Skydome"},e))}),(0,t.jsx)(u.ZoomButtons,{onZoom:e=>m.current&&(0,l.stepZoom)(m.current,e),onReset:()=>m.current&&f.current&&(0,l.resetFocus)(m.current,f.current)}),(0,t.jsx)(o.HeatLegend,{title:"Gaze density",lowLabel:"rarely",highLabel:"most-viewed",note:"markers"===w?"Each marker is a look-direction (camera forward). Blue line = forward, ring = horizon. Color & size scale with how often that direction was viewed.":"Continuous equirectangular heat field: the same gaze bins splatted into a smooth thermal texture wrapped on the dome. The in-scene SDK overlay (showGazeSkydome) renders this inward so you can stand inside it in WebXR."})]}):(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 grid place-items-center text-sm text-fg-muted",children:"loading"===p?"Rendering…":"empty"===p?"No camera samples in range.":"error"===p?g??"Dome unavailable.":null})]})}],48939)},19399,e=>{"use strict";var t=e.i(63671),n=e.i(48093);let r="__other_sp__",a="__other_mesh__";function i(e){return`${e[0]}|${e[1]}|${e[2]}`}function l(e,t){return t<=1?0:1.4-e/(t-1)*2.8}var s=e.i(56054),o=e.i(2348),u=e.i(87456),c=e.i(18637),d=e.i(2413);let h="__all__",m={maxStandpoints:6,maxMeshes:10,maxRibbons:70};function f(e,t){return`${e}|${t}`}function p(e){let t=e.aabb;return[(t[0]+t[3])/2,(t[1]+t[4])/2,(t[2]+t[5])/2]}function b(e){let t=0;for(let n=0;n<e.length;n++)t=31*t+e.charCodeAt(n)|0;return Math.abs(t)}function g({label:e,value:n,onChange:r,allLabel:a,options:i}){return(0,t.jsxs)("label",{className:"flex items-center gap-1.5 rounded-md border border-edge bg-ink/80 px-2 py-1 text-xs text-fg backdrop-blur",children:[(0,t.jsx)("span",{className:"font-medium text-fg-muted",children:e}),(0,t.jsxs)("select",{className:"max-w-[12rem] bg-transparent text-white outline-none",value:n,onChange:e=>r(e.target.value),children:[(0,t.jsx)("option",{value:h,children:a}),i.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))]})]})}function x({active:e,onClick:n,children:r,disabled:a=!1,title:i}){return(0,t.jsx)("button",{type:"button",onClick:n,disabled:a,title:i,className:`rounded px-2 py-0.5 font-medium transition ${a?"cursor-not-allowed text-fg-muted/40":e?"bg-amber text-ink":"text-fg-muted hover:text-fg"}`,children:r})}function w({standpoints:e,proxyMeshes:r,selectedKey:a,onSelect:i}){let l=(0,n.useRef)(null),s=(0,n.useMemo)(()=>e.filter(e=>e.origin),[e]),o=(0,n.useMemo)(()=>{let e=1/0,t=-1/0,n=1/0,a=-1/0,i=(r,i)=>{e=Math.min(e,r),t=Math.max(t,r),n=Math.min(n,i),a=Math.max(a,i)};for(let e of r)i(e.aabb[0],e.aabb[2]),i(e.aabb[3],e.aabb[5]);for(let e of s)i(e.origin[0],e.origin[2]);return Number.isFinite(e)?(t-e<.001&&(e-=1,t+=1),a-n<.001&&(n-=1,a+=1),{minX:e,maxX:t,minZ:n,maxZ:a}):{minX:-1,maxX:1,minZ:-1,maxZ:1}},[r,s]),u=(0,n.useMemo)(()=>{let e=Math.min(134/(o.maxX-o.minX),94/(o.maxZ-o.minZ));return(t,n)=>[8+(t-o.minX)*e,8+(n-o.minZ)*e]},[o]),c=(0,n.useMemo)(()=>s.reduce((e,t)=>Math.max(e,t.count),1),[s]);return(0,n.useEffect)(()=>{let e=l.current,t=e?.getContext("2d");if(!t)return;let n=window.devicePixelRatio||1;for(let a of(e.width=150*n,e.height=110*n,t.setTransform(n,0,0,n,0,0),t.clearRect(0,0,150,110),t.fillStyle="rgba(8,10,14,0.85)",t.fillRect(0,0,150,110),t.strokeStyle="rgba(120,140,170,0.35)",t.lineWidth=1,r)){let[e,n]=u(a.aabb[0],a.aabb[2]),[r,i]=u(a.aabb[3],a.aabb[5]);t.strokeRect(Math.min(e,r),Math.min(n,i),Math.abs(r-e),Math.abs(i-n))}for(let e of s){let[n,r]=u(e.origin[0],e.origin[2]),i=2+e.count/c*4,l=e.key===a;t.beginPath(),t.arc(n,r,i,0,2*Math.PI),t.fillStyle=l?"rgba(242,115,242,1)":"rgba(242,115,242,0.55)",t.fill(),l&&(t.beginPath(),t.arc(n,r,i+2.5,0,2*Math.PI),t.strokeStyle="rgba(255,255,255,0.9)",t.lineWidth=1.5,t.stroke())}},[r,s,u,c,a]),(0,t.jsxs)("div",{className:"absolute right-3 top-3 rounded-md border border-edge bg-ink/80 p-1 backdrop-blur",children:[(0,t.jsx)("div",{className:"px-1 pb-0.5 text-[10px] font-medium text-fg-muted",children:"Standpoints (top view)"}),(0,t.jsx)("canvas",{ref:l,className:"h-27.5 w-37.5 cursor-pointer rounded",onClick:e=>{let t=l.current;if(!t||0===s.length)return;let n=t.getBoundingClientRect(),r=(e.clientX-n.left)/n.width*150,a=(e.clientY-n.top)/n.height*110,o=null,c=1/0;for(let e of s){let[t,n]=u(e.origin[0],e.origin[2]),i=(t-r)**2+(n-a)**2;i<c&&(c=i,o=e)}o&&c<=196&&i(o.key)}})]})}e.s(["FlowSankey3DView",0,function({links:v,gridSize:y,proxyMeshes:k=[],maxLinks:M=80,api:C,flowQuery:S,hasFirstPerson:z=!1}){let R=(0,n.useRef)(null),L=(0,n.useRef)(null),I=(0,n.useRef)(null),[_,A]=(0,n.useState)("loading"),[j,E]=(0,n.useState)(null),[$,P]=(0,n.useState)(h),[N,T]=(0,n.useState)(h),[B,F]=(0,n.useState)(h),[V,O]=(0,n.useState)("aggregate"),[Z,D]=(0,n.useState)(null),[W,H]=(0,n.useState)("all"),[K,U]=(0,n.useState)(v),G=!!(C&&S),Y=(0,n.useMemo)(()=>S?JSON.stringify(S):"",[S]),q=(0,n.useRef)(!1);(0,n.useEffect)(()=>{!q.current&&z&&(H("first-person"),q.current=!0)},[z]),(0,n.useEffect)(()=>{z&&"viewer"===W&&H("first-person")},[z,W]),(0,n.useEffect)(()=>{G||U(v)},[v,G]),(0,n.useEffect)(()=>{if(!C||!S)return;let e=!1,t="all"===W?void 0:W;return C.flowHeatmap({...S,bins:y,limit:400,groupByOrigin:!0,cameraMode:t}).then(t=>{e||U(t)}).catch(()=>{e||U([])}),()=>{e=!0}},[C,Y,W,y]);let X=(0,n.useMemo)(()=>{let e=new Map;for(let t of K){if(!t.originVoxel)continue;let n=i(t.originVoxel),r=t.origin,a=e.get(n);a?(a.count+=t.count,r&&(a.ox+=r[0]*t.count,a.oy+=r[1]*t.count,a.oz+=r[2]*t.count,a.wsum+=t.count)):e.set(n,{key:n,voxel:t.originVoxel,count:t.count,ox:r?r[0]*t.count:0,oy:r?r[1]*t.count:0,oz:r?r[2]*t.count:0,wsum:r?t.count:0})}return[...e.values()].map(e=>({key:e.key,voxel:e.voxel,count:e.count,origin:e.wsum>0?[e.ox/e.wsum,e.oy/e.wsum,e.oz/e.wsum]:void 0})).sort((e,t)=>t.count-e.count)},[K]),J=X.length>0,Q=(0,n.useMemo)(()=>B===h?null:X.find(e=>e.key===B)??null,[X,B]),ee=(0,n.useMemo)(()=>(function(e,t,n,s){let o=e.filter(e=>e.originVoxel);if(0===o.length)return{standpoints:[],gazes:[],meshes:[],ribbons:[],maxCount:1};let u=t.slice(0,Math.max(1,s.maxStandpoints)),c=new Set(u.map(e=>e.key)),d=e=>{let t=e.originVoxel?i(e.originVoxel):r;return c.has(t)?t:r},h=new Map;for(let e of o)h.set(e.mesh,(h.get(e.mesh)??0)+e.count);let m=new Set([...h.entries()].sort((e,t)=>t[1]-e[1]).slice(0,Math.max(1,s.maxMeshes)).map(([e])=>e)),f=e=>m.has(e)?e:a,p=new Map;for(let e of o){let t=d(e),n=f(e.mesh),r=`${t}|${e.azimuth_bin}|${e.elevation_bin}|${n}`,a=p.get(r);a?a.count+=e.count:p.set(r,{standpointId:t,gazeId:`${t}|${e.azimuth_bin}|${e.elevation_bin}`,meshId:n,azimuthBin:e.azimuth_bin,elevationBin:e.elevation_bin,count:e.count})}let b=[...p.values()].sort((e,t)=>t.count-e.count),g=b.slice(0,Math.max(1,s.maxRibbons)),x=b.slice(Math.max(1,s.maxRibbons));if(x.length>0){let e=new Map(g.map(e=>[`${e.standpointId}|${e.azimuthBin}|${e.elevationBin}|${a}`,e]));for(let t of x){let n=`${t.standpointId}|${t.azimuthBin}|${t.elevationBin}|${a}`,r=e.get(n);if(r)r.count+=t.count;else{let r={standpointId:t.standpointId,gazeId:t.gazeId,meshId:a,azimuthBin:t.azimuthBin,elevationBin:t.elevationBin,count:t.count};e.set(n,r),g.push(r)}}}let w=new Set(g.map(e=>e.standpointId)),v=new Set(g.map(e=>e.meshId)),y=[...u.filter(e=>w.has(e.key)).map(e=>e.key),...w.has(r)?[r]:[]],k=y.map((e,t)=>{let n=u.find(t=>t.key===e),a=g.filter(t=>t.standpointId===e).reduce((e,t)=>e+t.count,0);return{id:e,kind:"standpoint",pos:[-2.6,l(t,y.length),0],count:a,label:n?`[${n.voxel[0]}, ${n.voxel[1]}, ${n.voxel[2]}]`:"Other standpoints",isOther:e===r}}),M=new Map(k.map(e=>[e.id,e.pos[1]])),C=new Map;for(let e of g)C.set(e.meshId,(C.get(e.meshId)??0)+e.count);let S=[...v].sort((e,t)=>(C.get(t)??0)-(C.get(e)??0));S.sort((e,t)=>(e===a)-(t===a));let z=S.map((e,t)=>({id:e,kind:"mesh",pos:[2.6,l(t,S.length),0],count:C.get(e)??0,label:e===a?"Other meshes":e,isOther:e===a})),R=new Map;for(let e of g){let t=R.get(e.gazeId);t?t.count+=e.count:R.set(e.gazeId,{az:e.azimuthBin,el:e.elevationBin,sp:e.standpointId,count:e.count})}let L=[...R.entries()].map(([e,t])=>{let r=M.get(t.sp)??0,a=(t.az+.5)/n-.5;return{id:e,kind:"gaze",pos:[0,r+((t.el+.5)/n-.5)*.85,1.6*a],count:t.count,label:`(${t.az}, ${t.el})`,isOther:!1}}),I=g.reduce((e,t)=>Math.max(e,t.count),1);return{standpoints:k,gazes:L,meshes:z,ribbons:g,maxCount:I}})(K,X,y,m),[K,X,y]),et="twostage"===V&&J;(0,n.useEffect)(()=>{"twostage"!==V||J||O("aggregate")},[V,J]);let en=(0,n.useMemo)(()=>{if(B!==h&&J)return K.filter(e=>e.originVoxel&&i(e.originVoxel)===B);if(!J)return K;let e=new Map;for(let t of K){let n=`${t.azimuth_bin}|${t.elevation_bin}|${t.mesh}`,r=e.get(n);r?r.count+=t.count:e.set(n,{azimuth_bin:t.azimuth_bin,elevation_bin:t.elevation_bin,mesh:t.mesh,count:t.count})}return[...e.values()]},[K,B,J]),er=(0,n.useMemo)(()=>[...en].sort((e,t)=>t.count-e.count).slice(0,Math.max(1,M)),[en,M]),ea=(0,n.useMemo)(()=>{let e=new Map;for(let t of er)e.set(t.mesh,(e.get(t.mesh)??0)+t.count);return[...e.entries()].sort((e,t)=>t[1]-e[1])},[er]),ei=(0,n.useMemo)(()=>{let e=new Map;for(let t of er){let n=f(t.azimuth_bin,t.elevation_bin),r=e.get(n);r?r.count+=t.count:e.set(n,{azimuthBin:t.azimuth_bin,elevationBin:t.elevation_bin,count:t.count})}return[...e.values()].sort((e,t)=>t.count-e.count)},[er]);(0,n.useEffect)(()=>{!et&&$!==h&&(ea.some(([e])=>e===$)||P(h))},[et,$,ea]),(0,n.useEffect)(()=>{!et&&N!==h&&(ei.some(e=>f(e.azimuthBin,e.elevationBin)===N)||T(h))},[et,N,ei]),(0,n.useEffect)(()=>{!et&&B!==h&&(X.some(e=>e.key===B)||F(h))},[et,B,X]),(0,n.useEffect)(()=>{P(h),T(h),F(h)},[V]);let el=(0,n.useMemo)(()=>et?ee.ribbons.filter(e=>{let t=B===h||e.standpointId===B,n=N===h||f(e.azimuthBin,e.elevationBin)===N,r=$===h||e.meshId===$;return t&&n&&r}).length:er.filter(e=>{let t=N===h||f(e.azimuth_bin,e.elevation_bin)===N,n=$===h||e.mesh===$;return t&&n}).length,[et,ee,er,$,N,B]),es=et?ee.ribbons.length:er.length,eo=(0,n.useMemo)(()=>et?ee.standpoints.map(e=>({value:e.id,label:`${e.label} \xb7 ${e.count}`})):X.slice(0,24).map(e=>({value:e.key,label:`[${e.voxel[0]}, ${e.voxel[1]}, ${e.voxel[2]}] \xb7 ${e.count}`})),[et,ee,X]),eu=(0,n.useMemo)(()=>{if(et){let e=new Map;for(let t of ee.ribbons){let n=f(t.azimuthBin,t.elevationBin),r=e.get(n);r?r.count+=t.count:e.set(n,{az:t.azimuthBin,el:t.elevationBin,count:t.count})}return[...e.values()].sort((e,t)=>t.count-e.count).map(e=>({value:f(e.az,e.el),label:`(${e.az}, ${e.el}) \xb7 ${e.count}`}))}return ei.map(e=>({value:f(e.azimuthBin,e.elevationBin),label:`(${e.azimuthBin}, ${e.elevationBin}) \xb7 ${e.count}`}))},[et,ee,ei]),ec=(0,n.useMemo)(()=>et?ee.meshes.map(e=>({value:e.id,label:`${e.label} \xb7 ${e.count}`})):ea.map(([e,t])=>({value:e,label:`${e} \xb7 ${t}`})),[et,ee,ea]),ed=(0,n.useRef)(er);ed.current=er;let eh=(0,n.useRef)(ee);eh.current=ee;let em=(0,n.useRef)(k);em.current=k;let ef=(0,n.useRef)(ea);ef.current=ea;let ep=(0,n.useRef)($);ep.current=$;let eb=(0,n.useRef)(N);eb.current=N;let eg=(0,n.useRef)(B);eg.current=B;let ex=(0,n.useRef)(Q);ex.current=Q;let ew=(0,n.useRef)(null),ev=et?ee.ribbons.length>0:er.length>0;return(0,n.useEffect)(()=>{let t=R.current;if(!t)return;if(!ev)return void A("empty");let n=!1,r=null;return A("loading"),E(null),(async()=>{try{let a,[{Engine:i},{Scene:l},{ArcRotateCamera:c},{HemisphericLight:d},{Vector3:m,Color3:g,Color4:x},{MeshBuilder:w},{StandardMaterial:v}]=await Promise.all([e.A(69721),e.A(341),e.A(21342),e.A(72976),e.A(35285),e.A(42598),e.A(97938),e.A(82926)]);if(n)return;let k=new i(t,!0,{preserveDrawingBuffer:!1}),M=new l(k);M.clearColor=new x(.04,.05,.07,1);let C=[],S=()=>{for(let e of C)e.dispose();C=[]};if(et){let e=m.Zero();(a=new c("ts-cam",Math.PI/2,Math.PI/2.4,8.5,e,M)).attachControl(t,!0),(0,o.disableWheelZoom)(a),L.current=a,I.current={target:e,alpha:a.alpha,beta:a.beta,radius:a.radius},new d("ts-light",new m(.3,1,.2),M);let n={standpoint:[.95,.45,.95],gaze:[.45,.75,1],mesh:[1,.82,.42]},r={standpoint:.26,gaze:.13,mesh:.22},i=(e,t,n)=>{let r=e[0],a=e[1],i=e[2],l=t[0],s=t[1],o=t[2],u=[(r+l)/2,(a+s)/2+n,(i+o)/2],c=[];for(let e=0;e<=12;e++){let t=e/12,n=1-t;c.push(new m(n*n*r+2*n*t*u[0]+t*t*l,n*n*a+2*n*t*u[1]+t*t*s,n*n*i+2*n*t*u[2]+t*t*o))}return c},l=()=>{S();let e=eh.current;if(0===e.ribbons.length)return;let t=eg.current,a=eb.current,l=ep.current,o=e=>{let n=t===h||e.standpointId===t,r=a===h||f(e.azimuthBin,e.elevationBin)===a,i=l===h||e.meshId===l;return n&&r&&i},u=t!==h||a!==h||l!==h,c=new Set;for(let t of e.ribbons)o(t)&&(c.add(t.standpointId),c.add(t.gazeId),c.add(t.meshId));let d=[...e.standpoints,...e.gazes,...e.meshes],p=new Map(d.map(e=>[e.id,e.pos])),b=new Map(d.map(e=>[e.id,e.label]));for(let e of d){let t=w.CreateSphere(`ts-node-${e.kind}-${e.id}`,{diameter:r[e.kind],segments:8},M);t.position=new m(e.pos[0],e.pos[1],e.pos[2]);let a=new v(`ts-node-mat-${e.kind}-${e.id}`,M);a.disableLighting=!0;let[i,l,s]=n[e.kind];a.emissiveColor=new g(i,l,s),a.alpha=!u||c.has(e.id)?1:.2,t.material=a,t.isPickable=!0,t.metadata={hoverLabel:e.label},C.push(t,a)}for(let t of e.ribbons){let n=p.get(t.standpointId),r=p.get(t.gazeId),a=p.get(t.meshId);if(!n||!r||!a)continue;let l=t.count/e.maxCount,c=.18+.5*l,d=[...i(n,r,c),...i(r,a,c).slice(1)],h=o(t),[m,f,x]=(0,s.heatRgb)(l),y=w.CreateTube(`ts-link-${t.standpointId}-${t.gazeId}-${t.meshId}`,{path:d,radius:(h?1:.4)*(.012+.04*l),tessellation:8,cap:0,sideOrientation:0},M),k=new v(`ts-link-mat-${t.standpointId}-${t.gazeId}-${t.meshId}`,M);k.disableLighting=!0,k.emissiveColor=new g(m,f,x),k.alpha=h?.35+.65*l:u?.06:.18,y.material=k,y.isPickable=!0,y.metadata={hoverLabel:b.get(t.meshId)??t.meshId},C.push(y,k)}};ew.current=l,l()}else{let e=new Map;for(let t of em.current)e.set(t.name,p(t));let n=new Map,r=ef.current.map(([e])=>e).filter(t=>!e.has(t));for(let e=0;e<r.length;e++){let t=r[e],a=b(t),i=e/Math.max(1,r.length)*Math.PI*2+a%100/100*.35;n.set(t,[2.2*Math.cos(i),-.35+(a%7-3)*.06,2.2*Math.sin(i)])}for(let[t,r]of e.entries())n.set(t,r);let i=0,l=0,u=0,x=0;for(let e of n.values())i+=e[0],l+=e[1],u+=e[2],x++;let k=new m(i/Math.max(1,x),l/Math.max(1,x),u/Math.max(1,x)),z=1.8;for(let e of n.values()){let t=e[0]-k.x,n=e[1]-k.y,r=e[2]-k.z;z=Math.max(z,Math.sqrt(t*t+n*n+r*r))}let R=.75*z+1,_=Math.max(1,z/1.8);(a=new c("flow-cam",Math.PI/4,Math.PI/3,3.4*z,k,M)).attachControl(t,!0),(0,o.disableWheelZoom)(a),L.current=a,I.current={target:k,alpha:a.alpha,beta:a.beta,radius:a.radius},new d("flow-light",new m(.3,1,.2),M);let A=w.CreateSphere("flow-source-dome",{diameter:2*R,segments:20},M);A.position=k;let j=new v("flow-source-dome-mat",M);j.wireframe=!0,j.disableLighting=!0,j.emissiveColor=new g(.16,.2,.28),j.alpha=.35,A.material=j,A.isPickable=!1;let E=()=>{S();let e=ed.current;if(0===e.length)return;let t=ep.current,n=eb.current,r=ex.current,a=new Map;for(let e of em.current)a.set(e.name,p(e));let i=new Map,l=ef.current.map(([e])=>e).filter(e=>!a.has(e));for(let e=0;e<l.length;e++){let t=l[e],n=b(t),r=e/Math.max(1,l.length)*Math.PI*2+n%100/100*.35;i.set(t,[2.2*Math.cos(r),-.35+(n%7-3)*.06,2.2*Math.sin(r)])}for(let[e,t]of a.entries())i.set(e,t);let o=e.reduce((e,t)=>Math.max(e,t.count),1),u=new v("flow-source-node",M);u.disableLighting=!0,u.emissiveColor=new g(.45,.75,1);let c=new v("flow-target-node",M);c.disableLighting=!0,c.emissiveColor=new g(1,.82,.42),C.push(u,c);let d=new Set,x=new Set,z=e=>{let r=n===h||f(e.azimuth_bin,e.elevation_bin)===n,a=t===h||e.mesh===t;return r&&a},L=new Set,I=new Set;for(let t of e)z(t)&&(L.add(f(t.azimuth_bin,t.elevation_bin)),I.add(t.mesh));for(let r of e){let e=`${r.azimuth_bin}|${r.elevation_bin}`,a=i.get(r.mesh);if(!a)continue;let l=z(r),f=(r.azimuth_bin+.5)/y*Math.PI*2-Math.PI,p=(r.elevation_bin+.5)/y*Math.PI-Math.PI/2,b=Math.cos(p),S=b*Math.cos(f),A=Math.sin(p),j=b*Math.sin(f),E=new m(k.x+S*R,k.y+A*R,k.z+j*R),$=new m(a[0],a[1],a[2]);if(!d.has(e)){let r=w.CreateSphere(`flow-src-${e}`,{diameter:.12*_,segments:6},M);r.position=E;let a=u.clone(`flow-src-mat-${e}`);a.alpha=L.has(e)||t===h&&n===h?1:.22,r.material=a,r.isPickable=!1,d.add(e),C.push(r,a)}if(!x.has(r.mesh)){let e=w.CreateSphere(`flow-target-${r.mesh}`,{diameter:.2*_,segments:7},M);e.position=$;let a=c.clone(`flow-target-mat-${r.mesh}`);a.alpha=I.has(r.mesh)||t===h&&n===h?1:.22,e.material=a,e.isPickable=!0,e.metadata={hoverLabel:r.mesh},x.add(r.mesh),C.push(e,a)}let P=E.add($).scale(.5),N=P.subtract(k),T=Math.sqrt(N.x*N.x+N.y*N.y+N.z*N.z),B=T>1e-6?N.x/T:0,F=T>1e-6?N.y/T:1,V=T>1e-6?N.z/T:0,O=(.35+r.count/o*.75)*_,Z=new m(P.x+B*O,P.y+F*O+.12*_,P.z+V*O),D=[];for(let e=0;e<=18;e++){let t=e/18,n=1-t;D.push(new m(n*n*E.x+2*n*t*Z.x+t*t*$.x,n*n*E.y+2*n*t*Z.y+t*t*$.y,n*n*E.z+2*n*t*Z.z+t*t*$.z))}let W=r.count/o,[H,K,U]=(0,s.heatRgb)(W),G=w.CreateTube(`flow-link-${r.mesh}-${e}`,{path:D,radius:(l?1:.4)*(.012+.04*W)*_,tessellation:8,cap:0,sideOrientation:0},M),Y=new v(`flow-link-mat-${r.mesh}-${e}`,M);Y.disableLighting=!0,Y.emissiveColor=new g(H,K,U),Y.alpha=l?.35+.65*W:.08,G.material=Y,G.isPickable=!0,G.metadata={hoverLabel:r.mesh},C.push(G,Y)}let A=r?.origin;if(A){let e=new m(A[0],A[1],A[2]),t=w.CreateSphere("flow-standpoint",{diameter:.26*_,segments:10},M);t.position=e;let n=new v("flow-standpoint-mat",M);n.disableLighting=!0,n.emissiveColor=new g(.95,.45,.95),t.material=n,t.isPickable=!1;let r=w.CreateLines("flow-standpoint-stem",{points:[e,new m(e.x,k.y,e.z)]},M);r.color=new g(.95,.45,.95),r.isPickable=!1,C.push(t,n,r)}};ew.current=E,E()}k.runRenderLoop(()=>M.render());let z=()=>k.resize();window.addEventListener("resize",z);let R=(0,u.attachMeshHover)(M,t,D),_=(0,o.attachDoubleClickFocus)(M,t,a);A("ready"),r=()=>{window.removeEventListener("resize",z),R(),_(),D(null),ew.current=null,L.current=null,I.current=null,S(),M.dispose(),k.dispose()}}catch(e){if(n)return;A("error"),E(e instanceof Error?e.message:"Failed to render flow links.")}})(),()=>{n=!0,r?.()}},[et,y,ev]),(0,n.useEffect)(()=>{ew.current?.()},[er,ee,k,$,N,B,Q]),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("canvas",{ref:R,className:"aspect-video w-full rounded-lg border border-edge bg-ink"}),Z?(0,t.jsx)("div",{className:"pointer-events-none absolute z-10 max-w-[16rem] truncate rounded border border-edge bg-ink/90 px-1.5 py-0.5 text-xs text-white shadow backdrop-blur",style:{left:Z.x+12,top:Z.y+12},children:Z.label}):null,"ready"===_?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"absolute left-3 top-3 flex flex-wrap gap-2",children:[J?(0,t.jsxs)("div",{className:"flex items-center gap-1 rounded-md border border-edge bg-ink/80 p-0.5 text-xs backdrop-blur",children:[(0,t.jsx)(x,{active:!et,onClick:()=>O("aggregate"),children:"Aggregate"}),(0,t.jsx)(x,{active:et,onClick:()=>O("twostage"),children:"Two-stage"})]}):null,G?(0,t.jsxs)("div",{className:"flex items-center gap-1 rounded-md border border-edge bg-ink/80 p-0.5 text-xs backdrop-blur",children:[(0,t.jsx)(x,{active:"first-person"===W,onClick:()=>H("first-person"),children:"Walk"}),(0,t.jsx)(x,{active:"viewer"===W,onClick:()=>H("viewer"),disabled:z,title:z?"Orbit (viewer) flow isn't available for walkable scenes":void 0,children:"Orbit"}),(0,t.jsx)(x,{active:"all"===W,onClick:()=>H("all"),children:"All"})]}):null,J?(0,t.jsx)(g,{label:"Standpoint",value:B,onChange:F,allLabel:"All standpoints",options:eo}):null,(0,t.jsx)(g,{label:et?"Gaze":"Source",value:N,onChange:T,allLabel:et?"All gaze sectors":"All sources",options:eu}),(0,t.jsx)(g,{label:"Mesh",value:$,onChange:P,allLabel:"All meshes",options:ec})]}),et?(0,t.jsx)(w,{standpoints:X,proxyMeshes:k,selectedKey:B,onSelect:e=>F(t=>t===e?h:e)}):null,(0,t.jsxs)("div",{className:"pointer-events-none absolute bottom-3 right-3 flex max-w-[20rem] flex-col items-end gap-2",children:[G&&!z?(0,t.jsxs)("div",{className:"rounded-md border border-edge bg-ink/80 px-2 py-1 text-xs text-fg-muted backdrop-blur",children:["Orbit-dominated scene — viewer ",(0,t.jsx)("em",{children:"position"})," adds little here. Use the"," ",(0,t.jsx)("strong",{children:"View dome"})," (§7.5) above for where viewers looked."]}):null,(0,t.jsxs)("div",{className:"rounded-md border border-edge bg-ink/80 px-2 py-1 text-xs text-fg backdrop-blur",children:["Active links: ",el,"/",es]})]}),(0,t.jsx)(d.ZoomButtons,{onZoom:e=>L.current&&(0,o.stepZoom)(L.current,e),onReset:()=>L.current&&I.current&&(0,o.resetFocus)(L.current,I.current)}),(0,t.jsx)(c.HeatLegend,{title:"Flow volume",lowLabel:"fewer links",highLabel:"dominant links",note:et?"Three columns: standpoint → gaze sector → mesh. Top standpoints/meshes are kept; the tail folds into an “Other” node. Pick a standpoint (or click the minimap), gaze sector, or mesh to emphasize matching ribbons.":"Each arc aggregates clicks from one camera-direction bin to a mesh. Pick a source or mesh to emphasize matching links and dim the rest."})]}):(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 grid place-items-center text-sm text-fg-muted",children:"loading"===_?"Rendering…":"empty"===_?"No aggregate flow links in range.":"error"===_?j??"Flow view unavailable.":null})]})}],19399)},39592,e=>{"use strict";var t=e.i(63671),n=e.i(48093),r=e.i(56054),a=e.i(2348),i=e.i(87456),l=e.i(2413);function s(e){let t=Math.min(1,Math.max(0,e));return[.118+(.22-.118)*t,.227+.513*t,.541+(.97-.541)*t]}function o(e){return`${e.vx}|${e.vy}|${e.vz}`}function u({mode:e}){return(0,t.jsxs)("div",{className:"absolute bottom-3 right-3 max-w-72 rounded-md border border-edge bg-ink/80 px-2 py-1.5 text-xs text-fg backdrop-blur",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"inline-block h-2.5 w-2.5 rounded-sm bg-[#38bdf8]"}),"divergence"===e?"Gaze-heavy":"Gaze"]}),(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"inline-block h-2.5 w-2.5 rounded-sm bg-[#f4c84b]"}),"divergence"===e?"Click-heavy":"Clicks"]})]}),(0,t.jsx)("p",{className:"mt-1 text-fg-muted",children:"divergence"===e?"Per-voxel normalized difference: which signal dominates each cell. Color & size scale with the gap.":"Gaze = where viewers looked; Clicks = where they acted. Cells with gaze but no clicks are looked-at but un-acted-on."})]})}function c({active:e,onClick:n,children:r}){return(0,t.jsx)("button",{type:"button",onClick:n,className:`rounded px-2 py-0.5 font-medium transition ${e?"bg-amber text-ink":"text-fg-muted hover:text-fg"}`,children:r})}e.s(["GazeClickDivergence3DView",0,function({gazeVoxels:d,clickVoxels:h,cellSize:m,proxyMeshes:f=[]}){let p=(0,n.useRef)(null),b=(0,n.useRef)(null),g=(0,n.useRef)(null),[x,w]=(0,n.useState)("loading"),[v,y]=(0,n.useState)(null),[k,M]=(0,n.useState)("overlay"),[C,S]=(0,n.useState)(null),z=(0,n.useRef)(d),R=(0,n.useRef)(h),L=(0,n.useRef)(f),I=(0,n.useRef)(k);z.current=d,R.current=h,L.current=f,I.current=k;let _=(0,n.useRef)(null),A=d.length>0||h.length>0||f.length>0;return(0,n.useEffect)(()=>{let t=p.current;if(!t)return;if(!A)return void w("empty");let n=!1,l=null;return w("loading"),y(null),(async()=>{try{let[{Engine:u},{Scene:c},{ArcRotateCamera:d},{HemisphericLight:h},{Vector3:f,Color3:p,Color4:x,Matrix:v},{MeshBuilder:y},{StandardMaterial:k}]=await Promise.all([e.A(69721),e.A(341),e.A(21342),e.A(72976),e.A(35285),e.A(42598),e.A(97938),e.A(95369),e.A(82926)]);if(n)return;let M=z.current,C=R.current,A=L.current,j=[...M,...C],E=0,$=0,P=0,N=0;for(let e of j)E+=(e.vx+.5)*m,$+=(e.vy+.5)*m,P+=(e.vz+.5)*m,N++;if(0===N)for(let e of A)E+=(e.aabb[0]+e.aabb[3])/2,$+=(e.aabb[1]+e.aabb[4])/2,P+=(e.aabb[2]+e.aabb[5])/2,N++;let T=new f(E/N,$/N,P/N),B=4*m;for(let e of j){let t=(e.vx+.5)*m-T.x,n=(e.vy+.5)*m-T.y,r=(e.vz+.5)*m-T.z;B=Math.max(B,Math.sqrt(t*t+n*n+r*r))}for(let e of A){let t=(e.aabb[0]+e.aabb[3])/2-T.x,n=(e.aabb[1]+e.aabb[4])/2-T.y,r=(e.aabb[2]+e.aabb[5])/2-T.z;B=Math.max(B,Math.sqrt(t*t+n*n+r*r))}let F=new u(t,!0,{preserveDrawingBuffer:!1}),V=new c(F);V.clearColor=new x(.04,.05,.07,1);let O=new d("divergence-cam",Math.PI/4,Math.PI/3,2.4*B,T,V);O.attachControl(t,!0),(0,a.disableWheelZoom)(O),b.current=O,g.current={target:T,alpha:O.alpha,beta:O.beta,radius:O.radius},new h("divergence-light",new f(.4,1,.3),V);let Z=null,D="\0",W=Math.max(.02*B,.25*m)/(.9*m),H=[],K=(e,t,n,r,a)=>{if(0===t.length)return;let i=y.CreateSphere(e,{diameter:.9*m,segments:6},V),l=new k(`${e}-mat`,V);l.diffuseColor=new p(1,1,1),l.specularColor=new p(0,0,0),i.material=l,i.metadata={hoverLabel:a},H.push(i);let s=t.length,o=new Float32Array(16*s),u=new Float32Array(4*s);for(let e=0;e<s;e++){let a=t[e],i=a.count/n,l=W*(.5+.5*i);v.Scaling(l,l,l).multiply(v.Translation((a.vx+.5)*m,(a.vy+.5)*m,(a.vz+.5)*m)).copyToArray(o,16*e);let[s,c,d]=r(i);u[4*e]=s,u[4*e+1]=c,u[4*e+2]=d,u[4*e+3]=1}i.thinInstanceSetBuffer("matrix",o,16,!1),i.thinInstanceSetBuffer("color",u,4,!0)},U=()=>{for(let e of((()=>{let e=L.current,t=e.map(e=>`${e.name}:${e.aabb.join(",")}`).join("|");if(t===D||(D=t,Z&&(Z.dispose(!1,!0),Z=null),0===e.length))return;Z=y.CreateBox("scene-proxy",{size:1},V);let n=new k("scene-proxy-mat",V);n.wireframe=!0,n.disableLighting=!0,n.emissiveColor=new p(.32,.4,.52),n.alpha=.35,Z.material=n,Z.isPickable=!0,Z.thinInstanceEnablePicking=!0,Z.metadata={hoverLabels:e.map(e=>e.name)};let r=e.length,a=new Float32Array(16*r);for(let t=0;t<r;t++){let n=e[t].aabb,r=Math.max(n[3]-n[0],.001),i=Math.max(n[4]-n[1],.001),l=Math.max(n[5]-n[2],.001);v.Scaling(r,i,l).multiply(v.Translation((n[0]+n[3])/2,(n[1]+n[4])/2,(n[2]+n[5])/2)).copyToArray(a,16*t)}Z.thinInstanceSetBuffer("matrix",a,16,!0)})(),H))e.dispose(!1,!0);H=[];let e=z.current,t=R.current,n=e.reduce((e,t)=>Math.max(e,t.count),1),a=t.reduce((e,t)=>Math.max(e,t.count),1),i=I.current;if("divergence"===i){let i=new Map(e.map(e=>[o(e),e])),l=new Map(t.map(e=>[o(e),e])),u=new Set([...i.keys(),...l.keys()]),c=[],d=[];for(let e of u){let t=(i.get(e)?.count??0)/n,r=(l.get(e)?.count??0)/a,s=l.get(e)??i.get(e),o=r-t,u={vx:s.vx,vy:s.vy,vz:s.vz,count:1e3*Math.abs(o)};(o>=0?c:d).push(u)}K("div-click",c,1e3,r.heatRgb,"Click-heavy"),K("div-gaze",d,1e3,s,"Gaze-heavy")}else("overlay"===i||"gaze"===i)&&K("gaze-voxel",e,n,s,"Gaze"),("overlay"===i||"click"===i)&&K("click-voxel",t,a,r.heatRgb,"Click")};_.current=U,U(),F.runRenderLoop(()=>V.render());let G=()=>F.resize();window.addEventListener("resize",G);let Y=(0,i.attachMeshHover)(V,t,S),q=(0,a.attachDoubleClickFocus)(V,t,O);w("ready"),l=()=>{window.removeEventListener("resize",G),Y(),q(),S(null),_.current=null,b.current=null,g.current=null,V.dispose(),F.dispose()}}catch(e){if(n)return;w("error"),y(e instanceof Error?e.message:"Failed to render overlay.")}})(),()=>{n=!0,l?.()}},[A,m]),(0,n.useEffect)(()=>{_.current?.()},[d,h,f,m,k]),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("canvas",{ref:p,className:"aspect-video w-full rounded-lg border border-edge bg-ink"}),C?(0,t.jsx)("div",{className:"pointer-events-none absolute z-10 max-w-64 truncate rounded border border-edge bg-ink/90 px-1.5 py-0.5 text-xs text-white shadow backdrop-blur",style:{left:C.x+12,top:C.y+12},children:C.label}):null,"ready"===x?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"absolute left-3 top-3 flex items-center gap-1 rounded-md border border-edge bg-ink/80 p-0.5 text-xs backdrop-blur",children:[(0,t.jsx)(c,{active:"overlay"===k,onClick:()=>M("overlay"),children:"Overlay"}),(0,t.jsx)(c,{active:"gaze"===k,onClick:()=>M("gaze"),children:"Gaze"}),(0,t.jsx)(c,{active:"click"===k,onClick:()=>M("click"),children:"Clicks"}),(0,t.jsx)(c,{active:"divergence"===k,onClick:()=>M("divergence"),children:"Divergence"})]}),(0,t.jsx)(l.ZoomButtons,{onZoom:e=>b.current&&(0,a.stepZoom)(b.current,e),onReset:()=>b.current&&g.current&&(0,a.resetFocus)(b.current,g.current)}),(0,t.jsx)(u,{mode:k})]}):(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 grid place-items-center text-sm text-fg-muted",children:"loading"===x?"Rendering…":"empty"===x?"No gaze or click hit-points in range. Enable gaze + pointer capture in the SDK.":"error"===x?v??"Overlay unavailable.":null})]})}])},76421,e=>{"use strict";var t=e.i(63671),n=e.i(48093);let r={status:"idle",gated:!1,count:0};var a=e.i(60614),i=e.i(2348),l=e.i(2413);let s=new Set,o=[{key:"interaction",label:"Clicks & picks",color:"#fb923c",types:new Set(["pointer_click","mesh_interaction"])},{key:"actors",label:"Scene actors",color:"#e879f9",types:new Set(["node_transform"])},{key:"custom",label:"Custom",color:"#34d399",types:new Set(["custom"])},{key:"camera",label:"Camera",color:"#38bdf8",types:new Set(["camera_sample"])},{key:"pointer",label:"Pointer",color:"#94a3b8",types:new Set(["pointer_move","pointer_down","pointer_up"])},{key:"perf",label:"Perf",color:"#a78bfa",types:new Set(["frame_perf"])},{key:"lifecycle",label:"Lifecycle",color:"#f472b6",types:new Set(["session_start","session_end","scene_change","focus_change","visibility_change","viewport_resize","context_lost","context_restored","runtime_error","capability_change","input_action","resource_sample","compile_stall","mesh_visibility","hover_dwell"])}];function u(e,t,n){let r=Math.max(1,n),a=new Map;o.forEach((e,t)=>{for(let n of e.types)a.set(n,t)});let i=o.map(()=>new Set);for(let n of e){let e=a.get(n.type);if(void 0===e)continue;let l=Math.min(1,Math.max(0,(n.ts-t)/r));i[e].add(Math.round(600*l))}return o.map((e,t)=>({key:e.key,label:e.label,color:e.color,marks:[...i[t]].sort((e,t)=>e-t).map(e=>e/600)})).filter(e=>e.marks.length>0)}function c(e){let t=Math.max(0,Math.round(e/1e3)),n=Math.floor(t/60);return`${n}:${(t%60).toString().padStart(2,"0")}`}function d(e){let t=e.slice(e.lastIndexOf("/")+1);return t.length>20?`${t.slice(0,19)}\u2026`:t}function h({lanes:e,duration:n,progress:r,onSeek:a,hiddenTypes:i}){let l=e.filter(e=>{let t=o.find(t=>t.key===e.key);if(!t)return!0;for(let e of t.types)if(!i.has(e))return!0;return!1});if(0===l.length)return null;let s=`${Math.min(100,Math.max(0,r/Math.max(1,n)*100))}%`;return(0,t.jsxs)("div",{className:"mt-4",children:[(0,t.jsx)("div",{className:"mb-1.5 flex flex-wrap items-center gap-x-3 gap-y-1 text-[10px] text-fg-muted",children:l.map(e=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"inline-block h-2 w-2 rounded-sm",style:{backgroundColor:e.color}}),e.label,(0,t.jsxs)("span",{className:"tabular-nums text-fg-muted",children:["(",e.marks.length,")"]})]},e.key))}),(0,t.jsxs)("button",{type:"button","aria-label":"Event timeline — click to seek",className:"relative block w-full cursor-pointer select-none rounded-md border border-edge bg-ink/60 p-1.5 text-left",onClick:e=>{var t;let r;return t=e.clientX,void a(Math.min(1,Math.max(0,(t-(r=e.currentTarget.getBoundingClientRect()).left)/(r.width||1)))*n)},children:[(0,t.jsx)("div",{className:"flex flex-col gap-1",children:l.map(e=>(0,t.jsx)("div",{className:"relative h-2.5 rounded-sm bg-white/5",children:e.marks.map((n,r)=>(0,t.jsx)("span",{"aria-hidden":!0,className:"pointer-events-none absolute top-0 h-full w-px",style:{left:`${100*n}%`,backgroundColor:e.color,opacity:.85}},r))},e.key))}),(0,t.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-y-1 w-px bg-saffron",style:{left:s}})]})]})}e.s(["SessionReplayView",0,function({api:o,sessionId:m,hiddenTypes:f,isLive:p=!1}){let b=(0,n.useRef)(null),g=(0,n.useRef)(null),x=(0,n.useRef)(0),w=(0,n.useRef)(f??s),v=(0,n.useRef)(!1),y=(0,n.useRef)(null),k=(0,n.useRef)(!1),M=(0,n.useRef)(!1),C=(0,n.useRef)(null),S=(0,n.useRef)(0),z=(0,n.useRef)([]),R=(0,n.useRef)([]),L=(0,n.useRef)([]),I=(0,n.useRef)(!0),_=(0,n.useRef)("birdview"),A=(0,n.useRef)(null),j=(0,n.useRef)(null),E=(0,n.useRef)([]),$=(0,n.useRef)(null),P=(0,n.useRef)(null),[N,T]=(0,n.useState)("idle"),[B,F]=(0,n.useState)(null),[V,O]=(0,n.useState)(0),[Z,D]=(0,n.useState)(0),[W,H]=(0,n.useState)(!1),[K,U]=(0,n.useState)([]),[G,Y]=(0,n.useState)([]),[q,X]=(0,n.useState)([]),[J,Q]=(0,n.useState)(!0),[ee,et]=(0,n.useState)(!1),[en,er]=(0,n.useState)("birdview"),[ea,ei]=(0,n.useState)(null),[el,es]=(0,n.useState)(!1),[eo,eu]=(0,n.useState)(!1),[ec,ed]=(0,n.useState)(null);(0,n.useEffect)(()=>{I.current=J},[J]),(0,n.useEffect)(()=>{M.current=W},[W]),(0,n.useEffect)(()=>{k.current=ee},[ee]),(0,n.useEffect)(()=>{_.current=en,v.current=!0},[en]),(0,n.useEffect)(()=>{w.current=f??s,v.current=!0},[f]),(0,n.useEffect)(()=>{let t=b.current;if(!t)return;let n=!1,r=null;return T("loading"),F(null),H(!1),O(0),D(0),U([]),Y([]),X([]),ei(null),A.current=null,z.current=[],R.current=[],L.current=[],x.current=0,$.current=null,E.current=[],j.current=null,es(!1),eu(!1),ed(null),(async()=>{try{let[{Engine:l},{Scene:s},{ArcRotateCamera:c},{UniversalCamera:d},{HemisphericLight:h},{Vector3:f,Color3:b,Color4:P,Matrix:N},{MeshBuilder:B},{StandardMaterial:F},{ReplayPlayer:V}]=await Promise.all([e.A(69721),e.A(341),e.A(21342),e.A(98211),e.A(72976),e.A(35285),e.A(42598),e.A(97938),e.A(85461),e.A(82926)]),Z=await o.sessionEvents(m);if(n)return;if(0===Z.length)return void T("empty");let W=Z[0].ts,K=Z[0].ts;for(let e of Z)e.ts<W&&(W=e.ts),e.ts>K&&(K=e.ts);let G=await (0,a.mergeSceneProxies)(o,{since:W-1,until:K+1});if(n)return;let q=[...Z].sort((e,t)=>e.ts-t.ts),J=q[0].ts,Q=[],ee=[],en=new Map,er=null;for(let e of q){let t=e.ts-J;if("camera_sample"===e.type){er=[e.position[0],e.position[1],e.position[2]],Q.push({at:t,position:er,direction:[e.direction[0],e.direction[1],e.direction[2]],..."number"==typeof e.fov?{fov:e.fov}:{}});continue}if("node_transform"===e.type){if(e.boneId)continue;let n=e.childPath?`${e.nodeId}/${e.childPath}`:e.nodeId,r=en.get(n);r||(r=[],en.set(n,r)),r.push({at:t,position:[e.position[0],e.position[1],e.position[2]]});continue}if("pointer_click"===e.type&&e.hitPoint){let n=e.ray?.origin??er;if(!n)continue;ee.push({at:t,type:"pointer_click",origin:[n[0],n[1],n[2]],hit:[e.hitPoint[0],e.hitPoint[1],e.hitPoint[2]],...e.hitMesh?{mesh:e.hitMesh}:{}});continue}if("mesh_interaction"===e.type&&e.point){if(!er)continue;ee.push({at:t,type:"mesh_interaction",origin:[er[0],er[1],er[2]],hit:[e.point[0],e.point[1],e.point[2]],...e.mesh?{mesh:e.mesh}:{}})}}if(0===Q.length&&0===ee.length&&0===en.size)return void T("empty");let ea=new l(t,!0,{preserveDrawingBuffer:!1}),el=new s(ea);el.clearColor=new P(.04,.05,.07,1),j.current=el;let es=new c("birdview-cam",-Math.PI/2,.22,12,f.Zero(),el);es.attachControl(t,!0),(0,i.disableWheelZoom)(es),g.current=es,new h("replay-light",new f(0,1,0),el);let eo=new d("replay-follow-cam",f.Zero(),el);eo.minZ=.05,eo.fov=Math.PI/3,el.activeCamera=es;let eu="birdview",ec=B.CreateGround("replay-ground",{width:20,height:20,subdivisions:20},el),ed=new F("replay-ground-mat",el);ed.diffuseColor=new b(.12,.14,.18),ed.wireframe=!0,ec.material=ed;let eh=new Set(en.keys()),em=new Set(Array.from(eh,e=>e.slice(e.lastIndexOf("/")+1))),ef=[],ep=[],eb=new Set,eg=e=>{if(eb.has(e.name)||(e=>{if(e.path){for(let t of eh)if(e.path===t||e.path.endsWith(`/${t}`))return!0}return em.has(e.name)})(e))return!1;eb.add(e.name);let t=e.aabb,n=Math.max(t[3]-t[0],.001),r=Math.max(t[4]-t[1],.001),a=Math.max(t[5]-t[2],.001),i=B.CreateBox(`replay-proxy-${e.name}`,{width:n,height:r,depth:a},el);i.position=new f((t[0]+t[3])/2,(t[1]+t[4])/2,(t[2]+t[5])/2);let l=new F(`replay-proxy-mat-${e.name}`,el);return l.wireframe=!0,l.disableLighting=!0,l.emissiveColor=new b(.32,.4,.52),l.alpha=.35,i.material=l,i.isPickable=!1,$.current&&i.setEnabled(!1),ep.push(i),ef.push({name:e.name,center:new f((t[0]+t[3])/2,t[4],(t[2]+t[5])/2)}),!0};for(let e of G)eg(e);z.current=ef,R.current=ef.map(()=>null),Y(ef.map(e=>e.name)),E.current=ep;let ex=async()=>{let e=await (0,a.mergeSceneProxies)(o,{since:W-1}).catch(()=>null);if(n||!e)return;let t=!1;for(let n of e)eg(n)&&(t=!0);t&&(z.current=ef,R.current=ef.map((e,t)=>R.current[t]??null),Y(ef.map(e=>e.name)),v.current=!0)},ew=[[.91,.47,.98],[.4,.95,.6],[.98,.8,.3],[.45,.85,1]],ev=e=>{let t=e.indexOf("/");return -1===t?e:e.slice(0,t)},ey=[],ek=new Map,eM=0,eC=(e,t,n)=>{let r=B.CreateSphere(`replay-actor-${e}`,{diameter:.5,segments:12},el),a=new F(`replay-actor-mat-${e}`,el);a.disableLighting=!0;let i=ew[eM%ew.length];a.emissiveColor=new b(i[0],i[1],i[2]),r.material=a,r.isPickable=!1,r.isVisible=!1,eM++;let l={key:e,mesh:r,samples:n,driveKey:t};return ey.push(l),ek.set(e,l),l},eS=new Map,ez=new Map;for(let[e,t]of en){if(0===t.length)continue;let n=ev(e);if(e===n)eS.set(n,t);else{let r=ez.get(n);(!r||t.length>r.samples.length)&&ez.set(n,{key:e,samples:t})}}for(let e of new Set([...eS.keys(),...ez.keys()])){let t=eS.get(e);if(t)eC(e,e,t);else{let t=ez.get(e);eC(e,t.key,t.samples)}}L.current=ey.map(()=>null),X(ey.map(e=>e.key));let eR=(e,t)=>{if(0===e.length||t<e[0].at)return null;let n=0,r=e.length-1,a=-1;for(;n<=r;){let i=n+r>>1;e[i].at<=t?(a=i,n=i+1):r=i-1}if(a<0)return null;let i=e[a],l=e[a+1];if(!l)return i.position;let s=l.at-i.at;if(s<=0)return i.position;let o=Math.max(0,Math.min(1,(t-i.at)/s));return[i.position[0]+(l.position[0]-i.position[0])*o,i.position[1]+(l.position[1]-i.position[1])*o,i.position[2]+(l.position[2]-i.position[2])*o]},eL=1,eI=1.4,e_=B.CreateSphere("replay-camera-origin",{diameter:.35,segments:12},el),eA=new F("replay-camera-origin-mat",el);eA.disableLighting=!0,eA.emissiveColor=new b(.6,.9,1),e_.material=eA;let ej=B.CreateLines("replay-camera-frustum",{points:[f.Zero(),new f(0,0,1)]},el);ej.color=new b(.7,.95,1),ej.isPickable=!1;let eE=B.CreateCylinder("replay-camera-cone",{height:1,diameterTop:0,diameterBottom:1,tessellation:24},el);eE.bakeTransformIntoVertices(N.RotationX(-Math.PI/2).multiply(N.Translation(0,0,.5)));let e$=new F("replay-camera-cone-mat",el);e$.disableLighting=!0,e$.emissiveColor=new b(.4,.78,1),e$.alpha=.16,e$.backFaceCulling=!1,eE.material=e$,eE.isPickable=!1,eE.isVisible=!1;let eP=(e,t,n,r)=>{if(e?.dispose(),0===n.length)return null;let a=B.CreateLineSystem(t,{lines:n,...r?{colors:r,useVertexAlpha:!0}:{}},el);return a.isPickable=!1,a},eN=null,eT=null,eB=null,eF=()=>{let e=w.current,t=[],n=[];for(let r of ee){if(e.has(r.type))continue;let[a,i,l]=r.hit,s="mesh_interaction"===r.type?new P(.45,.85,1,.32):new P(1,.7,.35,.32);t.push([new f(a-.1,i,l),new f(a+.1,i,l)]),t.push([new f(a,i-.1,l),new f(a,i+.1,l)]),t.push([new f(a,i,l-.1),new f(a,i,l+.1)]),n.push([s,s],[s,s],[s,s])}eB=eP(eB,"replay-persistent-marks",t,n)};eF();let eV=B.CreateSphere("replay-glow",{diameter:1,segments:12},el),eO=new F("replay-glow-mat",el);eO.disableLighting=!0,eO.emissiveColor=new b(1,.62,.2),eO.alpha=0,eV.material=eO,eV.isPickable=!1,eV.isVisible=!1;let eZ=1/0,eD=1/0,eW=1/0,eH=-1/0,eK=-1/0,eU=-1/0,eG=!1,eY=e=>{eZ=Math.min(eZ,e[0]),eD=Math.min(eD,e[1]),eW=Math.min(eW,e[2]),eH=Math.max(eH,e[0]),eK=Math.max(eK,e[1]),eU=Math.max(eU,e[2])},eq=()=>{let e;if(eG||!Number.isFinite(eZ))return;let t=(eZ+eH)/2,n=(eD+eK)/2,r=(eW+eU)/2,a=eH-eZ,i=eK-eD,l=eU-eW,s=Math.sqrt(a*a+i*i+l*l);es.setTarget(new f(t,n,r)),e=1.3*s,es.radius=Number.isFinite(e)?Math.max(8,e):12,eG=!0};for(let e of Q)eY(e.position);for(let e of ee)eY(e.origin),eY(e.hit);for(let e of en.values())for(let t of e)eY(t.position);for(let e of G)eY(e.aabb.slice(0,3)),eY(e.aabb.slice(3,6));eq();{let e=eH-eZ,t=eK-eD,n=eU-eW,r=Number.isFinite(e)?Math.sqrt(e*e+t*t+n*n):0,a=Math.min(Math.max(.035*r,.45),Math.max(.45,.18*r));eL=a/.35,eI=Math.max(.16*r,3.2*a,1.4),e_.scaling.setAll(eL)}let eX=-1,eJ=e=>{var r;let a=v.current;if(!a&&e===eX)return;v.current=!1,eX=e,a&&eF();let i=w.current;(r=_.current)!==eu&&(eu=r,"follow"===r?(es.detachControl(),el.activeCamera=eo):(el.activeCamera=es,es.attachControl(t,!0)));let l="follow"===_.current,s=i.has("camera_sample")?null:(e=>{if(0===Q.length)return null;let t=0,n=Q.length-1,r=-1;for(;t<=n;){let a=t+n>>1;Q[a].at<=e?(r=a,t=a+1):n=a-1}return r>=0?Q[r]:null})(e);if(s){e_.position.set(s.position[0],s.position[1],s.position[2]);let e=s.direction,t=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2])||1,n=eI,r=new f(s.position[0]+e[0]/t*n,s.position[1]+e[1]/t*n,s.position[2]+e[2]/t*n);if(l)e_.isVisible=!1,ej.isVisible=!1,eE.isVisible=!1,eo.position.set(s.position[0],s.position[1],s.position[2]),eo.setTarget(r),s.fov&&s.fov>0&&(eo.fov=s.fov);else{e_.isVisible=!0,ej.isVisible=!0,ej=B.CreateLines("replay-camera-frustum",{points:[e_.position.clone(),r],instance:ej},el);let e=(s.fov&&s.fov>0?s.fov:Math.PI/3)/2,t=n*Math.tan(e);eE.isVisible=!0,eE.position.copyFrom(e_.position),eE.lookAt(r),eE.scaling.set(2*t,2*t,n)}}else e_.isVisible=!1,ej.isVisible=!1,eE.isVisible=!1;let o=i.has("node_transform");for(let t of ey){let n=o?null:eR(t.samples,e);if(!n){t.mesh.isVisible=!1;continue}t.mesh.isVisible=!0,t.mesh.position.set(n[0],n[1],n[2])}let u=ee.filter(t=>!i.has(t.type)&&t.at<=e&&t.at>=e-2200),c=[],d=[],h=[],m=[],p=null;for(let t of u){let n=e-t.at,r=Math.max(0,Math.min(1,1-n/2200)),a=new P(1,.62,.2,.18+.72*r),i=new f(t.origin[0],t.origin[1],t.origin[2]),l=new f(t.hit[0],t.hit[1],t.hit[2]);c.push([i,l]),d.push([a,a]);let s=.12+.08*r;h.push([new f(l.x-s,l.y,l.z),new f(l.x+s,l.y,l.z)]),h.push([new f(l.x,l.y-s,l.z),new f(l.x,l.y+s,l.z)]),h.push([new f(l.x,l.y,l.z-s),new f(l.x,l.y,l.z+s)]);let o=new P(1,.78,.42,.22+.72*r);if(m.push([o,o],[o,o],[o,o]),n<=900){let e=1-n/900;(!p||e>p.t)&&(p={hit:t.hit,t:e})}}if(p){let e=.25+.9*p.t;eV.isVisible=!0,eV.scaling.set(e,e,e),eV.position.set(p.hit[0],p.hit[1],p.hit[2]),eO.alpha=.12+.5*p.t}else eV.isVisible=!1;let b=null,g=-1/0;for(let e of u)e.mesh&&e.at>g&&(g=e.at,b=e.mesh);b!==A.current&&(A.current=b,n||ei(b)),eN=eP(eN,"replay-trail-lines",c,d),eT=eP(eT,"replay-trail-hits",h,m)},eQ=q.length>0?q[q.length-1].ts-J:0,e0=eQ,e1=q.length>0?q[q.length-1].ts:-1/0,e2=q.map(e=>({type:e.type,ts:e.ts})),e5=0,e3=null;if(p)y.current=null,C.current=e=>{if(n)return;let t="number"==typeof e.ts?e.ts:NaN;if(!Number.isFinite(t)||t<=e1)return;e1=t;let r=t-J;if(r>e0&&(e0=r),r>eQ&&(eQ=r),e2.push({type:e.type,ts:t}),"camera_sample"===e.type){let t=e.position,n=e.direction;if(t&&n){let a=[t[0],t[1],t[2]];er=a;let i="number"==typeof e.fov?e.fov:void 0;Q.push({at:r,position:a,direction:[n[0],n[1],n[2]],...void 0!==i?{fov:i}:{}}),eY(a),eq()}}else if("pointer_click"===e.type){let t=e.hitPoint,n=e.ray,a=n?.origin??er;if(t&&a){let n="string"==typeof e.hitMesh?e.hitMesh:void 0;ee.push({at:r,type:"pointer_click",origin:[a[0],a[1],a[2]],hit:[t[0],t[1],t[2]],...n?{mesh:n}:{}}),eY(t),v.current=!0}}else if("mesh_interaction"===e.type){let t=e.point;if(t&&er){let n="string"==typeof e.mesh?e.mesh:void 0;ee.push({at:r,type:"mesh_interaction",origin:[er[0],er[1],er[2]],hit:[t[0],t[1],t[2]],...n?{mesh:n}:{}}),eY(t),v.current=!0}}else if("node_transform"===e.type){let t=e.position;if(e.boneId||"string"!=typeof e.nodeId||!t)return;let n="string"==typeof e.childPath?e.childPath:void 0,a=n?`${e.nodeId}/${n}`:e.nodeId;((e,t)=>{let n=ev(e),r=ek.get(n);if(!r){r=eC(n,e,[]);let t=L.current;L.current=ey.map((e,n)=>t[n]??null),X(ey.map(e=>e.key))}e===r.driveKey?r.samples.push(t):e===n&&r.driveKey!==n&&(r.driveKey=n,r.samples.length=0,r.samples.push(t))})(a,{at:r,position:[t[0],t[1],t[2]]}),eY(t)}let a=performance.now();a-e5>250&&(e5=a,U(u(e2,J,Math.max(1,eQ)))),k.current&&r>x.current&&(x.current=r)},S.current=eQ,x.current=eQ,k.current=!0,et(!0),H(!1),O(eQ),D(eQ),U(u(e2,J,Math.max(1,eQ))),eJ(eQ),e3=setInterval(()=>void ex(),4e3);else{let e=new V(Z,{reset(){},apply(){}},{onProgress:e=>{n||(x.current=e,D(e))},onComplete:()=>{n||H(!1)}});y.current=e,O(e.durationMs),U(u(q,J,e.durationMs)),e.update(0),eJ(0)}let e4=N.Identity(),e6=new Map,e8=e=>{let t=e6.get(e);if(t)return t;let n={w:e.offsetWidth||60,h:e.offsetHeight||16};return e.offsetWidth>0&&e6.set(e,n),n},e9=performance.now(),e7=0;ea.runRenderLoop(()=>{if(p){let e=performance.now(),t=e-e9;if(e9=e,k.current)x.current+=t,x.current>eQ&&(eQ=x.current),S.current=eQ,D(x.current),e-e7>250&&(e7=e,O(eQ));else if(M.current){let e=x.current+t;e>=eQ&&(e=eQ),x.current=e,D(e)}}eJ(x.current),el.render(),(()=>{if(!I.current)return;let e=t.clientWidth||ea.getRenderWidth(),n=t.clientHeight||ea.getRenderHeight(),r=es.viewport.toGlobal(e,n),a=el.getTransformMatrix(),i=A.current,l=e=>e.slice(e.lastIndexOf("/")+1),s=e=>!!i&&(i===e||l(i)===l(e)||e.endsWith(`/${i}`)||i.endsWith(`/${e}`)),o=[],u=z.current,c=R.current;for(let e=0;e<u.length;e++){let t=c[e];if(!t)continue;let n=f.Project(u[e].center,e4,a,r);if(n.z<0||n.z>1){t.style.opacity="0";continue}o.push({el:t,x:n.x,y:n.y,liftPct:140,highlighted:s(u[e].name)})}let d=L.current;for(let e=0;e<ey.length;e++){let t=d[e];if(!t)continue;let n=ey[e].mesh;if(!n.isVisible){t.style.opacity="0";continue}let i=f.Project(n.position,e4,a,r);if(i.z<0||i.z>1){t.style.opacity="0";continue}o.push({el:t,x:i.x,y:i.y,liftPct:180,highlighted:s(ey[e].key)})}o.sort((e,t)=>e.highlighted!==t.highlighted?e.highlighted?-1:1:e.y-t.y||e.x-t.x);let h=[];for(let e of o){let{w:t,h:n}=e8(e.el),r=e.x-t/2,a=e.x+t/2,i=e.y-e.liftPct/100*n,l=i,s=!0,o=0;for(;s&&o++<256;)for(let e of(s=!1,h))r<e.right&&a>e.left&&l<e.bottom&&l+n>e.top&&(l=e.bottom+1,s=!0);h.push({left:r,right:a,top:l,bottom:l+n});let u=l-i;e.el.style.opacity="1",e.el.style.zIndex=e.highlighted?"10":"",e.el.style.transform=`translate(${e.x}px, ${e.y+u}px) translate(-50%, -${e.liftPct}%)`}})()});let te=()=>ea.resize();window.addEventListener("resize",te),T("ready"),r=()=>{window.removeEventListener("resize",te),e3&&clearInterval(e3),C.current=null,y.current?.pause(),ej.dispose(),eE.dispose(),eN?.dispose(),eT?.dispose(),eB?.dispose(),eV.dispose(),$.current?.dispose(),$.current=null,E.current=[],j.current=null,el.dispose(),ea.dispose(),g.current=null,y.current=null}}catch(e){if(n)return;T("error"),F(e instanceof Error?e.message:"Failed to load replay.")}})(),()=>{n=!0,r?.()}},[o,m,p]);let eh=(0,n.useCallback)(()=>{if(p){et(!1),k.current=!1,H(e=>{let t=!e;return M.current=t,t});return}let e=y.current;e&&H(t=>(t?e.pause():e.play(),!t))},[p]),em=(0,n.useCallback)(e=>{if(p){et(!1),k.current=!1,H(!1),M.current=!1,x.current=e,D(e);return}let t=y.current;t&&(t.pause(),t.seek(e),H(!1),x.current=e,D(e))},[p]),ef=(0,n.useCallback)(()=>{et(!0),k.current=!0,H(!1),M.current=!1,x.current=S.current,D(S.current)},[]),{gated:ep}=function(e,t,a,i,l){let[s,o]=(0,n.useState)(r),u=(0,n.useRef)(i),c=(0,n.useRef)(l);return u.current=i,c.current=l,(0,n.useEffect)(()=>a?e.liveSession(t,e=>u.current(e),{onReset:()=>c.current(),onState:o}):void o(r),[e,t,a]),s}(o,m,p&&"ready"===N,e=>C.current?.(e),()=>{}),eb=(0,n.useCallback)(e=>{if(!ea)return!1;if(ea===e)return!0;let t=e=>e.slice(e.lastIndexOf("/")+1);return t(ea)===t(e)||e.endsWith(`/${ea}`)||ea.endsWith(`/${e}`)},[ea]),eg=(0,n.useCallback)(async t=>{let n=j.current;if(n){eu(!0),ed(`Loading ${t.name}…`);try{let[{loadSceneBackdrop:r}]=await Promise.all([e.A(3633),e.A(80610)]);if(j.current!==n)return;$.current?.dispose();let a=await r(n,t);if(j.current!==n)return void a.dispose();for(let e of($.current=a,E.current))e.setEnabled(!1);v.current=!0,es(!0),ed(`Loaded ${t.name} (${a.meshes.length} meshes).`)}catch(e){ed(e instanceof Error?e.message:"Could not load model.")}finally{eu(!1)}}},[]),ex=(0,n.useCallback)(e=>{let t=e.target.files?.[0];e.target.value="",t&&eg(t)},[eg]),ew=(0,n.useCallback)(()=>{for(let e of($.current?.dispose(),$.current=null,E.current))e.setEnabled(!0);v.current=!0,es(!1),ed(null)},[]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("canvas",{ref:b,className:"aspect-video w-full rounded-lg border border-edge bg-ink"}),(0,t.jsxs)("div",{className:`pointer-events-none absolute inset-0 overflow-hidden ${J?"":"hidden"}`,children:[G.map((e,n)=>(0,t.jsx)("div",{title:e,ref:e=>{e&&(R.current[n]=e)},className:`absolute left-0 top-0 whitespace-nowrap rounded px-1.5 py-0.5 text-[10px] font-medium opacity-0 transition-colors ${eb(e)?"bg-amber/30 text-white ring-2 ring-amber shadow-lg shadow-amber/30":"bg-ink/80 text-saffron ring-1 ring-amber/30"}`,children:d(e)},e)),q.map((e,n)=>(0,t.jsx)("div",{title:e,ref:e=>{e&&(L.current[n]=e)},className:`absolute left-0 top-0 whitespace-nowrap rounded px-1.5 py-0.5 text-[10px] font-medium opacity-0 transition-colors ${eb(e)?"bg-fuchsia-400/30 text-white ring-2 ring-fuchsia-300 shadow-lg shadow-fuchsia-500/30":"bg-ink/80 text-fuchsia-300 ring-1 ring-fuchsia-400/30"}`,children:d(e)},`actor-${e}`))]}),"ready"===N&&(G.length>0||q.length>0)?(0,t.jsx)("button",{type:"button",onClick:()=>Q(e=>!e),className:"absolute left-3 top-3 rounded-md border border-edge bg-ink/80 px-2 py-1 text-xs font-medium text-fg transition hover:bg-ink hover:text-white","aria-pressed":J?"true":"false",children:J?"Hide labels":"Show labels"}):null,"ready"===N&&"birdview"===en?(0,t.jsx)(l.ZoomButtons,{onZoom:e=>g.current&&(0,i.stepZoom)(g.current,e)}):null,"ready"!==N?(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 grid place-items-center text-sm text-fg-muted",children:"loading"===N?"Loading replay…":"empty"===N?"No replayable events (raw retention may be disabled).":"error"===N?B??"Replay unavailable.":null}):null]}),(0,t.jsxs)("div",{className:"mt-3 flex items-center gap-3",children:[(0,t.jsx)("button",{type:"button",onClick:eh,disabled:"ready"!==N,className:"rounded-md bg-amber px-3 py-1.5 text-sm font-medium text-ink transition hover:bg-ember disabled:opacity-40",children:W?"Pause":"Play"}),p?(0,t.jsxs)("button",{type:"button",onClick:ef,disabled:"ready"!==N,"aria-pressed":ee?"true":"false",className:`flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-sm font-medium transition disabled:opacity-40 ${ee?"bg-rose-500/20 text-rose-300 ring-1 ring-rose-400/40":"border border-edge text-fg hover:bg-ink hover:text-white"}`,children:[(0,t.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${ee?"animate-pulse bg-rose-400":"bg-fg-muted"}`}),ee?"LIVE":"Resume live"]}):null,(0,t.jsxs)("div",{role:"group","aria-label":"Camera view",className:"flex items-center rounded-md border border-edge p-0.5 text-xs font-medium",children:[(0,t.jsx)("button",{type:"button",onClick:()=>er("birdview"),disabled:"ready"!==N,"aria-pressed":"birdview"===en?"true":"false",className:`rounded px-2 py-1 transition disabled:opacity-40 ${"birdview"===en?"bg-amber text-ink":"text-fg hover:text-white"}`,children:"Birdview"}),(0,t.jsx)("button",{type:"button",onClick:()=>er("follow"),disabled:"ready"!==N,"aria-pressed":"follow"===en?"true":"false",className:`rounded px-2 py-1 transition disabled:opacity-40 ${"follow"===en?"bg-amber text-ink":"text-fg hover:text-white"}`,children:"Follow camera"})]}),(0,t.jsx)("span",{className:"w-12 text-right font-mono text-xs tabular-nums text-fg-muted",children:c(Z)}),(0,t.jsx)("input",{type:"range",min:0,max:Math.max(1,V),step:50,value:Math.min(Z,V),onChange:e=>em(Number(e.target.value)),disabled:"ready"!==N,className:"flex-1 accent-amber"}),(0,t.jsx)("span",{className:"w-12 font-mono text-xs tabular-nums text-fg-muted",children:c(V)})]}),"ready"===N?(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-3",children:[(0,t.jsx)("input",{ref:P,type:"file",accept:".glb,.gltf,model/gltf-binary,model/gltf+json",onChange:ex,className:"hidden"}),(0,t.jsx)("button",{type:"button",onClick:()=>P.current?.click(),disabled:eo,className:"rounded-md border border-edge bg-ink/80 px-2.5 py-1.5 text-xs font-medium text-fg transition hover:bg-ink hover:text-white disabled:opacity-40",children:eo?"Loading model…":el?"Replace model (.glb)":"Load model (.glb)"}),el?(0,t.jsx)("button",{type:"button",onClick:ew,disabled:eo,className:"rounded-md border border-edge px-2.5 py-1.5 text-xs font-medium text-fg transition hover:bg-ink hover:text-white disabled:opacity-40",children:"Remove model"}):null,ec?(0,t.jsx)("span",{className:"text-xs text-fg-muted",role:"status",children:ec}):(0,t.jsx)("span",{className:"text-xs text-fg-muted",children:"Load a glTF model to replace the wireframe boxes with your real scene."})]}):null,"ready"===N?(0,t.jsx)(h,{lanes:K,duration:V,progress:Z,onSeek:em,hiddenTypes:f??s}):null,p&&ep&&"ready"===N?(0,t.jsx)("p",{className:"mt-2 text-xs text-fg-muted",children:"Live follow is unavailable — raw session retention is disabled on the collector."}):null]})}],76421)},53993,e=>{"use strict";var t=e.i(63671),n=e.i(48093),r=e.i(56054),a=e.i(2348),i=e.i(87456),l=e.i(18637),s=e.i(2413);function o({shape:e,onChange:n}){let r=e=>`h-8 px-2.5 text-xs font-medium leading-none transition first:rounded-l-md last:rounded-r-md ${e?"bg-ink text-white":"bg-ink/80 text-fg hover:text-white"}`,a="sphere"===e,i="cube"===e;return(0,t.jsxs)("div",{className:"absolute left-3 top-3 flex overflow-hidden rounded-md border border-edge backdrop-blur",role:"group","aria-label":"Voxel marker shape",children:[(0,t.jsx)("button",{type:"button",className:r(a),"aria-pressed":a,onClick:()=>n("sphere"),children:"Spheres"}),(0,t.jsx)("button",{type:"button",className:r(i),"aria-pressed":i,onClick:()=>n("cube"),children:"Cubes"})]})}e.s(["WorldHeatmap3DView",0,function({voxels:u,cellSize:c,proxyMeshes:d=[],legendTitle:h="Pointer-hit density",legendLow:m="few hits",legendHigh:f="most hits",legendNote:p="Each marker is a voxel where the pointer hit your scene. Color & size scale with hits, normalized to the 95th-percentile cell so a few hotspots don't wash out the rest.",emptyLabel:b="No 3D hit-points in range.",totals:g,voxelLabels:x}){let w=(0,n.useRef)(null),v=(0,n.useRef)(null),y=(0,n.useRef)(null),[k,M]=(0,n.useState)("loading"),[C,S]=(0,n.useState)(null),[z,R]=(0,n.useState)("sphere"),[L,I]=(0,n.useState)(null),_=(0,n.useRef)(u),A=(0,n.useRef)(d),j=(0,n.useRef)(x);_.current=u,A.current=d,j.current=x;let E=(0,n.useRef)(null),$=u.length>0||d.length>0;(0,n.useEffect)(()=>{let t=w.current;if(!t)return;if(!$)return void M("empty");let n=!1,l=null;return M("loading"),S(null),(async()=>{try{let[{Engine:s},{Scene:o},{ArcRotateCamera:u},{HemisphericLight:d},{Vector3:h,Color3:m,Color4:f,Matrix:p},{MeshBuilder:b},{StandardMaterial:g}]=await Promise.all([e.A(69721),e.A(341),e.A(21342),e.A(72976),e.A(35285),e.A(42598),e.A(97938),e.A(95369),e.A(82926)]);if(n)return;let x=_.current,w=A.current,k=0,C=0,S=0,R=0;for(let e of x)k+=(e.vx+.5)*c,C+=(e.vy+.5)*c,S+=(e.vz+.5)*c,R++;if(0===R)for(let e of w)k+=(e.aabb[0]+e.aabb[3])/2,C+=(e.aabb[1]+e.aabb[4])/2,S+=(e.aabb[2]+e.aabb[5])/2,R++;let L=new h(k/R,C/R,S/R),$=4*c;for(let e of x){let t=(e.vx+.5)*c-L.x,n=(e.vy+.5)*c-L.y,r=(e.vz+.5)*c-L.z;$=Math.max($,Math.sqrt(t*t+n*n+r*r))}for(let e of w){let t=(e.aabb[0]+e.aabb[3])/2-L.x,n=(e.aabb[1]+e.aabb[4])/2-L.y,r=(e.aabb[2]+e.aabb[5])/2-L.z;$=Math.max($,Math.sqrt(t*t+n*n+r*r))}let P=new s(t,!0,{preserveDrawingBuffer:!1}),N=new o(P);N.clearColor=new f(.04,.05,.07,1);let T=new u("world-cam",Math.PI/4,Math.PI/3,2.4*$,L,N);T.attachControl(t,!0),(0,a.disableWheelZoom)(T),v.current=T,y.current={target:L,alpha:T.alpha,beta:T.beta,radius:T.radius},new d("world-light",new h(.4,1,.3),N);let B=Math.max(.02*$,.25*c)/(.9*c),F=T.radius,V="cube"===z?b.CreateBox("world-voxel",{size:.9*c},N):b.CreateSphere("world-voxel",{diameter:.9*c,segments:6},N),O=new g("world-voxel-mat",N);O.diffuseColor=new m(1,1,1),O.specularColor=new m(0,0,0),V.material=O;let Z=0,D=new Float32Array(0),W=new Float32Array(0),H=-1,K=()=>{if(0===Z)return;let e=Math.min(8,Math.max(.6,T.radius/F));if(!(.01>Math.abs(e-H))){H=e;for(let t=0;t<Z;t++){let n=W[t]*e,r=16*t;D[r]=n,D[r+5]=n,D[r+10]=n}V.thinInstanceBufferUpdated("matrix")}};N.onBeforeRenderObservable.add(K);let U=null,G="\0",Y=()=>{(()=>{let e=A.current,t=e.map(e=>`${e.name}:${e.aabb.join(",")}`).join("|");if(t===G||(G=t,U&&(U.dispose(!1,!0),U=null),0===e.length))return;U=b.CreateBox("scene-proxy",{size:1},N);let n=new g("scene-proxy-mat",N);n.wireframe=!0,n.disableLighting=!0,n.emissiveColor=new m(.32,.4,.52),n.alpha=.35,U.material=n,U.isPickable=!0,U.thinInstanceEnablePicking=!0,U.metadata={hoverLabels:e.map(e=>e.name)};let r=e.length,a=new Float32Array(16*r);for(let t=0;t<r;t++){let n=e[t].aabb,r=Math.max(n[3]-n[0],.001),i=Math.max(n[4]-n[1],.001),l=Math.max(n[5]-n[2],.001);p.Scaling(r,i,l).multiply(p.Translation((n[0]+n[3])/2,(n[1]+n[4])/2,(n[2]+n[5])/2)).copyToArray(a,16*t)}U.thinInstanceSetBuffer("matrix",a,16,!0)})(),(()=>{let e=_.current,t=j.current,n=e.length;if(0===n){Z=0,V.isVisible=!1;return}let a=(0,r.percentileMax)(e.map(e=>e.count),.95),i=new Float32Array(16*n),l=new Float32Array(4*n),s=new Float32Array(n);for(let t=0;t<n;t++){let n=e[t],o=Math.min(1,n.count/a),u=B*(.5+.5*o);s[t]=u,p.Scaling(u,u,u).multiply(p.Translation((n.vx+.5)*c,(n.vy+.5)*c,(n.vz+.5)*c)).copyToArray(i,16*t);let[d,h,m]=(0,r.heatRgb)(o);l[4*t]=d,l[4*t+1]=h,l[4*t+2]=m,l[4*t+3]=1}Z=n,D=i,W=s,V.isVisible=!0,V.isPickable=!!t,V.thinInstanceEnablePicking=!!t,V.metadata=t?{hoverLabels:t}:null,V.thinInstanceSetBuffer("matrix",D,16,!1),V.thinInstanceSetBuffer("color",l,4,!0),H=-1,K()})()};E.current=Y,Y(),P.runRenderLoop(()=>N.render());let q=()=>P.resize();window.addEventListener("resize",q);let X=(0,i.attachMeshHover)(N,t,I),J=(0,a.attachDoubleClickFocus)(N,t,T);M("ready"),l=()=>{window.removeEventListener("resize",q),X(),J(),I(null),E.current=null,v.current=null,y.current=null,N.dispose(),P.dispose()}}catch(e){if(n)return;M("error"),S(e instanceof Error?e.message:"Failed to render heatmap.")}})(),()=>{n=!0,l?.()}},[z,c,$]),(0,n.useEffect)(()=>{E.current?.()},[u,d,x]);let P=g?g.cells>u.length?` Showing the ${u.length.toLocaleString()} busiest of ${g.cells.toLocaleString()} occupied cells (${g.hits.toLocaleString()} total hits).`:` ${g.cells.toLocaleString()} occupied cells, ${g.hits.toLocaleString()} total hits.`:"";return(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)("canvas",{ref:w,className:"aspect-video w-full rounded-lg border border-edge bg-ink"}),L?(0,t.jsx)("div",{className:"pointer-events-none absolute z-10 max-w-[16rem] truncate rounded border border-edge bg-ink/90 px-1.5 py-0.5 text-xs text-white shadow backdrop-blur",style:{left:L.x+12,top:L.y+12},children:L.label}):null,"ready"===k?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o,{shape:z,onChange:R}),(0,t.jsx)(s.ZoomButtons,{onZoom:e=>v.current&&(0,a.stepZoom)(v.current,e),onReset:()=>v.current&&y.current&&(0,a.resetFocus)(v.current,y.current)}),(0,t.jsx)(l.HeatLegend,{title:h,lowLabel:m,highLabel:f,note:p+P})]}):(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 grid place-items-center text-sm text-fg-muted",children:"loading"===k?"Rendering…":"empty"===k?b:"error"===k?C??"Heatmap unavailable.":null})]})}])},64434,e=>{"use strict";e.s([],4255),e.i(4255);var t=e.i(48939),n=e.i(53993),r=e.i(19399),a=e.i(39592),i=e.i(63671),l=e.i(48093),s=e.i(56054),o=e.i(2348),u=e.i(87456),c=e.i(18637),d=e.i(2413);let h="__all__";function m(e){return`${e[0]},${e[1]},${e[2]}`}function f({label:e,value:t,onChange:n,allLabel:r,options:a}){return(0,i.jsxs)("label",{className:"flex items-center gap-1.5 rounded-md border border-edge bg-ink/80 px-2 py-1 text-xs text-fg backdrop-blur",children:[(0,i.jsx)("span",{className:"font-medium text-fg-muted",children:e}),(0,i.jsxs)("select",{className:"max-w-[12rem] bg-transparent text-white outline-none",value:t,onChange:e=>n(e.target.value),children:[(0,i.jsx)("option",{value:h,children:r}),a.map(e=>(0,i.jsx)("option",{value:e.value,children:e.label},e.value))]})]})}var p=e.i(76421),b=e.i(37215);e.s(["CAMERA_DOME_SUBTITLE",()=>b.CAMERA_DOME_SUBTITLE,"CAMERA_DOME_TITLE",()=>b.CAMERA_DOME_TITLE,"CLICK_RAYS_SUBTITLE",()=>b.CLICK_RAYS_SUBTITLE,"CLICK_RAYS_TITLE",()=>b.CLICK_RAYS_TITLE,"CameraDome3DView",()=>t.CameraDome3DView,"ClickRays3DView",0,function({rays:t,cellSize:n,proxyMeshes:r=[]}){let a=(0,l.useRef)(null),p=(0,l.useRef)(null),b=(0,l.useRef)(null),[g,x]=(0,l.useState)("loading"),[w,v]=(0,l.useState)(null),[y,k]=(0,l.useState)(h),[M,C]=(0,l.useState)(h),[S,z]=(0,l.useState)(null),R=(0,l.useRef)(t),L=(0,l.useRef)(r),I=(0,l.useRef)(y),_=(0,l.useRef)(M);R.current=t,L.current=r,I.current=y,_.current=M;let A=(0,l.useRef)(null),j=t.length>0,E=(0,l.useMemo)(()=>{let e=new Map;for(let n of t){let t=m(n.camVoxel),r=e.get(t);r?r.count+=n.count:e.set(t,{key:t,voxel:n.camVoxel,count:n.count})}return[...e.values()].sort((e,t)=>t.count-e.count)},[t]),$=(0,l.useMemo)(()=>{let e=new Map;for(let n of t)""!==n.mesh&&e.set(n.mesh,(e.get(n.mesh)??0)+n.count);return[...e.entries()].map(([e,t])=>({name:e,count:t})).sort((e,t)=>t.count-e.count)},[t]);return(0,l.useEffect)(()=>{y!==h&&(E.some(e=>e.key===y)||k(h))},[y,E]),(0,l.useEffect)(()=>{M!==h&&($.some(e=>e.name===M)||C(h))},[M,$]),(0,l.useEffect)(()=>{let t=a.current;if(!t)return;if(!j)return void x("empty");let r=!1,i=null;return x("loading"),v(null),(async()=>{try{let[{Engine:a},{Scene:l},{ArcRotateCamera:c},{HemisphericLight:d},{Vector3:f,Color3:g,Color4:w,Matrix:v},{MeshBuilder:y},{StandardMaterial:k}]=await Promise.all([e.A(69721),e.A(341),e.A(21342),e.A(72976),e.A(35285),e.A(42598),e.A(97938),e.A(95369),e.A(82926)]);if(r)return;let M=R.current,C=0,S=0,j=0,E=0,$=(e,t,n)=>{C+=e,S+=t,j+=n,E++};for(let e of M)$(e.origin[0],e.origin[1],e.origin[2]),$(e.hit[0],e.hit[1],e.hit[2]);let P=E>0?new f(C/E,S/E,j/E):f.Zero(),N=4*n;for(let e of M)for(let t of[e.origin,e.hit]){let e=t[0]-P.x,n=t[1]-P.y,r=t[2]-P.z;N=Math.max(N,Math.sqrt(e*e+n*n+r*r))}let T=new a(t,!0,{preserveDrawingBuffer:!1}),B=new l(T);B.clearColor=new w(.04,.05,.07,1);let F=new c("rays-cam",Math.PI/4,Math.PI/3,2.4*N,P,B);F.attachControl(t,!0),(0,o.disableWheelZoom)(F),p.current=F,b.current={target:P,alpha:F.alpha,beta:F.beta,radius:F.radius},new d("rays-light",new f(.4,1,.3),B);let V=null,O="\0",Z=[],D=Math.max(3*n,.18*N),W=()=>{for(let e of((()=>{let e=L.current,t=e.map(e=>`${e.name}:${e.aabb.join(",")}`).join("|");if(t===O||(O=t,V&&(V.dispose(!1,!0),V=null),0===e.length))return;V=y.CreateBox("scene-proxy",{size:1},B);let n=new k("scene-proxy-mat",B);n.wireframe=!0,n.disableLighting=!0,n.emissiveColor=new g(.32,.4,.52),n.alpha=.35,V.material=n,V.isPickable=!0,V.thinInstanceEnablePicking=!0,V.metadata={hoverLabels:e.map(e=>e.name)};let r=e.length,a=new Float32Array(16*r);for(let t=0;t<r;t++){let n=e[t].aabb,r=Math.max(n[3]-n[0],.001),i=Math.max(n[4]-n[1],.001),l=Math.max(n[5]-n[2],.001);v.Scaling(r,i,l).multiply(v.Translation((n[0]+n[3])/2,(n[1]+n[4])/2,(n[2]+n[5])/2)).copyToArray(a,16*t)}V.thinInstanceSetBuffer("matrix",a,16,!0)})(),Z))e.dispose(!1,!0);Z=[];let e=R.current,t=L.current,r=I.current,a=_.current,i=r===h?e:e.filter(e=>m(e.camVoxel)===r),l=i.reduce((e,t)=>Math.max(e,t.count),1),o=[],u=[];for(let e of i){let t=e.count/l,[n,r,a]=(0,s.heatRgb)(t),i=new w(n,r,a,.35+.65*t);o.push([new f(e.origin[0],e.origin[1],e.origin[2]),new f(e.hit[0],e.hit[1],e.hit[2])]),u.push([i,i])}if(o.length>0){let e=y.CreateLineSystem("click-rays",{lines:o,colors:u,useVertexAlpha:!0},B);e.isPickable=!1,Z.push(e)}let c=new Map;for(let e of i)c.set(m(e.camVoxel),e.camVoxel);if(c.size>0){let e=y.CreateSphere("rays-eye",{diameter:.6*n,segments:6},B),t=new k("rays-eye-mat",B);t.disableLighting=!0,t.emissiveColor=new g(.9,.95,1),e.material=t;let r=[...c.values()],a=new Float32Array(16*r.length);for(let e=0;e<r.length;e++){let t=r[e];v.Translation((t[0]+.5)*n,(t[1]+.5)*n,(t[2]+.5)*n).copyToArray(a,16*e)}e.thinInstanceSetBuffer("matrix",a,16,!0),Z.push(e)}if(a!==h){let r=e.filter(e=>e.mesh===a);if(r.length>0){let e,i=t.find(e=>e.name===a);if(i){let t=i.aabb;e=new f((t[0]+t[3])/2,(t[1]+t[4])/2,(t[2]+t[5])/2)}else{let t=0,n=0,a=0;for(let e of r)t+=e.hit[0],n+=e.hit[1],a+=e.hit[2];e=new f(t/r.length,n/r.length,a/r.length)}let l=r.reduce((e,t)=>Math.max(e,t.count),1),o=[],u=[];for(let t of r){let n=t.origin[0]-t.hit[0],r=t.origin[1]-t.hit[1],a=t.origin[2]-t.hit[2],i=Math.sqrt(n*n+r*r+a*a)||1,c=t.count/l,d=D*(.4+.6*c),h=new f(e.x+n/i*d,e.y+r/i*d,e.z+a/i*d),[m,p,b]=(0,s.heatRgb)(c),g=new w(m,p,b,1);o.push([e.clone(),h]),u.push([new w(m,p,b,.25),g])}if(o.length>0){let e=y.CreateLineSystem("mesh-rose",{lines:o,colors:u,useVertexAlpha:!0},B);e.isPickable=!1,Z.push(e)}let c=y.CreateSphere("mesh-rose-hub",{diameter:.8*n,segments:8},B),d=new k("mesh-rose-hub-mat",B);d.disableLighting=!0,d.emissiveColor=new g(1,.85,.4),c.material=d,c.position=e,c.isPickable=!0,c.metadata={hoverLabel:a},Z.push(c)}}};A.current=W,W(),T.runRenderLoop(()=>B.render());let H=()=>T.resize();window.addEventListener("resize",H);let K=(0,u.attachMeshHover)(B,t,z),U=(0,o.attachDoubleClickFocus)(B,t,F);x("ready"),i=()=>{window.removeEventListener("resize",H),K(),U(),z(null),A.current=null,p.current=null,b.current=null,B.dispose(),T.dispose()}}catch(e){if(r)return;x("error"),v(e instanceof Error?e.message:"Failed to render click rays.")}})(),()=>{r=!0,i?.()}},[j,n]),(0,l.useEffect)(()=>{A.current?.()},[t,r,n,y,M]),(0,i.jsxs)("div",{className:"relative",children:[(0,i.jsx)("canvas",{ref:a,className:"aspect-video w-full rounded-lg border border-edge bg-ink"}),S?(0,i.jsx)("div",{className:"pointer-events-none absolute z-10 max-w-[16rem] truncate rounded border border-edge bg-ink/90 px-1.5 py-0.5 text-xs text-white shadow backdrop-blur",style:{left:S.x+12,top:S.y+12},children:S.label}):null,"ready"===g?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{className:"absolute left-3 top-3 flex gap-2",children:[(0,i.jsx)(f,{label:"Viewpoint",value:y,onChange:k,allLabel:"All viewpoints",options:E.map(e=>({value:e.key,label:`(${e.voxel.join(", ")}) \xb7 ${e.count}`}))}),(0,i.jsx)(f,{label:"Mesh rose",value:M,onChange:C,allLabel:"No mesh focus",options:$.map(e=>({value:e.name,label:`${e.name} \xb7 ${e.count}`}))})]}),(0,i.jsx)(d.ZoomButtons,{onZoom:e=>p.current&&(0,o.stepZoom)(p.current,e),onReset:()=>p.current&&b.current&&(0,o.resetFocus)(p.current,b.current)}),(0,i.jsx)(c.HeatLegend,{title:"Click volume",lowLabel:"few clicks",highLabel:"most clicks",note:"Lines run from the camera position (bright eye) to where the click landed. Pick a viewpoint to see only clicks made from there; pick a mesh to see which directions its clicks came from."})]}):(0,i.jsx)("div",{className:"pointer-events-none absolute inset-0 grid place-items-center text-sm text-fg-muted",children:"loading"===g?"Rendering…":"empty"===g?"No correlated clicks in range.":"error"===g?w??"Click rays unavailable.":null})]})},"ERROR_HEATMAP_SUBTITLE",()=>b.ERROR_HEATMAP_SUBTITLE,"ERROR_HEATMAP_TITLE",()=>b.ERROR_HEATMAP_TITLE,"FLOW_SANKEY_HELP",()=>b.FLOW_SANKEY_HELP,"FLOW_SANKEY_SUBTITLE",()=>b.FLOW_SANKEY_SUBTITLE,"FLOW_SANKEY_TITLE",()=>b.FLOW_SANKEY_TITLE,"FlowSankey3DView",()=>r.FlowSankey3DView,"GAZE_CLICK_SUBTITLE",()=>b.GAZE_CLICK_SUBTITLE,"GAZE_CLICK_TITLE",()=>b.GAZE_CLICK_TITLE,"GazeClickDivergence3DView",()=>a.GazeClickDivergence3DView,"SESSION_REPLAY_TITLE",()=>b.SESSION_REPLAY_TITLE,"SessionReplayView",()=>p.SessionReplayView,"WORLD_HEATMAP_SUBTITLE",()=>b.WORLD_HEATMAP_SUBTITLE,"WORLD_HEATMAP_TITLE",()=>b.WORLD_HEATMAP_TITLE,"WorldHeatmap3DView",()=>n.WorldHeatmap3DView,"sessionReplaySubtitle",()=>b.sessionReplaySubtitle,"sessionReplayTitle",()=>b.sessionReplayTitle],64434)},94452,function(e){e.n(e.i(64434))}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,46591,t=>{"use strict";var e=t.i(60699),i=t.i(65678),a=t.i(28215),n=t.i(68282);class r extends e.FlowGraphBlock{constructor(t={}){super(t),this.keyFrames=[];const e="string"==typeof t?.animationType?(0,i.getRichTypeByFlowGraphType)(t.animationType):(0,i.getRichTypeByAnimationType)(t?.animationType??0),a=t?.keyFramesCount??1,n=this.registerDataInput("duration_0",i.RichTypeNumber,0),r=this.registerDataInput("value_0",e);this.keyFrames.push({duration:n,value:r});for(let n=1;n<a+1;n++){const r=this.registerDataInput(`duration_${n}`,i.RichTypeNumber,n===a?t.duration:void 0),s=this.registerDataInput(`value_${n}`,e);this.keyFrames.push({duration:r,value:s})}this.initialValue=this.keyFrames[0].value,this.endValue=this.keyFrames[a].value,this.easingFunction=this.registerDataInput("easingFunction",i.RichTypeAny),this.animation=this.registerDataOutput("animation",i.RichTypeAny),this.propertyName=this.registerDataInput("propertyName",i.RichTypeString,t?.propertyName),this.customBuildAnimation=this.registerDataInput("customBuildAnimation",i.RichTypeAny)}_updateOutputs(t){let e=t._getGlobalContextVariable("interpolationAnimations",[]),i=this.propertyName.getValue(t),a=this.easingFunction.getValue(t),n=this._createAnimation(t,i,a);if(this.animation.setValue(n,t),Array.isArray(n))for(let t of n)e.push(t.uniqueId);else e.push(n.uniqueId);t._setGlobalContextVariable("interpolationAnimations",e)}_createAnimation(t,e,i){let n=this.initialValue.richType,r=[],s=this.initialValue.getValue(t)||n.defaultValue;r.push({frame:0,value:s});let o=this.config?.numberOfKeyFrames??1;for(let e=1;e<o+1;e++){let i=this.keyFrames[e].duration?.getValue(t),a=this.keyFrames[e].value?.getValue(t);e===o-1&&(a=a||n.defaultValue),void 0!==i&&a&&r.push({frame:60*i,value:a})}let u=this.customBuildAnimation.getValue(t);if(u)return u(null,null,t)(r,60,n.animationType,i);if("string"!=typeof e)return e.map(t=>{let e=(0,a.AnimationCreateAnimation)(t,n.animationType,60,i);return e.setKeys(r),e});{let t=(0,a.AnimationCreateAnimation)(e,n.animationType,60,i);return t.setKeys(r),[t]}}getClassName(){return"FlowGraphInterpolationBlock"}}let s=!1;t.s(["FlowGraphInterpolationBlock",0,r,"RegisterFlowGraphInterpolationBlock",0,function(){s||(s=!0,(0,n.RegisterClass)("FlowGraphInterpolationBlock",r))}])}]);