framefields 2.0.5 → 2.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) hide show
  1. package/dist/audio/index.d.mts +4 -4
  2. package/dist/audio/index.mjs +10 -10
  3. package/dist/{audio-COkiXyDb.mjs → audio-D6enPyAG.mjs} +4 -4
  4. package/dist/{audio-COkiXyDb.mjs.map → audio-D6enPyAG.mjs.map} +1 -1
  5. package/dist/{audio-nmU-BWxI.d.mts → audio-a6pY05g2.d.mts} +3 -3
  6. package/dist/{audio-nmU-BWxI.d.mts.map → audio-a6pY05g2.d.mts.map} +1 -1
  7. package/dist/{dist-Bx6J0VcM.mjs → dist-B9Afsv83.mjs} +47 -2
  8. package/dist/dist-B9Afsv83.mjs.map +1 -0
  9. package/dist/{dist-DKm2IyEJ.mjs → dist-DzUJmIHt.mjs} +2 -2
  10. package/dist/dist-DzUJmIHt.mjs.map +1 -0
  11. package/dist/{dist-55MP0aN4.mjs → dist-JkiL-qy7.mjs} +3 -3
  12. package/dist/{dist-55MP0aN4.mjs.map → dist-JkiL-qy7.mjs.map} +1 -1
  13. package/dist/{dist-DgIKXWZ1.mjs → dist-sHqWCB9M.mjs} +156 -113
  14. package/dist/dist-sHqWCB9M.mjs.map +1 -0
  15. package/dist/effects/index.d.mts +5 -5
  16. package/dist/effects/index.mjs +25 -25
  17. package/dist/effects-l0T61DPU.mjs +2086 -0
  18. package/dist/effects-l0T61DPU.mjs.map +1 -0
  19. package/dist/fonts/index.mjs +1 -1
  20. package/dist/{fonts-C_AWIMdb.mjs → fonts-CuG-05-_.mjs} +2 -2
  21. package/dist/{fonts-C_AWIMdb.mjs.map → fonts-CuG-05-_.mjs.map} +1 -1
  22. package/dist/{index-Bx7JBFT6.d.mts → index-BJUS4Nx6.d.mts} +2 -2
  23. package/dist/{index-Bx7JBFT6.d.mts.map → index-BJUS4Nx6.d.mts.map} +1 -1
  24. package/dist/{index-C8rstr3Y.d.mts → index-BJx_Qxc_.d.mts} +2510 -125
  25. package/dist/{index-C8rstr3Y.d.mts.map → index-BJx_Qxc_.d.mts.map} +1 -1
  26. package/dist/{index-i0xPY4Fe.d.mts → index-BLbUQolI.d.mts} +3 -3
  27. package/dist/{index-i0xPY4Fe.d.mts.map → index-BLbUQolI.d.mts.map} +1 -1
  28. package/dist/{index-CAGDH7l6.d.mts → index-Bi2nRZ_g.d.mts} +3 -3
  29. package/dist/{index-CAGDH7l6.d.mts.map → index-Bi2nRZ_g.d.mts.map} +1 -1
  30. package/dist/{index-DY3mLoPO.d.mts → index-CZChQhXZ.d.mts} +2 -2
  31. package/dist/index-CZChQhXZ.d.mts.map +1 -0
  32. package/dist/{index-ogL8Y-Ng.d.mts → index-WIPHLy5m.d.mts} +23 -2
  33. package/dist/index-WIPHLy5m.d.mts.map +1 -0
  34. package/dist/index.d.mts +100 -69
  35. package/dist/index.d.mts.map +1 -1
  36. package/dist/index.mjs +47 -45
  37. package/dist/index.mjs.map +1 -1
  38. package/dist/preview/index.d.mts +2 -2
  39. package/dist/preview/index.mjs +10 -10
  40. package/dist/{preview-BM0Zzcn1.mjs → preview-CcooLR2s.mjs} +2 -2
  41. package/dist/{preview-BM0Zzcn1.mjs.map → preview-CcooLR2s.mjs.map} +1 -1
  42. package/dist/preview-engine/audio.mjs +1 -1
  43. package/dist/preview-engine/{chunk-H5BPCY7N.mjs → chunk-24DXIKXL.mjs} +2 -2
  44. package/dist/preview-engine/{chunk-QP2NI4XD.mjs → chunk-2XXICKQV.mjs} +1 -1
  45. package/dist/preview-engine/{chunk-EDIZNO3P.mjs → chunk-3ROJ7JVY.mjs} +1 -1
  46. package/dist/preview-engine/{chunk-2RMSCL6V.mjs → chunk-5NYKHIQN.mjs} +10 -10
  47. package/dist/preview-engine/{chunk-VSSB73UU.mjs → chunk-66NVL4BN.mjs} +2 -2
  48. package/dist/preview-engine/{chunk-AOLAHYVV.mjs → chunk-6JW37VJA.mjs} +1 -1
  49. package/dist/preview-engine/chunk-7MJVROKR.mjs +98 -0
  50. package/dist/preview-engine/{chunk-Z4ERCLNF.mjs → chunk-7NVDTELW.mjs} +1 -1
  51. package/dist/preview-engine/{chunk-SXX7HX34.mjs → chunk-AMBSW6OA.mjs} +2 -2
  52. package/dist/preview-engine/{chunk-UDNCEHUI.mjs → chunk-BE3CEVJB.mjs} +1 -1
  53. package/dist/preview-engine/{chunk-CA5N7JRZ.mjs → chunk-BQ65MU6H.mjs} +1 -1
  54. package/dist/preview-engine/{chunk-LEEZXHQO.mjs → chunk-BWDARDO6.mjs} +1 -1
  55. package/dist/preview-engine/{chunk-ZX6APG6E.mjs → chunk-CXFEQ5PM.mjs} +1 -1
  56. package/dist/preview-engine/chunk-D3TETPLI.mjs +5 -0
  57. package/dist/preview-engine/{chunk-B6PLCMBM.mjs → chunk-DMWSTYFF.mjs} +1 -1
  58. package/dist/preview-engine/{chunk-6ZOXGAYA.mjs → chunk-EJTGJVUA.mjs} +2 -2
  59. package/dist/preview-engine/{chunk-3O5OKR6D.mjs → chunk-EQ4QZRXB.mjs} +2 -2
  60. package/dist/preview-engine/{chunk-I4FH6HYU.mjs → chunk-FE6RSVKZ.mjs} +1 -1
  61. package/dist/preview-engine/{chunk-U446SQP3.mjs → chunk-GHMCGTJ2.mjs} +1 -1
  62. package/dist/preview-engine/{chunk-M2GRYRLM.mjs → chunk-HPIULG7P.mjs} +1 -1
  63. package/dist/preview-engine/{chunk-G3HW4VER.mjs → chunk-HRIKNYPF.mjs} +1 -1
  64. package/dist/preview-engine/{chunk-G76HSKOS.mjs → chunk-IGFT3XLN.mjs} +1 -1
  65. package/dist/preview-engine/{chunk-NWRSVVTF.mjs → chunk-JQ4WY6BZ.mjs} +1 -1
  66. package/dist/preview-engine/{chunk-JWNHTRED.mjs → chunk-LIHUEYI5.mjs} +2 -2
  67. package/dist/preview-engine/{chunk-DPPH3NK2.mjs → chunk-NRHSNPZV.mjs} +1 -1
  68. package/dist/preview-engine/{chunk-BUIQ5TUH.mjs → chunk-OWOSYNMF.mjs} +1 -1
  69. package/dist/preview-engine/{chunk-7S6ZFYLI.mjs → chunk-OZVCWK27.mjs} +1 -1
  70. package/dist/preview-engine/{chunk-D5PHI6ET.mjs → chunk-PO4VAAQC.mjs} +1 -1
  71. package/dist/preview-engine/{chunk-LP3EP33S.mjs → chunk-POPVFC5P.mjs} +1 -1
  72. package/dist/preview-engine/chunk-PQD5UPHG.mjs +5 -0
  73. package/dist/preview-engine/{chunk-SA3JUR6D.mjs → chunk-QGBSLNFI.mjs} +1 -1
  74. package/dist/preview-engine/{chunk-H2F5NVQ6.mjs → chunk-QM3XFEJN.mjs} +1 -1
  75. package/dist/preview-engine/{chunk-L62MRHGZ.mjs → chunk-R3ZH7YF3.mjs} +1 -1
  76. package/dist/preview-engine/{chunk-V7ZVVUQU.mjs → chunk-R6YNSBKL.mjs} +1 -1
  77. package/dist/preview-engine/chunk-S3P3MJYU.mjs +1 -0
  78. package/dist/preview-engine/chunk-SUUUYXXT.mjs +1 -0
  79. package/dist/preview-engine/{chunk-55CCFPUX.mjs → chunk-TNZENER3.mjs} +1 -1
  80. package/dist/preview-engine/chunk-V6VU46ZG.mjs +52 -0
  81. package/dist/preview-engine/{chunk-5XDHHOF2.mjs → chunk-XCYFPA34.mjs} +1 -1
  82. package/dist/preview-engine/{chunk-EHIIT4ZR.mjs → chunk-XFYXT76H.mjs} +1 -1
  83. package/dist/preview-engine/{chunk-V3H7WWOT.mjs → chunk-XLFYM7KH.mjs} +2 -2
  84. package/dist/preview-engine/{chunk-D7MZHP2Y.mjs → chunk-XSMK5E2V.mjs} +1 -1
  85. package/dist/preview-engine/{chunk-5UP7FSGT.mjs → chunk-Y6FEU4TV.mjs} +1 -1
  86. package/dist/preview-engine/{chunk-HXMDPMLB.mjs → chunk-YG35X5R5.mjs} +1 -1
  87. package/dist/preview-engine/{chunk-KZOLCZIV.mjs → chunk-YITWSOG4.mjs} +1 -1
  88. package/dist/preview-engine/chunk-ZNGOAGAI.mjs +1 -0
  89. package/dist/preview-engine/effects.mjs +1 -1
  90. package/dist/preview-engine/framefields.mjs +24 -24
  91. package/dist/preview-engine/player.mjs +4 -4
  92. package/dist/preview-engine/renderers-3Y3EMRDJ.mjs +1 -0
  93. package/dist/preview-engine/renderers-47UITXLZ.mjs +1 -0
  94. package/dist/preview-engine/renderers-4AHH6BHF.mjs +1 -0
  95. package/dist/preview-engine/renderers-54AQK6RF.mjs +1 -0
  96. package/dist/preview-engine/renderers-6PRVCTYV.mjs +1 -0
  97. package/dist/preview-engine/{renderers-GUKQUMGG.mjs → renderers-B52QT6MT.mjs} +1 -1
  98. package/dist/preview-engine/{renderers-AGMH5CRH.mjs → renderers-BE6RVJSE.mjs} +1 -1
  99. package/dist/preview-engine/renderers-BMM2BH56.mjs +1 -0
  100. package/dist/preview-engine/{renderers-YWRP23SZ.mjs → renderers-CAUWP4XH.mjs} +2 -2
  101. package/dist/preview-engine/renderers-CHJWUJVI.mjs +1 -0
  102. package/dist/preview-engine/renderers-CHOGQHVQ.mjs +1 -0
  103. package/dist/preview-engine/renderers-DEYDSGJX.mjs +1 -0
  104. package/dist/preview-engine/renderers-DZTNRCR7.mjs +1 -0
  105. package/dist/preview-engine/{renderers-BHVPLYNN.mjs → renderers-E3JYRLSD.mjs} +1 -1
  106. package/dist/preview-engine/renderers-ELO3KWTK.mjs +1 -0
  107. package/dist/preview-engine/{renderers-YKUQUCTO.mjs → renderers-F2KJNDWA.mjs} +1 -1
  108. package/dist/preview-engine/renderers-FCV4COVB.mjs +1 -0
  109. package/dist/preview-engine/{renderers-F2NFJI5L.mjs → renderers-GC7EGB5Z.mjs} +1 -1
  110. package/dist/preview-engine/renderers-GXCRINGC.mjs +1 -0
  111. package/dist/preview-engine/renderers-GYJTBVV2.mjs +1 -0
  112. package/dist/preview-engine/renderers-JA4SLMG3.mjs +1 -0
  113. package/dist/preview-engine/renderers-JLN77CFZ.mjs +1 -0
  114. package/dist/preview-engine/{renderers-6BJA6MSU.mjs → renderers-JQHUBWLL.mjs} +1 -1
  115. package/dist/preview-engine/{renderers-LX654SZ3.mjs → renderers-KBFW7B5F.mjs} +1 -1
  116. package/dist/preview-engine/{renderers-LK3NRMGR.mjs → renderers-KCP4TFHG.mjs} +1 -1
  117. package/dist/preview-engine/renderers-KS4HPV6Q.mjs +1 -0
  118. package/dist/preview-engine/renderers-LJRJMFCR.mjs +1 -0
  119. package/dist/preview-engine/renderers-LPAPZ5QS.mjs +1 -0
  120. package/dist/preview-engine/renderers-N5UPJY73.mjs +1 -0
  121. package/dist/preview-engine/renderers-NS3AIJVG.mjs +1 -0
  122. package/dist/preview-engine/renderers-OBMTU3QY.mjs +1 -0
  123. package/dist/preview-engine/{renderers-ZPWOUWZJ.mjs → renderers-PW4OJWHF.mjs} +1 -1
  124. package/dist/preview-engine/renderers-PXGLEFZO.mjs +1 -0
  125. package/dist/preview-engine/{renderers-7AO5746S.mjs → renderers-Q2ZDD5K2.mjs} +1 -1
  126. package/dist/preview-engine/renderers-Q3MD34JN.mjs +1 -0
  127. package/dist/preview-engine/renderers-QECJP22T.mjs +1 -0
  128. package/dist/preview-engine/{renderers-LFA5NW4V.mjs → renderers-R5WSHETG.mjs} +4 -4
  129. package/dist/preview-engine/renderers-RXGNA2Q7.mjs +1 -0
  130. package/dist/preview-engine/renderers-TG62LZTF.mjs +1 -0
  131. package/dist/preview-engine/{renderers-AHSGP6LY.mjs → renderers-TUYQLKHJ.mjs} +1 -1
  132. package/dist/preview-engine/renderers-VTTGFO55.mjs +1 -0
  133. package/dist/preview-engine/{renderers-UTFXZE3G.mjs → renderers-WG7QBD4D.mjs} +1 -1
  134. package/dist/preview-engine/{renderers-VGU3LNLT.mjs → renderers-WLH4HRUE.mjs} +1 -1
  135. package/dist/preview-engine/{renderers-5QYK6766.mjs → renderers-WSMLLSWX.mjs} +1 -1
  136. package/dist/preview-engine/renderers-XFC6ZPO5.mjs +1 -0
  137. package/dist/preview-engine/{renderers-UWPH7HBH.mjs → renderers-XUHRY3XH.mjs} +1 -1
  138. package/dist/preview-engine/renderers-YAOB5XU6.mjs +1 -0
  139. package/dist/preview-engine/renderers-YTB4FOHT.mjs +1 -0
  140. package/dist/preview-engine/signals.mjs +1 -1
  141. package/dist/{program-DGqyGGvj.mjs → program-DPFDbeL9.mjs} +12 -7
  142. package/dist/{program-DGqyGGvj.mjs.map → program-DPFDbeL9.mjs.map} +1 -1
  143. package/dist/renderer/index.d.mts +2 -2
  144. package/dist/renderer/index.mjs +2 -2
  145. package/dist/{renderer-CXUohIJ9.mjs → renderer--akPySto.mjs} +2 -2
  146. package/dist/{renderer-CXUohIJ9.mjs.map → renderer--akPySto.mjs.map} +1 -1
  147. package/dist/{renderer-2r4EgfdZ.mjs → renderer-0ty5QtXg.mjs} +9 -8
  148. package/dist/renderer-0ty5QtXg.mjs.map +1 -0
  149. package/dist/renderer-145WIXyW.mjs +3 -0
  150. package/dist/{renderer-BJiL-BQY.mjs → renderer-7v-ZNKEJ.mjs} +2 -2
  151. package/dist/{renderer-BJiL-BQY.mjs.map → renderer-7v-ZNKEJ.mjs.map} +1 -1
  152. package/dist/renderer-9W8q4Y8D.mjs +3 -0
  153. package/dist/{renderer-QfSB-cRU.mjs → renderer-B1IXTeF2.mjs} +2 -2
  154. package/dist/{renderer-QfSB-cRU.mjs.map → renderer-B1IXTeF2.mjs.map} +1 -1
  155. package/dist/{renderer-CwAjqb2o.mjs → renderer-B52Y2SDC.mjs} +1 -1
  156. package/dist/renderer-B5HBViEG.mjs +3 -0
  157. package/dist/renderer-B7naoaVH.mjs +3 -0
  158. package/dist/{renderer-z6Qb5Z-W.mjs → renderer-BD6Jkc8j.mjs} +2 -2
  159. package/dist/{renderer-z6Qb5Z-W.mjs.map → renderer-BD6Jkc8j.mjs.map} +1 -1
  160. package/dist/renderer-BHYmRBem.mjs +3 -0
  161. package/dist/{renderer-CnRoblJF.mjs → renderer-BHsEOp1I.mjs} +2 -2
  162. package/dist/{renderer-CnRoblJF.mjs.map → renderer-BHsEOp1I.mjs.map} +1 -1
  163. package/dist/renderer-BL51bhvQ.mjs +3 -0
  164. package/dist/{renderer-Q7_DUcnu.mjs → renderer-BNBh4omF.mjs} +2 -2
  165. package/dist/{renderer-Q7_DUcnu.mjs.map → renderer-BNBh4omF.mjs.map} +1 -1
  166. package/dist/{renderer-Cx5H41JR.mjs → renderer-BShK_xMJ.mjs} +1 -1
  167. package/dist/{renderer-D5N2JO7g.mjs → renderer-BUJ6uaJE.mjs} +3 -3
  168. package/dist/{renderer-D5N2JO7g.mjs.map → renderer-BUJ6uaJE.mjs.map} +1 -1
  169. package/dist/{renderer-CeADvUU_.mjs → renderer-BV_d3D_3.mjs} +3 -3
  170. package/dist/{renderer-CeADvUU_.mjs.map → renderer-BV_d3D_3.mjs.map} +1 -1
  171. package/dist/{renderer-BMrm2Zbz.mjs → renderer-BXWu8aHU.mjs} +3 -3
  172. package/dist/{renderer-BMrm2Zbz.mjs.map → renderer-BXWu8aHU.mjs.map} +1 -1
  173. package/dist/{renderer-DcPOsAVu.d.mts → renderer-Bal8734U.d.mts} +2 -2
  174. package/dist/{renderer-DcPOsAVu.d.mts.map → renderer-Bal8734U.d.mts.map} +1 -1
  175. package/dist/{renderer-vUjNMbLq.mjs → renderer-BbwOEawB.mjs} +2 -2
  176. package/dist/{renderer-vUjNMbLq.mjs.map → renderer-BbwOEawB.mjs.map} +1 -1
  177. package/dist/renderer-BfvBHHNr.mjs +3 -0
  178. package/dist/{renderer-JjMO41Cv.mjs → renderer-BgrDGRNW.mjs} +2 -2
  179. package/dist/{renderer-JjMO41Cv.mjs.map → renderer-BgrDGRNW.mjs.map} +1 -1
  180. package/dist/{renderer-D_QS6p1q.mjs → renderer-BhfFVqCx.mjs} +2 -2
  181. package/dist/{renderer-D_QS6p1q.mjs.map → renderer-BhfFVqCx.mjs.map} +1 -1
  182. package/dist/{renderer-CsQ7nY0z.mjs → renderer-Bl9C9lIo.mjs} +1 -1
  183. package/dist/{renderer-Bwsh5TUv.mjs → renderer-BpTwFaja.mjs} +3 -3
  184. package/dist/{renderer-Bwsh5TUv.mjs.map → renderer-BpTwFaja.mjs.map} +1 -1
  185. package/dist/{renderer-Dcd-Pkzd.mjs → renderer-Bpf8EGY1.mjs} +2 -2
  186. package/dist/{renderer-Dcd-Pkzd.mjs.map → renderer-Bpf8EGY1.mjs.map} +1 -1
  187. package/dist/renderer-ByxrzTRg.mjs +3 -0
  188. package/dist/{renderer-eC1gRPRo.mjs → renderer-C-F91lPu.mjs} +2 -2
  189. package/dist/{renderer-eC1gRPRo.mjs.map → renderer-C-F91lPu.mjs.map} +1 -1
  190. package/dist/{renderer-B9l641o-.mjs → renderer-C5lJvf-h.mjs} +2 -2
  191. package/dist/{renderer-B9l641o-.mjs.map → renderer-C5lJvf-h.mjs.map} +1 -1
  192. package/dist/renderer-CDirzReW.mjs +3 -0
  193. package/dist/renderer-CGCmbeJ2.mjs +3 -0
  194. package/dist/renderer-CL3evUmF.mjs +3 -0
  195. package/dist/{renderer-BtkU0BT-.mjs → renderer-CLUPc9do.mjs} +3 -3
  196. package/dist/{renderer-BtkU0BT-.mjs.map → renderer-CLUPc9do.mjs.map} +1 -1
  197. package/dist/{renderer-C28Bab-M.mjs → renderer-CLWAbaCS.mjs} +9 -8
  198. package/dist/renderer-CLWAbaCS.mjs.map +1 -0
  199. package/dist/{renderer-COkFM1KL.mjs → renderer-CM5c8a7B.mjs} +8 -7
  200. package/dist/renderer-CM5c8a7B.mjs.map +1 -0
  201. package/dist/renderer-CO0KsnEg.mjs +3 -0
  202. package/dist/renderer-COO44HDO.mjs +3 -0
  203. package/dist/renderer-C_9SIgZX.mjs +3 -0
  204. package/dist/{renderer-BYsmLk63.mjs → renderer-Cgy1H0Ql.mjs} +2 -2
  205. package/dist/{renderer-BYsmLk63.mjs.map → renderer-Cgy1H0Ql.mjs.map} +1 -1
  206. package/dist/{renderer-5OiVjQan.mjs → renderer-CmMNU1-P.mjs} +9 -9
  207. package/dist/renderer-CmMNU1-P.mjs.map +1 -0
  208. package/dist/{renderer-DjiUZ0Vs.mjs → renderer-Cn-p1SyO.mjs} +34 -18
  209. package/dist/renderer-Cn-p1SyO.mjs.map +1 -0
  210. package/dist/renderer-CntaTaNq.mjs +3 -0
  211. package/dist/{renderer-C3L9SNRO.mjs → renderer-CsE9ztUa.mjs} +3 -3
  212. package/dist/{renderer-C3L9SNRO.mjs.map → renderer-CsE9ztUa.mjs.map} +1 -1
  213. package/dist/renderer-CtVkU_GA.mjs.map +1 -1
  214. package/dist/renderer-Cv9JLpL6.mjs +3 -0
  215. package/dist/{renderer-x2s9LmVL.mjs → renderer-D-4Yh-RK.mjs} +2 -2
  216. package/dist/{renderer-x2s9LmVL.mjs.map → renderer-D-4Yh-RK.mjs.map} +1 -1
  217. package/dist/renderer-D0FWIsWn.mjs +3 -0
  218. package/dist/{renderer-C9BKcHZb.mjs → renderer-D3FsnptO.mjs} +1 -1
  219. package/dist/renderer-D3jUYUDU.mjs +3 -0
  220. package/dist/renderer-D5Je-AeQ.mjs +3 -0
  221. package/dist/{renderer-bebAt6Dz.mjs → renderer-DJPuwTbS.mjs} +10 -8
  222. package/dist/renderer-DJPuwTbS.mjs.map +1 -0
  223. package/dist/{renderer-D1Zs78PQ.mjs → renderer-DM79djHG.mjs} +42 -42
  224. package/dist/{renderer-D1Zs78PQ.mjs.map → renderer-DM79djHG.mjs.map} +1 -1
  225. package/dist/renderer-DNPwpmYS.mjs +3 -0
  226. package/dist/{renderer-D54yO_M_.mjs → renderer-DRf4FLSq.mjs} +10 -9
  227. package/dist/renderer-DRf4FLSq.mjs.map +1 -0
  228. package/dist/{renderer-DI2RcpKU.mjs → renderer-DVj8jfmO.mjs} +9 -8
  229. package/dist/renderer-DVj8jfmO.mjs.map +1 -0
  230. package/dist/renderer-DawVsNLw.mjs +3 -0
  231. package/dist/renderer-Dl_6Kn87.mjs +3 -0
  232. package/dist/renderer-DlrJSfaw.mjs +3 -0
  233. package/dist/{renderer-BUHMkkLU.mjs → renderer-DnXQXk-8.mjs} +2 -2
  234. package/dist/{renderer-BUHMkkLU.mjs.map → renderer-DnXQXk-8.mjs.map} +1 -1
  235. package/dist/{renderer-CgVdRbc-.mjs → renderer-Dntxca07.mjs} +2 -2
  236. package/dist/{renderer-CgVdRbc-.mjs.map → renderer-Dntxca07.mjs.map} +1 -1
  237. package/dist/renderer-DpScOWGG.mjs +4 -0
  238. package/dist/{renderer-CMM4DZ1i.mjs → renderer-DvHpzsUV.mjs} +2 -2
  239. package/dist/{renderer-CMM4DZ1i.mjs.map → renderer-DvHpzsUV.mjs.map} +1 -1
  240. package/dist/renderer-DxYOA1MM.mjs +3 -0
  241. package/dist/{renderer-DBp6A7tR.mjs → renderer-E5D4H5dK.mjs} +3 -3
  242. package/dist/{renderer-DBp6A7tR.mjs.map → renderer-E5D4H5dK.mjs.map} +1 -1
  243. package/dist/{renderer-D1ib-wB3.mjs → renderer-L72D1mwv.mjs} +3 -3
  244. package/dist/{renderer-D1ib-wB3.mjs.map → renderer-L72D1mwv.mjs.map} +1 -1
  245. package/dist/renderer-S7jOr_jF.mjs +3 -0
  246. package/dist/{renderer-WXylxlu2.mjs → renderer-XRGwrdg8.mjs} +5 -5
  247. package/dist/renderer-XRGwrdg8.mjs.map +1 -0
  248. package/dist/{renderer-0gJC-sc8.mjs → renderer-doPt4zQZ.mjs} +2 -2
  249. package/dist/{renderer-0gJC-sc8.mjs.map → renderer-doPt4zQZ.mjs.map} +1 -1
  250. package/dist/{renderer-Dm08-hAU.mjs → renderer-h-HOoLwD.mjs} +2 -2
  251. package/dist/{renderer-Dm08-hAU.mjs.map → renderer-h-HOoLwD.mjs.map} +1 -1
  252. package/dist/renderer-kN2TeWks.mjs +3 -0
  253. package/dist/{renderers-BWg16W-V-jhdCp6Vd.mjs → renderers-CP8CFWDs-CAs5DgWj.mjs} +16 -13
  254. package/dist/renderers-CP8CFWDs-CAs5DgWj.mjs.map +1 -0
  255. package/dist/signals/index.d.mts +5 -5
  256. package/dist/signals/index.mjs +6 -6
  257. package/dist/{signals-BwbdO3AN.mjs → signals-CsxqD2AA.mjs} +3 -3
  258. package/dist/{signals-BwbdO3AN.mjs.map → signals-CsxqD2AA.mjs.map} +1 -1
  259. package/package.json +54 -54
  260. package/dist/dist-Bx6J0VcM.mjs.map +0 -1
  261. package/dist/dist-DKm2IyEJ.mjs.map +0 -1
  262. package/dist/dist-DgIKXWZ1.mjs.map +0 -1
  263. package/dist/effects-m3FuatqZ.mjs +0 -811
  264. package/dist/effects-m3FuatqZ.mjs.map +0 -1
  265. package/dist/index-DY3mLoPO.d.mts.map +0 -1
  266. package/dist/index-ogL8Y-Ng.d.mts.map +0 -1
  267. package/dist/preview-engine/chunk-4Q7JG6WJ.mjs +0 -1
  268. package/dist/preview-engine/chunk-CVGM2U4J.mjs +0 -47
  269. package/dist/preview-engine/chunk-N4PWLBZ7.mjs +0 -5
  270. package/dist/preview-engine/chunk-P3HBP725.mjs +0 -1
  271. package/dist/preview-engine/chunk-PCB2VB5K.mjs +0 -98
  272. package/dist/preview-engine/chunk-TMRLZV5X.mjs +0 -1
  273. package/dist/preview-engine/chunk-XD4GKD6H.mjs +0 -5
  274. package/dist/preview-engine/chunk-YSTLMWCG.mjs +0 -1
  275. package/dist/preview-engine/renderers-2AUSIYZN.mjs +0 -1
  276. package/dist/preview-engine/renderers-2QN6KZJP.mjs +0 -1
  277. package/dist/preview-engine/renderers-32SKW7ML.mjs +0 -1
  278. package/dist/preview-engine/renderers-6QAF3LQ2.mjs +0 -1
  279. package/dist/preview-engine/renderers-76MPTVZK.mjs +0 -1
  280. package/dist/preview-engine/renderers-AFYKNM6N.mjs +0 -1
  281. package/dist/preview-engine/renderers-ASTBICLA.mjs +0 -1
  282. package/dist/preview-engine/renderers-D7PVQFVU.mjs +0 -1
  283. package/dist/preview-engine/renderers-DB4ABTNA.mjs +0 -1
  284. package/dist/preview-engine/renderers-FI7YHNLY.mjs +0 -1
  285. package/dist/preview-engine/renderers-GBHULMPH.mjs +0 -1
  286. package/dist/preview-engine/renderers-HGT7QDY3.mjs +0 -1
  287. package/dist/preview-engine/renderers-HOYLA7ZK.mjs +0 -1
  288. package/dist/preview-engine/renderers-KKI2D3MZ.mjs +0 -1
  289. package/dist/preview-engine/renderers-KRAJNV4E.mjs +0 -1
  290. package/dist/preview-engine/renderers-KUGZKSVE.mjs +0 -1
  291. package/dist/preview-engine/renderers-L2EQQIOC.mjs +0 -1
  292. package/dist/preview-engine/renderers-MCFQFYEL.mjs +0 -1
  293. package/dist/preview-engine/renderers-OEVXCGE2.mjs +0 -1
  294. package/dist/preview-engine/renderers-QVD6C4CS.mjs +0 -1
  295. package/dist/preview-engine/renderers-RBFWJWVM.mjs +0 -1
  296. package/dist/preview-engine/renderers-RX3VLVLO.mjs +0 -1
  297. package/dist/preview-engine/renderers-SM6JP64K.mjs +0 -1
  298. package/dist/preview-engine/renderers-TKMAATVS.mjs +0 -1
  299. package/dist/preview-engine/renderers-UZGECFVO.mjs +0 -1
  300. package/dist/preview-engine/renderers-WJUTT5BB.mjs +0 -1
  301. package/dist/preview-engine/renderers-XA2M4YXK.mjs +0 -1
  302. package/dist/preview-engine/renderers-XIHRFEFQ.mjs +0 -1
  303. package/dist/preview-engine/renderers-XJTA5MFG.mjs +0 -1
  304. package/dist/preview-engine/renderers-XLTY5APF.mjs +0 -1
  305. package/dist/preview-engine/renderers-XZ3VXFGZ.mjs +0 -1
  306. package/dist/renderer--fkO4O8d.mjs +0 -3
  307. package/dist/renderer-2r4EgfdZ.mjs.map +0 -1
  308. package/dist/renderer-5OiVjQan.mjs.map +0 -1
  309. package/dist/renderer-6x7CgHhJ.mjs +0 -3
  310. package/dist/renderer-B0RDWv1C.mjs +0 -3
  311. package/dist/renderer-BFOkGS0N.mjs +0 -3
  312. package/dist/renderer-BaoJiMJO.mjs +0 -3
  313. package/dist/renderer-C28Bab-M.mjs.map +0 -1
  314. package/dist/renderer-C4O-L73n.mjs +0 -3
  315. package/dist/renderer-CGVuhBbA.mjs +0 -3
  316. package/dist/renderer-CHKB-Or4.mjs +0 -3
  317. package/dist/renderer-CL9gPcfZ.mjs +0 -3
  318. package/dist/renderer-COkFM1KL.mjs.map +0 -1
  319. package/dist/renderer-CSkFF-qe.mjs +0 -3
  320. package/dist/renderer-CU2c6zWc.mjs +0 -3
  321. package/dist/renderer-CiLiH6w_.mjs +0 -3
  322. package/dist/renderer-D54yO_M_.mjs.map +0 -1
  323. package/dist/renderer-DI2RcpKU.mjs.map +0 -1
  324. package/dist/renderer-DMaYsSM4.mjs +0 -3
  325. package/dist/renderer-DPSsf8-t.mjs +0 -3
  326. package/dist/renderer-DZ7t_l1d.mjs +0 -3
  327. package/dist/renderer-DjiUZ0Vs.mjs.map +0 -1
  328. package/dist/renderer-DkJEnKQu.mjs +0 -3
  329. package/dist/renderer-DlkrKqQj.mjs +0 -3
  330. package/dist/renderer-DxOQ5S8T.mjs +0 -3
  331. package/dist/renderer-Ibvw1tE_.mjs +0 -3
  332. package/dist/renderer-M0jeFo6S.mjs +0 -4
  333. package/dist/renderer-NhSzqWsQ.mjs +0 -3
  334. package/dist/renderer-OrhgkzVu.mjs +0 -3
  335. package/dist/renderer-WXylxlu2.mjs.map +0 -1
  336. package/dist/renderer-WrFAaLxW.mjs +0 -3
  337. package/dist/renderer-bbOALT4F.mjs +0 -3
  338. package/dist/renderer-bebAt6Dz.mjs.map +0 -1
  339. package/dist/renderer-lXmyzdcx.mjs +0 -3
  340. package/dist/renderer-ospMsCzr.mjs +0 -3
  341. package/dist/renderer-xc9wkiC7.mjs +0 -3
  342. package/dist/renderers-BWg16W-V-jhdCp6Vd.mjs.map +0 -1
  343. /package/dist/preview-engine/{chunk-VJGK7MLJ.mjs → chunk-CBM7B7EW.mjs} +0 -0
