framefields 2.0.7 → 2.0.9

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 (318) hide show
  1. package/dist/audio/index.d.mts +4 -4
  2. package/dist/audio/index.mjs +10 -10
  3. package/dist/{audio-a6pY05g2.d.mts → audio-BxA0sL9z.d.mts} +3 -3
  4. package/dist/{audio-a6pY05g2.d.mts.map → audio-BxA0sL9z.d.mts.map} +1 -1
  5. package/dist/{audio-D6enPyAG.mjs → audio-Dev4NGPa.mjs} +3 -3
  6. package/dist/{audio-D6enPyAG.mjs.map → audio-Dev4NGPa.mjs.map} +1 -1
  7. package/dist/{client-C74hb7fy.mjs → client-CwRhflHE.mjs} +1 -1
  8. package/dist/{client-C74hb7fy.mjs.map → client-CwRhflHE.mjs.map} +1 -1
  9. package/dist/{dist-JkiL-qy7.mjs → dist-CoSg-CWr.mjs} +21 -11
  10. package/dist/dist-CoSg-CWr.mjs.map +1 -0
  11. package/dist/{dist-sHqWCB9M.mjs → dist-DgfykO99.mjs} +61 -10
  12. package/dist/dist-DgfykO99.mjs.map +1 -0
  13. package/dist/{dist-cjs-qEJrwjGk.mjs → dist-cjs--lfMLs3U.mjs} +4 -4
  14. package/dist/{dist-cjs-qEJrwjGk.mjs.map → dist-cjs--lfMLs3U.mjs.map} +1 -1
  15. package/dist/{dist-cjs-x5cwlqA5.mjs → dist-cjs--pxyGFw2.mjs} +1 -1
  16. package/dist/{dist-cjs-x5cwlqA5.mjs.map → dist-cjs--pxyGFw2.mjs.map} +1 -1
  17. package/dist/dist-cjs-3pon9kTt.mjs +6 -0
  18. package/dist/{dist-cjs-Dzs5P3K0.mjs → dist-cjs-BDpO-TH_.mjs} +1 -1
  19. package/dist/{dist-cjs-Dzs5P3K0.mjs.map → dist-cjs-BDpO-TH_.mjs.map} +1 -1
  20. package/dist/{dist-cjs-lYvO8aDo.mjs → dist-cjs-BiKQozdJ.mjs} +3 -3
  21. package/dist/{dist-cjs-lYvO8aDo.mjs.map → dist-cjs-BiKQozdJ.mjs.map} +1 -1
  22. package/dist/{dist-cjs-BUwe2XhR.mjs → dist-cjs-BmyyWYWv.mjs} +2 -2
  23. package/dist/{dist-cjs-BUwe2XhR.mjs.map → dist-cjs-BmyyWYWv.mjs.map} +1 -1
  24. package/dist/{dist-cjs-DgxjcvBN.mjs → dist-cjs-CND_ghfH.mjs} +1 -1
  25. package/dist/{dist-cjs-DgxjcvBN.mjs.map → dist-cjs-CND_ghfH.mjs.map} +1 -1
  26. package/dist/{dist-cjs-BWgoUCXJ.mjs → dist-cjs-CQwmMllY.mjs} +6 -6
  27. package/dist/{dist-cjs-BWgoUCXJ.mjs.map → dist-cjs-CQwmMllY.mjs.map} +1 -1
  28. package/dist/{dist-cjs-B5EVqDFp.mjs → dist-cjs-CgFzrgj8.mjs} +1 -1
  29. package/dist/{dist-cjs-B5EVqDFp.mjs.map → dist-cjs-CgFzrgj8.mjs.map} +1 -1
  30. package/dist/{dist-cjs-ECMuIF57.mjs → dist-cjs-CsU2sZoX.mjs} +4 -4
  31. package/dist/{dist-cjs-ECMuIF57.mjs.map → dist-cjs-CsU2sZoX.mjs.map} +1 -1
  32. package/dist/{dist-cjs-BKmGCgtm.mjs → dist-cjs-DJ8fcQEe.mjs} +11 -11
  33. package/dist/{dist-cjs-BKmGCgtm.mjs.map → dist-cjs-DJ8fcQEe.mjs.map} +1 -1
  34. package/dist/{dist-cjs-D7kEM-Mj.mjs → dist-cjs-DT2jJlcK.mjs} +5 -5
  35. package/dist/{dist-cjs-D7kEM-Mj.mjs.map → dist-cjs-DT2jJlcK.mjs.map} +1 -1
  36. package/dist/{dist-cjs-BUc0_kg-.mjs → dist-cjs-DjzmP0-x.mjs} +13 -13
  37. package/dist/{dist-cjs-BUc0_kg-.mjs.map → dist-cjs-DjzmP0-x.mjs.map} +1 -1
  38. package/dist/{dist-cjs-BGJkdexX.mjs → dist-cjs-DzjrlfbE.mjs} +14 -14
  39. package/dist/{dist-cjs-BGJkdexX.mjs.map → dist-cjs-DzjrlfbE.mjs.map} +1 -1
  40. package/dist/{dist-cjs-Df7144zM.mjs → dist-cjs-M-8QOgS_.mjs} +2 -2
  41. package/dist/{dist-cjs-Df7144zM.mjs.map → dist-cjs-M-8QOgS_.mjs.map} +1 -1
  42. package/dist/{dist-cjs-DFUmy89O.mjs → dist-cjs-TsA8LFXC.mjs} +3 -3
  43. package/dist/{dist-cjs-DFUmy89O.mjs.map → dist-cjs-TsA8LFXC.mjs.map} +1 -1
  44. package/dist/{dist-cjs-DsMdld8l.mjs → dist-cjs-agQl9T8M.mjs} +6 -6
  45. package/dist/{dist-cjs-DsMdld8l.mjs.map → dist-cjs-agQl9T8M.mjs.map} +1 -1
  46. package/dist/effects/index.d.mts +5 -5
  47. package/dist/effects/index.mjs +27 -26
  48. package/dist/{effects-l0T61DPU.mjs → effects-hxRwxjyC.mjs} +27 -3
  49. package/dist/effects-hxRwxjyC.mjs.map +1 -0
  50. package/dist/{event-streams-D-APZ7Ke.mjs → event-streams-BaNGaLxh.mjs} +2 -2
  51. package/dist/{event-streams-D-APZ7Ke.mjs.map → event-streams-BaNGaLxh.mjs.map} +1 -1
  52. package/dist/fonts/index.d.mts +1 -1
  53. package/dist/fonts/index.mjs +1 -1
  54. package/dist/{fonts-CuG-05-_.mjs → fonts-BznIea-I.mjs} +2 -2
  55. package/dist/{fonts-CuG-05-_.mjs.map → fonts-BznIea-I.mjs.map} +1 -1
  56. package/dist/{index-BJUS4Nx6.d.mts → index-BXNNJVs8.d.mts} +2 -2
  57. package/dist/{index-BJUS4Nx6.d.mts.map → index-BXNNJVs8.d.mts.map} +1 -1
  58. package/dist/{index-CbzEM_o6.d.mts → index-CQcdKyxF.d.mts} +1 -1
  59. package/dist/{index-CbzEM_o6.d.mts.map → index-CQcdKyxF.d.mts.map} +1 -1
  60. package/dist/{index-BJx_Qxc_.d.mts → index-CvDVpaKn.d.mts} +69 -27
  61. package/dist/index-CvDVpaKn.d.mts.map +1 -0
  62. package/dist/{index-WIPHLy5m.d.mts → index-D1zaOwEU.d.mts} +1 -1
  63. package/dist/index-D1zaOwEU.d.mts.map +1 -0
  64. package/dist/{index-CZChQhXZ.d.mts → index-J9CIK_nu.d.mts} +4 -2
  65. package/dist/index-J9CIK_nu.d.mts.map +1 -0
  66. package/dist/{index-Bi2nRZ_g.d.mts → index-fo4E7A6C.d.mts} +3 -3
  67. package/dist/{index-Bi2nRZ_g.d.mts.map → index-fo4E7A6C.d.mts.map} +1 -1
  68. package/dist/{index-BLbUQolI.d.mts → index-oodg5k9K.d.mts} +3 -3
  69. package/dist/{index-BLbUQolI.d.mts.map → index-oodg5k9K.d.mts.map} +1 -1
  70. package/dist/index.d.mts +11 -10
  71. package/dist/index.d.mts.map +1 -1
  72. package/dist/index.mjs +43 -42
  73. package/dist/index.mjs.map +1 -1
  74. package/dist/{package-C58KmGKw.mjs → package-XpCRbTOA.mjs} +1 -1
  75. package/dist/{package-C58KmGKw.mjs.map → package-XpCRbTOA.mjs.map} +1 -1
  76. package/dist/preview/index.d.mts +2 -2
  77. package/dist/preview/index.mjs +11 -11
  78. package/dist/{preview-4z1jNSej.mjs → preview-DZTbEON9.mjs} +2 -2
  79. package/dist/{preview-4z1jNSej.mjs.map → preview-DZTbEON9.mjs.map} +1 -1
  80. package/dist/preview-engine/audio.mjs +1 -1
  81. package/dist/preview-engine/{chunk-3ROJ7JVY.mjs → chunk-25IW7NYO.mjs} +1 -1
  82. package/dist/preview-engine/chunk-36YGYLKD.mjs +58 -0
  83. package/dist/preview-engine/chunk-4VOHF3FF.mjs +1 -0
  84. package/dist/preview-engine/{chunk-45JOFIHE.mjs → chunk-5PPSCISJ.mjs} +1 -1
  85. package/dist/preview-engine/{chunk-TNZENER3.mjs → chunk-7DIAFPQP.mjs} +2 -2
  86. package/dist/preview-engine/{chunk-CXFEQ5PM.mjs → chunk-7O24H4YT.mjs} +2 -2
  87. package/dist/preview-engine/{chunk-BE3CEVJB.mjs → chunk-AUFSM5KI.mjs} +2 -2
  88. package/dist/preview-engine/chunk-AW7HNZKR.mjs +98 -0
  89. package/dist/preview-engine/chunk-BHFI3Y4T.mjs +1 -0
  90. package/dist/preview-engine/{chunk-5NYKHIQN.mjs → chunk-BUWK5RJ4.mjs} +9 -9
  91. package/dist/preview-engine/chunk-DLXQDDIN.mjs +46 -0
  92. package/dist/preview-engine/chunk-EJGLUZMW.mjs +1 -0
  93. package/dist/preview-engine/{chunk-XSMK5E2V.mjs → chunk-JAOXXYXG.mjs} +2 -2
  94. package/dist/preview-engine/{chunk-PO4VAAQC.mjs → chunk-K52S5DJX.mjs} +1 -1
  95. package/dist/preview-engine/{chunk-IGFT3XLN.mjs → chunk-MDDF2GCF.mjs} +2 -2
  96. package/dist/preview-engine/{chunk-OZVCWK27.mjs → chunk-OF75EHTX.mjs} +1 -1
  97. package/dist/preview-engine/{chunk-POPVFC5P.mjs → chunk-S4CSX6K5.mjs} +10 -10
  98. package/dist/preview-engine/chunk-SNYAHQ25.mjs +186 -0
  99. package/dist/preview-engine/{chunk-MC7TZZLD.mjs → chunk-T6COGNOW.mjs} +2 -2
  100. package/dist/preview-engine/chunk-VVLM6LZ3.mjs +1 -0
  101. package/dist/preview-engine/{chunk-RJJRPL42.mjs → chunk-VWLR2AZR.mjs} +1 -1
  102. package/dist/preview-engine/{chunk-KNZU3Z2F.mjs → chunk-WQ7BFSKF.mjs} +1 -1
  103. package/dist/preview-engine/chunk-XUM42I4R.mjs +1 -0
  104. package/dist/preview-engine/chunk-ZDCA6NVT.mjs +82 -0
  105. package/dist/preview-engine/{chunk-YK4XHUP4.mjs → chunk-ZJFAGIOM.mjs} +6 -6
  106. package/dist/preview-engine/{chunk-EJTGJVUA.mjs → chunk-ZSIJB76A.mjs} +2 -2
  107. package/dist/preview-engine/effects.mjs +1 -1
  108. package/dist/preview-engine/fonts.mjs +1 -1
  109. package/dist/preview-engine/framefields.mjs +13 -13
  110. package/dist/preview-engine/player.mjs +5 -5
  111. package/dist/preview-engine/{renderers-GYJTBVV2.mjs → renderers-27Q5X3U6.mjs} +1 -1
  112. package/dist/preview-engine/{renderers-Q2ZDD5K2.mjs → renderers-2US2NIUG.mjs} +2 -2
  113. package/dist/preview-engine/{renderers-54AQK6RF.mjs → renderers-32PIFHPS.mjs} +1 -1
  114. package/dist/preview-engine/{renderers-O6HOYIPS.mjs → renderers-76PQY2SO.mjs} +1 -1
  115. package/dist/preview-engine/{renderers-PXGLEFZO.mjs → renderers-CI2GXWLP.mjs} +1 -1
  116. package/dist/preview-engine/{renderers-GC7EGB5Z.mjs → renderers-CRKRWR2Y.mjs} +1 -1
  117. package/dist/preview-engine/{renderers-47UITXLZ.mjs → renderers-EE2GFG7J.mjs} +1 -1
  118. package/dist/preview-engine/{renderers-E3JYRLSD.mjs → renderers-GJSUN5HU.mjs} +1 -1
  119. package/dist/preview-engine/{renderers-KCP4TFHG.mjs → renderers-IHKORHMT.mjs} +1 -1
  120. package/dist/preview-engine/renderers-LTNTQLWE.mjs +248 -0
  121. package/dist/preview-engine/{renderers-OBMTU3QY.mjs → renderers-NQUDQEHY.mjs} +1 -1
  122. package/dist/preview-engine/{renderers-QECJP22T.mjs → renderers-NSY2SDIE.mjs} +1 -1
  123. package/dist/preview-engine/{renderers-KS4HPV6Q.mjs → renderers-PWLWOZY4.mjs} +1 -1
  124. package/dist/preview-engine/{renderers-TUYQLKHJ.mjs → renderers-W5CVDJVH.mjs} +1 -1
  125. package/dist/preview-engine/{renderers-N5UPJY73.mjs → renderers-WLLJFZTF.mjs} +1 -1
  126. package/dist/preview-engine/renderers-WN4SYFCU.mjs +1 -0
  127. package/dist/preview-engine/{renderers-TG62LZTF.mjs → renderers-XFBSGTHU.mjs} +1 -1
  128. package/dist/preview-engine/signals.mjs +1 -1
  129. package/dist/{program-DPFDbeL9.mjs → program-C797QMRL.mjs} +2 -2
  130. package/dist/{program-DPFDbeL9.mjs.map → program-C797QMRL.mjs.map} +1 -1
  131. package/dist/renderer/index.d.mts +2 -2
  132. package/dist/renderer/index.mjs +3 -3
  133. package/dist/{renderer-C-F91lPu.mjs → renderer--vY6O19V.mjs} +2 -2
  134. package/dist/{renderer-C-F91lPu.mjs.map → renderer--vY6O19V.mjs.map} +1 -1
  135. package/dist/{renderer-Bal8734U.d.mts → renderer-2NQWaZd7.d.mts} +2 -2
  136. package/dist/{renderer-Bal8734U.d.mts.map → renderer-2NQWaZd7.d.mts.map} +1 -1
  137. package/dist/renderer-3uTfN95I.mjs +3 -0
  138. package/dist/{renderer-CLUPc9do.mjs → renderer-5jfDUKd4.mjs} +2 -2
  139. package/dist/{renderer-CLUPc9do.mjs.map → renderer-5jfDUKd4.mjs.map} +1 -1
  140. package/dist/{renderer-DvHpzsUV.mjs → renderer-6PqlYQjC.mjs} +10 -9
  141. package/dist/{renderer-DvHpzsUV.mjs.map → renderer-6PqlYQjC.mjs.map} +1 -1
  142. package/dist/{renderer-BbwOEawB.mjs → renderer-9QCHY8Kh.mjs} +18 -4
  143. package/dist/renderer-9QCHY8Kh.mjs.map +1 -0
  144. package/dist/{renderer-CmMNU1-P.mjs → renderer-B1UeU7lX.mjs} +21 -18
  145. package/dist/renderer-B1UeU7lX.mjs.map +1 -0
  146. package/dist/{renderer-BHsEOp1I.mjs → renderer-B4ecTNR7.mjs} +18 -11
  147. package/dist/renderer-B4ecTNR7.mjs.map +1 -0
  148. package/dist/renderer-B5GslTP-.mjs +3 -0
  149. package/dist/{renderer-BgrDGRNW.mjs → renderer-B8gTyU3w.mjs} +18 -17
  150. package/dist/renderer-B8gTyU3w.mjs.map +1 -0
  151. package/dist/{renderer-L72D1mwv.mjs → renderer-BE4Ns0nw.mjs} +2 -2
  152. package/dist/{renderer-L72D1mwv.mjs.map → renderer-BE4Ns0nw.mjs.map} +1 -1
  153. package/dist/{renderer-BDLnExoP.mjs → renderer-BM05sB8m.mjs} +8 -7
  154. package/dist/renderer-BM05sB8m.mjs.map +1 -0
  155. package/dist/{renderer-By91JEn8.mjs → renderer-BTYncYDf.mjs} +74 -63
  156. package/dist/{renderer-By91JEn8.mjs.map → renderer-BTYncYDf.mjs.map} +1 -1
  157. package/dist/renderer-BUIWeIKQ.mjs +3 -0
  158. package/dist/{renderer-DVj8jfmO.mjs → renderer-BXaK02qA.mjs} +2 -2
  159. package/dist/{renderer-DVj8jfmO.mjs.map → renderer-BXaK02qA.mjs.map} +1 -1
  160. package/dist/renderer-B_LfC88A.mjs +3 -0
  161. package/dist/renderer-B_zmicsE.mjs +3 -0
  162. package/dist/{renderer-DJPuwTbS.mjs → renderer-BcPpcKDI.mjs} +2 -2
  163. package/dist/{renderer-DJPuwTbS.mjs.map → renderer-BcPpcKDI.mjs.map} +1 -1
  164. package/dist/{renderer-CsE9ztUa.mjs → renderer-BgqjWI7K.mjs} +2 -2
  165. package/dist/{renderer-CsE9ztUa.mjs.map → renderer-BgqjWI7K.mjs.map} +1 -1
  166. package/dist/{renderer-Cn-p1SyO.mjs → renderer-BpJgfBQ8.mjs} +2 -2
  167. package/dist/{renderer-Cn-p1SyO.mjs.map → renderer-BpJgfBQ8.mjs.map} +1 -1
  168. package/dist/renderer-BtNxtXkR.mjs +3 -0
  169. package/dist/{renderer-Bpf8EGY1.mjs → renderer-BwmZUkvd.mjs} +2 -2
  170. package/dist/{renderer-Bpf8EGY1.mjs.map → renderer-BwmZUkvd.mjs.map} +1 -1
  171. package/dist/{renderer-7v-ZNKEJ.mjs → renderer-C-PfbkPu.mjs} +2 -2
  172. package/dist/{renderer-7v-ZNKEJ.mjs.map → renderer-C-PfbkPu.mjs.map} +1 -1
  173. package/dist/renderer-C-sZSHtf.mjs +3 -0
  174. package/dist/renderer-C1zifktw.mjs +3 -0
  175. package/dist/{renderer-BV_d3D_3.mjs → renderer-C2gnWTQZ.mjs} +2 -2
  176. package/dist/{renderer-BV_d3D_3.mjs.map → renderer-C2gnWTQZ.mjs.map} +1 -1
  177. package/dist/{renderer-BShK_xMJ.mjs → renderer-CB8hMQgm.mjs} +1 -1
  178. package/dist/renderer-CCt2XTSM.mjs +3 -0
  179. package/dist/{renderer-CLWAbaCS.mjs → renderer-CKJb_Lky.mjs} +2 -2
  180. package/dist/{renderer-CLWAbaCS.mjs.map → renderer-CKJb_Lky.mjs.map} +1 -1
  181. package/dist/renderer-CMXcaArD.mjs +3 -0
  182. package/dist/{renderer-doPt4zQZ.mjs → renderer-CV8diddR.mjs} +2 -2
  183. package/dist/{renderer-doPt4zQZ.mjs.map → renderer-CV8diddR.mjs.map} +1 -1
  184. package/dist/renderer-CW9D5zCP.mjs +3 -0
  185. package/dist/{renderer-B1IXTeF2.mjs → renderer-CckJJHbM.mjs} +2 -2
  186. package/dist/{renderer-B1IXTeF2.mjs.map → renderer-CckJJHbM.mjs.map} +1 -1
  187. package/dist/{renderer-DFKsLrUs.mjs → renderer-CepMDQ06.mjs} +1 -1
  188. package/dist/{renderer-DFKsLrUs.mjs.map → renderer-CepMDQ06.mjs.map} +1 -1
  189. package/dist/renderer-CjY77sB_.mjs +3 -0
  190. package/dist/{renderer-DnXQXk-8.mjs → renderer-CpUbDJAV.mjs} +5 -4
  191. package/dist/{renderer-DnXQXk-8.mjs.map → renderer-CpUbDJAV.mjs.map} +1 -1
  192. package/dist/{renderer-DRf4FLSq.mjs → renderer-CrVAvP92.mjs} +2 -2
  193. package/dist/{renderer-DRf4FLSq.mjs.map → renderer-CrVAvP92.mjs.map} +1 -1
  194. package/dist/{renderer-Cgy1H0Ql.mjs → renderer-CuqhAB4i.mjs} +11 -5
  195. package/dist/renderer-CuqhAB4i.mjs.map +1 -0
  196. package/dist/{renderer--akPySto.mjs → renderer-CxQ5v4fJ.mjs} +11 -5
  197. package/dist/renderer-CxQ5v4fJ.mjs.map +1 -0
  198. package/dist/renderer-D1R7vBUl.mjs +3 -0
  199. package/dist/{renderer-DabG62XS.mjs → renderer-D2XD4QYk.mjs} +1 -1
  200. package/dist/{renderer-DabG62XS.mjs.map → renderer-D2XD4QYk.mjs.map} +1 -1
  201. package/dist/{renderer-CM5c8a7B.mjs → renderer-D3uNI10l.mjs} +7 -7
  202. package/dist/{renderer-CM5c8a7B.mjs.map → renderer-D3uNI10l.mjs.map} +1 -1
  203. package/dist/renderer-D5yawxtJ.mjs +3 -0
  204. package/dist/{renderer-B52Y2SDC.mjs → renderer-D6Gi_h4K.mjs} +1 -1
  205. package/dist/{renderer-DjI45OYC.mjs → renderer-D7zvPHKn.mjs} +1 -1
  206. package/dist/{renderer-DjI45OYC.mjs.map → renderer-D7zvPHKn.mjs.map} +1 -1
  207. package/dist/renderer-D9NnIx7o.mjs +3 -0
  208. package/dist/{renderer-BNBh4omF.mjs → renderer-DAFyJ4dv.mjs} +2 -2
  209. package/dist/{renderer-BNBh4omF.mjs.map → renderer-DAFyJ4dv.mjs.map} +1 -1
  210. package/dist/renderer-DC8jr1Ay.mjs +3 -0
  211. package/dist/{renderer-BhfFVqCx.mjs → renderer-DCK73tcD.mjs} +17 -4
  212. package/dist/renderer-DCK73tcD.mjs.map +1 -0
  213. package/dist/renderer-DCv-Abvn.mjs +4 -0
  214. package/dist/{renderer-B80s47yo.mjs → renderer-DEJwPRkR.mjs} +1 -1
  215. package/dist/{renderer-B80s47yo.mjs.map → renderer-DEJwPRkR.mjs.map} +1 -1
  216. package/dist/renderer-DPLFhzaV.mjs +3 -0
  217. package/dist/{renderer-BXWu8aHU.mjs → renderer-DPpgBTlK.mjs} +2 -2
  218. package/dist/{renderer-BXWu8aHU.mjs.map → renderer-DPpgBTlK.mjs.map} +1 -1
  219. package/dist/{renderer-E5D4H5dK.mjs → renderer-DRpE3ZW4.mjs} +2 -2
  220. package/dist/{renderer-E5D4H5dK.mjs.map → renderer-DRpE3ZW4.mjs.map} +1 -1
  221. package/dist/renderer-DVsF2FDr.mjs +3 -0
  222. package/dist/{renderer-BUJ6uaJE.mjs → renderer-DX38J6mK.mjs} +7 -6
  223. package/dist/{renderer-BUJ6uaJE.mjs.map → renderer-DX38J6mK.mjs.map} +1 -1
  224. package/dist/{renderer-CIvaRnP_.mjs → renderer-D_1oDOCP.mjs} +1 -1
  225. package/dist/{renderer-CIvaRnP_.mjs.map → renderer-D_1oDOCP.mjs.map} +1 -1
  226. package/dist/renderer-DetDm3ep.mjs +3 -0
  227. package/dist/{renderer-Bl9C9lIo.mjs → renderer-DgSO5OO0.mjs} +1 -1
  228. package/dist/renderer-DhMhJh_G.mjs +3 -0
  229. package/dist/renderer-DhQld4Qt.mjs +3 -0
  230. package/dist/renderer-Dn3rc3ah.mjs +3 -0
  231. package/dist/{renderer-XRGwrdg8.mjs → renderer-Dn8v2o9L.mjs} +18 -4
  232. package/dist/renderer-Dn8v2o9L.mjs.map +1 -0
  233. package/dist/{renderer-BpTwFaja.mjs → renderer-DnF3aXPX.mjs} +2 -2
  234. package/dist/{renderer-BpTwFaja.mjs.map → renderer-DnF3aXPX.mjs.map} +1 -1
  235. package/dist/renderer-Dw9LxE2f.mjs +3 -0
  236. package/dist/{renderer-Dntxca07.mjs → renderer-EmG34sT2.mjs} +2 -2
  237. package/dist/{renderer-Dntxca07.mjs.map → renderer-EmG34sT2.mjs.map} +1 -1
  238. package/dist/renderer-HvrQZw5E.mjs +3 -0
  239. package/dist/renderer-QdJE56ts.mjs +3 -0
  240. package/dist/{renderer-h-HOoLwD.mjs → renderer-_bygZSKk.mjs} +1 -1
  241. package/dist/{renderer-h-HOoLwD.mjs.map → renderer-_bygZSKk.mjs.map} +1 -1
  242. package/dist/{renderer-BD6Jkc8j.mjs → renderer-b6sZN90h.mjs} +4 -3
  243. package/dist/{renderer-BD6Jkc8j.mjs.map → renderer-b6sZN90h.mjs.map} +1 -1
  244. package/dist/renderer-d5-F_48R.mjs +3 -0
  245. package/dist/renderer-euGyUN2O.mjs +3 -0
  246. package/dist/{renderer-C5lJvf-h.mjs → renderer-gT0ADXMW.mjs} +2 -2
  247. package/dist/{renderer-C5lJvf-h.mjs.map → renderer-gT0ADXMW.mjs.map} +1 -1
  248. package/dist/{renderer-0ty5QtXg.mjs → renderer-lq4n1hSS.mjs} +2 -2
  249. package/dist/{renderer-0ty5QtXg.mjs.map → renderer-lq4n1hSS.mjs.map} +1 -1
  250. package/dist/renderer-p3SmBFP9.mjs +3 -0
  251. package/dist/renderer-xp_J0ln7.mjs +263 -0
  252. package/dist/renderer-xp_J0ln7.mjs.map +1 -0
  253. package/dist/{renderer-D3FsnptO.mjs → renderer-zvtpCnqy.mjs} +1 -1
  254. package/dist/{renderers-CP8CFWDs-CAs5DgWj.mjs → renderers-CP8CFWDs-Ciap7y_j.mjs} +2 -2
  255. package/dist/{renderers-CP8CFWDs-CAs5DgWj.mjs.map → renderers-CP8CFWDs-Ciap7y_j.mjs.map} +1 -1
  256. package/dist/signals/index.d.mts +5 -5
  257. package/dist/signals/index.mjs +4 -4
  258. package/dist/{signin-CZj4Oc5s.mjs → signin-Db08vl-g.mjs} +9 -9
  259. package/dist/{signin-CZj4Oc5s.mjs.map → signin-Db08vl-g.mjs.map} +1 -1
  260. package/dist/{sso-oidc-C0_31ThY.mjs → sso-oidc-CpLz_lIu.mjs} +9 -9
  261. package/dist/{sso-oidc-C0_31ThY.mjs.map → sso-oidc-CpLz_lIu.mjs.map} +1 -1
  262. package/dist/{sts-DD4ggEXC.mjs → sts-BQefGuml.mjs} +2 -2
  263. package/dist/{sts-nXw8RDJI.mjs → sts-Dgl0kH-t.mjs} +9 -9
  264. package/dist/{sts-nXw8RDJI.mjs.map → sts-Dgl0kH-t.mjs.map} +1 -1
  265. package/package.json +55 -54
  266. package/dist/dist-JkiL-qy7.mjs.map +0 -1
  267. package/dist/dist-cjs-CmZEMtO6.mjs +0 -6
  268. package/dist/dist-sHqWCB9M.mjs.map +0 -1
  269. package/dist/effects-l0T61DPU.mjs.map +0 -1
  270. package/dist/index-BJx_Qxc_.d.mts.map +0 -1
  271. package/dist/index-CZChQhXZ.d.mts.map +0 -1
  272. package/dist/index-WIPHLy5m.d.mts.map +0 -1
  273. package/dist/preview-engine/chunk-2XXICKQV.mjs +0 -82
  274. package/dist/preview-engine/chunk-66NVL4BN.mjs +0 -58
  275. package/dist/preview-engine/chunk-7MJVROKR.mjs +0 -98
  276. package/dist/preview-engine/chunk-7NVDTELW.mjs +0 -1
  277. package/dist/preview-engine/chunk-DMWSTYFF.mjs +0 -1
  278. package/dist/preview-engine/chunk-FKZ4XXPE.mjs +0 -1
  279. package/dist/preview-engine/chunk-JQ4WY6BZ.mjs +0 -186
  280. package/dist/preview-engine/chunk-S3P3MJYU.mjs +0 -1
  281. package/dist/preview-engine/renderers-R5WSHETG.mjs +0 -248
  282. package/dist/renderer--akPySto.mjs.map +0 -1
  283. package/dist/renderer-145WIXyW.mjs +0 -3
  284. package/dist/renderer-9W8q4Y8D.mjs +0 -3
  285. package/dist/renderer-B5HBViEG.mjs +0 -3
  286. package/dist/renderer-B7naoaVH.mjs +0 -3
  287. package/dist/renderer-BDLnExoP.mjs.map +0 -1
  288. package/dist/renderer-BHYmRBem.mjs +0 -3
  289. package/dist/renderer-BHsEOp1I.mjs.map +0 -1
  290. package/dist/renderer-BL51bhvQ.mjs +0 -3
  291. package/dist/renderer-BMovYRoR.mjs +0 -3
  292. package/dist/renderer-BbwOEawB.mjs.map +0 -1
  293. package/dist/renderer-BfvBHHNr.mjs +0 -3
  294. package/dist/renderer-BgrDGRNW.mjs.map +0 -1
  295. package/dist/renderer-BhfFVqCx.mjs.map +0 -1
  296. package/dist/renderer-ByxrzTRg.mjs +0 -3
  297. package/dist/renderer-CDirzReW.mjs +0 -3
  298. package/dist/renderer-CGCmbeJ2.mjs +0 -3
  299. package/dist/renderer-CO0KsnEg.mjs +0 -3
  300. package/dist/renderer-COO44HDO.mjs +0 -3
  301. package/dist/renderer-C_9SIgZX.mjs +0 -3
  302. package/dist/renderer-Cgy1H0Ql.mjs.map +0 -1
  303. package/dist/renderer-CmMNU1-P.mjs.map +0 -1
  304. package/dist/renderer-CntaTaNq.mjs +0 -3
  305. package/dist/renderer-Cv9JLpL6.mjs +0 -3
  306. package/dist/renderer-D0FWIsWn.mjs +0 -3
  307. package/dist/renderer-D3jUYUDU.mjs +0 -3
  308. package/dist/renderer-D5Je-AeQ.mjs +0 -3
  309. package/dist/renderer-D6bWQtr-.mjs +0 -3
  310. package/dist/renderer-DNPwpmYS.mjs +0 -3
  311. package/dist/renderer-DawVsNLw.mjs +0 -3
  312. package/dist/renderer-Dl_6Kn87.mjs +0 -3
  313. package/dist/renderer-DlrJSfaw.mjs +0 -3
  314. package/dist/renderer-DpScOWGG.mjs +0 -4
  315. package/dist/renderer-DxYOA1MM.mjs +0 -3
  316. package/dist/renderer-S7jOr_jF.mjs +0 -3
  317. package/dist/renderer-XRGwrdg8.mjs.map +0 -1
  318. package/dist/renderer-kN2TeWks.mjs +0 -3
