framefields 2.5.3 → 2.5.5

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 (448) hide show
  1. package/dist/audio/index.d.mts +4 -4
  2. package/dist/audio/index.mjs +10 -10
  3. package/dist/{audio-2ew5y0Bl.d.mts → audio-B5mdR8vv.d.mts} +3 -3
  4. package/dist/{audio-2ew5y0Bl.d.mts.map → audio-B5mdR8vv.d.mts.map} +1 -1
  5. package/dist/{audio-DrUskzwZ.mjs → audio-C9euVW4K.mjs} +3 -3
  6. package/dist/{audio-DrUskzwZ.mjs.map → audio-C9euVW4K.mjs.map} +1 -1
  7. package/dist/components/index.d.mts +10 -10
  8. package/dist/components/index.mjs +44 -44
  9. package/dist/dist-BPOi5xb_.mjs.map +1 -1
  10. package/dist/{dist-Bf0H4lp1.mjs → dist-BuirkW-f.mjs} +11 -3
  11. package/dist/dist-BuirkW-f.mjs.map +1 -0
  12. package/dist/{dist-DG65RDhc.mjs → dist-DBdxM6xv.mjs} +5 -6
  13. package/dist/dist-DBdxM6xv.mjs.map +1 -0
  14. package/dist/effects/index.d.mts +4 -4
  15. package/dist/effects/index.mjs +35 -35
  16. package/dist/{effects-Z-brb-n7.mjs → effects-B263lgUi.mjs} +2 -2
  17. package/dist/{effects-Z-brb-n7.mjs.map → effects-B263lgUi.mjs.map} +1 -1
  18. package/dist/fonts/index.mjs +2 -2
  19. package/dist/{fonts-DqYgk_1a.mjs → fonts-DNx6ps2p.mjs} +2 -2
  20. package/dist/{fonts-DqYgk_1a.mjs.map → fonts-DNx6ps2p.mjs.map} +1 -1
  21. package/dist/{gpu-CevnCkZC.mjs → gpu-BRBIoxMC.mjs} +2 -2
  22. package/dist/{gpu-CevnCkZC.mjs.map → gpu-BRBIoxMC.mjs.map} +1 -1
  23. package/dist/{index-D1C735Wp.d.mts → index-3Vdef2KE.d.mts} +3 -3
  24. package/dist/{index-D1C735Wp.d.mts.map → index-3Vdef2KE.d.mts.map} +1 -1
  25. package/dist/{index-COQTaniR.d.mts → index-B4o6F1JC.d.mts} +2 -2
  26. package/dist/{index-COQTaniR.d.mts.map → index-B4o6F1JC.d.mts.map} +1 -1
  27. package/dist/{index-KqW22NHL.d.mts → index-BhzlG_1Q.d.mts} +2 -2
  28. package/dist/{index-KqW22NHL.d.mts.map → index-BhzlG_1Q.d.mts.map} +1 -1
  29. package/dist/{index-DSGFMpwL.d.mts → index-D-Gnyffj.d.mts} +4 -4
  30. package/dist/{index-DSGFMpwL.d.mts.map → index-D-Gnyffj.d.mts.map} +1 -1
  31. package/dist/{index-tCKz9Tku.d.mts → index-N1tMc5Z9.d.mts} +54 -54
  32. package/dist/index-N1tMc5Z9.d.mts.map +1 -0
  33. package/dist/{index-CfMylY3O.d.mts → index-o8LxWdwz.d.mts} +3 -3
  34. package/dist/{index-CfMylY3O.d.mts.map → index-o8LxWdwz.d.mts.map} +1 -1
  35. package/dist/{index-CZK6CFLy.d.mts → index-ocZc12ZS.d.mts} +17 -17
  36. package/dist/index-ocZc12ZS.d.mts.map +1 -0
  37. package/dist/index.d.mts +10 -10
  38. package/dist/index.mjs +51 -51
  39. package/dist/preview/index.d.mts +3 -3
  40. package/dist/preview/index.mjs +10 -10
  41. package/dist/{preview-DVw2jLDh.mjs → preview-ChR8Z8Fm.mjs} +2 -2
  42. package/dist/{preview-DVw2jLDh.mjs.map → preview-ChR8Z8Fm.mjs.map} +1 -1
  43. package/dist/preview-engine/audio.mjs +1 -1
  44. package/dist/preview-engine/{chunk-MCFYUKAJ.mjs → chunk-2LQCQ3OT.mjs} +8 -8
  45. package/dist/preview-engine/{chunk-PR37RCNO.mjs → chunk-2TCJSHFA.mjs} +1 -1
  46. package/dist/preview-engine/{chunk-JMOJKT5W.mjs → chunk-2YGR5YCN.mjs} +1 -1
  47. package/dist/preview-engine/{chunk-LNJYHSYX.mjs → chunk-3KHD67Q3.mjs} +1 -1
  48. package/dist/preview-engine/chunk-3SR6BI4B.mjs +1 -0
  49. package/dist/preview-engine/{chunk-NXKXOSE6.mjs → chunk-4INGTMZ5.mjs} +1 -1
  50. package/dist/preview-engine/{chunk-T4VP45AP.mjs → chunk-4JX5LBE2.mjs} +1 -1
  51. package/dist/preview-engine/{chunk-7JYMNGNK.mjs → chunk-5NT7WWJR.mjs} +1 -1
  52. package/dist/preview-engine/{chunk-NB55FW7D.mjs → chunk-6PMATELR.mjs} +1 -1
  53. package/dist/preview-engine/{chunk-45XGWIOY.mjs → chunk-AKT4YQWL.mjs} +1 -1
  54. package/dist/preview-engine/{chunk-RNFYEZLL.mjs → chunk-ALSOO22Q.mjs} +1 -1
  55. package/dist/preview-engine/{chunk-3AYICEZ5.mjs → chunk-B7J72YSP.mjs} +1 -1
  56. package/dist/preview-engine/{chunk-I3ZTDIVM.mjs → chunk-BBHRXV75.mjs} +1 -1
  57. package/dist/preview-engine/{chunk-NHQR76WL.mjs → chunk-DDFWN7DI.mjs} +1 -1
  58. package/dist/preview-engine/{chunk-ZVUTFXDR.mjs → chunk-DOCFOSA6.mjs} +1 -1
  59. package/dist/preview-engine/{chunk-YJ24W73B.mjs → chunk-FZLKPBKS.mjs} +1 -1
  60. package/dist/preview-engine/{chunk-EU7CFSB5.mjs → chunk-GQIRV466.mjs} +1 -1
  61. package/dist/preview-engine/{chunk-DWHQSNSJ.mjs → chunk-IIOHF7MH.mjs} +1 -1
  62. package/dist/preview-engine/{chunk-WUMVCQYI.mjs → chunk-J24VHZS6.mjs} +1 -1
  63. package/dist/preview-engine/{chunk-2WOCQNZX.mjs → chunk-JD4TBC6Z.mjs} +8 -8
  64. package/dist/preview-engine/{chunk-X6BJLPW6.mjs → chunk-JTT3YX7W.mjs} +1 -1
  65. package/dist/preview-engine/{chunk-XJ4CQIZZ.mjs → chunk-KWTTANYN.mjs} +1 -1
  66. package/dist/preview-engine/{chunk-QCUGWPYP.mjs → chunk-LN3YAWUD.mjs} +1 -1
  67. package/dist/preview-engine/{chunk-M6ZKK6ZU.mjs → chunk-LYSU6S4O.mjs} +1 -1
  68. package/dist/preview-engine/{chunk-TE2QAKKF.mjs → chunk-MJCK5FLZ.mjs} +1 -1
  69. package/dist/preview-engine/{chunk-24H3QVYB.mjs → chunk-MMVFX42U.mjs} +1 -1
  70. package/dist/preview-engine/{chunk-25T3M6MI.mjs → chunk-MUOJMF7M.mjs} +1 -1
  71. package/dist/preview-engine/{chunk-B555EGEU.mjs → chunk-NQZRPPUU.mjs} +1 -1
  72. package/dist/preview-engine/{chunk-VTE3IISK.mjs → chunk-OXXRKNHW.mjs} +1 -1
  73. package/dist/preview-engine/{chunk-DUEY7AXY.mjs → chunk-PJMX2GFY.mjs} +1 -1
  74. package/dist/preview-engine/{chunk-MA4YVA2E.mjs → chunk-Q7JN4EHX.mjs} +1 -1
  75. package/dist/preview-engine/{chunk-YSXMXD3F.mjs → chunk-Q7XC3FI7.mjs} +1 -1
  76. package/dist/preview-engine/{chunk-UXCTWFKK.mjs → chunk-QPBTLJ5W.mjs} +1 -1
  77. package/dist/preview-engine/{chunk-LQVACZDE.mjs → chunk-QRYCB6E3.mjs} +1 -1
  78. package/dist/preview-engine/{chunk-2QQQTZHS.mjs → chunk-RDEQ4LQU.mjs} +1 -1
  79. package/dist/preview-engine/{chunk-KKBJ7X3T.mjs → chunk-RF62TV3G.mjs} +1 -1
  80. package/dist/preview-engine/{chunk-CE6CG5BH.mjs → chunk-RHXZXWJ4.mjs} +1 -1
  81. package/dist/preview-engine/{chunk-BNO5JAEZ.mjs → chunk-RKNV5N7D.mjs} +1 -1
  82. package/dist/preview-engine/{chunk-PXWCGXTF.mjs → chunk-SP22JWN2.mjs} +1 -1
  83. package/dist/preview-engine/{chunk-NYEDWUFS.mjs → chunk-SQ52PBF3.mjs} +1 -1
  84. package/dist/preview-engine/{chunk-QYIKOOFI.mjs → chunk-SVE3XWO7.mjs} +1 -1
  85. package/dist/preview-engine/{chunk-QJYAIQYU.mjs → chunk-SXNCNG4L.mjs} +1 -1
  86. package/dist/preview-engine/{chunk-VH5V54RA.mjs → chunk-TPFDAOW7.mjs} +1 -1
  87. package/dist/preview-engine/{chunk-ENS4KUJV.mjs → chunk-UEQIO6AH.mjs} +1 -1
  88. package/dist/preview-engine/{chunk-XYRBFLFF.mjs → chunk-ULPLHKM2.mjs} +1 -1
  89. package/dist/preview-engine/{chunk-MCR7XMNQ.mjs → chunk-ULVX4VYT.mjs} +1 -1
  90. package/dist/preview-engine/{chunk-ZAIVXGSS.mjs → chunk-UQD2UE6I.mjs} +1 -1
  91. package/dist/preview-engine/{chunk-QP24X77K.mjs → chunk-VY6ST4QX.mjs} +1 -1
  92. package/dist/preview-engine/{chunk-7BUKVFWB.mjs → chunk-W2EZFV4Q.mjs} +1 -1
  93. package/dist/preview-engine/{chunk-P734GD7D.mjs → chunk-WDWHOXSA.mjs} +1 -1
  94. package/dist/preview-engine/{chunk-2RZ6S4SW.mjs → chunk-YEPYVASB.mjs} +1 -1
  95. package/dist/preview-engine/{chunk-5FTCPTOX.mjs → chunk-ZJLNXN7W.mjs} +8 -8
  96. package/dist/preview-engine/{chunk-FAEWI3LF.mjs → chunk-ZZAZF6VC.mjs} +1 -1
  97. package/dist/preview-engine/components.mjs +1 -1
  98. package/dist/preview-engine/effects.mjs +1 -1
  99. package/dist/preview-engine/fonts.mjs +1 -1
  100. package/dist/preview-engine/framefields.mjs +1 -1
  101. package/dist/preview-engine/player.mjs +1 -1
  102. package/dist/preview-engine/renderers-4CRXZJ5G.mjs +1 -0
  103. package/dist/preview-engine/{renderers-WPBTAU2E.mjs → renderers-4RVSLTCX.mjs} +1 -1
  104. package/dist/preview-engine/{renderers-W5CTR4B5.mjs → renderers-56TGEFDK.mjs} +1 -1
  105. package/dist/preview-engine/renderers-5QF4OLFQ.mjs +1 -0
  106. package/dist/preview-engine/renderers-5SOW6OVE.mjs +1 -0
  107. package/dist/preview-engine/renderers-6M2HPY2J.mjs +1 -0
  108. package/dist/preview-engine/{renderers-DZZFIYYA.mjs → renderers-7GMW52G3.mjs} +1 -1
  109. package/dist/preview-engine/renderers-7HT5NW7W.mjs +1 -0
  110. package/dist/preview-engine/{renderers-KV3TTCO6.mjs → renderers-7SW2AHM2.mjs} +1 -1
  111. package/dist/preview-engine/{renderers-BNXTSIXJ.mjs → renderers-ART3EGSZ.mjs} +1 -1
  112. package/dist/preview-engine/{renderers-6NFRKHNO.mjs → renderers-ATTGUTYY.mjs} +1 -1
  113. package/dist/preview-engine/renderers-AYWCRBQC.mjs +1 -0
  114. package/dist/preview-engine/renderers-BA6ZCPI5.mjs +1 -0
  115. package/dist/preview-engine/{renderers-AKZAAGR7.mjs → renderers-BAS7RXTC.mjs} +1 -1
  116. package/dist/preview-engine/{renderers-CLLR5MOQ.mjs → renderers-BWRNCXR6.mjs} +1 -1
  117. package/dist/preview-engine/{renderers-N7T34SCI.mjs → renderers-C3YXNKNM.mjs} +1 -1
  118. package/dist/preview-engine/renderers-CZTCW4FC.mjs +1 -0
  119. package/dist/preview-engine/{renderers-C7SJ3M6S.mjs → renderers-D2XEQ2YY.mjs} +1 -1
  120. package/dist/preview-engine/renderers-DFIJYBW2.mjs +1 -0
  121. package/dist/preview-engine/{renderers-DHKB5LI6.mjs → renderers-EJGF3PYQ.mjs} +1 -1
  122. package/dist/preview-engine/renderers-EJN6M6DO.mjs +1 -0
  123. package/dist/preview-engine/{renderers-MKEXNBCW.mjs → renderers-EK3HQUUF.mjs} +1 -1
  124. package/dist/preview-engine/{renderers-O56IOD7J.mjs → renderers-EQDINUMT.mjs} +1 -1
  125. package/dist/preview-engine/{renderers-VYK2BJID.mjs → renderers-FC7G7KU7.mjs} +1 -1
  126. package/dist/preview-engine/{renderers-BQLYS4TM.mjs → renderers-FD3ZT73R.mjs} +1 -1
  127. package/dist/preview-engine/{renderers-TASYN62K.mjs → renderers-FYI6QNUH.mjs} +1 -1
  128. package/dist/preview-engine/renderers-G34C5J27.mjs +1 -0
  129. package/dist/preview-engine/{renderers-ROSSJ7Y2.mjs → renderers-GHP7SL5M.mjs} +1 -1
  130. package/dist/preview-engine/renderers-GKVTNDVH.mjs +1 -0
  131. package/dist/preview-engine/{renderers-MPCYLXXU.mjs → renderers-GY4R467B.mjs} +1 -1
  132. package/dist/preview-engine/{renderers-TAMDNTEQ.mjs → renderers-H2UI7YEO.mjs} +1 -1
  133. package/dist/preview-engine/{renderers-6PVGRTXV.mjs → renderers-HBIBRZD7.mjs} +1 -1
  134. package/dist/preview-engine/{renderers-GF77N2KM.mjs → renderers-HMNCIEU3.mjs} +1 -1
  135. package/dist/preview-engine/{renderers-SIBP54WK.mjs → renderers-HZBYQKIQ.mjs} +1 -1
  136. package/dist/preview-engine/renderers-IK7ZJJKJ.mjs +1 -0
  137. package/dist/preview-engine/renderers-ISASPH6T.mjs +1 -0
  138. package/dist/preview-engine/renderers-IW5MWDBI.mjs +1 -0
  139. package/dist/preview-engine/renderers-K2PI4WJS.mjs +1 -0
  140. package/dist/preview-engine/renderers-KESHVFL2.mjs +1 -0
  141. package/dist/preview-engine/renderers-KTZZVAB2.mjs +1 -0
  142. package/dist/preview-engine/renderers-KY5CJEOV.mjs +1 -0
  143. package/dist/preview-engine/{renderers-MS4HG3M4.mjs → renderers-LTV5RFDJ.mjs} +1 -1
  144. package/dist/preview-engine/{renderers-CEJP6Q7F.mjs → renderers-LV6LLULR.mjs} +1 -1
  145. package/dist/preview-engine/renderers-M5W6SUQD.mjs +1 -0
  146. package/dist/preview-engine/{renderers-H3ZM2TOA.mjs → renderers-MEM3REMI.mjs} +1 -1
  147. package/dist/preview-engine/{renderers-EJATUIUP.mjs → renderers-N36R42RL.mjs} +1 -1
  148. package/dist/preview-engine/{renderers-UVABXXQF.mjs → renderers-NTKSN32T.mjs} +1 -1
  149. package/dist/preview-engine/renderers-O5XMWFPY.mjs +1 -0
  150. package/dist/preview-engine/{renderers-QO2RHF7F.mjs → renderers-P2FTCDZ7.mjs} +1 -1
  151. package/dist/preview-engine/{renderers-L7EITUCD.mjs → renderers-PYDOSDEY.mjs} +1 -1
  152. package/dist/preview-engine/renderers-QJA35PKC.mjs +1 -0
  153. package/dist/preview-engine/{renderers-TWZHTKW7.mjs → renderers-RDHHVXRE.mjs} +1 -1
  154. package/dist/preview-engine/{renderers-RRJ2DX2W.mjs → renderers-SY435YU3.mjs} +1 -1
  155. package/dist/preview-engine/renderers-TJIFTQHV.mjs +1 -0
  156. package/dist/preview-engine/renderers-TN4XN436.mjs +1 -0
  157. package/dist/preview-engine/renderers-UDYLCYCB.mjs +1 -0
  158. package/dist/preview-engine/renderers-WZ7SFIBZ.mjs +1 -0
  159. package/dist/preview-engine/renderers-WZEV464O.mjs +228 -0
  160. package/dist/preview-engine/renderers-X6QNDC6R.mjs +1 -0
  161. package/dist/preview-engine/renderers-X6RNTJOV.mjs +1 -0
  162. package/dist/preview-engine/{renderers-QPFZBLDI.mjs → renderers-Y3N7236P.mjs} +1 -1
  163. package/dist/preview-engine/{renderers-XSPU2BIQ.mjs → renderers-YBTWN76S.mjs} +1 -1
  164. package/dist/preview-engine/{renderers-T62TXGVO.mjs → renderers-YK74777T.mjs} +1 -1
  165. package/dist/preview-engine/renderers-YP3ASXIJ.mjs +1 -0
  166. package/dist/preview-engine/renderers-YVJAG3PD.mjs +1 -0
  167. package/dist/preview-engine/{renderers-4RFB2LG2.mjs → renderers-ZAMSS7QN.mjs} +1 -1
  168. package/dist/preview-engine/{renderers-FOHW7RWH.mjs → renderers-ZDMDDWLN.mjs} +1 -1
  169. package/dist/preview-engine/renderers-ZPPZNMKJ.mjs +1 -0
  170. package/dist/preview-engine/signals.mjs +1 -1
  171. package/dist/{program-4mAVgg3c.mjs → program-O2bWX0cs.mjs} +2 -2
  172. package/dist/{program-4mAVgg3c.mjs.map → program-O2bWX0cs.mjs.map} +1 -1
  173. package/dist/registry/card-stack.json +3 -2
  174. package/dist/registry/chat-thread.json +4 -3
  175. package/dist/registry/index.json +3 -2
  176. package/dist/renderer/index.d.mts +2 -2
  177. package/dist/renderer/index.mjs +2 -2
  178. package/dist/renderer-0441BN0U.mjs +5 -0
  179. package/dist/{renderer-RiWi7y5C.mjs → renderer-1NoJLLDa.mjs} +4 -4
  180. package/dist/{renderer-RiWi7y5C.mjs.map → renderer-1NoJLLDa.mjs.map} +1 -1
  181. package/dist/renderer-3qDgFc-W.mjs +5 -0
  182. package/dist/renderer-6AIqTN5Z.mjs +5 -0
  183. package/dist/{renderer-zdpn1Hkk.mjs → renderer-8_d6YNnE.mjs} +3 -3
  184. package/dist/{renderer-zdpn1Hkk.mjs.map → renderer-8_d6YNnE.mjs.map} +1 -1
  185. package/dist/{renderer-DTXAa2pL.mjs → renderer-B0IJirDs.mjs} +4 -4
  186. package/dist/{renderer-DTXAa2pL.mjs.map → renderer-B0IJirDs.mjs.map} +1 -1
  187. package/dist/{renderer-_vcT__tW.mjs → renderer-B2no_9zi.mjs} +4 -4
  188. package/dist/{renderer-_vcT__tW.mjs.map → renderer-B2no_9zi.mjs.map} +1 -1
  189. package/dist/{renderer-CkJXq4bD.mjs → renderer-B5ZdkcMi.mjs} +3 -3
  190. package/dist/{renderer-CkJXq4bD.mjs.map → renderer-B5ZdkcMi.mjs.map} +1 -1
  191. package/dist/renderer-B7MZ5R7u.mjs +5 -0
  192. package/dist/{renderer-Bh0dwc8n.mjs → renderer-B7vXnBUo.mjs} +4 -4
  193. package/dist/{renderer-Bh0dwc8n.mjs.map → renderer-B7vXnBUo.mjs.map} +1 -1
  194. package/dist/renderer-BE2rIA4B.mjs +5 -0
  195. package/dist/renderer-BIQ81ln4.mjs +5 -0
  196. package/dist/{renderer-BIYJKdwA.mjs → renderer-BKJ8cywK.mjs} +3 -3
  197. package/dist/{renderer-BIYJKdwA.mjs.map → renderer-BKJ8cywK.mjs.map} +1 -1
  198. package/dist/renderer-BKm3_Ob3.mjs +5 -0
  199. package/dist/{renderer-DPzair18.mjs → renderer-BMiZIGkZ.mjs} +2 -2
  200. package/dist/renderer-BNdT1Wwf.mjs +5 -0
  201. package/dist/{renderer-C1sFg34Y.mjs → renderer-BNs31kME.mjs} +4 -4
  202. package/dist/{renderer-C1sFg34Y.mjs.map → renderer-BNs31kME.mjs.map} +1 -1
  203. package/dist/renderer-BQycs1q_.mjs +5 -0
  204. package/dist/{renderer-Bt_j2Zi6.mjs → renderer-BStETpqC.mjs} +3 -3
  205. package/dist/{renderer-Bt_j2Zi6.mjs.map → renderer-BStETpqC.mjs.map} +1 -1
  206. package/dist/{renderer-CT_3Fegr.mjs → renderer-BWNQQZ12.mjs} +4 -4
  207. package/dist/{renderer-CT_3Fegr.mjs.map → renderer-BWNQQZ12.mjs.map} +1 -1
  208. package/dist/{renderer-C8-NmotX.mjs → renderer-BZ5uOfoX.mjs} +3 -3
  209. package/dist/{renderer-C8-NmotX.mjs.map → renderer-BZ5uOfoX.mjs.map} +1 -1
  210. package/dist/{renderer-Ddg3dJmu.mjs → renderer-Bag1LFos.mjs} +4 -4
  211. package/dist/{renderer-Ddg3dJmu.mjs.map → renderer-Bag1LFos.mjs.map} +1 -1
  212. package/dist/{renderer-CvYxxS_X.mjs → renderer-BfQdc3RM.mjs} +73 -73
  213. package/dist/{renderer-CvYxxS_X.mjs.map → renderer-BfQdc3RM.mjs.map} +1 -1
  214. package/dist/{renderer-C9r0-KY4.mjs → renderer-BgmO1Dzw.mjs} +11 -2
  215. package/dist/{renderer-C9r0-KY4.mjs.map → renderer-BgmO1Dzw.mjs.map} +1 -1
  216. package/dist/renderer-Bj7MxXfk.mjs +5 -0
  217. package/dist/renderer-BjRAGYYC.mjs +5 -0
  218. package/dist/{renderer-BIt-At3v.mjs → renderer-BlU3Sh_0.mjs} +4 -4
  219. package/dist/{renderer-BIt-At3v.mjs.map → renderer-BlU3Sh_0.mjs.map} +1 -1
  220. package/dist/renderer-BqE2BQ_X.mjs +5 -0
  221. package/dist/{renderer-CxkUI9s_.mjs → renderer-BrKgtYq4.mjs} +4 -4
  222. package/dist/{renderer-CxkUI9s_.mjs.map → renderer-BrKgtYq4.mjs.map} +1 -1
  223. package/dist/{renderer-NL2IZShC.mjs → renderer-Bs6BaMLf.mjs} +4 -4
  224. package/dist/{renderer-NL2IZShC.mjs.map → renderer-Bs6BaMLf.mjs.map} +1 -1
  225. package/dist/renderer-BsewLDHZ.mjs +3 -0
  226. package/dist/{renderer-Bk7vVfTu.mjs → renderer-BvA4sQz5.mjs} +3 -3
  227. package/dist/{renderer-Bk7vVfTu.mjs.map → renderer-BvA4sQz5.mjs.map} +1 -1
  228. package/dist/{renderer-BwRLXhxJ.mjs → renderer-Bvizxddu.mjs} +3 -3
  229. package/dist/{renderer-BwRLXhxJ.mjs.map → renderer-Bvizxddu.mjs.map} +1 -1
  230. package/dist/{renderer-D-FwaV1R.mjs → renderer-Bwxm-kWL.mjs} +2 -2
  231. package/dist/renderer-Bz5BMkOE.mjs +5 -0
  232. package/dist/{renderer-CE9N4EEI.d.mts → renderer-C-dcd14F.d.mts} +2 -2
  233. package/dist/{renderer-CE9N4EEI.d.mts.map → renderer-C-dcd14F.d.mts.map} +1 -1
  234. package/dist/{renderer-BcSSAzc4.mjs → renderer-C2MaJKfY.mjs} +4 -4
  235. package/dist/{renderer-BcSSAzc4.mjs.map → renderer-C2MaJKfY.mjs.map} +1 -1
  236. package/dist/{renderer-C4pS7aAI.mjs → renderer-C3tdjg8B.mjs} +4 -4
  237. package/dist/{renderer-C4pS7aAI.mjs.map → renderer-C3tdjg8B.mjs.map} +1 -1
  238. package/dist/{renderer-C4f_X1Qc.mjs → renderer-C5QYI1Wu.mjs} +3 -3
  239. package/dist/{renderer-C4f_X1Qc.mjs.map → renderer-C5QYI1Wu.mjs.map} +1 -1
  240. package/dist/{renderer-DPVEs5ME.mjs → renderer-C6n8y6Pw.mjs} +4 -4
  241. package/dist/{renderer-DPVEs5ME.mjs.map → renderer-C6n8y6Pw.mjs.map} +1 -1
  242. package/dist/{renderer-BKayVZhL.mjs → renderer-C8pJFxcL.mjs} +3 -3
  243. package/dist/{renderer-BKayVZhL.mjs.map → renderer-C8pJFxcL.mjs.map} +1 -1
  244. package/dist/{renderer-CTvPNRMH.mjs → renderer-CA_CwisV.mjs} +3 -3
  245. package/dist/{renderer-CTvPNRMH.mjs.map → renderer-CA_CwisV.mjs.map} +1 -1
  246. package/dist/renderer-CDOSfB9H.mjs +5 -0
  247. package/dist/{renderer-C0P8ZRiC.mjs → renderer-CEAmByVW.mjs} +3 -3
  248. package/dist/{renderer-C0P8ZRiC.mjs.map → renderer-CEAmByVW.mjs.map} +1 -1
  249. package/dist/{renderer-C7HIJcJK.mjs → renderer-CFCR_7bq.mjs} +4 -4
  250. package/dist/{renderer-C7HIJcJK.mjs.map → renderer-CFCR_7bq.mjs.map} +1 -1
  251. package/dist/{renderer-Y5JmTL8J.mjs → renderer-CFRTJ7cT.mjs} +3 -3
  252. package/dist/{renderer-Y5JmTL8J.mjs.map → renderer-CFRTJ7cT.mjs.map} +1 -1
  253. package/dist/{renderer-Cm9fEQsw.mjs → renderer-CPSg6eEQ.mjs} +3 -3
  254. package/dist/{renderer-Cm9fEQsw.mjs.map → renderer-CPSg6eEQ.mjs.map} +1 -1
  255. package/dist/renderer-CT26yQT-.mjs +5 -0
  256. package/dist/{renderer-B8PNlKEM.mjs → renderer-CTy0bSsl.mjs} +4 -4
  257. package/dist/{renderer-B8PNlKEM.mjs.map → renderer-CTy0bSsl.mjs.map} +1 -1
  258. package/dist/{renderer-Dkt1oh9H.mjs → renderer-CVbNiH03.mjs} +4 -4
  259. package/dist/{renderer-Dkt1oh9H.mjs.map → renderer-CVbNiH03.mjs.map} +1 -1
  260. package/dist/renderer-CZeAbz48.mjs +5 -0
  261. package/dist/{renderer-DYdll3xW.mjs → renderer-CbxfSmYE.mjs} +4 -4
  262. package/dist/{renderer-DYdll3xW.mjs.map → renderer-CbxfSmYE.mjs.map} +1 -1
  263. package/dist/{renderer-nLPfvY3-.mjs → renderer-CdxNwGeb.mjs} +2 -2
  264. package/dist/{renderer-nLPfvY3-.mjs.map → renderer-CdxNwGeb.mjs.map} +1 -1
  265. package/dist/{renderer-Cb5uDZm0.mjs → renderer-Cg2xS8h8.mjs} +3 -3
  266. package/dist/{renderer-Cb5uDZm0.mjs.map → renderer-Cg2xS8h8.mjs.map} +1 -1
  267. package/dist/{renderer-CJ2-jEy7.mjs → renderer-CnclEQdA.mjs} +3 -3
  268. package/dist/{renderer-CJ2-jEy7.mjs.map → renderer-CnclEQdA.mjs.map} +1 -1
  269. package/dist/{renderer-CgMnZYTM.mjs → renderer-CpDaUeCN.mjs} +4 -4
  270. package/dist/{renderer-CgMnZYTM.mjs.map → renderer-CpDaUeCN.mjs.map} +1 -1
  271. package/dist/{renderer-Du8z4UrN.mjs → renderer-CqJou_2L.mjs} +3 -3
  272. package/dist/{renderer-Du8z4UrN.mjs.map → renderer-CqJou_2L.mjs.map} +1 -1
  273. package/dist/{renderer-CxOaqnho.mjs → renderer-CrKYlipx.mjs} +3 -3
  274. package/dist/{renderer-CxOaqnho.mjs.map → renderer-CrKYlipx.mjs.map} +1 -1
  275. package/dist/{renderer-CPl1wOrj.mjs → renderer-D3FJcRA3.mjs} +3 -3
  276. package/dist/{renderer-CPl1wOrj.mjs.map → renderer-D3FJcRA3.mjs.map} +1 -1
  277. package/dist/renderer-D50b7kip.mjs +5 -0
  278. package/dist/renderer-D5LmrO96.mjs +5 -0
  279. package/dist/{renderer-vc8t_z-y.mjs → renderer-D8m3fuRp.mjs} +3 -3
  280. package/dist/{renderer-vc8t_z-y.mjs.map → renderer-D8m3fuRp.mjs.map} +1 -1
  281. package/dist/{renderer-BpBhvMi1.mjs → renderer-DADTT3ym.mjs} +2 -2
  282. package/dist/renderer-DCvqZ5o_.mjs +5 -0
  283. package/dist/{renderer-BBA-iCi-.mjs → renderer-DGOY-LBR.mjs} +34 -9
  284. package/dist/renderer-DGOY-LBR.mjs.map +1 -0
  285. package/dist/{renderer-Cz5SOnJr.mjs → renderer-DHdFVpdH.mjs} +3 -3
  286. package/dist/{renderer-Cz5SOnJr.mjs.map → renderer-DHdFVpdH.mjs.map} +1 -1
  287. package/dist/renderer-DJGJeGEn.mjs +5 -0
  288. package/dist/{renderer-BjxceNBj.mjs → renderer-DO1TeUqV.mjs} +4 -4
  289. package/dist/{renderer-BjxceNBj.mjs.map → renderer-DO1TeUqV.mjs.map} +1 -1
  290. package/dist/renderer-DONvNNXi.mjs +5 -0
  291. package/dist/renderer-DPaSo--Y.mjs +6 -0
  292. package/dist/{renderer-D0iSbNza.mjs → renderer-DTPmvL1i.mjs} +4 -4
  293. package/dist/{renderer-D0iSbNza.mjs.map → renderer-DTPmvL1i.mjs.map} +1 -1
  294. package/dist/{renderer-CWnhRMOq.mjs → renderer-DVGVcDvB.mjs} +4 -4
  295. package/dist/{renderer-CWnhRMOq.mjs.map → renderer-DVGVcDvB.mjs.map} +1 -1
  296. package/dist/{renderer-Cjw6lyaK.mjs → renderer-DW21AyEv.mjs} +4 -4
  297. package/dist/{renderer-Cjw6lyaK.mjs.map → renderer-DW21AyEv.mjs.map} +1 -1
  298. package/dist/{renderer-B9iVE2GG.mjs → renderer-DWG6EXGj.mjs} +4 -4
  299. package/dist/{renderer-B9iVE2GG.mjs.map → renderer-DWG6EXGj.mjs.map} +1 -1
  300. package/dist/{renderer-De7gno9X.mjs → renderer-Daqvhwjp.mjs} +4 -4
  301. package/dist/{renderer-De7gno9X.mjs.map → renderer-Daqvhwjp.mjs.map} +1 -1
  302. package/dist/{renderer-5-9DPis6.mjs → renderer-DcApNxER.mjs} +3 -3
  303. package/dist/{renderer-5-9DPis6.mjs.map → renderer-DcApNxER.mjs.map} +1 -1
  304. package/dist/{renderer-CGKKjJ5Q.mjs → renderer-DdkPY4hO.mjs} +3 -3
  305. package/dist/{renderer-CGKKjJ5Q.mjs.map → renderer-DdkPY4hO.mjs.map} +1 -1
  306. package/dist/renderer-DfYYokhr.mjs +5 -0
  307. package/dist/{renderer-C5h2TSjH.mjs → renderer-Dk0okoS3.mjs} +3 -3
  308. package/dist/{renderer-C5h2TSjH.mjs.map → renderer-Dk0okoS3.mjs.map} +1 -1
  309. package/dist/{renderer-B9m7xIPo.mjs → renderer-DkM6Ikdf.mjs} +4 -4
  310. package/dist/{renderer-B9m7xIPo.mjs.map → renderer-DkM6Ikdf.mjs.map} +1 -1
  311. package/dist/{renderer-T2dd9a2L.mjs → renderer-DkOxEQsg.mjs} +4 -4
  312. package/dist/{renderer-T2dd9a2L.mjs.map → renderer-DkOxEQsg.mjs.map} +1 -1
  313. package/dist/renderer-DlIJhdEM.mjs +5 -0
  314. package/dist/{renderer-BmX2CmyO.mjs → renderer-DmTxEeMh.mjs} +4 -4
  315. package/dist/{renderer-BmX2CmyO.mjs.map → renderer-DmTxEeMh.mjs.map} +1 -1
  316. package/dist/renderer-DqD3nMtv.mjs +5 -0
  317. package/dist/renderer-DrIl-uGt.mjs +5 -0
  318. package/dist/{renderer-khVVYoVF.mjs → renderer-DsnV8tpW.mjs} +4 -4
  319. package/dist/{renderer-khVVYoVF.mjs.map → renderer-DsnV8tpW.mjs.map} +1 -1
  320. package/dist/{renderer-wEXBnlr1.mjs → renderer-DtqiWq1m.mjs} +4 -4
  321. package/dist/{renderer-wEXBnlr1.mjs.map → renderer-DtqiWq1m.mjs.map} +1 -1
  322. package/dist/{renderer-wIsJb2eO.mjs → renderer-Duorbrb8.mjs} +2 -2
  323. package/dist/{renderer-wIsJb2eO.mjs.map → renderer-Duorbrb8.mjs.map} +1 -1
  324. package/dist/{renderer-CjcrhBB2.mjs → renderer-Dw3K8KT9.mjs} +3 -3
  325. package/dist/{renderer-CjcrhBB2.mjs.map → renderer-Dw3K8KT9.mjs.map} +1 -1
  326. package/dist/{renderer-4P-DCjk2.mjs → renderer-Dwh0jaor.mjs} +4 -4
  327. package/dist/{renderer-4P-DCjk2.mjs.map → renderer-Dwh0jaor.mjs.map} +1 -1
  328. package/dist/renderer-DyCB3Q1d.mjs +5 -0
  329. package/dist/renderer-DyJ-iSv6.mjs +5 -0
  330. package/dist/{renderer-DnT62IDK.mjs → renderer-Dz4muMyE.mjs} +3 -3
  331. package/dist/{renderer-DnT62IDK.mjs.map → renderer-Dz4muMyE.mjs.map} +1 -1
  332. package/dist/renderer-Dzs0jV0G.mjs +5 -0
  333. package/dist/{renderer-B9yv3R1y.mjs → renderer-H4-8sBjl.mjs} +3 -3
  334. package/dist/{renderer-B9yv3R1y.mjs.map → renderer-H4-8sBjl.mjs.map} +1 -1
  335. package/dist/renderer-HIKXw5-Y.mjs +5 -0
  336. package/dist/renderer-Jgt2g8Wp.mjs +5 -0
  337. package/dist/renderer-KnZWmT-M.mjs +5 -0
  338. package/dist/renderer-OMSXddG9.mjs +5 -0
  339. package/dist/renderer-P78xh6OV.mjs +5 -0
  340. package/dist/{renderer-BVtQzjgT.mjs → renderer-PhjHSS97.mjs} +3 -3
  341. package/dist/{renderer-BVtQzjgT.mjs.map → renderer-PhjHSS97.mjs.map} +1 -1
  342. package/dist/{renderer-9gjn790a.mjs → renderer-QQDU1b0Z.mjs} +4 -4
  343. package/dist/{renderer-9gjn790a.mjs.map → renderer-QQDU1b0Z.mjs.map} +1 -1
  344. package/dist/{renderer-BWqQxZNk.mjs → renderer-R5Lg65F8.mjs} +2 -2
  345. package/dist/{renderer-D22g6ION.mjs → renderer-RbMM6Njv.mjs} +4 -4
  346. package/dist/{renderer-D22g6ION.mjs.map → renderer-RbMM6Njv.mjs.map} +1 -1
  347. package/dist/{renderer-92IAZzBU.d.mts → renderer-WTvo3wo9.d.mts} +18 -4
  348. package/dist/renderer-WTvo3wo9.d.mts.map +1 -0
  349. package/dist/renderer-WyaqnVMz.mjs +3 -0
  350. package/dist/{renderer-B9AZ6R1U.mjs → renderer-YBwN9uyj.mjs} +172 -8
  351. package/dist/renderer-YBwN9uyj.mjs.map +1 -0
  352. package/dist/{renderer-CXa6SWXy.mjs → renderer-YFHESw3v.mjs} +4 -4
  353. package/dist/{renderer-CXa6SWXy.mjs.map → renderer-YFHESw3v.mjs.map} +1 -1
  354. package/dist/renderer-gaFP1Kak.mjs +5 -0
  355. package/dist/{renderer-PNIgmWft.mjs → renderer-kFtcuY9J.mjs} +2 -2
  356. package/dist/{renderer-PNIgmWft.mjs.map → renderer-kFtcuY9J.mjs.map} +1 -1
  357. package/dist/renderer-lQ8gH7Zd.mjs +5 -0
  358. package/dist/{renderer-MQPiZQXN.mjs → renderer-oR1LvHeO.mjs} +3 -3
  359. package/dist/{renderer-MQPiZQXN.mjs.map → renderer-oR1LvHeO.mjs.map} +1 -1
  360. package/dist/{renderer-CuwVuVKG.mjs → renderer-tcS585Iy.mjs} +3 -3
  361. package/dist/{renderer-CuwVuVKG.mjs.map → renderer-tcS585Iy.mjs.map} +1 -1
  362. package/dist/{renderer-Datqywo_.mjs → renderer-x1xlZaH_.mjs} +4 -4
  363. package/dist/{renderer-Datqywo_.mjs.map → renderer-x1xlZaH_.mjs.map} +1 -1
  364. package/dist/{renderers-CP8CFWDs-BbLkcJTN.mjs → renderers-CP8CFWDs-EZZPEbhW.mjs} +3 -3
  365. package/dist/{renderers-CP8CFWDs-BbLkcJTN.mjs.map → renderers-CP8CFWDs-EZZPEbhW.mjs.map} +1 -1
  366. package/dist/signals/index.d.mts +5 -5
  367. package/dist/signals/index.mjs +5 -5
  368. package/dist/{src-WAnxhDYD.mjs → src-r7Suenhp.mjs} +8 -8
  369. package/dist/{src-WAnxhDYD.mjs.map → src-r7Suenhp.mjs.map} +1 -1
  370. package/package.json +58 -58
  371. package/dist/dist-Bf0H4lp1.mjs.map +0 -1
  372. package/dist/dist-DG65RDhc.mjs.map +0 -1
  373. package/dist/index-CZK6CFLy.d.mts.map +0 -1
  374. package/dist/index-tCKz9Tku.d.mts.map +0 -1
  375. package/dist/preview-engine/chunk-I6E3AKLS.mjs +0 -1
  376. package/dist/preview-engine/renderers-2S5ZWL2J.mjs +0 -1
  377. package/dist/preview-engine/renderers-37CN7O4S.mjs +0 -1
  378. package/dist/preview-engine/renderers-3UGG2IMP.mjs +0 -1
  379. package/dist/preview-engine/renderers-7MPBAHYA.mjs +0 -1
  380. package/dist/preview-engine/renderers-AFTYMS3H.mjs +0 -1
  381. package/dist/preview-engine/renderers-AYEWAW7F.mjs +0 -1
  382. package/dist/preview-engine/renderers-BILNWTUC.mjs +0 -228
  383. package/dist/preview-engine/renderers-DUF2CTX6.mjs +0 -1
  384. package/dist/preview-engine/renderers-EIJFIY6L.mjs +0 -1
  385. package/dist/preview-engine/renderers-EOMMSENQ.mjs +0 -1
  386. package/dist/preview-engine/renderers-JXBZPQKP.mjs +0 -1
  387. package/dist/preview-engine/renderers-LD3COS4X.mjs +0 -1
  388. package/dist/preview-engine/renderers-MCTBJEL7.mjs +0 -1
  389. package/dist/preview-engine/renderers-OZGEXW2X.mjs +0 -1
  390. package/dist/preview-engine/renderers-PSEDMUBV.mjs +0 -1
  391. package/dist/preview-engine/renderers-PVUROEGR.mjs +0 -1
  392. package/dist/preview-engine/renderers-QBVVTQV6.mjs +0 -1
  393. package/dist/preview-engine/renderers-R4U2TK6P.mjs +0 -1
  394. package/dist/preview-engine/renderers-RBLNDAO4.mjs +0 -1
  395. package/dist/preview-engine/renderers-RM25AXWZ.mjs +0 -1
  396. package/dist/preview-engine/renderers-RYRFCEYT.mjs +0 -1
  397. package/dist/preview-engine/renderers-SKT7AGGE.mjs +0 -1
  398. package/dist/preview-engine/renderers-SRU6QXLN.mjs +0 -1
  399. package/dist/preview-engine/renderers-TBP2EKJ4.mjs +0 -1
  400. package/dist/preview-engine/renderers-UQHKFGDX.mjs +0 -1
  401. package/dist/preview-engine/renderers-WDV7ENJA.mjs +0 -1
  402. package/dist/preview-engine/renderers-WNBDSSJ3.mjs +0 -1
  403. package/dist/preview-engine/renderers-WTC2RNGU.mjs +0 -1
  404. package/dist/preview-engine/renderers-XVUOO7B6.mjs +0 -1
  405. package/dist/preview-engine/renderers-YHOQUEHD.mjs +0 -1
  406. package/dist/preview-engine/renderers-YPFM5UJO.mjs +0 -1
  407. package/dist/preview-engine/renderers-YW3LBALW.mjs +0 -1
  408. package/dist/renderer-1ymN1FIT.mjs +0 -5
  409. package/dist/renderer-92IAZzBU.d.mts.map +0 -1
  410. package/dist/renderer-B-43EuKb.mjs +0 -5
  411. package/dist/renderer-B-v5ZboU.mjs +0 -5
  412. package/dist/renderer-B9AZ6R1U.mjs.map +0 -1
  413. package/dist/renderer-BBA-iCi-.mjs.map +0 -1
  414. package/dist/renderer-BKF8Sfbg.mjs +0 -3
  415. package/dist/renderer-BTB8ifgH.mjs +0 -5
  416. package/dist/renderer-BYxzR6Hp.mjs +0 -5
  417. package/dist/renderer-BcGhO_Mw.mjs +0 -5
  418. package/dist/renderer-Bk3RgiFg.mjs +0 -5
  419. package/dist/renderer-BvItCxkw.mjs +0 -5
  420. package/dist/renderer-BvcqncI2.mjs +0 -3
  421. package/dist/renderer-CCnfPHqk.mjs +0 -5
  422. package/dist/renderer-CIoWQNaA.mjs +0 -5
  423. package/dist/renderer-CMwQtIIq.mjs +0 -5
  424. package/dist/renderer-CN8kRB90.mjs +0 -6
  425. package/dist/renderer-CPKBDif1.mjs +0 -5
  426. package/dist/renderer-CamsHxEP.mjs +0 -5
  427. package/dist/renderer-CeQormOH.mjs +0 -5
  428. package/dist/renderer-Cex4eMtv.mjs +0 -5
  429. package/dist/renderer-CjyTrNlr.mjs +0 -5
  430. package/dist/renderer-Clv9TO6C.mjs +0 -5
  431. package/dist/renderer-D4LnJk-M.mjs +0 -5
  432. package/dist/renderer-D5OfQ8Ut.mjs +0 -5
  433. package/dist/renderer-DBYssktC.mjs +0 -5
  434. package/dist/renderer-DC-Aj3me.mjs +0 -5
  435. package/dist/renderer-DG97_Aoc.mjs +0 -5
  436. package/dist/renderer-DS4UGjcS.mjs +0 -5
  437. package/dist/renderer-DdG6ibtM.mjs +0 -5
  438. package/dist/renderer-DhZi4f3t.mjs +0 -5
  439. package/dist/renderer-MgLekf6d.mjs +0 -5
  440. package/dist/renderer-Qvs-1lWh.mjs +0 -5
  441. package/dist/renderer-bN7dOErt.mjs +0 -5
  442. package/dist/renderer-jWKVmReU.mjs +0 -5
  443. package/dist/renderer-lk-At57G.mjs +0 -5
  444. package/dist/renderer-qi8Slwfo.mjs +0 -5
  445. package/dist/renderer-qxOH4JH1.mjs +0 -5
  446. package/dist/renderer-t30NpmIl.mjs +0 -5
  447. package/dist/renderer-wKW4HWRx.mjs +0 -5
  448. package/dist/renderer-ydjPm8bp.mjs +0 -5