@@ -0,0 +1,2086 @@
1
+ import { Ot as isSignal, v as Effect } from "./dist-B9Afsv83.mjs";
2
+ import { t as AudioSignal } from "./audio-D6enPyAG.mjs";
3
+
4
+ //#region src/effects/with-defaults.ts
5
+ function env(name) {
6
+ return typeof process !== "undefined" ? process.env?.[name] : void 0;
7
+ }
8
+ /** Throw instead of warn. Recommended for agent harnesses and CI. */
9
+ function isStrict() {
10
+ const flag = env("FRAMEFIELDS_STRICT_PROPS");
11
+ return flag === "1" || flag === "true";
12
+ }
13
+ function checksEnabled() {
14
+ return isStrict() || env("NODE_ENV") !== "production";
15
+ }
16
+ const reported = /* @__PURE__ */ new Set();
17
+ function report(message) {
18
+ if (isStrict()) throw new Error(message);
19
+ if (reported.has(message)) return;
20
+ reported.add(message);
21
+ console.warn(`[framefields] ${message}`);
22
+ }
23
+ function isPlainObject(value) {
24
+ if (typeof value !== "object" || value === null) return false;
25
+ if (Array.isArray(value) || isSignal(value)) return false;
26
+ const proto = Object.getPrototypeOf(value);
27
+ return proto === Object.prototype || proto === null;
28
+ }
29
+ /** Levenshtein distance, for "did you mean" suggestions on small key sets. */
30
+ function distance(a, b) {
31
+ const row = Array.from({ length: b.length + 1 }, (_, i) => i);
32
+ for (let i = 1; i <= a.length; i++) {
33
+ let prev = row[0];
34
+ row[0] = i;
35
+ for (let j = 1; j <= b.length; j++) {
36
+ const current = row[j];
37
+ row[j] = Math.min(row[j] + 1, row[j - 1] + 1, prev + (a[i - 1] === b[j - 1] ? 0 : 1));
38
+ prev = current;
39
+ }
40
+ }
41
+ return row[b.length];
42
+ }
43
+ function suggest(key, known) {
44
+ let best;
45
+ let bestScore = Number.POSITIVE_INFINITY;
46
+ const lower = key.toLowerCase();
47
+ for (const candidate of known) {
48
+ const candidateLower = candidate.toLowerCase();
49
+ const score = candidateLower.includes(lower) || lower.includes(candidateLower) ? 1 : distance(lower, candidateLower);
50
+ if (score < bestScore) {
51
+ bestScore = score;
52
+ best = candidate;
53
+ }
54
+ }
55
+ return best && bestScore <= Math.max(2, Math.ceil(key.length / 2)) ? ` Did you mean "${best}"?` : ` Known props: ${known.join(", ")}.`;
56
+ }
57
+ function checkValue(path, value, meta) {
58
+ if (typeof value === "number") {
59
+ const { min, max } = meta;
60
+ if (min !== void 0 && value < min || max !== void 0 && value > max || Number.isNaN(value)) {
61
+ const range = min !== void 0 && max !== void 0 ? `${min} to ${max}` : min !== void 0 ? `≥ ${min}` : `≤ ${max}`;
62
+ report(Number.isNaN(value) ? `${path} is NaN` : `${path} = ${value} is outside ${range}`);
63
+ }
64
+ return;
65
+ }
66
+ if (meta.enum && (typeof value === "string" || typeof value === "boolean") && !meta.enum.includes(value)) report(`${path} = ${JSON.stringify(value)} is not one of ${meta.enum.map((v) => JSON.stringify(v)).join(", ")}`);
67
+ }
68
+ function checkProps(path, config, meta) {
69
+ const known = Object.keys(meta);
70
+ for (const [key, value] of Object.entries(config)) {
71
+ if (value === void 0) continue;
72
+ const propMeta = meta[key];
73
+ if (!propMeta) {
74
+ report(`${path}: unknown prop "${key}".${suggest(key, known)}`);
75
+ continue;
76
+ }
77
+ if (isSignal(value) || typeof value === "function") continue;
78
+ if (propMeta.props && isPlainObject(value)) checkProps(`${path}.${key}`, value, propMeta.props);
79
+ else checkValue(`${path}.${key}`, value, propMeta);
80
+ }
81
+ }
82
+ function cloneDefault(value) {
83
+ return typeof value === "object" && value !== null ? structuredClone(value) : value;
84
+ }
85
+ /**
86
+ * Builds the initial config of a generated effect class.
87
+ *
88
+ * - `undefined` entries in `config` keep the default instead of overwriting it.
89
+ * - When both the default and the supplied value are plain objects, they are
90
+ * merged one level deep, so `new ColorBalance({ shadows: { cyanRed: 10 } })`
91
+ * keeps the other two channels at their defaults.
92
+ * - Object defaults are cloned per instance.
93
+ * - Outside production, unknown props and out-of-range static values are
94
+ * reported: a `console.warn` once per message, or a thrown `Error` when
95
+ * `FRAMEFIELDS_STRICT_PROPS=1`. Unknown props are still passed through.
96
+ */
97
+ function withDefaults(op, defaults, config, meta) {
98
+ const supplied = config;
99
+ if (checksEnabled()) checkProps(op, supplied, meta);
100
+ const result = {};
101
+ for (const [key, value] of Object.entries(defaults)) result[key] = cloneDefault(value);
102
+ for (const [key, value] of Object.entries(supplied)) {
103
+ if (value === void 0) continue;
104
+ const base = result[key];
105
+ result[key] = isPlainObject(base) && isPlainObject(value) ? {
106
+ ...base,
107
+ ...Object.fromEntries(Object.entries(value).filter(([, v]) => v !== void 0))
108
+ } : value;
109
+ }
110
+ return result;
111
+ }
112
+
113
+ //#endregion
114
+ //#region src/effects/generated/meta.ts
115
+ /** Ranges and allowed values per effect prop, used by `withDefaults()` checks. */
116
+ const effectMeta = {
117
+ AudioCompressor: {
118
+ threshold: {
119
+ min: -60,
120
+ max: 0
121
+ },
122
+ ratio: {
123
+ min: 1,
124
+ max: 100
125
+ },
126
+ attack: {
127
+ min: 1e-4,
128
+ max: 1
129
+ },
130
+ release: {
131
+ min: .01,
132
+ max: 5
133
+ },
134
+ knee: {
135
+ min: 0,
136
+ max: 24
137
+ },
138
+ makeupGain: {
139
+ min: 0,
140
+ max: 24
141
+ }
142
+ },
143
+ AudioDelay: {
144
+ delayTime: {
145
+ min: .001,
146
+ max: 5
147
+ },
148
+ feedback: {
149
+ min: 0,
150
+ max: .95
151
+ },
152
+ wet: {
153
+ min: 0,
154
+ max: 1
155
+ },
156
+ dry: {
157
+ min: 0,
158
+ max: 1
159
+ },
160
+ pingPong: {}
161
+ },
162
+ AudioFade: {
163
+ fadeInDuration: {
164
+ min: 0,
165
+ max: 60
166
+ },
167
+ fadeOutDuration: {
168
+ min: 0,
169
+ max: 60
170
+ },
171
+ fadeInCurve: { enum: [
172
+ "linear",
173
+ "exponential",
174
+ "scurve"
175
+ ] },
176
+ fadeOutCurve: { enum: [
177
+ "linear",
178
+ "exponential",
179
+ "scurve"
180
+ ] }
181
+ },
182
+ AudioNoiseGate: {
183
+ threshold: {
184
+ min: -120,
185
+ max: 0
186
+ },
187
+ attack: {
188
+ min: 1e-4,
189
+ max: 1
190
+ },
191
+ hold: {
192
+ min: .001,
193
+ max: 5
194
+ },
195
+ release: {
196
+ min: .01,
197
+ max: 5
198
+ },
199
+ range: {
200
+ min: -120,
201
+ max: 0
202
+ }
203
+ },
204
+ AudioParametricEq: {
205
+ type: { enum: [
206
+ "lowShelf",
207
+ "highShelf",
208
+ "peak",
209
+ "lowPass",
210
+ "highPass",
211
+ "notch"
212
+ ] },
213
+ frequency: {
214
+ min: 20,
215
+ max: 2e4
216
+ },
217
+ gain: {
218
+ min: -24,
219
+ max: 24
220
+ },
221
+ q: {
222
+ min: .01,
223
+ max: 10
224
+ }
225
+ },
226
+ AudioReverb: {
227
+ roomSize: {
228
+ min: 0,
229
+ max: .98
230
+ },
231
+ damping: {
232
+ min: 0,
233
+ max: 1
234
+ },
235
+ wet: {
236
+ min: 0,
237
+ max: 1
238
+ },
239
+ dry: {
240
+ min: 0,
241
+ max: 1
242
+ },
243
+ width: {
244
+ min: 0,
245
+ max: 1
246
+ }
247
+ },
248
+ Blur: {
249
+ blurType: { enum: [
250
+ "Gaussian",
251
+ "Box",
252
+ "Median",
253
+ "Motion",
254
+ "Bilateral",
255
+ "Edge-preserving",
256
+ "Radial",
257
+ "Zoom"
258
+ ] },
259
+ strength: {
260
+ min: 0,
261
+ max: 100
262
+ },
263
+ angle: {
264
+ min: 0,
265
+ max: 360
266
+ },
267
+ sigmaColor: {
268
+ min: .01,
269
+ max: 1
270
+ },
271
+ centerX: {
272
+ min: 0,
273
+ max: 1
274
+ },
275
+ centerY: {
276
+ min: 0,
277
+ max: 1
278
+ },
279
+ partialBlur: {},
280
+ radius: {
281
+ min: .01,
282
+ max: 1
283
+ },
284
+ radiusY: {
285
+ min: 0,
286
+ max: 1
287
+ },
288
+ shape: { enum: [
289
+ "ellipse",
290
+ "circle",
291
+ "rect"
292
+ ] }
293
+ },
294
+ CameraParallax3D: {
295
+ motionPreset: { enum: [
296
+ "Custom",
297
+ "DollyZoom",
298
+ "Orbit",
299
+ "FlyThrough",
300
+ "HandheldShake",
301
+ "RackFocus"
302
+ ] },
303
+ panX: {
304
+ min: -1,
305
+ max: 1
306
+ },
307
+ panY: {
308
+ min: -1,
309
+ max: 1
310
+ },
311
+ dollyZ: {
312
+ min: -1,
313
+ max: 1
314
+ },
315
+ fov: {
316
+ min: 15,
317
+ max: 120
318
+ },
319
+ parallaxAmount: {
320
+ min: 0,
321
+ max: 2
322
+ },
323
+ dofAperture: {
324
+ min: 0,
325
+ max: 1
326
+ },
327
+ focusPlane: {
328
+ min: 0,
329
+ max: 1
330
+ },
331
+ edgeDilation: {
332
+ min: 0,
333
+ max: 1
334
+ },
335
+ depthInvert: {}
336
+ },
337
+ ChannelMerger: {
338
+ colorSpace: { enum: [
339
+ "RGBA",
340
+ "HSLA",
341
+ "CMYK",
342
+ "LAB"
343
+ ] },
344
+ defaultChannel4: {
345
+ min: 0,
346
+ max: 1
347
+ }
348
+ },
349
+ ChannelSplitter: { colorSpace: { enum: [
350
+ "RGBA",
351
+ "HSLA",
352
+ "CMYK",
353
+ "LAB"
354
+ ] } },
355
+ ColorBalance: {
356
+ shadows: { props: {
357
+ cyanRed: {
358
+ min: -100,
359
+ max: 100
360
+ },
361
+ magentaGreen: {
362
+ min: -100,
363
+ max: 100
364
+ },
365
+ yellowBlue: {
366
+ min: -100,
367
+ max: 100
368
+ }
369
+ } },
370
+ midtones: { props: {
371
+ cyanRed: {
372
+ min: -100,
373
+ max: 100
374
+ },
375
+ magentaGreen: {
376
+ min: -100,
377
+ max: 100
378
+ },
379
+ yellowBlue: {
380
+ min: -100,
381
+ max: 100
382
+ }
383
+ } },
384
+ highlights: { props: {
385
+ cyanRed: {
386
+ min: -100,
387
+ max: 100
388
+ },
389
+ magentaGreen: {
390
+ min: -100,
391
+ max: 100
392
+ },
393
+ yellowBlue: {
394
+ min: -100,
395
+ max: 100
396
+ }
397
+ } },
398
+ preserveLuminosity: {}
399
+ },
400
+ ColorKey: {
401
+ keyColor: {},
402
+ similarity: {
403
+ min: 0,
404
+ max: 1
405
+ },
406
+ smoothness: {
407
+ min: 0,
408
+ max: 1
409
+ },
410
+ spillSuppression: {
411
+ min: 0,
412
+ max: 1
413
+ },
414
+ colorSpace: { enum: ["YUV", "RGB"] },
415
+ spillSuppressionType: { enum: [
416
+ "Desaturate",
417
+ "Neutralize",
418
+ "None"
419
+ ] }
420
+ },
421
+ CornerPin: { points: {} },
422
+ DisplacementMap: {
423
+ strengthX: {
424
+ min: 0,
425
+ max: 500
426
+ },
427
+ strengthY: {
428
+ min: 0,
429
+ max: 500
430
+ },
431
+ xChannel: { enum: [
432
+ "Red",
433
+ "Green",
434
+ "Blue",
435
+ "Alpha",
436
+ "Luminance"
437
+ ] },
438
+ yChannel: { enum: [
439
+ "Red",
440
+ "Green",
441
+ "Blue",
442
+ "Alpha",
443
+ "Luminance"
444
+ ] },
445
+ wrapMode: { enum: [
446
+ "Clamp",
447
+ "Repeat",
448
+ "Mirror"
449
+ ] }
450
+ },
451
+ ExtractLUT: {
452
+ strategy: { enum: ["deterministic", "statistical"] },
453
+ samplePoints: {
454
+ min: 10,
455
+ max: 500
456
+ }
457
+ },
458
+ Flip: {
459
+ horizontal: {},
460
+ vertical: {},
461
+ diagonal: {},
462
+ mode: { enum: [
463
+ "horizontal",
464
+ "vertical",
465
+ "both",
466
+ "diagonal",
467
+ "antiDiagonal",
468
+ "custom"
469
+ ] },
470
+ symmetry: { enum: [
471
+ "none",
472
+ "leftToRight",
473
+ "rightToLeft",
474
+ "topToBottom",
475
+ "bottomToTop",
476
+ "quadrant"
477
+ ] }
478
+ },
479
+ KenBurns: {
480
+ keyframes: {},
481
+ motionBlurSize: {
482
+ min: 0,
483
+ max: 10
484
+ },
485
+ movementStyle: { enum: ["spline", "direct"] },
486
+ aspectRatio: { enum: [
487
+ "input",
488
+ "16:9",
489
+ "9:16",
490
+ "21:9",
491
+ "9:21",
492
+ "1:1",
493
+ "4:3",
494
+ "3:2",
495
+ "2:3",
496
+ "4:5",
497
+ "5:4"
498
+ ] }
499
+ },
500
+ LayerStyle: {
501
+ dropShadow: { props: {
502
+ enabled: {},
503
+ color: {},
504
+ opacity: {
505
+ min: 0,
506
+ max: 1
507
+ },
508
+ angle: {
509
+ min: 0,
510
+ max: 360
511
+ },
512
+ distance: {
513
+ min: 0,
514
+ max: 500
515
+ },
516
+ spread: {
517
+ min: 0,
518
+ max: 100
519
+ },
520
+ size: {
521
+ min: 0,
522
+ max: 250
523
+ },
524
+ blendMode: {}
525
+ } },
526
+ innerShadow: { props: {
527
+ enabled: {},
528
+ color: {},
529
+ opacity: {
530
+ min: 0,
531
+ max: 1
532
+ },
533
+ angle: {
534
+ min: 0,
535
+ max: 360
536
+ },
537
+ distance: {
538
+ min: 0,
539
+ max: 500
540
+ },
541
+ choke: {
542
+ min: 0,
543
+ max: 100
544
+ },
545
+ size: {
546
+ min: 0,
547
+ max: 250
548
+ },
549
+ blendMode: {}
550
+ } },
551
+ outerGlow: { props: {
552
+ enabled: {},
553
+ color: {},
554
+ opacity: {
555
+ min: 0,
556
+ max: 1
557
+ },
558
+ size: {
559
+ min: 0,
560
+ max: 250
561
+ },
562
+ spread: {
563
+ min: 0,
564
+ max: 100
565
+ },
566
+ blendMode: {}
567
+ } },
568
+ innerGlow: { props: {
569
+ enabled: {},
570
+ color: {},
571
+ opacity: {
572
+ min: 0,
573
+ max: 1
574
+ },
575
+ size: {
576
+ min: 0,
577
+ max: 250
578
+ },
579
+ spread: {
580
+ min: 0,
581
+ max: 100
582
+ },
583
+ blendMode: {}
584
+ } },
585
+ stroke: { props: {
586
+ enabled: {},
587
+ size: {
588
+ min: 0,
589
+ max: 100
590
+ },
591
+ position: { enum: [
592
+ "inside",
593
+ "center",
594
+ "outside"
595
+ ] },
596
+ color: {},
597
+ opacity: {
598
+ min: 0,
599
+ max: 1
600
+ },
601
+ blendMode: {}
602
+ } },
603
+ bevelEmboss: { props: {
604
+ enabled: {},
605
+ style: { enum: [
606
+ "InnerBevel",
607
+ "OuterBevel",
608
+ "Emboss",
609
+ "PillowEmboss"
610
+ ] },
611
+ technique: { enum: [
612
+ "Smooth",
613
+ "ChiselHard",
614
+ "ChiselSoft"
615
+ ] },
616
+ depth: {
617
+ min: 1,
618
+ max: 1e3
619
+ },
620
+ direction: { enum: ["Up", "Down"] },
621
+ size: {
622
+ min: 0,
623
+ max: 250
624
+ },
625
+ soften: {
626
+ min: 0,
627
+ max: 50
628
+ },
629
+ angle: {
630
+ min: 0,
631
+ max: 360
632
+ },
633
+ altitude: {
634
+ min: 0,
635
+ max: 90
636
+ },
637
+ highlightColor: {},
638
+ highlightOpacity: {
639
+ min: 0,
640
+ max: 1
641
+ },
642
+ shadowColor: {},
643
+ shadowOpacity: {
644
+ min: 0,
645
+ max: 1
646
+ }
647
+ } },
648
+ colorOverlay: { props: {
649
+ enabled: {},
650
+ color: {},
651
+ opacity: {
652
+ min: 0,
653
+ max: 1
654
+ },
655
+ blendMode: {}
656
+ } },
657
+ dropShadowAngleHandleId: {},
658
+ dropShadowDistanceHandleId: {},
659
+ dropShadowSpreadHandleId: {},
660
+ dropShadowSizeHandleId: {},
661
+ dropShadowOpacityHandleId: {},
662
+ innerShadowAngleHandleId: {},
663
+ innerShadowDistanceHandleId: {},
664
+ innerShadowChokeHandleId: {},
665
+ innerShadowSizeHandleId: {},
666
+ innerShadowOpacityHandleId: {},
667
+ outerGlowSizeHandleId: {},
668
+ outerGlowSpreadHandleId: {},
669
+ outerGlowOpacityHandleId: {},
670
+ innerGlowSizeHandleId: {},
671
+ innerGlowSpreadHandleId: {},
672
+ innerGlowOpacityHandleId: {},
673
+ strokeSizeHandleId: {},
674
+ strokeOpacityHandleId: {},
675
+ bevelEmbossDepthHandleId: {},
676
+ bevelEmbossSizeHandleId: {},
677
+ bevelEmbossSoftenHandleId: {},
678
+ bevelEmbossAngleHandleId: {},
679
+ bevelEmbossAltitudeHandleId: {},
680
+ bevelEmbossHighlightOpacityHandleId: {},
681
+ bevelEmbossShadowOpacityHandleId: {},
682
+ colorOverlayOpacityHandleId: {}
683
+ },
684
+ Liquify: { operations: {} },
685
+ MaskMath: {
686
+ operation: { enum: [
687
+ "Union",
688
+ "Intersect",
689
+ "Subtract",
690
+ "Difference",
691
+ "Invert",
692
+ "Dilate",
693
+ "Erode",
694
+ "Choke",
695
+ "Feather"
696
+ ] },
697
+ radius: {
698
+ min: 0,
699
+ max: 200
700
+ },
701
+ threshold: {
702
+ min: 0,
703
+ max: 1
704
+ },
705
+ clampMin: {
706
+ min: 0,
707
+ max: 1
708
+ },
709
+ clampMax: {
710
+ min: 0,
711
+ max: 1
712
+ },
713
+ channelA: { enum: [
714
+ "Alpha",
715
+ "Luminance",
716
+ "Red",
717
+ "Green",
718
+ "Blue"
719
+ ] },
720
+ channelB: { enum: [
721
+ "Alpha",
722
+ "Luminance",
723
+ "Red",
724
+ "Green",
725
+ "Blue"
726
+ ] },
727
+ binarize: {},
728
+ invertResult: {},
729
+ outputFormat: { enum: [
730
+ "WhiteWithAlpha",
731
+ "GrayscaleRGB",
732
+ "AlphaOnly",
733
+ "PassthroughRGB"
734
+ ] }
735
+ },
736
+ MeshWarp: {
737
+ cols: {
738
+ min: 2,
739
+ max: 12
740
+ },
741
+ rows: {
742
+ min: 2,
743
+ max: 12
744
+ },
745
+ points: {}
746
+ },
747
+ NoiseGenerator: {
748
+ noiseType: { enum: [
749
+ "Perlin",
750
+ "Simplex",
751
+ "Voronoi"
752
+ ] },
753
+ outputType: { enum: ["Image", "Video"] },
754
+ width: {
755
+ min: 16,
756
+ max: 4096
757
+ },
758
+ height: {
759
+ min: 16,
760
+ max: 4096
761
+ },
762
+ scale: {
763
+ min: .1,
764
+ max: 100
765
+ },
766
+ octaves: {
767
+ min: 1,
768
+ max: 8
769
+ },
770
+ persistence: {
771
+ min: 0,
772
+ max: 1
773
+ },
774
+ lacunarity: {
775
+ min: 1,
776
+ max: 4
777
+ },
778
+ speed: {
779
+ min: 0,
780
+ max: 10
781
+ },
782
+ colorStart: {},
783
+ colorEnd: {},
784
+ durationMs: {
785
+ min: 1,
786
+ max: 6e4
787
+ },
788
+ fps: {
789
+ min: 1,
790
+ max: 120
791
+ }
792
+ },
793
+ Paint: {
794
+ width: {
795
+ min: 1,
796
+ max: 16384
797
+ },
798
+ height: {
799
+ min: 1,
800
+ max: 16384
801
+ },
802
+ maintainAspect: {},
803
+ aspectRatio: {},
804
+ backgroundColor: {},
805
+ strokes: {}
806
+ },
807
+ PatchHeal: {
808
+ patches: {},
809
+ centerX: {
810
+ min: 0,
811
+ max: 1
812
+ },
813
+ centerY: {
814
+ min: 0,
815
+ max: 1
816
+ },
817
+ offsetX: {
818
+ min: -4096,
819
+ max: 4096
820
+ },
821
+ offsetY: {
822
+ min: -4096,
823
+ max: 4096
824
+ },
825
+ radius: {
826
+ min: 1,
827
+ max: 500
828
+ },
829
+ sourceRadius: {
830
+ min: 1,
831
+ max: 500
832
+ },
833
+ feather: {
834
+ min: 0,
835
+ max: 100
836
+ },
837
+ opacity: {
838
+ min: 0,
839
+ max: 1
840
+ },
841
+ mode: { enum: [
842
+ "Clone",
843
+ "SeamlessHeal",
844
+ "TextureTransfer"
845
+ ] }
846
+ },
847
+ ProceduralVFX: {
848
+ effectType: { enum: [
849
+ "Smoke",
850
+ "Fire",
851
+ "Rain",
852
+ "Sparks",
853
+ "Snow",
854
+ "Dust",
855
+ "Lightning",
856
+ "Magic",
857
+ "LensFlare",
858
+ "Embers",
859
+ "EnergyBeam"
860
+ ] },
861
+ outputType: { enum: ["Image", "Video"] },
862
+ width: {
863
+ min: 16,
864
+ max: 4096
865
+ },
866
+ height: {
867
+ min: 16,
868
+ max: 4096
869
+ },
870
+ density: {
871
+ min: 0,
872
+ max: 1
873
+ },
874
+ scale: {
875
+ min: .001,
876
+ max: 10
877
+ },
878
+ speed: {
879
+ min: 0,
880
+ max: 10
881
+ },
882
+ intensity: {
883
+ min: 0,
884
+ max: 1
885
+ },
886
+ seed: {
887
+ min: 0,
888
+ max: 1e6
889
+ },
890
+ colorStart: {},
891
+ colorEnd: {},
892
+ durationMs: {
893
+ min: 100,
894
+ max: 1e5
895
+ },
896
+ fps: {
897
+ min: 1,
898
+ max: 120
899
+ }
900
+ },
901
+ RefineEdge: {
902
+ decontaminateAmount: {
903
+ min: 0,
904
+ max: 1
905
+ },
906
+ radius: {
907
+ min: .5,
908
+ max: 50
909
+ },
910
+ smooth: {
911
+ min: 0,
912
+ max: 100
913
+ },
914
+ feather: {
915
+ min: 0,
916
+ max: 50
917
+ },
918
+ shiftEdge: {
919
+ min: -100,
920
+ max: 100
921
+ },
922
+ matteChannel: { enum: [
923
+ "Alpha",
924
+ "Luminance",
925
+ "Red",
926
+ "Green",
927
+ "Blue"
928
+ ] },
929
+ outputMode: { enum: [
930
+ "Composite",
931
+ "MatteOnly",
932
+ "DecontaminatedRGB"
933
+ ] }
934
+ },
935
+ RefractionCaustics3D: {
936
+ ior: {
937
+ min: 1,
938
+ max: 2.5
939
+ },
940
+ dispersion: {
941
+ min: 0,
942
+ max: .2
943
+ },
944
+ refractionScale: {
945
+ min: 0,
946
+ max: 2
947
+ },
948
+ causticBrightness: {
949
+ min: 0,
950
+ max: 2
951
+ },
952
+ causticScale: {
953
+ min: .1,
954
+ max: 5
955
+ },
956
+ fluidRipples: {
957
+ min: 0,
958
+ max: 1
959
+ },
960
+ rippleSpeed: {
961
+ min: 0,
962
+ max: 5
963
+ },
964
+ roughness: {
965
+ min: 0,
966
+ max: 1
967
+ },
968
+ specularIntensity: {
969
+ min: 0,
970
+ max: 2
971
+ },
972
+ lightPosX: {
973
+ min: 0,
974
+ max: 1
975
+ },
976
+ lightPosY: {
977
+ min: 0,
978
+ max: 1
979
+ },
980
+ tintColor: {},
981
+ tintStrength: {
982
+ min: 0,
983
+ max: 1
984
+ },
985
+ depthInvert: {},
986
+ depthScale: {
987
+ min: .1,
988
+ max: 5
989
+ }
990
+ },
991
+ ResizerScaler: {
992
+ aspectRatioPreset: { enum: [
993
+ "9:16",
994
+ "16:9",
995
+ "1:1",
996
+ "4:5",
997
+ "21:9",
998
+ "custom"
999
+ ] },
1000
+ resolutionPreset: { enum: [
1001
+ "4k",
1002
+ "1080p",
1003
+ "720p",
1004
+ "480p",
1005
+ "custom"
1006
+ ] },
1007
+ targetWidth: {
1008
+ min: 1,
1009
+ max: 8192
1010
+ },
1011
+ targetHeight: {
1012
+ min: 1,
1013
+ max: 8192
1014
+ },
1015
+ fitMode: { enum: [
1016
+ "cover",
1017
+ "contain",
1018
+ "stretch",
1019
+ "manual"
1020
+ ] },
1021
+ zoom: {
1022
+ min: 1,
1023
+ max: 1e3
1024
+ },
1025
+ offsetX: {
1026
+ min: -8192,
1027
+ max: 8192
1028
+ },
1029
+ offsetY: {
1030
+ min: -8192,
1031
+ max: 8192
1032
+ },
1033
+ backgroundMode: { enum: [
1034
+ "solid",
1035
+ "blurred",
1036
+ "gradient",
1037
+ "transparent"
1038
+ ] },
1039
+ backgroundColor: {},
1040
+ backgroundColor2: {},
1041
+ blurRadius: {
1042
+ min: 0,
1043
+ max: 100
1044
+ },
1045
+ backgroundBrightness: {
1046
+ min: 0,
1047
+ max: 1
1048
+ },
1049
+ anchorX: { enum: [
1050
+ "left",
1051
+ "center",
1052
+ "right"
1053
+ ] },
1054
+ anchorY: { enum: [
1055
+ "top",
1056
+ "center",
1057
+ "bottom"
1058
+ ] }
1059
+ },
1060
+ StereoPanning: { pan: {
1061
+ min: -1,
1062
+ max: 1
1063
+ } },
1064
+ Vignette: {
1065
+ strength: {
1066
+ min: 0,
1067
+ max: 100
1068
+ },
1069
+ radius: {
1070
+ min: .1,
1071
+ max: 2
1072
+ },
1073
+ softness: {
1074
+ min: 0,
1075
+ max: 1
1076
+ },
1077
+ roundness: {
1078
+ min: 0,
1079
+ max: 1
1080
+ },
1081
+ centerX: {
1082
+ min: 0,
1083
+ max: 1
1084
+ },
1085
+ centerY: {
1086
+ min: 0,
1087
+ max: 1
1088
+ }
1089
+ }
1090
+ };
1091
+
1092
+ //#endregion
1093
+ //#region src/effects/generated/classes.ts
1094
+ const audioCompressorDefaults = {
1095
+ threshold: -24,
1096
+ ratio: 4,
1097
+ attack: .003,
1098
+ release: .25,
1099
+ knee: 6,
1100
+ makeupGain: 0
1101
+ };
1102
+ var AudioCompressor = class extends Effect {
1103
+ op = "AudioCompressor";
1104
+ constructor(config = {}) {
1105
+ super(withDefaults("AudioCompressor", audioCompressorDefaults, config, effectMeta.AudioCompressor));
1106
+ }
1107
+ };
1108
+ const audioDelayDefaults = {
1109
+ delayTime: .25,
1110
+ feedback: .4,
1111
+ wet: .3,
1112
+ dry: 1,
1113
+ pingPong: false
1114
+ };
1115
+ var AudioDelay = class extends Effect {
1116
+ op = "AudioDelay";
1117
+ constructor(config = {}) {
1118
+ super(withDefaults("AudioDelay", audioDelayDefaults, config, effectMeta.AudioDelay));
1119
+ }
1120
+ };
1121
+ const audioFadeDefaults = {
1122
+ fadeInDuration: 0,
1123
+ fadeOutDuration: 0,
1124
+ fadeInCurve: "linear",
1125
+ fadeOutCurve: "linear"
1126
+ };
1127
+ var AudioFade = class extends Effect {
1128
+ op = "AudioFade";
1129
+ constructor(config = {}) {
1130
+ super(withDefaults("AudioFade", audioFadeDefaults, config, effectMeta.AudioFade));
1131
+ }
1132
+ };
1133
+ const audioNoiseGateDefaults = {
1134
+ threshold: -40,
1135
+ attack: .005,
1136
+ hold: .05,
1137
+ release: .1,
1138
+ range: -80
1139
+ };
1140
+ var AudioNoiseGate = class extends Effect {
1141
+ op = "AudioNoiseGate";
1142
+ constructor(config = {}) {
1143
+ super(withDefaults("AudioNoiseGate", audioNoiseGateDefaults, config, effectMeta.AudioNoiseGate));
1144
+ }
1145
+ };
1146
+ const audioParametricEqDefaults = {
1147
+ type: "peak",
1148
+ frequency: 1e3,
1149
+ gain: 0,
1150
+ q: 1
1151
+ };
1152
+ var AudioParametricEq = class extends Effect {
1153
+ op = "AudioParametricEq";
1154
+ constructor(config = {}) {
1155
+ super(withDefaults("AudioParametricEq", audioParametricEqDefaults, config, effectMeta.AudioParametricEq));
1156
+ }
1157
+ };
1158
+ const audioReverbDefaults = {
1159
+ roomSize: .5,
1160
+ damping: .5,
1161
+ wet: .3,
1162
+ dry: 1,
1163
+ width: 1
1164
+ };
1165
+ var AudioReverb = class extends Effect {
1166
+ op = "AudioReverb";
1167
+ constructor(config = {}) {
1168
+ super(withDefaults("AudioReverb", audioReverbDefaults, config, effectMeta.AudioReverb));
1169
+ }
1170
+ };
1171
+ const blurDefaults = {
1172
+ blurType: "Gaussian",
1173
+ strength: 5,
1174
+ angle: 0,
1175
+ sigmaColor: .1,
1176
+ centerX: .5,
1177
+ centerY: .5,
1178
+ partialBlur: false,
1179
+ radius: .3,
1180
+ radiusY: 0,
1181
+ shape: "circle"
1182
+ };
1183
+ /** @internal Extended by `effects/custom/blur.ts`, which exports `Blur`. */
1184
+ var BlurBase = class extends Effect {
1185
+ op = "Blur";
1186
+ constructor(config = {}) {
1187
+ super(withDefaults("Blur", blurDefaults, config, effectMeta.Blur));
1188
+ }
1189
+ };
1190
+ const cameraParallax3DDefaults = {
1191
+ motionPreset: "DollyZoom",
1192
+ panX: 0,
1193
+ panY: 0,
1194
+ dollyZ: 0,
1195
+ fov: 50,
1196
+ parallaxAmount: .6,
1197
+ dofAperture: .3,
1198
+ focusPlane: .4,
1199
+ edgeDilation: .5,
1200
+ depthInvert: false
1201
+ };
1202
+ var CameraParallax3D = class extends Effect {
1203
+ op = "CameraParallax3D";
1204
+ constructor(config = {}) {
1205
+ super(withDefaults("CameraParallax3D", cameraParallax3DDefaults, config, effectMeta.CameraParallax3D));
1206
+ }
1207
+ };
1208
+ const channelMergerDefaults = {
1209
+ colorSpace: "RGBA",
1210
+ defaultChannel4: 1
1211
+ };
1212
+ var ChannelMerger = class extends Effect {
1213
+ op = "ChannelMerger";
1214
+ constructor(config = {}) {
1215
+ super(withDefaults("ChannelMerger", channelMergerDefaults, config, effectMeta.ChannelMerger));
1216
+ }
1217
+ };
1218
+ const channelSplitterDefaults = { colorSpace: "RGBA" };
1219
+ var ChannelSplitter = class extends Effect {
1220
+ op = "ChannelSplitter";
1221
+ constructor(config = {}) {
1222
+ super(withDefaults("ChannelSplitter", channelSplitterDefaults, config, effectMeta.ChannelSplitter));
1223
+ }
1224
+ };
1225
+ const colorBalanceDefaults = {
1226
+ shadows: {
1227
+ cyanRed: 0,
1228
+ magentaGreen: 0,
1229
+ yellowBlue: 0
1230
+ },
1231
+ midtones: {
1232
+ cyanRed: 0,
1233
+ magentaGreen: 0,
1234
+ yellowBlue: 0
1235
+ },
1236
+ highlights: {
1237
+ cyanRed: 0,
1238
+ magentaGreen: 0,
1239
+ yellowBlue: 0
1240
+ },
1241
+ preserveLuminosity: true
1242
+ };
1243
+ var ColorBalance = class extends Effect {
1244
+ op = "ColorBalance";
1245
+ constructor(config = {}) {
1246
+ super(withDefaults("ColorBalance", colorBalanceDefaults, config, effectMeta.ColorBalance));
1247
+ }
1248
+ };
1249
+ const colorKeyDefaults = {
1250
+ keyColor: "#00ff00",
1251
+ similarity: .4,
1252
+ smoothness: .1,
1253
+ spillSuppression: .2,
1254
+ colorSpace: "YUV",
1255
+ spillSuppressionType: "Desaturate"
1256
+ };
1257
+ var ColorKey = class extends Effect {
1258
+ op = "ColorKey";
1259
+ constructor(config = {}) {
1260
+ super(withDefaults("ColorKey", colorKeyDefaults, config, effectMeta.ColorKey));
1261
+ }
1262
+ };
1263
+ const cornerPinDefaults = {};
1264
+ var CornerPin = class extends Effect {
1265
+ op = "CornerPin";
1266
+ constructor(config = {}) {
1267
+ super(withDefaults("CornerPin", cornerPinDefaults, config, effectMeta.CornerPin));
1268
+ }
1269
+ };
1270
+ const displacementMapDefaults = {
1271
+ strengthX: 50,
1272
+ strengthY: 50,
1273
+ xChannel: "Red",
1274
+ yChannel: "Green",
1275
+ wrapMode: "Clamp"
1276
+ };
1277
+ var DisplacementMap = class extends Effect {
1278
+ op = "DisplacementMap";
1279
+ constructor(config = {}) {
1280
+ super(withDefaults("DisplacementMap", displacementMapDefaults, config, effectMeta.DisplacementMap));
1281
+ }
1282
+ };
1283
+ const extractLUTDefaults = {
1284
+ strategy: "deterministic",
1285
+ samplePoints: 150
1286
+ };
1287
+ var ExtractLUT = class extends Effect {
1288
+ op = "ExtractLUT";
1289
+ constructor(config = {}) {
1290
+ super(withDefaults("ExtractLUT", extractLUTDefaults, config, effectMeta.ExtractLUT));
1291
+ }
1292
+ };
1293
+ const flipDefaults = {
1294
+ horizontal: true,
1295
+ vertical: false,
1296
+ diagonal: false,
1297
+ mode: "horizontal",
1298
+ symmetry: "none"
1299
+ };
1300
+ var Flip = class extends Effect {
1301
+ op = "Flip";
1302
+ constructor(config = {}) {
1303
+ super(withDefaults("Flip", flipDefaults, config, effectMeta.Flip));
1304
+ }
1305
+ };
1306
+ const kenBurnsDefaults = {
1307
+ keyframes: [],
1308
+ motionBlurSize: 1.5,
1309
+ movementStyle: "spline",
1310
+ aspectRatio: "input"
1311
+ };
1312
+ var KenBurns = class extends Effect {
1313
+ op = "KenBurns";
1314
+ constructor(config = {}) {
1315
+ super(withDefaults("KenBurns", kenBurnsDefaults, config, effectMeta.KenBurns));
1316
+ }
1317
+ };
1318
+ const layerStyleDefaults = {
1319
+ dropShadow: {
1320
+ enabled: false,
1321
+ color: "#000000",
1322
+ opacity: .75,
1323
+ angle: 120,
1324
+ distance: 10,
1325
+ spread: 0,
1326
+ size: 10,
1327
+ blendMode: "multiply"
1328
+ },
1329
+ innerShadow: {
1330
+ enabled: false,
1331
+ color: "#000000",
1332
+ opacity: .75,
1333
+ angle: 120,
1334
+ distance: 5,
1335
+ choke: 0,
1336
+ size: 5,
1337
+ blendMode: "multiply"
1338
+ },
1339
+ outerGlow: {
1340
+ enabled: false,
1341
+ color: "#ffffff",
1342
+ opacity: .75,
1343
+ size: 15,
1344
+ spread: 0,
1345
+ blendMode: "screen"
1346
+ },
1347
+ innerGlow: {
1348
+ enabled: false,
1349
+ color: "#ffffff",
1350
+ opacity: .75,
1351
+ size: 15,
1352
+ spread: 0,
1353
+ blendMode: "screen"
1354
+ },
1355
+ stroke: {
1356
+ enabled: false,
1357
+ size: 2,
1358
+ position: "outside",
1359
+ color: "#ffffff",
1360
+ opacity: 1,
1361
+ blendMode: "normal"
1362
+ },
1363
+ bevelEmboss: {
1364
+ enabled: false,
1365
+ style: "InnerBevel",
1366
+ technique: "Smooth",
1367
+ depth: 100,
1368
+ direction: "Up",
1369
+ size: 5,
1370
+ soften: 0,
1371
+ angle: 120,
1372
+ altitude: 30,
1373
+ highlightColor: "#ffffff",
1374
+ highlightOpacity: .75,
1375
+ shadowColor: "#000000",
1376
+ shadowOpacity: .75
1377
+ },
1378
+ colorOverlay: {
1379
+ enabled: false,
1380
+ color: "#ff0000",
1381
+ opacity: 1,
1382
+ blendMode: "normal"
1383
+ }
1384
+ };
1385
+ var LayerStyle = class extends Effect {
1386
+ op = "LayerStyle";
1387
+ constructor(config = {}) {
1388
+ super(withDefaults("LayerStyle", layerStyleDefaults, config, effectMeta.LayerStyle));
1389
+ }
1390
+ };
1391
+ const liquifyDefaults = { operations: [] };
1392
+ var Liquify = class extends Effect {
1393
+ op = "Liquify";
1394
+ constructor(config = {}) {
1395
+ super(withDefaults("Liquify", liquifyDefaults, config, effectMeta.Liquify));
1396
+ }
1397
+ };
1398
+ const maskMathDefaults = {
1399
+ operation: "Union",
1400
+ radius: 0,
1401
+ threshold: .5,
1402
+ clampMin: 0,
1403
+ clampMax: 1,
1404
+ channelA: "Alpha",
1405
+ channelB: "Alpha",
1406
+ binarize: false,
1407
+ invertResult: false,
1408
+ outputFormat: "WhiteWithAlpha"
1409
+ };
1410
+ var MaskMath = class extends Effect {
1411
+ op = "MaskMath";
1412
+ constructor(config = {}) {
1413
+ super(withDefaults("MaskMath", maskMathDefaults, config, effectMeta.MaskMath));
1414
+ }
1415
+ };
1416
+ const meshWarpDefaults = {
1417
+ cols: 3,
1418
+ rows: 3
1419
+ };
1420
+ var MeshWarp = class extends Effect {
1421
+ op = "MeshWarp";
1422
+ constructor(config = {}) {
1423
+ super(withDefaults("MeshWarp", meshWarpDefaults, config, effectMeta.MeshWarp));
1424
+ }
1425
+ };
1426
+ const noiseGeneratorDefaults = {
1427
+ noiseType: "Perlin",
1428
+ outputType: "Image",
1429
+ width: 512,
1430
+ height: 512,
1431
+ scale: 10,
1432
+ octaves: 4,
1433
+ persistence: .5,
1434
+ lacunarity: 2,
1435
+ speed: 1,
1436
+ colorStart: "#000000",
1437
+ colorEnd: "#ffffff",
1438
+ durationMs: 5e3,
1439
+ fps: 30
1440
+ };
1441
+ var NoiseGenerator = class extends Effect {
1442
+ op = "NoiseGenerator";
1443
+ constructor(config = {}) {
1444
+ super(withDefaults("NoiseGenerator", noiseGeneratorDefaults, config, effectMeta.NoiseGenerator));
1445
+ }
1446
+ };
1447
+ const paintDefaults = {
1448
+ width: 1080,
1449
+ height: 1080,
1450
+ maintainAspect: true,
1451
+ backgroundColor: "#ffffff"
1452
+ };
1453
+ var Paint = class extends Effect {
1454
+ op = "Paint";
1455
+ constructor(config = {}) {
1456
+ super(withDefaults("Paint", paintDefaults, config, effectMeta.Paint));
1457
+ }
1458
+ };
1459
+ const patchHealDefaults = {
1460
+ centerX: .5,
1461
+ centerY: .5,
1462
+ offsetX: 50,
1463
+ offsetY: 0,
1464
+ radius: 25,
1465
+ sourceRadius: 25,
1466
+ feather: 50,
1467
+ opacity: 1,
1468
+ mode: "SeamlessHeal"
1469
+ };
1470
+ var PatchHeal = class extends Effect {
1471
+ op = "PatchHeal";
1472
+ constructor(config = {}) {
1473
+ super(withDefaults("PatchHeal", patchHealDefaults, config, effectMeta.PatchHeal));
1474
+ }
1475
+ };
1476
+ const proceduralVFXDefaults = {
1477
+ effectType: "Smoke",
1478
+ outputType: "Video",
1479
+ width: 1080,
1480
+ height: 1080,
1481
+ density: .6,
1482
+ scale: .01,
1483
+ speed: 1,
1484
+ intensity: .8,
1485
+ seed: 1234,
1486
+ colorStart: "#ffffff",
1487
+ colorEnd: "#ff5500",
1488
+ durationMs: 5e3,
1489
+ fps: 30
1490
+ };
1491
+ var ProceduralVFX = class extends Effect {
1492
+ op = "ProceduralVFX";
1493
+ constructor(config = {}) {
1494
+ super(withDefaults("ProceduralVFX", proceduralVFXDefaults, config, effectMeta.ProceduralVFX));
1495
+ }
1496
+ };
1497
+ const refineEdgeDefaults = {
1498
+ decontaminateAmount: .7,
1499
+ radius: 2,
1500
+ smooth: 5,
1501
+ feather: .5,
1502
+ shiftEdge: 0,
1503
+ matteChannel: "Alpha",
1504
+ outputMode: "Composite"
1505
+ };
1506
+ var RefineEdge = class extends Effect {
1507
+ op = "RefineEdge";
1508
+ constructor(config = {}) {
1509
+ super(withDefaults("RefineEdge", refineEdgeDefaults, config, effectMeta.RefineEdge));
1510
+ }
1511
+ };
1512
+ const refractionCaustics3DDefaults = {
1513
+ ior: 1.52,
1514
+ dispersion: .04,
1515
+ refractionScale: .5,
1516
+ causticBrightness: .6,
1517
+ causticScale: 1,
1518
+ fluidRipples: 0,
1519
+ rippleSpeed: 1,
1520
+ roughness: 0,
1521
+ specularIntensity: .8,
1522
+ lightPosX: .5,
1523
+ lightPosY: .2,
1524
+ tintColor: "#ffffff",
1525
+ tintStrength: 0,
1526
+ depthInvert: false,
1527
+ depthScale: 1
1528
+ };
1529
+ var RefractionCaustics3D = class extends Effect {
1530
+ op = "RefractionCaustics3D";
1531
+ constructor(config = {}) {
1532
+ super(withDefaults("RefractionCaustics3D", refractionCaustics3DDefaults, config, effectMeta.RefractionCaustics3D));
1533
+ }
1534
+ };
1535
+ const resizerScalerDefaults = {
1536
+ aspectRatioPreset: "16:9",
1537
+ resolutionPreset: "1080p",
1538
+ targetWidth: 1920,
1539
+ targetHeight: 1080,
1540
+ fitMode: "contain",
1541
+ zoom: 100,
1542
+ offsetX: 0,
1543
+ offsetY: 0,
1544
+ backgroundMode: "solid",
1545
+ backgroundColor: "#000000FF",
1546
+ backgroundColor2: "#000000FF",
1547
+ blurRadius: 40,
1548
+ backgroundBrightness: .6,
1549
+ anchorX: "center",
1550
+ anchorY: "center"
1551
+ };
1552
+ var ResizerScaler = class extends Effect {
1553
+ op = "ResizerScaler";
1554
+ constructor(config = {}) {
1555
+ super(withDefaults("ResizerScaler", resizerScalerDefaults, config, effectMeta.ResizerScaler));
1556
+ }
1557
+ };
1558
+ const stereoPanningDefaults = { pan: 0 };
1559
+ var StereoPanning = class extends Effect {
1560
+ op = "StereoPanning";
1561
+ constructor(config = {}) {
1562
+ super(withDefaults("StereoPanning", stereoPanningDefaults, config, effectMeta.StereoPanning));
1563
+ }
1564
+ };
1565
+ const vignetteDefaults = {
1566
+ strength: 50,
1567
+ radius: 1,
1568
+ softness: .5,
1569
+ roundness: .5,
1570
+ centerX: .5,
1571
+ centerY: .5
1572
+ };
1573
+ var Vignette = class extends Effect {
1574
+ op = "Vignette";
1575
+ constructor(config = {}) {
1576
+ super(withDefaults("Vignette", vignetteDefaults, config, effectMeta.Vignette));
1577
+ }
1578
+ };
1579
+
1580
+ //#endregion
1581
+ //#region src/effects/custom/blur.ts
1582
+ /** Props the track supplies when the caller does not. */
1583
+ function trackDefaults(track) {
1584
+ return {
1585
+ partialBlur: true,
1586
+ centerX: track.center.x,
1587
+ centerY: track.center.y,
1588
+ radius: track.bounds.width.multiply(.55),
1589
+ radiusY: track.bounds.height.multiply(.55),
1590
+ shape: "ellipse",
1591
+ strength: track.active.multiply(25)
1592
+ };
1593
+ }
1594
+ /**
1595
+ * Blur effect. Props, defaults and ranges are generated from `node-blur`'s
1596
+ * schema ({@link BlurBase}); this subclass only adds `track`.
1597
+ */
1598
+ var Blur = class extends BlurBase {
1599
+ constructor(config = {}) {
1600
+ const { track, ...rest } = config;
1601
+ super(track ? {
1602
+ ...trackDefaults(track),
1603
+ ...definedOnly(rest)
1604
+ } : rest);
1605
+ }
1606
+ };
1607
+ function definedOnly(value) {
1608
+ return Object.fromEntries(Object.entries(value).filter(([, v]) => v !== void 0));
1609
+ }
1610
+
1611
+ //#endregion
1612
+ //#region src/effects/generated/registry.ts
1613
+ /** `Effect.<factory>(config)` helpers, one per generated effect class. */
1614
+ const effectFactories = {
1615
+ audioCompressor: (config) => new AudioCompressor(config),
1616
+ audioDelay: (config) => new AudioDelay(config),
1617
+ audioFade: (config) => new AudioFade(config),
1618
+ audioNoiseGate: (config) => new AudioNoiseGate(config),
1619
+ audioParametricEq: (config) => new AudioParametricEq(config),
1620
+ audioReverb: (config) => new AudioReverb(config),
1621
+ blur: (config) => new Blur(config),
1622
+ cameraParallax3D: (config) => new CameraParallax3D(config),
1623
+ channelMerger: (config) => new ChannelMerger(config),
1624
+ channelSplitter: (config) => new ChannelSplitter(config),
1625
+ colorBalance: (config) => new ColorBalance(config),
1626
+ colorKey: (config) => new ColorKey(config),
1627
+ cornerPin: (config) => new CornerPin(config),
1628
+ displacementMap: (config) => new DisplacementMap(config),
1629
+ extractLUT: (config) => new ExtractLUT(config),
1630
+ flip: (config) => new Flip(config),
1631
+ kenBurns: (config) => new KenBurns(config),
1632
+ layerStyle: (config) => new LayerStyle(config),
1633
+ liquify: (config) => new Liquify(config),
1634
+ maskMath: (config) => new MaskMath(config),
1635
+ meshWarp: (config) => new MeshWarp(config),
1636
+ noiseGenerator: (config) => new NoiseGenerator(config),
1637
+ paint: (config) => new Paint(config),
1638
+ patchHeal: (config) => new PatchHeal(config),
1639
+ proceduralVFX: (config) => new ProceduralVFX(config),
1640
+ refineEdge: (config) => new RefineEdge(config),
1641
+ refractionCaustics3D: (config) => new RefractionCaustics3D(config),
1642
+ resizerScaler: (config) => new ResizerScaler(config),
1643
+ stereoPanning: (config) => new StereoPanning(config),
1644
+ vignette: (config) => new Vignette(config)
1645
+ };
1646
+
1647
+ //#endregion
1648
+ //#region src/effects/classes.ts
1649
+ var Levels = class extends Effect {
1650
+ op = "Levels";
1651
+ constructor(config = {}) {
1652
+ const defaultChannel = {
1653
+ inBlack: 0,
1654
+ inWhite: 1,
1655
+ outBlack: 0,
1656
+ outWhite: 1
1657
+ };
1658
+ super({
1659
+ master: config.master ?? { ...defaultChannel },
1660
+ red: config.red ?? { ...defaultChannel },
1661
+ green: config.green ?? { ...defaultChannel },
1662
+ blue: config.blue ?? { ...defaultChannel },
1663
+ ...config
1664
+ });
1665
+ }
1666
+ };
1667
+ var FilmGrain = class extends Effect {
1668
+ op = "FilmGrain";
1669
+ constructor(config = {}) {
1670
+ super({
1671
+ strength: config.strength ?? 15,
1672
+ size: config.size ?? 1.5,
1673
+ monochrome: config.monochrome ?? true,
1674
+ animated: config.animated ?? true,
1675
+ speed: config.speed ?? 50,
1676
+ shadows: config.shadows ?? .2,
1677
+ midtones: config.midtones ?? 1,
1678
+ highlights: config.highlights ?? .2,
1679
+ ...config
1680
+ });
1681
+ }
1682
+ };
1683
+ var CustomEffect = class extends Effect {
1684
+ op;
1685
+ constructor(opName, config = {}) {
1686
+ super(config);
1687
+ this.op = opName;
1688
+ }
1689
+ };
1690
+ var AudioSignalExtractor = class extends Effect {
1691
+ op = "AudioSignalExtractor";
1692
+ constructor(config = {}) {
1693
+ super({
1694
+ extractionMode: config.extractionMode ?? "rms_envelope",
1695
+ attackMs: config.attackMs ?? 10,
1696
+ releaseMs: config.releaseMs ?? 120,
1697
+ sensitivity: config.sensitivity ?? 1,
1698
+ noiseFloorDb: config.noiseFloorDb ?? -48,
1699
+ dynamicRangeDb: config.dynamicRangeDb ?? 48,
1700
+ autoRange: config.autoRange ?? true,
1701
+ smoothing: config.smoothing ?? .15,
1702
+ curve: config.curve ?? "linear",
1703
+ beatThreshold: config.beatThreshold ?? .08,
1704
+ beatDecayMs: config.beatDecayMs ?? 80,
1705
+ previewMode: config.previewMode ?? "envelope",
1706
+ nodeId: config.nodeId ?? "audio_extractor",
1707
+ ...config
1708
+ });
1709
+ }
1710
+ async extract(source, options = {}) {
1711
+ return AudioSignal.extract(source, {
1712
+ extractionMode: this.extractionMode,
1713
+ attackMs: this.attackMs,
1714
+ releaseMs: this.releaseMs,
1715
+ sensitivity: this.sensitivity,
1716
+ noiseFloorDb: this.noiseFloorDb,
1717
+ dynamicRangeDb: this.dynamicRangeDb,
1718
+ smoothing: this.smoothing,
1719
+ curve: this.curve,
1720
+ beatThreshold: this.beatThreshold,
1721
+ beatDecayMs: this.beatDecayMs,
1722
+ previewMode: this.previewMode,
1723
+ ...options
1724
+ });
1725
+ }
1726
+ };
1727
+ var Curves = class extends Effect {
1728
+ op = "Curves";
1729
+ constructor(config = {}) {
1730
+ super({
1731
+ ...config,
1732
+ curveType: config.curveType ?? "rgb",
1733
+ master: config.master ?? [{
1734
+ x: 0,
1735
+ y: 0
1736
+ }, {
1737
+ x: 1,
1738
+ y: 1
1739
+ }],
1740
+ red: config.red ?? [{
1741
+ x: 0,
1742
+ y: 0
1743
+ }, {
1744
+ x: 1,
1745
+ y: 1
1746
+ }],
1747
+ green: config.green ?? [{
1748
+ x: 0,
1749
+ y: 0
1750
+ }, {
1751
+ x: 1,
1752
+ y: 1
1753
+ }],
1754
+ blue: config.blue ?? [{
1755
+ x: 0,
1756
+ y: 0
1757
+ }, {
1758
+ x: 1,
1759
+ y: 1
1760
+ }],
1761
+ hueVsHue: config.hueVsHue ?? [{
1762
+ x: 0,
1763
+ y: .5
1764
+ }, {
1765
+ x: 1,
1766
+ y: .5
1767
+ }],
1768
+ hueVsSat: config.hueVsSat ?? [{
1769
+ x: 0,
1770
+ y: 1
1771
+ }, {
1772
+ x: 1,
1773
+ y: 1
1774
+ }],
1775
+ lumVsSat: config.lumVsSat ?? [{
1776
+ x: 0,
1777
+ y: 1
1778
+ }, {
1779
+ x: 1,
1780
+ y: 1
1781
+ }],
1782
+ satVsSat: config.satVsSat ?? [{
1783
+ x: 0,
1784
+ y: 1
1785
+ }, {
1786
+ x: 1,
1787
+ y: 1
1788
+ }]
1789
+ });
1790
+ }
1791
+ };
1792
+ var SelectiveColor = class extends Effect {
1793
+ op = "SelectiveColor";
1794
+ constructor(config = {}) {
1795
+ const defaultAdj = {
1796
+ cyan: 0,
1797
+ magenta: 0,
1798
+ yellow: 0,
1799
+ black: 0
1800
+ };
1801
+ super({
1802
+ ...config,
1803
+ method: config.method ?? "Relative",
1804
+ reds: {
1805
+ ...defaultAdj,
1806
+ ...config.reds
1807
+ },
1808
+ yellows: {
1809
+ ...defaultAdj,
1810
+ ...config.yellows
1811
+ },
1812
+ greens: {
1813
+ ...defaultAdj,
1814
+ ...config.greens
1815
+ },
1816
+ cyans: {
1817
+ ...defaultAdj,
1818
+ ...config.cyans
1819
+ },
1820
+ blues: {
1821
+ ...defaultAdj,
1822
+ ...config.blues
1823
+ },
1824
+ magentas: {
1825
+ ...defaultAdj,
1826
+ ...config.magentas
1827
+ },
1828
+ whites: {
1829
+ ...defaultAdj,
1830
+ ...config.whites
1831
+ },
1832
+ neutrals: {
1833
+ ...defaultAdj,
1834
+ ...config.neutrals
1835
+ },
1836
+ blacks: {
1837
+ ...defaultAdj,
1838
+ ...config.blacks
1839
+ }
1840
+ });
1841
+ }
1842
+ };
1843
+ var GradientMap = class extends Effect {
1844
+ op = "GradientMap";
1845
+ constructor(config = {}) {
1846
+ const defaultStops = [{
1847
+ position: 0,
1848
+ color: "#000000"
1849
+ }, {
1850
+ position: 1,
1851
+ color: "#ffffff"
1852
+ }];
1853
+ super({
1854
+ ...config,
1855
+ stops: config.stops ?? defaultStops,
1856
+ smooth: config.smooth ?? true,
1857
+ dither: config.dither ?? true,
1858
+ opacity: config.opacity ?? 1
1859
+ });
1860
+ }
1861
+ };
1862
+ var ShadowsHighlights = class extends Effect {
1863
+ op = "ShadowsHighlights";
1864
+ constructor(config = {}) {
1865
+ super({
1866
+ ...config,
1867
+ shadowAmount: config.shadowAmount ?? 0,
1868
+ shadowTonalWidth: config.shadowTonalWidth ?? 50,
1869
+ shadowRadius: config.shadowRadius ?? 30,
1870
+ highlightAmount: config.highlightAmount ?? 0,
1871
+ highlightTonalWidth: config.highlightTonalWidth ?? 50,
1872
+ highlightRadius: config.highlightRadius ?? 30,
1873
+ colorCorrection: config.colorCorrection ?? 0,
1874
+ midtoneContrast: config.midtoneContrast ?? 0
1875
+ });
1876
+ }
1877
+ };
1878
+ var ApplyLUT = class extends Effect {
1879
+ op = "ApplyLUT";
1880
+ constructor(config = {}) {
1881
+ super({
1882
+ ...config,
1883
+ lutUrl: config.lutUrl ?? "",
1884
+ intensity: config.intensity ?? 1
1885
+ });
1886
+ }
1887
+ };
1888
+ var UnsharpMask = class extends Effect {
1889
+ op = "UnsharpMask";
1890
+ constructor(config = {}) {
1891
+ super({
1892
+ ...config,
1893
+ amount: config.amount ?? 100,
1894
+ radius: config.radius ?? 1.5,
1895
+ threshold: config.threshold ?? 3
1896
+ });
1897
+ }
1898
+ };
1899
+ var HighPass = class extends Effect {
1900
+ op = "HighPass";
1901
+ constructor(config = {}) {
1902
+ super({
1903
+ ...config,
1904
+ radius: config.radius ?? 3,
1905
+ contrastBoost: config.contrastBoost ?? 1,
1906
+ monochrome: config.monochrome ?? true
1907
+ });
1908
+ }
1909
+ };
1910
+ var HalftoneScreen = class extends Effect {
1911
+ op = "HalftoneScreen";
1912
+ constructor(config = {}) {
1913
+ super({
1914
+ ...config,
1915
+ mode: config.mode ?? "Monochrome",
1916
+ dotShape: config.dotShape ?? "Circle",
1917
+ frequency: config.frequency ?? 30,
1918
+ angle: config.angle ?? 45,
1919
+ contrast: config.contrast ?? 1,
1920
+ dotColor: config.dotColor ?? "#000000",
1921
+ paperColor: config.paperColor ?? "#ffffff",
1922
+ smooth: config.smooth ?? true,
1923
+ invert: config.invert ?? false,
1924
+ cyanAngle: config.cyanAngle ?? 15,
1925
+ magentaAngle: config.magentaAngle ?? 75,
1926
+ yellowAngle: config.yellowAngle ?? 0,
1927
+ blackAngle: config.blackAngle ?? 45,
1928
+ opacity: config.opacity ?? 1
1929
+ });
1930
+ }
1931
+ };
1932
+ var TileOffset = class extends Effect {
1933
+ op = "TileOffset";
1934
+ constructor(config = {}) {
1935
+ super({
1936
+ ...config,
1937
+ offsetX: config.offsetX ?? 0,
1938
+ offsetY: config.offsetY ?? 0,
1939
+ wrap: config.wrap ?? true,
1940
+ edgeMode: config.edgeMode ?? "wrap"
1941
+ });
1942
+ }
1943
+ };
1944
+ var MotionBlur = class extends Effect {
1945
+ op = "MotionBlur";
1946
+ constructor(config = {}) {
1947
+ super({
1948
+ ...config,
1949
+ shutterAngle: config.shutterAngle ?? 180,
1950
+ samples: config.samples ?? 16,
1951
+ maxVelocity: config.maxVelocity ?? 64,
1952
+ shutterCurve: config.shutterCurve ?? "gaussian",
1953
+ depthAware: config.depthAware ?? true
1954
+ });
1955
+ }
1956
+ };
1957
+ var SSAO = class extends Effect {
1958
+ op = "SSAO";
1959
+ constructor(config = {}) {
1960
+ super({
1961
+ ...config,
1962
+ radius: config.radius ?? 45,
1963
+ bias: config.bias ?? .025,
1964
+ intensity: config.intensity ?? 1.5,
1965
+ kernelSamples: config.kernelSamples ?? 16,
1966
+ blurRadius: config.blurRadius ?? 4
1967
+ });
1968
+ }
1969
+ };
1970
+ var PBRGlass = class extends Effect {
1971
+ op = "PBRGlass";
1972
+ constructor(config = {}) {
1973
+ super({
1974
+ ...config,
1975
+ ior: config.ior ?? 1.49,
1976
+ roughness: config.roughness ?? .15,
1977
+ transmission: config.transmission ?? .92,
1978
+ dispersion: config.dispersion ?? .015,
1979
+ fresnelPower: config.fresnelPower ?? 5,
1980
+ tintColor: config.tintColor ?? "#ffffff"
1981
+ });
1982
+ }
1983
+ };
1984
+ var DepthOfField = class extends Effect {
1985
+ op = "DepthOfField";
1986
+ constructor(config = {}) {
1987
+ super({
1988
+ ...config,
1989
+ focusDistance: config.focusDistance ?? 500,
1990
+ focalLength: config.focalLength ?? 50,
1991
+ aperture: config.aperture ?? 2.8,
1992
+ maxBlur: config.maxBlur ?? 16,
1993
+ quality: config.quality ?? "high"
1994
+ });
1995
+ }
1996
+ };
1997
+ var Crop = class extends Effect {
1998
+ op = "Crop";
1999
+ constructor(config = {}) {
2000
+ super({
2001
+ cropType: config.cropType ?? "rect",
2002
+ leftPercentage: config.leftPercentage ?? 0,
2003
+ topPercentage: config.topPercentage ?? 0,
2004
+ widthPercentage: config.widthPercentage ?? 100,
2005
+ heightPercentage: config.heightPercentage ?? 100,
2006
+ roundness: config.roundness ?? 0,
2007
+ ...config
2008
+ });
2009
+ }
2010
+ };
2011
+ /**
2012
+ * On-device vision: tracks objects, segments instances, estimates pose and mattes people on
2013
+ * the rendered frame, feeding reactive signals. Models download lazily on first use.
2014
+ */
2015
+ var Vision = class extends Effect {
2016
+ op = "Vision";
2017
+ constructor(config = {}) {
2018
+ super({
2019
+ enableDetection: config.enableDetection !== false,
2020
+ enableSegmentation: config.enableSegmentation === true,
2021
+ enablePose: config.enablePose === true,
2022
+ enableMatte: config.enableMatte === true,
2023
+ confidence: config.confidence ?? .3,
2024
+ variant: config.variant ?? "s",
2025
+ mode: config.mode ?? "passthrough",
2026
+ matteSource: config.matteSource ?? "instance",
2027
+ ...config
2028
+ });
2029
+ }
2030
+ };
2031
+ var Relight3D = class extends Effect {
2032
+ op = "Relight3D";
2033
+ constructor(config = {}) {
2034
+ super({
2035
+ lightType: config.lightType ?? "Point",
2036
+ intensity: config.intensity ?? 1,
2037
+ lightPosX: config.lightPosX ?? .5,
2038
+ lightPosY: config.lightPosY ?? .5,
2039
+ lightPosZ: config.lightPosZ ?? .3,
2040
+ lightRadius: config.lightRadius ?? .8,
2041
+ spotConeAngle: config.spotConeAngle ?? 45,
2042
+ specularRoughness: config.specularRoughness ?? .35,
2043
+ specularStrength: config.specularStrength ?? .7,
2044
+ metallic: config.metallic ?? 0,
2045
+ ambientIntensity: config.ambientIntensity ?? .4,
2046
+ volumetricDensity: config.volumetricDensity ?? .2,
2047
+ depthScale: config.depthScale ?? 1,
2048
+ depthInvert: config.depthInvert ?? false,
2049
+ lightColor: config.lightColor ?? "#ffffff",
2050
+ ambientColor: config.ambientColor ?? "#ffffff",
2051
+ normalMap: config.normalMap,
2052
+ ...config
2053
+ });
2054
+ }
2055
+ };
2056
+ var TemporalDeflicker = class extends Effect {
2057
+ op = "TemporalDeflicker";
2058
+ constructor(config = {}) {
2059
+ super({
2060
+ blendWeight: config.blendWeight ?? .35,
2061
+ disocclusionThreshold: config.disocclusionThreshold ?? .15,
2062
+ maxMotionPixels: config.maxMotionPixels ?? 64,
2063
+ scale: config.scale ?? .5,
2064
+ windowSize: config.windowSize ?? 2,
2065
+ ...config
2066
+ });
2067
+ }
2068
+ };
2069
+ var Modulate = class extends Effect {
2070
+ op = "Modulate";
2071
+ constructor(config = {}) {
2072
+ super({
2073
+ hue: config.hue ?? 0,
2074
+ brightness: config.brightness ?? 1,
2075
+ contrast: config.contrast ?? 1,
2076
+ exposure: config.exposure ?? 0,
2077
+ saturation: config.saturation ?? 1,
2078
+ sepia: config.sepia ?? 0,
2079
+ ...config
2080
+ });
2081
+ }
2082
+ };
2083
+
2084
+ //#endregion
2085
+ export { Vignette as $, AudioReverb as A, KenBurns as B, effectFactories as C, AudioFade as D, AudioDelay as E, ColorKey as F, NoiseGenerator as G, Liquify as H, CornerPin as I, ProceduralVFX as J, Paint as K, DisplacementMap as L, ChannelMerger as M, ChannelSplitter as N, AudioNoiseGate as O, ColorBalance as P, StereoPanning as Q, ExtractLUT as R, Vision as S, AudioCompressor as T, MaskMath as U, LayerStyle as V, MeshWarp as W, RefractionCaustics3D as X, RefineEdge as Y, ResizerScaler as Z, SelectiveColor as _, CustomEffect as a, TileOffset as b, GradientMap as c, Levels as d, effectMeta as et, Modulate as f, SSAO as g, Relight3D as h, Curves as i, CameraParallax3D as j, AudioParametricEq as k, HalftoneScreen as l, PBRGlass as m, AudioSignalExtractor as n, DepthOfField as o, MotionBlur as p, PatchHeal as q, Crop as r, FilmGrain as s, ApplyLUT as t, HighPass as u, ShadowsHighlights as v, Blur as w, UnsharpMask as x, TemporalDeflicker as y, Flip as z };
2086
+ //# sourceMappingURL=effects-l0T61DPU.mjs.map