framefields 2.5.2 → 2.5.3

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 (304) hide show
  1. package/dist/audio/index.d.mts +4 -4
  2. package/dist/audio/index.mjs +10 -10
  3. package/dist/{audio-pIgFoKQ2.d.mts → audio-2ew5y0Bl.d.mts} +3 -3
  4. package/dist/{audio-pIgFoKQ2.d.mts.map → audio-2ew5y0Bl.d.mts.map} +1 -1
  5. package/dist/{audio-CZwVENqB.mjs → audio-DrUskzwZ.mjs} +4 -4
  6. package/dist/{audio-CZwVENqB.mjs.map → audio-DrUskzwZ.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-CQZ5_60A.mjs → dist-BPOi5xb_.mjs} +2 -2
  10. package/dist/{dist-CQZ5_60A.mjs.map → dist-BPOi5xb_.mjs.map} +1 -1
  11. package/dist/{dist-DBWkkSvJ.mjs → dist-Bf0H4lp1.mjs} +66 -28
  12. package/dist/dist-Bf0H4lp1.mjs.map +1 -0
  13. package/dist/{dist-DFeF-ygz.mjs → dist-D021IFfp.mjs} +3 -1
  14. package/dist/{dist-DFeF-ygz.mjs.map → dist-D021IFfp.mjs.map} +1 -1
  15. package/dist/{dist-DHQVWaV2.mjs → dist-DG65RDhc.mjs} +3 -3
  16. package/dist/{dist-DHQVWaV2.mjs.map → dist-DG65RDhc.mjs.map} +1 -1
  17. package/dist/effects/index.d.mts +4 -4
  18. package/dist/effects/index.mjs +35 -35
  19. package/dist/{effects-DZvq-nWT.mjs → effects-Z-brb-n7.mjs} +3 -3
  20. package/dist/{effects-DZvq-nWT.mjs.map → effects-Z-brb-n7.mjs.map} +1 -1
  21. package/dist/fonts/index.mjs +2 -2
  22. package/dist/{fonts-DcsxFpyU.mjs → fonts-DqYgk_1a.mjs} +2 -2
  23. package/dist/{fonts-DcsxFpyU.mjs.map → fonts-DqYgk_1a.mjs.map} +1 -1
  24. package/dist/{gpu-Dq_uI_00.mjs → gpu-CevnCkZC.mjs} +2 -2
  25. package/dist/{gpu-Dq_uI_00.mjs.map → gpu-CevnCkZC.mjs.map} +1 -1
  26. package/dist/{index-BE1KdTQ7.d.mts → index-COQTaniR.d.mts} +2 -2
  27. package/dist/{index-BE1KdTQ7.d.mts.map → index-COQTaniR.d.mts.map} +1 -1
  28. package/dist/{index-C6awQk4-.d.mts → index-CZK6CFLy.d.mts} +6 -3
  29. package/dist/index-CZK6CFLy.d.mts.map +1 -0
  30. package/dist/{index-BAXaZC6T.d.mts → index-CfMylY3O.d.mts} +3 -3
  31. package/dist/{index-BAXaZC6T.d.mts.map → index-CfMylY3O.d.mts.map} +1 -1
  32. package/dist/{index-Dbwf24s4.d.mts → index-D1C735Wp.d.mts} +3 -3
  33. package/dist/{index-Dbwf24s4.d.mts.map → index-D1C735Wp.d.mts.map} +1 -1
  34. package/dist/{index-CEsl2BcF.d.mts → index-DSGFMpwL.d.mts} +4 -4
  35. package/dist/{index-CEsl2BcF.d.mts.map → index-DSGFMpwL.d.mts.map} +1 -1
  36. package/dist/{index-DPP5g-Si.d.mts → index-KqW22NHL.d.mts} +2 -2
  37. package/dist/{index-DPP5g-Si.d.mts.map → index-KqW22NHL.d.mts.map} +1 -1
  38. package/dist/{index-BlPLU_a1.d.mts → index-tCKz9Tku.d.mts} +231 -233
  39. package/dist/index-tCKz9Tku.d.mts.map +1 -0
  40. package/dist/index.d.mts +11 -11
  41. package/dist/index.mjs +52 -52
  42. package/dist/preview/index.d.mts +3 -3
  43. package/dist/preview/index.mjs +10 -10
  44. package/dist/{preview-CYI4i4m3.mjs → preview-DVw2jLDh.mjs} +2 -2
  45. package/dist/{preview-CYI4i4m3.mjs.map → preview-DVw2jLDh.mjs.map} +1 -1
  46. package/dist/preview-engine/{chunk-3I6B3YPF.mjs → chunk-2WOCQNZX.mjs} +3 -3
  47. package/dist/preview-engine/{chunk-PDM3TJ45.mjs → chunk-45XGWIOY.mjs} +1 -1
  48. package/dist/preview-engine/{chunk-XUPZBI3Y.mjs → chunk-5FTCPTOX.mjs} +13 -7
  49. package/dist/preview-engine/{chunk-Z4TKEI3I.mjs → chunk-B555EGEU.mjs} +1 -1
  50. package/dist/preview-engine/{chunk-6GMEF2QB.mjs → chunk-FAEWI3LF.mjs} +1 -1
  51. package/dist/preview-engine/{chunk-W4HIVUUA.mjs → chunk-I3ZTDIVM.mjs} +1 -1
  52. package/dist/preview-engine/{chunk-CT2WFPYG.mjs → chunk-MCFYUKAJ.mjs} +8 -8
  53. package/dist/preview-engine/{chunk-AB5VITYM.mjs → chunk-PR37RCNO.mjs} +1 -1
  54. package/dist/preview-engine/{chunk-NAISBHLR.mjs → chunk-QP24X77K.mjs} +1 -1
  55. package/dist/preview-engine/chunk-SYP4AJMF.mjs +1 -0
  56. package/dist/preview-engine/{chunk-SNASF7OM.mjs → chunk-YSXMXD3F.mjs} +1 -1
  57. package/dist/preview-engine/components.mjs +1 -1
  58. package/dist/preview-engine/effects.mjs +1 -1
  59. package/dist/preview-engine/fonts.mjs +1 -1
  60. package/dist/preview-engine/framefields.mjs +1 -1
  61. package/dist/preview-engine/player.mjs +1 -1
  62. package/dist/preview-engine/renderers-BILNWTUC.mjs +228 -0
  63. package/dist/preview-engine/{renderers-HJ6NO5ZD.mjs → renderers-EJATUIUP.mjs} +1 -1
  64. package/dist/preview-engine/renderers-SKT7AGGE.mjs +1 -0
  65. package/dist/{program-BdPDtfVv.mjs → program-4mAVgg3c.mjs} +4 -4
  66. package/dist/{program-BdPDtfVv.mjs.map → program-4mAVgg3c.mjs.map} +1 -1
  67. package/dist/registry/captions.json +1 -1
  68. package/dist/registry/lower-third.json +1 -1
  69. package/dist/registry/meter.json +1 -1
  70. package/dist/renderer/index.d.mts +2 -2
  71. package/dist/renderer/index.mjs +2 -2
  72. package/dist/renderer-1ymN1FIT.mjs +5 -0
  73. package/dist/{renderer-VdTs-dqH.mjs → renderer-4P-DCjk2.mjs} +3 -3
  74. package/dist/{renderer-VdTs-dqH.mjs.map → renderer-4P-DCjk2.mjs.map} +1 -1
  75. package/dist/{renderer-B4blg067.mjs → renderer-5-9DPis6.mjs} +3 -3
  76. package/dist/{renderer-B4blg067.mjs.map → renderer-5-9DPis6.mjs.map} +1 -1
  77. package/dist/{renderer-sg-ffvVd.d.mts → renderer-92IAZzBU.d.mts} +2 -2
  78. package/dist/{renderer-sg-ffvVd.d.mts.map → renderer-92IAZzBU.d.mts.map} +1 -1
  79. package/dist/{renderer-o_JK4YfO.mjs → renderer-9gjn790a.mjs} +3 -3
  80. package/dist/{renderer-o_JK4YfO.mjs.map → renderer-9gjn790a.mjs.map} +1 -1
  81. package/dist/renderer-B-43EuKb.mjs +5 -0
  82. package/dist/renderer-B-v5ZboU.mjs +5 -0
  83. package/dist/{renderer-IMg0dK6K.mjs → renderer-B8PNlKEM.mjs} +3 -3
  84. package/dist/{renderer-IMg0dK6K.mjs.map → renderer-B8PNlKEM.mjs.map} +1 -1
  85. package/dist/{renderer-Db_wphHH.mjs → renderer-B9AZ6R1U.mjs} +64 -21
  86. package/dist/renderer-B9AZ6R1U.mjs.map +1 -0
  87. package/dist/{renderer-7DyjqxEj.mjs → renderer-B9iVE2GG.mjs} +3 -3
  88. package/dist/{renderer-7DyjqxEj.mjs.map → renderer-B9iVE2GG.mjs.map} +1 -1
  89. package/dist/{renderer-ChCUad83.mjs → renderer-B9m7xIPo.mjs} +3 -3
  90. package/dist/{renderer-ChCUad83.mjs.map → renderer-B9m7xIPo.mjs.map} +1 -1
  91. package/dist/{renderer-BAkPq8qo.mjs → renderer-B9yv3R1y.mjs} +2 -2
  92. package/dist/{renderer-BAkPq8qo.mjs.map → renderer-B9yv3R1y.mjs.map} +1 -1
  93. package/dist/{renderer-DuQMzR3v.mjs → renderer-BBA-iCi-.mjs} +8 -417
  94. package/dist/renderer-BBA-iCi-.mjs.map +1 -0
  95. package/dist/{renderer-l_U6kA8K.mjs → renderer-BIYJKdwA.mjs} +2 -2
  96. package/dist/{renderer-l_U6kA8K.mjs.map → renderer-BIYJKdwA.mjs.map} +1 -1
  97. package/dist/{renderer-DQuKNgIx.mjs → renderer-BIt-At3v.mjs} +4 -4
  98. package/dist/{renderer-DQuKNgIx.mjs.map → renderer-BIt-At3v.mjs.map} +1 -1
  99. package/dist/renderer-BKF8Sfbg.mjs +3 -0
  100. package/dist/{renderer-D2ru2Afi.mjs → renderer-BKayVZhL.mjs} +3 -3
  101. package/dist/{renderer-D2ru2Afi.mjs.map → renderer-BKayVZhL.mjs.map} +1 -1
  102. package/dist/renderer-BTB8ifgH.mjs +5 -0
  103. package/dist/{renderer-fH9SCJC2.mjs → renderer-BVtQzjgT.mjs} +2 -2
  104. package/dist/{renderer-fH9SCJC2.mjs.map → renderer-BVtQzjgT.mjs.map} +1 -1
  105. package/dist/{renderer-DBjV6C2u.mjs → renderer-BWqQxZNk.mjs} +2 -2
  106. package/dist/renderer-BYxzR6Hp.mjs +5 -0
  107. package/dist/renderer-BcGhO_Mw.mjs +5 -0
  108. package/dist/{renderer-DK34NH92.mjs → renderer-BcSSAzc4.mjs} +3 -3
  109. package/dist/{renderer-DK34NH92.mjs.map → renderer-BcSSAzc4.mjs.map} +1 -1
  110. package/dist/{renderer-BBTkfhL8.mjs → renderer-Bh0dwc8n.mjs} +3 -3
  111. package/dist/{renderer-BBTkfhL8.mjs.map → renderer-Bh0dwc8n.mjs.map} +1 -1
  112. package/dist/{renderer-CDX2f82b.mjs → renderer-BjxceNBj.mjs} +3 -3
  113. package/dist/{renderer-CDX2f82b.mjs.map → renderer-BjxceNBj.mjs.map} +1 -1
  114. package/dist/renderer-Bk3RgiFg.mjs +5 -0
  115. package/dist/{renderer-Bmj7AyJP.mjs → renderer-Bk7vVfTu.mjs} +3 -3
  116. package/dist/{renderer-Bmj7AyJP.mjs.map → renderer-Bk7vVfTu.mjs.map} +1 -1
  117. package/dist/{renderer-Ch7qwjH9.mjs → renderer-BmX2CmyO.mjs} +3 -3
  118. package/dist/{renderer-Ch7qwjH9.mjs.map → renderer-BmX2CmyO.mjs.map} +1 -1
  119. package/dist/{renderer-Bo1PY0zW.mjs → renderer-BpBhvMi1.mjs} +2 -2
  120. package/dist/{renderer-ZjSP5jw6.mjs → renderer-Bt_j2Zi6.mjs} +2 -2
  121. package/dist/{renderer-ZjSP5jw6.mjs.map → renderer-Bt_j2Zi6.mjs.map} +1 -1
  122. package/dist/renderer-BvItCxkw.mjs +5 -0
  123. package/dist/{renderer-Bw5YP2Db.mjs → renderer-BwRLXhxJ.mjs} +3 -3
  124. package/dist/{renderer-Bw5YP2Db.mjs.map → renderer-BwRLXhxJ.mjs.map} +1 -1
  125. package/dist/{renderer-CWSM0IGG.mjs → renderer-C0P8ZRiC.mjs} +2 -2
  126. package/dist/{renderer-CWSM0IGG.mjs.map → renderer-C0P8ZRiC.mjs.map} +1 -1
  127. package/dist/{renderer-Z39F9QK5.mjs → renderer-C1sFg34Y.mjs} +3 -3
  128. package/dist/{renderer-Z39F9QK5.mjs.map → renderer-C1sFg34Y.mjs.map} +1 -1
  129. package/dist/{renderer-BGNdwdCR.mjs → renderer-C4f_X1Qc.mjs} +3 -3
  130. package/dist/{renderer-BGNdwdCR.mjs.map → renderer-C4f_X1Qc.mjs.map} +1 -1
  131. package/dist/{renderer-DyMEAZIm.mjs → renderer-C4pS7aAI.mjs} +4 -4
  132. package/dist/{renderer-DyMEAZIm.mjs.map → renderer-C4pS7aAI.mjs.map} +1 -1
  133. package/dist/{renderer-BWa3CLK7.mjs → renderer-C5h2TSjH.mjs} +2 -2
  134. package/dist/{renderer-BWa3CLK7.mjs.map → renderer-C5h2TSjH.mjs.map} +1 -1
  135. package/dist/{renderer-BN_n6O6P.mjs → renderer-C7HIJcJK.mjs} +3 -3
  136. package/dist/{renderer-BN_n6O6P.mjs.map → renderer-C7HIJcJK.mjs.map} +1 -1
  137. package/dist/{renderer-G3px5ODP.mjs → renderer-C8-NmotX.mjs} +3 -3
  138. package/dist/{renderer-G3px5ODP.mjs.map → renderer-C8-NmotX.mjs.map} +1 -1
  139. package/dist/renderer-CCnfPHqk.mjs +5 -0
  140. package/dist/{renderer-vTsc6CpO.d.mts → renderer-CE9N4EEI.d.mts} +2 -2
  141. package/dist/{renderer-vTsc6CpO.d.mts.map → renderer-CE9N4EEI.d.mts.map} +1 -1
  142. package/dist/{renderer-CLO8QHWE.mjs → renderer-CGKKjJ5Q.mjs} +3 -3
  143. package/dist/{renderer-CLO8QHWE.mjs.map → renderer-CGKKjJ5Q.mjs.map} +1 -1
  144. package/dist/renderer-CIoWQNaA.mjs +5 -0
  145. package/dist/{renderer-2bipMLqz.mjs → renderer-CJ2-jEy7.mjs} +2 -2
  146. package/dist/{renderer-2bipMLqz.mjs.map → renderer-CJ2-jEy7.mjs.map} +1 -1
  147. package/dist/renderer-CMwQtIIq.mjs +5 -0
  148. package/dist/renderer-CN8kRB90.mjs +6 -0
  149. package/dist/renderer-CPKBDif1.mjs +5 -0
  150. package/dist/{renderer-Cj1giMd0.mjs → renderer-CPl1wOrj.mjs} +2 -2
  151. package/dist/{renderer-Cj1giMd0.mjs.map → renderer-CPl1wOrj.mjs.map} +1 -1
  152. package/dist/{renderer-BmoQJUJO.mjs → renderer-CT_3Fegr.mjs} +3 -3
  153. package/dist/{renderer-BmoQJUJO.mjs.map → renderer-CT_3Fegr.mjs.map} +1 -1
  154. package/dist/{renderer-BfrzKmRh.mjs → renderer-CTvPNRMH.mjs} +2 -2
  155. package/dist/{renderer-BfrzKmRh.mjs.map → renderer-CTvPNRMH.mjs.map} +1 -1
  156. package/dist/{renderer-DWaqF7-6.mjs → renderer-CWnhRMOq.mjs} +3 -3
  157. package/dist/{renderer-DWaqF7-6.mjs.map → renderer-CWnhRMOq.mjs.map} +1 -1
  158. package/dist/{renderer-BBTdHKH7.mjs → renderer-CXa6SWXy.mjs} +3 -3
  159. package/dist/{renderer-BBTdHKH7.mjs.map → renderer-CXa6SWXy.mjs.map} +1 -1
  160. package/dist/renderer-CamsHxEP.mjs +5 -0
  161. package/dist/{renderer-CMEqUhrW.mjs → renderer-Cb5uDZm0.mjs} +3 -3
  162. package/dist/{renderer-CMEqUhrW.mjs.map → renderer-Cb5uDZm0.mjs.map} +1 -1
  163. package/dist/renderer-CeQormOH.mjs +5 -0
  164. package/dist/renderer-Cex4eMtv.mjs +5 -0
  165. package/dist/{renderer-kP5Y282J.mjs → renderer-CgMnZYTM.mjs} +4 -4
  166. package/dist/{renderer-kP5Y282J.mjs.map → renderer-CgMnZYTM.mjs.map} +1 -1
  167. package/dist/{renderer-B5YYBBDq.mjs → renderer-CjcrhBB2.mjs} +2 -2
  168. package/dist/{renderer-B5YYBBDq.mjs.map → renderer-CjcrhBB2.mjs.map} +1 -1
  169. package/dist/{renderer-CXbXF7Dh.mjs → renderer-Cjw6lyaK.mjs} +3 -3
  170. package/dist/{renderer-CXbXF7Dh.mjs.map → renderer-Cjw6lyaK.mjs.map} +1 -1
  171. package/dist/renderer-CjyTrNlr.mjs +5 -0
  172. package/dist/{renderer-D6p8b6ql.mjs → renderer-CkJXq4bD.mjs} +3 -3
  173. package/dist/{renderer-D6p8b6ql.mjs.map → renderer-CkJXq4bD.mjs.map} +1 -1
  174. package/dist/renderer-Clv9TO6C.mjs +5 -0
  175. package/dist/{renderer-gjT5v76-.mjs → renderer-Cm9fEQsw.mjs} +2 -2
  176. package/dist/{renderer-gjT5v76-.mjs.map → renderer-Cm9fEQsw.mjs.map} +1 -1
  177. package/dist/{renderer-CJoa4H2G.mjs → renderer-CuwVuVKG.mjs} +2 -2
  178. package/dist/{renderer-CJoa4H2G.mjs.map → renderer-CuwVuVKG.mjs.map} +1 -1
  179. package/dist/{renderer-D5u3GVtD.mjs → renderer-CvYxxS_X.mjs} +71 -71
  180. package/dist/{renderer-D5u3GVtD.mjs.map → renderer-CvYxxS_X.mjs.map} +1 -1
  181. package/dist/{renderer-VxVi_0c7.mjs → renderer-CxOaqnho.mjs} +2 -2
  182. package/dist/{renderer-VxVi_0c7.mjs.map → renderer-CxOaqnho.mjs.map} +1 -1
  183. package/dist/{renderer-DkPDYtD3.mjs → renderer-CxkUI9s_.mjs} +3 -3
  184. package/dist/{renderer-DkPDYtD3.mjs.map → renderer-CxkUI9s_.mjs.map} +1 -1
  185. package/dist/{renderer-BYJS2lhn.mjs → renderer-Cz5SOnJr.mjs} +3 -3
  186. package/dist/{renderer-BYJS2lhn.mjs.map → renderer-Cz5SOnJr.mjs.map} +1 -1
  187. package/dist/{renderer-WVrUeiLZ.mjs → renderer-D-FwaV1R.mjs} +2 -2
  188. package/dist/{renderer-BWnFh7NO.mjs → renderer-D0iSbNza.mjs} +3 -3
  189. package/dist/{renderer-BWnFh7NO.mjs.map → renderer-D0iSbNza.mjs.map} +1 -1
  190. package/dist/{renderer-DHqicGgT.mjs → renderer-D22g6ION.mjs} +3 -3
  191. package/dist/{renderer-DHqicGgT.mjs.map → renderer-D22g6ION.mjs.map} +1 -1
  192. package/dist/renderer-D4LnJk-M.mjs +5 -0
  193. package/dist/renderer-D5OfQ8Ut.mjs +5 -0
  194. package/dist/renderer-DBYssktC.mjs +5 -0
  195. package/dist/renderer-DC-Aj3me.mjs +5 -0
  196. package/dist/renderer-DG97_Aoc.mjs +5 -0
  197. package/dist/{renderer-Cjs1OeBu.mjs → renderer-DPVEs5ME.mjs} +3 -3
  198. package/dist/{renderer-Cjs1OeBu.mjs.map → renderer-DPVEs5ME.mjs.map} +1 -1
  199. package/dist/{renderer-COtZ315B.mjs → renderer-DPzair18.mjs} +2 -2
  200. package/dist/renderer-DS4UGjcS.mjs +5 -0
  201. package/dist/{renderer-PLoGrFGz.mjs → renderer-DTXAa2pL.mjs} +3 -3
  202. package/dist/{renderer-PLoGrFGz.mjs.map → renderer-DTXAa2pL.mjs.map} +1 -1
  203. package/dist/{renderer-ChjkppUz.mjs → renderer-DYdll3xW.mjs} +3 -3
  204. package/dist/{renderer-ChjkppUz.mjs.map → renderer-DYdll3xW.mjs.map} +1 -1
  205. package/dist/{renderer-BhhweLr_.mjs → renderer-Datqywo_.mjs} +3 -3
  206. package/dist/{renderer-BhhweLr_.mjs.map → renderer-Datqywo_.mjs.map} +1 -1
  207. package/dist/renderer-DdG6ibtM.mjs +5 -0
  208. package/dist/{renderer-D0X7Eh-T.mjs → renderer-Ddg3dJmu.mjs} +3 -3
  209. package/dist/{renderer-D0X7Eh-T.mjs.map → renderer-Ddg3dJmu.mjs.map} +1 -1
  210. package/dist/{renderer-CmKdr2nA.mjs → renderer-De7gno9X.mjs} +3 -3
  211. package/dist/{renderer-CmKdr2nA.mjs.map → renderer-De7gno9X.mjs.map} +1 -1
  212. package/dist/renderer-DhZi4f3t.mjs +5 -0
  213. package/dist/{renderer-BJwOM1Dq.mjs → renderer-Dkt1oh9H.mjs} +3 -3
  214. package/dist/{renderer-BJwOM1Dq.mjs.map → renderer-Dkt1oh9H.mjs.map} +1 -1
  215. package/dist/{renderer-DqO9gBAi.mjs → renderer-DnT62IDK.mjs} +3 -3
  216. package/dist/{renderer-DqO9gBAi.mjs.map → renderer-DnT62IDK.mjs.map} +1 -1
  217. package/dist/{renderer-vwoyR8pW.mjs → renderer-Du8z4UrN.mjs} +2 -2
  218. package/dist/{renderer-vwoyR8pW.mjs.map → renderer-Du8z4UrN.mjs.map} +1 -1
  219. package/dist/{renderer-B8LXXvHi.mjs → renderer-MQPiZQXN.mjs} +3 -3
  220. package/dist/{renderer-B8LXXvHi.mjs.map → renderer-MQPiZQXN.mjs.map} +1 -1
  221. package/dist/renderer-MgLekf6d.mjs +5 -0
  222. package/dist/{renderer-FCqOfN6n.mjs → renderer-NL2IZShC.mjs} +3 -3
  223. package/dist/{renderer-FCqOfN6n.mjs.map → renderer-NL2IZShC.mjs.map} +1 -1
  224. package/dist/renderer-Qvs-1lWh.mjs +5 -0
  225. package/dist/{renderer-B31zMDE8.mjs → renderer-RiWi7y5C.mjs} +4 -4
  226. package/dist/{renderer-B31zMDE8.mjs.map → renderer-RiWi7y5C.mjs.map} +1 -1
  227. package/dist/{renderer-Fsdod0yZ.mjs → renderer-T2dd9a2L.mjs} +3 -3
  228. package/dist/{renderer-Fsdod0yZ.mjs.map → renderer-T2dd9a2L.mjs.map} +1 -1
  229. package/dist/{renderer-1VKN5j2C.mjs → renderer-Y5JmTL8J.mjs} +3 -3
  230. package/dist/{renderer-1VKN5j2C.mjs.map → renderer-Y5JmTL8J.mjs.map} +1 -1
  231. package/dist/{renderer-CdUf7ZDJ.mjs → renderer-_vcT__tW.mjs} +3 -3
  232. package/dist/{renderer-CdUf7ZDJ.mjs.map → renderer-_vcT__tW.mjs.map} +1 -1
  233. package/dist/renderer-bN7dOErt.mjs +5 -0
  234. package/dist/renderer-jWKVmReU.mjs +5 -0
  235. package/dist/{renderer-kkDfQ56G.mjs → renderer-khVVYoVF.mjs} +3 -3
  236. package/dist/{renderer-kkDfQ56G.mjs.map → renderer-khVVYoVF.mjs.map} +1 -1
  237. package/dist/renderer-lk-At57G.mjs +5 -0
  238. package/dist/renderer-qi8Slwfo.mjs +5 -0
  239. package/dist/renderer-qxOH4JH1.mjs +5 -0
  240. package/dist/renderer-t30NpmIl.mjs +5 -0
  241. package/dist/{renderer-Bo_d7h86.mjs → renderer-vc8t_z-y.mjs} +3 -3
  242. package/dist/{renderer-Bo_d7h86.mjs.map → renderer-vc8t_z-y.mjs.map} +1 -1
  243. package/dist/{renderer-0cHsK6xR.mjs → renderer-wEXBnlr1.mjs} +3 -3
  244. package/dist/{renderer-0cHsK6xR.mjs.map → renderer-wEXBnlr1.mjs.map} +1 -1
  245. package/dist/{renderer-CNs1vBUy.mjs → renderer-wIsJb2eO.mjs} +2 -2
  246. package/dist/{renderer-CNs1vBUy.mjs.map → renderer-wIsJb2eO.mjs.map} +1 -1
  247. package/dist/renderer-wKW4HWRx.mjs +5 -0
  248. package/dist/renderer-ydjPm8bp.mjs +5 -0
  249. package/dist/{renderer-DP41Fokp.mjs → renderer-zdpn1Hkk.mjs} +3 -3
  250. package/dist/{renderer-DP41Fokp.mjs.map → renderer-zdpn1Hkk.mjs.map} +1 -1
  251. package/dist/{renderers-CP8CFWDs-DiX2Y4Qp.mjs → renderers-CP8CFWDs-BbLkcJTN.mjs} +3 -3
  252. package/dist/{renderers-CP8CFWDs-DiX2Y4Qp.mjs.map → renderers-CP8CFWDs-BbLkcJTN.mjs.map} +1 -1
  253. package/dist/signals/index.d.mts +5 -5
  254. package/dist/signals/index.mjs +6 -6
  255. package/dist/{signals-Cf9mfNGE.mjs → signals-BrNF9l9s.mjs} +3 -3
  256. package/dist/{signals-Cf9mfNGE.mjs.map → signals-BrNF9l9s.mjs.map} +1 -1
  257. package/dist/{src-Ds9IAk5S.mjs → src-WAnxhDYD.mjs} +9 -9
  258. package/dist/{src-Ds9IAk5S.mjs.map → src-WAnxhDYD.mjs.map} +1 -1
  259. package/package.json +58 -58
  260. package/dist/dist-DBWkkSvJ.mjs.map +0 -1
  261. package/dist/index-BlPLU_a1.d.mts.map +0 -1
  262. package/dist/index-C6awQk4-.d.mts.map +0 -1
  263. package/dist/preview-engine/chunk-X6HUH6K4.mjs +0 -1
  264. package/dist/preview-engine/renderers-KSQM7EM5.mjs +0 -1
  265. package/dist/preview-engine/renderers-XLBHSQZJ.mjs +0 -228
  266. package/dist/renderer-B-D_VZg3.mjs +0 -5
  267. package/dist/renderer-B64dhpDX.mjs +0 -5
  268. package/dist/renderer-BA2Ko4H1.mjs +0 -3
  269. package/dist/renderer-BDL4jyrb.mjs +0 -5
  270. package/dist/renderer-BKCZGKkl.mjs +0 -5
  271. package/dist/renderer-BKs3jI7-.mjs +0 -5
  272. package/dist/renderer-BW74Zf-u.mjs +0 -5
  273. package/dist/renderer-BXuQN61O.mjs +0 -5
  274. package/dist/renderer-BY1pPvzx.mjs +0 -6
  275. package/dist/renderer-Bahthqvq.mjs +0 -5
  276. package/dist/renderer-BbaiQG8h.mjs +0 -5
  277. package/dist/renderer-BhHF-08y.mjs +0 -5
  278. package/dist/renderer-BnrMcw6C.mjs +0 -5
  279. package/dist/renderer-BsS61z5l.mjs +0 -5
  280. package/dist/renderer-Btuq2Eq8.mjs +0 -5
  281. package/dist/renderer-BxmsEl2x.mjs +0 -5
  282. package/dist/renderer-CGOyHdKs.mjs +0 -5
  283. package/dist/renderer-CJjmpmpu.mjs +0 -5
  284. package/dist/renderer-CQvDDAIu.mjs +0 -5
  285. package/dist/renderer-CYxigw7S.mjs +0 -5
  286. package/dist/renderer-CgDofO5z.mjs +0 -5
  287. package/dist/renderer-CgmQchab.mjs +0 -5
  288. package/dist/renderer-CjzrLwW_.mjs +0 -5
  289. package/dist/renderer-ClnYWADT.mjs +0 -5
  290. package/dist/renderer-CwAd71C6.mjs +0 -5
  291. package/dist/renderer-D3Z9t-xT.mjs +0 -5
  292. package/dist/renderer-DKH1oSlW.mjs +0 -5
  293. package/dist/renderer-DTkf_hwG.mjs +0 -5
  294. package/dist/renderer-DU0bmOS7.mjs +0 -5
  295. package/dist/renderer-D_vJHQt5.mjs +0 -5
  296. package/dist/renderer-Db_wphHH.mjs.map +0 -1
  297. package/dist/renderer-Dc5n0M6P.mjs +0 -5
  298. package/dist/renderer-Ddfn0Dha.mjs +0 -5
  299. package/dist/renderer-DeSoNQeG.mjs +0 -5
  300. package/dist/renderer-DuQMzR3v.mjs.map +0 -1
  301. package/dist/renderer-Dzca9Qba.mjs +0 -5
  302. package/dist/renderer-HRVvtc9c.mjs +0 -5
  303. package/dist/renderer-M3Qs4f1K.mjs +0 -5
  304. package/dist/renderer-NDHJt_Ae.mjs +0 -5
