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 W}from"./chunk-ZNGOAGAI.mjs";import{d as B}from"./chunk-6YJP57MZ.mjs";import{e as D}from"./chunk-BVF64D6H.mjs";D();D();var ye=`
1
+ import{a as B,d as R,e as E,f as O,g as $,h as Y,j as k,m as K}from"./chunk-ENKKLU7B.mjs";import{d as A}from"./chunk-6YJP57MZ.mjs";import{u as T,z as W}from"./chunk-63SFBHEH.mjs";import{a as X}from"./chunk-IQC2I5A5.mjs";import{e as D}from"./chunk-BVF64D6H.mjs";D();D();var ye=`
2
2
  struct RelightUniforms {
3
3
  // vec4 0
4
4
  lightType : f32, // 0=Point, 1=Spot, 2=Directional, 3=Rim
@@ -58,27 +58,7 @@ struct RelightUniforms {
58
58
  @group(3) @binding(6) var specularSigTex : texture_2d<f32>;
59
59
  @group(3) @binding(7) var volumetricSigTex : texture_2d<f32>;
60
60
  @group(3) @binding(8) var sigSamp : sampler;
61
-
62
- struct VSOut {
63
- @builtin(position) pos : vec4<f32>,
64
- @location(0) uv : vec2<f32>,
65
- };
66
-
67
- @vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
68
- var pos = array<vec2<f32>, 4>(
69
- vec2<f32>(-1.0, 1.0),
70
- vec2<f32>(1.0, 1.0),
71
- vec2<f32>(-1.0, -1.0),
72
- vec2<f32>(1.0, -1.0)
73
- );
74
- var uv = array<vec2<f32>, 4>(
75
- vec2<f32>(0.0, 0.0),
76
- vec2<f32>(1.0, 0.0),
77
- vec2<f32>(0.0, 1.0),
78
- vec2<f32>(1.0, 1.0)
79
- );
80
- return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
81
- }
61
+ ${B}
82
62
 
83
63
  fn sampleDepth(uv: vec2<f32>) -> f32 {
84
64
  var raw: f32 = 0.0;
@@ -234,4 +214,4 @@ fn computeNormal(uv: vec2<f32>, texelSize: vec2<f32>) -> vec3<f32> {
234
214
 
235
215
  return vec4<f32>(clamp(litRgb, vec3<f32>(0.0), vec3<f32>(1.0)), albedo.a);
236
216
  }
237
- `,$=new WeakMap;function xe(t){let e=$.get(t);if(e)return e;let n=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),o=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]}),g=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]}),a=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,texture:{sampleType:"float"}},{binding:7,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:8,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]});return e={uniformLayout:n,srcTextureLayout:o,depthTextureLayout:g,signalTextureLayout:a,pipelineCache:new Map},$.set(t,e),e}function be(t,e){let n=xe(t),o=`relight_${e}`,g=n.pipelineCache.get(o);if(!g){let a=t.createShaderModule({label:`relight_${e}.wgsl`,code:ye});g=t.createRenderPipeline({label:`RelightPipeline_${e}`,layout:t.createPipelineLayout({bindGroupLayouts:[n.uniformLayout,n.srcTextureLayout,n.depthTextureLayout,n.signalTextureLayout]}),vertex:{module:a,entryPoint:"vs"},fragment:{module:a,entryPoint:"fs",targets:[{format:e}]},primitive:{topology:"triangle-strip"}}),n.pipelineCache.set(o,g)}return{pipeline:g,uniformLayout:n.uniformLayout,srcTextureLayout:n.srcTextureLayout,depthTextureLayout:n.depthTextureLayout,signalTextureLayout:n.signalTextureLayout}}function X(t,e,n,o){if(t==null)return e;if(typeof t=="number")return Number.isFinite(t)?t:e;if(typeof t=="object"&&t!==null){if("get"in t&&typeof t.get=="function")try{let a=t.get({frame:n,fps:o,time:o>0?n/o:0,duration:0,durationMs:0,progress:0,deltaTime:o>0?1/o:0}),m=Number(a);if(Number.isFinite(m))return m}catch{}if("value"in t){let a=Number(t.value);if(Number.isFinite(a))return a}}if(typeof t=="function")try{let a=Number(t({frame:n,fps:o,time:o>0?n/o:0}));if(Number.isFinite(a))return a}catch{}let g=Number(t);return Number.isFinite(g)?g:e}function c(t,e,n,o,g,a=0,m=30){let x=`${e}HandleId`,s=t[x],h=s?t.inputs?.[s]:null,b=!!(h?.connectionValid&&(h.outputItem?.type==="Signal"||h.outputItem?.type==="Numeric")),u=b&&h?.outputItem?.data?h.outputItem.data:null,l=n;if(b){if(u){let r=X(u.offset,n,a,m);l=Math.max(o,Math.min(g,r))}}else if(h?.connectionValid&&h.outputItem?.type==="Number"){let r=X(h.outputItem.data,n,a,m);l=Math.max(o,Math.min(g,r))}else{let r=X(t[e],n,a,m);l=Math.max(o,Math.min(g,r))}return{hasSignal:b,sd:u,value:l}}var K=async t=>{let{ctx:e,encoder:n,pass:o,targetView:g,targetTexture:a,targetWidth:m,targetHeight:x,props:s,drawChild:h}=t,b=s.frame??0,u=s.compositionFrame??b,l=s.fps||30,r=s.virtualMedia?.operation;if(r?.op!=="Relight3D"||!r)return;let G=s.virtualMedia.children?.[0];if(!G)return;o.end();let d=m,p=x,S=e.renderer.getTemporaryTexture(d,p,[...s.excludeTextures||[],a]),M=S.createView();e.renderer.beginFrame(n,M,{r:0,g:0,b:0,a:0},d,p,"clear").end(),e.renderer.pushScissor({x:0,y:0,width:d,height:p}),e.renderer.pushIdentity(),await h(G,{...s,virtualMedia:G,containerWidth:d,containerHeight:p},M,S,d,p),e.renderer.popTransform(),e.renderer.popScissor(),t.pass.end();let Y=r.normalMedia??(r.inputs?.normalMap?.connectionValid?r.inputs.normalMap.outputItem?.data:null),w=Y??r.depthMedia,y,R,I=!1,Z=!!Y;w?(y=e.renderer.getTemporaryTexture(d,p,[...s.excludeTextures||[],a,S]),R=y.createView(),e.renderer.beginFrame(n,R,{r:0,g:0,b:0,a:0},d,p,"clear").end(),e.renderer.pushScissor({x:0,y:0,width:d,height:p}),e.renderer.pushIdentity(),await h(w,{...s,virtualMedia:w,containerWidth:d,containerHeight:p},R,y,d,p),e.renderer.popTransform(),e.renderer.popScissor(),t.pass.end(),I=!0):(y=S,R=M,I=!1);let{pipeline:j,uniformLayout:q,srcTextureLayout:J,depthTextureLayout:Q,signalTextureLayout:ee}=be(e.device,e.renderer.format),N=e.renderer.samplerCache.getSampler(e.device),te=s.elapsedMs!==void 0?s.elapsedMs/1e3:u/l,ie=s.virtualMedia?.metadata?.durationMs?s.virtualMedia.metadata.durationMs/1e3:s.durationMs!==void 0?s.durationMs/1e3:4,C=c(r,"intensity",1,0,10,u,l),U=c(r,"lightPosX",.5,0,1,u,l),V=c(r,"lightPosY",.5,0,1,u,l),A=c(r,"lightPosZ",.3,-2,2,u,l),_=c(r,"lightRadius",.8,.05,5,u,l),re=c(r,"spotConeAngle",45,5,90,u,l),F=c(r,"specularRoughness",.35,.01,1,u,l),H=c(r,"specularStrength",.7,0,3,u,l),ne=c(r,"metallic",0,0,1,u,l),ae=c(r,"ambientIntensity",.4,0,2,u,l),z=c(r,"volumetricDensity",.2,0,1,u,l),se=c(r,"depthScale",1,.1,10,u,l),f=(T,ve)=>T.hasSignal&&T.sd?B.getOrCreate2DTextureView(e.device,n,T.sd.nodeId??ve,te,ie,T.sd,d,p,s.renderId,u,l):B.getDummy1x1TextureView(e.device),oe=f(C,"relight_int_sig"),le=f(U,"relight_posx_sig"),ue=f(V,"relight_posy_sig"),ge=f(A,"relight_posz_sig"),de=f(_,"relight_rad_sig"),pe=f(F,"relight_rough_sig"),ce=f(H,"relight_spec_sig"),he=f(z,"relight_vol_sig"),i=new Float32Array(32),L=E(r.lightColor??"#ffffff"),P=E(r.ambientColor??"#ffffff"),me=r.lightType==="Spot"?1:r.lightType==="Directional"?2:r.lightType==="Rim"?3:0;i[0]=me,i[1]=C.value,i[2]=U.value,i[3]=V.value,i[4]=A.value,i[5]=_.value,i[6]=re.value*Math.PI/180,i[7]=F.value,i[8]=H.value,i[9]=ne.value,i[10]=ae.value,i[11]=z.value,i[12]=se.value,i[13]=r.depthInvert?1:0,i[14]=I||Z?1:0,i[15]=Z?1:0,i[16]=C.hasSignal?1:0,i[17]=U.hasSignal?1:0,i[18]=V.hasSignal?1:0,i[19]=A.hasSignal?1:0,i[20]=_.hasSignal?1:0,i[21]=F.hasSignal?1:0,i[22]=H.hasSignal?1:0,i[23]=z.hasSignal?1:0,i[24]=L.r,i[25]=L.g,i[26]=L.b,i[27]=L.a,i[28]=P.r,i[29]=P.g,i[30]=P.b,i[31]=P.a;let fe=e.renderer.getTemporaryBuffer(i),O=e.renderer.getTemporaryTexture(d,p,[S,y,a,...s.excludeTextures||[]]),v=n.beginRenderPass({colorAttachments:[{view:O.createView(),loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});v.setPipeline(j),v.setBindGroup(0,e.device.createBindGroup({layout:q,entries:[{binding:0,resource:{buffer:fe}}]})),v.setBindGroup(1,e.renderer.bindGroupCache.getBindGroup(e.device,J,S,N)),v.setBindGroup(2,e.renderer.bindGroupCache.getBindGroup(e.device,Q,y,N)),v.setBindGroup(3,e.device.createBindGroup({layout:ee,entries:[{binding:0,resource:oe},{binding:1,resource:le},{binding:2,resource:ue},{binding:3,resource:ge},{binding:4,resource:de},{binding:5,resource:pe},{binding:6,resource:ce},{binding:7,resource:he},{binding:8,resource:N}]})),v.draw(4),v.end();let k=e.renderer.beginFrame(n,g,{r:0,g:0,b:0,a:0},m,x,"load");e.renderer.drawTexture(k,O,{x:0,y:0,width:m,height:x},{opacity:r.opacity??1}),t.pass=k};var Me=W({WebGPURenderer:K});export{Me as a};
217
+ `,be=O(r=>({uniformLayout:R(r,["uniform"]),srcTextureLayout:R(r,["texture","sampler"]),depthTextureLayout:R(r,["texture","sampler"]),signalTextureLayout:E(r,8),pipelineCache:new Map}));function Le(r,n){let a=be(r),p=`relight_${n}`,u=a.pipelineCache.get(p);if(!u){let h=r.createShaderModule({label:`relight_${n}.wgsl`,code:ye});u=$(r,{label:`RelightPipeline_${n}`,module:h,layouts:[a.uniformLayout,a.srcTextureLayout,a.depthTextureLayout,a.signalTextureLayout],format:n}),a.pipelineCache.set(p,u)}return{pipeline:u,uniformLayout:a.uniformLayout,srcTextureLayout:a.srcTextureLayout,depthTextureLayout:a.depthTextureLayout,signalTextureLayout:a.signalTextureLayout}}function o(r,n,a,p,u,h=0,m=30){let l=`${n}HandleId`,f=r[l],i=f?r.inputs?.[f]:null,s=!!(i?.connectionValid&&(i.outputItem?.type==="Signal"||i.outputItem?.type==="Numeric")),t=s&&i?.outputItem?.data?i.outputItem.data:null,d=a;if(s){if(t){let g=T(t.offset,a,h,m);d=Math.max(p,Math.min(u,g))}}else if(i?.connectionValid&&i.outputItem?.type==="Number"){let g=T(i.outputItem.data,a,h,m);d=Math.max(p,Math.min(u,g))}else{let g=T(r[n],a,h,m);d=Math.max(p,Math.min(u,g))}return{hasSignal:s,sd:t,value:d}}var Q=async r=>{let{ctx:n,encoder:a,pass:p,targetTexture:u,targetWidth:h,targetHeight:m,props:l}=r,f=l.frame??0,i=l.compositionFrame??f,s=l.fps||30,t=l.virtualMedia?.operation;if(t?.op!=="Relight3D"||!t)return;let d=l.virtualMedia.children?.[0];if(!d)return;p.end();let g=h,v=m,{texture:S}=await Y(r,d,{props:{...l,virtualMedia:d,containerWidth:g,containerHeight:v}});r.pass.end();let Z=t.normalMedia??(t.inputs?.normalMap?.connectionValid?t.inputs.normalMap.outputItem?.data:null),I=Z??t.depthMedia,x,P=!1,U=!!Z;I?({texture:x}=await Y(r,I,{props:{...l,virtualMedia:I,containerWidth:g,containerHeight:v},exclude:[S]}),r.pass.end(),P=!0):(x=S,P=!1);let{pipeline:j,uniformLayout:q,srcTextureLayout:J,depthTextureLayout:ee,signalTextureLayout:te}=Le(n.device,n.renderer.format),M=n.renderer.samplerCache.getSampler(n.device),ie=l.elapsedMs!==void 0?l.elapsedMs/1e3:i/s,ne=l.virtualMedia?.metadata?.durationMs?l.virtualMedia.metadata.durationMs/1e3:l.durationMs!==void 0?l.durationMs/1e3:4,w=o(t,"intensity",1,0,10,i,s),C=o(t,"lightPosX",.5,0,1,i,s),_=o(t,"lightPosY",.5,0,1,i,s),H=o(t,"lightPosZ",.3,-2,2,i,s),N=o(t,"lightRadius",.8,.05,5,i,s),re=o(t,"spotConeAngle",45,5,90,i,s),z=o(t,"specularRoughness",.35,.01,1,i,s),G=o(t,"specularStrength",.7,0,3,i,s),ae=o(t,"metallic",0,0,1,i,s),se=o(t,"ambientIntensity",.4,0,2,i,s),V=o(t,"volumetricDensity",.2,0,1,i,s),le=o(t,"depthScale",1,.1,10,i,s),c=(L,Se)=>L.hasSignal&&L.sd?A.getOrCreate2DTextureView(n.device,a,L.sd.nodeId??Se,ie,ne,L.sd,g,v,l.renderId,i,s):A.getDummy1x1TextureView(n.device),oe=c(w,"relight_int_sig"),ue=c(C,"relight_posx_sig"),ge=c(_,"relight_posy_sig"),pe=c(H,"relight_posz_sig"),de=c(N,"relight_rad_sig"),ce=c(z,"relight_rough_sig"),he=c(G,"relight_spec_sig"),me=c(V,"relight_vol_sig"),e=new Float32Array(32),y=X(t.lightColor??"#ffffff"),b=X(t.ambientColor??"#ffffff"),fe=t.lightType==="Spot"?1:t.lightType==="Directional"?2:t.lightType==="Rim"?3:0;e[0]=fe,e[1]=w.value,e[2]=C.value,e[3]=_.value,e[4]=H.value,e[5]=N.value,e[6]=re.value*Math.PI/180,e[7]=z.value,e[8]=G.value,e[9]=ae.value,e[10]=se.value,e[11]=V.value,e[12]=le.value,e[13]=t.depthInvert?1:0,e[14]=P||U?1:0,e[15]=U?1:0,e[16]=w.hasSignal?1:0,e[17]=C.hasSignal?1:0,e[18]=_.hasSignal?1:0,e[19]=H.hasSignal?1:0,e[20]=N.hasSignal?1:0,e[21]=z.hasSignal?1:0,e[22]=G.hasSignal?1:0,e[23]=V.hasSignal?1:0,e[24]=y.r,e[25]=y.g,e[26]=y.b,e[27]=y.a,e[28]=b.r,e[29]=b.g,e[30]=b.b,e[31]=b.a;let ve=n.renderer.getTemporaryBuffer(e),F=n.renderer.getTemporaryTexture(g,v,[S,x,u,...l.excludeTextures||[]]);K(a,F.createView(),j,[n.device.createBindGroup({layout:q,entries:[{binding:0,resource:{buffer:ve}}]}),n.renderer.bindGroupCache.getBindGroup(n.device,J,S,M),n.renderer.bindGroupCache.getBindGroup(n.device,ee,x,M),n.device.createBindGroup({layout:te,entries:[{binding:0,resource:oe},{binding:1,resource:ue},{binding:2,resource:ge},{binding:3,resource:pe},{binding:4,resource:de},{binding:5,resource:ce},{binding:6,resource:he},{binding:7,resource:me},{binding:8,resource:M}]})]),k(r,F,t.opacity??1)};var Ce=W({WebGPURenderer:Q});export{Ce as a};
@@ -1 +1 @@
1
- import{a as l}from"./chunk-MJM3NFEC.mjs";import{b as w}from"./chunk-HYBAPT6I.mjs";import{d as u,e as p}from"./chunk-BVF64D6H.mjs";p();var g=null,i=new Map,b=new Set,c=new Map,F=new Map;async function v(e,r){let t=r;if(r.startsWith("/"))if(w)t=`${w}${r}`;else{let s=await import("./shims/fs-promises.mjs");try{await s.access(r)}catch{throw new Error(`Relative font URL "${r}" cannot be resolved because BASE_URL is not configured.`)}}if(i.has(t))return i.get(t);if(t.startsWith("file://"))try{let s=new URL(t).pathname;return u.platform==="win32"&&s.startsWith("/")&&(s=s.slice(1)),i.set(t,s),s}catch{let s=t.replace(/^file:\/\//,"");return i.set(t,s),s}if(!t.startsWith("http://")&&!t.startsWith("https://"))return t;let n=await import("./shims/fs-promises.mjs"),a=await import("./shims/path.mjs"),o=await import("./shims/os.mjs");g||(g=a.join(o.tmpdir(),"gatewai-fonts"),await n.mkdir(g,{recursive:!0}).catch(()=>{}));let $=e.replace(/[^a-zA-Z0-9_-]/g,"_"),m=new URL(t),f=a.extname(m.pathname);(!f||f.length>5)&&(f=".ttf");let d=a.join(g,`${$}-${Date.now()}${f}`),h=await fetch(t);if(!h.ok)throw new Error(`Failed to fetch font from ${t}: ${h.statusText}`);let P=await h.arrayBuffer();return await n.writeFile(d,Buffer.from(P)),i.set(t,d),d}async function U(e,r){if(c.has(e))return c.get(e);let t=globalThis;try{let n=await v(e,r);c.set(e,n),l(n===r?`[registerHeadlessFont] Registered "${e}" from ${n}`:`[registerHeadlessFont] Registered "${e}" from ${r} (cached at ${n})`);try{t.OffscreenCanvas&&typeof t.OffscreenCanvas.registerFont=="function"&&(t.OffscreenCanvas.registerFont(n,{family:e}),b.add(e))}catch(a){console.warn(`[registerHeadlessFont] SkiaCanvas registration failed for "${e}" (non-fatal):`,a)}return n}catch(n){console.warn(`[registerHeadlessFont] Failed to download font "${e}" from ${r}:`,n)}}function C(e){return c.get(e)}async function L(e){let r=F.get(e);if(r)return r;let t=c.get(e);if(t)try{let a=await(await import("./shims/fs-promises.mjs")).readFile(t),o=new Uint8Array(a.length);return o.set(a),l(`[getHeadlessFontData] Read local font binary for "${e}" from: ${t} (${o.length} bytes)`),F.set(e,o),o}catch(n){console.warn(`[getHeadlessFontData] Failed to read font file from ${t}:`,n)}}export{U as a,C as b,L as c};
1
+ import{a as l}from"./chunk-BWJS6G7R.mjs";import{b as w}from"./chunk-HYBAPT6I.mjs";import{d as u,e as p}from"./chunk-BVF64D6H.mjs";p();var g=null,i=new Map,b=new Set,c=new Map,F=new Map;async function v(e,r){let t=r;if(r.startsWith("/"))if(w)t=`${w}${r}`;else{let s=await import("./shims/fs-promises.mjs");try{await s.access(r)}catch{throw new Error(`Relative font URL "${r}" cannot be resolved because BASE_URL is not configured.`)}}if(i.has(t))return i.get(t);if(t.startsWith("file://"))try{let s=new URL(t).pathname;return u.platform==="win32"&&s.startsWith("/")&&(s=s.slice(1)),i.set(t,s),s}catch{let s=t.replace(/^file:\/\//,"");return i.set(t,s),s}if(!t.startsWith("http://")&&!t.startsWith("https://"))return t;let n=await import("./shims/fs-promises.mjs"),a=await import("./shims/path.mjs"),o=await import("./shims/os.mjs");g||(g=a.join(o.tmpdir(),"gatewai-fonts"),await n.mkdir(g,{recursive:!0}).catch(()=>{}));let $=e.replace(/[^a-zA-Z0-9_-]/g,"_"),m=new URL(t),f=a.extname(m.pathname);(!f||f.length>5)&&(f=".ttf");let d=a.join(g,`${$}-${Date.now()}${f}`),h=await fetch(t);if(!h.ok)throw new Error(`Failed to fetch font from ${t}: ${h.statusText}`);let P=await h.arrayBuffer();return await n.writeFile(d,Buffer.from(P)),i.set(t,d),d}async function U(e,r){if(c.has(e))return c.get(e);let t=globalThis;try{let n=await v(e,r);c.set(e,n),l(n===r?`[registerHeadlessFont] Registered "${e}" from ${n}`:`[registerHeadlessFont] Registered "${e}" from ${r} (cached at ${n})`);try{t.OffscreenCanvas&&typeof t.OffscreenCanvas.registerFont=="function"&&(t.OffscreenCanvas.registerFont(n,{family:e}),b.add(e))}catch(a){console.warn(`[registerHeadlessFont] SkiaCanvas registration failed for "${e}" (non-fatal):`,a)}return n}catch(n){console.warn(`[registerHeadlessFont] Failed to download font "${e}" from ${r}:`,n)}}function C(e){return c.get(e)}async function L(e){let r=F.get(e);if(r)return r;let t=c.get(e);if(t)try{let a=await(await import("./shims/fs-promises.mjs")).readFile(t),o=new Uint8Array(a.length);return o.set(a),l(`[getHeadlessFontData] Read local font binary for "${e}" from: ${t} (${o.length} bytes)`),F.set(e,o),o}catch(n){console.warn(`[getHeadlessFontData] Failed to read font file from ${t}:`,n)}}export{U as a,C as b,L as c};
@@ -0,0 +1,22 @@
1
+ import{d as c}from"./chunk-6YJP57MZ.mjs";import{e as p}from"./chunk-BVF64D6H.mjs";p();var l={r:0,g:0,b:0,a:0},m=`
2
+ struct VSOut {
3
+ @builtin(position) pos : vec4<f32>,
4
+ @location(0) uv : vec2<f32>,
5
+ };
6
+
7
+ @vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
8
+ var pos = array<vec2<f32>, 4>(
9
+ vec2<f32>(-1.0, 1.0),
10
+ vec2<f32>(1.0, 1.0),
11
+ vec2<f32>(-1.0, -1.0),
12
+ vec2<f32>(1.0, -1.0)
13
+ );
14
+ var uv = array<vec2<f32>, 4>(
15
+ vec2<f32>(0.0, 0.0),
16
+ vec2<f32>(1.0, 0.0),
17
+ vec2<f32>(0.0, 1.0),
18
+ vec2<f32>(1.0, 1.0)
19
+ );
20
+ return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
21
+ }
22
+ `,G={color:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"}},y={color:{srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha",operation:"add"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"}};function P(e,r,n){return e.createBindGroupLayout({...n&&{label:n},entries:r.map((t,i)=>t==="uniform"?{binding:i,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}:t==="texture"?{binding:i,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}}:t==="sampler"?{binding:i,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}:{visibility:GPUShaderStage.FRAGMENT,...t,binding:i})})}function v(e,r){return P(e,[...Array(r).fill("texture"),"sampler"])}function T(e){let r=new WeakMap;return n=>{let t=r.get(n);return t===void 0&&(t=e(n),r.set(n,t)),t}}function h(e,r){let{module:n,format:t,blend:i}=r;return e.createRenderPipeline({...r.label&&{label:r.label},layout:Array.isArray(r.layouts)?e.createPipelineLayout({bindGroupLayouts:r.layouts}):r.layouts,vertex:{module:n,entryPoint:r.vertexEntryPoint??"vs"},fragment:{module:n,entryPoint:r.fragmentEntryPoint??"fs",targets:[i?{format:t,blend:i}:{format:t}]},primitive:{topology:"triangle-strip"}})}async function U(e,r,n={}){let{ctx:t,encoder:i,props:o}=e,a=n.width??e.targetWidth,d=n.height??e.targetHeight,u=t.renderer.getTemporaryTexture(a,d,[...o.excludeTextures||[],e.targetTexture,...n.exclude??[]]),s=u.createView();return t.renderer.beginFrame(i,s,l,a,d,"clear").end(),t.renderer.pushScissor({x:0,y:0,width:a,height:d}),t.renderer.pushIdentity(),await e.drawChild(r,n.props??{...o,virtualMedia:r},s,u,a,d),t.renderer.popTransform(),t.renderer.popScissor(),{texture:u,view:s}}function g(e,r=e.targetWidth,n=e.targetHeight){let t=e.ctx.renderer.beginFrame(e.encoder,e.targetView,l,r,n,"load");return e.pass=t,t}function b(e,r,n=1){let{targetWidth:t,targetHeight:i}=e;e.ctx.renderer.drawTexture(g(e),r,{x:0,y:0,width:t,height:i},{opacity:n})}function S(e,r,n,t=0){let i=e.virtualMedia?.metadata?.durationMs;return{elapsedSeconds:e.elapsedMs!==void 0?e.elapsedMs/1e3:r/n,durationSeconds:i?i/1e3:e.durationMs!==void 0?e.durationMs/1e3:t}}function w(e,r,n){let{args:t}=e;return r.gpuTextureView?r.gpuTextureView:r.hasStaticSig&&r.sd?c.getOrCreate2DTextureView(t.ctx.device,t.encoder,r.sd.nodeId??n,e.elapsedSeconds,e.durationSeconds,r.sd,e.width,e.height,t.props.renderId,e.frame,e.fps):c.getDummy1x1TextureView(t.ctx.device)}function R(e,r,n,t){let i=e.beginRenderPass({colorAttachments:[{view:r,loadOp:"clear",storeOp:"store",clearValue:l}]});i.setPipeline(n),t.forEach((o,a)=>{i.setBindGroup(a,o)}),i.draw(4),i.end()}export{m as a,G as b,y as c,P as d,v as e,T as f,h as g,U as h,g as i,b as j,S as k,w as l,R as m};
@@ -1 +1 @@
1
- import{I as i,a as e,j as r,u as t,v as o}from"./chunk-NQZKBFC6.mjs";import{e as n}from"./chunk-BVF64D6H.mjs";n();var a=["source-over","source-in","source-out","source-atop","destination-over","destination-in","destination-out","destination-atop","lighter","copy","xor","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],p=e.enum(a),l=e.string().optional(),d=e.number().min(0).max(100),h=e.number().min(0).optional(),S=e.object({animations:e.array(e.object({id:e.string(),type:e.enum(["fade-in","fade-out","slide-in-left","slide-in-right","slide-in-top","slide-in-bottom","zoom-in","zoom-out","rotate-cw","rotate-ccw","bounce","shake"]),value:e.number()})).optional()}),x=e.object({stroke:l,strokeWidth:e.number().min(0).optional(),strokeAlign:e.enum(["inside","center","outside"]).optional().default("inside"),strokeRadius:e.number().min(0).optional()}),f=o(t(e.literal("Image"),r)),g=o(t(e.literal("Video"),i)),R=o(t(e.literal("Audio"),i)),y=o(t(e.literal("Text"),e.string())),b=o(t(e.literal("Number"),e.number())),z=o(t(e.literal("Signal"),e.unknown()));export{l as a,f as b,g as c,z as d};
1
+ import{I as n,a as e,j as r,u as t,v as o}from"./chunk-NQZKBFC6.mjs";import{e as i}from"./chunk-BVF64D6H.mjs";i();var a=["source-over","source-in","source-out","source-atop","destination-over","destination-in","destination-out","destination-atop","lighter","copy","xor","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],p=e.enum(a),l=e.string().optional(),d=e.number().min(0).max(100),h=e.number().min(0).optional(),S=e.object({animations:e.array(e.object({id:e.string(),type:e.enum(["fade-in","fade-out","slide-in-left","slide-in-right","slide-in-top","slide-in-bottom","zoom-in","zoom-out","rotate-cw","rotate-ccw","bounce","shake"]),value:e.number()})).optional()}),x=e.object({stroke:l,strokeWidth:e.number().min(0).optional(),strokeAlign:e.enum(["inside","center","outside"]).optional().default("inside"),strokeRadius:e.number().min(0).optional()}),g=o(t(e.literal("Image"),r)),b=o(t(e.literal("Video"),n)),f=o(t(e.literal("Audio"),n)),R=o(t(e.literal("Text"),e.string())),y=o(t(e.literal("Number"),e.number())),k=o(t(e.literal("Signal"),e.unknown())),z=e.record(e.string(),e.object({connectionValid:e.boolean(),outputItem:e.object({type:e.string(),data:e.unknown()}).nullable().optional()}));export{l as a,g as b,b as c,k as d};
@@ -1,4 +1,4 @@
1
- import{a as m}from"./chunk-D3TETPLI.mjs";import{c as n,t as g}from"./chunk-ZNGOAGAI.mjs";import{e as i}from"./chunk-BVF64D6H.mjs";i();i();var M=["threshold","ratio","attack","release","knee","makeupGain"],K=()=>`
1
+ import{a as p}from"./chunk-ZH5MZQTZ.mjs";import{c as n,y as f,z as u}from"./chunk-63SFBHEH.mjs";import{e as t}from"./chunk-BVF64D6H.mjs";t();t();var P=["threshold","ratio","attack","release","knee","makeupGain"],y=()=>`
2
2
  struct Uniforms {
3
3
  sampleRate : f32,
4
4
  threshold : f32,
@@ -185,4 +185,4 @@ fn main(@builtin(global_invocation_id) gid : vec3<u32>) {
185
185
  state[0] = clamp(envelope, -120.0f, 0.0f);
186
186
  }
187
187
  }
188
- `,h=async(o,l,u,a)=>{if(!a?.device)throw new Error("GPUDevice is required for WebGPU Dynamics Compressor.");let e=u.operation||{},v=e.inputs||{},k=n(e.threshold,-24),S=n(e.ratio,4),R=n(e.attack,.003),x=n(e.release,.25),_=n(e.knee,6),G=n(e.makeupGain,0),f=r=>{let s=e[r];if(typeof s!="string"||!s)return!1;let t=v[s];return!!(t?.connectionValid&&t.outputItem&&(t.outputItem.type==="Signal"||t.outputItem.type==="Number"))},b=f("thresholdHandleId")?1:0,C=f("ratioHandleId")?1:0,B=f("attackHandleId")?1:0,A=f("releaseHandleId")?1:0,V=f("kneeHandleId")?1:0,y=f("makeupGainHandleId")?1:0,d=o.length;if(d===0)return;let p=o[0].length;if(p===0)return;let I=e.id||"audio-compressor",c=a.frame??0,T=a.fps??24;await m.process(a.device,I,o,l,u,c,T,K,r=>[l,k,S,R,x,_,G,b,C,B,A,V,y,r,c,p,d,0,0,0],20,1,a?.renderId,!0,a?.elapsedMs,a?.durationMs,void 0,void 0,M)};var L=g({audioProcessor:h});export{L as a};
188
+ `,g=async(i,o,r,a)=>{if(!a?.device)throw new Error("GPUDevice is required for WebGPU Dynamics Compressor.");let e=r.operation||{},c=n(e.threshold,-24),m=n(e.ratio,4),h=n(e.attack,.003),v=n(e.release,.25),k=n(e.knee,6),S=n(e.makeupGain,0),R=f(e,"thresholdHandleId")?1:0,x=f(e,"ratioHandleId")?1:0,_=f(e,"attackHandleId")?1:0,G=f(e,"releaseHandleId")?1:0,C=f(e,"kneeHandleId")?1:0,A=f(e,"makeupGainHandleId")?1:0,s=i.length;if(s===0)return;let l=i[0].length;if(l===0)return;let B=e.id||"audio-compressor",d=a.frame??0,b=a.fps??24;await p.process(a.device,B,i,o,r,d,b,y,V=>[o,c,m,h,v,k,S,R,x,_,G,C,A,V,d,l,s,0,0,0],20,1,a?.renderId,!0,a?.elapsedMs,a?.durationMs,void 0,void 0,P)};var D=u({audioProcessor:g});export{D as a};
@@ -0,0 +1,88 @@
1
+ import{a as X}from"./chunk-XOEEGC4Z.mjs";import{b as k,c as E}from"./chunk-FLPSWDX4.mjs";import{a as g}from"./chunk-NQZKBFC6.mjs";import{a as W,d as v,e as F,g as M,h as N,j as A,k as O,l as z,m as y}from"./chunk-ENKKLU7B.mjs";import{w as D,z as V}from"./chunk-63SFBHEH.mjs";import{e as s}from"./chunk-BVF64D6H.mjs";s();s();s();var R=250,ne=X().field("radius",g.number().min(.1).max(R).default(3),{bindable:!0,dataTypes:["Number","Signal"],label:"Radius Signal",description:"The cutoff radius in pixels. Frequencies smaller than this radius are preserved."}).field("contrastBoost",g.number().multipleOf(.01).min(1).max(10).default(1),{bindable:!0,dataTypes:["Number","Signal"],label:"Contrast Boost Signal",description:"Multiplier applied to the extracted high-frequency detail delta."}).field("monochrome",g.boolean().default(!0),{description:"When enabled, high-pass delta is converted to luminance before centering on 50% neutral gray."}).build(),ge=ne.schema,fe=g.union([k,E]);var ue=`
2
+ struct HighPassUniforms {
3
+ dirX : f32,
4
+ dirY : f32,
5
+ radius : f32,
6
+ contrastBoost : f32,
7
+
8
+ monochrome : f32,
9
+ hasRadiusSig : f32,
10
+ hasContrastSig : f32,
11
+ isSecondPass : f32,
12
+ };
13
+
14
+ @group(0) @binding(0) var<uniform> u : HighPassUniforms;
15
+ @group(1) @binding(0) var tex : texture_2d<f32>;
16
+ @group(1) @binding(1) var samp : sampler;
17
+ @group(1) @binding(2) var origTex : texture_2d<f32>;
18
+
19
+ @group(2) @binding(0) var radiusSigTex : texture_2d<f32>;
20
+ @group(2) @binding(1) var contrastSigTex : texture_2d<f32>;
21
+ @group(2) @binding(2) var signalSamp : sampler;
22
+ ${W}
23
+
24
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
25
+ let dimensions = vec2<f32>(textureDimensions(tex));
26
+ var radius = u.radius;
27
+ if (u.hasRadiusSig > 0.5) {
28
+ radius = textureSampleLevel(radiusSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
29
+ }
30
+ var contrastBoost = u.contrastBoost;
31
+ if (u.hasContrastSig > 0.5) {
32
+ contrastBoost = textureSampleLevel(contrastSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
33
+ }
34
+
35
+ let origCol = textureSampleLevel(origTex, samp, in.uv, 0.0);
36
+ if (radius <= 0.0) {
37
+ if (u.isSecondPass > 0.5) {
38
+ return vec4<f32>(vec3<f32>(0.5) * origCol.a, origCol.a);
39
+ }
40
+ return origCol;
41
+ }
42
+
43
+ let texelSize = 1.0 / dimensions;
44
+ let spatial_sigma = radius;
45
+ let stepScale = max(1.0, spatial_sigma / 20.0);
46
+ let effectiveSigma = spatial_sigma / stepScale;
47
+ let sampleRadius = min(i32(ceil(3.0 * effectiveSigma)), 64);
48
+ let direction = vec2<f32>(u.dirX, u.dirY);
49
+
50
+ var blurred = vec4<f32>(0.0);
51
+ var totalWeight = 0.0;
52
+
53
+ for (var i = -sampleRadius; i <= sampleRadius; i++) {
54
+ let offset = vec2<f32>(f32(i) * stepScale) * direction * texelSize;
55
+ let x = f32(i) * stepScale;
56
+ let weight = exp(-0.5 * (x / spatial_sigma) * (x / spatial_sigma));
57
+ blurred += textureSampleLevel(tex, samp, in.uv + offset, 0.0) * weight;
58
+ totalWeight += weight;
59
+ }
60
+
61
+ let blurResult = blurred / max(totalWeight, 1e-5);
62
+
63
+ if (u.isSecondPass <= 0.5) {
64
+ // Pass 1: Intermediate horizontal blur
65
+ return blurResult;
66
+ }
67
+
68
+ // Pass 2: Vertical blur complete -> Calculate High Pass difference against original
69
+ if (origCol.a < 1e-5) {
70
+ return vec4<f32>(0.0, 0.0, 0.0, 0.0);
71
+ }
72
+
73
+ let origUnpremult = origCol.rgb / origCol.a;
74
+ let blurUnpremult = blurResult.rgb / max(blurResult.a, 1e-5);
75
+ let diff = origUnpremult - blurUnpremult;
76
+
77
+ var highPassRgb : vec3<f32>;
78
+ if (u.monochrome > 0.5) {
79
+ let lumaDiff = dot(diff, vec3<f32>(0.2126, 0.7152, 0.0722));
80
+ highPassRgb = vec3<f32>(0.5) + vec3<f32>(lumaDiff * contrastBoost);
81
+ } else {
82
+ highPassRgb = vec3<f32>(0.5) + diff * contrastBoost;
83
+ }
84
+
85
+ let clampedRgb = clamp(highPassRgb, vec3<f32>(0.0), vec3<f32>(1.0));
86
+ return vec4<f32>(clampedRgb * origCol.a, origCol.a);
87
+ }
88
+ `,$=new WeakMap,t=new Float32Array(8);function le(r,e){let o=$.get(r);if(o)return o;let f=v(r,["uniform"]),n=v(r,["texture","sampler","texture"]),p=F(r,2),m=r.createShaderModule({code:ue}),a=r.createPipelineLayout({bindGroupLayouts:[f,n,p]}),i=M(r,{module:m,layouts:a,format:e}),u={highPassUniformLayout:f,singleTextureLayout:n,signalTextureLayout:p,highPassPipeline:i};return $.set(r,u),u}var q=async r=>{let{ctx:e,encoder:o,pass:f,targetTexture:n,targetWidth:p,targetHeight:m,props:a}=r,i=a.virtualMedia?.operation;if(i?.op!=="HighPass"||!i)return;let u=a.virtualMedia.children?.[0];if(!u)return;f.end();let T=a.frame??0,G=a.fps||30,h=p,x=m,j=i.inputs?Object.keys(i.inputs)[0]:"highpass_node",H=(c,d,se=0,oe=1e3)=>D(i.inputs,c,d,se,oe),b=H(i.radiusHandleId,Number(i.radius??3),.1,R),P=H(i.contrastBoostHandleId,Number(i.contrastBoost??1),1,10),{texture:l}=await N(r,u),{highPassPipeline:U,highPassUniformLayout:L,singleTextureLayout:Q,signalTextureLayout:J}=le(e.device,e.renderer.format),B=e.renderer.samplerCache.getSampler(e.device),{elapsedSeconds:K,durationSeconds:Z}=O(a,T,G),ee={args:r,width:h,height:x,frame:T,fps:G,elapsedSeconds:K,durationSeconds:Z},_=(c,d)=>z(ee,c,`${j}_${d}`),te=_(b,"radius_sig"),re=_(P,"contrast_sig"),C=(c,d)=>e.device.createBindGroup({layout:Q,entries:[{binding:0,resource:c.createView()},{binding:1,resource:B},{binding:2,resource:d.createView()}]});t[2]=b.val,t[3]=P.val,t[4]=i.monochrome??!0?1:0,t[5]=b.hasStaticSig?1:0,t[6]=P.hasStaticSig?1:0,t[7]=0;let S=e.renderer.getTemporaryTexture(h,x,[l,n,...a.excludeTextures||[]]),I=e.renderer.getTemporaryTexture(h,x,[l,S,n,...a.excludeTextures||[]]),w=e.device.createBindGroup({layout:J,entries:[{binding:0,resource:te},{binding:1,resource:re},{binding:2,resource:B}]});t[0]=1,t[1]=0,t[7]=0;let ie=e.renderer.getTemporaryBuffer(t);y(o,S.createView(),U,[e.device.createBindGroup({layout:L,entries:[{binding:0,resource:{buffer:ie}}]}),C(l,l),w]),t[0]=0,t[1]=1,t[7]=1;let ae=e.renderer.getTemporaryBuffer(t);y(o,I.createView(),U,[e.device.createBindGroup({layout:L,entries:[{binding:0,resource:{buffer:ae}}]}),C(S,l),w]),A(r,I,i.opacity??1)};var Re=V({WebGPURenderer:q});export{Re as a};
@@ -1,3 +1,3 @@
1
- import{d as l}from"./chunk-IYVN2QEL.mjs";import{a as e,q as m,u as n,w as o}from"./chunk-NQZKBFC6.mjs";import{b as i,e as t}from"./chunk-BVF64D6H.mjs";t();var s={};i(s,{AudioSignalExtractorConfigSchema:()=>M,AudioSignalExtractorResultSchema:()=>E,ExtractionModeEnum:()=>p,SignalCurveEnum:()=>f});t();t();t();var p=e.enum(["rms_envelope","transient_beat","sub_bass","bass","mid","high","spectral_flux"]),f=e.enum(["linear","exponential","logarithmic","square","smoothstep"]),M=e.object({extractionMode:p.default("rms_envelope"),attackMs:e.number().min(.5).max(1e3).default(10),releaseMs:e.number().min(1).max(5e3).default(120),sensitivity:e.number().min(.1).max(10).default(1),noiseFloorDb:e.number().min(-90).max(0).default(-48),dynamicRangeDb:e.number().min(6).max(80).default(48),autoRange:e.boolean().default(!0),smoothing:e.number().min(0).max(1).default(.15),curve:f.default("linear"),beatThreshold:e.number().min(.01).max(1).default(.08),beatDecayMs:e.number().min(10).max(1e3).default(80),previewMode:e.enum(["waveform","envelope","beat_markers","spectrum"]).default("envelope")}),E=o(n(e.literal("Signal"),e.any()));var S={};i(S,{FnParamSchema:()=>g,SignalNodeConfigSchema:()=>_,SignalResultSchema:()=>l,WGSL_OUTPUT_TYPES:()=>d,WGSL_PARAM_TYPES:()=>c});t();t();t();var d=["f32"],c=["f32","i32","u32","vec2f","vec3f","vec4f"],g=e.object({name:e.string().regex(/^[a-zA-Z_][a-zA-Z0-9_]*$/,"Must be a valid WGSL identifier"),type:e.enum(c),defaultValue:e.number()}),_=e.object({amplitude:e.number().min(0).default(1),frequency:e.number().min(0).default(1),phase:e.number().min(-2*Math.PI).max(2*Math.PI).default(0),offset:e.number().default(0),amplitudeMin:e.number().default(-1),amplitudeMax:e.number().default(1),spatialScale:e.number().min(0).default(1),spatialSpeed:e.number().default(1),fmAmplitude:e.number().min(0).default(1),fmFrequency:e.number().min(0).default(.5),gateEnabled:e.boolean().default(!1),gateStartFrame:e.number().int().min(0).default(0),gateEndFrame:e.number().int().min(0).default(100),gateIdleValue:e.number().default(0),envelopeUseFrame:e.boolean().default(!0),baseEnabled:e.boolean().default(!0),baseType:e.enum(["sine","triangle","sawtooth","square","constant","noise_smooth","noise_white","pulse","bounce","staircase","custom"]).default("sine"),fmEnabled:e.boolean().default(!1),envelopeEnabled:e.boolean().default(!1),envelopeFamily:e.enum(["linear","sine","quad","cubic","quart","quint","expo","circ","back","elastic","bounce","smoothstep","smootherstep"]).default("sine"),envelopeMode:e.enum(["in","out","in_out"]).default("in_out"),envelopePattern:e.enum(["ramp_up","ramp_down","bell","loop"]).default("ramp_up"),envelopeCycles:e.number().int().min(1).default(2),fnBody:e.string().default(["// Bindings: t: f32 | x y z: f32 | i n frame: u32","// Constants: PI, TAU, E","return u.amplitude * sin(t * u.frequency * TAU + u.phase) + u.offset;"].join(`
1
+ import{d as l}from"./chunk-FLPSWDX4.mjs";import{a as e,q as m,u as n,w as o}from"./chunk-NQZKBFC6.mjs";import{b as i,e as t}from"./chunk-BVF64D6H.mjs";t();var s={};i(s,{AudioSignalExtractorConfigSchema:()=>M,AudioSignalExtractorResultSchema:()=>E,ExtractionModeEnum:()=>p,SignalCurveEnum:()=>f});t();t();t();var p=e.enum(["rms_envelope","transient_beat","sub_bass","bass","mid","high","spectral_flux"]),f=e.enum(["linear","exponential","logarithmic","square","smoothstep"]),M=e.object({extractionMode:p.default("rms_envelope"),attackMs:e.number().min(.5).max(1e3).default(10),releaseMs:e.number().min(1).max(5e3).default(120),sensitivity:e.number().min(.1).max(10).default(1),noiseFloorDb:e.number().min(-90).max(0).default(-48),dynamicRangeDb:e.number().min(6).max(80).default(48),autoRange:e.boolean().default(!0),smoothing:e.number().min(0).max(1).default(.15),curve:f.default("linear"),beatThreshold:e.number().min(.01).max(1).default(.08),beatDecayMs:e.number().min(10).max(1e3).default(80),previewMode:e.enum(["waveform","envelope","beat_markers","spectrum"]).default("envelope")}),E=o(n(e.literal("Signal"),e.any()));var S={};i(S,{FnParamSchema:()=>g,SignalNodeConfigSchema:()=>_,SignalResultSchema:()=>l,WGSL_OUTPUT_TYPES:()=>d,WGSL_PARAM_TYPES:()=>c});t();t();t();var d=["f32"],c=["f32","i32","u32","vec2f","vec3f","vec4f"],g=e.object({name:e.string().regex(/^[a-zA-Z_][a-zA-Z0-9_]*$/,"Must be a valid WGSL identifier"),type:e.enum(c),defaultValue:e.number()}),_=e.object({amplitude:e.number().min(0).default(1),frequency:e.number().min(0).default(1),phase:e.number().min(-2*Math.PI).max(2*Math.PI).default(0),offset:e.number().default(0),amplitudeMin:e.number().default(-1),amplitudeMax:e.number().default(1),spatialScale:e.number().min(0).default(1),spatialSpeed:e.number().default(1),fmAmplitude:e.number().min(0).default(1),fmFrequency:e.number().min(0).default(.5),gateEnabled:e.boolean().default(!1),gateStartFrame:e.number().int().min(0).default(0),gateEndFrame:e.number().int().min(0).default(100),gateIdleValue:e.number().default(0),envelopeUseFrame:e.boolean().default(!0),baseEnabled:e.boolean().default(!0),baseType:e.enum(["sine","triangle","sawtooth","square","constant","noise_smooth","noise_white","pulse","bounce","staircase","custom"]).default("sine"),fmEnabled:e.boolean().default(!1),envelopeEnabled:e.boolean().default(!1),envelopeFamily:e.enum(["linear","sine","quad","cubic","quart","quint","expo","circ","back","elastic","bounce","smoothstep","smootherstep"]).default("sine"),envelopeMode:e.enum(["in","out","in_out"]).default("in_out"),envelopePattern:e.enum(["ramp_up","ramp_down","bell","loop"]).default("ramp_up"),envelopeCycles:e.number().int().min(1).default(2),fnBody:e.string().default(["// Bindings: t: f32 | x y z: f32 | i n frame: u32","// Constants: PI, TAU, E","return u.amplitude * sin(t * u.frequency * TAU + u.phase) + u.offset;"].join(`
2
2
  `)),fnOutputType:e.enum(d).default("f32"),fnParams:e.array(g).default([]),previewMode:e.enum(["pattern","cartesian","3d"]).default("cartesian")}).superRefine((r,u)=>{r.amplitudeMax<=r.amplitudeMin&&u.addIssue({code:e.ZodIssueCode.custom,path:["amplitudeMax"],message:"amplitudeMax must be greater than amplitudeMin"}),r.gateEndFrame<=r.gateStartFrame&&u.addIssue({code:e.ZodIssueCode.custom,path:["gateEndFrame"],message:"gateEndFrame must be greater than gateStartFrame"})});var b={};i(b,{GateModeSchema:()=>x,SignalGateConfigSchema:()=>v,SignalGateResultSchema:()=>A});t();t();t();var x=e.enum(["gate","trigger","toggle"]),v=e.object({threshold:e.number().min(0).max(1).default(.5),debounceMs:e.number().min(0).max(5e3).default(100),mode:x.default("gate"),holdFrames:e.number().min(1).max(120).default(4),invert:e.boolean().default(!1)}),A=o(n(e.literal("Signal"),m));var y={};i(y,{SignalMathConfigSchema:()=>C,SignalMathOperationEnum:()=>h,SignalMathResultSchema:()=>G});t();t();t();var h=e.enum(["remap","normalize","add","subtract","multiply","divide","invert","clamp","power","smoothstep","custom"]),C=e.object({operation:h.default("remap"),bValue:e.number().default(1),inMin:e.number().default(0),inMax:e.number().default(1),outMin:e.number().default(0),outMax:e.number().default(1),clampMin:e.number().default(0),clampMax:e.number().default(1),exponent:e.number().default(2),edge0:e.number().default(0),edge1:e.number().default(1),customWGSL:e.string().default(["// Variables in scope:","// a: f32 (Signal A)","// b: f32 (Signal B or uniform bValue)","// a_min: f32, a_max: f32 (Signal A min/max stats)","// t: f32 (seconds), t_norm: f32 [0..1], frame: u32","// Constants: PI, TAU, E","return a;"].join(`
3
3
  `))}),G=o(n(e.literal("Signal"),e.record(e.string(),e.unknown())));export{s as a,S as b,b as c,y as d};
@@ -0,0 +1,62 @@
1
+ import{a as F,d as L,e as N,f as W,g as C,h as V,j as B,k as H,l as $,m as E}from"./chunk-ENKKLU7B.mjs";import{v as U,z as D}from"./chunk-63SFBHEH.mjs";import{e as p}from"./chunk-BVF64D6H.mjs";p();p();var fe=`
2
+ struct TileOffsetUniforms {
3
+ offsetX : f32,
4
+ offsetY : f32,
5
+ hasOffsetXSig : f32,
6
+ hasOffsetYSig : f32,
7
+
8
+ layerWidth : f32,
9
+ layerHeight : f32,
10
+ edgeMode : f32,
11
+ pad : f32,
12
+ };
13
+
14
+ @group(0) @binding(0) var<uniform> u : TileOffsetUniforms;
15
+ @group(1) @binding(0) var tex : texture_2d<f32>;
16
+ @group(1) @binding(1) var samp : sampler;
17
+
18
+ @group(2) @binding(0) var offsetXSigTex : texture_2d<f32>;
19
+ @group(2) @binding(1) var offsetYSigTex : texture_2d<f32>;
20
+ @group(2) @binding(2) var signalSamp : sampler;
21
+ ${F}
22
+
23
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
24
+ var offX = u.offsetX;
25
+ if (u.hasOffsetXSig > 0.5) {
26
+ let sigX = textureSampleLevel(offsetXSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
27
+ offX = offX + sigX;
28
+ }
29
+
30
+ var offY = u.offsetY;
31
+ if (u.hasOffsetYSig > 0.5) {
32
+ let sigY = textureSampleLevel(offsetYSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
33
+ offY = offY + sigY;
34
+ }
35
+
36
+ let normOffset = vec2<f32>(
37
+ offX / max(1.0, u.layerWidth),
38
+ offY / max(1.0, u.layerHeight)
39
+ );
40
+ var uv = in.uv - normOffset;
41
+
42
+ // Edge Modes:
43
+ // 0.0 = wrap (seamless modulo)
44
+ // 1.0 = clamp (edge smear)
45
+ // 2.0 = transparent (clear bounds)
46
+ // 3.0 = mirror (ping-pong reflection)
47
+ if (u.edgeMode < 0.5) {
48
+ uv = fract(uv);
49
+ } else if (u.edgeMode < 1.5) {
50
+ uv = clamp(uv, vec2<f32>(0.0), vec2<f32>(1.0));
51
+ } else if (u.edgeMode < 2.5) {
52
+ if (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0) {
53
+ return vec4<f32>(0.0);
54
+ }
55
+ } else {
56
+ uv = 1.0 - abs(fract(uv * 0.5) * 2.0 - 1.0);
57
+ }
58
+
59
+ let color = textureSampleLevel(tex, samp, uv, 0.0);
60
+ return color;
61
+ }
62
+ `,o=new Float32Array(8),ue=W(t=>({uniformLayout:L(t,["uniform"]),singleTextureLayout:L(t,["texture","sampler"]),signalTextureLayout:N(t,2),pipelineCache:new Map}));function le(t,e){let n=ue(t),u=`tile_offset_${e}`,s=n.pipelineCache.get(u);if(!s){let g=t.createShaderModule({label:`tile_offset_${e}.wgsl`,code:fe});s=C(t,{label:`TileOffsetPipeline_${e}`,module:g,layouts:[n.uniformLayout,n.singleTextureLayout,n.signalTextureLayout],format:e}),n.pipelineCache.set(u,s)}return{pipeline:s,uniformLayout:n.uniformLayout,singleTextureLayout:n.singleTextureLayout,signalTextureLayout:n.signalTextureLayout}}var de=async t=>{let{ctx:e,encoder:n,pass:u,targetTexture:s,targetWidth:g,targetHeight:A,props:a}=t,m=a.frame??0,j=a.compositionFrame??m,y=a.fps||30,r=a.virtualMedia?.operation;if(r?.op!=="TileOffset"||!r)return;let O=a.virtualMedia?.children?.[0];if(!O)return;u.end();let x=g,v=A,K=r.inputs?Object.keys(r.inputs)[0]:"tile_offset_node",w=(d,f)=>{let ie=`${d}HandleId`,G=r[ie],i=G?r.inputs?.[G]:null,M=!!(i?.connectionValid&&(i.outputItem?.type==="Signal"||i.outputItem?.type==="Numeric")),h=M&&i?.outputItem?.data?i.outputItem.data:null,c=f,P=!1;if(M)h&&(c=Number(h.offset??0),P=!0);else if(i?.connectionValid&&i.outputItem?.type==="Number")c=Number(i.outputItem.data??f);else{let ae=U(r[d],j,y).value,R=Number(ae??f);c=isNaN(R)?f:R}return{val:c,hasStaticSig:P,sd:h}},T=w("offsetX",0),S=w("offsetY",0),l=0,b=r.edgeMode??(r.wrap!==!1?"wrap":"transparent");b==="clamp"?l=1:b==="transparent"||r.wrap===!1?l=2:b==="mirror"&&(l=3);let{texture:X}=await V(t,O);t.pass.end();let{pipeline:Q,uniformLayout:q,singleTextureLayout:z,signalTextureLayout:J}=le(e.device,e.renderer.format),Y=e.renderer.samplerCache.getSampler(e.device),{elapsedSeconds:Z,durationSeconds:ee}=H(a,m,y),te={args:t,width:x,height:v,frame:m,fps:y,elapsedSeconds:Z,durationSeconds:ee},_=(d,f)=>$(te,d,`${K}_${f}`),re=_(T,"offsetX_sig"),ne=_(S,"offsetY_sig");o[0]=T.val,o[1]=S.val,o[2]=T.hasStaticSig?1:0,o[3]=S.hasStaticSig?1:0,o[4]=x,o[5]=v,o[6]=l,o[7]=0;let oe=e.renderer.getTemporaryBuffer(o),I=e.renderer.getTemporaryTexture(x,v,[X,s,...a.excludeTextures||[]]);E(n,I.createView(),Q,[e.device.createBindGroup({layout:q,entries:[{binding:0,resource:{buffer:oe}}]}),e.renderer.bindGroupCache.getBindGroup(e.device,z,X,Y),e.device.createBindGroup({layout:J,entries:[{binding:0,resource:re},{binding:1,resource:ne},{binding:2,resource:Y}]})]),B(t,I,r.opacity??1)},k=de;var ve=D({WebGPURenderer:k});export{ve as a};
@@ -0,0 +1 @@
1
+ import{c as o}from"./chunk-IQKIHFNZ.mjs";import{e}from"./chunk-BVF64D6H.mjs";e();function i(r){if(r==null)return{r:0,g:0,b:0,a:0};if(typeof r!="string")return r;let t=r.trim();if(t.length===0)return{r:0,g:0,b:0,a:0};let n=o(t);return n?{r:n[0],g:n[1],b:n[2],a:n[3]}:{r:0,g:0,b:0,a:0}}function f(r){for(let t=0;t<r.length;t+=4){let n=r[t+3];n!==255&&(r[t]=(r[t]*n+127)/255|0,r[t+1]=(r[t+1]*n+127)/255|0,r[t+2]=(r[t+2]*n+127)/255|0)}return r}export{i as a,f as b};
@@ -0,0 +1,114 @@
1
+ import{a as V,d as p,g as D,h as I,j as k,k as W,l as F,m as O}from"./chunk-ENKKLU7B.mjs";import{w as U}from"./chunk-63SFBHEH.mjs";import{e as f}from"./chunk-BVF64D6H.mjs";f();f();var j=new WeakMap,me=`
2
+ struct ColorBalanceUniforms {
3
+ shadows : vec4<f32>,
4
+ midtones : vec4<f32>,
5
+ highlights : vec4<f32>,
6
+ preserveLuminosity : f32,
7
+ hasShadowsCyanRedSig : f32,
8
+ hasShadowsMagentaGreenSig : f32,
9
+ hasShadowsYellowBlueSig : f32,
10
+
11
+ hasMidtonesCyanRedSig : f32,
12
+ hasMidtonesMagentaGreenSig : f32,
13
+ hasMidtonesYellowBlueSig : f32,
14
+ hasHighlightsCyanRedSig : f32,
15
+
16
+ hasHighlightsMagentaGreenSig : f32,
17
+ hasHighlightsYellowBlueSig : f32,
18
+ _pad0 : f32,
19
+ _pad1 : f32,
20
+ };
21
+
22
+ @group(0) @binding(0) var<uniform> u : ColorBalanceUniforms;
23
+ @group(1) @binding(0) var tex : texture_2d<f32>;
24
+ @group(1) @binding(1) var samp : sampler;
25
+
26
+ @group(2) @binding(0) var shadowsCyanRedSigTex : texture_2d<f32>;
27
+ @group(2) @binding(1) var shadowsMagentaGreenSigTex : texture_2d<f32>;
28
+ @group(2) @binding(2) var shadowsYellowBlueSigTex : texture_2d<f32>;
29
+ @group(2) @binding(3) var midtonesCyanRedSigTex : texture_2d<f32>;
30
+ @group(2) @binding(4) var midtonesMagentaGreenSigTex: texture_2d<f32>;
31
+ @group(2) @binding(5) var midtonesYellowBlueSigTex : texture_2d<f32>;
32
+ @group(2) @binding(6) var highlightsCyanRedSigTex : texture_2d<f32>;
33
+ @group(2) @binding(7) var highlightsMagentaGreenSigTex: texture_2d<f32>;
34
+ @group(2) @binding(8) var highlightsYellowBlueSigTex: texture_2d<f32>;
35
+ @group(2) @binding(9) var signalSamp : sampler;
36
+ ${V}
37
+
38
+ fn get_luminance(c: vec3<f32>) -> f32 {
39
+ return dot(c, vec3<f32>(0.2126, 0.7152, 0.0722));
40
+ }
41
+
42
+ fn set_luminance(c: vec3<f32>, l: f32) -> vec3<f32> {
43
+ let d = l - get_luminance(c);
44
+ var res = c + vec3<f32>(d);
45
+ let min_c = min(res.r, min(res.g, res.b));
46
+ let max_c = max(res.r, max(res.g, res.b));
47
+ if (min_c < 0.0) {
48
+ res = l + ((res - vec3<f32>(l)) * l) / max(l - min_c, 1e-5);
49
+ }
50
+ if (max_c > 1.0) {
51
+ res = l + ((res - vec3<f32>(l)) * (1.0 - l)) / max(max_c - l, 1e-5);
52
+ }
53
+ return clamp(res, vec3<f32>(0.0), vec3<f32>(1.0));
54
+ }
55
+
56
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
57
+ let color = textureSampleLevel(tex, samp, in.uv, 0.0);
58
+ if (color.a <= 0.00001) {
59
+ return color;
60
+ }
61
+
62
+ let alpha = color.a;
63
+ let rgb = color.rgb / max(alpha, 0.0001);
64
+
65
+ var sShift = u.shadows.rgb;
66
+ if (u.hasShadowsCyanRedSig > 0.5) {
67
+ sShift.r = clamp(textureSampleLevel(shadowsCyanRedSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;
68
+ }
69
+ if (u.hasShadowsMagentaGreenSig > 0.5) {
70
+ sShift.g = clamp(textureSampleLevel(shadowsMagentaGreenSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;
71
+ }
72
+ if (u.hasShadowsYellowBlueSig > 0.5) {
73
+ sShift.b = clamp(textureSampleLevel(shadowsYellowBlueSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;
74
+ }
75
+
76
+ var mShift = u.midtones.rgb;
77
+ if (u.hasMidtonesCyanRedSig > 0.5) {
78
+ mShift.r = clamp(textureSampleLevel(midtonesCyanRedSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;
79
+ }
80
+ if (u.hasMidtonesMagentaGreenSig > 0.5) {
81
+ mShift.g = clamp(textureSampleLevel(midtonesMagentaGreenSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;
82
+ }
83
+ if (u.hasMidtonesYellowBlueSig > 0.5) {
84
+ mShift.b = clamp(textureSampleLevel(midtonesYellowBlueSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;
85
+ }
86
+
87
+ var hShift = u.highlights.rgb;
88
+ if (u.hasHighlightsCyanRedSig > 0.5) {
89
+ hShift.r = clamp(textureSampleLevel(highlightsCyanRedSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;
90
+ }
91
+ if (u.hasHighlightsMagentaGreenSig > 0.5) {
92
+ hShift.g = clamp(textureSampleLevel(highlightsMagentaGreenSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;
93
+ }
94
+ if (u.hasHighlightsYellowBlueSig > 0.5) {
95
+ hShift.b = clamp(textureSampleLevel(highlightsYellowBlueSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;
96
+ }
97
+
98
+ let origLum = get_luminance(rgb);
99
+
100
+ // Tonal range weighting curves
101
+ let wShadows = clamp((1.0 - origLum) * (1.0 - origLum * 1.5), 0.0, 1.0);
102
+ let wMidtones = clamp(1.0 - 4.0 * (origLum - 0.5) * (origLum - 0.5), 0.0, 1.0);
103
+ let wHighlights = clamp(origLum * (origLum * 1.5 - 0.5), 0.0, 1.0);
104
+
105
+ let delta = wShadows * sShift + wMidtones * mShift + wHighlights * hShift;
106
+ var adjustedRgb = clamp(rgb + delta, vec3<f32>(0.0), vec3<f32>(1.0));
107
+
108
+ if (u.preserveLuminosity > 0.5) {
109
+ adjustedRgb = set_luminance(adjustedRgb, origLum);
110
+ }
111
+
112
+ return vec4<f32>(adjustedRgb * alpha, alpha);
113
+ }
114
+ `;function fe(t,i){let g=j.get(t);if(g)return g;let d=p(t,["uniform"],"ColorBalanceUniformLayout"),c=p(t,["texture","sampler"],"ColorBalanceTextureLayout"),h=p(t,["texture","texture","texture","texture","texture","texture","texture","texture","texture","sampler"],"ColorBalanceSignalTextureLayout"),S=t.createShaderModule({label:"ColorBalanceShaderModule",code:me});return g={pipeline:D(t,{label:"ColorBalancePipeline",module:S,layouts:[d,c,h],format:i}),uniformLayout:d,textureLayout:c,signalTextureLayout:h},j.set(t,g),g}var e=new Float32Array(24),N=async t=>{let{ctx:i,encoder:g,pass:d,targetTexture:c,targetWidth:h,targetHeight:S,props:r}=t,n=r.virtualMedia?.operation;if(n?.op!=="ColorBalance"||!r.virtualMedia?.children?.[0])return;d.end();let x=r.frame??0,L=r.compositionFrame??x,m=r.fps||30,A=r.virtualMedia.children[0],T=h,M=S,E=r.virtualMedia?.metadata?.id||(n.inputs?Object.keys(n.inputs)[0]:null)||r.renderId||"colorbalance_node",o=(a,u,de=-100,ce=100)=>U(n.inputs,a,u,de,ce),s=a=>{a!=null&&(typeof a=="object"&&a!==null?"get"in a&&typeof a.get=="function"?a=a.get({frame:L,fps:m}):"value"in a&&(a=a.value):typeof a=="function"&&(a=a(L,m)));let u=Number(a??0);return isNaN(u)?0:u},w=o(n.shadows_cyanRedHandleId,s(n.shadows?.cyanRed)),v=o(n.shadows_magentaGreenHandleId,s(n.shadows?.magentaGreen)),y=o(n.shadows_yellowBlueHandleId,s(n.shadows?.yellowBlue)),b=o(n.midtones_cyanRedHandleId,s(n.midtones?.cyanRed)),B=o(n.midtones_magentaGreenHandleId,s(n.midtones?.magentaGreen)),_=o(n.midtones_yellowBlueHandleId,s(n.midtones?.yellowBlue)),G=o(n.highlights_cyanRedHandleId,s(n.highlights?.cyanRed)),R=o(n.highlights_magentaGreenHandleId,s(n.highlights?.magentaGreen)),C=o(n.highlights_yellowBlueHandleId,s(n.highlights?.yellowBlue)),{texture:H}=await I(t,A),{pipeline:$,uniformLayout:Q,textureLayout:q,signalTextureLayout:z}=fe(i.device,i.renderer.format),Y=i.renderer.samplerCache.getSampler(i.device),{elapsedSeconds:J,durationSeconds:K}=W(r,x,m),X={args:t,width:T,height:M,frame:x,fps:m,elapsedSeconds:J,durationSeconds:K},l=(a,u)=>F(X,a,`${E}_${u}`),Z=l(w,"shadows_cyanRed_sig"),ee=l(v,"shadows_magentaGreen_sig"),ne=l(y,"shadows_yellowBlue_sig"),ae=l(b,"midtones_cyanRed_sig"),te=l(B,"midtones_magentaGreen_sig"),ie=l(_,"midtones_yellowBlue_sig"),re=l(G,"highlights_cyanRed_sig"),oe=l(R,"highlights_magentaGreen_sig"),se=l(C,"highlights_yellowBlue_sig"),le=n.preserveLuminosity===!1?0:1;e[0]=w.val/100,e[1]=v.val/100,e[2]=y.val/100,e[3]=0,e[4]=b.val/100,e[5]=B.val/100,e[6]=_.val/100,e[7]=0,e[8]=G.val/100,e[9]=R.val/100,e[10]=C.val/100,e[11]=0,e[12]=le,e[13]=w.hasStaticSig?1:0,e[14]=v.hasStaticSig?1:0,e[15]=y.hasStaticSig?1:0,e[16]=b.hasStaticSig?1:0,e[17]=B.hasStaticSig?1:0,e[18]=_.hasStaticSig?1:0,e[19]=G.hasStaticSig?1:0,e[20]=R.hasStaticSig?1:0,e[21]=C.hasStaticSig?1:0,e[22]=0,e[23]=0;let ge=i.renderer.getTemporaryBuffer(e),P=i.renderer.getTemporaryTexture(T,M,[H,c,...r.excludeTextures||[]]),ue=i.device.createBindGroup({layout:z,entries:[{binding:0,resource:Z},{binding:1,resource:ee},{binding:2,resource:ne},{binding:3,resource:ae},{binding:4,resource:te},{binding:5,resource:ie},{binding:6,resource:re},{binding:7,resource:oe},{binding:8,resource:se},{binding:9,resource:Y}]});O(g,P.createView(),$,[i.device.createBindGroup({layout:Q,entries:[{binding:0,resource:{buffer:ge}}]}),i.renderer.bindGroupCache.getBindGroup(i.device,q,H,Y),ue]),k(t,P,r.opacity??1)};var ye={WebGPURenderer:N};export{N as a,ye as b};
@@ -1,4 +1,4 @@
1
- import{a as oe}from"./chunk-XOEEGC4Z.mjs";import{b as le,c as se}from"./chunk-IYVN2QEL.mjs";import{a as u}from"./chunk-NQZKBFC6.mjs";import{t as ne}from"./chunk-ZNGOAGAI.mjs";import{d as L}from"./chunk-6YJP57MZ.mjs";import{e as s}from"./chunk-BVF64D6H.mjs";s();s();s();s();var O=0,F=1,B=.5,W=50,H=0,z=100,X=0,k=50,$=-100,Y=100,Ee=u.enum(["Alpha","Luminance","Red","Green","Blue"]),Te=u.enum(["Composite","MatteOnly","DecontaminatedRGB"]),Ce=oe().field("decontaminateAmount",u.number().multipleOf(.01).min(O).max(F).default(.7),{bindable:!0,dataTypes:["Number","Signal"],label:"Decontaminate Colors",description:"Amount of edge color spill decontamination/defringing (0.0\u20131.0)."}).field("radius",u.number().multipleOf(.1).min(B).max(W).default(2),{bindable:!0,dataTypes:["Number","Signal"],label:"Edge Detection Radius (px)",description:"Radius in pixels around alpha transitions to refine and decontaminate."}).field("smooth",u.number().min(H).max(z).default(5),{bindable:!0,dataTypes:["Number","Signal"],label:"Smoothness",description:"Matte edge smoothing curve intensity (0\u2013100)."}).field("feather",u.number().multipleOf(.1).min(X).max(k).default(.5),{bindable:!0,dataTypes:["Number","Signal"],label:"Feather (px)",description:"Sub-pixel gaussian softness along the matte boundary."}).field("shiftEdge",u.number().min($).max(Y).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Shift Edge (%)",description:"Contract (<0) or expand (>0) the edge boundary (-100% to +100%)."}).field("matteChannel",Ee.default("Alpha"),{label:"Matte Channel",description:"Channel to extract matte from (Alpha, Luminance, Red, Green, Blue)."}).field("outputMode",Te.default("Composite"),{label:"Output Mode",description:"Composite (decontaminated RGB + refined alpha), MatteOnly (grayscale mask), DecontaminatedRGB (clean RGB with full alpha)."}).build(),_e=Ce.schema,Ve=u.union([le,se]);s();var Ge={Alpha:0,Luminance:1,Red:2,Green:3,Blue:4},Ie={Composite:0,MatteOnly:1,DecontaminatedRGB:2},we=`
1
+ import{a as le}from"./chunk-XOEEGC4Z.mjs";import{b as se,c as ue}from"./chunk-FLPSWDX4.mjs";import{a as r}from"./chunk-NQZKBFC6.mjs";import{a as te,d as ae,e as G,g as ie,h as _,j as ne,k as re,l as oe,m as L}from"./chunk-ENKKLU7B.mjs";import{w as Z,z as ee}from"./chunk-63SFBHEH.mjs";import{e as n}from"./chunk-BVF64D6H.mjs";n();n();n();n();var N=0,U=1,V=.5,O=50,P=0,F=100,B=0,W=50,H=-100,z=100,ye=r.enum(["Alpha","Luminance","Red","Green","Blue"]),De=r.enum(["Composite","MatteOnly","DecontaminatedRGB"]),we=le().field("decontaminateAmount",r.number().multipleOf(.01).min(N).max(U).default(.7),{bindable:!0,dataTypes:["Number","Signal"],label:"Decontaminate Colors",description:"Amount of edge color spill decontamination/defringing (0.0\u20131.0)."}).field("radius",r.number().multipleOf(.1).min(V).max(O).default(2),{bindable:!0,dataTypes:["Number","Signal"],label:"Edge Detection Radius (px)",description:"Radius in pixels around alpha transitions to refine and decontaminate."}).field("smooth",r.number().min(P).max(F).default(5),{bindable:!0,dataTypes:["Number","Signal"],label:"Smoothness",description:"Matte edge smoothing curve intensity (0\u2013100)."}).field("feather",r.number().multipleOf(.1).min(B).max(W).default(.5),{bindable:!0,dataTypes:["Number","Signal"],label:"Feather (px)",description:"Sub-pixel gaussian softness along the matte boundary."}).field("shiftEdge",r.number().min(H).max(z).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Shift Edge (%)",description:"Contract (<0) or expand (>0) the edge boundary (-100% to +100%)."}).field("matteChannel",ye.default("Alpha"),{label:"Matte Channel",description:"Channel to extract matte from (Alpha, Luminance, Red, Green, Blue)."}).field("outputMode",De.default("Composite"),{label:"Output Mode",description:"Composite (decontaminated RGB + refined alpha), MatteOnly (grayscale mask), DecontaminatedRGB (clean RGB with full alpha)."}).build(),Oe=we.schema,Pe=r.union([se,ue]);n();var Ge={Alpha:0,Luminance:1,Red:2,Green:3,Blue:4},_e={Composite:0,MatteOnly:1,DecontaminatedRGB:2},Le=`
2
2
  struct RefineEdgeUniforms {
3
3
  dirX : f32,
4
4
  dirY : f32,
@@ -39,27 +39,7 @@ struct RefineEdgeUniforms {
39
39
  @group(2) @binding(3) var featherSigTex : texture_2d<f32>;
40
40
  @group(2) @binding(4) var shiftEdgeSigTex : texture_2d<f32>;
41
41
  @group(2) @binding(5) var signalSamp : sampler;
42
-
43
- struct VSOut {
44
- @builtin(position) pos : vec4<f32>,
45
- @location(0) uv : vec2<f32>,
46
- };
47
-
48
- @vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
49
- var pos = array<vec2<f32>, 4>(
50
- vec2<f32>(-1.0, 1.0),
51
- vec2<f32>(1.0, 1.0),
52
- vec2<f32>(-1.0, -1.0),
53
- vec2<f32>(1.0, -1.0)
54
- );
55
- var uv = array<vec2<f32>, 4>(
56
- vec2<f32>(0.0, 0.0),
57
- vec2<f32>(1.0, 0.0),
58
- vec2<f32>(0.0, 1.0),
59
- vec2<f32>(1.0, 1.0)
60
- );
61
- return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
62
- }
42
+ ${te}
63
43
 
64
44
  fn extractChannel(color : vec4<f32>, chCode : f32) -> f32 {
65
45
  if (chCode < 0.5) {
@@ -289,4 +269,4 @@ fn extractChannel(color : vec4<f32>, chCode : f32) -> f32 {
289
269
  return vec4<f32>(decontaminatedColor, 1.0);
290
270
  }
291
271
  }
292
- `,de=new WeakMap;function Pe(r,e){let d=de.get(r);if(d)return d;let E=r.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),T=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,sampler:{type:"filtering"}}]}),p=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,sampler:{type:"filtering"}}]}),f=r.createShaderModule({code:we}),v=r.createPipelineLayout({bindGroupLayouts:[E,T,p]}),t=r.createRenderPipeline({layout:v,vertex:{module:f,entryPoint:"vs"},fragment:{module:f,entryPoint:"fs",targets:[{format:e}]},primitive:{topology:"triangle-strip"}}),b={uniformLayout:E,textureLayout:T,signalTextureLayout:p,pipeline:t};return de.set(r,b),b}var ue=async r=>{let{ctx:e,encoder:d,pass:E,targetView:T,targetTexture:p,targetWidth:f,targetHeight:v,props:t,drawChild:b}=r,a=t.virtualMedia?.operation;if(a?.op!=="RefineEdge"||!a)return;let I=t.virtualMedia?.children?.[0];if(!I)return;E.end();let j=t.frame??0,q=t.fps||30,n=f,o=v,M=(i,x,C=0,re=1e3)=>{if(i&&a.inputs?.[i]?.connectionValid){let c=a.inputs[i].outputItem;if(c?.type==="Number"){let Ae=typeof c.data=="number"?c.data:c.data?.value??x;return{val:Math.max(C,Math.min(re,Ae)),hasStaticSig:!1,sd:null,handleId:i}}if(c?.type==="Signal"&&c.data)return{val:x,hasStaticSig:!0,sd:c.data,handleId:i}}return{val:Math.max(C,Math.min(re,x)),hasStaticSig:!1,sd:null,handleId:i}},w=M(a.decontaminateAmountHandleId,Number(a.decontaminateAmount??.7),O,F),P=M(a.radiusHandleId,Number(a.radius??2),B,W),D=M(a.smoothHandleId,Number(a.smooth??5),H,z),N=M(a.featherHandleId,Number(a.feather??.5),X,k),U=M(a.shiftEdgeHandleId,Number(a.shiftEdge??0),$,Y),m=e.renderer.getTemporaryTexture(n,o,[...t.excludeTextures||[],p]),g=m.createView();e.renderer.beginFrame(d,g,{r:0,g:0,b:0,a:0},n,o,"clear").end(),e.renderer.pushScissor({x:0,y:0,width:n,height:o}),e.renderer.pushIdentity(),await b(I,{...t,virtualMedia:I,renderId:`${t.renderId}-input`,excludeTextures:[...t.excludeTextures||[],m]},g,m,n,o),e.renderer.popTransform(),e.renderer.popScissor();let l=null;if(a.matteMedia){l=e.renderer.getTemporaryTexture(n,o,[...t.excludeTextures||[],p,m]);let i=l.createView();e.renderer.beginFrame(d,i,{r:0,g:0,b:0,a:0},n,o,"clear").end(),e.renderer.pushScissor({x:0,y:0,width:n,height:o}),e.renderer.pushIdentity(),await b(a.matteMedia,{...t,virtualMedia:a.matteMedia,renderId:`${t.renderId}-matte`,excludeTextures:[...t.excludeTextures||[],m,l]},i,l,n,o),e.renderer.popTransform(),e.renderer.popScissor()}let{pipeline:J,uniformLayout:K,textureLayout:Q,signalTextureLayout:pe}=Pe(e.device,e.renderer.format),_=e.renderer.samplerCache.getSampler(e.device),me=t.elapsedMs!==void 0?t.elapsedMs/1e3:j/q,ce=t.virtualMedia?.metadata?.durationMs?t.virtualMedia.metadata.durationMs/1e3:t.durationMs!==void 0?t.durationMs/1e3:0,y=(i,x)=>{if(i.hasStaticSig&&i.sd){let C=i.sd.nodeId??i.handleId??`${t.renderId??"refineedge"}_${x}`;return L.getOrCreate2DTextureView(e.device,d,C,me,ce,i.sd,n,o,t.renderId,j,q)}return L.getDummy1x1TextureView(e.device)},fe=y(w,"decontam_sig"),ge=y(P,"radius_sig"),he=y(D,"smooth_sig"),Se=y(N,"feather_sig"),xe=y(U,"shiftEdge_sig"),Z=e.device.createBindGroup({layout:pe,entries:[{binding:0,resource:fe},{binding:1,resource:ge},{binding:2,resource:he},{binding:3,resource:Se},{binding:4,resource:xe},{binding:5,resource:_}]}),ve=Ge[a.matteChannel??"Alpha"]??0,be=Ie[a.outputMode??"Composite"]??0,ee=l?l.createView():g,R=new Float32Array(20),A=new Float32Array(20),te=[0,0,w.val,P.val,D.val,N.val,U.val,ve,be,l?1:0,w.hasStaticSig?1:0,P.hasStaticSig?1:0,D.hasStaticSig?1:0,N.hasStaticSig?1:0,U.hasStaticSig?1:0,0,0,0,0,0];R.set(te),R[0]=1,R[1]=0,R[15]=0,A.set(te),A[0]=0,A[1]=1,A[15]=1;let V=e.renderer.getTemporaryTexture(n,o,[m,...l?[l]:[],p,...t.excludeTextures||[]]),ae=e.renderer.getTemporaryTexture(n,o,[m,...l?[l]:[],V,p,...t.excludeTextures||[]]),Me=e.renderer.getTemporaryBuffer(R),h=d.beginRenderPass({colorAttachments:[{view:V.createView(),loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});h.setPipeline(J),h.setBindGroup(0,e.device.createBindGroup({layout:K,entries:[{binding:0,resource:{buffer:Me}}]})),h.setBindGroup(1,e.device.createBindGroup({layout:Q,entries:[{binding:0,resource:g},{binding:1,resource:ee},{binding:2,resource:g},{binding:3,resource:_}]})),h.setBindGroup(2,Z),h.draw(4),h.end();let ye=e.renderer.getTemporaryBuffer(A),S=d.beginRenderPass({colorAttachments:[{view:ae.createView(),loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});S.setPipeline(J),S.setBindGroup(0,e.device.createBindGroup({layout:K,entries:[{binding:0,resource:{buffer:ye}}]})),S.setBindGroup(1,e.device.createBindGroup({layout:Q,entries:[{binding:0,resource:V.createView()},{binding:1,resource:ee},{binding:2,resource:g},{binding:3,resource:_}]})),S.setBindGroup(2,Z),S.draw(4),S.end();let ie=e.renderer.beginFrame(d,T,{r:0,g:0,b:0,a:0},f,v,"load"),Re=t.opacity??a.opacity??1;e.renderer.drawTexture(ie,ae,{x:0,y:0,width:f,height:v},{opacity:Re}),r.pass=ie};var Je=ne({WebGPURenderer:ue});export{ue as a,Je as b};
272
+ `,de=new WeakMap;function Ne(i,a){let s=de.get(i);if(s)return s;let f=ae(i,["uniform"]),u=G(i,3),g=G(i,5),b=i.createShaderModule({code:Le}),t=i.createPipelineLayout({bindGroupLayouts:[f,u,g]}),e=ie(i,{module:b,layouts:t,format:a}),l={uniformLayout:f,textureLayout:u,signalTextureLayout:g,pipeline:e};return de.set(i,l),l}var me=async i=>{let{ctx:a,encoder:s,pass:f,targetTexture:u,targetWidth:g,targetHeight:b,props:t}=i,e=t.virtualMedia?.operation;if(e?.op!=="RefineEdge"||!e)return;let l=t.virtualMedia?.children?.[0];if(!l)return;f.end();let X=t.frame??0,k=t.fps||30,M=g,E=b,d=(x,w,Ie=0,Te=1e3)=>Z(e.inputs,x,w,Ie,Te),R=d(e.decontaminateAmountHandleId,Number(e.decontaminateAmount??.7),N,U),A=d(e.radiusHandleId,Number(e.radius??2),V,O),C=d(e.smoothHandleId,Number(e.smooth??5),P,F),I=d(e.featherHandleId,Number(e.feather??.5),B,W),T=d(e.shiftEdgeHandleId,Number(e.shiftEdge??0),H,z),{texture:h,view:S}=await _(i,l,{props:{...t,virtualMedia:l,renderId:`${t.renderId}-input`}}),o=null;e.matteMedia&&({texture:o}=await _(i,e.matteMedia,{props:{...t,virtualMedia:e.matteMedia,renderId:`${t.renderId}-matte`,excludeTextures:[...t.excludeTextures||[],h]},exclude:[h]}));let{pipeline:$,uniformLayout:Y,textureLayout:j,signalTextureLayout:pe}=Ne(a.device,a.renderer.format),y=a.renderer.samplerCache.getSampler(a.device),{elapsedSeconds:ce,durationSeconds:fe}=re(t,X,k),ge={args:i,width:M,height:E,frame:X,fps:k,elapsedSeconds:ce,durationSeconds:fe},m=(x,w)=>oe(ge,x,x.handleId??`${t.renderId??"refineedge"}_${w}`),he=m(R,"decontam_sig"),Se=m(A,"radius_sig"),xe=m(C,"smooth_sig"),ve=m(I,"feather_sig"),be=m(T,"shiftEdge_sig"),q=a.device.createBindGroup({layout:pe,entries:[{binding:0,resource:he},{binding:1,resource:Se},{binding:2,resource:xe},{binding:3,resource:ve},{binding:4,resource:be},{binding:5,resource:y}]}),Me=Ge[e.matteChannel??"Alpha"]??0,Ee=_e[e.outputMode??"Composite"]??0,Q=o?o.createView():S,p=new Float32Array(20),c=new Float32Array(20),J=[0,0,R.val,A.val,C.val,I.val,T.val,Me,Ee,o?1:0,R.hasStaticSig?1:0,A.hasStaticSig?1:0,C.hasStaticSig?1:0,I.hasStaticSig?1:0,T.hasStaticSig?1:0,0,0,0,0,0];p.set(J),p[0]=1,p[1]=0,p[15]=0,c.set(J),c[0]=0,c[1]=1,c[15]=1;let D=a.renderer.getTemporaryTexture(M,E,[h,...o?[o]:[],u,...t.excludeTextures||[]]),K=a.renderer.getTemporaryTexture(M,E,[h,...o?[o]:[],D,u,...t.excludeTextures||[]]),Re=a.renderer.getTemporaryBuffer(p);L(s,D.createView(),$,[a.device.createBindGroup({layout:Y,entries:[{binding:0,resource:{buffer:Re}}]}),a.device.createBindGroup({layout:j,entries:[{binding:0,resource:S},{binding:1,resource:Q},{binding:2,resource:S},{binding:3,resource:y}]}),q]);let Ae=a.renderer.getTemporaryBuffer(c);L(s,K.createView(),$,[a.device.createBindGroup({layout:Y,entries:[{binding:0,resource:{buffer:Ae}}]}),a.device.createBindGroup({layout:j,entries:[{binding:0,resource:D.createView()},{binding:1,resource:Q},{binding:2,resource:S},{binding:3,resource:y}]}),q]);let Ce=t.opacity??e.opacity??1;ne(i,K,Ce)};var Ze=ee({WebGPURenderer:me});export{me as a,Ze as b};
@@ -0,0 +1 @@
1
+ import{b as L}from"./chunk-Q4Z54DQ7.mjs";import{e as G}from"./chunk-BVF64D6H.mjs";G();var T=class{deviceCaches=new WeakMap;devicePromises=new WeakMap;rawDataCache=new Map;rawDataPromises=new Map;listeners=new Set;onChange(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}emit(e){for(let t of this.listeners)try{t(e)}catch{}}getAnyMatching(e,t){let a=this.getCache(t),r=Array.from(a.keys());for(let o=r.length-1;o>=0;o--){let u=r[o];if(u.startsWith(e))return a.get(u)}}getOrCreateRawDataPromise(e){let t=this.rawDataPromises.get(e);if(!t){let a,r;t={promise:new Promise((u,f)=>{a=u,r=f}),resolve:a,reject:r},this.rawDataPromises.set(e,t)}return t}rejectRawDataPromise(e,t){let a=this.rawDataPromises.get(e);a&&(a.reject(t),this.rawDataPromises.delete(e)),this.emit(e)}getCache(e){let t=this.deviceCaches.get(e);return t||(t=new Map,this.deviceCaches.set(e,t)),t}getPromises(e){let t=this.devicePromises.get(e);return t||(t=new Map,this.devicePromises.set(e,t)),t}get(e,t){return this.getCache(t).get(e)}set(e,t,a){let r=this.getCache(t),o=r.get(e);if(o&&o!==a){if(o.texture!==a.texture){let u=o.texture;t.queue.onSubmittedWorkDone().then(()=>{try{u.destroy()}catch{}}).catch(()=>{})}if(o.vertexBuffer!==a.vertexBuffer){let u=o.vertexBuffer;t.queue.onSubmittedWorkDone().then(()=>{try{u.destroy()}catch{}}).catch(()=>{})}}r.set(e,a)}getRawData(e){return this.rawDataCache.get(e)}getAnyRawData(){let e=Array.from(this.rawDataCache.values());return e[e.length-1]}createOrUpdate(e,t,a,r,o){let u={points:a,size:r,type:o};this.rawDataCache.set(e,u);let f=this.rawDataPromises.get(e);f&&(f.resolve(u),this.rawDataPromises.delete(e));let D=[];if(o==="3D"){let s=0;for(let i=0;i<r;i++)for(let n=0;n<r;n++)for(let d=0;d<r;d++){let c=d/(r-1||1),h=n/(r-1||1),g=i/(r-1||1),x=a[s]||[c,h,g];s++,D.push(c-.5,h-.5,g-.5),D.push(x[0],x[1],x[2])}}else for(let s=0;s<a.length;s++){let i=s/(a.length-1||1),n=a[s];D.push(i-.5,0,0),D.push(n[0],n[1],n[2])}let y=new Float32Array(D),l=this.get(e,t),m=l?.texture;if(!m||l?.size!==r||l?.type!==o){if(l){let s=l.texture;t.queue.onSubmittedWorkDone().then(()=>{try{s.destroy()}catch{}}).catch(()=>{})}o==="3D"?m=t.createTexture({size:[r,r,r],dimension:"3d",format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST}):m=t.createTexture({size:[r,1,1],dimension:"1d",format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST})}if(o==="3D"){let i=Math.ceil(r*4/256)*256,n=new Uint8Array(i*r*r),d=0;for(let c=0;c<r;c++)for(let h=0;h<r;h++)for(let g=0;g<r;g++){let x=g/(r-1||1),w=h/(r-1||1),C=c/(r-1||1),U=a[d]||[x,w,C];d++;let b=g*4+h*i+c*i*r;n[b]=Math.max(0,Math.min(255,Math.round(U[0]*255))),n[b+1]=Math.max(0,Math.min(255,Math.round(U[1]*255))),n[b+2]=Math.max(0,Math.min(255,Math.round(U[2]*255))),n[b+3]=255}t.queue.writeTexture({texture:m},n,{bytesPerRow:i,rowsPerImage:r},[r,r,r])}else{let i=new Uint8Array(r*4);for(let n=0;n<r;n++){let d=a[n]||[n/(r-1||1),0,0],c=n*4;i[c]=Math.max(0,Math.min(255,Math.round(d[0]*255))),i[c+1]=Math.max(0,Math.min(255,Math.round(d[1]*255))),i[c+2]=Math.max(0,Math.min(255,Math.round(d[2]*255))),i[c+3]=255}t.queue.writeTexture({texture:m},i,{},[r,1,1])}let P=l?.vertexBuffer;if(!P||P.size<y.byteLength){if(l){let s=l.vertexBuffer;t.queue.onSubmittedWorkDone().then(()=>{try{s.destroy()}catch{}}).catch(()=>{})}P=t.createBuffer({size:y.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST})}t.queue.writeBuffer(P,0,y);let p={texture:m,type:o,size:r,vertexBuffer:P,vertexCount:a.length};return this.set(e,t,p),this.emit(e),p}async getOrLoad(e,t,a){if(a?.aborted)throw new DOMException("The operation was aborted.","AbortError");let r=this.get(e,t);if(r)return r;let o=this.rawDataCache.get(e);if(o)return this.createOrUpdate(e,t,o.points,o.size,o.type);let u=this.getPromises(t),f=u.get(e);return f||(f=(async()=>{if(e.startsWith("runtime://")){let p=this.getOrCreateRawDataPromise(e),s,i=new Promise((c,h)=>{let g=()=>{s=setTimeout(()=>{(()=>{if(typeof window<"u"){let w=window.renderer_delayRenderHandles;if(Array.isArray(w)&&w.length>0)return!0}if(typeof globalThis<"u"){let w=globalThis.__GATEWAI_DELAYS__;if(w instanceof Set&&w.size>0)return!0}return!1})()?g():h(new Error(`Timeout waiting for runtime LUT "${e}" after 5000ms.`))},5e3)};g()}),n,d;a&&(d=new Promise((c,h)=>{n=()=>{h(new DOMException("The operation was aborted.","AbortError"))},a.addEventListener("abort",n)}));try{let c=[p.promise,i];d&&c.push(d);let h=await Promise.race(c);return this.createOrUpdate(e,t,h.points,h.size,h.type)}finally{clearTimeout(s),n&&a&&a.removeEventListener("abort",n)}}let y=(await A(e,a)).split(/\r?\n/),l=33,m="3D",P=[];for(let p of y){let s=p.trim();if(!s||s.startsWith("#"))continue;if(s.startsWith("LUT_3D_SIZE")){let n=s.split(/\s+/);l=parseInt(n[1],10),m="3D";continue}if(s.startsWith("LUT_1D_SIZE")){let n=s.split(/\s+/);l=parseInt(n[1],10),m="1D";continue}if(s.match(/^[a-zA-Z]/))continue;let i=s.split(/\s+/).map(Number);i.length===3&&i.every(n=>!isNaN(n))&&P.push([i[0],i[1],i[2]])}if(P.length===0)throw new Error("No valid color mappings found in LUT file.");return this.createOrUpdate(e,t,P,l,m)})(),u.set(e,f),f.catch(()=>{u.delete(e)})),f}evict(e,t){let a=this.getCache(t),r=a.get(e);if(r){let o=r.texture,u=r.vertexBuffer;t.queue.onSubmittedWorkDone().then(()=>{try{o.destroy()}catch{}try{u.destroy()}catch{}}).catch(()=>{}),a.delete(e)}this.getPromises(t).delete(e)}hasPending(e){let t=this.devicePromises.get(e);return t!==void 0&&t.size>0||this.rawDataPromises.size>0}async awaitAllPending(e){let t=Array.from(this.getPromises(e).values());await Promise.all(t)}destroy(){this.deviceCaches=new WeakMap,this.devicePromises=new WeakMap,this.rawDataCache.clear(),this.rawDataPromises.clear()}},M="__GATEWAI_LUT_STORE__",E=(globalThis[M]||(globalThis[M]=new T),globalThis[M]);async function A(v,e){let t=await L(v);if(t!==null){let{readFile:r}=await import("./shims/fs-promises.mjs");return r(t,{encoding:"utf8",signal:e})}let a=await fetch(v,{signal:e});if(!a.ok)throw new Error(`Failed to load LUT file: ${a.statusText}`);return a.text()}export{E as a};
@@ -1,4 +1,4 @@
1
- import{a as I}from"./chunk-D3TETPLI.mjs";import{c as n,t as _}from"./chunk-ZNGOAGAI.mjs";import{e as o}from"./chunk-BVF64D6H.mjs";o();o();var T=["roomSize","damping","wet","dry","width"],k=()=>`
1
+ import{a as _}from"./chunk-ZH5MZQTZ.mjs";import{c as a,y as n,z as O}from"./chunk-63SFBHEH.mjs";import{e as u}from"./chunk-BVF64D6H.mjs";u();u();var U=["roomSize","damping","wet","dry","width"],G=()=>`
2
2
  struct Uniforms {
3
3
  sampleRate : f32,
4
4
  roomSize : f32,
@@ -268,4 +268,4 @@ fn main(@builtin(global_invocation_id) gid : vec3<u32>) {
268
268
  state[metaOffset + 3u] = filterStores[f];
269
269
  }
270
270
  }
271
- `,R=[1116,1188,1277,1356,1422,1491,1557,1617],z=[556,441,341,225],y=async(l,d,c,t)=>{if(!t?.device)throw new Error("GPUDevice is required for WebGPU Reverb.");let e=c.operation||{},V=e.inputs||{},b=l.length;if(b===0)return;let v=l[0].length;if(v===0)return;let j=Math.max(0,Math.min(n(e.roomSize,.5),.98)),D=Math.max(0,Math.min(n(e.damping,.5),1)),L=Math.max(0,Math.min(n(e.wet,.3),1)),w=Math.max(0,Math.min(n(e.dry,1),1)),W=Math.max(0,Math.min(n(e.width,1),1)),r=f=>{let a=e[f];if(typeof a!="string"||!a)return!1;let s=V[a];return!!(s?.connectionValid&&s.outputItem&&(s.outputItem.type==="Signal"||s.outputItem.type==="Number"))},M=r("roomSizeHandleId")?1:0,C=r("dampingHandleId")?1:0,A=r("wetHandleId")?1:0,P=r("dryHandleId")?1:0,E=r("widthHandleId")?1:0,u=d/44100,H=e.id||"audio-reverb",S=t.frame??0,F=t.fps??24,m=[],p=[];R.forEach(f=>{m.push(Math.round(f*u))}),R.forEach(f=>{p.push(Math.round((f+23)*u))}),z.forEach(f=>{m.push(Math.round(f*u))}),z.forEach(f=>{p.push(Math.round((f+23)*u))});let g=96,x=0,h=[...m,...p];for(let f of h)x+=f;let U=g+x,i=new Float32Array(g),O=g;for(let f=0;f<24;f++){let a=h[f];i[f*4]=a,i[f*4+1]=O,i[f*4+2]=0,i[f*4+3]=0,O+=a}await I.process(t.device,H,l,d,c,S,F,k,()=>[d,j,D,L,w,W,M,C,A,P,E,0,S,v,b,0],16,U,t?.renderId,!0,t?.elapsedMs,t?.durationMs,i,void 0,T)};var X=_({audioProcessor:y});export{X as a};
271
+ `,R=[1116,1188,1277,1356,1422,1491,1557,1617],z=[556,441,341,225],I=async(s,o,p,t)=>{if(!t?.device)throw new Error("GPUDevice is required for WebGPU Reverb.");let e=p.operation||{},g=s.length;if(g===0)return;let c=s[0].length;if(c===0)return;let V=Math.max(0,Math.min(a(e.roomSize,.5),.98)),y=Math.max(0,Math.min(a(e.damping,.5),1)),j=Math.max(0,Math.min(a(e.wet,.3),1)),D=Math.max(0,Math.min(a(e.dry,1),1)),L=Math.max(0,Math.min(a(e.width,1),1)),w=n(e,"roomSizeHandleId")?1:0,W=n(e,"dampingHandleId")?1:0,M=n(e,"wetHandleId")?1:0,C=n(e,"dryHandleId")?1:0,A=n(e,"widthHandleId")?1:0,i=o/44100,P=e.id||"audio-reverb",v=t.frame??0,E=t.fps??24,l=[],d=[];R.forEach(f=>{l.push(Math.round(f*i))}),R.forEach(f=>{d.push(Math.round((f+23)*i))}),z.forEach(f=>{l.push(Math.round(f*i))}),z.forEach(f=>{d.push(Math.round((f+23)*i))});let m=96,b=0,x=[...l,...d];for(let f of x)b+=f;let H=m+b,r=new Float32Array(m),S=m;for(let f=0;f<24;f++){let h=x[f];r[f*4]=h,r[f*4+1]=S,r[f*4+2]=0,r[f*4+3]=0,S+=h}await _.process(t.device,P,s,o,p,v,E,G,()=>[o,V,y,j,D,L,w,W,M,C,A,0,v,c,g,0],16,H,t?.renderId,!0,t?.elapsedMs,t?.durationMs,r,void 0,U)};var K=O({audioProcessor:I});export{K as a};