@@ -1,5 +1,5 @@
1
- import { P as WebGPUAudioProcessor } from "../index-WIPHLy5m.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-Bi2nRZ_g.mjs";
3
- import "../index-CZChQhXZ.mjs";
4
- import { t as _default$1 } from "../renderer-Bal8734U.mjs";
1
+ import { P as WebGPUAudioProcessor } from "../index-D1zaOwEU.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-fo4E7A6C.mjs";
3
+ import "../index-J9CIK_nu.mjs";
4
+ import { t as _default$1 } from "../renderer-2NQWaZd7.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,14 +1,14 @@
1
- import { C as WebGPUAudioProcessor } from "../dist-sHqWCB9M.mjs";
2
- import { t as renderers_default$1 } from "../renderers-CP8CFWDs-CAs5DgWj.mjs";
3
- import { i as mixAudioTracks } from "../dist-JkiL-qy7.mjs";
4
- import { t as renderers_default$2 } from "../renderer-DRf4FLSq.mjs";
5
- import { t as renderers_default$3 } from "../renderer-CLWAbaCS.mjs";
6
- import { t as renderers_default } from "../renderer-CM5c8a7B.mjs";
7
- import { t as renderers_default$4 } from "../renderer-0ty5QtXg.mjs";
8
- import { t as renderers_default$5 } from "../renderer-DJPuwTbS.mjs";
9
- import { t as renderers_default$6 } from "../renderer-DVj8jfmO.mjs";
1
+ import { C as WebGPUAudioProcessor } from "../dist-DgfykO99.mjs";
2
+ import { t as renderers_default$1 } from "../renderers-CP8CFWDs-Ciap7y_j.mjs";
3
+ import { i as mixAudioTracks } from "../dist-CoSg-CWr.mjs";
4
+ import { t as renderers_default$2 } from "../renderer-CrVAvP92.mjs";
5
+ import { t as renderers_default$3 } from "../renderer-CKJb_Lky.mjs";
6
+ import { t as renderers_default } from "../renderer-D3uNI10l.mjs";
7
+ import { t as renderers_default$4 } from "../renderer-lq4n1hSS.mjs";
8
+ import { t as renderers_default$5 } from "../renderer-BcPpcKDI.mjs";
9
+ import { t as renderers_default$6 } from "../renderer-BXaK02qA.mjs";
10
10
  import "../renderer-C2n-EHxg.mjs";