@@ -1,5 +1,5 @@
1
- import { N as WebGPUAudioProcessor } from "../index-C6awQk4-.mjs";
2
- import { a as SfxTrigger, c as softLimit, d as _default$5, f as _default$4, g as mixAudioTracks, h as _default$2, i as SfxRenderContext, l as _default$7, m as _default$3, n as encodeStereoWav, o as mixSfxInto, p as _default, r as RenderedSfx, s as renderSfx, t as EncodeWavOptions, u as _default$6 } from "../index-Dbwf24s4.mjs";
3
- import "../renderer-sg-ffvVd.mjs";
4
- import { t as _default$1 } from "../renderer-vTsc6CpO.mjs";
1
+ import { N as WebGPUAudioProcessor } from "../index-CZK6CFLy.mjs";
2
+ import { a as SfxTrigger, c as softLimit, d as _default$5, f as _default$4, g as mixAudioTracks, h as _default$2, i as SfxRenderContext, l as _default$7, m as _default$3, n as encodeStereoWav, o as mixSfxInto, p as _default, r as RenderedSfx, s as renderSfx, t as EncodeWavOptions, u as _default$6 } from "../index-D1C735Wp.mjs";
3
+ import "../renderer-92IAZzBU.mjs";
4
+ import { t as _default$1 } from "../renderer-CE9N4EEI.mjs";
5
5
  export { EncodeWavOptions, RenderedSfx, SfxRenderContext, SfxTrigger, WebGPUAudioProcessor, _default as audioFadeRenderer, _default$1 as audioSignalExtractorRenderer, _default$2 as compressorRenderer, _default$3 as delayRenderer, encodeStereoWav, mixAudioTracks, mixSfxInto, _default$4 as noiseGateRenderer, _default$5 as parametricEqRenderer, renderSfx, _default$6 as reverbRenderer, softLimit, _default$7 as stereoPanningRenderer };