@@ -1,4 +1,4 @@
1
- import{a as P,d as h,f as V,g as _,h as C,j as B,k as M,m as k}from"./chunk-ENKKLU7B.mjs";import{d as v}from"./chunk-6YJP57MZ.mjs";import{A as U}from"./chunk-RNFYEZLL.mjs";import{e as g}from"./chunk-BVF64D6H.mjs";g();g();var te=`
1
+ import{a as P,d as h,f as V,g as _,h as C,j as B,k as M,m as k}from"./chunk-ENKKLU7B.mjs";import{d as v}from"./chunk-6YJP57MZ.mjs";import{A as U}from"./chunk-ALSOO22Q.mjs";import{e as g}from"./chunk-BVF64D6H.mjs";g();g();var te=`
2
2
  struct FilmUniforms {
3
3
  strength : f32,
4
4
  size : f32,
@@ -1 +1 @@
1
- import{b}from"./chunk-QKQYHPBK.mjs";import{a as l}from"./chunk-DUEY7AXY.mjs";import{a as g}from"./chunk-6YJP57MZ.mjs";import{l as n}from"./chunk-RNFYEZLL.mjs";import{e as c}from"./chunk-BVF64D6H.mjs";c();var S={async extractFromChannels(a,u,r={}){let x=await b(),t=r.fps??24,p=r.targetWidth??512,e=await g.extractFeatures(x,a,u,t,r,p),i=e.channelSamples??{primary:new Float32Array(e.numFrames),beat:new Float32Array(e.numFrames),bass:new Float32Array(e.numFrames),energy:new Float32Array(e.numFrames)},y={nodeId:"audio_primary",channel:"primary",textureView:e.textureView,texture:e.texture,buffer:e.primaryBuffer,stats:e.stats.primary},w={nodeId:"audio_beat",channel:"beat",textureView:e.textureView,texture:e.texture,buffer:e.beatBuffer,stats:e.stats.beat},B={nodeId:"audio_bass",channel:"bass",textureView:e.textureView,texture:e.texture,buffer:e.bassBuffer,stats:e.stats.bass},F={nodeId:"audio_energy",channel:"energy",textureView:e.textureView,texture:e.texture,buffer:e.energyBuffer,stats:e.stats.energy},o=n(i.primary,t,y),m=n(i.beat,t,w),d=n(i.bass,t,B),f=n(i.energy,t,F);return{primary:o,beat:m,bass:d,energy:f,durationSec:e.durationSec,numFrames:e.numFrames,sampleRate:u,textureView:e.textureView,texture:e.texture,primaryBuffer:e.primaryBuffer,beatBuffer:e.beatBuffer,bassBuffer:e.bassBuffer,energyBuffer:e.energyBuffer,seekFrame(s){o.seekFrame?.(s),m.seekFrame?.(s),d.seekFrame?.(s),f.seekFrame?.(s)}}},async extract(a,u={}){let r=await l(a);if(!r||r.channels.length===0)throw new Error(`Failed to decode audio source for feature extraction: ${a}`);return S.extractFromChannels(r.channels,r.sampleRate,u)}};export{S as a};
1
+ import{b}from"./chunk-QKQYHPBK.mjs";import{a as l}from"./chunk-PJMX2GFY.mjs";import{a as g}from"./chunk-6YJP57MZ.mjs";import{l as n}from"./chunk-ALSOO22Q.mjs";import{e as c}from"./chunk-BVF64D6H.mjs";c();var S={async extractFromChannels(a,u,r={}){let x=await b(),t=r.fps??24,p=r.targetWidth??512,e=await g.extractFeatures(x,a,u,t,r,p),i=e.channelSamples??{primary:new Float32Array(e.numFrames),beat:new Float32Array(e.numFrames),bass:new Float32Array(e.numFrames),energy:new Float32Array(e.numFrames)},y={nodeId:"audio_primary",channel:"primary",textureView:e.textureView,texture:e.texture,buffer:e.primaryBuffer,stats:e.stats.primary},w={nodeId:"audio_beat",channel:"beat",textureView:e.textureView,texture:e.texture,buffer:e.beatBuffer,stats:e.stats.beat},B={nodeId:"audio_bass",channel:"bass",textureView:e.textureView,texture:e.texture,buffer:e.bassBuffer,stats:e.stats.bass},F={nodeId:"audio_energy",channel:"energy",textureView:e.textureView,texture:e.texture,buffer:e.energyBuffer,stats:e.stats.energy},o=n(i.primary,t,y),m=n(i.beat,t,w),d=n(i.bass,t,B),f=n(i.energy,t,F);return{primary:o,beat:m,bass:d,energy:f,durationSec:e.durationSec,numFrames:e.numFrames,sampleRate:u,textureView:e.textureView,texture:e.texture,primaryBuffer:e.primaryBuffer,beatBuffer:e.beatBuffer,bassBuffer:e.bassBuffer,energyBuffer:e.energyBuffer,seekFrame(s){o.seekFrame?.(s),m.seekFrame?.(s),d.seekFrame?.(s),f.seekFrame?.(s)}}},async extract(a,u={}){let r=await l(a);if(!r||r.channels.length===0)throw new Error(`Failed to decode audio source for feature extraction: ${a}`);return S.extractFromChannels(r.channels,r.sampleRate,u)}};export{S as a};
@@ -1,4 +1,4 @@
1
- import{a as c}from"./chunk-MA4YVA2E.mjs";import{A as p,c as f,e as m,z as n}from"./chunk-RNFYEZLL.mjs";import{e as t}from"./chunk-BVF64D6H.mjs";t();t();var k=["delayTime","feedback","wet","dry"],P=()=>`
1
+ import{a as c}from"./chunk-Q7JN4EHX.mjs";import{A as p,c as f,e as m,z as n}from"./chunk-ALSOO22Q.mjs";import{e as t}from"./chunk-BVF64D6H.mjs";t();t();var k=["delayTime","feedback","wet","dry"],P=()=>`
2
2
  struct Uniforms {
3
3
  sampleRate : f32,
4
4
  delaySec : f32,
@@ -1,4 +1,4 @@
1
- import{a as q}from"./chunk-QVW5METG.mjs";import{b as Q,c as Z}from"./chunk-NKGXINCU.mjs";import{a as o}from"./chunk-V3FODTPI.mjs";import{a as j,d as y,e as E,g as K,h as X,j as P,k as Y,l as $,m as _}from"./chunk-ENKKLU7B.mjs";import{x as z}from"./chunk-RNFYEZLL.mjs";import{e as r}from"./chunk-BVF64D6H.mjs";r();r();r();var V=250,I=1,N=100,ve=q().field("shadowAmount",o.number().min(0).max(100).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Shadow Boost (%)",description:"Percentage to lift and recover crushed shadow details (0\u2013100%)."}).field("shadowTonalWidth",o.number().min(0).max(100).default(50),{bindable:!0,dataTypes:["Number","Signal"],label:"Shadow Range (%)",description:"Range of dark tones affected by shadow adjustments (0\u2013100%)."}).field("shadowRadius",o.number().min(1).max(250).default(30),{bindable:!0,dataTypes:["Number","Signal"],label:"Shadow Radius (px)",description:"Local neighborhood radius in pixels to determine shadow illumination (1\u2013250px)."}).field("highlightAmount",o.number().min(0).max(100).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Highlight Suppression (%)",description:"Percentage to suppress and recover blown highlight details (0\u2013100%)."}).field("highlightTonalWidth",o.number().min(0).max(100).default(50),{bindable:!0,dataTypes:["Number","Signal"],label:"Highlight Range (%)",description:"Range of bright tones affected by highlight adjustments (0\u2013100%)."}).field("highlightRadius",o.number().min(1).max(250).default(30),{bindable:!0,dataTypes:["Number","Signal"],label:"Highlight Radius (px)",description:"Local neighborhood radius in pixels to determine highlight exposure (1\u2013250px)."}).field("colorCorrection",o.number().min(-100).max(100).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Color Correction (%)",description:"Fine-tunes color saturation in recovered shadow/highlight zones (-100 to +100%)."}).field("midtoneContrast",o.number().min(-100).max(100).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Midtone Contrast (%)",description:"Adjusts contrast centered on the midtones (-100 to +100%)."}).build(),ee=ve.schema,We=o.union([Q,Z]),Le=ee.extend({op:o.literal("ShadowsHighlights"),metadata:o.unknown().optional()}),ye=ee.parse({});var Te=`
1
+ import{a as q}from"./chunk-QVW5METG.mjs";import{b as Q,c as Z}from"./chunk-NKGXINCU.mjs";import{a as o}from"./chunk-V3FODTPI.mjs";import{a as j,d as y,e as E,g as K,h as X,j as P,k as Y,l as $,m as _}from"./chunk-ENKKLU7B.mjs";import{x as z}from"./chunk-ALSOO22Q.mjs";import{e as r}from"./chunk-BVF64D6H.mjs";r();r();r();var V=250,I=1,N=100,ve=q().field("shadowAmount",o.number().min(0).max(100).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Shadow Boost (%)",description:"Percentage to lift and recover crushed shadow details (0\u2013100%)."}).field("shadowTonalWidth",o.number().min(0).max(100).default(50),{bindable:!0,dataTypes:["Number","Signal"],label:"Shadow Range (%)",description:"Range of dark tones affected by shadow adjustments (0\u2013100%)."}).field("shadowRadius",o.number().min(1).max(250).default(30),{bindable:!0,dataTypes:["Number","Signal"],label:"Shadow Radius (px)",description:"Local neighborhood radius in pixels to determine shadow illumination (1\u2013250px)."}).field("highlightAmount",o.number().min(0).max(100).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Highlight Suppression (%)",description:"Percentage to suppress and recover blown highlight details (0\u2013100%)."}).field("highlightTonalWidth",o.number().min(0).max(100).default(50),{bindable:!0,dataTypes:["Number","Signal"],label:"Highlight Range (%)",description:"Range of bright tones affected by highlight adjustments (0\u2013100%)."}).field("highlightRadius",o.number().min(1).max(250).default(30),{bindable:!0,dataTypes:["Number","Signal"],label:"Highlight Radius (px)",description:"Local neighborhood radius in pixels to determine highlight exposure (1\u2013250px)."}).field("colorCorrection",o.number().min(-100).max(100).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Color Correction (%)",description:"Fine-tunes color saturation in recovered shadow/highlight zones (-100 to +100%)."}).field("midtoneContrast",o.number().min(-100).max(100).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Midtone Contrast (%)",description:"Adjusts contrast centered on the midtones (-100 to +100%)."}).build(),ee=ve.schema,We=o.union([Q,Z]),Le=ee.extend({op:o.literal("ShadowsHighlights"),metadata:o.unknown().optional()}),ye=ee.parse({});var Te=`
2
2
  struct ShadowsHighlightsUniforms {
3
3
  dirX : f32,
4
4
  dirY : f32,
@@ -1,4 +1,4 @@
1
- import{a as K,b as Q,d as q,g as $,j as J,m as X}from"./chunk-ENKKLU7B.mjs";import{A as j}from"./chunk-RNFYEZLL.mjs";import{e as T}from"./chunk-BVF64D6H.mjs";T();T();function m(l){if(!l)return[1,1,1,1];let t=l.trim().replace(/^#/,"");if(t.length===3)t=t.split("").map(g=>g+g).join("")+"ff";else if(t.length===6)t=t+"ff";else if(t.length!==8)return[1,1,1,1];let i=parseInt(t.slice(0,2),16)/255,b=parseInt(t.slice(2,4),16)/255,d=parseInt(t.slice(4,6),16)/255,p=parseInt(t.slice(6,8),16)/255;return[Number.isFinite(i)?i:1,Number.isFinite(b)?b:1,Number.isFinite(d)?d:1,Number.isFinite(p)?p:1]}var S={normal:0,"source-over":0,multiply:1,screen:2,overlay:3,darken:4,lighten:5,"color-dodge":6,"color-burn":7,"hard-light":8,"soft-light":9,difference:10,exclusion:11,hue:12,saturation:13,color:14,luminosity:15,"mask-in":16,"destination-in":16,"mask-out":17,"destination-out":17,"source-in":18,"source-out":19,"source-atop":20,"destination-over":21,"destination-atop":22,lighter:23,copy:24,xor:25},Ze={InnerBevel:0,OuterBevel:1,Emboss:2,PillowEmboss:3},ea={Smooth:0,ChiselHard:1,ChiselSoft:2},aa={outside:0,center:1,inside:2},ta=`
1
+ import{a as X,b as J,d as U,g as Z,j as ee,m as ae}from"./chunk-ENKKLU7B.mjs";import{A as Q}from"./chunk-ALSOO22Q.mjs";import{e as W}from"./chunk-BVF64D6H.mjs";W();W();function h(l){if(!l)return[1,1,1,1];let t=l.trim().replace(/^#/,"");if(t.length===3)t=t.split("").map(m=>m+m).join("")+"ff";else if(t.length===6)t=t+"ff";else if(t.length!==8)return[1,1,1,1];let s=parseInt(t.slice(0,2),16)/255,u=parseInt(t.slice(2,4),16)/255,n=parseInt(t.slice(4,6),16)/255,c=parseInt(t.slice(6,8),16)/255;return[Number.isFinite(s)?s:1,Number.isFinite(u)?u:1,Number.isFinite(n)?n:1,Number.isFinite(c)?c:1]}var A={normal:0,"source-over":0,multiply:1,screen:2,overlay:3,darken:4,lighten:5,"color-dodge":6,"color-burn":7,"hard-light":8,"soft-light":9,difference:10,exclusion:11,hue:12,saturation:13,color:14,luminosity:15,"mask-in":16,"destination-in":16,"mask-out":17,"destination-out":17,"source-in":18,"source-out":19,"source-atop":20,"destination-over":21,"destination-atop":22,lighter:23,copy:24,xor:25},ea={InnerBevel:0,OuterBevel:1,Emboss:2,PillowEmboss:3},aa={Smooth:0,ChiselHard:1,ChiselSoft:2},ta={outside:0,center:1,inside:2},z=24,ra=`
2
2
  struct LayerStyleUniforms {
3
3
  // Drop Shadow (vec4 x 3)
4
4
  dropShadowColor : vec4<f32>,
@@ -40,7 +40,7 @@ struct LayerStyleUniforms {
40
40
  @group(0) @binding(0) var<uniform> u : LayerStyleUniforms;
41
41
  @group(1) @binding(0) var tex : texture_2d<f32>;
42
42
  @group(1) @binding(1) var samp : sampler;
43
- ${K}
43
+ ${X}
44
44
 
45
45
  fn sampleAlpha(uv: vec2<f32>) -> f32 {
46
46
  if (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0) {
@@ -211,7 +211,7 @@ fn compositeLayer(dst: vec4<f32>, src: vec4<f32>, blendMode: u32) -> vec4<f32> {
211
211
  var shadowWeightSum = 0.0;
212
212
 
213
213
  let sigma = max(0.5, size * 0.4);
214
- let sampleRadius = min(i32(ceil(size)), 24);
214
+ let sampleRadius = min(i32(ceil(size)), ${z});
215
215
 
216
216
  if (size <= 0.5) {
217
217
  shadowAccum = sampleAlpha(shadowCenterUv);
@@ -251,7 +251,7 @@ fn compositeLayer(dst: vec4<f32>, src: vec4<f32>, blendMode: u32) -> vec4<f32> {
251
251
  var glowAccum = 0.0;
252
252
  var glowWeightSum = 0.0;
253
253
  let sigma = max(0.5, size * 0.4);
254
- let sampleRadius = min(i32(ceil(size)), 24);
254
+ let sampleRadius = min(i32(ceil(size)), ${z});
255
255
 
256
256
  if (size <= 0.5) {
257
257
  glowAccum = origA;
@@ -289,7 +289,7 @@ fn compositeLayer(dst: vec4<f32>, src: vec4<f32>, blendMode: u32) -> vec4<f32> {
289
289
  let blendMode = u32(u.strokeParams2.x);
290
290
 
291
291
  var maxAlpha = 0.0;
292
- let sampleRadius = min(i32(ceil(size)), 24);
292
+ let sampleRadius = min(i32(ceil(size)), ${z});
293
293
  let sizeSq = size * size;
294
294
 
295
295
  for (var y = -sampleRadius; y <= sampleRadius; y++) {
@@ -447,7 +447,7 @@ fn compositeLayer(dst: vec4<f32>, src: vec4<f32>, blendMode: u32) -> vec4<f32> {
447
447
  let blendMode = u32(u.strokeParams2.x);
448
448
 
449
449
  var minAlpha = 1.0;
450
- let sampleRadius = min(i32(ceil(size)), 24);
450
+ let sampleRadius = min(i32(ceil(size)), ${z});
451
451
  let sizeSq = size * size;
452
452
 
453
453
  for (var y = -sampleRadius; y <= sampleRadius; y++) {
@@ -482,7 +482,7 @@ fn compositeLayer(dst: vec4<f32>, src: vec4<f32>, blendMode: u32) -> vec4<f32> {
482
482
  var maxAlpha = 0.0;
483
483
  var minAlpha = 1.0;
484
484
  let halfSize = max(0.5, size * 0.5);
485
- let sampleRadius = min(i32(ceil(halfSize)), 24);
485
+ let sampleRadius = min(i32(ceil(halfSize)), ${z});
486
486
  let halfSizeSq = halfSize * halfSize;
487
487
 
488
488
  for (var y = -sampleRadius; y <= sampleRadius; y++) {
@@ -506,4 +506,4 @@ fn compositeLayer(dst: vec4<f32>, src: vec4<f32>, blendMode: u32) -> vec4<f32> {
506
506
  // Output premultiplied alpha for QuadPipeline / WebGPU rendering
507
507
  return vec4<f32>(result.rgb * result.a, result.a);
508
508
  }
509
- `,Z=new WeakMap;function ra(l,t){let i=Z.get(l);if(i)return i;let b=l.createShaderModule({code:ta}),d=q(l,["uniform"]),p=q(l,["texture","sampler"]),g=l.createPipelineLayout({bindGroupLayouts:[d,p]});return i={pipeline:$(l,{module:b,layouts:g,format:t,blend:Q}),uniformLayout:d,textureLayout:p},Z.set(l,i),i}var e=new Float32Array(88),ee=async l=>{let{ctx:t,encoder:i,pass:b,targetTexture:d,targetWidth:p,targetHeight:g,props:n,drawChild:ae}=l,a=n.virtualMedia?.operation;if(a?.op!=="LayerStyle"||!a)return;let D=n.virtualMedia.children?.[0];if(!D)return;b.end();let _=p,R=g,te=n.elapsedMs!==void 0?n.elapsedMs/1e3:(n.frame??0)/(n.fps||30),r=(W,H,x=0,w=1e3)=>{if(W&&a.inputs?.[W]?.connectionValid){let f=a.inputs[W].outputItem;if(!f)return Math.max(x,Math.min(w,H));if(f.type==="Number"){let s=typeof f.data=="number"?f.data:f.data?.value??H;return Math.max(x,Math.min(w,s))}if(f.type==="Signal"){let s=f.data;if(typeof s=="number")return Math.max(x,Math.min(w,s));if(s&&typeof s=="object"){if(typeof s.value=="number")return Math.max(x,Math.min(w,s.value));let Ye=typeof s.amplitude=="number"?s.amplitude:1,je=typeof s.frequency=="number"?s.frequency:1,Ke=typeof s.phase=="number"?s.phase:0,Qe=typeof s.offset=="number"?s.offset:H,$e=te,Je=Qe+Ye*Math.sin(2*Math.PI*je*$e+Ke);return Math.max(x,Math.min(w,Je))}}}return Math.max(x,Math.min(w,H))},A=_,z=R,P=t.renderer.getTemporaryTexture(A,z,[...n.excludeTextures||[],d]),F=P.createView();t.renderer.beginFrame(i,F,{r:0,g:0,b:0,a:0},A,z,"clear").end(),await ae(D,{...n,virtualMedia:D,containerWidth:A,containerHeight:z},F,P,A,z);let U=t.renderer.getTemporaryTexture(_,R,[P,d,...n.excludeTextures||[]]),V=U.createView(),N=t.renderer.beginFrame(i,V,{r:0,g:0,b:0,a:0},_,R,"clear");t.renderer.drawTexture(N,P,{x:0,y:0,width:A,height:z},{opacity:1}),N.end();let{pipeline:re,uniformLayout:se,textureLayout:le}=ra(t.device,t.renderer.format),oe=t.renderer.samplerCache.getSampler(t.device),c=a.dropShadow??{},u=a.innerShadow??{},h=a.outerGlow??{},y=a.innerGlow??{},v=a.stroke??{},o=a.bevelEmboss??{},O=a.colorOverlay??{},C=m(c.color??"#000000"),ie=r(a.dropShadowOpacityHandleId,c.opacity??.75,0,1),ne=r(a.dropShadowAngleHandleId,c.angle??120,0,360)*Math.PI/180,de=r(a.dropShadowDistanceHandleId,c.distance??10,0,500),ce=r(a.dropShadowSpreadHandleId,c.spread??0,0,100),ue=r(a.dropShadowSizeHandleId,c.size??10,0,250),me=S[c.blendMode??"multiply"]??1,G=m(u.color??"#000000"),pe=r(a.innerShadowOpacityHandleId,u.opacity??.75,0,1),fe=r(a.innerShadowAngleHandleId,u.angle??120,0,360)*Math.PI/180,be=r(a.innerShadowDistanceHandleId,u.distance??5,0,500),ge=r(a.innerShadowChokeHandleId,u.choke??0,0,100),he=r(a.innerShadowSizeHandleId,u.size??5,0,250),ye=S[u.blendMode??"multiply"]??1,I=m(h.color??"#ffffff"),ve=r(a.outerGlowOpacityHandleId,h.opacity??.75,0,1),xe=r(a.outerGlowSizeHandleId,h.size??15,0,250),we=r(a.outerGlowSpreadHandleId,h.spread??0,0,100),Se=S[h.blendMode??"screen"]??2,k=m(y.color??"#ffffff"),Ae=r(a.innerGlowOpacityHandleId,y.opacity??.75,0,1),ze=r(a.innerGlowSizeHandleId,y.size??15,0,250),Pe=r(a.innerGlowSpreadHandleId,y.spread??0,0,100),_e=S[y.blendMode??"screen"]??2,L=m(v.color??"#ffffff"),Re=r(a.strokeSizeHandleId,v.size??2,0,100),Oe=aa[v.position??"outside"]??0,Ce=r(a.strokeOpacityHandleId,v.opacity??1,0,1),Ge=S[v.blendMode??"normal"]??0,M=m(o.highlightColor??"#ffffff"),B=m(o.shadowColor??"#000000"),Ie=Ze[o.style??"InnerBevel"]??0,ke=ea[o.technique??"Smooth"]??0,Le=r(a.bevelEmbossDepthHandleId,o.depth??100,1,1e3),Me=o.direction==="Down"?-1:1,Be=r(a.bevelEmbossSizeHandleId,o.size??5,0,250),Ee=r(a.bevelEmbossSoftenHandleId,o.soften??0,0,50),He=r(a.bevelEmbossAngleHandleId,o.angle??120,0,360)*Math.PI/180,Te=r(a.bevelEmbossAltitudeHandleId,o.altitude??30,0,90)*Math.PI/180,De=r(a.bevelEmbossHighlightOpacityHandleId,o.highlightOpacity??.75,0,1),We=r(a.bevelEmbossShadowOpacityHandleId,o.shadowOpacity??.75,0,1),E=m(O.color??"#ff0000"),qe=r(a.colorOverlayOpacityHandleId,O.opacity??1,0,1),Fe=S[O.blendMode??"normal"]??0;e.fill(0),e[0]=C[0],e[1]=C[1],e[2]=C[2],e[3]=C[3],e[4]=c.enabled?1:0,e[5]=ie,e[6]=ne,e[7]=de,e[8]=ce,e[9]=ue,e[10]=me,e[11]=0,e[12]=G[0],e[13]=G[1],e[14]=G[2],e[15]=G[3],e[16]=u.enabled?1:0,e[17]=pe,e[18]=fe,e[19]=be,e[20]=ge,e[21]=he,e[22]=ye,e[23]=0,e[24]=I[0],e[25]=I[1],e[26]=I[2],e[27]=I[3],e[28]=h.enabled?1:0,e[29]=ve,e[30]=xe,e[31]=we,e[32]=Se,e[33]=0,e[34]=0,e[35]=0,e[36]=k[0],e[37]=k[1],e[38]=k[2],e[39]=k[3],e[40]=y.enabled?1:0,e[41]=Ae,e[42]=ze,e[43]=Pe,e[44]=_e,e[45]=0,e[46]=0,e[47]=0,e[48]=L[0],e[49]=L[1],e[50]=L[2],e[51]=L[3],e[52]=v.enabled?1:0,e[53]=Re,e[54]=Oe,e[55]=Ce,e[56]=Ge,e[57]=0,e[58]=0,e[59]=0,e[60]=M[0],e[61]=M[1],e[62]=M[2],e[63]=M[3],e[64]=B[0],e[65]=B[1],e[66]=B[2],e[67]=B[3],e[68]=o.enabled?1:0,e[69]=Ie,e[70]=ke,e[71]=Le,e[72]=Me,e[73]=Be,e[74]=Ee,e[75]=He,e[76]=Te,e[77]=De,e[78]=We,e[79]=0,e[80]=E[0],e[81]=E[1],e[82]=E[2],e[83]=E[3],e[84]=O.enabled?1:0,e[85]=qe,e[86]=Fe,e[87]=0;let Ue=t.renderer.getTemporaryBuffer(e),Ve=t.device.createBindGroup({layout:se,entries:[{binding:0,resource:{buffer:Ue}}]}),Ne=t.device.createBindGroup({layout:le,entries:[{binding:0,resource:V},{binding:1,resource:oe}]}),Y=t.renderer.getTemporaryTexture(_,R,[U,P,d,...n.excludeTextures||[]]);X(i,Y.createView(),re,[Ve,Ne]),J(l,Y,a.opacity??1)};var ca=j({WebGPURenderer:ee});export{ca as a};
509
+ `,te=new WeakMap;function sa(l,t){let s=te.get(l);if(s)return s;let u=l.createShaderModule({code:ra}),n=U(l,["uniform"]),c=U(l,["texture","sampler"]),m=l.createPipelineLayout({bindGroupLayouts:[n,c]});return s={pipeline:Z(l,{module:u,layouts:m,format:t,blend:J}),uniformLayout:n,textureLayout:c},te.set(l,s),s}var e=new Float32Array(88),V=async l=>{let{ctx:t,encoder:s,pass:u,targetTexture:n,targetWidth:c,targetHeight:m,props:i,drawChild:p}=l,a=i.virtualMedia?.operation;if(a?.op!=="LayerStyle"||!a)return;let q=i.virtualMedia.children?.[0];if(!q)return;u.end();let G=c,O=m,re=i.elapsedMs!==void 0?i.elapsedMs/1e3:(i.frame??0)/(i.fps||30),r=(F,D,w=0,S=1e3)=>{if(F&&a.inputs?.[F]?.connectionValid){let g=a.inputs[F].outputItem;if(!g)return Math.max(w,Math.min(S,D));if(g.type==="Number"){let o=typeof g.data=="number"?g.data:g.data?.value??D;return Math.max(w,Math.min(S,o))}if(g.type==="Signal"){let o=g.data;if(typeof o=="number")return Math.max(w,Math.min(S,o));if(o&&typeof o=="object"){if(typeof o.value=="number")return Math.max(w,Math.min(S,o.value));let je=typeof o.amplitude=="number"?o.amplitude:1,Ke=typeof o.frequency=="number"?o.frequency:1,Ye=typeof o.phase=="number"?o.phase:0,Qe=typeof o.offset=="number"?o.offset:D,Xe=re,Je=Qe+je*Math.sin(2*Math.PI*Ke*Xe+Ye);return Math.max(w,Math.min(S,Je))}}}return Math.max(w,Math.min(S,D))},P=G,R=O,_=t.renderer.getTemporaryTexture(P,R,[...i.excludeTextures||[],n]),N=_.createView();t.renderer.beginFrame(s,N,{r:0,g:0,b:0,a:0},P,R,"clear").end(),await p(q,{...i,virtualMedia:q,containerWidth:P,containerHeight:R},N,_,P,R);let $=t.renderer.getTemporaryTexture(G,O,[_,n,...i.excludeTextures||[]]),j=$.createView(),K=t.renderer.beginFrame(s,j,{r:0,g:0,b:0,a:0},G,O,"clear");t.renderer.drawTexture(K,_,{x:0,y:0,width:P,height:R},{opacity:1}),K.end();let{pipeline:se,uniformLayout:oe,textureLayout:le}=sa(t.device,t.renderer.format),ie=t.renderer.samplerCache.getSampler(t.device),f=a.dropShadow??{},b=a.innerShadow??{},y=a.outerGlow??{},v=a.innerGlow??{},x=a.stroke??{},d=a.bevelEmboss??{},C=a.colorOverlay??{},k=h(f.color??"#000000"),ne=r(a.dropShadowOpacityHandleId,f.opacity??.75,0,1),de=r(a.dropShadowAngleHandleId,f.angle??120,0,360)*Math.PI/180,ce=r(a.dropShadowDistanceHandleId,f.distance??10,0,500),ue=r(a.dropShadowSpreadHandleId,f.spread??0,0,100),me=r(a.dropShadowSizeHandleId,f.size??10,0,250),pe=A[f.blendMode??"multiply"]??1,I=h(b.color??"#000000"),fe=r(a.innerShadowOpacityHandleId,b.opacity??.75,0,1),be=r(a.innerShadowAngleHandleId,b.angle??120,0,360)*Math.PI/180,he=r(a.innerShadowDistanceHandleId,b.distance??5,0,500),ge=r(a.innerShadowChokeHandleId,b.choke??0,0,100),ye=r(a.innerShadowSizeHandleId,b.size??5,0,250),ve=A[b.blendMode??"multiply"]??1,M=h(y.color??"#ffffff"),xe=r(a.outerGlowOpacityHandleId,y.opacity??.75,0,1),we=r(a.outerGlowSizeHandleId,y.size??15,0,250),Se=r(a.outerGlowSpreadHandleId,y.spread??0,0,100),Ae=A[y.blendMode??"screen"]??2,L=h(v.color??"#ffffff"),ze=r(a.innerGlowOpacityHandleId,v.opacity??.75,0,1),Pe=r(a.innerGlowSizeHandleId,v.size??15,0,250),Re=r(a.innerGlowSpreadHandleId,v.spread??0,0,100),_e=A[v.blendMode??"screen"]??2,E=h(x.color??"#ffffff"),Ge=r(a.strokeSizeHandleId,x.size??2,0,100),Oe=ta[x.position??"outside"]??0,Ce=r(a.strokeOpacityHandleId,x.opacity??1,0,1),ke=A[x.blendMode??"normal"]??0,H=h(d.highlightColor??"#ffffff"),B=h(d.shadowColor??"#000000"),Ie=ea[d.style??"InnerBevel"]??0,Me=aa[d.technique??"Smooth"]??0,Le=r(a.bevelEmbossDepthHandleId,d.depth??100,1,1e3),Ee=d.direction==="Down"?-1:1,He=r(a.bevelEmbossSizeHandleId,d.size??5,0,250),Be=r(a.bevelEmbossSoftenHandleId,d.soften??0,0,50),Te=r(a.bevelEmbossAngleHandleId,d.angle??120,0,360)*Math.PI/180,De=r(a.bevelEmbossAltitudeHandleId,d.altitude??30,0,90)*Math.PI/180,We=r(a.bevelEmbossHighlightOpacityHandleId,d.highlightOpacity??.75,0,1),qe=r(a.bevelEmbossShadowOpacityHandleId,d.shadowOpacity??.75,0,1),T=h(C.color??"#ff0000"),Fe=r(a.colorOverlayOpacityHandleId,C.opacity??1,0,1),Ue=A[C.blendMode??"normal"]??0;e.fill(0),e[0]=k[0],e[1]=k[1],e[2]=k[2],e[3]=k[3],e[4]=f.enabled?1:0,e[5]=ne,e[6]=de,e[7]=ce,e[8]=ue,e[9]=me,e[10]=pe,e[11]=0,e[12]=I[0],e[13]=I[1],e[14]=I[2],e[15]=I[3],e[16]=b.enabled?1:0,e[17]=fe,e[18]=be,e[19]=he,e[20]=ge,e[21]=ye,e[22]=ve,e[23]=0,e[24]=M[0],e[25]=M[1],e[26]=M[2],e[27]=M[3],e[28]=y.enabled?1:0,e[29]=xe,e[30]=we,e[31]=Se,e[32]=Ae,e[33]=0,e[34]=0,e[35]=0,e[36]=L[0],e[37]=L[1],e[38]=L[2],e[39]=L[3],e[40]=v.enabled?1:0,e[41]=ze,e[42]=Pe,e[43]=Re,e[44]=_e,e[45]=0,e[46]=0,e[47]=0,e[48]=E[0],e[49]=E[1],e[50]=E[2],e[51]=E[3],e[52]=x.enabled?1:0,e[53]=Ge,e[54]=Oe,e[55]=Ce,e[56]=ke,e[57]=0,e[58]=0,e[59]=0,e[60]=H[0],e[61]=H[1],e[62]=H[2],e[63]=H[3],e[64]=B[0],e[65]=B[1],e[66]=B[2],e[67]=B[3],e[68]=d.enabled?1:0,e[69]=Ie,e[70]=Me,e[71]=Le,e[72]=Ee,e[73]=He,e[74]=Be,e[75]=Te,e[76]=De,e[77]=We,e[78]=qe,e[79]=0,e[80]=T[0],e[81]=T[1],e[82]=T[2],e[83]=T[3],e[84]=C.enabled?1:0,e[85]=Fe,e[86]=Ue,e[87]=0;let Ve=t.renderer.getTemporaryBuffer(e),Ne=t.device.createBindGroup({layout:oe,entries:[{binding:0,resource:{buffer:Ve}}]}),$e=t.device.createBindGroup({layout:le,entries:[{binding:0,resource:j},{binding:1,resource:ie}]}),Y=t.renderer.getTemporaryTexture(G,O,[$,_,n,...i.excludeTextures||[]]);ae(s,Y.createView(),se,[Ne,$e]),ee(l,Y,a.opacity??1)},oa=l=>{let t=l,s=a=>typeof a=="string"&&t.inputs?.[a]?.connectionValid===!0;if(s(t.dropShadowDistanceHandleId)||s(t.dropShadowSizeHandleId)||s(t.outerGlowSizeHandleId)||s(t.strokeSizeHandleId))return null;let u=a=>a&&typeof a=="object"&&"_value"in a?a._value:a,n=a=>Math.min(Math.ceil(a??0),z),c=u(t.dropShadow),m=u(t.outerGlow),i=u(t.stroke),p=0;return c?.enabled&&(p=Math.max(p,(c.distance??0)+n(c.size))),m?.enabled&&(p=Math.max(p,n(m.size))),i?.enabled&&i.position!=="inside"&&(p=Math.max(p,n(i.size))),Math.ceil(p)+2};V.reach=oa;var ma=Q({WebGPURenderer:V});export{ma as a};
@@ -1,4 +1,4 @@
1
- import{a as W,d as V,e as $,f as j,g as E,h as F,j as A,k as Y,m as q}from"./chunk-ENKKLU7B.mjs";import{d as p}from"./chunk-6YJP57MZ.mjs";import{A as O}from"./chunk-RNFYEZLL.mjs";import{e as C}from"./chunk-BVF64D6H.mjs";C();C();var ne=`
1
+ import{a as W,d as V,e as $,f as j,g as E,h as F,j as A,k as Y,m as q}from"./chunk-ENKKLU7B.mjs";import{d as p}from"./chunk-6YJP57MZ.mjs";import{A as O}from"./chunk-ALSOO22Q.mjs";import{e as C}from"./chunk-BVF64D6H.mjs";C();C();var ne=`
2
2
  struct ColorKeyUniforms {
3
3
  similarity : f32,
4
4
  smoothness : f32,
@@ -1,4 +1,4 @@
1
- import{a as w,d as m,g as y,h as b,j as v,m as x}from"./chunk-ENKKLU7B.mjs";import{A as g}from"./chunk-RNFYEZLL.mjs";import{e as s}from"./chunk-BVF64D6H.mjs";s();s();var j=new WeakMap,P=`
1
+ import{a as w,d as m,g as y,h as b,j as v,m as x}from"./chunk-ENKKLU7B.mjs";import{A as g}from"./chunk-ALSOO22Q.mjs";import{e as s}from"./chunk-BVF64D6H.mjs";s();s();var j=new WeakMap,P=`
2
2
  struct SelectiveColorUniforms {
3
3
  reds : vec4<f32>,
4
4
  yellows : vec4<f32>,
@@ -1,4 +1,4 @@
1
- import{a as R,c as P,d as h,g as D,h as U,j as w,m as B}from"./chunk-ENKKLU7B.mjs";import{A as F}from"./chunk-RNFYEZLL.mjs";import{e as y}from"./chunk-BVF64D6H.mjs";y();y();var N=`
1
+ import{a as R,c as P,d as h,g as D,h as U,j as w,m as B}from"./chunk-ENKKLU7B.mjs";import{A as F}from"./chunk-ALSOO22Q.mjs";import{e as y}from"./chunk-BVF64D6H.mjs";y();y();var N=`
2
2
  struct FlipUniforms {
3
3
  flipH : f32,
4
4
  flipV : f32,
@@ -1,4 +1,4 @@
1
- import{a as Q}from"./chunk-QVW5METG.mjs";import{b as Z,c as ee}from"./chunk-NKGXINCU.mjs";import{a}from"./chunk-V3FODTPI.mjs";import{d as E,e as N,g as $,h as k,j,k as q,l as K,m as J}from"./chunk-ENKKLU7B.mjs";import{A as z,w as W}from"./chunk-RNFYEZLL.mjs";import{e as g}from"./chunk-BVF64D6H.mjs";g();g();g();g();var v=500,L=100,u=4096,Le=a.object({id:a.string().default("patch"),centerX:a.number().min(0).max(1).default(.5),centerY:a.number().min(0).max(1).default(.5),offsetX:a.number().min(-u).max(u).default(50),offsetY:a.number().min(-u).max(u).default(0),radius:a.number().min(1).max(v).default(25),sourceRadius:a.number().min(1).max(v).default(25),feather:a.number().min(0).max(L).default(50),opacity:a.number().min(0).max(1).default(1),mode:a.enum(["Clone","SeamlessHeal","TextureTransfer"]).default("SeamlessHeal")}),_e=Q().field("patches",a.array(Le).optional(),{label:"Patches",description:"List of patch healing operations applied sequentially."}).field("centerX",a.number().min(0).max(1).default(.5),{bindable:!0,dataTypes:["Number","Signal"],label:"Center X Signal",description:"Horizontal normalized position of destination patch (0.0 to 1.0)."}).field("centerY",a.number().min(0).max(1).default(.5),{bindable:!0,dataTypes:["Number","Signal"],label:"Center Y Signal",description:"Vertical normalized position of destination patch (0.0 to 1.0)."}).field("offsetX",a.number().min(-u).max(u).default(50),{bindable:!0,dataTypes:["Number","Signal"],label:"Source Offset X Signal",description:"Horizontal pixel distance from destination to sample source patch."}).field("offsetY",a.number().min(-u).max(u).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Source Offset Y Signal",description:"Vertical pixel distance from destination to sample source patch."}).field("radius",a.number().min(1).max(v).default(25),{bindable:!0,dataTypes:["Number","Signal"],label:"Target Radius Signal",description:"Radius of the destination circular patch in pixels (used when no explicit Mask input is connected)."}).field("sourceRadius",a.number().min(1).max(v).default(25),{bindable:!0,dataTypes:["Number","Signal"],label:"Source Radius Signal",description:"Radius of the source sample circular patch in pixels."}).field("feather",a.number().min(0).max(L).default(50),{bindable:!0,dataTypes:["Number","Signal"],label:"Feather Signal",description:"Softness edge falloff percentage (0\u2013100%)."}).field("opacity",a.number().min(0).max(1).default(1),{bindable:!0,dataTypes:["Number","Signal"],label:"Opacity Signal",description:"Blending opacity of the healed patch (0.0\u20131.0)."}).field("mode",a.enum(["Clone","SeamlessHeal","TextureTransfer"]).default("SeamlessHeal"),{label:"Healing Mode",description:"Healing algorithm: Clone (direct stamp), SeamlessHeal (Poisson color/lighting blend), TextureTransfer (luminance structure matching)."}).build(),Ge=_e.schema;function te(e){if(e?.patches&&e.patches.length>0)return e.patches.map((i,b)=>({id:i.id||`patch-${b+1}`,centerX:i.centerX??.5,centerY:i.centerY??.5,offsetX:i.offsetX??50,offsetY:i.offsetY??0,radius:i.radius??25,sourceRadius:i.sourceRadius??i.radius??25,feather:i.feather??50,opacity:i.opacity??1,mode:i.mode??"SeamlessHeal"}));let s=e?.radius??25;return[{id:"patch-1",centerX:e?.centerX??.5,centerY:e?.centerY??.5,offsetX:e?.offsetX??50,offsetY:e?.offsetY??0,radius:s,sourceRadius:e?.sourceRadius??s,feather:e?.feather??50,opacity:e?.opacity??1,mode:e?.mode??"SeamlessHeal"}]}var Fe=a.union([Z,ee]);var Ve=`
1
+ import{a as Q}from"./chunk-QVW5METG.mjs";import{b as Z,c as ee}from"./chunk-NKGXINCU.mjs";import{a}from"./chunk-V3FODTPI.mjs";import{d as E,e as N,g as $,h as k,j,k as q,l as K,m as J}from"./chunk-ENKKLU7B.mjs";import{A as z,w as W}from"./chunk-ALSOO22Q.mjs";import{e as g}from"./chunk-BVF64D6H.mjs";g();g();g();g();var v=500,L=100,u=4096,Le=a.object({id:a.string().default("patch"),centerX:a.number().min(0).max(1).default(.5),centerY:a.number().min(0).max(1).default(.5),offsetX:a.number().min(-u).max(u).default(50),offsetY:a.number().min(-u).max(u).default(0),radius:a.number().min(1).max(v).default(25),sourceRadius:a.number().min(1).max(v).default(25),feather:a.number().min(0).max(L).default(50),opacity:a.number().min(0).max(1).default(1),mode:a.enum(["Clone","SeamlessHeal","TextureTransfer"]).default("SeamlessHeal")}),_e=Q().field("patches",a.array(Le).optional(),{label:"Patches",description:"List of patch healing operations applied sequentially."}).field("centerX",a.number().min(0).max(1).default(.5),{bindable:!0,dataTypes:["Number","Signal"],label:"Center X Signal",description:"Horizontal normalized position of destination patch (0.0 to 1.0)."}).field("centerY",a.number().min(0).max(1).default(.5),{bindable:!0,dataTypes:["Number","Signal"],label:"Center Y Signal",description:"Vertical normalized position of destination patch (0.0 to 1.0)."}).field("offsetX",a.number().min(-u).max(u).default(50),{bindable:!0,dataTypes:["Number","Signal"],label:"Source Offset X Signal",description:"Horizontal pixel distance from destination to sample source patch."}).field("offsetY",a.number().min(-u).max(u).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Source Offset Y Signal",description:"Vertical pixel distance from destination to sample source patch."}).field("radius",a.number().min(1).max(v).default(25),{bindable:!0,dataTypes:["Number","Signal"],label:"Target Radius Signal",description:"Radius of the destination circular patch in pixels (used when no explicit Mask input is connected)."}).field("sourceRadius",a.number().min(1).max(v).default(25),{bindable:!0,dataTypes:["Number","Signal"],label:"Source Radius Signal",description:"Radius of the source sample circular patch in pixels."}).field("feather",a.number().min(0).max(L).default(50),{bindable:!0,dataTypes:["Number","Signal"],label:"Feather Signal",description:"Softness edge falloff percentage (0\u2013100%)."}).field("opacity",a.number().min(0).max(1).default(1),{bindable:!0,dataTypes:["Number","Signal"],label:"Opacity Signal",description:"Blending opacity of the healed patch (0.0\u20131.0)."}).field("mode",a.enum(["Clone","SeamlessHeal","TextureTransfer"]).default("SeamlessHeal"),{label:"Healing Mode",description:"Healing algorithm: Clone (direct stamp), SeamlessHeal (Poisson color/lighting blend), TextureTransfer (luminance structure matching)."}).build(),Ge=_e.schema;function te(e){if(e?.patches&&e.patches.length>0)return e.patches.map((i,b)=>({id:i.id||`patch-${b+1}`,centerX:i.centerX??.5,centerY:i.centerY??.5,offsetX:i.offsetX??50,offsetY:i.offsetY??0,radius:i.radius??25,sourceRadius:i.sourceRadius??i.radius??25,feather:i.feather??50,opacity:i.opacity??1,mode:i.mode??"SeamlessHeal"}));let s=e?.radius??25;return[{id:"patch-1",centerX:e?.centerX??.5,centerY:e?.centerY??.5,offsetX:e?.offsetX??50,offsetY:e?.offsetY??0,radius:s,sourceRadius:e?.sourceRadius??s,feather:e?.feather??50,opacity:e?.opacity??1,mode:e?.mode??"SeamlessHeal"}]}var Fe=a.union([Z,ee]);var Ve=`
2
2
  struct VertexOutput {
3
3
  @builtin(position) position : vec4<f32>,
4
4
  @location(0) uv : vec2<f32>,
@@ -1,4 +1,4 @@
1
- import{a as g}from"./chunk-37EFVZWT.mjs";import{a as c,d as s}from"./chunk-6YJP57MZ.mjs";import{A as f,c as t,d as a}from"./chunk-RNFYEZLL.mjs";import{e as d}from"./chunk-BVF64D6H.mjs";d();d();var l=async(n,m,p,e)=>{if(!e?.device||!n||n.length===0||n[0].length===0)return;let r=p.operation||{},i=r.nodeId||r.id||"audio-signal-extractor",v=e.fps??24,y=a(r.extractionMode,""),b=a(r.curve,""),I={extractionMode:y||void 0,attackMs:t(r.attackMs,10),releaseMs:t(r.releaseMs,120),sensitivity:t(r.sensitivity,1),noiseFloorDb:t(r.noiseFloorDb,-45),dynamicRangeDb:t(r.dynamicRangeDb,36),smoothing:t(r.smoothing,.15),curve:b||void 0,beatThreshold:t(r.beatThreshold,.55),beatDecayMs:t(r.beatDecayMs,80)},o=await c.extractFeatures(e.device,n,m,v,I,512);s.registerBuffer(e.device,i,o.primaryBuffer,e.renderId),s.registerBuffer(e.device,`${i}_beat`,o.beatBuffer,e.renderId),s.registerBuffer(e.device,`${i}_bass`,o.bassBuffer,e.renderId),s.registerBuffer(e.device,`${i}_energy`,o.energyBuffer,e.renderId),s.registerTexture(e.device,i,o.texture,o.textureView,e.renderId),s.registerTexture(e.device,`${i}_beat`,o.texture,o.textureView,e.renderId),s.registerTexture(e.device,`${i}_bass`,o.texture,o.textureView,e.renderId),s.registerTexture(e.device,`${i}_energy`,o.texture,o.textureView,e.renderId);let u=`signal_${i.replace(/[^a-zA-Z0-9]/g,"_")}`,A=`
1
+ import{a as g}from"./chunk-37EFVZWT.mjs";import{a as c,d as s}from"./chunk-6YJP57MZ.mjs";import{A as f,c as t,d as a}from"./chunk-ALSOO22Q.mjs";import{e as d}from"./chunk-BVF64D6H.mjs";d();d();var l=async(n,m,p,e)=>{if(!e?.device||!n||n.length===0||n[0].length===0)return;let r=p.operation||{},i=r.nodeId||r.id||"audio-signal-extractor",v=e.fps??24,y=a(r.extractionMode,""),b=a(r.curve,""),I={extractionMode:y||void 0,attackMs:t(r.attackMs,10),releaseMs:t(r.releaseMs,120),sensitivity:t(r.sensitivity,1),noiseFloorDb:t(r.noiseFloorDb,-45),dynamicRangeDb:t(r.dynamicRangeDb,36),smoothing:t(r.smoothing,.15),curve:b||void 0,beatThreshold:t(r.beatThreshold,.55),beatDecayMs:t(r.beatDecayMs,80)},o=await c.extractFeatures(e.device,n,m,v,I,512);s.registerBuffer(e.device,i,o.primaryBuffer,e.renderId),s.registerBuffer(e.device,`${i}_beat`,o.beatBuffer,e.renderId),s.registerBuffer(e.device,`${i}_bass`,o.bassBuffer,e.renderId),s.registerBuffer(e.device,`${i}_energy`,o.energyBuffer,e.renderId),s.registerTexture(e.device,i,o.texture,o.textureView,e.renderId),s.registerTexture(e.device,`${i}_beat`,o.texture,o.textureView,e.renderId),s.registerTexture(e.device,`${i}_bass`,o.texture,o.textureView,e.renderId),s.registerTexture(e.device,`${i}_energy`,o.texture,o.textureView,e.renderId);let u=`signal_${i.replace(/[^a-zA-Z0-9]/g,"_")}`,A=`
2
2
  fn ${u}(t: f32, x: f32, y: f32, z: f32, i: u32, n: u32, frame: u32, color: vec4f, t_elapsed: f32, duration: f32) -> f32 {
3
3
  return 0.0f;
4
4
  }
@@ -1,4 +1,4 @@
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{x as U}from"./chunk-RNFYEZLL.mjs";import{e as f}from"./chunk-BVF64D6H.mjs";f();f();var j=new WeakMap,me=`
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{x as U}from"./chunk-ALSOO22Q.mjs";import{e as f}from"./chunk-BVF64D6H.mjs";f();f();var j=new WeakMap,me=`
2
2
  struct ColorBalanceUniforms {
3
3
  shadows : vec4<f32>,
4
4
  midtones : vec4<f32>,
@@ -1,4 +1,4 @@
1
- import{a as U,c as T,d as L,g as v,h as A,i as C}from"./chunk-ENKKLU7B.mjs";import{A as x}from"./chunk-RNFYEZLL.mjs";import{e as p}from"./chunk-BVF64D6H.mjs";p();p();var G=1024,_=`
1
+ import{a as U,c as T,d as L,g as v,h as A,i as C}from"./chunk-ENKKLU7B.mjs";import{A as x}from"./chunk-ALSOO22Q.mjs";import{e as p}from"./chunk-BVF64D6H.mjs";p();p();var G=1024,_=`
2
2
  struct LiquifyOpData {
3
3
  opType : f32, // 0=Push, 1=Pull, 2=Bloat, 3=Pucker, 4=TwirlCW, 5=TwirlCCW
4
4
  x : f32,
@@ -1 +1 @@
1
- import{a as o}from"./chunk-45XGWIOY.mjs";import{a as pe}from"./chunk-EU7CFSB5.mjs";import{h as ie}from"./chunk-RNFYEZLL.mjs";import{d,e as p}from"./chunk-BVF64D6H.mjs";p();p();p();p();p();p();function de(r){return typeof d<"u"?d.env?.[r]:void 0}function me(){let r=de("FRAMEFIELDS_STRICT_PROPS");return r==="1"||r==="true"}function ze(){return me()||de("NODE_ENV")!=="production"}var ue=new Set;function se(r){if(me())throw new Error(r);ue.has(r)||(ue.add(r),console.warn(`[framefields] ${r}`))}function ce(r){if(typeof r!="object"||r===null||Array.isArray(r)||ie(r))return!1;let e=Object.getPrototypeOf(r);return e===Object.prototype||e===null}function Fe(r,e){let n=Array.from({length:e.length+1},(l,i)=>i);for(let l=1;l<=r.length;l++){let i=n[0];n[0]=l;for(let s=1;s<=e.length;s++){let c=n[s];n[s]=Math.min(n[s]+1,n[s-1]+1,i+(r[l-1]===e[s-1]?0:1)),i=c}}return n[e.length]}function Ve(r,e){let n,l=Number.POSITIVE_INFINITY,i=r.toLowerCase();for(let c of e){let u=c.toLowerCase(),m=u.includes(i)||i.includes(u)?1:Fe(i,u);m<l&&(l=m,n=c)}return n&&l<=Math.max(2,Math.ceil(r.length/2))?` Did you mean "${n}"?`:` Known props: ${e.join(", ")}.`}function qe(r,e,n){if(typeof e=="number"){let{min:l,max:i}=n,s=l!==void 0&&e<l,c=i!==void 0&&e>i;if(s||c||Number.isNaN(e)){let u=l!==void 0&&i!==void 0?`${l} to ${i}`:l!==void 0?`\u2265 ${l}`:`\u2264 ${i}`;se(Number.isNaN(e)?`${r} is NaN`:`${r} = ${e} is outside ${u}`)}return}n.enum&&(typeof e=="string"||typeof e=="boolean")&&!n.enum.includes(e)&&se(`${r} = ${JSON.stringify(e)} is not one of ${n.enum.map(l=>JSON.stringify(l)).join(", ")}`)}function be(r,e,n){let l=Object.keys(n);for(let[i,s]of Object.entries(e)){if(s===void 0)continue;let c=n[i];if(!c){se(`${r}: unknown prop "${i}".${Ve(i,l)}`);continue}ie(s)||typeof s=="function"||(c.props&&ce(s)?be(`${r}.${i}`,s,c.props):qe(`${r}.${i}`,s,c))}}function Xe(r){return typeof r=="object"&&r!==null?structuredClone(r):r}function t(r,e,n,l){let i=n;ze()&&be(r,i,l);let s={};for(let[c,u]of Object.entries(e))s[c]=Xe(u);for(let[c,u]of Object.entries(i)){if(u===void 0)continue;let m=s[c];s[c]=ce(m)&&ce(u)?{...m,...Object.fromEntries(Object.entries(u).filter(([,Oe])=>Oe!==void 0))}:u}return s}p();var a={Ascii:{cellSize:{min:4,max:64},colorMode:{enum:["mono","source","green"]},fg:{},bg:{},contrast:{min:.5,max:3},invert:{}},AudioCompressor:{threshold:{min:-60,max:0},ratio:{min:1,max:100},attack:{min:1e-4,max:1},release:{min:.01,max:5},knee:{min:0,max:24},makeupGain:{min:0,max:24}},AudioDelay:{delayTime:{min:.001,max:5},feedback:{min:0,max:.95},wet:{min:0,max:1},dry:{min:0,max:1},pingPong:{}},AudioFade:{fadeInDuration:{min:0,max:60},fadeOutDuration:{min:0,max:60},fadeInCurve:{enum:["linear","exponential","scurve"]},fadeOutCurve:{enum:["linear","exponential","scurve"]}},AudioNoiseGate:{threshold:{min:-120,max:0},attack:{min:1e-4,max:1},hold:{min:.001,max:5},release:{min:.01,max:5},range:{min:-120,max:0}},AudioParametricEq:{type:{enum:["lowShelf","highShelf","peak","lowPass","highPass","notch"]},frequency:{min:20,max:2e4},gain:{min:-24,max:24},q:{min:.01,max:10}},AudioReverb:{roomSize:{min:0,max:.98},damping:{min:0,max:1},wet:{min:0,max:1},dry:{min:0,max:1},width:{min:0,max:1}},Blur:{blurType:{enum:["Gaussian","Box","Median","Motion","Bilateral","Edge-preserving","Radial","Zoom"]},strength:{min:0,max:100},angle:{min:0,max:360},sigmaColor:{min:.01,max:1},centerX:{min:0,max:1},centerY:{min:0,max:1},partialBlur:{},radius:{min:.01,max:1},radiusY:{min:0,max:1},shape:{enum:["ellipse","circle","rect"]}},CameraParallax3D:{motionPreset:{enum:["Custom","DollyZoom","Orbit","FlyThrough","HandheldShake","RackFocus"]},panX:{min:-1,max:1},panY:{min:-1,max:1},dollyZ:{min:-1,max:1},fov:{min:15,max:120},parallaxAmount:{min:0,max:2},dofAperture:{min:0,max:1},focusPlane:{min:0,max:1},edgeDilation:{min:0,max:1},depthInvert:{}},ChannelMerger:{colorSpace:{enum:["RGBA","HSLA","CMYK","LAB"]},defaultChannel4:{min:0,max:1}},ChannelSplitter:{colorSpace:{enum:["RGBA","HSLA","CMYK","LAB"]}},ColorBalance:{shadows:{props:{cyanRed:{min:-100,max:100},magentaGreen:{min:-100,max:100},yellowBlue:{min:-100,max:100}}},midtones:{props:{cyanRed:{min:-100,max:100},magentaGreen:{min:-100,max:100},yellowBlue:{min:-100,max:100}}},highlights:{props:{cyanRed:{min:-100,max:100},magentaGreen:{min:-100,max:100},yellowBlue:{min:-100,max:100}}},preserveLuminosity:{}},ColorKey:{keyColor:{},similarity:{min:0,max:1},smoothness:{min:0,max:1},spillSuppression:{min:0,max:1},colorSpace:{enum:["YUV","RGB"]},spillSuppressionType:{enum:["Desaturate","Neutralize","None"]}},Contour:{levels:{min:2,max:64},lineWidth:{min:.5,max:8},lineColor:{},fill:{enum:["source","flat","none"]},fillColor:{},smoothing:{min:0,max:8}},CornerPin:{points:{}},CRT:{scanlines:{min:0,max:1},lineCount:{min:100,max:2160},curvature:{min:0,max:1},mask:{min:0,max:1},vignette:{min:0,max:1},noise:{min:0,max:1},flicker:{min:0,max:1},tracking:{min:0,max:1},chroma:{min:0,max:20}},Datamosh:{keyframes:{},strength:{min:0,max:10},bleed:{min:0,max:1},warmup:{min:1,max:240}},DisplacementMap:{strengthX:{min:0,max:500},strengthY:{min:0,max:500},xChannel:{enum:["Red","Green","Blue","Alpha","Luminance"]},yChannel:{enum:["Red","Green","Blue","Alpha","Luminance"]},wrapMode:{enum:["Clamp","Repeat","Mirror"]}},Dither:{mode:{enum:["bayer","noise","halftone"]},levels:{min:2,max:16},scale:{min:1,max:16},monochrome:{},dark:{},light:{}},ExtractLUT:{strategy:{enum:["deterministic","statistical"]},samplePoints:{min:10,max:500}},Flip:{horizontal:{},vertical:{},diagonal:{},mode:{enum:["horizontal","vertical","both","diagonal","antiDiagonal","custom"]},symmetry:{enum:["none","leftToRight","rightToLeft","topToBottom","bottomToTop","quadrant"]}},Gooey:{radius:{min:1,max:60},threshold:{min:0,max:1},softness:{min:.001,max:.5}},Iridescence:{strength:{min:0,max:1},scale:{min:.1,max:10},shift:{min:-3600,max:3600},mode:{enum:["luminance","relief"]}},Kaleidoscope:{segments:{min:2,max:32},rotation:{min:-3600,max:3600},centerX:{min:0,max:1},centerY:{min:0,max:1},zoom:{min:.2,max:4}},KenBurns:{keyframes:{},motionBlurSize:{min:0,max:10},movementStyle:{enum:["spline","direct"]},aspectRatio:{enum:["input","16:9","9:16","21:9","9:21","1:1","4:3","3:2","2:3","4:5","5:4"]}},LayerStyle:{dropShadow:{props:{enabled:{},color:{},opacity:{min:0,max:1},angle:{min:0,max:360},distance:{min:0,max:500},spread:{min:0,max:100},size:{min:0,max:250},blendMode:{}}},innerShadow:{props:{enabled:{},color:{},opacity:{min:0,max:1},angle:{min:0,max:360},distance:{min:0,max:500},choke:{min:0,max:100},size:{min:0,max:250},blendMode:{}}},outerGlow:{props:{enabled:{},color:{},opacity:{min:0,max:1},size:{min:0,max:250},spread:{min:0,max:100},blendMode:{}}},innerGlow:{props:{enabled:{},color:{},opacity:{min:0,max:1},size:{min:0,max:250},spread:{min:0,max:100},blendMode:{}}},stroke:{props:{enabled:{},size:{min:0,max:100},position:{enum:["inside","center","outside"]},color:{},opacity:{min:0,max:1},blendMode:{}}},bevelEmboss:{props:{enabled:{},style:{enum:["InnerBevel","OuterBevel","Emboss","PillowEmboss"]},technique:{enum:["Smooth","ChiselHard","ChiselSoft"]},depth:{min:1,max:1e3},direction:{enum:["Up","Down"]},size:{min:0,max:250},soften:{min:0,max:50},angle:{min:0,max:360},altitude:{min:0,max:90},highlightColor:{},highlightOpacity:{min:0,max:1},shadowColor:{},shadowOpacity:{min:0,max:1}}},colorOverlay:{props:{enabled:{},color:{},opacity:{min:0,max:1},blendMode:{}}},dropShadowAngleHandleId:{},dropShadowDistanceHandleId:{},dropShadowSpreadHandleId:{},dropShadowSizeHandleId:{},dropShadowOpacityHandleId:{},innerShadowAngleHandleId:{},innerShadowDistanceHandleId:{},innerShadowChokeHandleId:{},innerShadowSizeHandleId:{},innerShadowOpacityHandleId:{},outerGlowSizeHandleId:{},outerGlowSpreadHandleId:{},outerGlowOpacityHandleId:{},innerGlowSizeHandleId:{},innerGlowSpreadHandleId:{},innerGlowOpacityHandleId:{},strokeSizeHandleId:{},strokeOpacityHandleId:{},bevelEmbossDepthHandleId:{},bevelEmbossSizeHandleId:{},bevelEmbossSoftenHandleId:{},bevelEmbossAngleHandleId:{},bevelEmbossAltitudeHandleId:{},bevelEmbossHighlightOpacityHandleId:{},bevelEmbossShadowOpacityHandleId:{},colorOverlayOpacityHandleId:{}},Liquify:{operations:{}},MaskMath:{operation:{enum:["Union","Intersect","Subtract","Difference","Invert","Dilate","Erode","Choke","Feather"]},radius:{min:0,max:200},threshold:{min:0,max:1},clampMin:{min:0,max:1},clampMax:{min:0,max:1},channelA:{enum:["Alpha","Luminance","Red","Green","Blue"]},channelB:{enum:["Alpha","Luminance","Red","Green","Blue"]},binarize:{},invertResult:{},outputFormat:{enum:["WhiteWithAlpha","GrayscaleRGB","AlphaOnly","PassthroughRGB"]}},MeshWarp:{cols:{min:2,max:12},rows:{min:2,max:12},points:{}},NoiseGenerator:{noiseType:{enum:["Perlin","Simplex","Voronoi"]},outputType:{enum:["Image","Video"]},width:{min:16,max:4096},height:{min:16,max:4096},scale:{min:.1,max:100},octaves:{min:1,max:8},persistence:{min:0,max:1},lacunarity:{min:1,max:4},speed:{min:0,max:10},colorStart:{},colorEnd:{},durationMs:{min:1,max:6e4},fps:{min:1,max:120}},OpArt:{pattern:{enum:["stripes","rings","checker","waves"]},frequency:{min:2,max:300},angle:{min:-360,max:360},warp:{min:0,max:3},source:{min:0,max:1},colorA:{},colorB:{}},Paint:{width:{min:1,max:16384},height:{min:1,max:16384},maintainAspect:{},aspectRatio:{},backgroundColor:{},strokes:{}},Painterly:{style:{enum:["oil","watercolor"]},radius:{min:2,max:12},edgeDarkening:{min:0,max:1},paper:{min:0,max:1},saturation:{min:0,max:2}},PatchHeal:{patches:{},centerX:{min:0,max:1},centerY:{min:0,max:1},offsetX:{min:-4096,max:4096},offsetY:{min:-4096,max:4096},radius:{min:1,max:500},sourceRadius:{min:1,max:500},feather:{min:0,max:100},opacity:{min:0,max:1},mode:{enum:["Clone","SeamlessHeal","TextureTransfer"]}},Pixelate:{size:{min:1,max:256},shape:{enum:["square","circle","diamond"]},gap:{min:0,max:.9}},Posterize:{levels:{min:2,max:64},palette:{enum:["none","gameboy","teletext","cga","pico8","c64","grayscale","sepia","custom"]},colors:{},dither:{min:0,max:1},pixelSize:{min:1,max:64}},ProceduralVFX:{effectType:{enum:["Smoke","Fire","Rain","Sparks","Snow","Dust","Lightning","Magic","LensFlare","Embers","EnergyBeam","Aurora"]},outputType:{enum:["Image","Video"]},width:{min:16,max:4096},height:{min:16,max:4096},density:{min:0,max:1},scale:{min:.001,max:10},speed:{min:0,max:10},intensity:{min:0,max:1},seed:{min:0,max:1e6},colorStart:{},colorEnd:{},durationMs:{min:100,max:1e5},fps:{min:1,max:120}},RefineEdge:{decontaminateAmount:{min:0,max:1},radius:{min:.5,max:50},smooth:{min:0,max:100},feather:{min:0,max:50},shiftEdge:{min:-100,max:100},matteChannel:{enum:["Alpha","Luminance","Red","Green","Blue"]},outputMode:{enum:["Composite","MatteOnly","DecontaminatedRGB"]}},RefractionCaustics3D:{ior:{min:1,max:2.5},dispersion:{min:0,max:.2},refractionScale:{min:0,max:2},causticBrightness:{min:0,max:2},causticScale:{min:.1,max:5},fluidRipples:{min:0,max:1},rippleSpeed:{min:0,max:5},roughness:{min:0,max:1},specularIntensity:{min:0,max:2},lightPosX:{min:0,max:1},lightPosY:{min:0,max:1},tintColor:{},tintStrength:{min:0,max:1},depthInvert:{},depthScale:{min:.1,max:5}},ResizerScaler:{aspectRatioPreset:{enum:["9:16","16:9","1:1","4:5","21:9","custom"]},resolutionPreset:{enum:["4k","1080p","720p","480p","custom"]},targetWidth:{min:1,max:8192},targetHeight:{min:1,max:8192},fitMode:{enum:["cover","contain","stretch","manual"]},zoom:{min:1,max:1e3},offsetX:{min:-8192,max:8192},offsetY:{min:-8192,max:8192},backgroundMode:{enum:["solid","blurred","gradient","transparent"]},backgroundColor:{},backgroundColor2:{},blurRadius:{min:0,max:100},backgroundBrightness:{min:0,max:1},anchorX:{enum:["left","center","right"]},anchorY:{enum:["top","center","bottom"]}},RGBSplit:{amount:{min:0,max:200},angle:{min:-360,max:360},radial:{}},Rotate:{angle:{},fit:{enum:["cover","contain","fill"]},scale:{min:.01,max:20}},StereoPanning:{pan:{min:-1,max:1}},Toon:{levels:{min:2,max:12},edgeThreshold:{min:0,max:1},edgeWidth:{min:.5,max:4},edgeColor:{},saturation:{min:0,max:2}},Trails:{decay:{min:0,max:1},mode:{enum:["blend","over","add","max"]},zoom:{min:.5,max:2},rotation:{min:-45,max:45},offsetX:{min:-500,max:500},offsetY:{min:-500,max:500},hueShift:{min:-180,max:180},warmup:{min:0,max:240}},Vignette:{strength:{min:0,max:100},radius:{min:.1,max:2},softness:{min:0,max:1},roundness:{min:0,max:1},centerX:{min:0,max:1},centerY:{min:0,max:1}}};var Ke={cellSize:10,colorMode:"mono",fg:"#e8e8e8",bg:"#0b0b0b",contrast:1.2,invert:!1},b=class extends o{op="Ascii";domain="visual";constructor(e={}){super(t("Ascii",Ke,e,a.Ascii))}},Ye={threshold:-24,ratio:4,attack:.003,release:.25,knee:6,makeupGain:0},f=class extends o{op="AudioCompressor";domain="audio";constructor(e={}){super(t("AudioCompressor",Ye,e,a.AudioCompressor))}},We={delayTime:.25,feedback:.4,wet:.3,dry:1,pingPong:!1},P=class extends o{op="AudioDelay";domain="audio";constructor(e={}){super(t("AudioDelay",We,e,a.AudioDelay))}},Ne={fadeInDuration:0,fadeOutDuration:0,fadeInCurve:"linear",fadeOutCurve:"linear"},h=class extends o{op="AudioFade";domain="audio";constructor(e={}){super(t("AudioFade",Ne,e,a.AudioFade))}},Ue={threshold:-40,attack:.005,hold:.05,release:.1,range:-80},y=class extends o{op="AudioNoiseGate";domain="audio";constructor(e={}){super(t("AudioNoiseGate",Ue,e,a.AudioNoiseGate))}},je={type:"peak",frequency:1e3,gain:0,q:1},g=class extends o{op="AudioParametricEq";domain="audio";constructor(e={}){super(t("AudioParametricEq",je,e,a.AudioParametricEq))}},$e={roomSize:.5,damping:.5,wet:.3,dry:1,width:1},x=class extends o{op="AudioReverb";domain="audio";constructor(e={}){super(t("AudioReverb",$e,e,a.AudioReverb))}},Ze={blurType:"Gaussian",strength:5,angle:0,sigmaColor:.1,centerX:.5,centerY:.5,partialBlur:!1,radius:.3,radiusY:0,shape:"circle"},le=class extends o{op="Blur";domain="visual";constructor(e={}){super(t("Blur",Ze,e,a.Blur))}},_e={motionPreset:"DollyZoom",panX:0,panY:0,dollyZ:0,fov:50,parallaxAmount:.6,dofAperture:.3,focusPlane:.4,edgeDilation:.5,depthInvert:!1},v=class extends o{op="CameraParallax3D";domain="visual";constructor(e={}){super(t("CameraParallax3D",_e,e,a.CameraParallax3D))}},Je={colorSpace:"RGBA",defaultChannel4:1},S=class extends o{op="ChannelMerger";domain="visual";constructor(e={}){super(t("ChannelMerger",Je,e,a.ChannelMerger))}},Qe={colorSpace:"RGBA"},C=class extends o{op="ChannelSplitter";domain="visual";constructor(e={}){super(t("ChannelSplitter",Qe,e,a.ChannelSplitter))}},er={shadows:{cyanRed:0,magentaGreen:0,yellowBlue:0},midtones:{cyanRed:0,magentaGreen:0,yellowBlue:0},highlights:{cyanRed:0,magentaGreen:0,yellowBlue:0},preserveLuminosity:!0},E=class extends o{op="ColorBalance";domain="visual";constructor(e={}){super(t("ColorBalance",er,e,a.ColorBalance))}},rr={keyColor:"#00ff00",similarity:.4,smoothness:.1,spillSuppression:.2,colorSpace:"YUV",spillSuppressionType:"Desaturate"},A=class extends o{op="ColorKey";domain="visual";constructor(e={}){super(t("ColorKey",rr,e,a.ColorKey))}},or={levels:14,lineWidth:1.2,lineColor:"#2b1d0e",fill:"source",fillColor:"#f3ead8",smoothing:2},w=class extends o{op="Contour";domain="visual";constructor(e={}){super(t("Contour",or,e,a.Contour))}},ar={},R=class extends o{op="CornerPin";domain="visual";constructor(e={}){super(t("CornerPin",ar,e,a.CornerPin))}},tr={scanlines:.45,lineCount:540,curvature:.12,mask:.25,vignette:.35,noise:.08,flicker:.03,tracking:0,chroma:0},M=class extends o{op="CRT";domain="visual";constructor(e={}){super(t("CRT",tr,e,a.CRT))}},nr={keyframes:[],strength:1,bleed:0,warmup:48},D=class extends o{op="Datamosh";domain="visual";constructor(e={}){super(t("Datamosh",nr,e,a.Datamosh))}},lr={strengthX:50,strengthY:50,xChannel:"Red",yChannel:"Green",wrapMode:"Clamp"},k=class extends o{op="DisplacementMap";domain="visual";constructor(e={}){super(t("DisplacementMap",lr,e,a.DisplacementMap))}},ir={mode:"bayer",levels:2,scale:2,monochrome:!0,dark:"#111111",light:"#f2efe6"},B=class extends o{op="Dither";domain="visual";constructor(e={}){super(t("Dither",ir,e,a.Dither))}},sr={strategy:"deterministic",samplePoints:150},T=class extends o{op="ExtractLUT";domain="visual";constructor(e={}){super(t("ExtractLUT",sr,e,a.ExtractLUT))}},cr={horizontal:!0,vertical:!1,diagonal:!1,mode:"horizontal",symmetry:"none"},G=class extends o{op="Flip";domain="visual";constructor(e={}){super(t("Flip",cr,e,a.Flip))}},pr={radius:12,threshold:.5,softness:.04},I=class extends o{op="Gooey";domain="visual";constructor(e={}){super(t("Gooey",pr,e,a.Gooey))}},ur={strength:.6,scale:2,shift:0,mode:"relief"},H=class extends o{op="Iridescence";domain="visual";constructor(e={}){super(t("Iridescence",ur,e,a.Iridescence))}},dr={segments:6,rotation:0,centerX:.5,centerY:.5,zoom:1},L=class extends o{op="Kaleidoscope";domain="visual";constructor(e={}){super(t("Kaleidoscope",dr,e,a.Kaleidoscope))}},mr={keyframes:[],motionBlurSize:1.5,movementStyle:"spline",aspectRatio:"input"},O=class extends o{op="KenBurns";domain="visual";constructor(e={}){super(t("KenBurns",mr,e,a.KenBurns))}},br={dropShadow:{enabled:!1,color:"#000000",opacity:.75,angle:120,distance:10,spread:0,size:10,blendMode:"multiply"},innerShadow:{enabled:!1,color:"#000000",opacity:.75,angle:120,distance:5,choke:0,size:5,blendMode:"multiply"},outerGlow:{enabled:!1,color:"#ffffff",opacity:.75,size:15,spread:0,blendMode:"screen"},innerGlow:{enabled:!1,color:"#ffffff",opacity:.75,size:15,spread:0,blendMode:"screen"},stroke:{enabled:!1,size:2,position:"outside",color:"#ffffff",opacity:1,blendMode:"normal"},bevelEmboss:{enabled:!1,style:"InnerBevel",technique:"Smooth",depth:100,direction:"Up",size:5,soften:0,angle:120,altitude:30,highlightColor:"#ffffff",highlightOpacity:.75,shadowColor:"#000000",shadowOpacity:.75},colorOverlay:{enabled:!1,color:"#ff0000",opacity:1,blendMode:"normal"}},z=class extends o{op="LayerStyle";domain="visual";constructor(e={}){super(t("LayerStyle",br,e,a.LayerStyle))}},fr={operations:[]},F=class extends o{op="Liquify";domain="visual";constructor(e={}){super(t("Liquify",fr,e,a.Liquify))}},Pr={operation:"Union",radius:0,threshold:.5,clampMin:0,clampMax:1,channelA:"Alpha",channelB:"Alpha",binarize:!1,invertResult:!1,outputFormat:"WhiteWithAlpha"},V=class extends o{op="MaskMath";domain="visual";constructor(e={}){super(t("MaskMath",Pr,e,a.MaskMath))}},hr={cols:3,rows:3},q=class extends o{op="MeshWarp";domain="visual";constructor(e={}){super(t("MeshWarp",hr,e,a.MeshWarp))}},yr={noiseType:"Perlin",outputType:"Image",width:512,height:512,scale:10,octaves:4,persistence:.5,lacunarity:2,speed:1,colorStart:"#000000",colorEnd:"#ffffff",durationMs:5e3,fps:30},X=class extends o{op="NoiseGenerator";domain="visual";constructor(e={}){super(t("NoiseGenerator",yr,e,a.NoiseGenerator))}},gr={pattern:"stripes",frequency:48,angle:0,warp:.6,source:1,colorA:"#0a0a0a",colorB:"#f5f5f5"},K=class extends o{op="OpArt";domain="visual";constructor(e={}){super(t("OpArt",gr,e,a.OpArt))}},xr={width:1080,height:1080,maintainAspect:!0,backgroundColor:"#ffffff"},Y=class extends o{op="Paint";domain="visual";constructor(e={}){super(t("Paint",xr,e,a.Paint))}},vr={style:"oil",radius:5,edgeDarkening:.5,paper:.3,saturation:1.05},W=class extends o{op="Painterly";domain="visual";constructor(e={}){super(t("Painterly",vr,e,a.Painterly))}},Sr={centerX:.5,centerY:.5,offsetX:50,offsetY:0,radius:25,sourceRadius:25,feather:50,opacity:1,mode:"SeamlessHeal"},N=class extends o{op="PatchHeal";domain="visual";constructor(e={}){super(t("PatchHeal",Sr,e,a.PatchHeal))}},Cr={size:12,shape:"square",gap:0},U=class extends o{op="Pixelate";domain="visual";constructor(e={}){super(t("Pixelate",Cr,e,a.Pixelate))}},Er={levels:6,palette:"none",colors:[],dither:0,pixelSize:1},j=class extends o{op="Posterize";domain="visual";constructor(e={}){super(t("Posterize",Er,e,a.Posterize))}},Ar={effectType:"Smoke",outputType:"Video",width:1080,height:1080,density:.6,scale:.01,speed:1,intensity:.8,seed:1234,colorStart:"#ffffff",colorEnd:"#ff5500",durationMs:5e3,fps:30},$=class extends o{op="ProceduralVFX";domain="visual";constructor(e={}){super(t("ProceduralVFX",Ar,e,a.ProceduralVFX))}},wr={decontaminateAmount:.7,radius:2,smooth:5,feather:.5,shiftEdge:0,matteChannel:"Alpha",outputMode:"Composite"},Z=class extends o{op="RefineEdge";domain="visual";constructor(e={}){super(t("RefineEdge",wr,e,a.RefineEdge))}},Rr={ior:1.52,dispersion:.04,refractionScale:.5,causticBrightness:.6,causticScale:1,fluidRipples:0,rippleSpeed:1,roughness:0,specularIntensity:.8,lightPosX:.5,lightPosY:.2,tintColor:"#ffffff",tintStrength:0,depthInvert:!1,depthScale:1},_=class extends o{op="RefractionCaustics3D";domain="visual";constructor(e={}){super(t("RefractionCaustics3D",Rr,e,a.RefractionCaustics3D))}},Mr={aspectRatioPreset:"16:9",resolutionPreset:"1080p",targetWidth:1920,targetHeight:1080,fitMode:"contain",zoom:100,offsetX:0,offsetY:0,backgroundMode:"solid",backgroundColor:"#000000FF",backgroundColor2:"#000000FF",blurRadius:40,backgroundBrightness:.6,anchorX:"center",anchorY:"center"},J=class extends o{op="ResizerScaler";domain="visual";constructor(e={}){super(t("ResizerScaler",Mr,e,a.ResizerScaler))}},Dr={amount:8,angle:0,radial:!1},Q=class extends o{op="RGBSplit";domain="visual";constructor(e={}){super(t("RGBSplit",Dr,e,a.RGBSplit))}},kr={angle:90,fit:"cover",scale:1},ee=class extends o{op="Rotate";domain="visual";constructor(e={}){super(t("Rotate",kr,e,a.Rotate))}},Br={pan:0},re=class extends o{op="StereoPanning";domain="audio";constructor(e={}){super(t("StereoPanning",Br,e,a.StereoPanning))}},Tr={levels:4,edgeThreshold:.2,edgeWidth:1,edgeColor:"#111111",saturation:1.15},oe=class extends o{op="Toon";domain="visual";constructor(e={}){super(t("Toon",Tr,e,a.Toon))}},Gr={decay:.9,mode:"blend",zoom:1,rotation:0,offsetX:0,offsetY:0,hueShift:0,warmup:60},ae=class extends o{op="Trails";domain="visual";constructor(e={}){super(t("Trails",Gr,e,a.Trails))}},Ir={strength:50,radius:1,softness:.5,roundness:.5,centerX:.5,centerY:.5},te=class extends o{op="Vignette";domain="visual";constructor(e={}){super(t("Vignette",Ir,e,a.Vignette))}};function Hr(r){return{partialBlur:!0,centerX:r.center.x,centerY:r.center.y,radius:r.bounds.width.multiply(.55),radiusY:r.bounds.height.multiply(.55),shape:"ellipse",strength:r.active.multiply(25)}}var ne=class extends le{constructor(e={}){let{track:n,...l}=e;super(n?{...Hr(n),...Lr(l)}:l)}};function Lr(r){return Object.fromEntries(Object.entries(r).filter(([,e])=>e!==void 0))}p();var Or={ascii:r=>new b(r),audioCompressor:r=>new f(r),audioDelay:r=>new P(r),audioFade:r=>new h(r),audioNoiseGate:r=>new y(r),audioParametricEq:r=>new g(r),audioReverb:r=>new x(r),blur:r=>new ne(r),cameraParallax3D:r=>new v(r),channelMerger:r=>new S(r),channelSplitter:r=>new C(r),colorBalance:r=>new E(r),colorKey:r=>new A(r),contour:r=>new w(r),cornerPin:r=>new R(r),cRT:r=>new M(r),datamosh:r=>new D(r),displacementMap:r=>new k(r),dither:r=>new B(r),extractLUT:r=>new T(r),flip:r=>new G(r),gooey:r=>new I(r),iridescence:r=>new H(r),kaleidoscope:r=>new L(r),kenBurns:r=>new O(r),layerStyle:r=>new z(r),liquify:r=>new F(r),maskMath:r=>new V(r),meshWarp:r=>new q(r),noiseGenerator:r=>new X(r),opArt:r=>new K(r),paint:r=>new Y(r),painterly:r=>new W(r),patchHeal:r=>new N(r),pixelate:r=>new U(r),posterize:r=>new j(r),proceduralVFX:r=>new $(r),refineEdge:r=>new Z(r),refractionCaustics3D:r=>new _(r),resizerScaler:r=>new J(r),rGBSplit:r=>new Q(r),rotate:r=>new ee(r),stereoPanning:r=>new re(r),toon:r=>new oe(r),trails:r=>new ae(r),vignette:r=>new te(r)};var fe=class extends o{op="Levels";domain="visual";constructor(e={}){let n={inBlack:0,inWhite:1,outBlack:0,outWhite:1};super({master:e.master??{...n},red:e.red??{...n},green:e.green??{...n},blue:e.blue??{...n},...e})}},Pe=class extends o{op="FilmGrain";domain="visual";constructor(e={}){super({strength:e.strength??15,size:e.size??1.5,monochrome:e.monochrome??!0,animated:e.animated??!0,speed:e.speed??50,shadows:e.shadows??.2,midtones:e.midtones??1,highlights:e.highlights??.2,...e})}},he=class extends o{op;domain="visual";constructor(e,n={}){super(n),this.op=e}},ye=class extends o{op="AudioSignalExtractor";domain="audio";constructor(e={}){super({extractionMode:e.extractionMode??"rms_envelope",attackMs:e.attackMs??10,releaseMs:e.releaseMs??120,sensitivity:e.sensitivity??1,noiseFloorDb:e.noiseFloorDb??-48,dynamicRangeDb:e.dynamicRangeDb??48,autoRange:e.autoRange??!0,smoothing:e.smoothing??.15,curve:e.curve??"linear",beatThreshold:e.beatThreshold??.08,beatDecayMs:e.beatDecayMs??80,previewMode:e.previewMode??"envelope",nodeId:e.nodeId??"audio_extractor",...e})}async extract(e,n={}){return pe.extract(e,{extractionMode:this.extractionMode,attackMs:this.attackMs,releaseMs:this.releaseMs,sensitivity:this.sensitivity,noiseFloorDb:this.noiseFloorDb,dynamicRangeDb:this.dynamicRangeDb,smoothing:this.smoothing,curve:this.curve,beatThreshold:this.beatThreshold,beatDecayMs:this.beatDecayMs,previewMode:this.previewMode,...n})}},ge=class extends o{op="Curves";domain="visual";constructor(e={}){super({...e,curveType:e.curveType??"rgb",master:e.master??[{x:0,y:0},{x:1,y:1}],red:e.red??[{x:0,y:0},{x:1,y:1}],green:e.green??[{x:0,y:0},{x:1,y:1}],blue:e.blue??[{x:0,y:0},{x:1,y:1}],hueVsHue:e.hueVsHue??[{x:0,y:.5},{x:1,y:.5}],hueVsSat:e.hueVsSat??[{x:0,y:1},{x:1,y:1}],lumVsSat:e.lumVsSat??[{x:0,y:1},{x:1,y:1}],satVsSat:e.satVsSat??[{x:0,y:1},{x:1,y:1}]})}},xe=class extends o{op="SelectiveColor";domain="visual";constructor(e={}){let n={cyan:0,magenta:0,yellow:0,black:0};super({...e,method:e.method??"Relative",reds:{...n,...e.reds},yellows:{...n,...e.yellows},greens:{...n,...e.greens},cyans:{...n,...e.cyans},blues:{...n,...e.blues},magentas:{...n,...e.magentas},whites:{...n,...e.whites},neutrals:{...n,...e.neutrals},blacks:{...n,...e.blacks}})}},ve=class extends o{op="GradientMap";domain="visual";constructor(e={}){let n=[{position:0,color:"#000000"},{position:1,color:"#ffffff"}];super({...e,stops:e.stops??n,smooth:e.smooth??!0,dither:e.dither??!0,opacity:e.opacity??1})}},Se=class extends o{op="ShadowsHighlights";domain="visual";constructor(e={}){super({...e,shadowAmount:e.shadowAmount??0,shadowTonalWidth:e.shadowTonalWidth??50,shadowRadius:e.shadowRadius??30,highlightAmount:e.highlightAmount??0,highlightTonalWidth:e.highlightTonalWidth??50,highlightRadius:e.highlightRadius??30,colorCorrection:e.colorCorrection??0,midtoneContrast:e.midtoneContrast??0})}},Ce=class extends o{op="ApplyLUT";domain="visual";constructor(e={}){super({...e,lutUrl:e.lutUrl??"",intensity:e.intensity??1})}},Ee=class extends o{op="UnsharpMask";domain="visual";constructor(e={}){super({...e,amount:e.amount??100,radius:e.radius??1.5,threshold:e.threshold??3})}},Ae=class extends o{op="HighPass";domain="visual";constructor(e={}){super({...e,radius:e.radius??3,contrastBoost:e.contrastBoost??1,monochrome:e.monochrome??!0})}},we=class extends o{op="HalftoneScreen";domain="visual";constructor(e={}){super({...e,mode:e.mode??"Monochrome",dotShape:e.dotShape??"Circle",frequency:e.frequency??30,angle:e.angle??45,contrast:e.contrast??1,dotColor:e.dotColor??"#000000",paperColor:e.paperColor??"#ffffff",smooth:e.smooth??!0,invert:e.invert??!1,cyanAngle:e.cyanAngle??15,magentaAngle:e.magentaAngle??75,yellowAngle:e.yellowAngle??0,blackAngle:e.blackAngle??45,opacity:e.opacity??1})}},Re=class extends o{op="TileOffset";domain="visual";constructor(e={}){super({...e,offsetX:e.offsetX??0,offsetY:e.offsetY??0,wrap:e.wrap??!0,edgeMode:e.edgeMode??"wrap"})}},Me=class extends o{op="MotionBlur";domain="visual";constructor(e={}){super({...e,shutterAngle:e.shutterAngle??180,samples:e.samples??16,maxVelocity:e.maxVelocity??64,shutterCurve:e.shutterCurve??"gaussian",depthAware:e.depthAware??!0})}},De=class extends o{op="SSAO";domain="visual";constructor(e={}){super({...e,radius:e.radius??45,bias:e.bias??.025,intensity:e.intensity??1.5,kernelSamples:e.kernelSamples??16,blurRadius:e.blurRadius??4})}},ke=class extends o{op="PBRGlass";domain="visual";constructor(e={}){super({...e,ior:e.ior??1.49,roughness:e.roughness??.15,transmission:e.transmission??.92,dispersion:e.dispersion??.015,fresnelPower:e.fresnelPower??5,tintColor:e.tintColor??"#ffffff"})}},Be=class extends o{op="DepthOfField";domain="visual";constructor(e={}){super({...e,focusDistance:e.focusDistance??500,focalLength:e.focalLength??50,aperture:e.aperture??2.8,maxBlur:e.maxBlur??16,quality:e.quality??"high"})}},Te=class extends o{op="Crop";domain="visual";constructor(e={}){super({cropType:e.cropType??"rect",leftPercentage:e.leftPercentage??0,topPercentage:e.topPercentage??0,widthPercentage:e.widthPercentage??100,heightPercentage:e.heightPercentage??100,roundness:e.roundness??0,...e})}},Ge=class extends o{op="Vision";domain="visual";constructor(e={}){super({enableDetection:e.enableDetection!==!1,enableSegmentation:e.enableSegmentation===!0,enablePose:e.enablePose===!0,enableMatte:e.enableMatte===!0,confidence:e.confidence??.3,variant:e.variant??"s",mode:e.mode??"passthrough",matteSource:e.matteSource??"instance",...e})}},Ie=class extends o{op="Relight3D";domain="visual";constructor(e={}){super({lightType:e.lightType??"Point",intensity:e.intensity??1,lightPosX:e.lightPosX??.5,lightPosY:e.lightPosY??.5,lightPosZ:e.lightPosZ??.3,lightRadius:e.lightRadius??.8,spotConeAngle:e.spotConeAngle??45,specularRoughness:e.specularRoughness??.35,specularStrength:e.specularStrength??.7,metallic:e.metallic??0,ambientIntensity:e.ambientIntensity??.4,volumetricDensity:e.volumetricDensity??.2,depthScale:e.depthScale??1,depthInvert:e.depthInvert??!1,lightColor:e.lightColor??"#ffffff",ambientColor:e.ambientColor??"#ffffff",normalMap:e.normalMap,...e})}},He=class extends o{op="TemporalDeflicker";domain="visual";constructor(e={}){super({blendWeight:e.blendWeight??.35,disocclusionThreshold:e.disocclusionThreshold??.15,maxMotionPixels:e.maxMotionPixels??64,scale:e.scale??.5,windowSize:e.windowSize??2,...e})}},Le=class extends o{op="Modulate";domain="visual";constructor(e={}){super({hue:e.hue??0,brightness:e.brightness??1,contrast:e.contrast??1,exposure:e.exposure??0,saturation:e.saturation??1,sepia:e.sepia??0,...e})}};export{a,b,f as c,P as d,h as e,y as f,g,x as h,v as i,S as j,C as k,E as l,A as m,w as n,R as o,M as p,D as q,k as r,B as s,T as t,G as u,I as v,H as w,L as x,O as y,z,F as A,V as B,q as C,X as D,K as E,Y as F,W as G,N as H,U as I,j as J,$ as K,Z as L,_ as M,J as N,Q as O,ee as P,re as Q,oe as R,ae as S,te as T,ne as U,Or as V,fe as W,Pe as X,he as Y,ye as Z,ge as _,xe as $,ve as aa,Se as ba,Ce as ca,Ee as da,Ae as ea,we as fa,Re as ga,Me as ha,De as ia,ke as ja,Be as ka,Te as la,Ge as ma,Ie as na,He as oa,Le as pa};
1
+ import{a as o}from"./chunk-AKT4YQWL.mjs";import{a as pe}from"./chunk-GQIRV466.mjs";import{h as ie}from"./chunk-ALSOO22Q.mjs";import{d,e as p}from"./chunk-BVF64D6H.mjs";p();p();p();p();p();p();function de(r){return typeof d<"u"?d.env?.[r]:void 0}function me(){let r=de("FRAMEFIELDS_STRICT_PROPS");return r==="1"||r==="true"}function ze(){return me()||de("NODE_ENV")!=="production"}var ue=new Set;function se(r){if(me())throw new Error(r);ue.has(r)||(ue.add(r),console.warn(`[framefields] ${r}`))}function ce(r){if(typeof r!="object"||r===null||Array.isArray(r)||ie(r))return!1;let e=Object.getPrototypeOf(r);return e===Object.prototype||e===null}function Fe(r,e){let n=Array.from({length:e.length+1},(l,i)=>i);for(let l=1;l<=r.length;l++){let i=n[0];n[0]=l;for(let s=1;s<=e.length;s++){let c=n[s];n[s]=Math.min(n[s]+1,n[s-1]+1,i+(r[l-1]===e[s-1]?0:1)),i=c}}return n[e.length]}function Ve(r,e){let n,l=Number.POSITIVE_INFINITY,i=r.toLowerCase();for(let c of e){let u=c.toLowerCase(),m=u.includes(i)||i.includes(u)?1:Fe(i,u);m<l&&(l=m,n=c)}return n&&l<=Math.max(2,Math.ceil(r.length/2))?` Did you mean "${n}"?`:` Known props: ${e.join(", ")}.`}function qe(r,e,n){if(typeof e=="number"){let{min:l,max:i}=n,s=l!==void 0&&e<l,c=i!==void 0&&e>i;if(s||c||Number.isNaN(e)){let u=l!==void 0&&i!==void 0?`${l} to ${i}`:l!==void 0?`\u2265 ${l}`:`\u2264 ${i}`;se(Number.isNaN(e)?`${r} is NaN`:`${r} = ${e} is outside ${u}`)}return}n.enum&&(typeof e=="string"||typeof e=="boolean")&&!n.enum.includes(e)&&se(`${r} = ${JSON.stringify(e)} is not one of ${n.enum.map(l=>JSON.stringify(l)).join(", ")}`)}function be(r,e,n){let l=Object.keys(n);for(let[i,s]of Object.entries(e)){if(s===void 0)continue;let c=n[i];if(!c){se(`${r}: unknown prop "${i}".${Ve(i,l)}`);continue}ie(s)||typeof s=="function"||(c.props&&ce(s)?be(`${r}.${i}`,s,c.props):qe(`${r}.${i}`,s,c))}}function Xe(r){return typeof r=="object"&&r!==null?structuredClone(r):r}function t(r,e,n,l){let i=n;ze()&&be(r,i,l);let s={};for(let[c,u]of Object.entries(e))s[c]=Xe(u);for(let[c,u]of Object.entries(i)){if(u===void 0)continue;let m=s[c];s[c]=ce(m)&&ce(u)?{...m,...Object.fromEntries(Object.entries(u).filter(([,Oe])=>Oe!==void 0))}:u}return s}p();var a={Ascii:{cellSize:{min:4,max:64},colorMode:{enum:["mono","source","green"]},fg:{},bg:{},contrast:{min:.5,max:3},invert:{}},AudioCompressor:{threshold:{min:-60,max:0},ratio:{min:1,max:100},attack:{min:1e-4,max:1},release:{min:.01,max:5},knee:{min:0,max:24},makeupGain:{min:0,max:24}},AudioDelay:{delayTime:{min:.001,max:5},feedback:{min:0,max:.95},wet:{min:0,max:1},dry:{min:0,max:1},pingPong:{}},AudioFade:{fadeInDuration:{min:0,max:60},fadeOutDuration:{min:0,max:60},fadeInCurve:{enum:["linear","exponential","scurve"]},fadeOutCurve:{enum:["linear","exponential","scurve"]}},AudioNoiseGate:{threshold:{min:-120,max:0},attack:{min:1e-4,max:1},hold:{min:.001,max:5},release:{min:.01,max:5},range:{min:-120,max:0}},AudioParametricEq:{type:{enum:["lowShelf","highShelf","peak","lowPass","highPass","notch"]},frequency:{min:20,max:2e4},gain:{min:-24,max:24},q:{min:.01,max:10}},AudioReverb:{roomSize:{min:0,max:.98},damping:{min:0,max:1},wet:{min:0,max:1},dry:{min:0,max:1},width:{min:0,max:1}},Blur:{blurType:{enum:["Gaussian","Box","Median","Motion","Bilateral","Edge-preserving","Radial","Zoom"]},strength:{min:0,max:100},angle:{min:0,max:360},sigmaColor:{min:.01,max:1},centerX:{min:0,max:1},centerY:{min:0,max:1},partialBlur:{},radius:{min:.01,max:1},radiusY:{min:0,max:1},shape:{enum:["ellipse","circle","rect"]}},CameraParallax3D:{motionPreset:{enum:["Custom","DollyZoom","Orbit","FlyThrough","HandheldShake","RackFocus"]},panX:{min:-1,max:1},panY:{min:-1,max:1},dollyZ:{min:-1,max:1},fov:{min:15,max:120},parallaxAmount:{min:0,max:2},dofAperture:{min:0,max:1},focusPlane:{min:0,max:1},edgeDilation:{min:0,max:1},depthInvert:{}},ChannelMerger:{colorSpace:{enum:["RGBA","HSLA","CMYK","LAB"]},defaultChannel4:{min:0,max:1}},ChannelSplitter:{colorSpace:{enum:["RGBA","HSLA","CMYK","LAB"]}},ColorBalance:{shadows:{props:{cyanRed:{min:-100,max:100},magentaGreen:{min:-100,max:100},yellowBlue:{min:-100,max:100}}},midtones:{props:{cyanRed:{min:-100,max:100},magentaGreen:{min:-100,max:100},yellowBlue:{min:-100,max:100}}},highlights:{props:{cyanRed:{min:-100,max:100},magentaGreen:{min:-100,max:100},yellowBlue:{min:-100,max:100}}},preserveLuminosity:{}},ColorKey:{keyColor:{},similarity:{min:0,max:1},smoothness:{min:0,max:1},spillSuppression:{min:0,max:1},colorSpace:{enum:["YUV","RGB"]},spillSuppressionType:{enum:["Desaturate","Neutralize","None"]}},Contour:{levels:{min:2,max:64},lineWidth:{min:.5,max:8},lineColor:{},fill:{enum:["source","flat","none"]},fillColor:{},smoothing:{min:0,max:8}},CornerPin:{points:{}},CRT:{scanlines:{min:0,max:1},lineCount:{min:100,max:2160},curvature:{min:0,max:1},mask:{min:0,max:1},vignette:{min:0,max:1},noise:{min:0,max:1},flicker:{min:0,max:1},tracking:{min:0,max:1},chroma:{min:0,max:20}},Datamosh:{keyframes:{},strength:{min:0,max:10},bleed:{min:0,max:1},warmup:{min:1,max:240}},DisplacementMap:{strengthX:{min:0,max:500},strengthY:{min:0,max:500},xChannel:{enum:["Red","Green","Blue","Alpha","Luminance"]},yChannel:{enum:["Red","Green","Blue","Alpha","Luminance"]},wrapMode:{enum:["Clamp","Repeat","Mirror"]}},Dither:{mode:{enum:["bayer","noise","halftone"]},levels:{min:2,max:16},scale:{min:1,max:16},monochrome:{},dark:{},light:{}},ExtractLUT:{strategy:{enum:["deterministic","statistical"]},samplePoints:{min:10,max:500}},Flip:{horizontal:{},vertical:{},diagonal:{},mode:{enum:["horizontal","vertical","both","diagonal","antiDiagonal","custom"]},symmetry:{enum:["none","leftToRight","rightToLeft","topToBottom","bottomToTop","quadrant"]}},Gooey:{radius:{min:1,max:60},threshold:{min:0,max:1},softness:{min:.001,max:.5}},Iridescence:{strength:{min:0,max:1},scale:{min:.1,max:10},shift:{min:-3600,max:3600},mode:{enum:["luminance","relief"]}},Kaleidoscope:{segments:{min:2,max:32},rotation:{min:-3600,max:3600},centerX:{min:0,max:1},centerY:{min:0,max:1},zoom:{min:.2,max:4}},KenBurns:{keyframes:{},motionBlurSize:{min:0,max:10},movementStyle:{enum:["spline","direct"]},aspectRatio:{enum:["input","16:9","9:16","21:9","9:21","1:1","4:3","3:2","2:3","4:5","5:4"]}},LayerStyle:{dropShadow:{props:{enabled:{},color:{},opacity:{min:0,max:1},angle:{min:0,max:360},distance:{min:0,max:500},spread:{min:0,max:100},size:{min:0,max:250},blendMode:{}}},innerShadow:{props:{enabled:{},color:{},opacity:{min:0,max:1},angle:{min:0,max:360},distance:{min:0,max:500},choke:{min:0,max:100},size:{min:0,max:250},blendMode:{}}},outerGlow:{props:{enabled:{},color:{},opacity:{min:0,max:1},size:{min:0,max:250},spread:{min:0,max:100},blendMode:{}}},innerGlow:{props:{enabled:{},color:{},opacity:{min:0,max:1},size:{min:0,max:250},spread:{min:0,max:100},blendMode:{}}},stroke:{props:{enabled:{},size:{min:0,max:100},position:{enum:["inside","center","outside"]},color:{},opacity:{min:0,max:1},blendMode:{}}},bevelEmboss:{props:{enabled:{},style:{enum:["InnerBevel","OuterBevel","Emboss","PillowEmboss"]},technique:{enum:["Smooth","ChiselHard","ChiselSoft"]},depth:{min:1,max:1e3},direction:{enum:["Up","Down"]},size:{min:0,max:250},soften:{min:0,max:50},angle:{min:0,max:360},altitude:{min:0,max:90},highlightColor:{},highlightOpacity:{min:0,max:1},shadowColor:{},shadowOpacity:{min:0,max:1}}},colorOverlay:{props:{enabled:{},color:{},opacity:{min:0,max:1},blendMode:{}}},dropShadowAngleHandleId:{},dropShadowDistanceHandleId:{},dropShadowSpreadHandleId:{},dropShadowSizeHandleId:{},dropShadowOpacityHandleId:{},innerShadowAngleHandleId:{},innerShadowDistanceHandleId:{},innerShadowChokeHandleId:{},innerShadowSizeHandleId:{},innerShadowOpacityHandleId:{},outerGlowSizeHandleId:{},outerGlowSpreadHandleId:{},outerGlowOpacityHandleId:{},innerGlowSizeHandleId:{},innerGlowSpreadHandleId:{},innerGlowOpacityHandleId:{},strokeSizeHandleId:{},strokeOpacityHandleId:{},bevelEmbossDepthHandleId:{},bevelEmbossSizeHandleId:{},bevelEmbossSoftenHandleId:{},bevelEmbossAngleHandleId:{},bevelEmbossAltitudeHandleId:{},bevelEmbossHighlightOpacityHandleId:{},bevelEmbossShadowOpacityHandleId:{},colorOverlayOpacityHandleId:{}},Liquify:{operations:{}},MaskMath:{operation:{enum:["Union","Intersect","Subtract","Difference","Invert","Dilate","Erode","Choke","Feather"]},radius:{min:0,max:200},threshold:{min:0,max:1},clampMin:{min:0,max:1},clampMax:{min:0,max:1},channelA:{enum:["Alpha","Luminance","Red","Green","Blue"]},channelB:{enum:["Alpha","Luminance","Red","Green","Blue"]},binarize:{},invertResult:{},outputFormat:{enum:["WhiteWithAlpha","GrayscaleRGB","AlphaOnly","PassthroughRGB"]}},MeshWarp:{cols:{min:2,max:12},rows:{min:2,max:12},points:{}},NoiseGenerator:{noiseType:{enum:["Perlin","Simplex","Voronoi"]},outputType:{enum:["Image","Video"]},width:{min:16,max:4096},height:{min:16,max:4096},scale:{min:.1,max:100},octaves:{min:1,max:8},persistence:{min:0,max:1},lacunarity:{min:1,max:4},speed:{min:0,max:10},colorStart:{},colorEnd:{},durationMs:{min:1,max:6e4},fps:{min:1,max:120}},OpArt:{pattern:{enum:["stripes","rings","checker","waves"]},frequency:{min:2,max:300},angle:{min:-360,max:360},warp:{min:0,max:3},source:{min:0,max:1},colorA:{},colorB:{}},Paint:{width:{min:1,max:16384},height:{min:1,max:16384},maintainAspect:{},aspectRatio:{},backgroundColor:{},strokes:{}},Painterly:{style:{enum:["oil","watercolor"]},radius:{min:2,max:12},edgeDarkening:{min:0,max:1},paper:{min:0,max:1},saturation:{min:0,max:2}},PatchHeal:{patches:{},centerX:{min:0,max:1},centerY:{min:0,max:1},offsetX:{min:-4096,max:4096},offsetY:{min:-4096,max:4096},radius:{min:1,max:500},sourceRadius:{min:1,max:500},feather:{min:0,max:100},opacity:{min:0,max:1},mode:{enum:["Clone","SeamlessHeal","TextureTransfer"]}},Pixelate:{size:{min:1,max:256},shape:{enum:["square","circle","diamond"]},gap:{min:0,max:.9}},Posterize:{levels:{min:2,max:64},palette:{enum:["none","gameboy","teletext","cga","pico8","c64","grayscale","sepia","custom"]},colors:{},dither:{min:0,max:1},pixelSize:{min:1,max:64}},ProceduralVFX:{effectType:{enum:["Smoke","Fire","Rain","Sparks","Snow","Dust","Lightning","Magic","LensFlare","Embers","EnergyBeam","Aurora"]},outputType:{enum:["Image","Video"]},width:{min:16,max:4096},height:{min:16,max:4096},density:{min:0,max:1},scale:{min:.001,max:10},speed:{min:0,max:10},intensity:{min:0,max:1},seed:{min:0,max:1e6},colorStart:{},colorEnd:{},durationMs:{min:100,max:1e5},fps:{min:1,max:120}},RefineEdge:{decontaminateAmount:{min:0,max:1},radius:{min:.5,max:50},smooth:{min:0,max:100},feather:{min:0,max:50},shiftEdge:{min:-100,max:100},matteChannel:{enum:["Alpha","Luminance","Red","Green","Blue"]},outputMode:{enum:["Composite","MatteOnly","DecontaminatedRGB"]}},RefractionCaustics3D:{ior:{min:1,max:2.5},dispersion:{min:0,max:.2},refractionScale:{min:0,max:2},causticBrightness:{min:0,max:2},causticScale:{min:.1,max:5},fluidRipples:{min:0,max:1},rippleSpeed:{min:0,max:5},roughness:{min:0,max:1},specularIntensity:{min:0,max:2},lightPosX:{min:0,max:1},lightPosY:{min:0,max:1},tintColor:{},tintStrength:{min:0,max:1},depthInvert:{},depthScale:{min:.1,max:5}},ResizerScaler:{aspectRatioPreset:{enum:["9:16","16:9","1:1","4:5","21:9","custom"]},resolutionPreset:{enum:["4k","1080p","720p","480p","custom"]},targetWidth:{min:1,max:8192},targetHeight:{min:1,max:8192},fitMode:{enum:["cover","contain","stretch","manual"]},zoom:{min:1,max:1e3},offsetX:{min:-8192,max:8192},offsetY:{min:-8192,max:8192},backgroundMode:{enum:["solid","blurred","gradient","transparent"]},backgroundColor:{},backgroundColor2:{},blurRadius:{min:0,max:100},backgroundBrightness:{min:0,max:1},anchorX:{enum:["left","center","right"]},anchorY:{enum:["top","center","bottom"]}},RGBSplit:{amount:{min:0,max:200},angle:{min:-360,max:360},radial:{}},Rotate:{angle:{},fit:{enum:["cover","contain","fill"]},scale:{min:.01,max:20}},StereoPanning:{pan:{min:-1,max:1}},Toon:{levels:{min:2,max:12},edgeThreshold:{min:0,max:1},edgeWidth:{min:.5,max:4},edgeColor:{},saturation:{min:0,max:2}},Trails:{decay:{min:0,max:1},mode:{enum:["blend","over","add","max"]},zoom:{min:.5,max:2},rotation:{min:-45,max:45},offsetX:{min:-500,max:500},offsetY:{min:-500,max:500},hueShift:{min:-180,max:180},warmup:{min:0,max:240}},Vignette:{strength:{min:0,max:100},radius:{min:.1,max:2},softness:{min:0,max:1},roundness:{min:0,max:1},centerX:{min:0,max:1},centerY:{min:0,max:1}}};var Ke={cellSize:10,colorMode:"mono",fg:"#e8e8e8",bg:"#0b0b0b",contrast:1.2,invert:!1},b=class extends o{op="Ascii";domain="visual";constructor(e={}){super(t("Ascii",Ke,e,a.Ascii))}},Ye={threshold:-24,ratio:4,attack:.003,release:.25,knee:6,makeupGain:0},f=class extends o{op="AudioCompressor";domain="audio";constructor(e={}){super(t("AudioCompressor",Ye,e,a.AudioCompressor))}},We={delayTime:.25,feedback:.4,wet:.3,dry:1,pingPong:!1},P=class extends o{op="AudioDelay";domain="audio";constructor(e={}){super(t("AudioDelay",We,e,a.AudioDelay))}},Ne={fadeInDuration:0,fadeOutDuration:0,fadeInCurve:"linear",fadeOutCurve:"linear"},h=class extends o{op="AudioFade";domain="audio";constructor(e={}){super(t("AudioFade",Ne,e,a.AudioFade))}},Ue={threshold:-40,attack:.005,hold:.05,release:.1,range:-80},y=class extends o{op="AudioNoiseGate";domain="audio";constructor(e={}){super(t("AudioNoiseGate",Ue,e,a.AudioNoiseGate))}},je={type:"peak",frequency:1e3,gain:0,q:1},g=class extends o{op="AudioParametricEq";domain="audio";constructor(e={}){super(t("AudioParametricEq",je,e,a.AudioParametricEq))}},$e={roomSize:.5,damping:.5,wet:.3,dry:1,width:1},x=class extends o{op="AudioReverb";domain="audio";constructor(e={}){super(t("AudioReverb",$e,e,a.AudioReverb))}},Ze={blurType:"Gaussian",strength:5,angle:0,sigmaColor:.1,centerX:.5,centerY:.5,partialBlur:!1,radius:.3,radiusY:0,shape:"circle"},le=class extends o{op="Blur";domain="visual";constructor(e={}){super(t("Blur",Ze,e,a.Blur))}},_e={motionPreset:"DollyZoom",panX:0,panY:0,dollyZ:0,fov:50,parallaxAmount:.6,dofAperture:.3,focusPlane:.4,edgeDilation:.5,depthInvert:!1},v=class extends o{op="CameraParallax3D";domain="visual";constructor(e={}){super(t("CameraParallax3D",_e,e,a.CameraParallax3D))}},Je={colorSpace:"RGBA",defaultChannel4:1},S=class extends o{op="ChannelMerger";domain="visual";constructor(e={}){super(t("ChannelMerger",Je,e,a.ChannelMerger))}},Qe={colorSpace:"RGBA"},C=class extends o{op="ChannelSplitter";domain="visual";constructor(e={}){super(t("ChannelSplitter",Qe,e,a.ChannelSplitter))}},er={shadows:{cyanRed:0,magentaGreen:0,yellowBlue:0},midtones:{cyanRed:0,magentaGreen:0,yellowBlue:0},highlights:{cyanRed:0,magentaGreen:0,yellowBlue:0},preserveLuminosity:!0},E=class extends o{op="ColorBalance";domain="visual";constructor(e={}){super(t("ColorBalance",er,e,a.ColorBalance))}},rr={keyColor:"#00ff00",similarity:.4,smoothness:.1,spillSuppression:.2,colorSpace:"YUV",spillSuppressionType:"Desaturate"},A=class extends o{op="ColorKey";domain="visual";constructor(e={}){super(t("ColorKey",rr,e,a.ColorKey))}},or={levels:14,lineWidth:1.2,lineColor:"#2b1d0e",fill:"source",fillColor:"#f3ead8",smoothing:2},w=class extends o{op="Contour";domain="visual";constructor(e={}){super(t("Contour",or,e,a.Contour))}},ar={},R=class extends o{op="CornerPin";domain="visual";constructor(e={}){super(t("CornerPin",ar,e,a.CornerPin))}},tr={scanlines:.45,lineCount:540,curvature:.12,mask:.25,vignette:.35,noise:.08,flicker:.03,tracking:0,chroma:0},M=class extends o{op="CRT";domain="visual";constructor(e={}){super(t("CRT",tr,e,a.CRT))}},nr={keyframes:[],strength:1,bleed:0,warmup:48},D=class extends o{op="Datamosh";domain="visual";constructor(e={}){super(t("Datamosh",nr,e,a.Datamosh))}},lr={strengthX:50,strengthY:50,xChannel:"Red",yChannel:"Green",wrapMode:"Clamp"},k=class extends o{op="DisplacementMap";domain="visual";constructor(e={}){super(t("DisplacementMap",lr,e,a.DisplacementMap))}},ir={mode:"bayer",levels:2,scale:2,monochrome:!0,dark:"#111111",light:"#f2efe6"},B=class extends o{op="Dither";domain="visual";constructor(e={}){super(t("Dither",ir,e,a.Dither))}},sr={strategy:"deterministic",samplePoints:150},T=class extends o{op="ExtractLUT";domain="visual";constructor(e={}){super(t("ExtractLUT",sr,e,a.ExtractLUT))}},cr={horizontal:!0,vertical:!1,diagonal:!1,mode:"horizontal",symmetry:"none"},G=class extends o{op="Flip";domain="visual";constructor(e={}){super(t("Flip",cr,e,a.Flip))}},pr={radius:12,threshold:.5,softness:.04},I=class extends o{op="Gooey";domain="visual";constructor(e={}){super(t("Gooey",pr,e,a.Gooey))}},ur={strength:.6,scale:2,shift:0,mode:"relief"},H=class extends o{op="Iridescence";domain="visual";constructor(e={}){super(t("Iridescence",ur,e,a.Iridescence))}},dr={segments:6,rotation:0,centerX:.5,centerY:.5,zoom:1},L=class extends o{op="Kaleidoscope";domain="visual";constructor(e={}){super(t("Kaleidoscope",dr,e,a.Kaleidoscope))}},mr={keyframes:[],motionBlurSize:1.5,movementStyle:"spline",aspectRatio:"input"},O=class extends o{op="KenBurns";domain="visual";constructor(e={}){super(t("KenBurns",mr,e,a.KenBurns))}},br={dropShadow:{enabled:!1,color:"#000000",opacity:.75,angle:120,distance:10,spread:0,size:10,blendMode:"multiply"},innerShadow:{enabled:!1,color:"#000000",opacity:.75,angle:120,distance:5,choke:0,size:5,blendMode:"multiply"},outerGlow:{enabled:!1,color:"#ffffff",opacity:.75,size:15,spread:0,blendMode:"screen"},innerGlow:{enabled:!1,color:"#ffffff",opacity:.75,size:15,spread:0,blendMode:"screen"},stroke:{enabled:!1,size:2,position:"outside",color:"#ffffff",opacity:1,blendMode:"normal"},bevelEmboss:{enabled:!1,style:"InnerBevel",technique:"Smooth",depth:100,direction:"Up",size:5,soften:0,angle:120,altitude:30,highlightColor:"#ffffff",highlightOpacity:.75,shadowColor:"#000000",shadowOpacity:.75},colorOverlay:{enabled:!1,color:"#ff0000",opacity:1,blendMode:"normal"}},z=class extends o{op="LayerStyle";domain="visual";constructor(e={}){super(t("LayerStyle",br,e,a.LayerStyle))}},fr={operations:[]},F=class extends o{op="Liquify";domain="visual";constructor(e={}){super(t("Liquify",fr,e,a.Liquify))}},Pr={operation:"Union",radius:0,threshold:.5,clampMin:0,clampMax:1,channelA:"Alpha",channelB:"Alpha",binarize:!1,invertResult:!1,outputFormat:"WhiteWithAlpha"},V=class extends o{op="MaskMath";domain="visual";constructor(e={}){super(t("MaskMath",Pr,e,a.MaskMath))}},hr={cols:3,rows:3},q=class extends o{op="MeshWarp";domain="visual";constructor(e={}){super(t("MeshWarp",hr,e,a.MeshWarp))}},yr={noiseType:"Perlin",outputType:"Image",width:512,height:512,scale:10,octaves:4,persistence:.5,lacunarity:2,speed:1,colorStart:"#000000",colorEnd:"#ffffff",durationMs:5e3,fps:30},X=class extends o{op="NoiseGenerator";domain="visual";constructor(e={}){super(t("NoiseGenerator",yr,e,a.NoiseGenerator))}},gr={pattern:"stripes",frequency:48,angle:0,warp:.6,source:1,colorA:"#0a0a0a",colorB:"#f5f5f5"},K=class extends o{op="OpArt";domain="visual";constructor(e={}){super(t("OpArt",gr,e,a.OpArt))}},xr={width:1080,height:1080,maintainAspect:!0,backgroundColor:"#ffffff"},Y=class extends o{op="Paint";domain="visual";constructor(e={}){super(t("Paint",xr,e,a.Paint))}},vr={style:"oil",radius:5,edgeDarkening:.5,paper:.3,saturation:1.05},W=class extends o{op="Painterly";domain="visual";constructor(e={}){super(t("Painterly",vr,e,a.Painterly))}},Sr={centerX:.5,centerY:.5,offsetX:50,offsetY:0,radius:25,sourceRadius:25,feather:50,opacity:1,mode:"SeamlessHeal"},N=class extends o{op="PatchHeal";domain="visual";constructor(e={}){super(t("PatchHeal",Sr,e,a.PatchHeal))}},Cr={size:12,shape:"square",gap:0},U=class extends o{op="Pixelate";domain="visual";constructor(e={}){super(t("Pixelate",Cr,e,a.Pixelate))}},Er={levels:6,palette:"none",colors:[],dither:0,pixelSize:1},j=class extends o{op="Posterize";domain="visual";constructor(e={}){super(t("Posterize",Er,e,a.Posterize))}},Ar={effectType:"Smoke",outputType:"Video",width:1080,height:1080,density:.6,scale:.01,speed:1,intensity:.8,seed:1234,colorStart:"#ffffff",colorEnd:"#ff5500",durationMs:5e3,fps:30},$=class extends o{op="ProceduralVFX";domain="visual";constructor(e={}){super(t("ProceduralVFX",Ar,e,a.ProceduralVFX))}},wr={decontaminateAmount:.7,radius:2,smooth:5,feather:.5,shiftEdge:0,matteChannel:"Alpha",outputMode:"Composite"},Z=class extends o{op="RefineEdge";domain="visual";constructor(e={}){super(t("RefineEdge",wr,e,a.RefineEdge))}},Rr={ior:1.52,dispersion:.04,refractionScale:.5,causticBrightness:.6,causticScale:1,fluidRipples:0,rippleSpeed:1,roughness:0,specularIntensity:.8,lightPosX:.5,lightPosY:.2,tintColor:"#ffffff",tintStrength:0,depthInvert:!1,depthScale:1},_=class extends o{op="RefractionCaustics3D";domain="visual";constructor(e={}){super(t("RefractionCaustics3D",Rr,e,a.RefractionCaustics3D))}},Mr={aspectRatioPreset:"16:9",resolutionPreset:"1080p",targetWidth:1920,targetHeight:1080,fitMode:"contain",zoom:100,offsetX:0,offsetY:0,backgroundMode:"solid",backgroundColor:"#000000FF",backgroundColor2:"#000000FF",blurRadius:40,backgroundBrightness:.6,anchorX:"center",anchorY:"center"},J=class extends o{op="ResizerScaler";domain="visual";constructor(e={}){super(t("ResizerScaler",Mr,e,a.ResizerScaler))}},Dr={amount:8,angle:0,radial:!1},Q=class extends o{op="RGBSplit";domain="visual";constructor(e={}){super(t("RGBSplit",Dr,e,a.RGBSplit))}},kr={angle:90,fit:"cover",scale:1},ee=class extends o{op="Rotate";domain="visual";constructor(e={}){super(t("Rotate",kr,e,a.Rotate))}},Br={pan:0},re=class extends o{op="StereoPanning";domain="audio";constructor(e={}){super(t("StereoPanning",Br,e,a.StereoPanning))}},Tr={levels:4,edgeThreshold:.2,edgeWidth:1,edgeColor:"#111111",saturation:1.15},oe=class extends o{op="Toon";domain="visual";constructor(e={}){super(t("Toon",Tr,e,a.Toon))}},Gr={decay:.9,mode:"blend",zoom:1,rotation:0,offsetX:0,offsetY:0,hueShift:0,warmup:60},ae=class extends o{op="Trails";domain="visual";constructor(e={}){super(t("Trails",Gr,e,a.Trails))}},Ir={strength:50,radius:1,softness:.5,roundness:.5,centerX:.5,centerY:.5},te=class extends o{op="Vignette";domain="visual";constructor(e={}){super(t("Vignette",Ir,e,a.Vignette))}};function Hr(r){return{partialBlur:!0,centerX:r.center.x,centerY:r.center.y,radius:r.bounds.width.multiply(.55),radiusY:r.bounds.height.multiply(.55),shape:"ellipse",strength:r.active.multiply(25)}}var ne=class extends le{constructor(e={}){let{track:n,...l}=e;super(n?{...Hr(n),...Lr(l)}:l)}};function Lr(r){return Object.fromEntries(Object.entries(r).filter(([,e])=>e!==void 0))}p();var Or={ascii:r=>new b(r),audioCompressor:r=>new f(r),audioDelay:r=>new P(r),audioFade:r=>new h(r),audioNoiseGate:r=>new y(r),audioParametricEq:r=>new g(r),audioReverb:r=>new x(r),blur:r=>new ne(r),cameraParallax3D:r=>new v(r),channelMerger:r=>new S(r),channelSplitter:r=>new C(r),colorBalance:r=>new E(r),colorKey:r=>new A(r),contour:r=>new w(r),cornerPin:r=>new R(r),cRT:r=>new M(r),datamosh:r=>new D(r),displacementMap:r=>new k(r),dither:r=>new B(r),extractLUT:r=>new T(r),flip:r=>new G(r),gooey:r=>new I(r),iridescence:r=>new H(r),kaleidoscope:r=>new L(r),kenBurns:r=>new O(r),layerStyle:r=>new z(r),liquify:r=>new F(r),maskMath:r=>new V(r),meshWarp:r=>new q(r),noiseGenerator:r=>new X(r),opArt:r=>new K(r),paint:r=>new Y(r),painterly:r=>new W(r),patchHeal:r=>new N(r),pixelate:r=>new U(r),posterize:r=>new j(r),proceduralVFX:r=>new $(r),refineEdge:r=>new Z(r),refractionCaustics3D:r=>new _(r),resizerScaler:r=>new J(r),rGBSplit:r=>new Q(r),rotate:r=>new ee(r),stereoPanning:r=>new re(r),toon:r=>new oe(r),trails:r=>new ae(r),vignette:r=>new te(r)};var fe=class extends o{op="Levels";domain="visual";constructor(e={}){let n={inBlack:0,inWhite:1,outBlack:0,outWhite:1};super({master:e.master??{...n},red:e.red??{...n},green:e.green??{...n},blue:e.blue??{...n},...e})}},Pe=class extends o{op="FilmGrain";domain="visual";constructor(e={}){super({strength:e.strength??15,size:e.size??1.5,monochrome:e.monochrome??!0,animated:e.animated??!0,speed:e.speed??50,shadows:e.shadows??.2,midtones:e.midtones??1,highlights:e.highlights??.2,...e})}},he=class extends o{op;domain="visual";constructor(e,n={}){super(n),this.op=e}},ye=class extends o{op="AudioSignalExtractor";domain="audio";constructor(e={}){super({extractionMode:e.extractionMode??"rms_envelope",attackMs:e.attackMs??10,releaseMs:e.releaseMs??120,sensitivity:e.sensitivity??1,noiseFloorDb:e.noiseFloorDb??-48,dynamicRangeDb:e.dynamicRangeDb??48,autoRange:e.autoRange??!0,smoothing:e.smoothing??.15,curve:e.curve??"linear",beatThreshold:e.beatThreshold??.08,beatDecayMs:e.beatDecayMs??80,previewMode:e.previewMode??"envelope",nodeId:e.nodeId??"audio_extractor",...e})}async extract(e,n={}){return pe.extract(e,{extractionMode:this.extractionMode,attackMs:this.attackMs,releaseMs:this.releaseMs,sensitivity:this.sensitivity,noiseFloorDb:this.noiseFloorDb,dynamicRangeDb:this.dynamicRangeDb,smoothing:this.smoothing,curve:this.curve,beatThreshold:this.beatThreshold,beatDecayMs:this.beatDecayMs,previewMode:this.previewMode,...n})}},ge=class extends o{op="Curves";domain="visual";constructor(e={}){super({...e,curveType:e.curveType??"rgb",master:e.master??[{x:0,y:0},{x:1,y:1}],red:e.red??[{x:0,y:0},{x:1,y:1}],green:e.green??[{x:0,y:0},{x:1,y:1}],blue:e.blue??[{x:0,y:0},{x:1,y:1}],hueVsHue:e.hueVsHue??[{x:0,y:.5},{x:1,y:.5}],hueVsSat:e.hueVsSat??[{x:0,y:1},{x:1,y:1}],lumVsSat:e.lumVsSat??[{x:0,y:1},{x:1,y:1}],satVsSat:e.satVsSat??[{x:0,y:1},{x:1,y:1}]})}},xe=class extends o{op="SelectiveColor";domain="visual";constructor(e={}){let n={cyan:0,magenta:0,yellow:0,black:0};super({...e,method:e.method??"Relative",reds:{...n,...e.reds},yellows:{...n,...e.yellows},greens:{...n,...e.greens},cyans:{...n,...e.cyans},blues:{...n,...e.blues},magentas:{...n,...e.magentas},whites:{...n,...e.whites},neutrals:{...n,...e.neutrals},blacks:{...n,...e.blacks}})}},ve=class extends o{op="GradientMap";domain="visual";constructor(e={}){let n=[{position:0,color:"#000000"},{position:1,color:"#ffffff"}];super({...e,stops:e.stops??n,smooth:e.smooth??!0,dither:e.dither??!0,opacity:e.opacity??1})}},Se=class extends o{op="ShadowsHighlights";domain="visual";constructor(e={}){super({...e,shadowAmount:e.shadowAmount??0,shadowTonalWidth:e.shadowTonalWidth??50,shadowRadius:e.shadowRadius??30,highlightAmount:e.highlightAmount??0,highlightTonalWidth:e.highlightTonalWidth??50,highlightRadius:e.highlightRadius??30,colorCorrection:e.colorCorrection??0,midtoneContrast:e.midtoneContrast??0})}},Ce=class extends o{op="ApplyLUT";domain="visual";constructor(e={}){super({...e,lutUrl:e.lutUrl??"",intensity:e.intensity??1})}},Ee=class extends o{op="UnsharpMask";domain="visual";constructor(e={}){super({...e,amount:e.amount??100,radius:e.radius??1.5,threshold:e.threshold??3})}},Ae=class extends o{op="HighPass";domain="visual";constructor(e={}){super({...e,radius:e.radius??3,contrastBoost:e.contrastBoost??1,monochrome:e.monochrome??!0})}},we=class extends o{op="HalftoneScreen";domain="visual";constructor(e={}){super({...e,mode:e.mode??"Monochrome",dotShape:e.dotShape??"Circle",frequency:e.frequency??30,angle:e.angle??45,contrast:e.contrast??1,dotColor:e.dotColor??"#000000",paperColor:e.paperColor??"#ffffff",smooth:e.smooth??!0,invert:e.invert??!1,cyanAngle:e.cyanAngle??15,magentaAngle:e.magentaAngle??75,yellowAngle:e.yellowAngle??0,blackAngle:e.blackAngle??45,opacity:e.opacity??1})}},Re=class extends o{op="TileOffset";domain="visual";constructor(e={}){super({...e,offsetX:e.offsetX??0,offsetY:e.offsetY??0,wrap:e.wrap??!0,edgeMode:e.edgeMode??"wrap"})}},Me=class extends o{op="MotionBlur";domain="visual";constructor(e={}){super({...e,shutterAngle:e.shutterAngle??180,samples:e.samples??16,maxVelocity:e.maxVelocity??64,shutterCurve:e.shutterCurve??"gaussian",depthAware:e.depthAware??!0})}},De=class extends o{op="SSAO";domain="visual";constructor(e={}){super({...e,radius:e.radius??45,bias:e.bias??.025,intensity:e.intensity??1.5,kernelSamples:e.kernelSamples??16,blurRadius:e.blurRadius??4})}},ke=class extends o{op="PBRGlass";domain="visual";constructor(e={}){super({...e,ior:e.ior??1.49,roughness:e.roughness??.15,transmission:e.transmission??.92,dispersion:e.dispersion??.015,fresnelPower:e.fresnelPower??5,tintColor:e.tintColor??"#ffffff"})}},Be=class extends o{op="DepthOfField";domain="visual";constructor(e={}){super({...e,focusDistance:e.focusDistance??500,focalLength:e.focalLength??50,aperture:e.aperture??2.8,maxBlur:e.maxBlur??16,quality:e.quality??"high"})}},Te=class extends o{op="Crop";domain="visual";constructor(e={}){super({cropType:e.cropType??"rect",leftPercentage:e.leftPercentage??0,topPercentage:e.topPercentage??0,widthPercentage:e.widthPercentage??100,heightPercentage:e.heightPercentage??100,roundness:e.roundness??0,...e})}},Ge=class extends o{op="Vision";domain="visual";constructor(e={}){super({enableDetection:e.enableDetection!==!1,enableSegmentation:e.enableSegmentation===!0,enablePose:e.enablePose===!0,enableMatte:e.enableMatte===!0,confidence:e.confidence??.3,variant:e.variant??"s",mode:e.mode??"passthrough",matteSource:e.matteSource??"instance",...e})}},Ie=class extends o{op="Relight3D";domain="visual";constructor(e={}){super({lightType:e.lightType??"Point",intensity:e.intensity??1,lightPosX:e.lightPosX??.5,lightPosY:e.lightPosY??.5,lightPosZ:e.lightPosZ??.3,lightRadius:e.lightRadius??.8,spotConeAngle:e.spotConeAngle??45,specularRoughness:e.specularRoughness??.35,specularStrength:e.specularStrength??.7,metallic:e.metallic??0,ambientIntensity:e.ambientIntensity??.4,volumetricDensity:e.volumetricDensity??.2,depthScale:e.depthScale??1,depthInvert:e.depthInvert??!1,lightColor:e.lightColor??"#ffffff",ambientColor:e.ambientColor??"#ffffff",normalMap:e.normalMap,...e})}},He=class extends o{op="TemporalDeflicker";domain="visual";constructor(e={}){super({blendWeight:e.blendWeight??.35,disocclusionThreshold:e.disocclusionThreshold??.15,maxMotionPixels:e.maxMotionPixels??64,scale:e.scale??.5,windowSize:e.windowSize??2,...e})}},Le=class extends o{op="Modulate";domain="visual";constructor(e={}){super({hue:e.hue??0,brightness:e.brightness??1,contrast:e.contrast??1,exposure:e.exposure??0,saturation:e.saturation??1,sepia:e.sepia??0,...e})}};export{a,b,f as c,P as d,h as e,y as f,g,x as h,v as i,S as j,C as k,E as l,A as m,w as n,R as o,M as p,D as q,k as r,B as s,T as t,G as u,I as v,H as w,L as x,O as y,z,F as A,V as B,q as C,X as D,K as E,Y as F,W as G,N as H,U as I,j as J,$ as K,Z as L,_ as M,J as N,Q as O,ee as P,re as Q,oe as R,ae as S,te as T,ne as U,Or as V,fe as W,Pe as X,he as Y,ye as Z,ge as _,xe as $,ve as aa,Se as ba,Ce as ca,Ee as da,Ae as ea,we as fa,Re as ga,Me as ha,De as ia,ke as ja,Be as ka,Te as la,Ge as ma,Ie as na,He as oa,Le as pa};
@@ -1,4 +1,4 @@
1
- import{a as N,d as K,e as $,f as z,g as E,h as j,j as Q,k as J,l as X,m as Z}from"./chunk-ENKKLU7B.mjs";import{A as W,w as F}from"./chunk-RNFYEZLL.mjs";import{a as w}from"./chunk-IQC2I5A5.mjs";import{e as S}from"./chunk-BVF64D6H.mjs";S();S();var Me=`
1
+ import{a as N,d as K,e as $,f as z,g as E,h as j,j as Q,k as J,l as X,m as Z}from"./chunk-ENKKLU7B.mjs";import{A as W,w as F}from"./chunk-ALSOO22Q.mjs";import{a as w}from"./chunk-IQC2I5A5.mjs";import{e as S}from"./chunk-BVF64D6H.mjs";S();S();var Me=`
2
2
  struct HalftoneUniforms {
3
3
  mode : f32, // 0 = Monochrome, 1 = CMYK
4
4
  dotShape : f32, // 0 = Circle, 1 = Diamond, 2 = Line, 3 = Square
@@ -1 +1 @@
1
- import{a as Se}from"./chunk-37EFVZWT.mjs";import{c as Ae}from"./chunk-2SJ4BBMT.mjs";import{i as ie,l as q}from"./chunk-24P6DAB3.mjs";import{c as we,e as ue}from"./chunk-KJGNTREI.mjs";import{D as le}from"./chunk-RNFYEZLL.mjs";import{d as L,e as te}from"./chunk-BVF64D6H.mjs";te();te();te();function ge(t,e){return Math.round(t*e)}function se(t,e,o={timeOffsetSec:0}){if(!t)return t;let{operation:w,metadata:i={},children:a=[]}=t,{timeOffsetSec:p,durationLimitMs:c}=o;if(!w)return{...t,children:(a||[]).map(r=>se(r,e,o))};let l=w.timeline,b=l?.segments||[],u=q(t)?.durationMs??0;if(b.length>0){let r=b.reduce((A,s)=>{let S=s.endSec!=null?s.endSec-s.startSec:0,$=Math.max(1,Math.round(S*e));return A+$},0);r>0&&(u=r/e*1e3)}let d={...w},F=l?.startFrame??d.startFrame;if(typeof F=="number"){let r=ge(p,e);d.startFrame=F-r}let x={...i,durationMs:u},M=typeof F=="number"||d.op==="compose"?{timeOffsetSec:0,durationLimitMs:void 0}:{timeOffsetSec:p,durationLimitMs:c},R=(a||[]).map(r=>se(r,e,M));return{metadata:x,operation:d,children:R}}var De=typeof L<"u"&&/^(debug|trace)$/i.test(L.env?.LOG_LEVEL??""),g={debug:(t,...e)=>{De&&(typeof t=="object"&&t!==null?console.info("[AudioExtractor]",t,...e):console.info(`[AudioExtractor] ${t}`,...e))},warn:(t,...e)=>{typeof t=="object"&&t!==null?console.warn("[AudioExtractor]",t,...e):console.warn(`[AudioExtractor] ${t}`,...e)},error:(t,...e)=>{typeof t=="object"&&t!==null?console.error("[AudioExtractor]",t,...e):console.error(`[AudioExtractor] ${t}`,...e)}},xe=()=>{if(typeof window>"u")return Promise.resolve();let t=globalThis.scheduler;return typeof t?.yield=="function"?t.yield():new Promise(e=>setTimeout(e,0))},Re=async(t=3e4)=>{await new Promise(o=>setTimeout(o,100));let e=Date.now();return new Promise(o=>{let w=()=>{let i=typeof window<"u"&&window.renderer_delayRenderHandles?window.renderer_delayRenderHandles:[],a=typeof globalThis<"u"?globalThis.__GATEWAI_DELAYS__:null,p=i.length>0,c=a instanceof Set&&a.size>0;if(!p&&!c){o();return}if(Date.now()-e>t){g.warn(`[AudioExtractor] waitForDelayRender timed out waiting for handles: ${JSON.stringify({browserHandles:i,globalDelays:a?Array.from(a):[]})}`),o();return}setTimeout(w,50)};w()})};async function Ke(t){let e=await Me(t);return e?{channels:e.channels,sampleRate:e.sampleRate}:null}var $e=.5;async function Me(t,e){g.debug(`[AudioExtractor] decodeAudioSource started for url: ${t}`);try{if(typeof window<"u"&&typeof window.document<"u"&&!(typeof L<"u"&&L.versions&&L.versions.node)){g.debug(`[AudioExtractor] Browser detected. Fetching arrayBuffer for ${t}...`);let i=window.AudioContext||window.webkitAudioContext;if(!i)throw new Error("AudioContext is not supported in this browser");let a=new i;try{let p=await fetch(t);if(g.debug(`[AudioExtractor] Fetch response status for ${t}: ${p.status} (${p.statusText})`),!p.ok)throw new Error(`Failed to fetch audio source: ${p.statusText}`);let c=await p.arrayBuffer();g.debug(`[AudioExtractor] Fetched ${c.byteLength} bytes. Decoding audio data...`);let l=await a.decodeAudioData(c);g.debug(`[AudioExtractor] Decoded successfully: ${l.numberOfChannels} channels, sampleRate: ${l.sampleRate}, duration: ${l.duration}s`);let b=[];for(let u=0;u<l.numberOfChannels;u++)b.push(new Float32Array(l.getChannelData(u)));return{channels:b,sampleRate:l.sampleRate,startIndex:0,validFromSec:0,validToSec:Number.POSITIVE_INFINITY}}finally{a.close(),g.debug(`[AudioExtractor] AudioContext closed for ${t}`)}}let w=!1;try{g.debug(`[AudioExtractor] Server / Node.js detected. Acquiring from inputStore for ${t}...`);let i=await ue.acquire(t);w=!0,g.debug("[AudioExtractor] inputStore acquired. Retrieving primary audio track...");let a=await i.getPrimaryAudioTrack();if(!a)return g.warn(`[AudioExtractor] No primary audio track found in input for ${t}`),null;let p=new we(a),c=e?Math.max(0,e.startSec-$e):0,l=p.samples(c,e?.endSec),b=[],u=0,d=48e3,F=1,x=null;g.debug(`[AudioExtractor] Starting mediabunny generator loop for ${t}...`);for await(let r of l){x===null&&(x=r.timestamp),d=r.sampleRate,F=r.numberOfChannels;let A=r.numberOfFrames;if(b.length===0)for(let s=0;s<F;s++)b.push([]);for(let s=0;s<F;s++){let S;try{let $=r.allocationSize({planeIndex:s,format:"f32-planar"});S=new Float32Array($/4),r.copyTo(S,{planeIndex:s,format:"f32-planar"})}catch{let $=r.allocationSize({planeIndex:s});if(r.format==="s16"||r.format==="s16-planar"){let y=new Int16Array($/2);r.copyTo(y,{planeIndex:s}),S=new Float32Array(y.length);for(let T=0;T<y.length;T++)S[T]=(y[T]??0)/32768}else if(r.format==="s32"||r.format==="s32-planar"){let y=new Int32Array($/4);r.copyTo(y,{planeIndex:s}),S=new Float32Array(y.length);for(let T=0;T<y.length;T++)S[T]=(y[T]??0)/2147483648}else if(r.format==="u8"||r.format==="u8-planar"){let y=new Uint8Array($);r.copyTo(y,{planeIndex:s}),S=new Float32Array(y.length);for(let T=0;T<y.length;T++)S[T]=((y[T]??128)-128)/128}else S=new Float32Array($/4),r.copyTo(S,{planeIndex:s})}b[s].push(S)}u+=A,r.close()}if(g.debug(`[AudioExtractor] Generator loop finished. Decoded total frames: ${u}`),u===0||b.length===0)return null;let D=b.map(r=>{let A=new Float32Array(u),s=0;for(let S of r)A.set(S,s),s+=S.length;return A}),M=0;if(c>0&&x!==null){let r=await p.getSample(0),A=r?.timestamp??await a.getFirstTimestamp();r?.close(),M=Math.round((x-A)*d)}let R=!e||(M+u)/d<e.endSec;return{channels:D,sampleRate:d,startIndex:M,validFromSec:c>0&&e?e.startSec:0,validToSec:R||!e?Number.POSITIVE_INFINITY:e.endSec}}catch(i){if(i instanceof Error&&i.message.includes("Cannot open local media file"))throw i;if(typeof L<"u"&&L.versions?.node)try{let{execFileSync:a}=await import("./child_process-AIL2NBWS.mjs"),p=e?Math.round(Math.max(0,e.startSec)*48e3):0,c=p/48e3,l=a("ffmpeg",["-v","error",...c>0?["-ss",String(c)]:[],"-i",t,...e?["-t",String(e.endSec-c)]:[],"-f","f32le","-ar","48000","-ac","2","pipe:1"],{maxBuffer:Number.POSITIVE_INFINITY}),b=l.byteLength/4,u=b/2,d=new Float32Array(l.buffer,l.byteOffset,b),F=new Float32Array(u),x=new Float32Array(u);for(let M=0;M<u;M++)F[M]=d[M*2],x[M]=d[M*2+1];let D=!e||c+u/48e3<e.endSec;return{channels:[F,x],sampleRate:48e3,startIndex:p,validFromSec:c,validToSec:D||!e?Number.POSITIVE_INFINITY:e.endSec}}catch(a){g.warn({ffmpegErr:a},`[AudioExtractor] ffmpeg fallback decode failed for ${t}`)}return g.error({err:i},`[AudioExtractor] Failed to decode source ${t}`),null}finally{w&&ue.release(t)}}catch(o){if(o instanceof Error&&o.message.includes("Cannot open local media file"))throw o;return g.error({err:o},`[AudioExtractor] Failed to decode source ${t}`),null}}async function Fe(t,e,o,w,i,a,p=0){let c=new Float32Array(i),b=e/o*w,u=1e5;for(let d=0;d<i;d++){d>0&&d%u===0&&await xe();let F=a+d*b-p,x=Math.floor(F),D=Math.ceil(F);if(x<0){c[d]=0;continue}if(x>=t.length)break;let M=F-x,R=t[x]??0,r=D>=0&&D<t.length?t[D]??R:R,A=R+M*(r-R);c[d]=Number.isFinite(A)?A:0}return c}var ke=.05,ve=new Set(["Compositor","CompositorLayer"]);function Ne(t,e,o){let w=Math.max(0,-o),i=Math.min(e.length,t.length-o);for(let a=w;a<i;a++)t[o+a]+=e[a]}var ce=class{constructor(e){this.length=e}length;channels=null;get(){return this.channels??=[new Float32Array(this.length),new Float32Array(this.length)],this.channels}canAdopt(e,o){return this.channels===null&&o===0&&e.every(w=>w.length===this.length)}add(e,o){if(this.canAdopt(e,o)&&e[0]!==e[1]){this.channels=e;return}let w=this.get();for(let i=0;i<2;i++)Ne(w[i],e[i],o)}};function Oe(t){if(t.startsWith("data:"))return"inline audio";let e=t.split(/[?#]/)[0].split(/[\\/]/).pop();return e?_e(e):"audio"}function _e(t){try{return decodeURIComponent(t)}catch{return t}}async function Qe(t,e,o=48e3,w,i,a={}){g.debug(`[AudioExtractor] mixAudioTracks started. FPS: ${e}, targetSampleRate: ${o}`),await Re(),Se.registerSignalsFromComposition(i,t);let p=q(t)?.durationMs||1e3,c=p/1e3,l=Math.ceil(c*o);g.debug(`[AudioExtractor] Composition total duration: ${p}ms (${c}s). Total mixed samples to allocate: ${l}`);let b=new Map,u=new Set;async function d(n,m,f){if(u.has(n))return null;let h=b.get(n),E=h?.find(C=>C.validFromSec<=m&&C.validToSec>=f);if(E)return E;let k=await Me(n,{startSec:m,endSec:f});return k?(h||(h=[],b.set(n,h)),h.push(k),k):(u.add(n),null)}let F=new WeakMap;function x(n){let m=F.get(n);if(m!==void 0)return m;let f=n.operation,h=!1;if(f?.op==="source"){let E=ie(n);h=E==="Audio"||E==="Video"}else f?.op&&!ve.has(f.op)&&le.get(f.op)&&(h=!0);return!h&&n.children&&(h=n.children.some(E=>E&&x(E))),F.set(n,h),h}async function D(n,m,f,h,E,k){if(!n||!x(n))return null;let C=n.operation;if(!C){let O=q(n)?.durationMs??0,_=Math.round(O/1e3*e),Q=k!==null?_>0?Math.min(k,_):k:_,z=Math.ceil(Q/e*o);if(z<=0)return null;let X=new ce(z);for(let H of n.children){let Z=await D(H,m,f,h,E,Q);if(Z){let I=H.operation,ae=I?.startFrame??I?.timeline?.startFrame??0,P=Math.round(ae/e*o);X.add(Z,P)}}return X.channels}let Y=h*(C.volume??1)*(C.opacity===0?0:1)*(C.muted?0:1),de=E,Te=C.startFrame??C.timeline?.startFrame??0,me=f+Te,fe=C.timeline?.segments||[],W=C,he=W.op==="CompositorLayer"?(W.mediaStartFrame??W.trimStartFrames??null)!==null?(W.mediaStartFrame??W.trimStartFrames??0)/e:Math.round((W.trimStartSec??0)*e)/e:0,Ee=q(n)?.durationMs??0,re=Math.round(Ee/1e3*e),Ce=k!==null?re>0?Math.min(k,re):k:re,J=Math.ceil(Ce/e*o);if(J<=0)return null;let K=new ce(J),pe=async(O,_)=>{let Q=O?O.startSec:0,z=m+he+Q,X=me+_,H=0;O?H=Math.max(1,Math.round(((O.endSec??0)-O.startSec)*e)):H=re;let Z=k!==null?Math.min(k,H):H,I=Math.round(_/e*o);if(C.op==="source"){let P=ie(n),v=Ae(n);if(v.sourceUrl&&(P==="Audio"||P==="Video")&&Y>0){let G=Math.max(.5,de*(Number(v.speed)||1)),j=Math.max(0,(Number(v.trimStartSec)||0)+z),ne=Z/e,V=Math.min(J-I,Math.ceil(ne*o)),N=V>0&&I<J?await d(v.sourceUrl,j,j+V/o*G+ke):null;if(N){let ye=Math.round(j*N.sampleRate),U=await Fe(N.channels[0],N.sampleRate,o,G,V,ye,N.startIndex),ee=N.channels.length>1?await Fe(N.channels[1],N.sampleRate,o,G,V,ye,N.startIndex):U,Ie=[U,ee];if(K.canAdopt(Ie,I)){if(Y!==1){for(let B=0;B<V;B++)U[B]*=Y;if(ee!==U)for(let B=0;B<V;B++)ee[B]*=Y}K.channels=[U,ee===U?U.slice():ee]}else{let[B,Pe]=K.get();for(let oe=0;oe<V;oe++){let be=I+oe;B[be]+=U[oe]*Y,Pe[be]+=ee[oe]*Y}}}await xe()}(P==="Audio"||P==="Video")&&(r++,a.onProgress?.({done:r,total:R,...v.sourceUrl&&{source:Oe(v.sourceUrl)}}))}if(n.children)for(let P of n.children){let v=await D(P,z,X,Y,de,Z);if(v){let G=P.operation,j=G?.startFrame??G?.timeline?.startFrame??0,ne=Math.round(j/e*o);K.add(v,I+ne)}}let ae=le.get(C.op);if(ae)try{let P=Z/e,v=Math.min(J-I,Math.ceil(P*o));if(v>0&&I<J&&I>=0){let G=K.get().map(N=>N.subarray(I,I+v)),j=C.op==="CompositorLayer"?me:0,ne=((X-j)/e+z-he)*1e3,V=q(n)?.durationMs??void 0;await ae(G,o,n,{device:w,frame:X,fps:e,renderId:i,elapsedMs:ne,durationMs:V})}}catch(P){g.error({err:P},`[AudioExtractor] Custom plugin for operation '${C.op}' failed`)}};if(fe.length>0){let O=0;for(let _ of fe){let Q=(_.endSec??0)-_.startSec,z=Math.max(1,Math.round(Q*e));await pe(_,O),O+=z}}else await pe(null,0);return K.channels}let M=se(t,e),R=0,r=0;if(a.onProgress){let n=m=>{if(!m)return;let f=m.operation;if(f?.op==="source"){let h=ie(m);(h==="Audio"||h==="Video")&&(R+=Math.max(1,f.timeline?.segments?.length??0))}for(let h of m.children??[])n(h)};n(M),a.onProgress({done:0,total:R})}let A=await D(M,0,0,1,1,null),s=A?.every(n=>n.length===l)&&A[0]!==A[1]?A:[new Float32Array(l),new Float32Array(l)],[S,$]=s;if(A&&s!==A)for(let n=0;n<2;n++){let m=s[n],f=A[n],h=Math.min(f.length,m.length);for(let E=0;E<h;E++)m[E]=f[E]}b.clear();let y=0;for(let n=0;n<l;n++){let m=Math.abs(S[n]??0),f=Math.abs($[n]??0);m>y&&(y=m),f>y&&(y=f)}let T=y>.95?.92/y:1;for(let n=0;n<l;n++){let m=(S[n]??0)*T,f=($[n]??0)*T;S[n]=Number.isFinite(m)?Math.tanh(m):0,$[n]=Number.isFinite(f)?Math.tanh(f):0}return{channels:s,sampleRate:o}}export{Ke as a,Qe as b};
1
+ import{a as Se}from"./chunk-37EFVZWT.mjs";import{c as Ae}from"./chunk-2SJ4BBMT.mjs";import{i as ie,l as q}from"./chunk-24P6DAB3.mjs";import{c as we,e as ue}from"./chunk-KJGNTREI.mjs";import{E as le}from"./chunk-ALSOO22Q.mjs";import{d as L,e as te}from"./chunk-BVF64D6H.mjs";te();te();te();function ge(t,e){return Math.round(t*e)}function se(t,e,o={timeOffsetSec:0}){if(!t)return t;let{operation:w,metadata:i={},children:a=[]}=t,{timeOffsetSec:p,durationLimitMs:c}=o;if(!w)return{...t,children:(a||[]).map(r=>se(r,e,o))};let l=w.timeline,b=l?.segments||[],u=q(t)?.durationMs??0;if(b.length>0){let r=b.reduce((A,s)=>{let S=s.endSec!=null?s.endSec-s.startSec:0,$=Math.max(1,Math.round(S*e));return A+$},0);r>0&&(u=r/e*1e3)}let d={...w},F=l?.startFrame??d.startFrame;if(typeof F=="number"){let r=ge(p,e);d.startFrame=F-r}let x={...i,durationMs:u},M=typeof F=="number"||d.op==="compose"?{timeOffsetSec:0,durationLimitMs:void 0}:{timeOffsetSec:p,durationLimitMs:c},R=(a||[]).map(r=>se(r,e,M));return{metadata:x,operation:d,children:R}}var De=typeof L<"u"&&/^(debug|trace)$/i.test(L.env?.LOG_LEVEL??""),g={debug:(t,...e)=>{De&&(typeof t=="object"&&t!==null?console.info("[AudioExtractor]",t,...e):console.info(`[AudioExtractor] ${t}`,...e))},warn:(t,...e)=>{typeof t=="object"&&t!==null?console.warn("[AudioExtractor]",t,...e):console.warn(`[AudioExtractor] ${t}`,...e)},error:(t,...e)=>{typeof t=="object"&&t!==null?console.error("[AudioExtractor]",t,...e):console.error(`[AudioExtractor] ${t}`,...e)}},xe=()=>{if(typeof window>"u")return Promise.resolve();let t=globalThis.scheduler;return typeof t?.yield=="function"?t.yield():new Promise(e=>setTimeout(e,0))},Re=async(t=3e4)=>{await new Promise(o=>setTimeout(o,100));let e=Date.now();return new Promise(o=>{let w=()=>{let i=typeof window<"u"&&window.renderer_delayRenderHandles?window.renderer_delayRenderHandles:[],a=typeof globalThis<"u"?globalThis.__GATEWAI_DELAYS__:null,p=i.length>0,c=a instanceof Set&&a.size>0;if(!p&&!c){o();return}if(Date.now()-e>t){g.warn(`[AudioExtractor] waitForDelayRender timed out waiting for handles: ${JSON.stringify({browserHandles:i,globalDelays:a?Array.from(a):[]})}`),o();return}setTimeout(w,50)};w()})};async function Ke(t){let e=await Me(t);return e?{channels:e.channels,sampleRate:e.sampleRate}:null}var $e=.5;async function Me(t,e){g.debug(`[AudioExtractor] decodeAudioSource started for url: ${t}`);try{if(typeof window<"u"&&typeof window.document<"u"&&!(typeof L<"u"&&L.versions&&L.versions.node)){g.debug(`[AudioExtractor] Browser detected. Fetching arrayBuffer for ${t}...`);let i=window.AudioContext||window.webkitAudioContext;if(!i)throw new Error("AudioContext is not supported in this browser");let a=new i;try{let p=await fetch(t);if(g.debug(`[AudioExtractor] Fetch response status for ${t}: ${p.status} (${p.statusText})`),!p.ok)throw new Error(`Failed to fetch audio source: ${p.statusText}`);let c=await p.arrayBuffer();g.debug(`[AudioExtractor] Fetched ${c.byteLength} bytes. Decoding audio data...`);let l=await a.decodeAudioData(c);g.debug(`[AudioExtractor] Decoded successfully: ${l.numberOfChannels} channels, sampleRate: ${l.sampleRate}, duration: ${l.duration}s`);let b=[];for(let u=0;u<l.numberOfChannels;u++)b.push(new Float32Array(l.getChannelData(u)));return{channels:b,sampleRate:l.sampleRate,startIndex:0,validFromSec:0,validToSec:Number.POSITIVE_INFINITY}}finally{a.close(),g.debug(`[AudioExtractor] AudioContext closed for ${t}`)}}let w=!1;try{g.debug(`[AudioExtractor] Server / Node.js detected. Acquiring from inputStore for ${t}...`);let i=await ue.acquire(t);w=!0,g.debug("[AudioExtractor] inputStore acquired. Retrieving primary audio track...");let a=await i.getPrimaryAudioTrack();if(!a)return g.warn(`[AudioExtractor] No primary audio track found in input for ${t}`),null;let p=new we(a),c=e?Math.max(0,e.startSec-$e):0,l=p.samples(c,e?.endSec),b=[],u=0,d=48e3,F=1,x=null;g.debug(`[AudioExtractor] Starting mediabunny generator loop for ${t}...`);for await(let r of l){x===null&&(x=r.timestamp),d=r.sampleRate,F=r.numberOfChannels;let A=r.numberOfFrames;if(b.length===0)for(let s=0;s<F;s++)b.push([]);for(let s=0;s<F;s++){let S;try{let $=r.allocationSize({planeIndex:s,format:"f32-planar"});S=new Float32Array($/4),r.copyTo(S,{planeIndex:s,format:"f32-planar"})}catch{let $=r.allocationSize({planeIndex:s});if(r.format==="s16"||r.format==="s16-planar"){let y=new Int16Array($/2);r.copyTo(y,{planeIndex:s}),S=new Float32Array(y.length);for(let T=0;T<y.length;T++)S[T]=(y[T]??0)/32768}else if(r.format==="s32"||r.format==="s32-planar"){let y=new Int32Array($/4);r.copyTo(y,{planeIndex:s}),S=new Float32Array(y.length);for(let T=0;T<y.length;T++)S[T]=(y[T]??0)/2147483648}else if(r.format==="u8"||r.format==="u8-planar"){let y=new Uint8Array($);r.copyTo(y,{planeIndex:s}),S=new Float32Array(y.length);for(let T=0;T<y.length;T++)S[T]=((y[T]??128)-128)/128}else S=new Float32Array($/4),r.copyTo(S,{planeIndex:s})}b[s].push(S)}u+=A,r.close()}if(g.debug(`[AudioExtractor] Generator loop finished. Decoded total frames: ${u}`),u===0||b.length===0)return null;let D=b.map(r=>{let A=new Float32Array(u),s=0;for(let S of r)A.set(S,s),s+=S.length;return A}),M=0;if(c>0&&x!==null){let r=await p.getSample(0),A=r?.timestamp??await a.getFirstTimestamp();r?.close(),M=Math.round((x-A)*d)}let R=!e||(M+u)/d<e.endSec;return{channels:D,sampleRate:d,startIndex:M,validFromSec:c>0&&e?e.startSec:0,validToSec:R||!e?Number.POSITIVE_INFINITY:e.endSec}}catch(i){if(i instanceof Error&&i.message.includes("Cannot open local media file"))throw i;if(typeof L<"u"&&L.versions?.node)try{let{execFileSync:a}=await import("./child_process-AIL2NBWS.mjs"),p=e?Math.round(Math.max(0,e.startSec)*48e3):0,c=p/48e3,l=a("ffmpeg",["-v","error",...c>0?["-ss",String(c)]:[],"-i",t,...e?["-t",String(e.endSec-c)]:[],"-f","f32le","-ar","48000","-ac","2","pipe:1"],{maxBuffer:Number.POSITIVE_INFINITY}),b=l.byteLength/4,u=b/2,d=new Float32Array(l.buffer,l.byteOffset,b),F=new Float32Array(u),x=new Float32Array(u);for(let M=0;M<u;M++)F[M]=d[M*2],x[M]=d[M*2+1];let D=!e||c+u/48e3<e.endSec;return{channels:[F,x],sampleRate:48e3,startIndex:p,validFromSec:c,validToSec:D||!e?Number.POSITIVE_INFINITY:e.endSec}}catch(a){g.warn({ffmpegErr:a},`[AudioExtractor] ffmpeg fallback decode failed for ${t}`)}return g.error({err:i},`[AudioExtractor] Failed to decode source ${t}`),null}finally{w&&ue.release(t)}}catch(o){if(o instanceof Error&&o.message.includes("Cannot open local media file"))throw o;return g.error({err:o},`[AudioExtractor] Failed to decode source ${t}`),null}}async function Fe(t,e,o,w,i,a,p=0){let c=new Float32Array(i),b=e/o*w,u=1e5;for(let d=0;d<i;d++){d>0&&d%u===0&&await xe();let F=a+d*b-p,x=Math.floor(F),D=Math.ceil(F);if(x<0){c[d]=0;continue}if(x>=t.length)break;let M=F-x,R=t[x]??0,r=D>=0&&D<t.length?t[D]??R:R,A=R+M*(r-R);c[d]=Number.isFinite(A)?A:0}return c}var ke=.05,ve=new Set(["Compositor","CompositorLayer"]);function Ne(t,e,o){let w=Math.max(0,-o),i=Math.min(e.length,t.length-o);for(let a=w;a<i;a++)t[o+a]+=e[a]}var ce=class{constructor(e){this.length=e}length;channels=null;get(){return this.channels??=[new Float32Array(this.length),new Float32Array(this.length)],this.channels}canAdopt(e,o){return this.channels===null&&o===0&&e.every(w=>w.length===this.length)}add(e,o){if(this.canAdopt(e,o)&&e[0]!==e[1]){this.channels=e;return}let w=this.get();for(let i=0;i<2;i++)Ne(w[i],e[i],o)}};function Oe(t){if(t.startsWith("data:"))return"inline audio";let e=t.split(/[?#]/)[0].split(/[\\/]/).pop();return e?_e(e):"audio"}function _e(t){try{return decodeURIComponent(t)}catch{return t}}async function Qe(t,e,o=48e3,w,i,a={}){g.debug(`[AudioExtractor] mixAudioTracks started. FPS: ${e}, targetSampleRate: ${o}`),await Re(),Se.registerSignalsFromComposition(i,t);let p=q(t)?.durationMs||1e3,c=p/1e3,l=Math.ceil(c*o);g.debug(`[AudioExtractor] Composition total duration: ${p}ms (${c}s). Total mixed samples to allocate: ${l}`);let b=new Map,u=new Set;async function d(n,m,f){if(u.has(n))return null;let h=b.get(n),E=h?.find(C=>C.validFromSec<=m&&C.validToSec>=f);if(E)return E;let k=await Me(n,{startSec:m,endSec:f});return k?(h||(h=[],b.set(n,h)),h.push(k),k):(u.add(n),null)}let F=new WeakMap;function x(n){let m=F.get(n);if(m!==void 0)return m;let f=n.operation,h=!1;if(f?.op==="source"){let E=ie(n);h=E==="Audio"||E==="Video"}else f?.op&&!ve.has(f.op)&&le.get(f.op)&&(h=!0);return!h&&n.children&&(h=n.children.some(E=>E&&x(E))),F.set(n,h),h}async function D(n,m,f,h,E,k){if(!n||!x(n))return null;let C=n.operation;if(!C){let O=q(n)?.durationMs??0,_=Math.round(O/1e3*e),Q=k!==null?_>0?Math.min(k,_):k:_,z=Math.ceil(Q/e*o);if(z<=0)return null;let X=new ce(z);for(let H of n.children){let Z=await D(H,m,f,h,E,Q);if(Z){let I=H.operation,ae=I?.startFrame??I?.timeline?.startFrame??0,P=Math.round(ae/e*o);X.add(Z,P)}}return X.channels}let Y=h*(C.volume??1)*(C.opacity===0?0:1)*(C.muted?0:1),de=E,Te=C.startFrame??C.timeline?.startFrame??0,me=f+Te,fe=C.timeline?.segments||[],W=C,he=W.op==="CompositorLayer"?(W.mediaStartFrame??W.trimStartFrames??null)!==null?(W.mediaStartFrame??W.trimStartFrames??0)/e:Math.round((W.trimStartSec??0)*e)/e:0,Ee=q(n)?.durationMs??0,re=Math.round(Ee/1e3*e),Ce=k!==null?re>0?Math.min(k,re):k:re,J=Math.ceil(Ce/e*o);if(J<=0)return null;let K=new ce(J),pe=async(O,_)=>{let Q=O?O.startSec:0,z=m+he+Q,X=me+_,H=0;O?H=Math.max(1,Math.round(((O.endSec??0)-O.startSec)*e)):H=re;let Z=k!==null?Math.min(k,H):H,I=Math.round(_/e*o);if(C.op==="source"){let P=ie(n),v=Ae(n);if(v.sourceUrl&&(P==="Audio"||P==="Video")&&Y>0){let G=Math.max(.5,de*(Number(v.speed)||1)),j=Math.max(0,(Number(v.trimStartSec)||0)+z),ne=Z/e,V=Math.min(J-I,Math.ceil(ne*o)),N=V>0&&I<J?await d(v.sourceUrl,j,j+V/o*G+ke):null;if(N){let ye=Math.round(j*N.sampleRate),U=await Fe(N.channels[0],N.sampleRate,o,G,V,ye,N.startIndex),ee=N.channels.length>1?await Fe(N.channels[1],N.sampleRate,o,G,V,ye,N.startIndex):U,Ie=[U,ee];if(K.canAdopt(Ie,I)){if(Y!==1){for(let B=0;B<V;B++)U[B]*=Y;if(ee!==U)for(let B=0;B<V;B++)ee[B]*=Y}K.channels=[U,ee===U?U.slice():ee]}else{let[B,Pe]=K.get();for(let oe=0;oe<V;oe++){let be=I+oe;B[be]+=U[oe]*Y,Pe[be]+=ee[oe]*Y}}}await xe()}(P==="Audio"||P==="Video")&&(r++,a.onProgress?.({done:r,total:R,...v.sourceUrl&&{source:Oe(v.sourceUrl)}}))}if(n.children)for(let P of n.children){let v=await D(P,z,X,Y,de,Z);if(v){let G=P.operation,j=G?.startFrame??G?.timeline?.startFrame??0,ne=Math.round(j/e*o);K.add(v,I+ne)}}let ae=le.get(C.op);if(ae)try{let P=Z/e,v=Math.min(J-I,Math.ceil(P*o));if(v>0&&I<J&&I>=0){let G=K.get().map(N=>N.subarray(I,I+v)),j=C.op==="CompositorLayer"?me:0,ne=((X-j)/e+z-he)*1e3,V=q(n)?.durationMs??void 0;await ae(G,o,n,{device:w,frame:X,fps:e,renderId:i,elapsedMs:ne,durationMs:V})}}catch(P){g.error({err:P},`[AudioExtractor] Custom plugin for operation '${C.op}' failed`)}};if(fe.length>0){let O=0;for(let _ of fe){let Q=(_.endSec??0)-_.startSec,z=Math.max(1,Math.round(Q*e));await pe(_,O),O+=z}}else await pe(null,0);return K.channels}let M=se(t,e),R=0,r=0;if(a.onProgress){let n=m=>{if(!m)return;let f=m.operation;if(f?.op==="source"){let h=ie(m);(h==="Audio"||h==="Video")&&(R+=Math.max(1,f.timeline?.segments?.length??0))}for(let h of m.children??[])n(h)};n(M),a.onProgress({done:0,total:R})}let A=await D(M,0,0,1,1,null),s=A?.every(n=>n.length===l)&&A[0]!==A[1]?A:[new Float32Array(l),new Float32Array(l)],[S,$]=s;if(A&&s!==A)for(let n=0;n<2;n++){let m=s[n],f=A[n],h=Math.min(f.length,m.length);for(let E=0;E<h;E++)m[E]=f[E]}b.clear();let y=0;for(let n=0;n<l;n++){let m=Math.abs(S[n]??0),f=Math.abs($[n]??0);m>y&&(y=m),f>y&&(y=f)}let T=y>.95?.92/y:1;for(let n=0;n<l;n++){let m=(S[n]??0)*T,f=($[n]??0)*T;S[n]=Number.isFinite(m)?Math.tanh(m):0,$[n]=Number.isFinite(f)?Math.tanh(f):0}return{channels:s,sampleRate:o}}export{Ke as a,Qe as b};
@@ -1,4 +1,4 @@
1
- import{a as oe}from"./chunk-37EFVZWT.mjs";import{d as N}from"./chunk-6YJP57MZ.mjs";import{h as re,j as ue}from"./chunk-RNFYEZLL.mjs";import{e as se}from"./chunk-BVF64D6H.mjs";se();var pe=()=>{if(typeof window>"u")return Promise.resolve();let B=globalThis.scheduler;return typeof B?.yield=="function"?B.yield():new Promise(n=>setTimeout(n,0))},fe=class B{static devicePipelineCache=new WeakMap;static getDeviceCache(n){let i=B.devicePipelineCache.get(n);return i||(i=new Map,B.devicePipelineCache.set(n,i)),i}static getCache(n,i,g,d="",$=1){let p=`${i??"global"}_${g}_${d}_${$}`;return B.devicePipelineCache.get(n)?.get(p)}static clearCache(n,i){if(!i)return;let g=B.devicePipelineCache.get(i);if(!g)return;let d=`${n}_`;for(let[$,p]of g.entries())$.startsWith(d)&&(p.stateBuffer.destroy(),p.inputBuffer?.destroy(),p.outputBuffer?.destroy(),p.uniformBuffer?.destroy(),g.delete($))}static async process(n,i,g,d,$,p,b,le,ce,L,O=1,D,k=!1,W,K,Y,F,y){let m=g.length;if(m===0)return;let h=g[0].length;if(h===0)return;let z=W!==void 0?W/1e3:p/b,E=K!==void 0?K/1e3:0,x=[],H="",j="",G=[],T=new Map,w=$.operation;if(w?.inputs){for(let e of Object.values(w.inputs))if(e?.connectionValid&&e.outputItem&&e.outputItem.type==="Signal"){let t=e.outputItem.data;t&&await N.ensureAudioSourcesExtracted(n,t,b,D)}for(let[e,t]of Object.entries(w))if(e.endsWith("HandleId")&&t){let f=t,s=w.inputs[f];if(s?.connectionValid&&s.outputItem&&s.outputItem.type==="Signal"){let u=s.outputItem.data;if(u){let r=e.replace("HandleId","");if(k){x.push({parameterName:r,signalNodeId:u.nodeId??"sig",signalFnName:u.signalFnName??u.name??"sig_fn"});let l=n.createCommandEncoder(),c=N.getOrCreate1DBuffer(n,l,u.nodeId??"sig",z,E,u,h,d,D,p,b);n.queue.submit([l.finish()]),T.set(r,c),y||G.push(c)}else{let l=u.nodeId;if(l){let c=oe.get(l,D);if(c){x.push({parameterName:r,signalNodeId:l,signalFnName:c.name}),j+=`
1
+ import{a as oe}from"./chunk-37EFVZWT.mjs";import{d as N}from"./chunk-6YJP57MZ.mjs";import{h as re,j as ue}from"./chunk-ALSOO22Q.mjs";import{e as se}from"./chunk-BVF64D6H.mjs";se();var pe=()=>{if(typeof window>"u")return Promise.resolve();let B=globalThis.scheduler;return typeof B?.yield=="function"?B.yield():new Promise(n=>setTimeout(n,0))},fe=class B{static devicePipelineCache=new WeakMap;static getDeviceCache(n){let i=B.devicePipelineCache.get(n);return i||(i=new Map,B.devicePipelineCache.set(n,i)),i}static getCache(n,i,g,d="",$=1){let p=`${i??"global"}_${g}_${d}_${$}`;return B.devicePipelineCache.get(n)?.get(p)}static clearCache(n,i){if(!i)return;let g=B.devicePipelineCache.get(i);if(!g)return;let d=`${n}_`;for(let[$,p]of g.entries())$.startsWith(d)&&(p.stateBuffer.destroy(),p.inputBuffer?.destroy(),p.outputBuffer?.destroy(),p.uniformBuffer?.destroy(),g.delete($))}static async process(n,i,g,d,$,p,b,le,ce,L,O=1,D,k=!1,W,K,Y,F,y){let m=g.length;if(m===0)return;let h=g[0].length;if(h===0)return;let z=W!==void 0?W/1e3:p/b,E=K!==void 0?K/1e3:0,x=[],H="",j="",G=[],T=new Map,w=$.operation;if(w?.inputs){for(let e of Object.values(w.inputs))if(e?.connectionValid&&e.outputItem&&e.outputItem.type==="Signal"){let t=e.outputItem.data;t&&await N.ensureAudioSourcesExtracted(n,t,b,D)}for(let[e,t]of Object.entries(w))if(e.endsWith("HandleId")&&t){let f=t,s=w.inputs[f];if(s?.connectionValid&&s.outputItem&&s.outputItem.type==="Signal"){let u=s.outputItem.data;if(u){let r=e.replace("HandleId","");if(k){x.push({parameterName:r,signalNodeId:u.nodeId??"sig",signalFnName:u.signalFnName??u.name??"sig_fn"});let l=n.createCommandEncoder(),c=N.getOrCreate1DBuffer(n,l,u.nodeId??"sig",z,E,u,h,d,D,p,b);n.queue.submit([l.finish()]),T.set(r,c),y||G.push(c)}else{let l=u.nodeId;if(l){let c=oe.get(l,D);if(c){x.push({parameterName:r,signalNodeId:l,signalFnName:c.name}),j+=`
2
2
  ${c.wgsl}`;let A=[];for(let S of c.fnParams){let U=S.defaultValue;A.push(U%1===0?`${U.toFixed(1)}f`:`${U}f`)}let I=`(${z.toFixed(6)}f + f32(index) / u.sampleRate)`,q=`${E.toFixed(6)}f`,P=["t","0.0","0.0","0.0","index","numSamples","frame","vec4<f32>(0.0)",I,q,...A];r==="makeupGain"&&(H+=`
3
3
  let sigVal_${l} = ${c.name}(${P.join(", ")});
4
4
  dynamicMakeupGain = dynamicMakeupGain + sigVal_${l};
@@ -1,3 +1,3 @@
1
- import{b as E,d as R,g as A,j as x,w as U}from"./chunk-MCFYUKAJ.mjs";import{m as P}from"./chunk-4GEWSUX5.mjs";import{o as g}from"./chunk-YAQFFQPG.mjs";import{d as m,e as F}from"./chunk-BVF64D6H.mjs";F();F();var I=65536,$=1953658213,N=1954115633,k=1330926671,H=1953784678;function M(r,t){if(r.length<12)throw new Error(`Invalid font binary for "${t}": File size (${r.length} bytes) is too small to be a valid TrueType or OpenType font.`);let e=(r[0]??0)<<24|(r[1]??0)<<16|(r[2]??0)<<8|(r[3]??0);if(e===I||e===$||e===N||e===H)return"truetype";if(e===k)return"opentype";let i=(e>>>0).toString(16).padStart(8,"0");throw new Error(`Invalid font format for "${t}": Expected a valid TrueType (.ttf) or OpenType (.otf) font binary. Found header tag: 0x${i}.`)}async function S(r){if(r instanceof Uint8Array)return{buffer:r};if(typeof r!="string")throw new TypeError(`Font source must be a file path string or Uint8Array, received: ${typeof r}`);let t=r;if(t.startsWith("http://")||t.startsWith("https://")){let s=await fetch(t);if(!s.ok)throw new Error(`Failed to download font from "${t}": HTTP ${s.status} ${s.statusText}`);let c=await s.arrayBuffer();return{buffer:new Uint8Array(c),filePath:t}}if(t.startsWith("file://"))try{t=new URL(t).pathname}catch{t=t.replace(/^file:\/\//,"")}let e=[t,g.resolve(m.cwd(),t),g.resolve(m.cwd(),"assets/fonts",t),g.resolve(m.cwd(),"assets/fonts",g.basename(t))],i=m.cwd();for(let s=0;s<5;s++){e.push(g.resolve(i,t)),e.push(g.resolve(i,"assets/fonts",g.basename(t)));let c=g.dirname(i);if(c===i)break;i=c}let a=null,f=null;for(let s of e)try{if((await P.stat(s)).isFile()){a=s,f=await P.readFile(s);break}}catch{}if(!a||!f)throw new Error(`Font file not found: "${r}". Checked candidate locations:
1
+ import{b as E,d as R,g as A,j as x,x as U}from"./chunk-2LQCQ3OT.mjs";import{m as P}from"./chunk-4GEWSUX5.mjs";import{o as g}from"./chunk-YAQFFQPG.mjs";import{d as m,e as F}from"./chunk-BVF64D6H.mjs";F();F();var I=65536,$=1953658213,N=1954115633,k=1330926671,H=1953784678;function M(r,t){if(r.length<12)throw new Error(`Invalid font binary for "${t}": File size (${r.length} bytes) is too small to be a valid TrueType or OpenType font.`);let e=(r[0]??0)<<24|(r[1]??0)<<16|(r[2]??0)<<8|(r[3]??0);if(e===I||e===$||e===N||e===H)return"truetype";if(e===k)return"opentype";let i=(e>>>0).toString(16).padStart(8,"0");throw new Error(`Invalid font format for "${t}": Expected a valid TrueType (.ttf) or OpenType (.otf) font binary. Found header tag: 0x${i}.`)}async function S(r){if(r instanceof Uint8Array)return{buffer:r};if(typeof r!="string")throw new TypeError(`Font source must be a file path string or Uint8Array, received: ${typeof r}`);let t=r;if(t.startsWith("http://")||t.startsWith("https://")){let s=await fetch(t);if(!s.ok)throw new Error(`Failed to download font from "${t}": HTTP ${s.status} ${s.statusText}`);let c=await s.arrayBuffer();return{buffer:new Uint8Array(c),filePath:t}}if(t.startsWith("file://"))try{t=new URL(t).pathname}catch{t=t.replace(/^file:\/\//,"")}let e=[t,g.resolve(m.cwd(),t),g.resolve(m.cwd(),"assets/fonts",t),g.resolve(m.cwd(),"assets/fonts",g.basename(t))],i=m.cwd();for(let s=0;s<5;s++){e.push(g.resolve(i,t)),e.push(g.resolve(i,"assets/fonts",g.basename(t)));let c=g.dirname(i);if(c===i)break;i=c}let a=null,f=null;for(let s of e)try{if((await P.stat(s)).isFile()){a=s,f=await P.readFile(s);break}}catch{}if(!a||!f)throw new Error(`Font file not found: "${r}". Checked candidate locations:
2
2
  - ${e.join(`
3
3
  - `)}`);return{buffer:new Uint8Array(f.buffer,f.byteOffset,f.byteLength),filePath:a}}var v=class r{static instance=null;fonts=new Map;constructor(){}static getInstance(){return r.instance||(r.instance=new r),r.instance}static async register(t,e){return r.getInstance().register(t,e)}static async registerEmojiFont(t){let{buffer:e,filePath:i}=await S(t);M(e,i??(typeof t=="string"?t:"Uint8Array")),x.setEmojiFont(e,i)}static measure(t,e){let i=e.fontSize??48,a=x.getFont(e.fontFamily,e.fontWeight,null,void 0,i);if(!a)throw new Error(`FontManager.measure: font "${e.fontFamily}" is not registered. Call \`await FontManager.register(...)\` first.`);let f=e.lineHeight!==void 0&&e.lineHeight<10?e.lineHeight*i:e.lineHeight??i*1.2,s=e.letterSpacing??0,{width:c,height:h,layout:y}=U.measure(t,a,i,s,f,e.width,void 0,e.direction),T=i/a.unitsPerEm,o=[],w=new Set,d=0;for(let n of y.glyphs){let l=n.textIndex;if(l===void 0){let u=t.indexOf(n.char,d);l=u>=0?u:d}if(w.has(l))continue;w.add(l),d=l+n.char.length;let p=n.clusterAdvance??n.cp.advanceWidth*(n.fontScale??T);o.push({char:n.char,index:l,x:n.clusterX??n.x,y:n.y,width:p+s,line:n.lineIndex,...n.rtl&&{rtl:!0}})}let b=n=>{if(n<=0||o.length===0){let u=o[0];return u?u.rtl?u.x+u.width-s:u.x:0}let l=o.filter(u=>u.index<n),p=l[l.length-1];return p?p.rtl?p.x:p.x+p.width-s:0};return{width:c,height:h,lines:y.linesCount,lineHeight:f,glyphs:o,caretX:b,widthOf:n=>b(n)-(o[0]?.x??0)}}static get(t){return r.getInstance().get(t)}static has(t){return r.getInstance().has(t)}static getAll(){return r.getInstance().getAll()}static getRegisteredFontPaths(){return r.getInstance().getRegisteredFontPaths()}static clear(){r.getInstance().clear()}async register(t,e){let i,a,f,s;if(typeof t=="object"&&t!==null)i=t.family,a=t.source,f=t.weight,s=t.style;else if(typeof t=="string"&&e!==void 0)i=t,a=e;else if(typeof t=="string")i=void 0,a=t;else throw new TypeError("Invalid arguments passed to FontManager.register");let{buffer:c,filePath:h}=await S(a),y=h??(typeof a=="string"?a:"Uint8Array"),T=M(c,y),o;try{let n=A(c);n&&"fonts"in n&&Array.isArray(n.fonts)&&n.fonts.length>0?o=n.fonts[0]:o=n}catch(n){let l=n instanceof Error?n.message:String(n);throw new Error(`Failed to parse TrueType/OpenType font binary for "${y}": ${l}`)}let w=o.familyName||o.postscriptName||g.parse(y).name,d=i?.trim()||w,b={family:d,source:a,filePath:h,format:T,postscriptName:o.postscriptName,unitsPerEm:o.unitsPerEm,weight:f,style:s};return this.fonts.set(d,b),R(d,h??a),h&&await E(d,h),x.setParsed(d,o),b}get(t){return this.fonts.get(t)}has(t){return this.fonts.has(t)}getAll(){return Array.from(this.fonts.values())}getRegisteredFontPaths(){let t=[];for(let e of this.fonts.values())e.filePath?t.push(e.filePath):typeof e.source=="string"&&t.push(e.source);return t}clear(){this.fonts.clear()}};export{v as a};
@@ -1,4 +1,4 @@
1
- import{a as 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{A as W,v as T}from"./chunk-RNFYEZLL.mjs";import{a as X}from"./chunk-IQC2I5A5.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{A as W,v as T}from"./chunk-ALSOO22Q.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
@@ -1,4 +1,4 @@
1
- import{a as m}from"./chunk-MBJXS3D7.mjs";import{a as U,d as c,f as A,g as M,h as V,j as D,k as B,m as H}from"./chunk-ENKKLU7B.mjs";import{d as h}from"./chunk-6YJP57MZ.mjs";import{A as P}from"./chunk-RNFYEZLL.mjs";import{e as L}from"./chunk-BVF64D6H.mjs";L();L();var Q=`
1
+ import{a as m}from"./chunk-MBJXS3D7.mjs";import{a as U,d as c,f as A,g as M,h as V,j as D,k as B,m as H}from"./chunk-ENKKLU7B.mjs";import{d as h}from"./chunk-6YJP57MZ.mjs";import{A as P}from"./chunk-ALSOO22Q.mjs";import{e as L}from"./chunk-BVF64D6H.mjs";L();L();var Q=`
2
2
  struct LutUniforms {
3
3
  intensity : f32,
4
4
  lutSize : f32,
@@ -1,4 +1,4 @@
1
- import{a as h}from"./chunk-MA4YVA2E.mjs";import{A as I,c as m,d as c,z as g}from"./chunk-RNFYEZLL.mjs";import{e as i}from"./chunk-BVF64D6H.mjs";i();i();var w=["fadeInDuration","fadeOutDuration"],E=()=>`
1
+ import{a as h}from"./chunk-Q7JN4EHX.mjs";import{A as I,c as m,d as c,z as g}from"./chunk-ALSOO22Q.mjs";import{e as i}from"./chunk-BVF64D6H.mjs";i();i();var w=["fadeInDuration","fadeOutDuration"],E=()=>`
2
2
  struct Uniforms {
3
3
  sampleRate : f32,
4
4
  fadeInDuration : f32,
@@ -1,4 +1,4 @@
1
- import{a as W,d as G,e as $,f as E,g as k,h as A,j,k as K,l as Q,m as q}from"./chunk-ENKKLU7B.mjs";import{A as B,w as H}from"./chunk-RNFYEZLL.mjs";import{e as f}from"./chunk-BVF64D6H.mjs";f();f();var xe=`
1
+ import{a as W,d as G,e as $,f as E,g as k,h as A,j,k as K,l as Q,m as q}from"./chunk-ENKKLU7B.mjs";import{A as B,w as H}from"./chunk-ALSOO22Q.mjs";import{e as f}from"./chunk-BVF64D6H.mjs";f();f();var xe=`
2
2
  struct VignetteUniforms {
3
3
  strength : f32,
4
4
  radius : f32,
@@ -1,4 +1,4 @@
1
- import{a as X}from"./chunk-QVW5METG.mjs";import{b as k,c as E}from"./chunk-NKGXINCU.mjs";import{a as g}from"./chunk-V3FODTPI.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{A as V,x as D}from"./chunk-RNFYEZLL.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=`
1
+ import{a as X}from"./chunk-QVW5METG.mjs";import{b as k,c as E}from"./chunk-NKGXINCU.mjs";import{a as g}from"./chunk-V3FODTPI.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{A as V,x as D}from"./chunk-ALSOO22Q.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
2
  struct HighPassUniforms {
3
3
  dirX : f32,
4
4
  dirY : f32,
@@ -1,4 +1,4 @@
1
- import{a as X,d as f,e as _,f as P,g as Y,h as D,j as U,k as V,m as B}from"./chunk-ENKKLU7B.mjs";import{d}from"./chunk-6YJP57MZ.mjs";import{A as R}from"./chunk-RNFYEZLL.mjs";import{e as g}from"./chunk-BVF64D6H.mjs";g();g();var j=0,Q=500;function q(t,e,r){return Math.min(r,Math.max(e,t))}var z=`
1
+ import{a as X,d as f,e as _,f as P,g as Y,h as D,j as U,k as V,m as B}from"./chunk-ENKKLU7B.mjs";import{d}from"./chunk-6YJP57MZ.mjs";import{A as R}from"./chunk-ALSOO22Q.mjs";import{e as g}from"./chunk-BVF64D6H.mjs";g();g();var j=0,Q=500;function q(t,e,r){return Math.min(r,Math.max(e,t))}var z=`
2
2
  struct DisplacementUniforms {
3
3
  strengthX : f32,
4
4
  strengthY : f32,
@@ -1,4 +1,4 @@
1
- import{a as _}from"./chunk-MA4YVA2E.mjs";import{A as O,c as a,z as n}from"./chunk-RNFYEZLL.mjs";import{e as u}from"./chunk-BVF64D6H.mjs";u();u();var U=["roomSize","damping","wet","dry","width"],G=()=>`
1
+ import{a as _}from"./chunk-Q7JN4EHX.mjs";import{A as O,c as a,z as n}from"./chunk-ALSOO22Q.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,
@@ -1,4 +1,4 @@
1
- import{a as C,d as R,g as B,h as w,j as H,m as L}from"./chunk-ENKKLU7B.mjs";import{A as E}from"./chunk-RNFYEZLL.mjs";import{e as v}from"./chunk-BVF64D6H.mjs";v();v();v();function U(n){let t=[...n].sort((e,c)=>e.x-c.x),s=[];for(let e of t)(s.length===0||Math.abs(e.x-s[s.length-1].x)>1e-6)&&s.push(e);let r=s.length;if(r===0)return e=>e;if(r===1)return()=>s[0].y;let i=new Float32Array(r-1),o=new Float32Array(r-1),u=new Float32Array(r-1);for(let e=0;e<r-1;e++)i[e]=s[e+1].x-s[e].x,o[e]=s[e+1].y-s[e].y,u[e]=o[e]/i[e];let a=new Float32Array(r);a[0]=u[0];for(let e=1;e<r-1;e++)a[e]=(u[e-1]+u[e])/2;a[r-1]=u[r-2];for(let e=0;e<r-1;e++){let c=u[e];if(Math.abs(c)<1e-9)a[e]=0,a[e+1]=0;else{let d=a[e]/c,l=a[e+1]/c,h=d*d,g=l*l;if(h+g>9){let p=3/Math.sqrt(h+g);a[e]=p*d*c,a[e+1]=p*l*c}}}return e=>{if(e<=s[0].x)return s[0].y;if(e>=s[r-1].x)return s[r-1].y;let c=0,d=r-2,l=0;for(;c<=d;){let x=c+d>>1;if(e>=s[x].x&&e<=s[x+1].x){l=x;break}e<s[x].x?d=x-1:c=x+1}let h=i[l],g=(e-s[l].x)/h,p=g*g,m=p*g,f=2*m-3*p+1,_=m-2*p+g,b=-2*m+3*p,P=m-p,G=s[l].y*f+h*a[l]*_+s[l+1].y*b+h*a[l+1]*P;return Math.max(0,Math.min(1,G))}}v();var Y=`
1
+ import{a as C,d as R,g as B,h as w,j as H,m as L}from"./chunk-ENKKLU7B.mjs";import{A as E}from"./chunk-ALSOO22Q.mjs";import{e as v}from"./chunk-BVF64D6H.mjs";v();v();v();function U(n){let t=[...n].sort((e,c)=>e.x-c.x),s=[];for(let e of t)(s.length===0||Math.abs(e.x-s[s.length-1].x)>1e-6)&&s.push(e);let r=s.length;if(r===0)return e=>e;if(r===1)return()=>s[0].y;let i=new Float32Array(r-1),o=new Float32Array(r-1),u=new Float32Array(r-1);for(let e=0;e<r-1;e++)i[e]=s[e+1].x-s[e].x,o[e]=s[e+1].y-s[e].y,u[e]=o[e]/i[e];let a=new Float32Array(r);a[0]=u[0];for(let e=1;e<r-1;e++)a[e]=(u[e-1]+u[e])/2;a[r-1]=u[r-2];for(let e=0;e<r-1;e++){let c=u[e];if(Math.abs(c)<1e-9)a[e]=0,a[e+1]=0;else{let d=a[e]/c,l=a[e+1]/c,h=d*d,g=l*l;if(h+g>9){let p=3/Math.sqrt(h+g);a[e]=p*d*c,a[e+1]=p*l*c}}}return e=>{if(e<=s[0].x)return s[0].y;if(e>=s[r-1].x)return s[r-1].y;let c=0,d=r-2,l=0;for(;c<=d;){let x=c+d>>1;if(e>=s[x].x&&e<=s[x+1].x){l=x;break}e<s[x].x?d=x-1:c=x+1}let h=i[l],g=(e-s[l].x)/h,p=g*g,m=p*g,f=2*m-3*p+1,_=m-2*p+g,b=-2*m+3*p,P=m-p,G=s[l].y*f+h*a[l]*_+s[l+1].y*b+h*a[l+1]*P;return Math.max(0,Math.min(1,G))}}v();var Y=`
2
2
  @group(0) @binding(0) var t_src: texture_2d<f32>;
3
3
  @group(0) @binding(1) var<storage, read_write> bins_r: array<atomic<u32>, 256>;
4
4
  @group(0) @binding(2) var<storage, read_write> bins_g: array<atomic<u32>, 256>;