11
- import { t as renderers_default$7 } from "../renderer-Cn-p1SyO.mjs";
11
+ import { t as renderers_default$7 } from "../renderer-BpJgfBQ8.mjs";
12
12
  import { i as softLimit, n as mixSfxInto, r as renderSfx, t as encodeStereoWav } from "../audio-TAvPwzLR.mjs";
13
13
 
14
14
  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 { o as AudioSignalComputeConfig, zt as FrameSignal } from "./index-WIPHLy5m.mjs";
2
- import { n as NodeRendererPlugin } from "./index-CZChQhXZ.mjs";
1
+ import { o as AudioSignalComputeConfig, zt as FrameSignal } from "./index-D1zaOwEU.mjs";
2
+ import { n as NodeRendererPlugin } from "./index-J9CIK_nu.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-a6pY05g2.d.mts.map
37
+ //# sourceMappingURL=audio-BxA0sL9z.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"audio-a6pY05g2.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-BxA0sL9z.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
1
  import { _t as frameArraySignal } from "./dist-B9Afsv83.mjs";
2
- import { F as ensureDevice, i as AudioSignalComputePipeline } from "./dist-sHqWCB9M.mjs";
3
- import { n as decodeAudioSource } from "./dist-JkiL-qy7.mjs";
2
+ import { F as ensureDevice, i as AudioSignalComputePipeline } from "./dist-DgfykO99.mjs";
3
+ import { n as decodeAudioSource } from "./dist-CoSg-CWr.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-D6enPyAG.mjs.map
85
+ //# sourceMappingURL=audio-Dev4NGPa.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"audio-D6enPyAG.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-Dev4NGPa.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"}
@@ -63,4 +63,4 @@ var init_client = __esmMin((() => {
63
63
 
64
64
  //#endregion
65
65
  export { setCredentialFeature as a, setFeature as i, init_client as n, emitWarningIfUnsupportedVersion as o, setTokenFeature as r, state as s, client_exports as t };
66
- //# sourceMappingURL=client-C74hb7fy.mjs.map
66
+ //# sourceMappingURL=client-CwRhflHE.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-C74hb7fy.mjs","names":[],"sources":["../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/client/emitWarningIfUnsupportedVersion.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/client/setCredentialFeature.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/client/setFeature.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/client/setTokenFeature.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/client/index.js"],"sourcesContent":["export const state = {\n warningEmitted: false,\n};\nexport const emitWarningIfUnsupportedVersion = (version) => {\n if (version && !state.warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 20) {\n state.warningEmitted = true;\n process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will\nno longer support Node.js ${version} in January 2026.\n\nTo continue receiving updates to AWS services, bug fixes, and security\nupdates please upgrade to a supported Node.js LTS version.\n\nMore information can be found at: https://a.co/c895JFp`);\n }\n};\n","export function setCredentialFeature(credentials, feature, value) {\n if (!credentials.$source) {\n credentials.$source = {};\n }\n credentials.$source[feature] = value;\n return credentials;\n}\n","export function setFeature(context, feature, value) {\n if (!context.__aws_sdk_context) {\n context.__aws_sdk_context = {\n features: {},\n };\n }\n else if (!context.__aws_sdk_context.features) {\n context.__aws_sdk_context.features = {};\n }\n context.__aws_sdk_context.features[feature] = value;\n}\n","export function setTokenFeature(token, feature, value) {\n if (!token.$source) {\n token.$source = {};\n }\n token.$source[feature] = value;\n return token;\n}\n","export * from \"./emitWarningIfUnsupportedVersion\";\nexport * from \"./setCredentialFeature\";\nexport * from \"./setFeature\";\nexport * from \"./setTokenFeature\";\n"],"x_google_ignoreList":[0,1,2,3,4],"mappings":";;;;;CAAa,QAAQ,EACjB,gBAAgB,OACnB;CACY,mCAAmC,YAAY;AACxD,MAAI,WAAW,CAAC,MAAM,kBAAkB,SAAS,QAAQ,UAAU,GAAG,QAAQ,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI;AAC/F,SAAM,iBAAiB;AACvB,WAAQ,YAAY;4BACA,QAAQ;;;;;wDAKoB;;;;;;;ACZxD,SAAgB,qBAAqB,aAAa,SAAS,OAAO;AAC9D,KAAI,CAAC,YAAY,QACb,aAAY,UAAU,EAAE;AAE5B,aAAY,QAAQ,WAAW;AAC/B,QAAO;;;;;;ACLX,SAAgB,WAAW,SAAS,SAAS,OAAO;AAChD,KAAI,CAAC,QAAQ,kBACT,SAAQ,oBAAoB,EACxB,UAAU,EAAE,EACf;UAEI,CAAC,QAAQ,kBAAkB,SAChC,SAAQ,kBAAkB,WAAW,EAAE;AAE3C,SAAQ,kBAAkB,SAAS,WAAW;;;;;;ACTlD,SAAgB,gBAAgB,OAAO,SAAS,OAAO;AACnD,KAAI,CAAC,MAAM,QACP,OAAM,UAAU,EAAE;AAEtB,OAAM,QAAQ,WAAW;AACzB,QAAO"}
1
+ {"version":3,"file":"client-CwRhflHE.mjs","names":[],"sources":["../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/client/emitWarningIfUnsupportedVersion.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/client/setCredentialFeature.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/client/setFeature.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/client/setTokenFeature.js","../../../node_modules/.pnpm/@aws-sdk+core@3.973.20/node_modules/@aws-sdk/core/dist-es/submodules/client/index.js"],"sourcesContent":["export const state = {\n warningEmitted: false,\n};\nexport const emitWarningIfUnsupportedVersion = (version) => {\n if (version && !state.warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 20) {\n state.warningEmitted = true;\n process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will\nno longer support Node.js ${version} in January 2026.\n\nTo continue receiving updates to AWS services, bug fixes, and security\nupdates please upgrade to a supported Node.js LTS version.\n\nMore information can be found at: https://a.co/c895JFp`);\n }\n};\n","export function setCredentialFeature(credentials, feature, value) {\n if (!credentials.$source) {\n credentials.$source = {};\n }\n credentials.$source[feature] = value;\n return credentials;\n}\n","export function setFeature(context, feature, value) {\n if (!context.__aws_sdk_context) {\n context.__aws_sdk_context = {\n features: {},\n };\n }\n else if (!context.__aws_sdk_context.features) {\n context.__aws_sdk_context.features = {};\n }\n context.__aws_sdk_context.features[feature] = value;\n}\n","export function setTokenFeature(token, feature, value) {\n if (!token.$source) {\n token.$source = {};\n }\n token.$source[feature] = value;\n return token;\n}\n","export * from \"./emitWarningIfUnsupportedVersion\";\nexport * from \"./setCredentialFeature\";\nexport * from \"./setFeature\";\nexport * from \"./setTokenFeature\";\n"],"x_google_ignoreList":[0,1,2,3,4],"mappings":";;;;;CAAa,QAAQ,EACjB,gBAAgB,OACnB;CACY,mCAAmC,YAAY;AACxD,MAAI,WAAW,CAAC,MAAM,kBAAkB,SAAS,QAAQ,UAAU,GAAG,QAAQ,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI;AAC/F,SAAM,iBAAiB;AACvB,WAAQ,YAAY;4BACA,QAAQ;;;;;wDAKoB;;;;;;;ACZxD,SAAgB,qBAAqB,aAAa,SAAS,OAAO;AAC9D,KAAI,CAAC,YAAY,QACb,aAAY,UAAU,EAAE;AAE5B,aAAY,QAAQ,WAAW;AAC/B,QAAO;;;;;;ACLX,SAAgB,WAAW,SAAS,SAAS,OAAO;AAChD,KAAI,CAAC,QAAQ,kBACT,SAAQ,oBAAoB,EACxB,UAAU,EAAE,EACf;UAEI,CAAC,QAAQ,kBAAkB,SAChC,SAAQ,kBAAkB,WAAW,EAAE;AAE3C,SAAQ,kBAAkB,SAAS,WAAW;;;;;;ACTlD,SAAgB,gBAAgB,OAAO,SAAS,OAAO;AACnD,KAAI,CAAC,MAAM,QACP,OAAM,UAAU,EAAE;AAEtB,OAAM,QAAQ,WAAW;AACzB,QAAO"}
@@ -1,6 +1,6 @@
1
1
  import { Ft as resolveMediaMimeType, Kt as updateClockSignals, Ot as isSignal, bt as getActiveMediaMetadata, f as DEFAULT_DURATION_MS, wt as getMediaType } from "./dist-B9Afsv83.mjs";
2
2
  import { i as webgpuRegistry, t as audioRegistry } from "./renderer-CtVkU_GA.mjs";
3
- import { $ as registerHeadlessFont, A as drawLottieNode, B as inputStore, D as drawCaptionNode, L as getHeadlessFontPath, M as drawSignalNode, N as drawSvgNode, O as drawGifNode, P as drawVideoNode, at as getEnv, b as SlugGeometry, et as shaderStore, it as GetFontAssetUrl, j as drawParagraphNode, k as drawImageNode, ot as resolveMediaSourceUrl, tt as signalRegistry, y as SlugFontCache } from "./dist-sHqWCB9M.mjs";
3
+ import { A as drawLottieNode, B as inputStore, D as drawCaptionNode, L as getHeadlessFontPath, M as drawSignalNode, N as drawSvgNode, O as drawGifNode, P as drawVideoNode, at as GetFontAssetUrl, b as SlugGeometry, et as registerHeadlessFont, j as drawParagraphNode, k as drawImageNode, nt as signalRegistry, ot as getEnv, st as resolveMediaSourceUrl, tt as shaderStore, y as SlugFontCache } from "./dist-DgfykO99.mjs";
4
4
  import { AudioSampleSink } from "mediabunny";
5
5
 
6
6
  //#region ../renderers/dist/index.mjs
@@ -941,16 +941,17 @@ function measureText(text, style) {
941
941
  const wrapCount = Math.max(1, Math.ceil(estLineWidth / maxW));
942
942
  totalWrappedLines += wrapCount;
943
943
  } else totalWrappedLines += 1;
944
+ const letterGaps = Math.max(0, safeText.length - 1);
944
945
  const result$1 = {
945
- width: style.width !== void 0 ? style.width : Math.ceil(safeText.length * fontSize * .6 + letterSpacing * safeText.length) + 2 + padding * 2,
946
- height: style.height !== void 0 ? style.height : Math.ceil(totalWrappedLines * calculatedLineHeight) + 2 + padding * 2
946
+ width: style.width !== void 0 ? style.width : Math.ceil(safeText.length * fontSize * .6 + letterSpacing * letterGaps) + padding * 2,
947
+ height: style.height !== void 0 ? style.height : Math.ceil(totalWrappedLines * calculatedLineHeight) + padding * 2
947
948
  };
948
949
  cache.set(cacheKey, result$1);
949
950
  return result$1;
950
951
  }
951
952
  const measured = SlugGeometry.measure(safeText, slugFont, fontSize, letterSpacing, calculatedLineHeight, style.width !== void 0 ? Math.max(0, style.width - padding * 2) : void 0, style.spans);
952
953
  const result = {
953
- width: style.width !== void 0 && !style.keepNaturalWidth ? style.width : Math.ceil(measured.width) + padding * 2 + 8,
954
+ width: style.width !== void 0 && !style.keepNaturalWidth ? style.width : Math.ceil(measured.width) + padding * 2,
954
955
  height: style.height !== void 0 ? style.height : Math.ceil(measured.height) + padding * 2
955
956
  };
956
957
  cache.set(cacheKey, result);
@@ -1064,18 +1065,19 @@ async function drawCompositionTree(ctx, encoder, targetView, targetTexture, targ
1064
1065
  if (!op) return;
1065
1066
  const isCompositor = op.op === "Compositor";
1066
1067
  const frame = props.frame ?? 0;
1068
+ const compositionFrame = props.compositionFrame ?? frame;
1067
1069
  const segments = op.timeline?.segments || [];
1068
1070
  const localFrame = frame - (op.startFrame ?? op.timeline?.startFrame ?? 0);
1069
1071
  const isTimelineProvider = op.timeline !== void 0 || op.startFrame !== void 0 || op.op === "compose";
1070
1072
  const resolvedDurationMs = isTimelineProvider ? getActiveMediaMetadata(virtualMedia)?.durationMs ?? props.durationMs ?? void 0 : props.durationMs ?? getActiveMediaMetadata(virtualMedia)?.durationMs ?? void 0;
1071
- if (!(op.op === "source" || op.op === "text" || op.op === "caption")) updateClockSignals(frame, fps, resolvedDurationMs);
1073
+ if (!(op.op === "source" || op.op === "text" || op.op === "caption")) updateClockSignals(compositionFrame, fps, resolvedDurationMs);
1072
1074
  const frameCtx = acquireFrameContext();
1073
- frameCtx.frame = frame;
1075
+ frameCtx.frame = compositionFrame;
1074
1076
  frameCtx.fps = fps;
1075
- frameCtx.time = fps > 0 ? frame / fps : 0;
1077
+ frameCtx.time = fps > 0 ? compositionFrame / fps : 0;
1076
1078
  frameCtx.duration = (resolvedDurationMs ?? 0) / 1e3;
1077
1079
  frameCtx.durationMs = resolvedDurationMs ?? 0;
1078
- frameCtx.progress = resolvedDurationMs && resolvedDurationMs > 0 ? Math.max(0, Math.min(1, frame / fps * 1e3 / resolvedDurationMs)) : 0;
1080
+ frameCtx.progress = resolvedDurationMs && resolvedDurationMs > 0 ? Math.max(0, Math.min(1, compositionFrame / fps * 1e3 / resolvedDurationMs)) : 0;
1079
1081
  frameCtx.deltaTime = fps > 0 ? 1 / fps : 0;
1080
1082
  const resolvedElapsedMs = isTimelineProvider ? (localFrame !== void 0 && fps !== void 0 ? localFrame / fps * 1e3 : void 0) ?? props.elapsedMs : props.elapsedMs ?? (localFrame !== void 0 && fps !== void 0 ? localFrame / fps * 1e3 : void 0);
1081
1083
  const effectiveLocalFrame = localFrame + Math.round(inheritedSeekOffset * fps);
@@ -1106,6 +1108,7 @@ async function drawCompositionTree(ctx, encoder, targetView, targetTexture, targ
1106
1108
  const dummyTex = ctx.renderer.getTemporaryTexture(lutW, lutH);
1107
1109
  await drawCompositionTree(ctx, encoder, dummyTex.createView(), dummyTex, lutW, lutH, lutVirtualMedia, {
1108
1110
  ...props,
1111
+ compositionFrame,
1109
1112
  virtualMedia: lutVirtualMedia
1110
1113
  }, accumulatedSeekOffsetSec, accumulatedClockOffsetSec);
1111
1114
  }
@@ -1138,6 +1141,7 @@ async function drawCompositionTree(ctx, encoder, targetView, targetTexture, targ
1138
1141
  targetHeight,
1139
1142
  props: {
1140
1143
  ...props,
1144
+ compositionFrame,
1141
1145
  virtualMedia,
1142
1146
  inheritedSeekOffset: accumulatedSeekOffsetSec,
1143
1147
  inheritedClockOffset: accumulatedClockOffsetSec,
@@ -1147,6 +1151,7 @@ async function drawCompositionTree(ctx, encoder, targetView, targetTexture, targ
1147
1151
  drawChild: async (child, overrides, targetViewOverride, targetTextureOverride, targetWidthOverride, targetHeightOverride) => {
1148
1152
  await drawCompositionTree(ctx, encoder, targetViewOverride ?? targetView, targetTextureOverride ?? targetTexture, targetWidthOverride ?? targetWidth, targetHeightOverride ?? targetHeight, child, {
1149
1153
  ...props,
1154
+ compositionFrame,
1150
1155
  durationMs: resolvedDurationMs,
1151
1156
  elapsedMs: resolvedElapsedMs,
1152
1157
  virtualMedia: child,
@@ -1191,6 +1196,7 @@ async function drawCompositionTree(ctx, encoder, targetView, targetTexture, targ
1191
1196
  drawChild: async (child, childProps, childView, childTex, childW, childH) => {
1192
1197
  await drawCompositionTree(ctx, encoder, childView, childTex, childW, childH, child, {
1193
1198
  ...props,
1199
+ compositionFrame,
1194
1200
  durationMs: resolvedDurationMs,
1195
1201
  elapsedMs: resolvedElapsedMs,
1196
1202
  ...childProps,
@@ -1429,6 +1435,7 @@ async function drawCompositionTree(ctx, encoder, targetView, targetTexture, targ
1429
1435
  const child = virtualMedia.children[i];
1430
1436
  if (child) await drawCompositionTree(ctx, encoder, targetView, targetTexture, targetWidth, targetHeight, child, {
1431
1437
  ...props,
1438
+ compositionFrame,
1432
1439
  durationMs: resolvedDurationMs,
1433
1440
  elapsedMs: resolvedElapsedMs,
1434
1441
  virtualMedia: child,
@@ -1782,6 +1789,8 @@ async function mixAudioTracks(virtualMedia, fps, targetSampleRate = 48e3, device
1782
1789
  const speedMultiplier = inheritedSpeed;
1783
1790
  const localClockFrames = inheritedClockFrames + (op.startFrame ?? op.timeline?.startFrame ?? 0);
1784
1791
  const segments = op.timeline?.segments || [];
1792
+ const layer = op;
1793
+ const layerTrimSec = layer.op === "CompositorLayer" ? (layer.mediaStartFrame ?? layer.trimStartFrames ?? null) !== null ? (layer.mediaStartFrame ?? layer.trimStartFrames ?? 0) / fps : Math.round((layer.trimStartSec ?? 0) * fps) / fps : 0;
1785
1794
  const nodeDurationMs = getActiveMediaMetadata(node)?.durationMs ?? 0;
1786
1795
  const nodeDurationFrames = Math.round(nodeDurationMs / 1e3 * fps);
1787
1796
  const nodeActualDurationFrames = inheritedDurationFrames !== null ? nodeDurationFrames > 0 ? Math.min(inheritedDurationFrames, nodeDurationFrames) : inheritedDurationFrames : nodeDurationFrames;
@@ -1791,7 +1800,8 @@ async function mixAudioTracks(virtualMedia, fps, targetSampleRate = 48e3, device
1791
1800
  const localRight = new Float32Array(localSamplesCount);
1792
1801
  const localChannels = [localLeft, localRight];
1793
1802
  const processSegment = async (seg, windowStartFrameOffset) => {
1794
- const totalSeekSec = inheritedSeekSec + (seg ? seg.startSec : 0);
1803
+ const segSeekSec = seg ? seg.startSec : 0;
1804
+ const totalSeekSec = inheritedSeekSec + layerTrimSec + segSeekSec;
1795
1805
  const totalClockFrames = localClockFrames + windowStartFrameOffset;
1796
1806
  let segDurationFrames = 0;
1797
1807
  if (seg) segDurationFrames = Math.max(1, Math.round(((seg.endSec ?? 0) - seg.startSec) * fps));
@@ -1851,7 +1861,7 @@ async function mixAudioTracks(virtualMedia, fps, targetSampleRate = 48e3, device
1851
1861
  frame: totalClockFrames,
1852
1862
  fps,
1853
1863
  renderId,
1854
- elapsedMs: (totalClockFrames / fps + totalSeekSec) * 1e3,
1864
+ elapsedMs: (totalClockFrames / fps + totalSeekSec - layerTrimSec) * 1e3,
1855
1865
  durationMs: getActiveMediaMetadata(node)?.durationMs ?? void 0
1856
1866
  });
1857
1867
  } catch (pluginErr) {
@@ -1899,4 +1909,4 @@ async function mixAudioTracks(virtualMedia, fps, targetSampleRate = 48e3, device
1899
1909
 
1900
1910
  //#endregion
1901
1911
  export { springCalculation as C, spring as S, measureTextAsync as _, resolveLayerDuration as a, preloadFont as b, MAX_LIGHTS as c, bezier as d, computeStrokeRect as f, measureText as g, measureSpring as h, mixAudioTracks as i, Matrix4Math as l, mapBlendModeToSkia as m, decodeAudioSource as n, Easing as o, interpolate as p, drawCompositionTree as r, LIGHT_UNIFORM_SIZE_BYTES as s, compositionStateStore as t, Vector3Math as u, parseColorToRgb as v, requiresIsolation as x, preloadCompositionFonts as y };
1902
- //# sourceMappingURL=dist-JkiL-qy7.mjs.map
1912
+ //# sourceMappingURL=dist-CoSg-CWr.mjs.map