@@ -1,15 +1,15 @@
1
1
  import "../chunk-D7gtBK74.mjs";
2
- import { g as WebGPUAudioProcessor } from "../dist-DBWkkSvJ.mjs";
3
- import { t as renderers_default$1 } from "../renderers-CP8CFWDs-DiX2Y4Qp.mjs";
4
- import { i as mixAudioTracks } from "../dist-DHQVWaV2.mjs";
5
- import { t as renderers_default$2 } from "../renderer-Bo_d7h86.mjs";
6
- import { t as renderers_default$3 } from "../renderer-1VKN5j2C.mjs";
7
- import { t as renderers_default } from "../renderer-BYJS2lhn.mjs";
8
- import { t as renderers_default$4 } from "../renderer-Bw5YP2Db.mjs";
9
- import { t as renderers_default$5 } from "../renderer-D2ru2Afi.mjs";
10
- import { t as renderers_default$6 } from "../renderer-DP41Fokp.mjs";
2
+ import { g as WebGPUAudioProcessor } from "../dist-Bf0H4lp1.mjs";
3
+ import { t as renderers_default$1 } from "../renderers-CP8CFWDs-BbLkcJTN.mjs";
4
+ import { i as mixAudioTracks } from "../dist-DG65RDhc.mjs";
5
+ import { t as renderers_default$2 } from "../renderer-vc8t_z-y.mjs";
6
+ import { t as renderers_default$3 } from "../renderer-Y5JmTL8J.mjs";
7
+ import { t as renderers_default } from "../renderer-Cz5SOnJr.mjs";
8
+ import { t as renderers_default$4 } from "../renderer-BwRLXhxJ.mjs";
9
+ import { t as renderers_default$5 } from "../renderer-BKayVZhL.mjs";
10
+ import { t as renderers_default$6 } from "../renderer-zdpn1Hkk.mjs";
11
11
  import "../renderer-B7fX0C62.mjs";
12
- import { t as renderers_default$7 } from "../renderer-CLO8QHWE.mjs";
12
+ import { t as renderers_default$7 } from "../renderer-CGKKjJ5Q.mjs";
13
13
  import { i as softLimit, n as mixSfxInto, r as renderSfx, t as encodeStereoWav } from "../audio-BluXgSeG.mjs";
14
14
 
15
15
  export { WebGPUAudioProcessor, renderers_default as audioFadeRenderer, renderers_default$1 as audioSignalExtractorRenderer, renderers_default$2 as compressorRenderer, renderers_default$3 as delayRenderer, encodeStereoWav, mixAudioTracks, mixSfxInto, renderers_default$4 as noiseGateRenderer, renderers_default$5 as parametricEqRenderer, renderSfx, renderers_default$6 as reverbRenderer, softLimit, renderers_default$7 as stereoPanningRenderer };
@@ -1,5 +1,5 @@
1
- import { Oi as FrameSignal, o as AudioSignalComputeConfig } from "./index-C6awQk4-.mjs";
2
- import { n as NodeRendererPlugin } from "./renderer-sg-ffvVd.mjs";
1
+ import { Oi as FrameSignal, o as AudioSignalComputeConfig } from "./index-CZK6CFLy.mjs";
2
+ import { n as NodeRendererPlugin } from "./renderer-92IAZzBU.mjs";
3
3
 
4
4
  //#region ../../nodes/node-modulate/dist/renderer.d.mts
5
5
  //#region src/renderers/index.d.ts
@@ -34,4 +34,4 @@ declare const AudioSignal: {
34
34
  };
35
35
  //#endregion
36
36
  export { _default as i, AudioSignalOptions as n, ExtractedAudioSignalsBundle as r, AudioSignal as t };
37
- //# sourceMappingURL=audio-pIgFoKQ2.d.mts.map
37
+ //# sourceMappingURL=audio-2ew5y0Bl.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"audio-pIgFoKQ2.d.mts","names":["_framefields_node_sdk_renderer0","_default","NodeRendererPlugin","Readonly","default"],"sources":["../../../nodes/node-modulate/dist/renderer.d.mts","../src/signals/audio.ts"],"sourcesContent":["import * as _framefields_node_sdk_renderer0 from \"@framefields/node-sdk/renderer\";\n\n//#region src/renderers/index.d.ts\ndeclare const _default: Readonly<_framefields_node_sdk_renderer0.NodeRendererPlugin>;\n//#endregion\nexport { _default as default };\n//# sourceMappingURL=renderer.d.mts.map"],"mappings":";;;;;cAGcC,UAAUE,SAASH;AAHiD;;;UCYjE,kBAAA,SAA2B;;EDT9BC,WAAsE,CAAA,EAAA,MAAA;;;UCenE,2BAAA;EANA,OAAA,EAOP,WAPO,CAAmB,MAAA,CAAA;EAMnB,IAAA,EAEV,WAFU,CAAA,MAAA,CAAA;EACP,IAAA,EAEH,WAFG,CAAA,MAAA,CAAA;EACH,MAAA,EAEE,WAFF,CAAA,MAAA,CAAA;EACA,WAAA,EAAA,MAAA;EACE,SAAA,EAAA,MAAA;EAAW,UAAA,EAAA,MAAA;EAaP,WAAA,EAAA,OAuGZ;EArGW,OAAA,EAAA,OAAA;EAED,aAAA,EAAA,OAAA;EACC,UAAA,EAAA,OAAA;EAAR,UAAA,EAAA,OAAA;EAoFO,YAAA,EAAA,OAAA;EACC,SAAA,CAAA,KAAA,EAAA,MAAA,CAAA,EAAA,IAAA;;AAAD,cA1FE,WA0FF,EAAA;gCAxFC,8CAED,qBACP,QAAQ;oCAoFD,qBACP,QAAQ"}
1
+ {"version":3,"file":"audio-2ew5y0Bl.d.mts","names":["_framefields_node_sdk_renderer0","_default","NodeRendererPlugin","Readonly","default"],"sources":["../../../nodes/node-modulate/dist/renderer.d.mts","../src/signals/audio.ts"],"sourcesContent":["import * as _framefields_node_sdk_renderer0 from \"@framefields/node-sdk/renderer\";\n\n//#region src/renderers/index.d.ts\ndeclare const _default: Readonly<_framefields_node_sdk_renderer0.NodeRendererPlugin>;\n//#endregion\nexport { _default as default };\n//# sourceMappingURL=renderer.d.mts.map"],"mappings":";;;;;cAGcC,UAAUE,SAASH;AAHiD;;;UCYjE,kBAAA,SAA2B;;EDT9BC,WAAsE,CAAA,EAAA,MAAA;;;UCenE,2BAAA;EANA,OAAA,EAOP,WAPO,CAAmB,MAAA,CAAA;EAMnB,IAAA,EAEV,WAFU,CAAA,MAAA,CAAA;EACP,IAAA,EAEH,WAFG,CAAA,MAAA,CAAA;EACH,MAAA,EAEE,WAFF,CAAA,MAAA,CAAA;EACA,WAAA,EAAA,MAAA;EACE,SAAA,EAAA,MAAA;EAAW,UAAA,EAAA,MAAA;EAaP,WAAA,EAAA,OAuGZ;EArGW,OAAA,EAAA,OAAA;EAED,aAAA,EAAA,OAAA;EACC,UAAA,EAAA,OAAA;EAAR,UAAA,EAAA,OAAA;EAoFO,YAAA,EAAA,OAAA;EACC,SAAA,CAAA,KAAA,EAAA,MAAA,CAAA,EAAA,IAAA;;AAAD,cA1FE,WA0FF,EAAA;gCAxFC,8CAED,qBACP,QAAQ;oCAoFD,qBACP,QAAQ"}
@@ -1,6 +1,6 @@
1
- import { Tt as frameArraySignal } from "./dist-DFeF-ygz.mjs";
2
- import { A as ensureDevice, wt as AudioSignalComputePipeline } from "./dist-DBWkkSvJ.mjs";
3
- import { n as decodeAudioSource } from "./dist-DHQVWaV2.mjs";
1
+ import { Tt as frameArraySignal } from "./dist-D021IFfp.mjs";
2
+ import { A as ensureDevice, wt as AudioSignalComputePipeline } from "./dist-Bf0H4lp1.mjs";
3
+ import { n as decodeAudioSource } from "./dist-DG65RDhc.mjs";
4
4
 
5
5
  //#region src/signals/audio.ts
