framefields 2.0.11 → 2.1.1

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 (564) hide show
  1. package/README.md +22 -5
  2. package/dist/audio/index.d.mts +4 -4
  3. package/dist/audio/index.mjs +13 -12
  4. package/dist/{audio-BHanw8Jb.d.mts → audio-CfBpzxn9.d.mts} +3 -3
  5. package/dist/{audio-BHanw8Jb.d.mts.map → audio-CfBpzxn9.d.mts.map} +1 -1
  6. package/dist/{audio-TAvPwzLR.mjs → audio-DJeVoE8b.mjs} +1 -1
  7. package/dist/{audio-TAvPwzLR.mjs.map → audio-DJeVoE8b.mjs.map} +1 -1
  8. package/dist/{audio-COOMNwL5.mjs → audio-GGuQ_JI0.mjs} +4 -4
  9. package/dist/{audio-COOMNwL5.mjs.map → audio-GGuQ_JI0.mjs.map} +1 -1
  10. package/dist/{chunk-GMkBE123.mjs → chunk-GBe2k3y8.mjs} +1 -4
  11. package/dist/{dist-C_hjvkdN.mjs → dist-0QGroRYZ.mjs} +1 -1
  12. package/dist/{dist-C_hjvkdN.mjs.map → dist-0QGroRYZ.mjs.map} +1 -1
  13. package/dist/{dist-BYqNNwsl.mjs → dist-BY0bIWgr.mjs} +10 -2
  14. package/dist/dist-BY0bIWgr.mjs.map +1 -0
  15. package/dist/{dist-BAVZdFEJ.mjs → dist-Bb8BoMiw.mjs} +76 -626
  16. package/dist/dist-Bb8BoMiw.mjs.map +1 -0
  17. package/dist/{dist-Cxi68OuY.mjs → dist-DkuDAIrG.mjs} +26862 -25638
  18. package/dist/dist-DkuDAIrG.mjs.map +1 -0
  19. package/dist/{dist-CbG3QxDw.mjs → dist-fjKpBYkc.mjs} +12 -27
  20. package/dist/dist-fjKpBYkc.mjs.map +1 -0
  21. package/dist/effects/index.d.mts +4 -4
  22. package/dist/effects/index.mjs +36 -34
  23. package/dist/{effects-DzbjFhyA.mjs → effects-D6wFg2FR.mjs} +3 -3
  24. package/dist/{effects-DzbjFhyA.mjs.map → effects-D6wFg2FR.mjs.map} +1 -1
  25. package/dist/fonts/index.d.mts +1 -1
  26. package/dist/fonts/index.mjs +3 -1
  27. package/dist/{fonts-C0W6TgJk.mjs → fonts-CZMYtbP7.mjs} +24 -11
  28. package/dist/fonts-CZMYtbP7.mjs.map +1 -0
  29. package/dist/gpu-DG3gI88-.mjs +215 -0
  30. package/dist/gpu-DG3gI88-.mjs.map +1 -0
  31. package/dist/{index-DRZu3ezy.d.mts → index--0vVZDPM.d.mts} +3 -3
  32. package/dist/{index-DRZu3ezy.d.mts.map → index--0vVZDPM.d.mts.map} +1 -1
  33. package/dist/{index-DnWsbbuZ.d.mts → index-BcA8rep0.d.mts} +7 -2
  34. package/dist/index-BcA8rep0.d.mts.map +1 -0
  35. package/dist/{index-DGJp1d30.d.mts → index-BzQc812z.d.mts} +3 -3
  36. package/dist/{index-DGJp1d30.d.mts.map → index-BzQc812z.d.mts.map} +1 -1
  37. package/dist/{index-DDEPvMww.d.mts → index-Cpkzy5XR.d.mts} +3452 -1675
  38. package/dist/index-Cpkzy5XR.d.mts.map +1 -0
  39. package/dist/{index-CDoTrMs1.d.mts → index-D__HdInU.d.mts} +8 -8
  40. package/dist/{index-CDoTrMs1.d.mts.map → index-D__HdInU.d.mts.map} +1 -1
  41. package/dist/{index-CYGpSVsf.d.mts → index-DpWia6iH.d.mts} +4 -11
  42. package/dist/index-DpWia6iH.d.mts.map +1 -0
  43. package/dist/{index-9B8CJowc.d.mts → index-Fciq8bcC.d.mts} +10 -2
  44. package/dist/index-Fciq8bcC.d.mts.map +1 -0
  45. package/dist/index.d.mts +29 -1842
  46. package/dist/index.d.mts.map +1 -1
  47. package/dist/index.mjs +79 -66
  48. package/dist/index.mjs.map +1 -1
  49. package/dist/preview/index.d.mts +2 -2
  50. package/dist/preview/index.mjs +12 -13
  51. package/dist/{preview-BV2C4Fk6.mjs → preview--rOXbBxl.mjs} +3 -4
  52. package/dist/preview--rOXbBxl.mjs.map +1 -0
  53. package/dist/preview-engine/audio.mjs +1 -1
  54. package/dist/preview-engine/chunk-2MZXSWVT.mjs +118 -0
  55. package/dist/preview-engine/{chunk-Y6HWYPKX.mjs → chunk-3GNP7TJH.mjs} +3 -3
  56. package/dist/preview-engine/chunk-3UPI4EPV.mjs +69 -0
  57. package/dist/preview-engine/{chunk-6JW37VJA.mjs → chunk-5AUB4Y3L.mjs} +3 -23
  58. package/dist/preview-engine/chunk-5DOD2NVY.mjs +26 -0
  59. package/dist/preview-engine/chunk-5FC7GOWW.mjs +474 -0
  60. package/dist/preview-engine/chunk-5W4AFQP7.mjs +97 -0
  61. package/dist/preview-engine/chunk-63SFBHEH.mjs +1 -0
  62. package/dist/preview-engine/{chunk-25IW7NYO.mjs → chunk-7EPDVSCL.mjs} +1 -1
  63. package/dist/preview-engine/chunk-7EPIRODI.mjs +91 -0
  64. package/dist/preview-engine/chunk-7J2FWGVD.mjs +1 -0
  65. package/dist/preview-engine/chunk-AXHB4J37.mjs +147 -0
  66. package/dist/preview-engine/chunk-AXQZX3TC.mjs +450 -0
  67. package/dist/preview-engine/chunk-B43Z3J7J.mjs +5 -0
  68. package/dist/preview-engine/chunk-BWJS6G7R.mjs +314 -0
  69. package/dist/preview-engine/{chunk-ECPP3UG6.mjs → chunk-E3HC4GRQ.mjs} +3 -23
  70. package/dist/preview-engine/{chunk-AEK5BO3J.mjs → chunk-E4RAFHZM.mjs} +1 -1
  71. package/dist/preview-engine/chunk-ENKKLU7B.mjs +22 -0
  72. package/dist/preview-engine/{chunk-IYVN2QEL.mjs → chunk-FLPSWDX4.mjs} +1 -1
  73. package/dist/preview-engine/{chunk-24DXIKXL.mjs → chunk-FPRXK2WD.mjs} +2 -2
  74. package/dist/preview-engine/chunk-FU7AIAMM.mjs +88 -0
  75. package/dist/preview-engine/{chunk-CBM7B7EW.mjs → chunk-GMGGDADT.mjs} +1 -1
  76. package/dist/preview-engine/chunk-GSFN4WCH.mjs +62 -0
  77. package/dist/preview-engine/chunk-IQC2I5A5.mjs +1 -0
  78. package/dist/preview-engine/chunk-IUPDOATX.mjs +114 -0
  79. package/dist/preview-engine/{chunk-GHMCGTJ2.mjs → chunk-J2R5R7YY.mjs} +3 -23
  80. package/dist/preview-engine/chunk-JAJOZG5P.mjs +1 -0
  81. package/dist/preview-engine/{chunk-XLFYM7KH.mjs → chunk-K773AOF3.mjs} +2 -2
  82. package/dist/preview-engine/{chunk-RJUAM52F.mjs → chunk-L3CHEZMZ.mjs} +3 -23
  83. package/dist/preview-engine/chunk-LBRVQ4GE.mjs +84 -0
  84. package/dist/preview-engine/chunk-LGVEFPOG.mjs +3 -0
  85. package/dist/preview-engine/{chunk-AMBSW6OA.mjs → chunk-NEE3KQTX.mjs} +2 -2
  86. package/dist/preview-engine/chunk-NPD6W3RP.mjs +1 -0
  87. package/dist/preview-engine/{chunk-V6VU46ZG.mjs → chunk-O2RNIQXT.mjs} +1 -1
  88. package/dist/preview-engine/{server-utils-2FAIV45N.mjs → chunk-OCX5AD23.mjs} +1 -1
  89. package/dist/preview-engine/chunk-OJ2PKBXE.mjs +40 -0
  90. package/dist/preview-engine/chunk-OKH2VU2U.mjs +97 -0
  91. package/dist/preview-engine/chunk-PAQNDZQB.mjs +83 -0
  92. package/dist/preview-engine/chunk-PEWYB6WP.mjs +43 -0
  93. package/dist/preview-engine/{chunk-MDDF2GCF.mjs → chunk-PFA427ZC.mjs} +3 -23
  94. package/dist/preview-engine/chunk-PL4IH5V4.mjs +89 -0
  95. package/dist/preview-engine/chunk-PNB3ERR3.mjs +1 -0
  96. package/dist/preview-engine/{chunk-PQD5UPHG.mjs → chunk-PR2BUYCL.mjs} +1 -1
  97. package/dist/preview-engine/{chunk-QYRDQMNB.mjs → chunk-PXT52LEH.mjs} +3 -23
  98. package/dist/preview-engine/{chunk-ZSIJB76A.mjs → chunk-Q2DPNVIA.mjs} +2 -2
  99. package/dist/preview-engine/chunk-Q4Z54DQ7.mjs +1 -0
  100. package/dist/preview-engine/{chunk-6256GQFP.mjs → chunk-QY7MHWZW.mjs} +1 -1
  101. package/dist/preview-engine/chunk-RQLMW6MA.mjs +4 -0
  102. package/dist/preview-engine/chunk-RSMO7NPN.mjs +1 -0
  103. package/dist/preview-engine/chunk-RW2F3XLQ.mjs +90 -0
  104. package/dist/preview-engine/chunk-SGPRLTNF.mjs +52 -0
  105. package/dist/preview-engine/{chunk-Y6FEU4TV.mjs → chunk-SZW5J72T.mjs} +3 -23
  106. package/dist/preview-engine/{chunk-LIHUEYI5.mjs → chunk-VO2R3DWV.mjs} +2 -2
  107. package/dist/preview-engine/{chunk-BJKH76OM.mjs → chunk-VXS5SIEC.mjs} +3 -23
  108. package/dist/preview-engine/chunk-WFGJXCZT.mjs +53 -0
  109. package/dist/preview-engine/chunk-WH5Q2NFN.mjs +32 -0
  110. package/dist/preview-engine/chunk-WSIURGP2.mjs +121 -0
  111. package/dist/preview-engine/{chunk-AWTH2WZO.mjs → chunk-WUKH7BD7.mjs} +1 -1
  112. package/dist/preview-engine/chunk-XC5WZNOY.mjs +1448 -0
  113. package/dist/preview-engine/chunk-YQZOGEPZ.mjs +186 -0
  114. package/dist/preview-engine/{chunk-D3TETPLI.mjs → chunk-ZH5MZQTZ.mjs} +1 -1
  115. package/dist/preview-engine/chunk-ZIIFTWDH.mjs +58 -0
  116. package/dist/preview-engine/{chunk-EQ4QZRXB.mjs → chunk-ZNL4W4DK.mjs} +2 -2
  117. package/dist/preview-engine/effects.mjs +1 -1
  118. package/dist/preview-engine/fonts.mjs +1 -1
  119. package/dist/preview-engine/framefields.mjs +127 -130
  120. package/dist/preview-engine/player.mjs +6 -6
  121. package/dist/preview-engine/renderers-2H7YEUTD.mjs +1 -0
  122. package/dist/preview-engine/renderers-2P6KXWEZ.mjs +1 -0
  123. package/dist/preview-engine/renderers-2SVWAB42.mjs +1 -0
  124. package/dist/preview-engine/renderers-3RC5FDWX.mjs +1 -0
  125. package/dist/preview-engine/renderers-3T7Q4SPP.mjs +1 -0
  126. package/dist/preview-engine/renderers-4DV4REGM.mjs +1 -0
  127. package/dist/preview-engine/renderers-57WDL6XN.mjs +1 -0
  128. package/dist/preview-engine/renderers-6WH7NZCC.mjs +1 -0
  129. package/dist/preview-engine/renderers-7JTNJE7M.mjs +1 -0
  130. package/dist/preview-engine/renderers-7VJN5L3Z.mjs +1 -0
  131. package/dist/preview-engine/{renderers-WLH4HRUE.mjs → renderers-A7VH3ON5.mjs} +1 -1
  132. package/dist/preview-engine/renderers-CQXQHOW2.mjs +1 -0
  133. package/dist/preview-engine/{renderers-2US2NIUG.mjs → renderers-D2EJULOJ.mjs} +3 -23
  134. package/dist/preview-engine/renderers-DXHJAMZR.mjs +1 -0
  135. package/dist/preview-engine/{renderers-W5CVDJVH.mjs → renderers-F55XFVMP.mjs} +1 -1
  136. package/dist/preview-engine/renderers-FWGMNPYB.mjs +1 -0
  137. package/dist/preview-engine/renderers-HXFRTIJD.mjs +1 -0
  138. package/dist/preview-engine/renderers-IWQ3V6AJ.mjs +1 -0
  139. package/dist/preview-engine/renderers-IXGM55XK.mjs +1 -0
  140. package/dist/preview-engine/renderers-KVHUVWSN.mjs +1 -0
  141. package/dist/preview-engine/renderers-KZWGSKRF.mjs +1 -0
  142. package/dist/preview-engine/renderers-LVDUZZ75.mjs +1 -0
  143. package/dist/preview-engine/renderers-M7R2ZJUP.mjs +1 -0
  144. package/dist/preview-engine/renderers-NWHS7N2L.mjs +1 -0
  145. package/dist/preview-engine/{renderers-CAUWP4XH.mjs → renderers-O2DZPBOJ.mjs} +3 -23
  146. package/dist/preview-engine/renderers-OT7D3BUA.mjs +1 -0
  147. package/dist/preview-engine/renderers-P4S7GL64.mjs +104 -0
  148. package/dist/preview-engine/renderers-PMOO7DLX.mjs +1 -0
  149. package/dist/preview-engine/renderers-Q4OFCMXI.mjs +1 -0
  150. package/dist/preview-engine/renderers-QCCPCH73.mjs +1 -0
  151. package/dist/preview-engine/renderers-RJO6H4FC.mjs +1 -0
  152. package/dist/preview-engine/renderers-RRXFJRGI.mjs +1 -0
  153. package/dist/preview-engine/renderers-SCJ6OKTB.mjs +1 -0
  154. package/dist/preview-engine/renderers-T4JMJXWL.mjs +1 -0
  155. package/dist/preview-engine/renderers-TAWT3ZSS.mjs +1 -0
  156. package/dist/preview-engine/{renderers-JQHUBWLL.mjs → renderers-TFZST6WW.mjs} +3 -23
  157. package/dist/preview-engine/renderers-UHTO6BQA.mjs +1 -0
  158. package/dist/preview-engine/renderers-UPKB5OLS.mjs +100 -0
  159. package/dist/preview-engine/renderers-UPTJJE5F.mjs +1 -0
  160. package/dist/preview-engine/renderers-VLMQR3DW.mjs +1 -0
  161. package/dist/preview-engine/renderers-WVTTRCVI.mjs +1 -0
  162. package/dist/preview-engine/renderers-X5PUIPU5.mjs +1 -0
  163. package/dist/preview-engine/renderers-XCMVZ2XG.mjs +35 -0
  164. package/dist/preview-engine/renderers-XHTMRXC5.mjs +1 -0
  165. package/dist/preview-engine/renderers-YDCDY3BR.mjs +1 -0
  166. package/dist/preview-engine/renderers-YECY2YFT.mjs +1 -0
  167. package/dist/preview-engine/renderers-YJNQ4B7B.mjs +1 -0
  168. package/dist/preview-engine/renderers-YMN6QXK7.mjs +1 -0
  169. package/dist/preview-engine/renderers-YZEVPHPQ.mjs +228 -0
  170. package/dist/preview-engine/renderers-Z7YQUFAY.mjs +1 -0
  171. package/dist/preview-engine/renderers-ZANPE3OK.mjs +1 -0
  172. package/dist/preview-engine/renderers-ZJTRANIX.mjs +1 -0
  173. package/dist/preview-engine/signals.mjs +1 -1
  174. package/dist/preview-engine/skia-canvas-QBXAOGPB.mjs +1 -0
  175. package/dist/{program-BmNKgzja.mjs → program-Cc5AsBHz.mjs} +93 -2335
  176. package/dist/program-Cc5AsBHz.mjs.map +1 -0
  177. package/dist/renderer/index.d.mts +2 -2
  178. package/dist/renderer/index.mjs +3 -4
  179. package/dist/renderer-1VSi7Vum.mjs +5 -0
  180. package/dist/renderer-4BlpUHQT.mjs +5 -0
  181. package/dist/{renderer-Bv21DbWy.mjs → renderer-9L0p8IT3.mjs} +3 -1
  182. package/dist/renderer-AzSX2-mZ.mjs +5 -0
  183. package/dist/renderer-B-cxK24t.mjs +5 -0
  184. package/dist/{renderer-DxTs4Iyi.mjs → renderer-B1Zn91xt.mjs} +40 -142
  185. package/dist/renderer-B1Zn91xt.mjs.map +1 -0
  186. package/dist/renderer-B5d5oM_D.mjs +5 -0
  187. package/dist/renderer-B8BdNjaN.mjs +5 -0
  188. package/dist/{renderer-Bhdf90Zq.mjs → renderer-BI5rvAyo.mjs} +51 -163
  189. package/dist/renderer-BI5rvAyo.mjs.map +1 -0
  190. package/dist/renderer-BKEfeg-4.mjs +5 -0
  191. package/dist/{renderer-CI7sG_cv.mjs → renderer-BKf1qDwL.mjs} +83 -266
  192. package/dist/renderer-BKf1qDwL.mjs.map +1 -0
  193. package/dist/renderer-BLLOkeFB.mjs +5 -0
  194. package/dist/renderer-BSitV56h.mjs +268 -0
  195. package/dist/renderer-BSitV56h.mjs.map +1 -0
  196. package/dist/renderer-BTvov1NH.mjs +5 -0
  197. package/dist/renderer-BVun05IK.mjs +5 -0
  198. package/dist/{renderer-B2ieylQ3.mjs → renderer-BWVsBB3t.mjs} +56 -167
  199. package/dist/renderer-BWVsBB3t.mjs.map +1 -0
  200. package/dist/{renderer-ChdLYS-G.mjs → renderer-BXQQxeNC.mjs} +20 -87
  201. package/dist/renderer-BXQQxeNC.mjs.map +1 -0
  202. package/dist/renderer-B_3h5nhy.mjs +5 -0
  203. package/dist/renderer-BaZjoFYK.mjs +5 -0
  204. package/dist/{renderer-CfC_aiew.mjs → renderer-BaaOR3Ao.mjs} +57 -192
  205. package/dist/renderer-BaaOR3Ao.mjs.map +1 -0
  206. package/dist/{renderer-bZU_ndxf.mjs → renderer-BajIOuZH.mjs} +2 -2
  207. package/dist/{renderer-bZU_ndxf.mjs.map → renderer-BajIOuZH.mjs.map} +1 -1
  208. package/dist/{renderer-CWTpc4ff.mjs → renderer-Bb8T5eRX.mjs} +76 -210
  209. package/dist/renderer-Bb8T5eRX.mjs.map +1 -0
  210. package/dist/{renderer-D2nCGcjv.mjs → renderer-Bc6J0iVG.mjs} +3 -3
  211. package/dist/{renderer-D2nCGcjv.mjs.map → renderer-Bc6J0iVG.mjs.map} +1 -1
  212. package/dist/renderer-BcApaCVe.mjs +5 -0
  213. package/dist/{renderer-D_1oDOCP.mjs → renderer-Bg7647VN.mjs} +14 -69
  214. package/dist/renderer-Bg7647VN.mjs.map +1 -0
  215. package/dist/{renderer-ho_jXJ0H.mjs → renderer-BhKIZDsm.mjs} +23 -117
  216. package/dist/renderer-BhKIZDsm.mjs.map +1 -0
  217. package/dist/{renderer-dncoIVdd.mjs → renderer-BhhSyHKF.mjs} +3 -1
  218. package/dist/{renderer-CXn5HAnK.mjs → renderer-Br9BOkQs.mjs} +10 -16
  219. package/dist/renderer-Br9BOkQs.mjs.map +1 -0
  220. package/dist/{renderer-BTdOMMEx.d.mts → renderer-Bs_f_App.d.mts} +2 -2
  221. package/dist/{renderer-BTdOMMEx.d.mts.map → renderer-Bs_f_App.d.mts.map} +1 -1
  222. package/dist/{renderer-DZGtBUCx.mjs → renderer-BygIYH8s.mjs} +35 -185
  223. package/dist/renderer-BygIYH8s.mjs.map +1 -0
  224. package/dist/{renderer-Bv6q84TU.mjs → renderer-C--Dqe-3.mjs} +61 -208
  225. package/dist/renderer-C--Dqe-3.mjs.map +1 -0
  226. package/dist/renderer-C14mKYCw.mjs +5 -0
  227. package/dist/{renderer-CnXW28b9.mjs → renderer-C27RfwXN.mjs} +85 -279
  228. package/dist/renderer-C27RfwXN.mjs.map +1 -0
  229. package/dist/{renderer-Dy0utCl7.mjs → renderer-C5caYAA3.mjs} +10 -17
  230. package/dist/renderer-C5caYAA3.mjs.map +1 -0
  231. package/dist/{renderer-Bfgd4N0O.mjs → renderer-C5zpaQed.mjs} +9 -16
  232. package/dist/renderer-C5zpaQed.mjs.map +1 -0
  233. package/dist/{renderer-cgxO2xN6.mjs → renderer-C7UZLOYk.mjs} +10 -17
  234. package/dist/renderer-C7UZLOYk.mjs.map +1 -0
  235. package/dist/{renderer-BJ1aTkZf.mjs → renderer-C92mwhZz.mjs} +99 -282
  236. package/dist/renderer-C92mwhZz.mjs.map +1 -0
  237. package/dist/{renderer-CepMDQ06.mjs → renderer-CAJe9eLS.mjs} +19 -106
  238. package/dist/renderer-CAJe9eLS.mjs.map +1 -0
  239. package/dist/renderer-CFqhAXkH.mjs +5 -0
  240. package/dist/renderer-CK-spD4j.mjs +5 -0
  241. package/dist/renderer-CLLzQTIk.mjs +5 -0
  242. package/dist/{renderer-CtyD_Xju.mjs → renderer-CMsjnZ0G.mjs} +59 -194
  243. package/dist/renderer-CMsjnZ0G.mjs.map +1 -0
  244. package/dist/renderer-COwa6xlF.mjs +5 -0
  245. package/dist/renderer-CQPuuoVf.mjs +6 -0
  246. package/dist/renderer-CRd-cDqZ.mjs +5 -0
  247. package/dist/renderer-CTVnQAUm.mjs +5 -0
  248. package/dist/renderer-CbiEBSGx.mjs +5 -0
  249. package/dist/renderer-Cl7PruQ1.mjs +5 -0
  250. package/dist/renderer-CmuGGUDR.mjs +5 -0
  251. package/dist/renderer-CoGP4Mvf.mjs +148 -0
  252. package/dist/renderer-CoGP4Mvf.mjs.map +1 -0
  253. package/dist/renderer-CoNRrfqx.mjs +5 -0
  254. package/dist/{renderer-BREIjsUU.mjs → renderer-CrAqu3Rg.mjs} +14 -40
  255. package/dist/renderer-CrAqu3Rg.mjs.map +1 -0
  256. package/dist/renderer-CvIGa0mE.mjs +5 -0
  257. package/dist/renderer-CwMDPv0p.mjs +5 -0
  258. package/dist/{renderer-BIIWCg_J.mjs → renderer-CydWqyf0.mjs} +11 -18
  259. package/dist/renderer-CydWqyf0.mjs.map +1 -0
  260. package/dist/{renderer-bsWnRNpJ.mjs → renderer-CzBQgGD2.mjs} +29 -98
  261. package/dist/renderer-CzBQgGD2.mjs.map +1 -0
  262. package/dist/{renderer-CdciwwMI.mjs → renderer-D0aZNkQE.mjs} +161 -457
  263. package/dist/renderer-D0aZNkQE.mjs.map +1 -0
  264. package/dist/{renderer-B8UaFNqb.mjs → renderer-D2BRlqof.mjs} +62 -209
  265. package/dist/renderer-D2BRlqof.mjs.map +1 -0
  266. package/dist/{renderer-B8-kzZdP.mjs → renderer-D2FFvxsq.mjs} +41 -140
  267. package/dist/renderer-D2FFvxsq.mjs.map +1 -0
  268. package/dist/{renderer-Ctk2zzfy.mjs → renderer-D8-zNjyz.mjs} +57 -197
  269. package/dist/renderer-D8-zNjyz.mjs.map +1 -0
  270. package/dist/{renderer-DML9qpmS.mjs → renderer-DDqwds9R.mjs} +52 -202
  271. package/dist/renderer-DDqwds9R.mjs.map +1 -0
  272. package/dist/{renderer-BSaYG8aw.mjs → renderer-DGtBOdst.mjs} +3 -1
  273. package/dist/{renderer-CzPWB0Ss.mjs → renderer-DKqG9Lek.mjs} +13 -45
  274. package/dist/renderer-DKqG9Lek.mjs.map +1 -0
  275. package/dist/renderer-DOHbhGPu.mjs +5 -0
  276. package/dist/renderer-DOmA6IKc.mjs +5 -0
  277. package/dist/{renderer-DirxsOjq.mjs → renderer-DUhXH5Tz.mjs} +80 -258
  278. package/dist/renderer-DUhXH5Tz.mjs.map +1 -0
  279. package/dist/{renderer-kwmlLQOO.mjs → renderer-DVnVnS3c.mjs} +4 -4
  280. package/dist/{renderer-kwmlLQOO.mjs.map → renderer-DVnVnS3c.mjs.map} +1 -1
  281. package/dist/{renderer-CaaOKMSd.mjs → renderer-DWEvQ-hQ.mjs} +63 -190
  282. package/dist/renderer-DWEvQ-hQ.mjs.map +1 -0
  283. package/dist/renderer-DX2qEJTL.mjs +2173 -0
  284. package/dist/renderer-DX2qEJTL.mjs.map +1 -0
  285. package/dist/{renderer-1VuQTY1Z.mjs → renderer-DX8aBDqR.mjs} +236 -96
  286. package/dist/renderer-DX8aBDqR.mjs.map +1 -0
  287. package/dist/{renderer-DEJwPRkR.mjs → renderer-DYIPWN_B.mjs} +15 -51
  288. package/dist/renderer-DYIPWN_B.mjs.map +1 -0
  289. package/dist/{renderer-Djlb4TLO.mjs → renderer-DZD2G76E.mjs} +8 -15
  290. package/dist/renderer-DZD2G76E.mjs.map +1 -0
  291. package/dist/{renderer-WSGuj_V6.mjs → renderer-Da06_9FZ.mjs} +4 -3
  292. package/dist/{renderer-WSGuj_V6.mjs.map → renderer-Da06_9FZ.mjs.map} +1 -1
  293. package/dist/{renderer-BM05sB8m.mjs → renderer-DkyXqrQ6.mjs} +11 -74
  294. package/dist/renderer-DkyXqrQ6.mjs.map +1 -0
  295. package/dist/renderer-DmCWc4JL.mjs +5 -0
  296. package/dist/{renderer-BDbTWSpP.mjs → renderer-Dno-fujw.mjs} +58 -234
  297. package/dist/renderer-Dno-fujw.mjs.map +1 -0
  298. package/dist/{renderer-D2XD4QYk.mjs → renderer-DoYdfDEA.mjs} +34 -147
  299. package/dist/renderer-DoYdfDEA.mjs.map +1 -0
  300. package/dist/{renderer-_uvdg48N.mjs → renderer-DqjITuT-.mjs} +24 -93
  301. package/dist/renderer-DqjITuT-.mjs.map +1 -0
  302. package/dist/renderer-DuuOlYIG.mjs +3 -0
  303. package/dist/{renderer-DIgsilTw.mjs → renderer-Dy-DBU0X.mjs} +5 -4
  304. package/dist/{renderer-DIgsilTw.mjs.map → renderer-Dy-DBU0X.mjs.map} +1 -1
  305. package/dist/{renderer-CpkiHRhh.mjs → renderer-DyzNM721.mjs} +17 -99
  306. package/dist/renderer-DyzNM721.mjs.map +1 -0
  307. package/dist/{renderer-C_TPMHiH.mjs → renderer-DzrM1KMN.mjs} +81 -221
  308. package/dist/renderer-DzrM1KMN.mjs.map +1 -0
  309. package/dist/{renderer-Bc04fivZ.mjs → renderer-FHyZn0em.mjs} +99 -287
  310. package/dist/renderer-FHyZn0em.mjs.map +1 -0
  311. package/dist/renderer-GSFP7v2z.mjs +3 -0
  312. package/dist/{renderer-DpGc-N3G.mjs → renderer-NXdm6HLb.mjs} +24 -104
  313. package/dist/renderer-NXdm6HLb.mjs.map +1 -0
  314. package/dist/renderer-OLaYikwi.mjs +5 -0
  315. package/dist/renderer-Q75RC5Uz.mjs +5 -0
  316. package/dist/renderer-T0LJ4Po3.mjs +5 -0
  317. package/dist/renderer-VuXt1hfq.mjs +5 -0
  318. package/dist/{renderer-BfAWZziM.mjs → renderer-_1xGBbxn.mjs} +58 -225
  319. package/dist/renderer-_1xGBbxn.mjs.map +1 -0
  320. package/dist/{renderer-B1YMwl2B.mjs → renderer-c4AorKyw.mjs} +3 -1
  321. package/dist/renderer-hY_2WLt3.mjs +5 -0
  322. package/dist/{renderer-BhZZEyFX.mjs → renderer-mp1NN5zk.mjs} +4 -4
  323. package/dist/{renderer-BhZZEyFX.mjs.map → renderer-mp1NN5zk.mjs.map} +1 -1
  324. package/dist/{renderer-D7zvPHKn.mjs → renderer-qsg-JMuN.mjs} +18 -28
  325. package/dist/renderer-qsg-JMuN.mjs.map +1 -0
  326. package/dist/{renderer-vqkKWqa5.mjs → renderer-timEC0Gl.mjs} +23 -107
  327. package/dist/renderer-timEC0Gl.mjs.map +1 -0
  328. package/dist/renderer-y4EqE06a.mjs +5 -0
  329. package/dist/{renderers-CP8CFWDs-DwQTx8S7.mjs → renderers-CP8CFWDs-CMYe4kvZ.mjs} +4 -4
  330. package/dist/{renderers-CP8CFWDs-DwQTx8S7.mjs.map → renderers-CP8CFWDs-CMYe4kvZ.mjs.map} +1 -1
  331. package/dist/signals/index.d.mts +6 -6
  332. package/dist/signals/index.mjs +8 -8
  333. package/dist/{signals-Bv1OweKd.mjs → signals-DGRs6ddH.mjs} +4 -4
  334. package/dist/{signals-Bv1OweKd.mjs.map → signals-DGRs6ddH.mjs.map} +1 -1
  335. package/package.json +55 -55
  336. package/dist/client-CwRhflHE.mjs +0 -66
  337. package/dist/client-CwRhflHE.mjs.map +0 -1
  338. package/dist/dist-BAVZdFEJ.mjs.map +0 -1
  339. package/dist/dist-BYqNNwsl.mjs.map +0 -1
  340. package/dist/dist-CbG3QxDw.mjs.map +0 -1
  341. package/dist/dist-Cxi68OuY.mjs.map +0 -1
  342. package/dist/dist-cjs--lfMLs3U.mjs +0 -66
  343. package/dist/dist-cjs--lfMLs3U.mjs.map +0 -1
  344. package/dist/dist-cjs--pxyGFw2.mjs +0 -43
  345. package/dist/dist-cjs--pxyGFw2.mjs.map +0 -1
  346. package/dist/dist-cjs-3pon9kTt.mjs +0 -6
  347. package/dist/dist-cjs-BDpO-TH_.mjs +0 -51
  348. package/dist/dist-cjs-BDpO-TH_.mjs.map +0 -1
  349. package/dist/dist-cjs-BiKQozdJ.mjs +0 -64
  350. package/dist/dist-cjs-BiKQozdJ.mjs.map +0 -1
  351. package/dist/dist-cjs-BmyyWYWv.mjs +0 -153
  352. package/dist/dist-cjs-BmyyWYWv.mjs.map +0 -1
  353. package/dist/dist-cjs-CND_ghfH.mjs +0 -98
  354. package/dist/dist-cjs-CND_ghfH.mjs.map +0 -1
  355. package/dist/dist-cjs-CQwmMllY.mjs +0 -137
  356. package/dist/dist-cjs-CQwmMllY.mjs.map +0 -1
  357. package/dist/dist-cjs-CgFzrgj8.mjs +0 -85
  358. package/dist/dist-cjs-CgFzrgj8.mjs.map +0 -1
  359. package/dist/dist-cjs-CsU2sZoX.mjs +0 -323
  360. package/dist/dist-cjs-CsU2sZoX.mjs.map +0 -1
  361. package/dist/dist-cjs-DJ8fcQEe.mjs +0 -9069
  362. package/dist/dist-cjs-DJ8fcQEe.mjs.map +0 -1
  363. package/dist/dist-cjs-DT2jJlcK.mjs +0 -181
  364. package/dist/dist-cjs-DT2jJlcK.mjs.map +0 -1
  365. package/dist/dist-cjs-DjzmP0-x.mjs +0 -1091
  366. package/dist/dist-cjs-DjzmP0-x.mjs.map +0 -1
  367. package/dist/dist-cjs-DzjrlfbE.mjs +0 -437
  368. package/dist/dist-cjs-DzjrlfbE.mjs.map +0 -1
  369. package/dist/dist-cjs-M-8QOgS_.mjs +0 -209
  370. package/dist/dist-cjs-M-8QOgS_.mjs.map +0 -1
  371. package/dist/dist-cjs-TsA8LFXC.mjs +0 -48
  372. package/dist/dist-cjs-TsA8LFXC.mjs.map +0 -1
  373. package/dist/dist-cjs-agQl9T8M.mjs +0 -5015
  374. package/dist/dist-cjs-agQl9T8M.mjs.map +0 -1
  375. package/dist/event-streams-BaNGaLxh.mjs +0 -204
  376. package/dist/event-streams-BaNGaLxh.mjs.map +0 -1
  377. package/dist/fonts-C0W6TgJk.mjs.map +0 -1
  378. package/dist/index-9B8CJowc.d.mts.map +0 -1
  379. package/dist/index-CYGpSVsf.d.mts.map +0 -1
  380. package/dist/index-DDEPvMww.d.mts.map +0 -1
  381. package/dist/index-DnWsbbuZ.d.mts.map +0 -1
  382. package/dist/package-XpCRbTOA.mjs +0 -6
  383. package/dist/package-XpCRbTOA.mjs.map +0 -1
  384. package/dist/preview-BV2C4Fk6.mjs.map +0 -1
  385. package/dist/preview-engine/chunk-36YGYLKD.mjs +0 -58
  386. package/dist/preview-engine/chunk-7O24H4YT.mjs +0 -117
  387. package/dist/preview-engine/chunk-AUFSM5KI.mjs +0 -141
  388. package/dist/preview-engine/chunk-BHFI3Y4T.mjs +0 -1
  389. package/dist/preview-engine/chunk-BQ65MU6H.mjs +0 -138
  390. package/dist/preview-engine/chunk-BWDARDO6.mjs +0 -117
  391. package/dist/preview-engine/chunk-DLXQDDIN.mjs +0 -46
  392. package/dist/preview-engine/chunk-EJGLUZMW.mjs +0 -1
  393. package/dist/preview-engine/chunk-FE6RSVKZ.mjs +0 -73
  394. package/dist/preview-engine/chunk-FGHOHCFG.mjs +0 -110
  395. package/dist/preview-engine/chunk-HPIULG7P.mjs +0 -111
  396. package/dist/preview-engine/chunk-HRIKNYPF.mjs +0 -60
  397. package/dist/preview-engine/chunk-IMV5SBQV.mjs +0 -1
  398. package/dist/preview-engine/chunk-JPXQPP6J.mjs +0 -1
  399. package/dist/preview-engine/chunk-K52S5DJX.mjs +0 -109
  400. package/dist/preview-engine/chunk-L3IEJZ5S.mjs +0 -474
  401. package/dist/preview-engine/chunk-M7NMFDJ3.mjs +0 -3
  402. package/dist/preview-engine/chunk-MJM3NFEC.mjs +0 -315
  403. package/dist/preview-engine/chunk-NFAGEP43.mjs +0 -1448
  404. package/dist/preview-engine/chunk-NRHSNPZV.mjs +0 -182
  405. package/dist/preview-engine/chunk-OWOSYNMF.mjs +0 -104
  406. package/dist/preview-engine/chunk-Q66QQI6N.mjs +0 -8
  407. package/dist/preview-engine/chunk-QGBSLNFI.mjs +0 -52
  408. package/dist/preview-engine/chunk-QM3XFEJN.mjs +0 -63
  409. package/dist/preview-engine/chunk-R3ZH7YF3.mjs +0 -89
  410. package/dist/preview-engine/chunk-R6YNSBKL.mjs +0 -108
  411. package/dist/preview-engine/chunk-S4CSX6K5.mjs +0 -610
  412. package/dist/preview-engine/chunk-SNYAHQ25.mjs +0 -186
  413. package/dist/preview-engine/chunk-SRT2OCQW.mjs +0 -1
  414. package/dist/preview-engine/chunk-SUUUYXXT.mjs +0 -1
  415. package/dist/preview-engine/chunk-T6COGNOW.mjs +0 -134
  416. package/dist/preview-engine/chunk-XFYXT76H.mjs +0 -52
  417. package/dist/preview-engine/chunk-XUM42I4R.mjs +0 -1
  418. package/dist/preview-engine/chunk-YITWSOG4.mjs +0 -103
  419. package/dist/preview-engine/chunk-ZDCA6NVT.mjs +0 -82
  420. package/dist/preview-engine/chunk-ZNGOAGAI.mjs +0 -1
  421. package/dist/preview-engine/renderers-27Q5X3U6.mjs +0 -1
  422. package/dist/preview-engine/renderers-4AHH6BHF.mjs +0 -1
  423. package/dist/preview-engine/renderers-5BV6JGTU.mjs +0 -248
  424. package/dist/preview-engine/renderers-6PRVCTYV.mjs +0 -1
  425. package/dist/preview-engine/renderers-76PQY2SO.mjs +0 -1
  426. package/dist/preview-engine/renderers-7X2W6QWX.mjs +0 -1
  427. package/dist/preview-engine/renderers-B52QT6MT.mjs +0 -55
  428. package/dist/preview-engine/renderers-BE6RVJSE.mjs +0 -1
  429. package/dist/preview-engine/renderers-BMM2BH56.mjs +0 -1
  430. package/dist/preview-engine/renderers-CHOGQHVQ.mjs +0 -1
  431. package/dist/preview-engine/renderers-CRKRWR2Y.mjs +0 -1
  432. package/dist/preview-engine/renderers-DEYDSGJX.mjs +0 -1
  433. package/dist/preview-engine/renderers-DZTNRCR7.mjs +0 -1
  434. package/dist/preview-engine/renderers-ELO3KWTK.mjs +0 -1
  435. package/dist/preview-engine/renderers-EOJMPPAQ.mjs +0 -1
  436. package/dist/preview-engine/renderers-F2KJNDWA.mjs +0 -124
  437. package/dist/preview-engine/renderers-FCV4COVB.mjs +0 -1
  438. package/dist/preview-engine/renderers-G5KQISVL.mjs +0 -1
  439. package/dist/preview-engine/renderers-GJSUN5HU.mjs +0 -1
  440. package/dist/preview-engine/renderers-GMX2ZQDG.mjs +0 -1
  441. package/dist/preview-engine/renderers-GXCRINGC.mjs +0 -1
  442. package/dist/preview-engine/renderers-IHKORHMT.mjs +0 -1
  443. package/dist/preview-engine/renderers-JA4SLMG3.mjs +0 -1
  444. package/dist/preview-engine/renderers-JLN77CFZ.mjs +0 -1
  445. package/dist/preview-engine/renderers-KBFW7B5F.mjs +0 -1
  446. package/dist/preview-engine/renderers-LJRJMFCR.mjs +0 -1
  447. package/dist/preview-engine/renderers-LPAPZ5QS.mjs +0 -1
  448. package/dist/preview-engine/renderers-NQUDQEHY.mjs +0 -1
  449. package/dist/preview-engine/renderers-NS3AIJVG.mjs +0 -1
  450. package/dist/preview-engine/renderers-NSY2SDIE.mjs +0 -1
  451. package/dist/preview-engine/renderers-PW4OJWHF.mjs +0 -120
  452. package/dist/preview-engine/renderers-PWLWOZY4.mjs +0 -1
  453. package/dist/preview-engine/renderers-Q3MD34JN.mjs +0 -1
  454. package/dist/preview-engine/renderers-RXGNA2Q7.mjs +0 -1
  455. package/dist/preview-engine/renderers-TVTQ2R74.mjs +0 -1
  456. package/dist/preview-engine/renderers-VTTGFO55.mjs +0 -1
  457. package/dist/preview-engine/renderers-W3VVM5HB.mjs +0 -1
  458. package/dist/preview-engine/renderers-WG7QBD4D.mjs +0 -1
  459. package/dist/preview-engine/renderers-WLLJFZTF.mjs +0 -1
  460. package/dist/preview-engine/renderers-WN4SYFCU.mjs +0 -1
  461. package/dist/preview-engine/renderers-WSMLLSWX.mjs +0 -1
  462. package/dist/preview-engine/renderers-XFBSGTHU.mjs +0 -1
  463. package/dist/preview-engine/renderers-XFC6ZPO5.mjs +0 -1
  464. package/dist/preview-engine/renderers-XUHRY3XH.mjs +0 -1
  465. package/dist/preview-engine/renderers-YAOB5XU6.mjs +0 -1
  466. package/dist/preview-engine/renderers-YTB4FOHT.mjs +0 -1
  467. package/dist/preview-engine/renderers-ZIMBODX6.mjs +0 -1
  468. package/dist/program-BmNKgzja.mjs.map +0 -1
  469. package/dist/renderer-1VuQTY1Z.mjs.map +0 -1
  470. package/dist/renderer-6oMSare3.mjs +0 -3
  471. package/dist/renderer-B1ComPb2.mjs +0 -3
  472. package/dist/renderer-B2XzjK0z.mjs +0 -3
  473. package/dist/renderer-B2ieylQ3.mjs.map +0 -1
  474. package/dist/renderer-B8-kzZdP.mjs.map +0 -1
  475. package/dist/renderer-B8UaFNqb.mjs.map +0 -1
  476. package/dist/renderer-BDbTWSpP.mjs.map +0 -1
  477. package/dist/renderer-BIIWCg_J.mjs.map +0 -1
  478. package/dist/renderer-BJ1aTkZf.mjs.map +0 -1
  479. package/dist/renderer-BM05sB8m.mjs.map +0 -1
  480. package/dist/renderer-BQ5Bz5D0.mjs +0 -3
  481. package/dist/renderer-BREIjsUU.mjs.map +0 -1
  482. package/dist/renderer-BTu2EVhF.mjs +0 -3
  483. package/dist/renderer-BZcn_iBl.mjs +0 -3
  484. package/dist/renderer-Bc04fivZ.mjs.map +0 -1
  485. package/dist/renderer-BfAWZziM.mjs.map +0 -1
  486. package/dist/renderer-BfJSUjPN.mjs +0 -3
  487. package/dist/renderer-Bfgd4N0O.mjs.map +0 -1
  488. package/dist/renderer-Bhdf90Zq.mjs.map +0 -1
  489. package/dist/renderer-Bp6sDMa6.mjs +0 -3
  490. package/dist/renderer-Bt7_sb_Y.mjs +0 -3
  491. package/dist/renderer-Bv6q84TU.mjs.map +0 -1
  492. package/dist/renderer-C-H680_l.mjs +0 -3
  493. package/dist/renderer-C606ZPUn.mjs +0 -3
  494. package/dist/renderer-C9jyKn1i.mjs +0 -3
  495. package/dist/renderer-CDLrNgfo.mjs +0 -3
  496. package/dist/renderer-CERfcxgv.mjs +0 -3
  497. package/dist/renderer-CG5PzNkv.mjs +0 -3
  498. package/dist/renderer-CI7sG_cv.mjs.map +0 -1
  499. package/dist/renderer-CPoIMVdk.mjs +0 -3
  500. package/dist/renderer-CQdVj2JS.mjs +0 -3
  501. package/dist/renderer-CQiTodg9.mjs +0 -337
  502. package/dist/renderer-CQiTodg9.mjs.map +0 -1
  503. package/dist/renderer-CWTpc4ff.mjs.map +0 -1
  504. package/dist/renderer-CXn5HAnK.mjs.map +0 -1
  505. package/dist/renderer-CZgB5st8.mjs +0 -3
  506. package/dist/renderer-C_TPMHiH.mjs.map +0 -1
  507. package/dist/renderer-Ca7L1EOp.mjs +0 -3
  508. package/dist/renderer-CaaOKMSd.mjs.map +0 -1
  509. package/dist/renderer-CdciwwMI.mjs.map +0 -1
  510. package/dist/renderer-CepMDQ06.mjs.map +0 -1
  511. package/dist/renderer-CfC_aiew.mjs.map +0 -1
  512. package/dist/renderer-ChdLYS-G.mjs.map +0 -1
  513. package/dist/renderer-CkykdR_D.mjs +0 -3
  514. package/dist/renderer-Cl6GkeHx.mjs +0 -3
  515. package/dist/renderer-ClcjrFyo.mjs +0 -3
  516. package/dist/renderer-CnXW28b9.mjs.map +0 -1
  517. package/dist/renderer-CpkiHRhh.mjs.map +0 -1
  518. package/dist/renderer-CtVkU_GA.mjs +0 -44
  519. package/dist/renderer-CtVkU_GA.mjs.map +0 -1
  520. package/dist/renderer-Ctk2zzfy.mjs.map +0 -1
  521. package/dist/renderer-CtyD_Xju.mjs.map +0 -1
  522. package/dist/renderer-CySUP_wk.mjs +0 -3
  523. package/dist/renderer-CzPWB0Ss.mjs.map +0 -1
  524. package/dist/renderer-D2XD4QYk.mjs.map +0 -1
  525. package/dist/renderer-D2l_Odyg.mjs +0 -3
  526. package/dist/renderer-D7zvPHKn.mjs.map +0 -1
  527. package/dist/renderer-D9NnIx7o.mjs +0 -3
  528. package/dist/renderer-DCPCYySt.mjs +0 -3
  529. package/dist/renderer-DEJwPRkR.mjs.map +0 -1
  530. package/dist/renderer-DIkpJEOZ.mjs +0 -3
  531. package/dist/renderer-DML9qpmS.mjs.map +0 -1
  532. package/dist/renderer-DNSXPkf_.mjs +0 -3
  533. package/dist/renderer-DP-CvZ_Z.mjs +0 -3
  534. package/dist/renderer-DZGtBUCx.mjs.map +0 -1
  535. package/dist/renderer-D_1oDOCP.mjs.map +0 -1
  536. package/dist/renderer-DeXb8R6h.mjs +0 -3
  537. package/dist/renderer-DezO-ZaP.mjs +0 -4
  538. package/dist/renderer-DhXe04fC.mjs +0 -3
  539. package/dist/renderer-DirxsOjq.mjs.map +0 -1
  540. package/dist/renderer-Djlb4TLO.mjs.map +0 -1
  541. package/dist/renderer-DnH3SI7w.mjs +0 -3
  542. package/dist/renderer-DpGc-N3G.mjs.map +0 -1
  543. package/dist/renderer-Dpw4oi33.mjs +0 -3
  544. package/dist/renderer-DxTs4Iyi.mjs.map +0 -1
  545. package/dist/renderer-Dy0utCl7.mjs.map +0 -1
  546. package/dist/renderer-Md-ytU0v.mjs +0 -3
  547. package/dist/renderer-RKsXlF_0.mjs +0 -23900
  548. package/dist/renderer-RKsXlF_0.mjs.map +0 -1
  549. package/dist/renderer-U-bhWO9Q.mjs +0 -3
  550. package/dist/renderer-_uvdg48N.mjs.map +0 -1
  551. package/dist/renderer-bsWnRNpJ.mjs.map +0 -1
  552. package/dist/renderer-cgxO2xN6.mjs.map +0 -1
  553. package/dist/renderer-d5-F_48R.mjs +0 -3
  554. package/dist/renderer-ho_jXJ0H.mjs.map +0 -1
  555. package/dist/renderer-vqkKWqa5.mjs.map +0 -1
  556. package/dist/renderer-zA5okHds.mjs +0 -3
  557. package/dist/signin-Db08vl-g.mjs +0 -865
  558. package/dist/signin-Db08vl-g.mjs.map +0 -1
  559. package/dist/sso-oidc-CpLz_lIu.mjs +0 -1051
  560. package/dist/sso-oidc-CpLz_lIu.mjs.map +0 -1
  561. package/dist/sts-BQefGuml.mjs +0 -6
  562. package/dist/sts-Dgl0kH-t.mjs +0 -1395
  563. package/dist/sts-Dgl0kH-t.mjs.map +0 -1
  564. /package/dist/{renderer-C2n-EHxg.mjs → renderer-B-BcgA6d.mjs} +0 -0