6
6
  const AudioSignal = {
@@ -82,4 +82,4 @@ const AudioSignal = {
82
82
 
83
83
  //#endregion
84
84
  export { AudioSignal as t };
85
- //# sourceMappingURL=audio-CZwVENqB.mjs.map
85
+ //# sourceMappingURL=audio-DrUskzwZ.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"audio-CZwVENqB.mjs","names":[],"sources":["../src/signals/audio.ts"],"sourcesContent":["import { decodeAudioSource } from \"@framefields/compositions\";\nimport {\n\ttype FrameSignal,\n\tframeArraySignal,\n\ttype GPUTextureBinding,\n} from \"@framefields/core\";\nimport {\n\ttype AudioSignalComputeConfig,\n\tAudioSignalComputePipeline,\n\tensureDevice,\n} from \"@framefields/webgpu-renderers\";\n\nexport interface AudioSignalOptions extends AudioSignalComputeConfig {\n\tfps?: number;\n\ttargetWidth?: number;\n\tpreviewMode?: \"waveform\" | \"envelope\" | \"beat_markers\" | \"spectrum\";\n}\n\nexport interface ExtractedAudioSignalsBundle {\n\tprimary: FrameSignal<number>;\n\tbeat: FrameSignal<number>;\n\tbass: FrameSignal<number>;\n\tenergy: FrameSignal<number>;\n\tdurationSec: number;\n\tnumFrames: number;\n\tsampleRate: number;\n\ttextureView: unknown;\n\ttexture: unknown;\n\tprimaryBuffer: unknown;\n\tbeatBuffer: unknown;\n\tbassBuffer: unknown;\n\tenergyBuffer: unknown;\n\tseekFrame(frame: number): void;\n}\n\nexport const AudioSignal = {\n\tasync extractFromChannels(\n\t\tchannels: Float32Array[],\n\t\tsampleRate: number,\n\t\toptions: AudioSignalOptions = {},\n\t): Promise<ExtractedAudioSignalsBundle> {\n\t\tconst device = await ensureDevice();\n\t\tconst fps = options.fps ?? 24;\n\t\tconst targetWidth = options.targetWidth ?? 512;\n\n\t\tconst extracted = await AudioSignalComputePipeline.extractFeatures(\n\t\t\tdevice,\n\t\t\tchannels,\n\t\t\tsampleRate,\n\t\t\tfps,\n\t\t\toptions,\n\t\t\ttargetWidth,\n\t\t);\n\n\t\tconst samples = extracted.channelSamples ?? {\n\t\t\tprimary: new Float32Array(extracted.numFrames),\n\t\t\tbeat: new Float32Array(extracted.numFrames),\n\t\t\tbass: new Float32Array(extracted.numFrames),\n\t\t\tenergy: new Float32Array(extracted.numFrames),\n\t\t};\n\n\t\tconst primaryBinding: GPUTextureBinding = {\n\t\t\tnodeId: \"audio_primary\",\n\t\t\tchannel: \"primary\",\n\t\t\ttextureView: extracted.textureView,\n\t\t\ttexture: extracted.texture,\n\t\t\tbuffer: extracted.primaryBuffer,\n\t\t\tstats: extracted.stats.primary,\n\t\t};\n\t\tconst beatBinding: GPUTextureBinding = {\n\t\t\tnodeId: \"audio_beat\",\n\t\t\tchannel: \"beat\",\n\t\t\ttextureView: extracted.textureView,\n\t\t\ttexture: extracted.texture,\n\t\t\tbuffer: extracted.beatBuffer,\n\t\t\tstats: extracted.stats.beat,\n\t\t};\n\t\tconst bassBinding: GPUTextureBinding = {\n\t\t\tnodeId: \"audio_bass\",\n\t\t\tchannel: \"bass\",\n\t\t\ttextureView: extracted.textureView,\n\t\t\ttexture: extracted.texture,\n\t\t\tbuffer: extracted.bassBuffer,\n\t\t\tstats: extracted.stats.bass,\n\t\t};\n\t\tconst energyBinding: GPUTextureBinding = {\n\t\t\tnodeId: \"audio_energy\",\n\t\t\tchannel: \"energy\",\n\t\t\ttextureView: extracted.textureView,\n\t\t\ttexture: extracted.texture,\n\t\t\tbuffer: extracted.energyBuffer,\n\t\t\tstats: extracted.stats.energy,\n\t\t};\n\n\t\tconst primary = frameArraySignal(samples.primary, fps, primaryBinding);\n\t\tconst beat = frameArraySignal(samples.beat, fps, beatBinding);\n\t\tconst bass = frameArraySignal(samples.bass, fps, bassBinding);\n\t\tconst energy = frameArraySignal(samples.energy, fps, energyBinding);\n\n\t\treturn {\n\t\t\tprimary,\n\t\t\tbeat,\n\t\t\tbass,\n\t\t\tenergy,\n\t\t\tdurationSec: extracted.durationSec,\n\t\t\tnumFrames: extracted.numFrames,\n\t\t\tsampleRate,\n\t\t\ttextureView: extracted.textureView,\n\t\t\ttexture: extracted.texture,\n\t\t\tprimaryBuffer: extracted.primaryBuffer,\n\t\t\tbeatBuffer: extracted.beatBuffer,\n\t\t\tbassBuffer: extracted.bassBuffer,\n\t\t\tenergyBuffer: extracted.energyBuffer,\n\t\t\tseekFrame(frame: number) {\n\t\t\t\tprimary.seekFrame?.(frame);\n\t\t\t\tbeat.seekFrame?.(frame);\n\t\t\t\tbass.seekFrame?.(frame);\n\t\t\t\tenergy.seekFrame?.(frame);\n\t\t\t},\n\t\t};\n\t},\n\n\tasync extract(\n\t\tsource: string,\n\t\toptions: AudioSignalOptions = {},\n\t): Promise<ExtractedAudioSignalsBundle> {\n\t\tconst decoded = await decodeAudioSource(source);\n\t\tif (!decoded || decoded.channels.length === 0) {\n\t\t\tthrow new Error(\n\t\t\t\t`Failed to decode audio source for feature extraction: ${source}`,\n\t\t\t);\n\t\t}\n\t\treturn AudioSignal.extractFromChannels(\n\t\t\tdecoded.channels,\n\t\t\tdecoded.sampleRate,\n\t\t\toptions,\n\t\t);\n\t},\n};\n"],"mappings":";;;;;AAmCA,MAAa,cAAc;CAC1B,MAAM,oBACL,UACA,YACA,UAA8B,EAAE,EACO;EACvC,MAAM,SAAS,MAAM,cAAc;EACnC,MAAM,MAAM,QAAQ,OAAO;EAC3B,MAAM,cAAc,QAAQ,eAAe;EAE3C,MAAM,YAAY,MAAM,2BAA2B,gBAClD,QACA,UACA,YACA,KACA,SACA,YACA;EAED,MAAM,UAAU,UAAU,kBAAkB;GAC3C,SAAS,IAAI,aAAa,UAAU,UAAU;GAC9C,MAAM,IAAI,aAAa,UAAU,UAAU;GAC3C,MAAM,IAAI,aAAa,UAAU,UAAU;GAC3C,QAAQ,IAAI,aAAa,UAAU,UAAU;GAC7C;EAED,MAAM,iBAAoC;GACzC,QAAQ;GACR,SAAS;GACT,aAAa,UAAU;GACvB,SAAS,UAAU;GACnB,QAAQ,UAAU;GAClB,OAAO,UAAU,MAAM;GACvB;EACD,MAAM,cAAiC;GACtC,QAAQ;GACR,SAAS;GACT,aAAa,UAAU;GACvB,SAAS,UAAU;GACnB,QAAQ,UAAU;GAClB,OAAO,UAAU,MAAM;GACvB;EACD,MAAM,cAAiC;GACtC,QAAQ;GACR,SAAS;GACT,aAAa,UAAU;GACvB,SAAS,UAAU;GACnB,QAAQ,UAAU;GAClB,OAAO,UAAU,MAAM;GACvB;EACD,MAAM,gBAAmC;GACxC,QAAQ;GACR,SAAS;GACT,aAAa,UAAU;GACvB,SAAS,UAAU;GACnB,QAAQ,UAAU;GAClB,OAAO,UAAU,MAAM;GACvB;EAED,MAAM,UAAU,iBAAiB,QAAQ,SAAS,KAAK,eAAe;EACtE,MAAM,OAAO,iBAAiB,QAAQ,MAAM,KAAK,YAAY;EAC7D,MAAM,OAAO,iBAAiB,QAAQ,MAAM,KAAK,YAAY;EAC7D,MAAM,SAAS,iBAAiB,QAAQ,QAAQ,KAAK,cAAc;AAEnE,SAAO;GACN;GACA;GACA;GACA;GACA,aAAa,UAAU;GACvB,WAAW,UAAU;GACrB;GACA,aAAa,UAAU;GACvB,SAAS,UAAU;GACnB,eAAe,UAAU;GACzB,YAAY,UAAU;GACtB,YAAY,UAAU;GACtB,cAAc,UAAU;GACxB,UAAU,OAAe;AACxB,YAAQ,YAAY,MAAM;AAC1B,SAAK,YAAY,MAAM;AACvB,SAAK,YAAY,MAAM;AACvB,WAAO,YAAY,MAAM;;GAE1B;;CAGF,MAAM,QACL,QACA,UAA8B,EAAE,EACO;EACvC,MAAM,UAAU,MAAM,kBAAkB,OAAO;AAC/C,MAAI,CAAC,WAAW,QAAQ,SAAS,WAAW,EAC3C,OAAM,IAAI,MACT,yDAAyD,SACzD;AAEF,SAAO,YAAY,oBAClB,QAAQ,UACR,QAAQ,YACR,QACA;;CAEF"}
1
+ {"version":3,"file":"audio-DrUskzwZ.mjs","names":[],"sources":["../src/signals/audio.ts"],"sourcesContent":["import { decodeAudioSource } from \"@framefields/compositions\";\nimport {\n\ttype FrameSignal,\n\tframeArraySignal,\n\ttype GPUTextureBinding,\n} from \"@framefields/core\";\nimport {\n\ttype AudioSignalComputeConfig,\n\tAudioSignalComputePipeline,\n\tensureDevice,\n} from \"@framefields/webgpu-renderers\";\n\nexport interface AudioSignalOptions extends AudioSignalComputeConfig {\n\tfps?: number;\n\ttargetWidth?: number;\n\tpreviewMode?: \"waveform\" | \"envelope\" | \"beat_markers\" | \"spectrum\";\n}\n\nexport interface ExtractedAudioSignalsBundle {\n\tprimary: FrameSignal<number>;\n\tbeat: FrameSignal<number>;\n\tbass: FrameSignal<number>;\n\tenergy: FrameSignal<number>;\n\tdurationSec: number;\n\tnumFrames: number;\n\tsampleRate: number;\n\ttextureView: unknown;\n\ttexture: unknown;\n\tprimaryBuffer: unknown;\n\tbeatBuffer: unknown;\n\tbassBuffer: unknown;\n\tenergyBuffer: unknown;\n\tseekFrame(frame: number): void;\n}\n\nexport const AudioSignal = {\n\tasync extractFromChannels(\n\t\tchannels: Float32Array[],\n\t\tsampleRate: number,\n\t\toptions: AudioSignalOptions = {},\n\t): Promise<ExtractedAudioSignalsBundle> {\n\t\tconst device = await ensureDevice();\n\t\tconst fps = options.fps ?? 24;\n\t\tconst targetWidth = options.targetWidth ?? 512;\n\n\t\tconst extracted = await AudioSignalComputePipeline.extractFeatures(\n\t\t\tdevice,\n\t\t\tchannels,\n\t\t\tsampleRate,\n\t\t\tfps,\n\t\t\toptions,\n\t\t\ttargetWidth,\n\t\t);\n\n\t\tconst samples = extracted.channelSamples ?? {\n\t\t\tprimary: new Float32Array(extracted.numFrames),\n\t\t\tbeat: new Float32Array(extracted.numFrames),\n\t\t\tbass: new Float32Array(extracted.numFrames),\n\t\t\tenergy: new Float32Array(extracted.numFrames),\n\t\t};\n\n\t\tconst primaryBinding: GPUTextureBinding = {\n\t\t\tnodeId: \"audio_primary\",\n\t\t\tchannel: \"primary\",\n\t\t\ttextureView: extracted.textureView,\n\t\t\ttexture: extracted.texture,\n\t\t\tbuffer: extracted.primaryBuffer,\n\t\t\tstats: extracted.stats.primary,\n\t\t};\n\t\tconst beatBinding: GPUTextureBinding = {\n\t\t\tnodeId: \"audio_beat\",\n\t\t\tchannel: \"beat\",\n\t\t\ttextureView: extracted.textureView,\n\t\t\ttexture: extracted.texture,\n\t\t\tbuffer: extracted.beatBuffer,\n\t\t\tstats: extracted.stats.beat,\n\t\t};\n\t\tconst bassBinding: GPUTextureBinding = {\n\t\t\tnodeId: \"audio_bass\",\n\t\t\tchannel: \"bass\",\n\t\t\ttextureView: extracted.textureView,\n\t\t\ttexture: extracted.texture,\n\t\t\tbuffer: extracted.bassBuffer,\n\t\t\tstats: extracted.stats.bass,\n\t\t};\n\t\tconst energyBinding: GPUTextureBinding = {\n\t\t\tnodeId: \"audio_energy\",\n\t\t\tchannel: \"energy\",\n\t\t\ttextureView: extracted.textureView,\n\t\t\ttexture: extracted.texture,\n\t\t\tbuffer: extracted.energyBuffer,\n\t\t\tstats: extracted.stats.energy,\n\t\t};\n\n\t\tconst primary = frameArraySignal(samples.primary, fps, primaryBinding);\n\t\tconst beat = frameArraySignal(samples.beat, fps, beatBinding);\n\t\tconst bass = frameArraySignal(samples.bass, fps, bassBinding);\n\t\tconst energy = frameArraySignal(samples.energy, fps, energyBinding);\n\n\t\treturn {\n\t\t\tprimary,\n\t\t\tbeat,\n\t\t\tbass,\n\t\t\tenergy,\n\t\t\tdurationSec: extracted.durationSec,\n\t\t\tnumFrames: extracted.numFrames,\n\t\t\tsampleRate,\n\t\t\ttextureView: extracted.textureView,\n\t\t\ttexture: extracted.texture,\n\t\t\tprimaryBuffer: extracted.primaryBuffer,\n\t\t\tbeatBuffer: extracted.beatBuffer,\n\t\t\tbassBuffer: extracted.bassBuffer,\n\t\t\tenergyBuffer: extracted.energyBuffer,\n\t\t\tseekFrame(frame: number) {\n\t\t\t\tprimary.seekFrame?.(frame);\n\t\t\t\tbeat.seekFrame?.(frame);\n\t\t\t\tbass.seekFrame?.(frame);\n\t\t\t\tenergy.seekFrame?.(frame);\n\t\t\t},\n\t\t};\n\t},\n\n\tasync extract(\n\t\tsource: string,\n\t\toptions: AudioSignalOptions = {},\n\t): Promise<ExtractedAudioSignalsBundle> {\n\t\tconst decoded = await decodeAudioSource(source);\n\t\tif (!decoded || decoded.channels.length === 0) {\n\t\t\tthrow new Error(\n\t\t\t\t`Failed to decode audio source for feature extraction: ${source}`,\n\t\t\t);\n\t\t}\n\t\treturn AudioSignal.extractFromChannels(\n\t\t\tdecoded.channels,\n\t\t\tdecoded.sampleRate,\n\t\t\toptions,\n\t\t);\n\t},\n};\n"],"mappings":";;;;;AAmCA,MAAa,cAAc;CAC1B,MAAM,oBACL,UACA,YACA,UAA8B,EAAE,EACO;EACvC,MAAM,SAAS,MAAM,cAAc;EACnC,MAAM,MAAM,QAAQ,OAAO;EAC3B,MAAM,cAAc,QAAQ,eAAe;EAE3C,MAAM,YAAY,MAAM,2BAA2B,gBAClD,QACA,UACA,YACA,KACA,SACA,YACA;EAED,MAAM,UAAU,UAAU,kBAAkB;GAC3C,SAAS,IAAI,aAAa,UAAU,UAAU;GAC9C,MAAM,IAAI,aAAa,UAAU,UAAU;GAC3C,MAAM,IAAI,aAAa,UAAU,UAAU;GAC3C,QAAQ,IAAI,aAAa,UAAU,UAAU;GAC7C;EAED,MAAM,iBAAoC;GACzC,QAAQ;GACR,SAAS;GACT,aAAa,UAAU;GACvB,SAAS,UAAU;GACnB,QAAQ,UAAU;GAClB,OAAO,UAAU,MAAM;GACvB;EACD,MAAM,cAAiC;GACtC,QAAQ;GACR,SAAS;GACT,aAAa,UAAU;GACvB,SAAS,UAAU;GACnB,QAAQ,UAAU;GAClB,OAAO,UAAU,MAAM;GACvB;EACD,MAAM,cAAiC;GACtC,QAAQ;GACR,SAAS;GACT,aAAa,UAAU;GACvB,SAAS,UAAU;GACnB,QAAQ,UAAU;GAClB,OAAO,UAAU,MAAM;GACvB;EACD,MAAM,gBAAmC;GACxC,QAAQ;GACR,SAAS;GACT,aAAa,UAAU;GACvB,SAAS,UAAU;GACnB,QAAQ,UAAU;GAClB,OAAO,UAAU,MAAM;GACvB;EAED,MAAM,UAAU,iBAAiB,QAAQ,SAAS,KAAK,eAAe;EACtE,MAAM,OAAO,iBAAiB,QAAQ,MAAM,KAAK,YAAY;EAC7D,MAAM,OAAO,iBAAiB,QAAQ,MAAM,KAAK,YAAY;EAC7D,MAAM,SAAS,iBAAiB,QAAQ,QAAQ,KAAK,cAAc;AAEnE,SAAO;GACN;GACA;GACA;GACA;GACA,aAAa,UAAU;GACvB,WAAW,UAAU;GACrB;GACA,aAAa,UAAU;GACvB,SAAS,UAAU;GACnB,eAAe,UAAU;GACzB,YAAY,UAAU;GACtB,YAAY,UAAU;GACtB,cAAc,UAAU;GACxB,UAAU,OAAe;AACxB,YAAQ,YAAY,MAAM;AAC1B,SAAK,YAAY,MAAM;AACvB,SAAK,YAAY,MAAM;AACvB,WAAO,YAAY,MAAM;;GAE1B;;CAGF,MAAM,QACL,QACA,UAA8B,EAAE,EACO;EACvC,MAAM,UAAU,MAAM,kBAAkB,OAAO;AAC/C,MAAI,CAAC,WAAW,QAAQ,SAAS,WAAW,EAC3C,OAAM,IAAI,MACT,yDAAyD,SACzD;AAEF,SAAO,YAAY,oBAClB,QAAQ,UACR,QAAQ,YACR,QACA;;CAEF"}
@@ -1,12 +1,12 @@
1
1
  import "../chunk-D7gtBK74.mjs";
2
- import "../index-C6awQk4-.mjs";
3
- import "../index-Dbwf24s4.mjs";
4
- import "../renderer-sg-ffvVd.mjs";
5
- import "../renderer-vTsc6CpO.mjs";
6
- import { $i as themes, $n as Cue, $r as bandEdges, Ai as lineShift, Ar as ResolvedMotion, Bi as scaleFrames, Bn as ArcPath, Br as ThemeName, Ci as frameSpan, Cr as MotionPresetName, Di as holdFirstKeys, Dr as PropsOf, Ei as hashString, Er as Placement, Fi as rendererChars, Fn as targetSchema, Fr as TargetContext, Gi as springSettleFrames, Gn as BakedKey, Gr as WordRange, Hi as smoothRelease, Hn as ArrowGeometry, Hr as UNIT_INDEX, Ii as resampleBands, In as AnalyzeOptions, Ir as TargetNode, Ji as staggerRanks, Jn as BuildResult, Jr as arcPath, Ki as squigglePath, Kn as BaseProps, Kr as analyzeChannels, Li as resolveMotion, Ln as Anchor, Lr as TextLayout, Mi as pulseKeys, Mr as Rng, Ni as quantize, Nr as StaggerOrder, Oi as lerp2, Or as PulseOptions, Pi as rangeRects, Pr as Target, Qi as themeFrames, Qn as ComponentMeta, Qr as bakeSamples, Ri as resolveTarget, Rn as Animatable, Rr as Theme, Si as findRange, Sr as MotionPreset, Ti as hashRng, Tr as ParticleOptions, Ui as springAt, Un as AudioLevels, Ur as UnitSchedule, Vi as scheduleExpression, Vn as ArrowCurve, Vr as TrackedObjectLike, Wi as springKeys, Wn as BakeOptions, Wr as Vec2, Xi as targetPoint, Xn as ComponentDefinition, Xr as audioLevelsSchema, Yi as stepExpression, Yn as ComponentDefaults, Yr as arrowPaths, Zi as textLayout, Zn as ComponentExtras, Zr as bakeFunction, _i as ellipsePath, _r as MeasureFn, aa as windowExpression, ai as boxPath, ar as FrameContextLike, bi as evaluateGlyphExpression, br as Metrics, ca as wordRanges, ci as constantExpression, cr as GlyphAnimator, di as defineComponent, dr as GlyphUnit, ea as toFrames, ei as basePropsSchema, er as Cues, fi as defineMeta, fr as GrainOptions, gi as ease$1, gr as MOTION_PRESETS, hi as drawOnKeys, hr as LayerStyleConfig, i as analyzeAudio, ia as typingFrames, ii as boundsOf, ir as ExtrudedTextOptions, ji as offsetCues, jr as ResolvedTarget, ki as linePath, kr as Rect, li as contrastRatio, lr as GlyphBox, mi as dist, mr as Host, n as bindComponent, na as toSeconds, ni as bind, nr as CutoutOptions, oa as within, oi as catmullRom, or as FrameValue, pi as defineTheme, pr as HandOptions, qi as staggerOffsets, qn as BuildContext, qr as anchorPoint, r as z, ra as transformPathData, ri as boilKeys, rr as EaseFn, sa as wobblePoints, si as chain, sr as FrameWindow, t as ComponentNode, ta as toPathData, ti as beats, tr as CuesOf, ui as cover, ur as GlyphProps, vi as enterAnimation, vr as MeasureOptions, wi as glyphAnimator, wr as MotionSize, xi as exitAnimation, xr as MotionOptions, yi as evaluateEase, yr as MediaOptions, zi as rng, zn as AnimatableMethods, zr as ThemeInput } from "../index-BlPLU_a1.mjs";
7
- import "../index-BAXaZC6T.mjs";
8
- import "../audio-pIgFoKQ2.mjs";
9
- import "../index-CEsl2BcF.mjs";
10
- import "../index-DPP5g-Si.mjs";
11
- import "../index-BE1KdTQ7.mjs";
2
+ import "../index-CZK6CFLy.mjs";
3
+ import "../index-D1C735Wp.mjs";
4
+ import "../renderer-92IAZzBU.mjs";
5
+ import "../renderer-CE9N4EEI.mjs";
6
+ import { $i as themes, $n as Cues, $r as basePropsSchema, Ai as offsetCues, Ar as ResolvedTarget, Bi as scheduleExpression, Bn as ArrowCurve, Br as TrackedObjectLike, Ci as glyphAnimator, Cr as MotionSize, Di as lerp2, Dr as PulseOptions, Ei as holdFirstKeys, Er as PropsOf, Fi as resampleBands, Fn as AnalyzeOptions, Fr as TargetNode, Gi as squigglePath, Gn as BaseProps, Gr as analyzeChannels, Hi as springAt, Hn as AudioLevels, Hr as UnitSchedule, Ii as resolveMotion, In as Anchor, Ir as TextLayout, Ji as stepExpression, Jn as ComponentDefaults, Jr as arrowPaths, Ki as staggerOffsets, Kn as BuildContext, Kr as anchorPoint, Li as resolveTarget, Ln as Animatable, Lr as Theme, Mi as quantize, Mr as StaggerOrder, Ni as rangeRects, Nr as Target, Oi as linePath, Or as Rect, Pi as rendererChars, Pr as TargetContext, Qi as themeFrames, Qn as Cue, Qr as bandEdges, Ri as rng, Rn as AnimatableMethods, Rr as ThemeInput, Si as frameSpan, Sr as MotionPresetName, Ti as hashString, Tr as Placement, Ui as springKeys, Un as BakeOptions, Ur as Vec2, Vi as smoothRelease, Vn as ArrowGeometry, Vr as UNIT_INDEX, Wi as springSettleFrames, Wn as BakedKey, Wr as WordRange, Xi as targetSchema, Xn as ComponentExtras, Xr as bakeFunction, Yi as targetPoint, Yn as ComponentDefinition, Yr as audioLevelsSchema, Zi as textLayout, Zn as ComponentMeta, Zr as bakeSamples, _i as enterAnimation, _r as MeasureOptions, aa as windowExpression, ai as catmullRom, ar as FrameValue, bi as exitAnimation, br as MotionOptions, ca as wordRanges, ci as contrastRatio, cr as GlyphBox, di as defineMeta, dr as GrainOptions, ea as toFrames, ei as beats, er as CuesOf, fi as defineTheme, fr as HandOptions, gi as ellipsePath, gr as MeasureFn, hi as ease$1, hr as MOTION_PRESETS, i as analyzeAudio, ia as typingFrames, ii as boxPath, ir as FrameContextLike, ji as pulseKeys, jr as Rng, ki as lineShift, kr as ResolvedMotion, li as cover, lr as GlyphProps, mi as drawOnKeys, mr as LayerStyleConfig, n as bindComponent, na as toSeconds, ni as boilKeys, nr as EaseFn, oa as within, oi as chain, or as FrameWindow, pi as dist, pr as Host, qi as staggerRanks, qn as BuildResult, qr as arcPath, r as z, ra as transformPathData, ri as boundsOf, rr as ExtrudedTextOptions, sa as wobblePoints, si as constantExpression, sr as GlyphAnimator, t as ComponentNode, ta as toPathData, ti as bind, tr as CutoutOptions, ui as defineComponent, ur as GlyphUnit, vi as evaluateEase, vr as MediaOptions, wi as hashRng, wr as ParticleOptions, xi as findRange, xr as MotionPreset, yi as evaluateGlyphExpression, yr as Metrics, zi as scaleFrames, zn as ArcPath, zr as ThemeName } from "../index-tCKz9Tku.mjs";
7
+ import "../index-CfMylY3O.mjs";
8
+ import "../audio-2ew5y0Bl.mjs";
9
+ import "../index-DSGFMpwL.mjs";
10
+ import "../index-KqW22NHL.mjs";
11
+ import "../index-COQTaniR.mjs";
12
12
  export { AnalyzeOptions, Anchor, Animatable, AnimatableMethods, ArcPath, ArrowCurve, ArrowGeometry, AudioLevels, BakeOptions, BakedKey, BaseProps, BuildContext, BuildResult, ComponentDefaults, ComponentDefinition, ComponentExtras, ComponentMeta, ComponentNode, Cue, Cues, CuesOf, CutoutOptions, EaseFn, ExtrudedTextOptions, FrameContextLike, FrameValue, FrameWindow, GlyphAnimator, GlyphBox, GlyphProps, GlyphUnit, GrainOptions, HandOptions, Host, LayerStyleConfig, MOTION_PRESETS, MeasureFn, MeasureOptions, MediaOptions, Metrics, MotionOptions, MotionPreset, MotionPresetName, MotionSize, ParticleOptions, Placement, PropsOf, PulseOptions, Rect, ResolvedMotion, ResolvedTarget, Rng, StaggerOrder, Target, TargetContext, TargetNode, TextLayout, Theme, ThemeInput, ThemeName, TrackedObjectLike, UNIT_INDEX, UnitSchedule, Vec2, WordRange, analyzeAudio, analyzeChannels, anchorPoint, arcPath, arrowPaths, audioLevelsSchema, bakeFunction, bakeSamples, bandEdges, basePropsSchema, beats, bind, bindComponent, boilKeys, boundsOf, boxPath, catmullRom, chain, constantExpression, contrastRatio, cover, defineComponent, defineMeta, defineTheme, dist, drawOnKeys, ease$1 as ease, ellipsePath, enterAnimation, evaluateEase, evaluateGlyphExpression, exitAnimation, findRange, frameSpan, glyphAnimator, hashRng, hashString, holdFirstKeys, lerp2, linePath, lineShift, offsetCues, pulseKeys, quantize, rangeRects, rendererChars, resampleBands, resolveMotion, resolveTarget, rng, scaleFrames, scheduleExpression, smoothRelease, springAt, springKeys, springSettleFrames, squigglePath, staggerOffsets, staggerRanks, stepExpression, targetPoint, targetSchema, textLayout, themeFrames, themes, toFrames, toPathData, toSeconds, transformPathData, typingFrames, windowExpression, within, wobblePoints, wordRanges, z };
@@ -1,49 +1,49 @@
1
1
  import "../chunk-D7gtBK74.mjs";
2
- import { $ as offsetCues, A as constantExpression, At as wobblePoints, B as enterAnimation, C as beats, Ct as toFrames, D as boxPath, Dt as typingFrames, E as boundsOf, Et as transformPathData, F as defineTheme, G as frameSpan, H as evaluateGlyphExpression, I as dist, J as hashString, K as glyphAnimator, L as drawOnKeys, M as cover, N as defineComponent, O as catmullRom, Ot as windowExpression, P as defineMeta, Q as lineShift, R as ease, S as basePropsSchema, St as themes, T as boilKeys, Tt as toSeconds, U as exitAnimation, V as evaluateEase, W as findRange, X as lerp2, Y as holdFirstKeys, Z as linePath, _ as arrowPaths, _t as stepExpression, at as resolveMotion, b as bakeSamples, bt as textLayout, ct as scaleFrames, d as analyzeAudio, dt as springAt, et as pulseKeys, f as MOTION_PRESETS, ft as springKeys, g as arcPath, gt as staggerRanks, h as anchorPoint, ht as staggerOffsets, it as resampleBands, j as contrastRatio, jt as wordRanges, k as chain, kt as within, l as bindComponent, lt as scheduleExpression, m as analyzeChannels, mt as squigglePath, nt as rangeRects, ot as resolveTarget, p as UNIT_INDEX, pt as springSettleFrames, q as hashRng, rt as rendererChars, st as rng, tt as quantize, u as z, ut as smoothRelease, v as audioLevelsSchema, vt as targetPoint, w as bind, wt as toPathData, x as bandEdges, xt as themeFrames, y as bakeFunction, yt as targetSchema, z as ellipsePath } from "../src-Ds9IAk5S.mjs";
3
- import "../dist-DBWkkSvJ.mjs";
4
- import "../renderers-CP8CFWDs-DiX2Y4Qp.mjs";
5
- import "../signals-Cf9mfNGE.mjs";
6
- import "../renderer-PLoGrFGz.mjs";
2
+ import { $ as offsetCues, A as constantExpression, At as wobblePoints, B as enterAnimation, C as beats, Ct as toFrames, D as boxPath, Dt as typingFrames, E as boundsOf, Et as transformPathData, F as defineTheme, G as frameSpan, H as evaluateGlyphExpression, I as dist, J as hashString, K as glyphAnimator, L as drawOnKeys, M as cover, N as defineComponent, O as catmullRom, Ot as windowExpression, P as defineMeta, Q as lineShift, R as ease, S as basePropsSchema, St as themes, T as boilKeys, Tt as toSeconds, U as exitAnimation, V as evaluateEase, W as findRange, X as lerp2, Y as holdFirstKeys, Z as linePath, _ as arrowPaths, _t as stepExpression, at as resolveMotion, b as bakeSamples, bt as textLayout, ct as scaleFrames, d as analyzeAudio, dt as springAt, et as pulseKeys, f as MOTION_PRESETS, ft as springKeys, g as arcPath, gt as staggerRanks, h as anchorPoint, ht as staggerOffsets, it as resampleBands, j as contrastRatio, jt as wordRanges, k as chain, kt as within, l as bindComponent, lt as scheduleExpression, m as analyzeChannels, mt as squigglePath, nt as rangeRects, ot as resolveTarget, p as UNIT_INDEX, pt as springSettleFrames, q as hashRng, rt as rendererChars, st as rng, tt as quantize, u as z, ut as smoothRelease, v as audioLevelsSchema, vt as targetPoint, w as bind, wt as toPathData, x as bandEdges, xt as themeFrames, y as bakeFunction, yt as targetSchema, z as ellipsePath } from "../src-WAnxhDYD.mjs";
3
+ import "../dist-Bf0H4lp1.mjs";
4
+ import "../renderers-CP8CFWDs-BbLkcJTN.mjs";
5
+ import "../signals-BrNF9l9s.mjs";
6
+ import "../renderer-DTXAa2pL.mjs";
7
7
  import "../renderer-nLPfvY3-.mjs";
8
- import "../renderer-Bo_d7h86.mjs";
9
- import "../renderer-1VKN5j2C.mjs";
10
- import "../renderer-BYJS2lhn.mjs";
11
- import "../renderer-Bw5YP2Db.mjs";
12
- import "../renderer-D2ru2Afi.mjs";
13
- import "../renderer-DP41Fokp.mjs";
8
+ import "../renderer-vc8t_z-y.mjs";
9
+ import "../renderer-Y5JmTL8J.mjs";
10
+ import "../renderer-Cz5SOnJr.mjs";
11
+ import "../renderer-BwRLXhxJ.mjs";
12
+ import "../renderer-BKayVZhL.mjs";
13
+ import "../renderer-zdpn1Hkk.mjs";
14
14
  import "../renderer-B7fX0C62.mjs";
15
- import "../renderer-CLO8QHWE.mjs";
16
- import "../renderer-CNs1vBUy.mjs";
17
- import "../renderer-B31zMDE8.mjs";
18
- import "../renderer-2bipMLqz.mjs";
19
- import "../renderer-BhhweLr_.mjs";
20
- import "../renderer-VxVi_0c7.mjs";
21
- import "../renderer-BfrzKmRh.mjs";
22
- import "../renderer-gjT5v76-.mjs";
23
- import "../renderer-vwoyR8pW.mjs";
24
- import "../renderer-VdTs-dqH.mjs";
25
- import "../renderer-BmoQJUJO.mjs";
26
- import "../renderer-l_U6kA8K.mjs";
27
- import "../renderer-Bmj7AyJP.mjs";
28
- import "../renderer-DWaqF7-6.mjs";
29
- import "../renderer-B4blg067.mjs";
30
- import "../renderer-Cj1giMd0.mjs";
31
- import "../renderer-DuQMzR3v.mjs";
32
- import "../renderer-kP5Y282J.mjs";
33
- import "../renderer-CJoa4H2G.mjs";
34
- import "../renderer-BJwOM1Dq.mjs";
35
- import "../renderer-DqO9gBAi.mjs";
36
- import "../renderer-BAkPq8qo.mjs";
37
- import "../renderer-BWa3CLK7.mjs";
38
- import "../renderer-B8LXXvHi.mjs";
39
- import "../renderer-G3px5ODP.mjs";
40
- import "../renderer-D0X7Eh-T.mjs";
41
- import "../renderer-DyMEAZIm.mjs";
42
- import "../renderer-DHqicGgT.mjs";
43
- import "../renderer-B5YYBBDq.mjs";
44
- import "../renderer-D6p8b6ql.mjs";
45
- import "../renderer-fH9SCJC2.mjs";
46
- import "../renderer-BGNdwdCR.mjs";
47
- import "../renderer-ZjSP5jw6.mjs";
15
+ import "../renderer-CGKKjJ5Q.mjs";
16
+ import "../renderer-wIsJb2eO.mjs";
17
+ import "../renderer-RiWi7y5C.mjs";
18
+ import "../renderer-CJ2-jEy7.mjs";
19
+ import "../renderer-Datqywo_.mjs";
20
+ import "../renderer-CxOaqnho.mjs";
21
+ import "../renderer-CTvPNRMH.mjs";
22
+ import "../renderer-Cm9fEQsw.mjs";
23
+ import "../renderer-Du8z4UrN.mjs";
24
+ import "../renderer-4P-DCjk2.mjs";
25
+ import "../renderer-CT_3Fegr.mjs";
26
+ import "../renderer-BIYJKdwA.mjs";
27
+ import "../renderer-Bk7vVfTu.mjs";
28
+ import "../renderer-CWnhRMOq.mjs";
29
+ import "../renderer-5-9DPis6.mjs";
30
+ import "../renderer-CPl1wOrj.mjs";
31
+ import "../renderer-BBA-iCi-.mjs";
32
+ import "../renderer-CgMnZYTM.mjs";
33
+ import "../renderer-CuwVuVKG.mjs";
34
+ import "../renderer-Dkt1oh9H.mjs";
35
+ import "../renderer-DnT62IDK.mjs";
36
+ import "../renderer-B9yv3R1y.mjs";
37
+ import "../renderer-C5h2TSjH.mjs";
38
+ import "../renderer-MQPiZQXN.mjs";
39
+ import "../renderer-C8-NmotX.mjs";
40
+ import "../renderer-Ddg3dJmu.mjs";
41
+ import "../renderer-C4pS7aAI.mjs";
42
+ import "../renderer-D22g6ION.mjs";
43
+ import "../renderer-CjcrhBB2.mjs";
44
+ import "../renderer-CkJXq4bD.mjs";
45
+ import "../renderer-BVtQzjgT.mjs";
46
+ import "../renderer-C4f_X1Qc.mjs";
47
+ import "../renderer-Bt_j2Zi6.mjs";
48
48
 
49
49
  export { MOTION_PRESETS, UNIT_INDEX, analyzeAudio, analyzeChannels, anchorPoint, arcPath, arrowPaths, audioLevelsSchema, bakeFunction, bakeSamples, bandEdges, basePropsSchema, beats, bind, bindComponent, boilKeys, boundsOf, boxPath, catmullRom, chain, constantExpression, contrastRatio, cover, defineComponent, defineMeta, defineTheme, dist, drawOnKeys, ease, ellipsePath, enterAnimation, evaluateEase, evaluateGlyphExpression, exitAnimation, findRange, frameSpan, glyphAnimator, hashRng, hashString, holdFirstKeys, lerp2, linePath, lineShift, offsetCues, pulseKeys, quantize, rangeRects, rendererChars, resampleBands, resolveMotion, resolveTarget, rng, scaleFrames, scheduleExpression, smoothRelease, springAt, springKeys, springSettleFrames, squigglePath, staggerOffsets, staggerRanks, stepExpression, targetPoint, targetSchema, textLayout, themeFrames, themes, toFrames, toPathData, toSeconds, transformPathData, typingFrames, windowExpression, within, wobblePoints, wordRanges, z };
@@ -1,4 +1,4 @@
1
- import { C as FileDataSchema, J as SingleOutputGenericSchema, ct as VirtualMediaDataSchema, ht as createOutputItemSchema } from "./dist-DFeF-ygz.mjs";
1
+ import { C as FileDataSchema, J as SingleOutputGenericSchema, ct as VirtualMediaDataSchema, ht as createOutputItemSchema } from "./dist-D021IFfp.mjs";
2
2
  import { z } from "zod";
3
3
 
4
4
  //#region ../node-sdk/dist/index.mjs
@@ -99,4 +99,4 @@ const OperationInputsSchema = z.record(z.string(), z.object({
99
99
 
100
100
  //#endregion
101
101
  export { configBuilder as a, VideoResultSchema as i, ImageResultSchema as n, SignalResultSchema as r, ColorSchema as t };
102
- //# sourceMappingURL=dist-CQZ5_60A.mjs.map
102
+ //# sourceMappingURL=dist-BPOi5xb_.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dist-CQZ5_60A.mjs","names":["ConfigBuilder"],"sources":["../../node-sdk/dist/index.mjs"],"sourcesContent":["import { WebGPURegistry, audioRegistry, defineRenderer, isHandleConnected, isSignal, registerWebGPURenderer, resolveBoolean, resolveFrameNumber, resolveHandleParam, resolveNumber, resolveParam, resolveSignalField, resolveString, solveHomography, unwrapFrameParam, webgpuRegistry } from \"./renderer.mjs\";\nimport { FileDataSchema, MultiOutputGenericSchema, SingleOutputGenericSchema, VirtualMediaDataSchema, createOutputItemSchema } from \"@framefields/core\";\nimport { z } from \"zod\";\n\n//#region shared/config-builder.ts\nvar ConfigBuilder = class ConfigBuilder {\n\tconstructor(shape = {}, options = { strict: true }) {\n\t\tthis.shape = shape;\n\t\tthis.options = options;\n\t}\n\tfield(key, schema, options) {\n\t\tconst withMeta = options ? schema.meta({ ...options }) : schema;\n\t\treturn new ConfigBuilder({\n\t\t\t...this.shape,\n\t\t\t[key]: withMeta\n\t\t}, this.options);\n\t}\n\tbuild() {\n\t\tconst base = z.object(this.shape);\n\t\treturn { schema: this.options.strict !== false ? base.strict() : base };\n\t}\n};\nfunction configBuilder(options = { strict: true }) {\n\treturn new ConfigBuilder({}, options);\n}\n\n//#endregion\n//#region shared/schemas.ts\nconst COMPOSITE_OPERATIONS = [\n\t\"source-over\",\n\t\"source-in\",\n\t\"source-out\",\n\t\"source-atop\",\n\t\"destination-over\",\n\t\"destination-in\",\n\t\"destination-out\",\n\t\"destination-atop\",\n\t\"lighter\",\n\t\"copy\",\n\t\"xor\",\n\t\"multiply\",\n\t\"screen\",\n\t\"overlay\",\n\t\"darken\",\n\t\"lighten\",\n\t\"color-dodge\",\n\t\"color-burn\",\n\t\"hard-light\",\n\t\"soft-light\",\n\t\"difference\",\n\t\"exclusion\",\n\t\"hue\",\n\t\"saturation\",\n\t\"color\",\n\t\"luminosity\"\n];\nconst GlobalCompositeOperation = z.enum(COMPOSITE_OPERATIONS);\nconst ColorSchema = z.string().optional();\nconst PercentageSchema = z.number().min(0).max(100);\nconst DimensionSchema = z.number().min(0).optional();\nconst AnimationSchema = z.object({ animations: z.array(z.object({\n\tid: z.string(),\n\ttype: z.enum([\n\t\t\"fade-in\",\n\t\t\"fade-out\",\n\t\t\"slide-in-left\",\n\t\t\"slide-in-right\",\n\t\t\"slide-in-top\",\n\t\t\"slide-in-bottom\",\n\t\t\"zoom-in\",\n\t\t\"zoom-out\",\n\t\t\"rotate-cw\",\n\t\t\"rotate-ccw\",\n\t\t\"bounce\",\n\t\t\"shake\"\n\t]),\n\tvalue: z.number()\n})).optional() });\nconst StrokeSchema = z.object({\n\tstroke: ColorSchema,\n\tstrokeWidth: z.number().min(0).optional(),\n\tstrokeAlign: z.enum([\n\t\t\"inside\",\n\t\t\"center\",\n\t\t\"outside\"\n\t]).optional().default(\"inside\"),\n\tstrokeRadius: z.number().min(0).optional()\n});\nconst ImageResultSchema = SingleOutputGenericSchema(createOutputItemSchema(z.literal(\"Image\"), FileDataSchema));\nconst VideoResultSchema = SingleOutputGenericSchema(createOutputItemSchema(z.literal(\"Video\"), VirtualMediaDataSchema));\nconst AudioResultSchema = SingleOutputGenericSchema(createOutputItemSchema(z.literal(\"Audio\"), VirtualMediaDataSchema));\nconst TextResultSchema = SingleOutputGenericSchema(createOutputItemSchema(z.literal(\"Text\"), z.string()));\nconst NumberResultSchema = SingleOutputGenericSchema(createOutputItemSchema(z.literal(\"Number\"), z.number()));\nconst SignalResultSchema = SingleOutputGenericSchema(createOutputItemSchema(z.literal(\"Signal\"), z.unknown()));\n/** The `inputs` map an operation carries: one entry per connected handle. */\nconst OperationInputsSchema = z.record(z.string(), z.object({\n\tconnectionValid: z.boolean(),\n\toutputItem: z.object({\n\t\ttype: z.string(),\n\t\tdata: z.unknown()\n\t}).nullable().optional()\n}));\n\n//#endregion\nexport { AnimationSchema, AudioResultSchema, COMPOSITE_OPERATIONS, ColorSchema, ConfigBuilder, DimensionSchema, FileDataSchema, GlobalCompositeOperation, ImageResultSchema, MultiOutputGenericSchema, NumberResultSchema, OperationInputsSchema, PercentageSchema, SignalResultSchema, SingleOutputGenericSchema, StrokeSchema, TextResultSchema, VideoResultSchema, VirtualMediaDataSchema, WebGPURegistry, audioRegistry, configBuilder, createOutputItemSchema, defineRenderer, isHandleConnected, isSignal, registerWebGPURenderer, resolveBoolean, resolveFrameNumber, resolveHandleParam, resolveNumber, resolveParam, resolveSignalField, resolveString, solveHomography, unwrapFrameParam, webgpuRegistry };\n//# sourceMappingURL=index.mjs.map"],"mappings":";;;;AAKA,IAAI,gBAAgB,MAAMA,gBAAc;CACvC,YAAY,QAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ,MAAM,EAAE;AACnD,OAAK,QAAQ;AACb,OAAK,UAAU;;CAEhB,MAAM,KAAK,QAAQ,SAAS;EAC3B,MAAM,WAAW,UAAU,OAAO,KAAK,EAAE,GAAG,SAAS,CAAC,GAAG;AACzD,SAAO,IAAIA,gBAAc;GACxB,GAAG,KAAK;IACP,MAAM;GACP,EAAE,KAAK,QAAQ;;CAEjB,QAAQ;EACP,MAAM,OAAO,EAAE,OAAO,KAAK,MAAM;AACjC,SAAO,EAAE,QAAQ,KAAK,QAAQ,WAAW,QAAQ,KAAK,QAAQ,GAAG,MAAM;;;AAGzE,SAAS,cAAc,UAAU,EAAE,QAAQ,MAAM,EAAE;AAClD,QAAO,IAAI,cAAc,EAAE,EAAE,QAAQ;;AAKtC,MAAM,uBAAuB;CAC5B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACD,MAAM,2BAA2B,EAAE,KAAK,qBAAqB;AAC7D,MAAM,cAAc,EAAE,QAAQ,CAAC,UAAU;AACzC,MAAM,mBAAmB,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI;AACnD,MAAM,kBAAkB,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU;AACpD,MAAM,kBAAkB,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO;CAC/D,IAAI,EAAE,QAAQ;CACd,MAAM,EAAE,KAAK;EACZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,CAAC;CACF,OAAO,EAAE,QAAQ;CACjB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;AACjB,MAAM,eAAe,EAAE,OAAO;CAC7B,QAAQ;CACR,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU;CACzC,aAAa,EAAE,KAAK;EACnB;EACA;EACA;EACA,CAAC,CAAC,UAAU,CAAC,QAAQ,SAAS;CAC/B,cAAc,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU;CAC1C,CAAC;AACF,MAAM,oBAAoB,0BAA0B,uBAAuB,EAAE,QAAQ,QAAQ,EAAE,eAAe,CAAC;AAC/G,MAAM,oBAAoB,0BAA0B,uBAAuB,EAAE,QAAQ,QAAQ,EAAE,uBAAuB,CAAC;AACvH,MAAM,oBAAoB,0BAA0B,uBAAuB,EAAE,QAAQ,QAAQ,EAAE,uBAAuB,CAAC;AACvH,MAAM,mBAAmB,0BAA0B,uBAAuB,EAAE,QAAQ,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AACzG,MAAM,qBAAqB,0BAA0B,uBAAuB,EAAE,QAAQ,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC7G,MAAM,qBAAqB,0BAA0B,uBAAuB,EAAE,QAAQ,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;;AAE9G,MAAM,wBAAwB,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,OAAO;CAC3D,iBAAiB,EAAE,SAAS;CAC5B,YAAY,EAAE,OAAO;EACpB,MAAM,EAAE,QAAQ;EAChB,MAAM,EAAE,SAAS;EACjB,CAAC,CAAC,UAAU,CAAC,UAAU;CACxB,CAAC,CAAC"}
1
+ {"version":3,"file":"dist-BPOi5xb_.mjs","names":["ConfigBuilder"],"sources":["../../node-sdk/dist/index.mjs"],"sourcesContent":["import { WebGPURegistry, audioRegistry, defineRenderer, isHandleConnected, isSignal, registerWebGPURenderer, resolveBoolean, resolveFrameNumber, resolveHandleParam, resolveNumber, resolveParam, resolveSignalField, resolveString, solveHomography, unwrapFrameParam, webgpuRegistry } from \"./renderer.mjs\";\nimport { FileDataSchema, MultiOutputGenericSchema, SingleOutputGenericSchema, VirtualMediaDataSchema, createOutputItemSchema } from \"@framefields/core\";\nimport { z } from \"zod\";\n\n//#region shared/config-builder.ts\nvar ConfigBuilder = class ConfigBuilder {\n\tconstructor(shape = {}, options = { strict: true }) {\n\t\tthis.shape = shape;\n\t\tthis.options = options;\n\t}\n\tfield(key, schema, options) {\n\t\tconst withMeta = options ? schema.meta({ ...options }) : schema;\n\t\treturn new ConfigBuilder({\n\t\t\t...this.shape,\n\t\t\t[key]: withMeta\n\t\t}, this.options);\n\t}\n\tbuild() {\n\t\tconst base = z.object(this.shape);\n\t\treturn { schema: this.options.strict !== false ? base.strict() : base };\n\t}\n};\nfunction configBuilder(options = { strict: true }) {\n\treturn new ConfigBuilder({}, options);\n}\n\n//#endregion\n//#region shared/schemas.ts\nconst COMPOSITE_OPERATIONS = [\n\t\"source-over\",\n\t\"source-in\",\n\t\"source-out\",\n\t\"source-atop\",\n\t\"destination-over\",\n\t\"destination-in\",\n\t\"destination-out\",\n\t\"destination-atop\",\n\t\"lighter\",\n\t\"copy\",\n\t\"xor\",\n\t\"multiply\",\n\t\"screen\",\n\t\"overlay\",\n\t\"darken\",\n\t\"lighten\",\n\t\"color-dodge\",\n\t\"color-burn\",\n\t\"hard-light\",\n\t\"soft-light\",\n\t\"difference\",\n\t\"exclusion\",\n\t\"hue\",\n\t\"saturation\",\n\t\"color\",\n\t\"luminosity\"\n];\nconst GlobalCompositeOperation = z.enum(COMPOSITE_OPERATIONS);\nconst ColorSchema = z.string().optional();\nconst PercentageSchema = z.number().min(0).max(100);\nconst DimensionSchema = z.number().min(0).optional();\nconst AnimationSchema = z.object({ animations: z.array(z.object({\n\tid: z.string(),\n\ttype: z.enum([\n\t\t\"fade-in\",\n\t\t\"fade-out\",\n\t\t\"slide-in-left\",\n\t\t\"slide-in-right\",\n\t\t\"slide-in-top\",\n\t\t\"slide-in-bottom\",\n\t\t\"zoom-in\",\n\t\t\"zoom-out\",\n\t\t\"rotate-cw\",\n\t\t\"rotate-ccw\",\n\t\t\"bounce\",\n\t\t\"shake\"\n\t]),\n\tvalue: z.number()\n})).optional() });\nconst StrokeSchema = z.object({\n\tstroke: ColorSchema,\n\tstrokeWidth: z.number().min(0).optional(),\n\tstrokeAlign: z.enum([\n\t\t\"inside\",\n\t\t\"center\",\n\t\t\"outside\"\n\t]).optional().default(\"inside\"),\n\tstrokeRadius: z.number().min(0).optional()\n});\nconst ImageResultSchema = SingleOutputGenericSchema(createOutputItemSchema(z.literal(\"Image\"), FileDataSchema));\nconst VideoResultSchema = SingleOutputGenericSchema(createOutputItemSchema(z.literal(\"Video\"), VirtualMediaDataSchema));\nconst AudioResultSchema = SingleOutputGenericSchema(createOutputItemSchema(z.literal(\"Audio\"), VirtualMediaDataSchema));\nconst TextResultSchema = SingleOutputGenericSchema(createOutputItemSchema(z.literal(\"Text\"), z.string()));\nconst NumberResultSchema = SingleOutputGenericSchema(createOutputItemSchema(z.literal(\"Number\"), z.number()));\nconst SignalResultSchema = SingleOutputGenericSchema(createOutputItemSchema(z.literal(\"Signal\"), z.unknown()));\n/** The `inputs` map an operation carries: one entry per connected handle. */\nconst OperationInputsSchema = z.record(z.string(), z.object({\n\tconnectionValid: z.boolean(),\n\toutputItem: z.object({\n\t\ttype: z.string(),\n\t\tdata: z.unknown()\n\t}).nullable().optional()\n}));\n\n//#endregion\nexport { AnimationSchema, AudioResultSchema, COMPOSITE_OPERATIONS, ColorSchema, ConfigBuilder, DimensionSchema, FileDataSchema, GlobalCompositeOperation, ImageResultSchema, MultiOutputGenericSchema, NumberResultSchema, OperationInputsSchema, PercentageSchema, SignalResultSchema, SingleOutputGenericSchema, StrokeSchema, TextResultSchema, VideoResultSchema, VirtualMediaDataSchema, WebGPURegistry, audioRegistry, configBuilder, createOutputItemSchema, defineRenderer, isHandleConnected, isSignal, registerWebGPURenderer, resolveBoolean, resolveFrameNumber, resolveHandleParam, resolveNumber, resolveParam, resolveSignalField, resolveString, solveHomography, unwrapFrameParam, webgpuRegistry };\n//# sourceMappingURL=index.mjs.map"],"mappings":";;;;AAKA,IAAI,gBAAgB,MAAMA,gBAAc;CACvC,YAAY,QAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ,MAAM,EAAE;AACnD,OAAK,QAAQ;AACb,OAAK,UAAU;;CAEhB,MAAM,KAAK,QAAQ,SAAS;EAC3B,MAAM,WAAW,UAAU,OAAO,KAAK,EAAE,GAAG,SAAS,CAAC,GAAG;AACzD,SAAO,IAAIA,gBAAc;GACxB,GAAG,KAAK;IACP,MAAM;GACP,EAAE,KAAK,QAAQ;;CAEjB,QAAQ;EACP,MAAM,OAAO,EAAE,OAAO,KAAK,MAAM;AACjC,SAAO,EAAE,QAAQ,KAAK,QAAQ,WAAW,QAAQ,KAAK,QAAQ,GAAG,MAAM;;;AAGzE,SAAS,cAAc,UAAU,EAAE,QAAQ,MAAM,EAAE;AAClD,QAAO,IAAI,cAAc,EAAE,EAAE,QAAQ;;AAKtC,MAAM,uBAAuB;CAC5B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACD,MAAM,2BAA2B,EAAE,KAAK,qBAAqB;AAC7D,MAAM,cAAc,EAAE,QAAQ,CAAC,UAAU;AACzC,MAAM,mBAAmB,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI;AACnD,MAAM,kBAAkB,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU;AACpD,MAAM,kBAAkB,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO;CAC/D,IAAI,EAAE,QAAQ;CACd,MAAM,EAAE,KAAK;EACZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,CAAC;CACF,OAAO,EAAE,QAAQ;CACjB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;AACjB,MAAM,eAAe,EAAE,OAAO;CAC7B,QAAQ;CACR,aAAa,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU;CACzC,aAAa,EAAE,KAAK;EACnB;EACA;EACA;EACA,CAAC,CAAC,UAAU,CAAC,QAAQ,SAAS;CAC/B,cAAc,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU;CAC1C,CAAC;AACF,MAAM,oBAAoB,0BAA0B,uBAAuB,EAAE,QAAQ,QAAQ,EAAE,eAAe,CAAC;AAC/G,MAAM,oBAAoB,0BAA0B,uBAAuB,EAAE,QAAQ,QAAQ,EAAE,uBAAuB,CAAC;AACvH,MAAM,oBAAoB,0BAA0B,uBAAuB,EAAE,QAAQ,QAAQ,EAAE,uBAAuB,CAAC;AACvH,MAAM,mBAAmB,0BAA0B,uBAAuB,EAAE,QAAQ,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AACzG,MAAM,qBAAqB,0BAA0B,uBAAuB,EAAE,QAAQ,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC7G,MAAM,qBAAqB,0BAA0B,uBAAuB,EAAE,QAAQ,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;;AAE9G,MAAM,wBAAwB,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,OAAO;CAC3D,iBAAiB,EAAE,SAAS;CAC5B,YAAY,EAAE,OAAO;EACpB,MAAM,EAAE,QAAQ;EAChB,MAAM,EAAE,SAAS;EACjB,CAAC,CAAC,UAAU,CAAC,UAAU;CACxB,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { r as __toESM, t as __commonJSMin } from "./chunk-D7gtBK74.mjs";
2
- import { $t as parseCssGradient, Gt as limitGradientStops, Ht as isSignal, Pt as gradientStopsToOklab, Qt as parseCssColor, Ut as isValueSignal } from "./dist-DFeF-ygz.mjs";
2
+ import { $t as parseCssGradient, Gt as limitGradientStops, Ht as isSignal, Pt as gradientStopsToOklab, Qt as parseCssColor, Ut as isValueSignal } from "./dist-D021IFfp.mjs";
3
3
  import { ALL_FORMATS, AudioBufferSink, CanvasSink, FilePathSource, Input, UrlSource, VideoSampleSink } from "mediabunny";
4
4
  import fs from "node:fs";
5
5
  import path from "node:path";
@@ -18363,9 +18363,10 @@ function shapeLineFromFont(source, text, options = {}) {
18363
18363
  };
18364
18364
  }
18365
18365
  /**
18366
- * Greedy word wrap over clusters in logical order: breaks only between
18367
- * whitespace and non-whitespace runs, drops whitespace at the start of each
18368
- * line, and never splits a word.
18366
+ * Greedy word wrap over one paragraph's clusters in logical order: breaks
18367
+ * only between whitespace and non-whitespace runs and never splits a word.
18368
+ * Whitespace a wrap leaves at the start of a line is dropped; the paragraph's
18369
+ * own leading whitespace (an indent) is kept.
18369
18370
  */
18370
18371
  function breakLines(clusters, maxWidth) {
18371
18372
  const lines = [];
@@ -18383,7 +18384,7 @@ function breakLines(clusters, maxWidth) {
18383
18384
  const token = clusters.slice(i, j);
18384
18385
  i = j;
18385
18386
  if (isSpace) {
18386
- if (line.length === 0) continue;
18387
+ if (line.length === 0 && lines.length > 0) continue;
18387
18388
  line.push(...token);
18388
18389
  lineWidth += tokenWidth;
18389
18390
  continue;
@@ -18453,10 +18454,15 @@ function placeLine(line, baseLevel) {
18453
18454
  inkLeft = 0;
18454
18455
  inkRight = 0;
18455
18456
  }
18457
+ let indent = 0;
18458
+ for (let i = 0; i < n && line[i].isSpace; i++) indent += line[i].advance;
18459
+ const rtl = (baseLevel & 1) === 1;
18456
18460
  return {
18457
18461
  clusters,
18458
18462
  inkLeft,
18459
- inkRight
18463
+ inkRight,
18464
+ indentLeft: rtl ? 0 : indent,
18465
+ indentRight: rtl ? indent : 0
18460
18466
  };
18461
18467
  }
18462
18468
  /** Resolves `start`/`end` against a paragraph's direction. */
@@ -18468,9 +18474,11 @@ function resolveAlign(align, baseLevel) {
18468
18474
  }
18469
18475
  /** Offset that aligns a placed line inside `width`. */
18470
18476
  function alignOffset(line, align, width) {
18471
- if (align === "center") return (width - (line.inkRight - line.inkLeft)) / 2 - line.inkLeft;
18472
- if (align === "right") return width - line.inkRight;
18473
- return -line.inkLeft;
18477
+ const left = line.inkLeft - line.indentLeft;
18478
+ const right = line.inkRight + line.indentRight;
18479
+ if (align === "center") return (width - (right - left)) / 2 - left;
18480
+ if (align === "right") return width - right;
18481
+ return -left;
18474
18482
  }
18475
18483
  const layoutCache = /* @__PURE__ */ new Map();
18476
18484
  const MAX_LAYOUT_CACHE = 256;
@@ -24446,15 +24454,7 @@ function packGradientUniforms(gradient, box, out, offset) {
24446
24454
  let rx;
24447
24455
  let ry;
24448
24456
  if (gradient.radius) [rx, ry] = gradient.radius;
24449
- else {
24450
- const fx = Math.max(cx - box.x, box.x + w - cx);
24451
- const fy = Math.max(cy - box.y, box.y + h - cy);
24452
- if (gradient.shape === "circle") rx = ry = Math.hypot(fx, fy);
24453
- else {
24454
- rx = fx * Math.SQRT2;
24455
- ry = fy * Math.SQRT2;
24456
- }
24457
- }
24457
+ else [rx, ry] = radialExtent(gradient, cx - box.x, box.x + w - cx, cy - box.y, box.y + h - cy);
24458
24458
  out[offset + 6] = rx;
24459
24459
  out[offset + 7] = ry;
24460
24460
  } else out[offset + 6] = gradient.from * Math.PI / 180;
@@ -24465,6 +24465,28 @@ function packGradientUniforms(gradient, box, out, offset) {
24465
24465
  out.set(lab, offset + 16 + i * 4);
24466
24466
  });
24467
24467
  }
24468
+ /**
24469
+ * Radii of a radial gradient from its size keyword, as CSS sizes them: the
24470
+ * centre's distances to the box's left, right, top and bottom edges in.
24471
+ * Default (no keyword) is farthest-corner.
24472
+ */
24473
+ function radialExtent(gradient, left, right, top, bottom) {
24474
+ const extent = gradient.extent ?? "farthest-corner";
24475
+ const farthest = extent.startsWith("farthest");
24476
+ const sx = farthest ? Math.max(left, right) : Math.min(left, right);
24477
+ const sy = farthest ? Math.max(top, bottom) : Math.min(top, bottom);
24478
+ const circle = gradient.shape === "circle";
24479
+ if (extent.endsWith("side")) {
24480
+ if (!circle) return [sx, sy];
24481
+ const r = farthest ? Math.max(sx, sy) : Math.min(sx, sy);
24482
+ return [r, r];
24483
+ }
24484
+ if (circle) {
24485
+ const r = Math.hypot(sx, sy);
24486
+ return [r, r];
24487
+ }
24488
+ return [sx * Math.SQRT2, sy * Math.SQRT2];
24489
+ }
24468
24490
  var ShapeFillPipeline = class {
24469
24491
  device;
24470
24492
  pipeline;
@@ -24630,7 +24652,13 @@ fn sdRoundedRect(p: vec2<f32>, b: vec2<f32>, r: f32) -> f32 {
24630
24652
  let radius = u.params.w;
24631
24653
 
24632
24654
  let d = sdRoundedRect(in.localPos - center, halfSize, radius);
24633
- let edgeAlpha = 1.0 - smoothstep(0.0, 1.0, d);
24655
+ // Rounded shapes: one device pixel of coverage centred on the edge (the
24656
+ // quad has room for its outer half). Square ones keep their exact edge.
24657
+ let fw = max(fwidth(d), 1e-4);
24658
+ var edgeAlpha = 1.0 - smoothstep(0.0, 1.0, d);
24659
+ if (radius > 0.0) {
24660
+ edgeAlpha = clamp(0.5 - d / fw, 0.0, 1.0);
24661
+ }
24634
24662
  var fill = u.color;
24635
24663
  if (u.gradient.info.x > 0.5) {
24636
24664
  fill = evalGradient(u.gradient, in.localPos);
@@ -24694,14 +24722,24 @@ var SolidPipeline = class {
24694
24722
  this.uniformData[23] = rect.height;
24695
24723
  packGradientUniforms(gradient, rect, this.uniformData, 24);
24696
24724
  const uniformBuffer = this.uniformPool.getBuffer(this.device, this.uniformData);
24697
- this.vertexData[0] = rect.x;
24698
- this.vertexData[1] = rect.y;
24699
- this.vertexData[2] = rect.x + rect.width;
24700
- this.vertexData[3] = rect.y;
24701
- this.vertexData[4] = rect.x;
24702
- this.vertexData[5] = rect.y + rect.height;
24703
- this.vertexData[6] = rect.x + rect.width;
24704
- this.vertexData[7] = rect.y + rect.height;
24725
+ let grow = 0;
24726
+ if (cornerRadius > 0) {
24727
+ const m = opts?.transform ? transformStack.getCurrent().multiply(opts.transform) : transformStack.getCurrent();
24728
+ const scale = Math.min(Math.hypot(m.a, m.b), Math.hypot(m.c, m.d));
24729
+ grow = 2 / Math.max(scale, .001);
24730
+ }
24731
+ const x0 = rect.x - grow;
24732
+ const y0 = rect.y - grow;
24733
+ const x1 = rect.x + rect.width + grow;
24734
+ const y1 = rect.y + rect.height + grow;
24735
+ this.vertexData[0] = x0;
24736
+ this.vertexData[1] = y0;
24737
+ this.vertexData[2] = x1;
24738
+ this.vertexData[3] = y0;
24739
+ this.vertexData[4] = x0;
24740
+ this.vertexData[5] = y1;
24741
+ this.vertexData[6] = x1;
24742
+ this.vertexData[7] = y1;
24705
24743
  const vertexBuffer = this.vertexPool.getBuffer(this.device, this.vertexData);
24706
24744
  pass.setPipeline(this.pipeline);
24707
24745
  const uniformBindGroup = this.uniformBindGroupCache.getBindGroup(this.device, this.uniformLayout, uniformBuffer);
@@ -31714,4 +31752,4 @@ if (typeof globalThis !== "undefined") globalThis.__GATEWAI_DELAYS__ = globalThi
31714
31752
 
31715
31753
  //#endregion
31716
31754
  export { registerHeadlessFont as $, TextRangeSelectorSchema as $t, ensureDevice as A, getShuffledOrder as An, ExpressionSelectorSchema as At, loadFBX as B, SelectorShapeSchema as Bt, drawGifNode as C, evaluateSkewMatrix as Cn, AnimatableGlyphPropsSchema as Ct, drawSignalNode as D, generateArcLengthLUT as Dn, CubicBezierSegmentSchema as Dt, drawParagraphNode as E, evaluateVolumetricFormation as En, ChromaticGlitchConfigSchema as Et, getRegisteredFontSource as F, signalRegistry as Fn, LineSpacingDynamicsSchema as Ft, mediaDecoderCache as G, SpringPhysicsSchema as Gt, loadOBJ as H, SignalRegistry as Ht, getRenderer2D as I, waveToCubicBeziers as In, LongShadowConfigSchema as It, parseMTL as J, TextCursorConfigSchema as Jt, parseColor as K, TextAnchorConfigSchema as Kt, initHeadlessWebGPU as L, ParticleDissolveConfigSchema as Lt, generateExtrudedTextGeometry as M, sampleAudioSpectrumScale as Mn, GlyphAnchorGroupingSchema as Mt, getHeadlessFontPath as N, sampleCurveGeometry as Nn, GlyphAnchorPointSchema as Nt, drawSvgNode as O, generatePathSegments as On, DynamicStrokePropertiesSchema as Ot, getPrimitiveGeometry as P, samplePathChainGeometry as Pn, KineticMarqueeConfigSchema as Pt, probeVideoSize as Q, TextPathSourceSchema as Qt, inputStore as R, SelectorBasedOnSchema as Rt, drawCaptionNode as S, evaluateSelectorCombination as Sn, AnchorPresetSchema as St, drawLottieNode as T, evaluateTypewriterState as Tn, AudioSpectrumTypographySchema as Tt, lutStore as U, SkewPropertiesSchema as Ut, loadModel3D as V, SelectorUnitsSchema as Vt, measureMaxCaptionHeight as W, Spatial3DPropertiesSchema as Wt, parseSvgPathToSegments as X, TextPathBuilder as Xt, parseOBJ as Y, TextCursorStyleSchema as Yt, poseNodes as Z, TextPathOptionsSchema as Zt, buildShapeSvgPath as _, ellipseToCubicBeziers as _n, resolveEnvironment as _t, GlassPipeline as a, TypingCadenceSchema as an, textureCache as at, colorMatrixWgsl as b, evaluateExpressionSelector as bn, AdvancedTextAnimatorSchema as bt, Renderer2D as c, VolumetricFormationConfigSchema as cn, Camera3D as ct, ScreenSpaceRelightPipeline as d, buildWGSLSignalFn as dn, Light3D as dt, TextScrambleConfigSchema as en, resolveTextSpans as et, ShadowPipeline as f, computeAnchorPivotOffset as fn, MAX_LIGHTS as ft, WebGPUAudioProcessor as g, distanceToCurveParameter as gn, parseColorToRgb as gt, SlugPipeline as h, deterministicWigglyNoise as hn, Vector3Math as ht, EffectPipeline as i, TypewriterAnimatorSchema as in, srtLoader as it, fitSpansToText as j, parseSvgPathToCubicBeziers as jn, ExtendedGlyphPropertiesSchema as jt, drawVideoNode as k, getScramblePool as kn, EnhancedTextNodeSchema as kt, Renderer3D as l, VolumetricFormationModeSchema as ln, ENVIRONMENT_PRESETS as lt, SlugGeometry as m, computeRangeSelectorWeight as mn, Path3D as mt, AudioLatentTrackCache as n, TextSignalSelectorSchema as nn, shaderStore as nt, MotionBlurPipeline as o, VariableFontAxesSchema as on, GetFontAssetUrl as ot, SlugFontCache as p, computeLineLeadingDisplacement as pn, Matrix4Math as pt, parseFBX as q, TextAnimatorBuilder as qt, AudioMeshDeformPipeline as r, TextWigglySelectorSchema as rn, spansText as rt, NodeSurfaceProvider as s, Vec2Schema as sn, resolveMediaSourceUrl as st, AudioLatentEngine as t, TextSelectorSchema as tn, setRegisteredFontSource as tt, SSAOPipeline as u, buildPathLUT as un, LIGHT_UNIFORM_SIZE_BYTES as ut, clearAllVideoCache as v, evaluateCubicBezier as vn, AETextAnimatorSchema as vt, drawImageNode as w, evaluateSpringProgress as wn, AudioSignalComputePipeline as wt, describeGpu as x, evaluateMarqueeOffset as xn, AnchorGroupingSchema as xt, clearHeadlessFonts as y, evaluateCubicBezierDerivative as yn, AdvancedTextAnimatorBuilder as yt, jointMatrices as z, SelectorModeSchema as zt };
31717
- //# sourceMappingURL=dist-DBWkkSvJ.mjs.map
31755
+ //# sourceMappingURL=dist-Bf0H4lp1.mjs.map