@@ -1,4 +1,4 @@
1
- import{a as E}from"./chunk-IMV5SBQV.mjs";import{t as Y}from"./chunk-ZNGOAGAI.mjs";import{d as H}from"./chunk-6YJP57MZ.mjs";import{e as w}from"./chunk-BVF64D6H.mjs";w();w();var he=`
1
+ import{a as z,d as x,e as Y,g as X,h as G,j as F,k as O,m as k}from"./chunk-ENKKLU7B.mjs";import{d as U}from"./chunk-6YJP57MZ.mjs";import{x as s,z as N}from"./chunk-63SFBHEH.mjs";import{a as W}from"./chunk-IQC2I5A5.mjs";import{e as S}from"./chunk-BVF64D6H.mjs";S();S();var ve=`
2
2
  struct RefractionCausticsUniforms {
3
3
  // vec4 0
4
4
  _pad0 : f32,
@@ -69,27 +69,7 @@ struct RefractionCausticsUniforms {
69
69
  @group(3) @binding(6) var lightPosXSigTex : texture_2d<f32>;
70
70
  @group(3) @binding(7) var lightPosYSigTex : texture_2d<f32>;
71
71
  @group(3) @binding(8) var sigSamp : sampler;
72
-
73
- struct VSOut {
74
- @builtin(position) pos : vec4<f32>,
75
- @location(0) uv : vec2<f32>,
76
- };
77
-
78
- @vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
79
- var pos = array<vec2<f32>, 4>(
80
- vec2<f32>(-1.0, 1.0),
81
- vec2<f32>(1.0, 1.0),
82
- vec2<f32>(-1.0, -1.0),
83
- vec2<f32>(1.0, -1.0)
84
- );
85
- var uv = array<vec2<f32>, 4>(
86
- vec2<f32>(0.0, 0.0),
87
- vec2<f32>(1.0, 0.0),
88
- vec2<f32>(0.0, 1.0),
89
- vec2<f32>(1.0, 1.0)
90
- );
91
- return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
92
- }
72
+ ${z}
93
73
 
94
74
  fn sampleDepth(uv: vec2<f32>) -> f32 {
95
75
  let clampedUV = clamp(uv, vec2<f32>(0.0), vec2<f32>(1.0));
@@ -364,4 +344,4 @@ fn spectralWavelength(t: f32) -> vec3<f32> {
364
344
 
365
345
  return vec4<f32>(clamp(finalRGB, vec3<f32>(0.0), vec3<f32>(1.0)), finalAlpha);
366
346
  }
367
- `,X=new WeakMap;function ve(r){let e=X.get(r);if(e)return e;let i=r.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),p=r.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]}),o=r.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]}),d=r.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:2,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:3,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:4,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:5,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:6,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:7,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:8,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]});return e={uniformLayout:i,srcTextureLayout:p,depthTextureLayout:o,signalTextureLayout:d,pipelineCache:new Map},X.set(r,e),e}function me(r,e){let i=ve(r),p=`refraction_caustics_${e}`,o=i.pipelineCache.get(p);if(!o){let d=r.createShaderModule({label:`refraction_caustics_${e}.wgsl`,code:he});o=r.createRenderPipeline({label:`RefractionCausticsPipeline_${e}`,layout:r.createPipelineLayout({bindGroupLayouts:[i.uniformLayout,i.srcTextureLayout,i.depthTextureLayout,i.signalTextureLayout]}),vertex:{module:d,entryPoint:"vs"},fragment:{module:d,entryPoint:"fs",targets:[{format:e}]},primitive:{topology:"triangle-strip"}}),i.pipelineCache.set(p,o)}return{pipeline:o,uniformLayout:i.uniformLayout,srcTextureLayout:i.srcTextureLayout,depthTextureLayout:i.depthTextureLayout,signalTextureLayout:i.signalTextureLayout}}function c(r,e,i,p,o){let d=`${e}HandleId`,m=r[d],u=m?r.inputs?.[m]:null,a=!!(u?.connectionValid&&(u.outputItem?.type==="Signal"||u.outputItem?.type==="Numeric")),S=a&&u?.outputItem?.data?u.outputItem.data:null,h=i;if(a){if(S){let f=Number(S.offset??i);h=Math.max(p,Math.min(o,f))}}else if(u?.connectionValid&&u.outputItem?.type==="Number"){let f=Number(u.outputItem.data??i);h=Math.max(p,Math.min(o,f))}else{let f=Number(r[e]??i);h=Math.max(p,Math.min(o,f))}return{hasSignal:a,sd:S,value:h}}var k=async r=>{let{ctx:e,encoder:i,pass:p,targetView:o,targetTexture:d,targetWidth:m,targetHeight:u,props:a,drawChild:S}=r,h=a.frame??0,f=a.fps||60,s=a.virtualMedia?.operation;if(s?.op!=="RefractionCaustics3D"||!s)return;let G=a.virtualMedia.children?.[0];if(!G)return;p.end();let n=m,l=u,x=e.renderer.getTemporaryTexture(n,l,[...a.excludeTextures||[],d]),L=x.createView();e.renderer.beginFrame(i,L,{r:0,g:0,b:0,a:0},n,l,"clear").end(),e.renderer.pushScissor({x:0,y:0,width:n,height:l}),e.renderer.pushIdentity(),await S(G,{...a,virtualMedia:G,containerWidth:n,containerHeight:l},L,x,n,l),e.renderer.popTransform(),e.renderer.popScissor(),r.pass.end();let I=s.depthMedia,y,R,V=!1;I?(y=e.renderer.getTemporaryTexture(n,l,[...a.excludeTextures||[],d,x]),R=y.createView(),e.renderer.beginFrame(i,R,{r:0,g:0,b:0,a:0},n,l,"clear").end(),e.renderer.pushScissor({x:0,y:0,width:n,height:l}),e.renderer.pushIdentity(),await S(I,{...a,virtualMedia:I,containerWidth:n,containerHeight:l},R,y,n,l),e.renderer.popTransform(),e.renderer.popScissor(),r.pass.end(),V=!0):(y=x,R=L,V=!1);let{pipeline:q,uniformLayout:j,srcTextureLayout:$,depthTextureLayout:K,signalTextureLayout:J}=me(e.device,e.renderer.format),C=e.renderer.samplerCache.getSampler(e.device),O=a.elapsedMs!==void 0?a.elapsedMs/1e3:h/f,T=a.virtualMedia?.metadata?.durationMs?a.virtualMedia.metadata.durationMs/1e3:a.durationMs!==void 0?a.durationMs/1e3:4,Q=T>0?O%T/T:0,D=c(s,"ior",1.52,1,2.5),M=c(s,"dispersion",.04,0,.2),U=c(s,"refractionScale",.5,0,2),_=c(s,"causticBrightness",.6,0,2),Z=c(s,"causticScale",1,.1,5),N=c(s,"fluidRipples",0,0,1),A=c(s,"roughness",0,0,1),B=c(s,"lightPosX",.5,0,1),F=c(s,"lightPosY",.2,0,1),ee=c(s,"specularIntensity",.8,0,2),te=c(s,"depthScale",1,.1,5),ie=c(s,"tintStrength",0,0,1),re=c(s,"rippleSpeed",1,0,5),g=(b,fe)=>b.hasSignal&&b.sd?H.getOrCreate2DTextureView(e.device,i,b.sd.nodeId??fe,O,T,b.sd,n,l,a.renderId,h,f):H.getDummy1x1TextureView(e.device),ae=g(D,"refr_ior_sig"),se=g(M,"refr_disp_sig"),ne=g(U,"refr_scale_sig"),le=g(_,"refr_caust_sig"),ce=g(N,"refr_rip_sig"),oe=g(A,"refr_rough_sig"),ue=g(B,"refr_lightx_sig"),pe=g(F,"refr_lighty_sig"),t=new Float32Array(36);t[0]=0,t[1]=D.value,t[2]=M.value,t[3]=U.value,t[4]=_.value,t[5]=Z.value,t[6]=N.value,t[7]=re.value,t[8]=A.value,t[9]=ee.value,t[10]=B.value,t[11]=F.value,t[12]=ie.value,t[13]=s.depthInvert?1:0,t[14]=te.value,t[15]=V?1:0,t[16]=Q,t[17]=n/Math.max(1,l),t[18]=0,t[19]=0,t[20]=D.hasSignal?1:0,t[21]=M.hasSignal?1:0,t[22]=U.hasSignal?1:0,t[23]=_.hasSignal?1:0,t[24]=N.hasSignal?1:0,t[25]=A.hasSignal?1:0,t[26]=B.hasSignal?1:0,t[27]=F.hasSignal?1:0,t[28]=0,t[29]=0,t[30]=0,t[31]=0;let P=E(s.tintColor??"#ffffff");t[32]=P.r,t[33]=P.g,t[34]=P.b,t[35]=P.a;let de=e.renderer.getTemporaryBuffer(t),W=e.renderer.getTemporaryTexture(n,l,[x,y,d,...a.excludeTextures||[]]),v=i.beginRenderPass({colorAttachments:[{view:W.createView(),loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});v.setPipeline(q),v.setBindGroup(0,e.device.createBindGroup({layout:j,entries:[{binding:0,resource:{buffer:de}}]})),v.setBindGroup(1,e.renderer.bindGroupCache.getBindGroup(e.device,$,x,C)),v.setBindGroup(2,e.renderer.bindGroupCache.getBindGroup(e.device,K,y,C)),v.setBindGroup(3,e.device.createBindGroup({layout:J,entries:[{binding:0,resource:ae},{binding:1,resource:se},{binding:2,resource:ne},{binding:3,resource:le},{binding:4,resource:ce},{binding:5,resource:oe},{binding:6,resource:ue},{binding:7,resource:pe},{binding:8,resource:C}]})),v.draw(4),v.end();let z=e.renderer.beginFrame(i,o,{r:0,g:0,b:0,a:0},m,u,"load");e.renderer.drawTexture(z,W,{x:0,y:0,width:m,height:u},{opacity:s.opacity??1}),r.pass=z};var Pe=Y({WebGPURenderer:k});export{k as a,Pe as b};
347
+ `,q=new WeakMap;function Se(a){let t=q.get(a);if(t)return t;let r=x(a,["uniform"]),o=x(a,["texture","sampler"]),n=x(a,["texture","sampler"]),u=Y(a,8);return t={uniformLayout:r,srcTextureLayout:o,depthTextureLayout:n,signalTextureLayout:u,pipelineCache:new Map},q.set(a,t),t}function xe(a,t){let r=Se(a),o=`refraction_caustics_${t}`,n=r.pipelineCache.get(o);if(!n){let u=a.createShaderModule({label:`refraction_caustics_${t}.wgsl`,code:ve});n=X(a,{label:`RefractionCausticsPipeline_${t}`,module:u,layouts:[r.uniformLayout,r.srcTextureLayout,r.depthTextureLayout,r.signalTextureLayout],format:t}),r.pipelineCache.set(o,n)}return{pipeline:n,uniformLayout:r.uniformLayout,srcTextureLayout:r.srcTextureLayout,depthTextureLayout:r.depthTextureLayout,signalTextureLayout:r.signalTextureLayout}}var j=async a=>{let{ctx:t,encoder:r,pass:o,targetTexture:n,targetWidth:u,targetHeight:E,props:l}=a,B=l.frame??0,A=l.fps||60,i=l.virtualMedia?.operation;if(i?.op!=="RefractionCaustics3D"||!i)return;let R=l.virtualMedia.children?.[0];if(!R)return;o.end();let p=u,f=E,{texture:d}=await G(a,R,{props:{...l,virtualMedia:R,containerWidth:p,containerHeight:f}});a.pass.end();let y=i.depthMedia,g,b=!1;y?({texture:g}=await G(a,y,{props:{...l,virtualMedia:y,containerWidth:p,containerHeight:f},exclude:[d]}),a.pass.end(),b=!0):(g=d,b=!1);let{pipeline:$,uniformLayout:K,srcTextureLayout:Q,depthTextureLayout:J,signalTextureLayout:Z}=xe(t.device,t.renderer.format),T=t.renderer.samplerCache.getSampler(t.device),{elapsedSeconds:H,durationSeconds:h}=O(l,B,A,4),ee=h>0?H%h/h:0,L=s(i,"ior",1.52,1,2.5),D=s(i,"dispersion",.04,0,.2),w=s(i,"refractionScale",.5,0,2),P=s(i,"causticBrightness",.6,0,2),te=s(i,"causticScale",1,.1,5),V=s(i,"fluidRipples",0,0,1),C=s(i,"roughness",0,0,1),I=s(i,"lightPosX",.5,0,1),_=s(i,"lightPosY",.2,0,1),ie=s(i,"specularIntensity",.8,0,2),ae=s(i,"depthScale",1,.1,5),re=s(i,"tintStrength",0,0,1),se=s(i,"rippleSpeed",1,0,5),c=(v,he)=>v.hasSignal&&v.sd?U.getOrCreate2DTextureView(t.device,r,v.sd.nodeId??he,H,h,v.sd,p,f,l.renderId,B,A):U.getDummy1x1TextureView(t.device),le=c(L,"refr_ior_sig"),ne=c(D,"refr_disp_sig"),ce=c(w,"refr_scale_sig"),oe=c(P,"refr_caust_sig"),ue=c(V,"refr_rip_sig"),pe=c(C,"refr_rough_sig"),fe=c(I,"refr_lightx_sig"),de=c(_,"refr_lighty_sig"),e=new Float32Array(36);e[0]=0,e[1]=L.value,e[2]=D.value,e[3]=w.value,e[4]=P.value,e[5]=te.value,e[6]=V.value,e[7]=se.value,e[8]=C.value,e[9]=ie.value,e[10]=I.value,e[11]=_.value,e[12]=re.value,e[13]=i.depthInvert?1:0,e[14]=ae.value,e[15]=b?1:0,e[16]=ee,e[17]=p/Math.max(1,f),e[18]=0,e[19]=0,e[20]=L.hasSignal?1:0,e[21]=D.hasSignal?1:0,e[22]=w.hasSignal?1:0,e[23]=P.hasSignal?1:0,e[24]=V.hasSignal?1:0,e[25]=C.hasSignal?1:0,e[26]=I.hasSignal?1:0,e[27]=_.hasSignal?1:0,e[28]=0,e[29]=0,e[30]=0,e[31]=0;let m=W(i.tintColor??"#ffffff");e[32]=m.r,e[33]=m.g,e[34]=m.b,e[35]=m.a;let ge=t.renderer.getTemporaryBuffer(e),M=t.renderer.getTemporaryTexture(p,f,[d,g,n,...l.excludeTextures||[]]);k(r,M.createView(),$,[t.device.createBindGroup({layout:K,entries:[{binding:0,resource:{buffer:ge}}]}),t.renderer.bindGroupCache.getBindGroup(t.device,Q,d,T),t.renderer.bindGroupCache.getBindGroup(t.device,J,g,T),t.device.createBindGroup({layout:Z,entries:[{binding:0,resource:le},{binding:1,resource:ne},{binding:2,resource:ce},{binding:3,resource:oe},{binding:4,resource:ue},{binding:5,resource:pe},{binding:6,resource:fe},{binding:7,resource:de},{binding:8,resource:T}]})]),F(a,M,i.opacity??1)};var Pe=N({WebGPURenderer:j});export{j as a,Pe as b};
@@ -0,0 +1,84 @@
1
+ import{a as X,d as f,e as _,f as P,g as Y,h as D,j as U,k as V,m as B}from"./chunk-ENKKLU7B.mjs";import{d}from"./chunk-6YJP57MZ.mjs";import{z as R}from"./chunk-63SFBHEH.mjs";import{e as g}from"./chunk-BVF64D6H.mjs";g();g();var j=0,Q=500;function q(t,e,r){return Math.min(r,Math.max(e,t))}var z=`
2
+ struct DisplacementUniforms {
3
+ strengthX : f32,
4
+ strengthY : f32,
5
+ xChannel : f32, // 0=R, 1=G, 2=B, 3=A, 4=Luma
6
+ yChannel : f32, // 0=R, 1=G, 2=B, 3=A, 4=Luma
7
+
8
+ wrapMode : f32, // 0=Clamp, 1=Repeat, 2=Mirror
9
+ hasSignalX : f32,
10
+ hasSignalY : f32,
11
+ _pad : f32,
12
+ };
13
+
14
+ @group(0) @binding(0) var<uniform> u : DisplacementUniforms;
15
+ @group(1) @binding(0) var srcTex : texture_2d<f32>;
16
+ @group(1) @binding(1) var srcSamp : sampler;
17
+ @group(2) @binding(0) var mapTex : texture_2d<f32>;
18
+ @group(2) @binding(1) var mapSamp : sampler;
19
+ @group(3) @binding(0) var sigXTex : texture_2d<f32>;
20
+ @group(3) @binding(1) var sigYTex : texture_2d<f32>;
21
+ @group(3) @binding(2) var sigSamp : sampler;
22
+ ${X}
23
+
24
+ fn extractChannel(color: vec4<f32>, channel: f32) -> f32 {
25
+ if (channel < 0.5) { return color.r; }
26
+ if (channel < 1.5) { return color.g; }
27
+ if (channel < 2.5) { return color.b; }
28
+ if (channel < 3.5) { return color.a; }
29
+ // Luminance
30
+ return dot(color.rgb, vec3<f32>(0.299, 0.587, 0.114));
31
+ }
32
+
33
+ fn applyWrap(coord: f32, mode: f32) -> f32 {
34
+ if (mode < 0.5) {
35
+ // Clamp
36
+ return clamp(coord, 0.0, 1.0);
37
+ }
38
+ if (mode < 1.5) {
39
+ // Repeat
40
+ return fract(coord);
41
+ }
42
+ // Mirror
43
+ let t = fract(coord * 0.5) * 2.0;
44
+ if (t > 1.0) {
45
+ return 2.0 - t;
46
+ }
47
+ return t;
48
+ }
49
+
50
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
51
+ let mapColor = textureSampleLevel(mapTex, mapSamp, in.uv, 0.0);
52
+
53
+ // Extract displacement values from chosen channels, centered around 0.5 and gated by alpha
54
+ // NOTE (P3, not changed here): this yields a max offset of strength/2 px at
55
+ // either extreme (peak-to-peak swing == strength). Confirm with design whether
56
+ // "strength in pixels" should mean peak amplitude instead \u2014 see review doc.
57
+ let dispX = (extractChannel(mapColor, u.xChannel) - 0.5) * mapColor.a;
58
+ let dispY = (extractChannel(mapColor, u.yChannel) - 0.5) * mapColor.a;
59
+
60
+ // Get strength, potentially from signal textures
61
+ var sX = u.strengthX;
62
+ var sY = u.strengthY;
63
+ if (u.hasSignalX > 0.5) {
64
+ sX = textureSampleLevel(sigXTex, sigSamp, in.uv, 0.0).r;
65
+ }
66
+ if (u.hasSignalY > 0.5) {
67
+ sY = textureSampleLevel(sigYTex, sigSamp, in.uv, 0.0).r;
68
+ }
69
+
70
+ // Compute displacement in UV space (strength is in pixels, convert to UV)
71
+ let srcDims = vec2<f32>(textureDimensions(srcTex));
72
+ let offset = vec2<f32>(
73
+ dispX * sX / srcDims.x,
74
+ dispY * sY / srcDims.y,
75
+ );
76
+
77
+ let displaced = vec2<f32>(
78
+ applyWrap(in.uv.x + offset.x, u.wrapMode),
79
+ applyWrap(in.uv.y + offset.y, u.wrapMode),
80
+ );
81
+
82
+ return textureSampleLevel(srcTex, srcSamp, displaced, 0.0);
83
+ }
84
+ `,o=new Float32Array(8),J=P(t=>({uniformLayout:f(t,["uniform"]),srcTextureLayout:f(t,["texture","sampler"]),mapTextureLayout:f(t,["texture","sampler"]),signalTextureLayout:_(t,2),pipelineCache:new Map}));function Z(t,e){let r=J(t),u=`displacement_${e}`,s=r.pipelineCache.get(u);if(!s){let i=t.createShaderModule({label:`displacement_${e}.wgsl`,code:z});s=Y(t,{label:`DisplacementMapPipeline_${e}`,module:i,layouts:[r.uniformLayout,r.srcTextureLayout,r.mapTextureLayout,r.signalTextureLayout],format:e}),r.pipelineCache.set(u,s)}return{pipeline:s,uniformLayout:r.uniformLayout,srcTextureLayout:r.srcTextureLayout,mapTextureLayout:r.mapTextureLayout,signalTextureLayout:r.signalTextureLayout}}function A(t){switch(t){case"Green":return 1;case"Blue":return 2;case"Alpha":return 3;case"Luminance":return 4;default:return 0}}function ee(t){switch(t){case"Repeat":return 1;case"Mirror":return 2;default:return 0}}function N(t,e,r){let u=`${e}HandleId`,s=t[u],i=s?t.inputs?.[s]:null,c=!!(i?.connectionValid&&i.outputItem?.type==="Signal"),n=c?i?.outputItem?.data:null,a=r;return c?n&&typeof n=="object"&&"offset"in n&&(a=Number(n.offset??r)):i?.connectionValid&&i.outputItem?.type==="Number"?a=q(Number(i.outputItem.data??r),j,Q):a=Number(t[e]??r),{hasSignal:c,sd:n,value:a}}var W=async t=>{let{ctx:e,encoder:r,pass:u,targetTexture:s,targetWidth:i,targetHeight:c,props:n}=t,a=n.virtualMedia?.operation;if(a?.op!=="DisplacementMap"||!a)return;let x=n.virtualMedia.children?.[0],h=a.mapMedia;if(!x||!h)return;u.end();let y=i,T=c,v=n.frame??0,b=n.fps||30,l=N(a,"strengthX",50),p=N(a,"strengthY",50),{texture:m}=await D(t,x,{props:{...n,virtualMedia:x,renderId:`${n.renderId}-c0`}});t.pass.end();let{texture:C}=await D(t,h,{props:{...n,virtualMedia:h,renderId:`${n.renderId}-c1`,excludeTextures:[...n.excludeTextures||[],m]},exclude:[m]});t.pass.end();let{pipeline:E,uniformLayout:F,srcTextureLayout:O,mapTextureLayout:H,signalTextureLayout:$}=Z(e.device,e.renderer.format),L=e.renderer.samplerCache.getSampler(e.device),S,M,{elapsedSeconds:w,durationSeconds:G}=V(n,v,b);l.hasSignal&&l.sd?S=d.getOrCreate2DTextureView(e.device,r,l.sd.nodeId??"displace_sx_sig",w,G,l.sd,y,T,n.renderId,v,b):S=d.getDummy1x1TextureView(e.device),p.hasSignal&&p.sd?M=d.getOrCreate2DTextureView(e.device,r,p.sd.nodeId??"displace_sy_sig",w,G,p.sd,y,T,n.renderId,v,b):M=d.getDummy1x1TextureView(e.device),o[0]=l.value,o[1]=p.value,o[2]=A(a.xChannel),o[3]=A(a.yChannel),o[4]=ee(a.wrapMode),o[5]=l.hasSignal?1:0,o[6]=p.hasSignal?1:0,o[7]=0;let k=e.renderer.getTemporaryBuffer(o),I=e.renderer.getTemporaryTexture(y,T,[m,C,s,...n.excludeTextures||[]]);B(r,I.createView(),E,[e.device.createBindGroup({layout:F,entries:[{binding:0,resource:{buffer:k}}]}),e.renderer.bindGroupCache.getBindGroup(e.device,O,m,L),e.renderer.bindGroupCache.getBindGroup(e.device,H,C,L),e.device.createBindGroup({layout:$,entries:[{binding:0,resource:S},{binding:1,resource:M},{binding:2,resource:L}]})]),U(t,I,a.opacity??1)};var oe=R({WebGPURenderer:W});export{oe as a};
@@ -0,0 +1,3 @@
1
+ import{a as E}from"./chunk-E4RAFHZM.mjs";import{b as R,e as x,r as A}from"./chunk-BWJS6G7R.mjs";import{m as P}from"./chunk-4GEWSUX5.mjs";import{o as g}from"./chunk-YAQFFQPG.mjs";import{d as m,e as F}from"./chunk-BVF64D6H.mjs";F();F();var I=65536,S=1953658213,$=1954115633,N=1330926671,k=1953784678;function U(r,t){if(r.length<12)throw new Error(`Invalid font binary for "${t}": File size (${r.length} bytes) is too small to be a valid TrueType or OpenType font.`);let e=(r[0]??0)<<24|(r[1]??0)<<16|(r[2]??0)<<8|(r[3]??0);if(e===I||e===S||e===$||e===k)return"truetype";if(e===N)return"opentype";let i=(e>>>0).toString(16).padStart(8,"0");throw new Error(`Invalid font format for "${t}": Expected a valid TrueType (.ttf) or OpenType (.otf) font binary. Found header tag: 0x${i}.`)}async function M(r){if(r instanceof Uint8Array)return{buffer:r};if(typeof r!="string")throw new TypeError(`Font source must be a file path string or Uint8Array, received: ${typeof r}`);let t=r;if(t.startsWith("http://")||t.startsWith("https://")){let s=await fetch(t);if(!s.ok)throw new Error(`Failed to download font from "${t}": HTTP ${s.status} ${s.statusText}`);let c=await s.arrayBuffer();return{buffer:new Uint8Array(c),filePath:t}}if(t.startsWith("file://"))try{t=new URL(t).pathname}catch{t=t.replace(/^file:\/\//,"")}let e=[t,g.resolve(m.cwd(),t),g.resolve(m.cwd(),"assets/fonts",t),g.resolve(m.cwd(),"assets/fonts",g.basename(t))],i=m.cwd();for(let s=0;s<5;s++){e.push(g.resolve(i,t)),e.push(g.resolve(i,"assets/fonts",g.basename(t)));let c=g.dirname(i);if(c===i)break;i=c}let a=null,f=null;for(let s of e)try{if((await P.stat(s)).isFile()){a=s,f=await P.readFile(s);break}}catch{}if(!a||!f)throw new Error(`Font file not found: "${r}". Checked candidate locations:
2
+ - ${e.join(`
3
+ - `)}`);return{buffer:new Uint8Array(f.buffer,f.byteOffset,f.byteLength),filePath:a}}var v=class r{static instance=null;fonts=new Map;constructor(){}static getInstance(){return r.instance||(r.instance=new r),r.instance}static async register(t,e){return r.getInstance().register(t,e)}static async registerEmojiFont(t){let{buffer:e,filePath:i}=await M(t);U(e,i??(typeof t=="string"?t:"Uint8Array")),x.setEmojiFont(e,i)}static measure(t,e){let i=e.fontSize??48,a=x.getFont(e.fontFamily,e.fontWeight,null);if(!a)throw new Error(`FontManager.measure: font "${e.fontFamily}" is not registered. Call \`await FontManager.register(...)\` first.`);let f=e.lineHeight!==void 0&&e.lineHeight<10?e.lineHeight*i:e.lineHeight??i*1.2,s=e.letterSpacing??0,{width:c,height:p,layout:y}=A.measure(t,a,i,s,f,e.width,void 0,e.direction),T=i/a.unitsPerEm,o=[],w=new Set,d=0;for(let n of y.glyphs){let l=n.textIndex;if(l===void 0){let u=t.indexOf(n.char,d);l=u>=0?u:d}if(w.has(l))continue;w.add(l),d=l+n.char.length;let h=n.clusterAdvance??n.cp.advanceWidth*(n.fontScale??T);o.push({char:n.char,index:l,x:n.clusterX??n.x,y:n.y,width:h+s,line:n.lineIndex,...n.rtl&&{rtl:!0}})}let b=n=>{if(n<=0||o.length===0){let u=o[0];return u?u.rtl?u.x+u.width-s:u.x:0}let l=o.filter(u=>u.index<n),h=l[l.length-1];return h?h.rtl?h.x:h.x+h.width-s:0};return{width:c,height:p,lines:y.linesCount,lineHeight:f,glyphs:o,caretX:b,widthOf:n=>b(n)-(o[0]?.x??0)}}static get(t){return r.getInstance().get(t)}static has(t){return r.getInstance().has(t)}static getAll(){return r.getInstance().getAll()}static getRegisteredFontPaths(){return r.getInstance().getRegisteredFontPaths()}static clear(){r.getInstance().clear()}async register(t,e){let i,a,f,s;if(typeof t=="object"&&t!==null)i=t.family,a=t.source,f=t.weight,s=t.style;else if(typeof t=="string"&&e!==void 0)i=t,a=e;else if(typeof t=="string")i=void 0,a=t;else throw new TypeError("Invalid arguments passed to FontManager.register");let{buffer:c,filePath:p}=await M(a),y=p??(typeof a=="string"?a:"Uint8Array"),T=U(c,y),o;try{let n=R(c);n&&"fonts"in n&&Array.isArray(n.fonts)&&n.fonts.length>0?o=n.fonts[0]:o=n}catch(n){let l=n instanceof Error?n.message:String(n);throw new Error(`Failed to parse TrueType/OpenType font binary for "${y}": ${l}`)}let w=o.familyName||o.postscriptName||g.parse(y).name,d=i?.trim()||w,b={family:d,source:a,filePath:p,format:T,postscriptName:o.postscriptName,unitsPerEm:o.unitsPerEm,weight:f,style:s};return this.fonts.set(d,b),p&&await E(d,p),x.setParsed(d,o),b}get(t){return this.fonts.get(t)}has(t){return this.fonts.has(t)}getAll(){return Array.from(this.fonts.values())}getRegisteredFontPaths(){let t=[];for(let e of this.fonts.values())e.filePath?t.push(e.filePath):typeof e.source=="string"&&t.push(e.source);return t}clear(){this.fonts.clear()}};export{v as a};
@@ -1,4 +1,4 @@
1
- import{a as A}from"./chunk-D3TETPLI.mjs";import{c as o,d as m,t as h}from"./chunk-ZNGOAGAI.mjs";import{e as t}from"./chunk-BVF64D6H.mjs";t();t();var C=["frequency","gain","q"],T=()=>`
1
+ import{a as h}from"./chunk-ZH5MZQTZ.mjs";import{c as i,d as c,y as t,z as g}from"./chunk-63SFBHEH.mjs";import{e as r}from"./chunk-BVF64D6H.mjs";r();r();var x=["frequency","gain","q"],v=()=>`
2
2
  struct Uniforms {
3
3
  sampleRate : f32,
4
4
  numBands : f32,
@@ -188,4 +188,4 @@ fn main(@builtin(global_invocation_id) gid : vec3<u32>) {
188
188
  state[offset + 3u] = y2;
189
189
  }
190
190
  }
191
- `,E=a=>a==="peak"?0:a==="lowShelf"?1:a==="highShelf"?2:a==="lowPass"?3:a==="highPass"?4:a==="notch"?5:0,y=async(a,u,p,f)=>{if(!f?.device)throw new Error("GPUDevice is required for WebGPU Parametric EQ.");let e=p.operation||{},_=e.inputs||{},c=m(e.type,"peak"),n={type:["lowShelf","highShelf","peak","lowPass","highPass","notch"].includes(c)?c:"peak",frequency:o(e.frequency,1e3),frequencyHandleId:typeof e.frequencyHandleId=="string"?e.frequencyHandleId:null,gain:o(e.gain,0),gainHandleId:typeof e.gainHandleId=="string"?e.gainHandleId:null,q:o(e.q,1),qHandleId:typeof e.qHandleId=="string"?e.qHandleId:null},i=P=>{let l=e[P];if(typeof l!="string"||!l)return!1;let r=_[l];return!!(r?.connectionValid&&r.outputItem&&(r.outputItem.type==="Signal"||r.outputItem.type==="Number"))},b=i("frequencyHandleId")?1:0,q=i("gainHandleId")?1:0,w=i("qHandleId")?1:0,s=a.length;if(s===0)return;let d=a[0].length;if(d===0)return;let S=e.id||"audio-parametric-eq",g=f.frame??0,x=f.fps??24,v=4+s*4;await A.process(f.device,S,a,u,p,g,x,T,()=>[u,1,n.frequency,n.gain,n.q,E(n.type),b,q,w,0,g,d,s,0,0,0],16,v,f?.renderId,!0,f?.elapsedMs,f?.durationMs,void 0,void 0,C)};var B=h({audioProcessor:y});export{B as a};
191
+ `,P=a=>a==="peak"?0:a==="lowShelf"?1:a==="highShelf"?2:a==="lowPass"?3:a==="highPass"?4:a==="notch"?5:0,m=async(a,o,l,f)=>{if(!f?.device)throw new Error("GPUDevice is required for WebGPU Parametric EQ.");let e=l.operation||{},u=c(e.type,"peak"),n={type:["lowShelf","highShelf","peak","lowPass","highPass","notch"].includes(u)?u:"peak",frequency:i(e.frequency,1e3),frequencyHandleId:typeof e.frequencyHandleId=="string"?e.frequencyHandleId:null,gain:i(e.gain,0),gainHandleId:typeof e.gainHandleId=="string"?e.gainHandleId:null,q:i(e.q,1),qHandleId:typeof e.qHandleId=="string"?e.qHandleId:null},A=t(e,"frequencyHandleId")?1:0,y=t(e,"gainHandleId")?1:0,_=t(e,"qHandleId")?1:0,s=a.length;if(s===0)return;let p=a[0].length;if(p===0)return;let b=e.id||"audio-parametric-eq",d=f.frame??0,q=f.fps??24,w=4+s*4;await h.process(f.device,b,a,o,l,d,q,v,()=>[o,1,n.frequency,n.gain,n.q,P(n.type),A,y,_,0,d,p,s,0,0,0],16,w,f?.renderId,!0,f?.elapsedMs,f?.durationMs,void 0,void 0,x)};var G=g({audioProcessor:m});export{G as a};
@@ -0,0 +1 @@
1
+ import{a as u}from"./chunk-LKYN3BM2.mjs";import{e as f}from"./chunk-BVF64D6H.mjs";f();f();function b(n,e){let t=n.createTexture({size:[e.width,e.height],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});return e.bitmap?n.queue.copyExternalImageToTexture({source:e.bitmap},{texture:t,premultipliedAlpha:!0},[e.width,e.height]):e.buffer&&n.queue.writeTexture({texture:t},e.buffer,{bytesPerRow:e.width*4},[e.width,e.height]),t}var w=class{cache=new Map;async load(e,t,l,s){let i=Math.max(1,Math.ceil(t)),a=Math.max(1,Math.ceil(l)),c=`${e}-${i}-${a}-${s}`,h=this.cache.get(c);return h||(h=(async()=>{let m;if(e.startsWith("http://")||e.startsWith("https://")||e.startsWith("data:")||!s){let r=await fetch(e);if(!r.ok)throw new Error(`Failed to fetch SVG: ${e}`);m=await r.text()}else{let r=e;if(r.startsWith("file://"))try{r=new URL(r).pathname}catch{r=r.replace(/^file:\/\//,"")}try{m=await(await import("./shims/fs-promises.mjs")).readFile(r,"utf-8")}catch{let o=await fetch(e);if(!o.ok)throw new Error(`Failed to fetch SVG: ${e}`);m=await o.text()}}if(s){let{renderAsync:r}=await import("./resvg-js-VMU4A77S.mjs"),o=await r(m,{fitTo:{mode:"width",value:i}});return{width:o.width,height:o.height,buffer:new Uint8Array(o.pixels)}}let p=new Blob([m],{type:"image/svg+xml"}),g=URL.createObjectURL(p),d=new Image;await new Promise((r,o)=>{d.onload=()=>r(),d.onerror=()=>o(new Error(`Failed to load SVG image: ${e}`)),d.src=g});let x=new OffscreenCanvas(i,a);x.getContext("2d").drawImage(d,0,0,i,a),URL.revokeObjectURL(g);let y=await createImageBitmap(x);return{width:i,height:a,bitmap:y}})(),this.cache.set(c,h),h.catch(()=>this.cache.delete(c))),h}},T=new w;async function E(n,e,t){let l=Math.max(1,Math.ceil(t.dstRect.width)),s=Math.max(1,Math.ceil(t.dstRect.height)),i=`${t.src}-${l}-${s}`,a=u.acquire(i);if(!a)try{let c=await T.load(t.src,l,s,t.isHeadless??!1);a=u.acquire(i),a||(a=b(n.device,c),u.set(i,a,n.device))}catch(c){console.error("Failed to load SVG texture:",c);return}n.renderer.drawTexture(e,a,t.dstRect,{opacity:t.opacity??1,transform:t.matrix}),u.release(i)}export{b as a,E as b};
@@ -1,4 +1,4 @@
1
- import{a as g}from"./chunk-D3TETPLI.mjs";import{c as m,h as u,t as l}from"./chunk-ZNGOAGAI.mjs";import{e as t}from"./chunk-BVF64D6H.mjs";t();t();var x=["pan"],w=()=>`
1
+ import{a as g}from"./chunk-ZH5MZQTZ.mjs";import{c as m,h as u,z as l}from"./chunk-63SFBHEH.mjs";import{e as t}from"./chunk-BVF64D6H.mjs";t();t();var x=["pan"],w=()=>`
2
2
  struct Uniforms {
3
3
  sampleRate : f32,
4
4
  pan : f32,
@@ -1 +1 @@
1
- import{a as r,e}from"./chunk-BVF64D6H.mjs";var s=r((i,n)=>{e();var t=()=>new Proxy(function(){},{get:(u,o)=>o==="__esModule"?!0:o===Symbol.toPrimitive?()=>"":t(),apply:()=>t(),construct:()=>t()});n.exports=t()});export default s();
1
+ import{a as r,e}from"./chunk-BVF64D6H.mjs";var s=r((i,n)=>{e();var t=()=>new Proxy(function(){},{get:(u,o)=>o==="__esModule"?!0:o===Symbol.toPrimitive?()=>"":t(),apply:()=>t(),construct:()=>t()});n.exports=t()});export{s as a};
@@ -0,0 +1,40 @@
1
+ import{a as C,d as G,g as O,h as V,m as A}from"./chunk-ENKKLU7B.mjs";import{z as I}from"./chunk-63SFBHEH.mjs";import{e as M}from"./chunk-BVF64D6H.mjs";M();M();var se=e=>e*e,ae=e=>e*(2-e),ue=e=>e<.5?2*e*e:-1+(4-2*e)*e,ce=e=>{let t=2*Math.PI/3;return e===0?0:e===1?1:2**(-10*e)*Math.sin((e*10-.75)*t)+1},le=(e,t)=>{switch(t){case"ease-in":return se(e);case"ease-out":return ae(e);case"ease-in-out":return ue(e);case"spring":return ce(e);default:return e}},T=(e,t,o,s,i)=>{let n=i*i,r=n*i;return .5*(2*t+(-e+o)*i+(2*e-5*t+4*o-s)*n+(-e+3*t-3*o+s)*r)};function E(e,t,o="spline"){if(e.length===0)return{x:50,y:50,scale:1};if(e.length===1){let n=e[0];return{x:n.x??50,y:n.y??50,scale:n.scale??1}}let s=0;for(let n=0;n<e.length;n++){let r=e[n],h=r.holdMs??0,m=r.durationMs??0;if(t<=s+h)return{x:r.x??50,y:r.y??50,scale:r.scale??1};if(s+=h,n<e.length-1&&m>0){if(t<=s+m){let f=(t-s)/m,a=le(Math.max(0,Math.min(1,f)),r.easing),u=e[n+1];if(o==="spline"){let b=e[n-1]??r,x=e[n+2]??u;return{x:T(b.x??50,r.x??50,u.x??50,x.x??50,a),y:T(b.y??50,r.y??50,u.y??50,x.y??50,a),scale:T(b.scale??1,r.scale??1,u.scale??1,x.scale??1,a)}}return{x:(r.x??50)+((u.x??50)-(r.x??50))*a,y:(r.y??50)+((u.y??50)-(r.y??50))*a,scale:(r.scale??1)+((u.scale??1)-(r.scale??1))*a}}s+=m}}let i=e[e.length-1];return{x:i.x??50,y:i.y??50,scale:i.scale??1}}function X(e,t,o,s){let i=100,n=100;if(s!=="input"){let p=s.split(":"),g=Number(p[0]),c=Number(p[1]);if(!Number.isNaN(g)&&!Number.isNaN(c)&&g>0&&c>0){let l=g/c,y=t/o;y>l?(n=100,i=l/y*100):(i=100,n=y/l*100)}}let r=i/100*t,h=n/100*o,m=Math.max(e.scale,1),f=r/m,a=h/m,u=e.x/100*t,b=e.y/100*o,x=f/2,B=a/2,P=Math.max(x,Math.min(t-x,u)),R=Math.max(B,Math.min(o-B,b));return{x:P-x,y:R-B,width:f,height:a}}var me=`
2
+ struct MotionBlurUniforms {
3
+ prev_origin : vec2<f32>,
4
+ prev_size : vec2<f32>,
5
+ curr_origin : vec2<f32>,
6
+ curr_size : vec2<f32>,
7
+ samples : f32,
8
+ blurSize : f32,
9
+ padding : vec2<f32>,
10
+ };
11
+
12
+ @group(0) @binding(0) var<uniform> u : MotionBlurUniforms;
13
+ @group(1) @binding(0) var tex : texture_2d<f32>;
14
+ @group(1) @binding(1) var samp : sampler;
15
+ ${C}
16
+
17
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
18
+ let uv = in.uv;
19
+ let n = i32(u.samples);
20
+
21
+ if (n <= 1) {
22
+ let p_curr = u.curr_origin + uv * u.curr_size;
23
+ return textureSampleLevel(tex, samp, p_curr, 0.0);
24
+ }
25
+
26
+ var color = vec4<f32>(0.0);
27
+ for (var i = 0; i < n; i = i + 1) {
28
+ // Use blurSize to control the shutter interval width.
29
+ // t=1.0 is current frame, t=0.0 is previous frame.
30
+ let t = 1.0 + (f32(i) / f32(n - 1) - 0.5) * u.blurSize;
31
+
32
+ let origin = mix(u.prev_origin, u.curr_origin, t);
33
+ let size = mix(u.prev_size, u.curr_size, t);
34
+ let p_sample = origin + uv * size;
35
+
36
+ color += textureSampleLevel(tex, samp, p_sample, 0.0);
37
+ }
38
+ return color / f32(n);
39
+ }
40
+ `,Y=new WeakMap,d=new Float32Array(12);function de(e,t){let o=Y.get(e);if(!o){let s=G(e,["uniform"]),i=G(e,["texture","sampler"]),n=e.createShaderModule({label:"kenburns_motionblur.wgsl",code:me});o={motionBlurPipeline:O(e,{label:"MotionBlurPipeline",module:n,layouts:[s,i],format:t}),motionBlurUniformLayout:s,singleTextureLayout:i},Y.set(e,o)}return o}var j=async e=>{let{ctx:t,encoder:o,pass:s,targetView:i,targetTexture:n,targetWidth:r,targetHeight:h,props:m}=e,{virtualMedia:f,containerWidth:a,containerHeight:u,frame:b,fps:x,trimStartOverride:B,opacity:P=1,inheritedSeekOffset:R=0}=m,p=f.operation;if(p?.op!=="KenBurns")return;let g=f.children?.[0];if(!g)return;let c=p.originalWidth??g.metadata?.width??f.metadata?.width??a??r,l=p.originalHeight??g.metadata?.height??f.metadata?.height??u??h,y=p.keyframes??[],L=p.movementStyle??"spline",W=p.aspectRatio||"input",Q=((B??0)+R)*1e3,z=Math.max(1,x??30),$=1e3/z,N=Q+(b??0)/z*1e3,q=N-$,J=E(y,N,L),Z=E(y,q,L),v=X(J,c,l,W),w=X(Z,c,l,W),K=a??r,F=u??h,H={x:0,y:0,width:K,height:F};s.end();let{texture:U}=await V(e,g,{width:c,height:l,props:{...m,containerWidth:c,containerHeight:l}}),D=p.motionBlurSize??1.5,S=null;if(D>0){let{motionBlurPipeline:k,motionBlurUniformLayout:ee,singleTextureLayout:te}=de(t.device,t.renderer.format),re=t.renderer.samplerCache.getSampler(t.device);d[0]=w.x/c,d[1]=w.y/l,d[2]=w.width/c,d[3]=w.height/l,d[4]=v.x/c,d[5]=v.y/l,d[6]=v.width/c,d[7]=v.height/l,d[8]=12,d[9]=D;let ne=t.renderer.getTemporaryBuffer(d);S=t.renderer.getTemporaryTexture(K,F,[n,U,...m.excludeTextures||[]]);let oe=S.createView();A(o,oe,k,[t.device.createBindGroup({layout:ee,entries:[{binding:0,resource:{buffer:ne}}]}),t.renderer.bindGroupCache.getBindGroup(t.device,te,U,re)])}let _=t.renderer.beginFrame(o,i,{r:0,g:0,b:0,a:0},r,h,"load");S?t.renderer.drawTexture(_,S,H,{opacity:P}):t.renderer.drawTextureRegion(_,U,v,H,{opacity:P}),e.pass=_};var be=I({WebGPURenderer:j});export{be as a};
@@ -0,0 +1,97 @@
1
+ import{a as W,d as G,e as $,f as E,g as k,h as A,j,k as K,l as Q,m as q}from"./chunk-ENKKLU7B.mjs";import{v as H,z as B}from"./chunk-63SFBHEH.mjs";import{e as f}from"./chunk-BVF64D6H.mjs";f();f();var xe=`
2
+ struct VignetteUniforms {
3
+ strength : f32,
4
+ radius : f32,
5
+ softness : f32,
6
+ roundness : f32,
7
+
8
+ centerX : f32,
9
+ centerY : f32,
10
+ hasStrengthSig : f32,
11
+ hasRadiusSig : f32,
12
+
13
+ hasSoftnessSig : f32,
14
+ hasRoundnessSig: f32,
15
+ hasCenterXSig : f32,
16
+ hasCenterYSig : f32,
17
+ };
18
+
19
+ @group(0) @binding(0) var<uniform> u : VignetteUniforms;
20
+ @group(1) @binding(0) var tex : texture_2d<f32>;
21
+ @group(1) @binding(1) var samp : sampler;
22
+
23
+ @group(2) @binding(0) var strengthSigTex : texture_2d<f32>;
24
+ @group(2) @binding(1) var radiusSigTex : texture_2d<f32>;
25
+ @group(2) @binding(2) var softnessSigTex : texture_2d<f32>;
26
+ @group(2) @binding(3) var roundnessSigTex : texture_2d<f32>;
27
+ @group(2) @binding(4) var centerXSigTex : texture_2d<f32>;
28
+ @group(2) @binding(5) var centerYSigTex : texture_2d<f32>;
29
+ @group(2) @binding(6) var signalSamp : sampler;
30
+ ${W}
31
+
32
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
33
+ let color = textureSampleLevel(tex, samp, in.uv, 0.0);
34
+
35
+ if (color.a < 1e-5) {
36
+ return color;
37
+ }
38
+
39
+ // Resolve parameter overrides or dynamic signals
40
+ var strength = u.strength;
41
+ if (u.hasStrengthSig > 0.5) {
42
+ strength = textureSampleLevel(strengthSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
43
+ }
44
+
45
+ var radius = u.radius;
46
+ if (u.hasRadiusSig > 0.5) {
47
+ radius = textureSampleLevel(radiusSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
48
+ }
49
+
50
+ var softness = u.softness;
51
+ if (u.hasSoftnessSig > 0.5) {
52
+ softness = textureSampleLevel(softnessSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
53
+ }
54
+
55
+ var roundness = u.roundness;
56
+ if (u.hasRoundnessSig > 0.5) {
57
+ roundness = textureSampleLevel(roundnessSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
58
+ }
59
+
60
+ var centerX = u.centerX;
61
+ if (u.hasCenterXSig > 0.5) {
62
+ centerX = textureSampleLevel(centerXSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
63
+ }
64
+
65
+ var centerY = u.centerY;
66
+ if (u.hasCenterYSig > 0.5) {
67
+ centerY = textureSampleLevel(centerYSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
68
+ }
69
+
70
+ let center = vec2<f32>(centerX, centerY);
71
+ let dimensions = vec2<f32>(textureDimensions(tex));
72
+ let aspect = dimensions.x / dimensions.y;
73
+ let uvOffset = in.uv - center;
74
+
75
+ // Calculate aspect ratio corrected coordinate for circle
76
+ let correctedOffset = vec2<f32>(
77
+ uvOffset.x * mix(1.0, aspect, roundness),
78
+ uvOffset.y
79
+ );
80
+ let dist = length(correctedOffset);
81
+
82
+ // Calculate vignette edge falloff
83
+ let edge0 = radius;
84
+ let edge1 = max(0.0, radius - softness);
85
+ let vignetteFactor = smoothstep(edge0, edge1, dist);
86
+
87
+ // Blend based on strength
88
+ let intensity = strength / 100.0;
89
+ let finalVignette = mix(1.0, vignetteFactor, intensity);
90
+
91
+ // Unpremultiply, apply vignette, and repremultiply
92
+ let unpremult_rgb = color.rgb / color.a;
93
+ let final_rgb = unpremult_rgb * finalVignette;
94
+
95
+ return vec4<f32>(clamp(final_rgb, vec3<f32>(0.0), vec3<f32>(1.0)) * color.a, color.a);
96
+ }
97
+ `,n=new Float32Array(12),he=E(t=>({uniformLayout:G(t,["uniform"]),singleTextureLayout:G(t,["texture","sampler"]),signalTextureLayout:$(t,6),pipelineCache:new Map}));function be(t,e){let r=he(t),c=`vignette_${e}`,o=r.pipelineCache.get(c);if(!o){let m=t.createShaderModule({label:`vignette_${e}.wgsl`,code:xe});o=k(t,{label:`VignettePipeline_${e}`,module:m,layouts:[r.uniformLayout,r.singleTextureLayout,r.signalTextureLayout],format:e}),r.pipelineCache.set(c,o)}return{vignettePipeline:o,uniformLayout:r.uniformLayout,singleTextureLayout:r.singleTextureLayout,signalTextureLayout:r.signalTextureLayout}}var z=async t=>{let{ctx:e,encoder:r,pass:c,targetTexture:o,targetWidth:m,targetHeight:J,props:a}=t,S=a.frame??0,Z=a.compositionFrame??S,v=a.fps||30,i=a.virtualMedia?.operation;if(i?.op!=="Vignette"||!i)return;let P=a.virtualMedia.children?.[0];if(!P)return;c.end();let U=m,X=J,ee=i.inputs?Object.keys(i.inputs)[0]:"vignette_node",u=(d,l,V,w)=>{let me=`${d}HandleId`,M=i[me],s=M?i.inputs?.[M]:null,N=!!(s?.connectionValid&&(s.outputItem?.type==="Signal"||s.outputItem?.type==="Numeric")),_=N&&s?.outputItem?.data?s.outputItem.data:null,p=l,R=!1,F;if(N)_&&(p=Math.max(V,Math.min(w,Number(_.offset??0))),R=!0);else if(s?.connectionValid&&s.outputItem?.type==="Number")p=Math.max(V,Math.min(w,Number(s.outputItem.data??l)));else{let I=H(i[d],Z,v);I.gpuTextureView&&(F=I.gpuTextureView,R=!0);let Se=I.value,O=Number(Se??l);p=Math.max(V,Math.min(w,isNaN(O)?l:O))}return{val:p,hasStaticSig:R,sd:_,gpuTextureView:F}},x=u("strength",50,0,100),h=u("radius",1,.1,2),b=u("softness",.5,0,1),y=u("roundness",.5,0,1),T=u("centerX",.5,0,1),L=u("centerY",.5,0,1),{texture:Y}=await A(t,P);t.pass.end();let{vignettePipeline:te,uniformLayout:ne,singleTextureLayout:re,signalTextureLayout:ie}=be(e.device,e.renderer.format),C=e.renderer.samplerCache.getSampler(e.device),{elapsedSeconds:se,durationSeconds:ae}=K(a,S,v),oe={args:t,width:U,height:X,frame:S,fps:v,elapsedSeconds:se,durationSeconds:ae},g=(d,l)=>Q(oe,d,`${ee}_${l}`),ue=g(x,"strength_sig"),ge=g(h,"radius_sig"),le=g(b,"softness_sig"),ce=g(y,"roundness_sig"),de=g(T,"centerX_sig"),pe=g(L,"centerY_sig");n[0]=x.val,n[1]=h.val,n[2]=b.val,n[3]=y.val,n[4]=T.val,n[5]=L.val,n[6]=x.hasStaticSig?1:0,n[7]=h.hasStaticSig?1:0,n[8]=b.hasStaticSig?1:0,n[9]=y.hasStaticSig?1:0,n[10]=T.hasStaticSig?1:0,n[11]=L.hasStaticSig?1:0;let fe=e.renderer.getTemporaryBuffer(n),D=e.renderer.getTemporaryTexture(U,X,[Y,o,...a.excludeTextures||[]]);q(r,D.createView(),te,[e.device.createBindGroup({layout:ne,entries:[{binding:0,resource:{buffer:fe}}]}),e.renderer.bindGroupCache.getBindGroup(e.device,re,Y,C),e.device.createBindGroup({layout:ie,entries:[{binding:0,resource:ue},{binding:1,resource:ge},{binding:2,resource:le},{binding:3,resource:ce},{binding:4,resource:de},{binding:5,resource:pe},{binding:6,resource:C}]})]),j(t,D,i.opacity??1)};var Re=B({WebGPURenderer:z});export{Re as a};
@@ -0,0 +1,83 @@
1
+ import{a as U,c as T,d as L,g as v,h as A,i as C}from"./chunk-ENKKLU7B.mjs";import{z as x}from"./chunk-63SFBHEH.mjs";import{e as p}from"./chunk-BVF64D6H.mjs";p();p();var G=1024,_=`
2
+ struct LiquifyOpData {
3
+ opType : f32, // 0=Push, 1=Pull, 2=Bloat, 3=Pucker, 4=TwirlCW, 5=TwirlCCW
4
+ x : f32,
5
+ y : f32,
6
+ radius : f32,
7
+ strength : f32,
8
+ dx : f32,
9
+ dy : f32,
10
+ _pad : f32,
11
+ };
12
+
13
+ struct LiquifyUniforms {
14
+ opCount : f32,
15
+ aspectRatio : f32,
16
+ opacity : f32,
17
+ _pad0 : f32,
18
+ ops : array<LiquifyOpData, 1024>,
19
+ };
20
+
21
+ @group(0) @binding(0) var<uniform> u : LiquifyUniforms;
22
+ @group(1) @binding(0) var tex : texture_2d<f32>;
23
+ @group(1) @binding(1) var samp : sampler;
24
+ ${U}
25
+
26
+ const PI = 3.141592653589793;
27
+
28
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
29
+ var currentUV = in.uv;
30
+ let count = u32(u.opCount);
31
+ let aspect = u.aspectRatio;
32
+
33
+ for (var i = 0u; i < count && i < 1024u; i = i + 1u) {
34
+ let op = u.ops[i];
35
+ let center = vec2<f32>(op.x, op.y);
36
+ let delta = currentUV - center;
37
+ let deltaAspect = vec2<f32>(delta.x * aspect, delta.y);
38
+ let dist = length(deltaAspect);
39
+
40
+ if (dist < op.radius && op.radius > 0.0001) {
41
+ let t = dist / op.radius;
42
+ let falloff = (1.0 - t * t) * (1.0 - t * t);
43
+ let s = op.strength;
44
+
45
+ if (op.opType < 0.5) {
46
+ // 0 = Push
47
+ let shift = vec2<f32>(op.dx, op.dy) * s * falloff;
48
+ currentUV = currentUV - shift;
49
+ } else if (op.opType < 1.5) {
50
+ // 1 = Pull
51
+ let shift = vec2<f32>(op.dx, op.dy) * s * falloff;
52
+ currentUV = currentUV + shift;
53
+ } else if (op.opType < 2.5) {
54
+ // 2 = Bloat
55
+ let factor = 1.0 - s * falloff * 0.45;
56
+ currentUV = center + delta * factor;
57
+ } else if (op.opType < 3.5) {
58
+ // 3 = Pucker
59
+ let factor = 1.0 + s * falloff * 0.45;
60
+ currentUV = center + delta * factor;
61
+ } else if (op.opType < 4.5) {
62
+ // 4 = TwirlCW
63
+ let angle = -s * PI * falloff;
64
+ let cosA = cos(angle);
65
+ let sinA = sin(angle);
66
+ let rotated = vec2<f32>(delta.x * cosA - delta.y * sinA, delta.x * sinA + delta.y * cosA);
67
+ currentUV = center + rotated;
68
+ } else {
69
+ // 5 = TwirlCCW
70
+ let angle = s * PI * falloff;
71
+ let cosA = cos(angle);
72
+ let sinA = sin(angle);
73
+ let rotated = vec2<f32>(delta.x * cosA - delta.y * sinA, delta.x * sinA + delta.y * cosA);
74
+ currentUV = center + rotated;
75
+ }
76
+ }
77
+ }
78
+
79
+ let clampedUV = clamp(currentUV, vec2<f32>(0.0), vec2<f32>(1.0));
80
+ let sampledColor = textureSampleLevel(tex, samp, clampedUV, 0.0);
81
+ return sampledColor;
82
+ }
83
+ `,q=new WeakMap;function O(i,t){let r=q.get(i);if(!r){let a=L(i,["uniform"],"LiquifyUniformLayout"),l=L(i,["texture","sampler"],"LiquifyTextureLayout");r={uniformLayout:a,singleTextureLayout:l,pipelineCache:new Map},q.set(i,r)}let s=t,u=r.pipelineCache.get(s);if(!u){let a=i.createShaderModule({label:"liquify.wgsl",code:_});u=v(i,{label:`LiquifyPipeline_${t}`,module:a,layouts:[r.uniformLayout,r.singleTextureLayout],format:t,blend:T}),r.pipelineCache.set(s,u)}return{liquifyPipeline:u,uniformLayout:r.uniformLayout,singleTextureLayout:r.singleTextureLayout}}var S={Push:0,Pull:1,Bloat:2,Pucker:3,TwirlCW:4,TwirlCCW:5},R=async i=>{let{ctx:t,pass:r,targetWidth:s,targetHeight:u,props:a}=i,l=a.virtualMedia?.operation;if(l?.op!=="Liquify"||!l)return;let d=a.virtualMedia.children?.[0];if(!d)return;r.end();let g=s,y=u,b=y>0?g/y:1,{texture:B}=await A(i,d,{props:{...a,virtualMedia:d,containerWidth:g,containerHeight:y}}),P=l.operations||[],h=Math.min(P.length,G),e=new Float32Array(4+G*8);e[0]=h,e[1]=b,e[2]=1,e[3]=0;for(let c=0;c<h;c++){let o=P[c];if(!o)continue;let n=4+c*8;e[n+0]=S[o.type]??2,e[n+1]=o.x,e[n+2]=o.y,e[n+3]=o.radius??.15,e[n+4]=o.strength??.5,e[n+5]=o.dx??0,e[n+6]=o.dy??0,e[n+7]=0}let W=t.renderer.getTemporaryBuffer(e),m=O(t.device,t.renderer.format),w=t.device.createBindGroup({layout:m.uniformLayout,entries:[{binding:0,resource:{buffer:W}}]}),V=t.renderer.samplerCache.getSampler(t.device),D=t.renderer.bindGroupCache.getBindGroup(t.device,m.singleTextureLayout,B,V),f=C(i);f.setPipeline(m.liquifyPipeline),f.setBindGroup(0,w),f.setBindGroup(1,D),f.draw(4,1,0,0)};var H=x({WebGPURenderer:R});export{R as a,H as b};
@@ -0,0 +1,43 @@
1
+ import{a as z,h as D}from"./chunk-ENKKLU7B.mjs";import{z as q}from"./chunk-63SFBHEH.mjs";import{e as W}from"./chunk-BVF64D6H.mjs";W();W();var A=`
2
+ struct MaskUniforms {
3
+ rect : vec4<f32>,
4
+ roundness : f32,
5
+ mode : f32,
6
+ numPoints : f32,
7
+ padding : f32,
8
+ points : array<vec2<f32>, 64>,
9
+ };
10
+
11
+ @group(0) @binding(0) var<uniform> u : MaskUniforms;
12
+ ${z}
13
+
14
+ fn sdRoundedRect(p: vec2<f32>, b: vec2<f32>, r: f32) -> f32 {
15
+ let q = abs(p) - b + r;
16
+ return min(max(q.x, q.y), 0.0) + length(max(q, vec2<f32>(0.0))) - r;
17
+ }
18
+
19
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
20
+ let p = in.pos.xy;
21
+
22
+ if (u.mode > 0.5) { // Path
23
+ var inside = false;
24
+ let count = u32(u.numPoints);
25
+ for (var i = 0u; i < count; i = i + 1u) {
26
+ let j = (i + 1u) % count;
27
+ let pi = u.points[i];
28
+ let pj = u.points[j];
29
+ if (((pi.y > p.y) != (pj.y > p.y)) &&
30
+ (p.x < (pj.x - pi.x) * (p.y - pi.y) / (pj.y - pi.y) + pi.x)) {
31
+ inside = !inside;
32
+ }
33
+ }
34
+ return select(vec4<f32>(0.0), vec4<f32>(1.0), inside);
35
+ } else { // RRect
36
+ let center = u.rect.xy + u.rect.zw * 0.5;
37
+ let size = u.rect.zw * 0.5;
38
+ let d = sdRoundedRect(p - center, size, u.roundness);
39
+ let alpha = 1.0 - smoothstep(0.0, 1.5, d);
40
+ return vec4<f32>(1.0, 1.0, 1.0, alpha);
41
+ }
42
+ }
43
+ `,E=new WeakMap;function te(s,e){let i=E.get(s);return i||(i=s.createRenderPipeline({label:"CropMaskPipeline",layout:"auto",vertex:{module:s.createShaderModule({code:A}),entryPoint:"vs"},fragment:{module:s.createShaderModule({code:A}),entryPoint:"fs",targets:[{format:e}]},primitive:{topology:"triangle-strip"}}),E.set(s,i)),i}var _=async s=>{let{ctx:e,props:i,targetTexture:P,targetView:U,targetWidth:k,targetHeight:v,encoder:l}=s,{virtualMedia:C,containerWidth:O,containerHeight:Q,opacity:H=1}=i,a=C?.operation;if(!a||a.op!=="Crop")return;let b=C.children?.[0];if(!b)return;let r=O??e.surface.width,n=Q??e.surface.height,d=a.mode==="rest",T=a.cropType==="path",p=a.pathPoints||[],F=Number(a.roundness)||0,m=Number(a.leftPercentage)||0,f=Number(a.topPercentage)||0,w=Math.max(.01,Number(a.widthPercentage)||100),R=Math.max(.01,Number(a.heightPercentage)||100);if(T&&p.length>0){let t=p.map(o=>o.x),u=p.map(o=>o.y);m=Math.min(...t),f=Math.min(...u),w=Math.max(.01,Math.max(...t)-m),R=Math.max(.01,Math.max(...u)-f)}let x=a.originalWidth??b.metadata?.width??i.containerWidth??k,g=a.originalHeight??b.metadata?.height??i.containerHeight??v,N={x:m/100*x,y:f/100*g,width:w/100*x,height:R/100*g},V={x:0,y:0,width:r,height:n};s.pass.end();let{texture:h}=await D(s,b,{width:x,height:g,props:{...i,containerWidth:x,containerHeight:g}});if(!(F>0||T||d)&&!d){let t=e.renderer.beginFrame(l,U,{r:0,g:0,b:0,a:0},k,v,"load");e.renderer.drawTextureRegion(t,h,N,V,{opacity:H}),s.pass=t;return}let y=h;if(d){if(x!==r||g!==n){let t=e.renderer.getTemporaryTexture(r,n,[h,P,...i.excludeTextures||[]]),u=t.createView(),o=e.renderer.beginFrame(l,u,{r:0,g:0,b:0,a:0},r,n,"clear");e.renderer.drawTexture(o,h,{x:0,y:0,width:r,height:n}),o.end(),y=t}}else{let t=e.renderer.getTemporaryTexture(r,n,[h,P,...i.excludeTextures||[]]),u=t.createView(),o=e.renderer.beginFrame(l,u,{r:0,g:0,b:0,a:0},r,n,"clear");e.renderer.drawTextureRegion(o,h,N,V),o.end(),y=t}let G=e.renderer.getTemporaryTexture(r,n,[y,P,...i.excludeTextures||[]]),X=G.createView(),M=e.renderer.beginFrame(l,X,{r:0,g:0,b:0,a:0},r,n,"clear"),j=te(e.device,e.renderer.format),c=new Float32Array(136),Y=d?m/100*r:0,$=d?f/100*n:0,S=d?w/100*r:r,B=d?R/100*n:n,I=F/100*(Math.min(S,B)/2);if(c[0]=Y,c[1]=$,c[2]=S,c[3]=B,c[4]=I,c[5]=T?1:0,c[6]=p.length,T)for(let t=0;t<Math.min(p.length,64);t++){let u=p[t].x/100*r,o=p[t].y/100*n;d||(u=(p[t].x-m)/w*r,o=(p[t].y-f)/R*n),c[8+t*2]=u,c[8+t*2+1]=o}let J=e.renderer.getTemporaryBuffer(c),K=e.device.createBindGroup({layout:j.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:J}}]});M.setPipeline(j),M.setBindGroup(0,K),M.draw(4),M.end();let Z=e.renderer.composite(l,y,G,d?"mask-out":"mask-in",[y,G,P,...i.excludeTextures||[]]),L=e.renderer.beginFrame(l,U,{r:0,g:0,b:0,a:0},k,v,"load");e.renderer.drawTexture(L,Z,{x:0,y:0,width:r,height:n},{opacity:H}),s.pass=L};var ce=q({WebGPURenderer:_});export{ce as a};
@@ -1,4 +1,4 @@
1
- import{t as B}from"./chunk-ZNGOAGAI.mjs";import{d as G}from"./chunk-6YJP57MZ.mjs";import{e as T}from"./chunk-BVF64D6H.mjs";T();T();function J(t,e,r,a){if(t==null)return e;if(typeof t=="object"&&t!==null){if("get"in t&&typeof t.get=="function")try{let o=t.get({frame:r,fps:a,time:a>0?r/a:0,duration:0,durationMs:0,progress:0,deltaTime:a>0?1/a:0}),l=Number(o);if(Number.isFinite(l))return l}catch{}if("value"in t){let o=Number(t.value);if(Number.isFinite(o))return o}}else if(typeof t=="function")try{let o=t(r,a),l=Number(o);if(Number.isFinite(l))return l}catch{}let i=Number(t);return Number.isFinite(i)?i:e}function y(t,e,r,a,i,o=0,l=30){let x=`${e}HandleId`,n=t[x],c=n?t.inputs?.[n]:null,m=!!(c?.connectionValid&&c.outputItem?.type==="Signal"),s=m?c?.outputItem?.data:null,u=r;if(m)s&&typeof s=="object"&&"offset"in s&&(u=Number(s.offset??r));else if(c?.connectionValid&&c.outputItem?.type==="Number")u=Number(c.outputItem.data??r);else{let p=t[e]??t.signals?.[e];u=J(p,r,o,l)}return u=Math.max(a,Math.min(i,u)),{hasSignal:m,sd:s,value:u}}var Q=`
1
+ import{a as P,d as y,e as F,f as N,g as k,h as C,j as H,k as D,m as O}from"./chunk-ENKKLU7B.mjs";import{d as x}from"./chunk-6YJP57MZ.mjs";import{z as G}from"./chunk-63SFBHEH.mjs";import{e as h}from"./chunk-BVF64D6H.mjs";h();h();function Y(e,t,r,u){if(e==null)return t;if(typeof e=="object"&&e!==null){if("get"in e&&typeof e.get=="function")try{let o=e.get({frame:r,fps:u,time:u>0?r/u:0,duration:0,durationMs:0,progress:0,deltaTime:u>0?1/u:0}),p=Number(o);if(Number.isFinite(p))return p}catch{}if("value"in e){let o=Number(e.value);if(Number.isFinite(o))return o}}else if(typeof e=="function")try{let o=e(r,u),p=Number(o);if(Number.isFinite(p))return p}catch{}let s=Number(e);return Number.isFinite(s)?s:t}function b(e,t,r,u,s,o=0,p=30){let i=`${t}HandleId`,d=e[i],a=d?e.inputs?.[d]:null,l=!!(a?.connectionValid&&a.outputItem?.type==="Signal"),n=l?a?.outputItem?.data:null,c=r;if(l)n&&typeof n=="object"&&"offset"in n&&(c=Number(n.offset??r));else if(a?.connectionValid&&a.outputItem?.type==="Number")c=Number(a.outputItem.data??r);else{let v=e[t]??e.signals?.[t];c=Y(v,r,o,p)}return c=Math.max(u,Math.min(s,c)),{hasSignal:l,sd:n,value:c}}var Z=`
2
2
  struct ModulateUniforms {
3
3
  hue : f32,
4
4
  brightness : f32,
@@ -26,27 +26,7 @@ struct ModulateUniforms {
26
26
  @group(2) @binding(4) var saturationTex : texture_2d<f32>;
27
27
  @group(2) @binding(5) var sepiaTex : texture_2d<f32>;
28
28
  @group(2) @binding(6) var sigSamp : sampler;
29
-
30
- struct VSOut {
31
- @builtin(position) pos : vec4<f32>,
32
- @location(0) uv : vec2<f32>,
33
- };
34
-
35
- @vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
36
- var pos = array<vec2<f32>, 4>(
37
- vec2<f32>(-1.0, 1.0),
38
- vec2<f32>(1.0, 1.0),
39
- vec2<f32>(-1.0, -1.0),
40
- vec2<f32>(1.0, -1.0)
41
- );
42
- var uv = array<vec2<f32>, 4>(
43
- vec2<f32>(0.0, 0.0),
44
- vec2<f32>(1.0, 0.0),
45
- vec2<f32>(0.0, 1.0),
46
- vec2<f32>(1.0, 1.0)
47
- );
48
- return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
49
- }
29
+ ${P}
50
30
 
51
31
  fn apply_exposure(c: vec4<f32>, exposure: f32) -> vec4<f32> {
52
32
  let scale = pow(2.0, exposure);
@@ -181,4 +161,4 @@ fn apply_sepia(c: vec4<f32>, s: f32) -> vec4<f32> {
181
161
 
182
162
  return color;
183
163
  }
184
- `,E=new WeakMap,f=new Float32Array(12);function X(t){let e=E.get(t);if(e)return e;let r=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),a=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]}),i=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:2,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:3,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:4,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:5,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:6,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]});return e={modulateUniformLayout:r,singleTextureLayout:a,modulateSignalsLayout:i,pipelineCache:new Map},E.set(t,e),e}function Y(t,e){let r=X(t),a=`modulate_${e}`,i=r.pipelineCache.get(a);if(!i){let o=t.createShaderModule({label:`modulate_static_${e}.wgsl`,code:Q});i=t.createRenderPipeline({label:`ModulatePipeline_static_${e}`,layout:t.createPipelineLayout({bindGroupLayouts:[r.modulateUniformLayout,r.singleTextureLayout,r.modulateSignalsLayout]}),vertex:{module:o,entryPoint:"vs"},fragment:{module:o,entryPoint:"fs",targets:[{format:e}]},primitive:{topology:"triangle-strip"}}),r.pipelineCache.set(a,i)}return{modulatePipeline:i,modulateUniformLayout:r.modulateUniformLayout,singleTextureLayout:r.singleTextureLayout,modulateSignalsLayout:r.modulateSignalsLayout}}var k=async t=>{let{ctx:e,encoder:r,pass:a,targetView:i,targetTexture:o,targetWidth:l,targetHeight:x,props:n,drawChild:c}=t,m=n.frame??0,s=n.compositionFrame??m,u=n.fps||30,p=n.virtualMedia?.operation;if(p?.op!=="Modulate"||!p)return;let w=n.virtualMedia.children?.[0];if(!w)return;a.end();let M=y(p,"hue",0,0,360,s,u),R=y(p,"brightness",1,0,2,s,u),_=y(p,"contrast",1,0,2,s,u),P=y(p,"exposure",0,-2,2,s,u),L=y(p,"saturation",1,0,2,s,u),V=y(p,"sepia",0,0,1,s,u),g=l,b=x,S=e.renderer.getTemporaryTexture(g,b,[...n.excludeTextures||[],o]),A=S.createView();e.renderer.beginFrame(r,A,{r:0,g:0,b:0,a:0},g,b,"clear").end(),e.renderer.pushScissor({x:0,y:0,width:g,height:b}),e.renderer.pushIdentity(),await c(w,{...n,virtualMedia:w},A,S,g,b),e.renderer.popTransform(),e.renderer.popScissor();let{modulatePipeline:D,modulateUniformLayout:O,singleTextureLayout:C,modulateSignalsLayout:H}=Y(e.device,e.renderer.format),U=e.renderer.samplerCache.getSampler(e.device),I=e.renderer.getTemporaryTexture(g,b,[S,o,...n.excludeTextures||[]]);f[0]=M.value,f[1]=R.value,f[2]=_.value,f[3]=P.value,f[4]=L.value,f[5]=V.value;let W=[{name:"hue",info:M,idx:6},{name:"brightness",info:R,idx:7},{name:"contrast",info:_,idx:8},{name:"exposure",info:P,idx:9},{name:"saturation",info:L,idx:10},{name:"sepia",info:V,idx:11}],d=[],$=n.elapsedMs!==void 0?n.elapsedMs/1e3:m/u,j=n.virtualMedia?.metadata?.durationMs?n.virtualMedia.metadata.durationMs/1e3:n.durationMs!==void 0?n.durationMs/1e3:0;for(let h of W){let N=!!(h.info.hasSignal&&h.info.sd);if(f[h.idx]=N?1:0,N){let q=G.getOrCreate2DTextureView(e.device,r,h.info.sd.nodeId??`modulate_${h.name}_sig`,$,j,h.info.sd,g,b,n.renderId,m,u);d.push(q)}else d.push(G.getDummy1x1TextureView(e.device))}let K=e.renderer.getTemporaryBuffer(f),v=r.beginRenderPass({colorAttachments:[{view:I.createView(),loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});v.setPipeline(D),v.setBindGroup(0,e.device.createBindGroup({layout:O,entries:[{binding:0,resource:{buffer:K}}]})),v.setBindGroup(1,e.renderer.bindGroupCache.getBindGroup(e.device,C,S,U)),v.setBindGroup(2,e.device.createBindGroup({layout:H,entries:[{binding:0,resource:d[0]},{binding:1,resource:d[1]},{binding:2,resource:d[2]},{binding:3,resource:d[3]},{binding:4,resource:d[4]},{binding:5,resource:d[5]},{binding:6,resource:U}]})),v.draw(4),v.end();let F=e.renderer.beginFrame(r,i,{r:0,g:0,b:0,a:0},l,x,"load");e.renderer.drawTexture(F,I,{x:0,y:0,width:l,height:x},{opacity:p.opacity??1}),t.pass=F};var ue=B({WebGPURenderer:k});export{ue as a};
164
+ `,f=new Float32Array(12),ee=N(e=>({modulateUniformLayout:y(e,["uniform"]),singleTextureLayout:y(e,["texture","sampler"]),modulateSignalsLayout:F(e,6),pipelineCache:new Map}));function te(e,t){let r=ee(e),u=`modulate_${t}`,s=r.pipelineCache.get(u);if(!s){let o=e.createShaderModule({label:`modulate_static_${t}.wgsl`,code:Z});s=k(e,{label:`ModulatePipeline_static_${t}`,module:o,layouts:[r.modulateUniformLayout,r.singleTextureLayout,r.modulateSignalsLayout],format:t}),r.pipelineCache.set(u,s)}return{modulatePipeline:s,modulateUniformLayout:r.modulateUniformLayout,singleTextureLayout:r.singleTextureLayout,modulateSignalsLayout:r.modulateSignalsLayout}}var W=async e=>{let{ctx:t,encoder:r,pass:u,targetTexture:s,targetWidth:o,targetHeight:p,props:i}=e,d=i.frame??0,a=i.compositionFrame??d,l=i.fps||30,n=i.virtualMedia?.operation;if(n?.op!=="Modulate"||!n)return;let c=i.virtualMedia.children?.[0];if(!c)return;u.end();let v=b(n,"hue",0,0,360,a,l),S=b(n,"brightness",1,0,2,a,l),w=b(n,"contrast",1,0,2,a,l),_=b(n,"exposure",0,-2,2,a,l),T=b(n,"saturation",1,0,2,a,l),L=b(n,"sepia",0,0,1,a,l),R=o,V=p,{texture:I}=await C(e,c),{modulatePipeline:B,modulateUniformLayout:$,singleTextureLayout:E,modulateSignalsLayout:j}=te(t.device,t.renderer.format),A=t.renderer.samplerCache.getSampler(t.device),M=t.renderer.getTemporaryTexture(R,V,[I,s,...i.excludeTextures||[]]);f[0]=v.value,f[1]=S.value,f[2]=w.value,f[3]=_.value,f[4]=T.value,f[5]=L.value;let K=[{name:"hue",info:v,idx:6},{name:"brightness",info:S,idx:7},{name:"contrast",info:w,idx:8},{name:"exposure",info:_,idx:9},{name:"saturation",info:T,idx:10},{name:"sepia",info:L,idx:11}],m=[],{elapsedSeconds:Q,durationSeconds:q}=D(i,d,l);for(let g of K){let U=!!(g.info.hasSignal&&g.info.sd);if(f[g.idx]=U?1:0,U){let J=x.getOrCreate2DTextureView(t.device,r,g.info.sd.nodeId??`modulate_${g.name}_sig`,Q,q,g.info.sd,R,V,i.renderId,d,l);m.push(J)}else m.push(x.getDummy1x1TextureView(t.device))}let z=t.renderer.getTemporaryBuffer(f);O(r,M.createView(),B,[t.device.createBindGroup({layout:$,entries:[{binding:0,resource:{buffer:z}}]}),t.renderer.bindGroupCache.getBindGroup(t.device,E,I,A),t.device.createBindGroup({layout:j,entries:[{binding:0,resource:m[0]},{binding:1,resource:m[1]},{binding:2,resource:m[2]},{binding:3,resource:m[3]},{binding:4,resource:m[4]},{binding:5,resource:m[5]},{binding:6,resource:A}]})]),H(e,M,n.opacity??1)};var se=G({WebGPURenderer:W});export{se as a};