framefields 2.6.2 → 2.7.0

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 (463) hide show
  1. package/dist/audio/index.d.mts +4 -4
  2. package/dist/audio/index.mjs +10 -10
  3. package/dist/{audio-BHuVoNc-.mjs → audio-j3ttoRDX.mjs} +4 -4
  4. package/dist/{audio-BHuVoNc-.mjs.map → audio-j3ttoRDX.mjs.map} +1 -1
  5. package/dist/{audio-WcPMxtcz.d.mts → audio-tL8CcPra.d.mts} +3 -3
  6. package/dist/{audio-WcPMxtcz.d.mts.map → audio-tL8CcPra.d.mts.map} +1 -1
  7. package/dist/components/index.d.mts +10 -10
  8. package/dist/components/index.mjs +44 -44
  9. package/dist/{dist-Wsjx_Rza.mjs → dist-BHTd-EC1.mjs} +92 -19
  10. package/dist/{dist-Wsjx_Rza.mjs.map → dist-BHTd-EC1.mjs.map} +1 -1
  11. package/dist/{dist-CSU_2yUb.mjs → dist-BM0ilHvQ.mjs} +115 -21
  12. package/dist/dist-BM0ilHvQ.mjs.map +1 -0
  13. package/dist/{dist-CL5JOMSp.mjs → dist-BRXsfWKQ.mjs} +424 -8
  14. package/dist/dist-BRXsfWKQ.mjs.map +1 -0
  15. package/dist/{dist-PlaSQJ43.mjs → dist-CPtFZxtu.mjs} +2 -2
  16. package/dist/{dist-PlaSQJ43.mjs.map → dist-CPtFZxtu.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-BvloJaPQ.mjs → effects-Dy661XS_.mjs} +3 -3
  20. package/dist/{effects-BvloJaPQ.mjs.map → effects-Dy661XS_.mjs.map} +1 -1
  21. package/dist/fonts/index.mjs +2 -2
  22. package/dist/{fonts-DpnBDAqM.mjs → fonts-BcFhAqqO.mjs} +2 -2
  23. package/dist/{fonts-DpnBDAqM.mjs.map → fonts-BcFhAqqO.mjs.map} +1 -1
  24. package/dist/{gpu-BvYDrqOC.mjs → gpu-zIhSz_0X.mjs} +2 -2
  25. package/dist/{gpu-BvYDrqOC.mjs.map → gpu-zIhSz_0X.mjs.map} +1 -1
  26. package/dist/{index-kj5uSzaI.d.mts → index-B1ENegOQ.d.mts} +204 -2
  27. package/dist/index-B1ENegOQ.d.mts.map +1 -0
  28. package/dist/{index-DsGBouQM.d.mts → index-CJRTBLZ4.d.mts} +4 -4
  29. package/dist/{index-DsGBouQM.d.mts.map → index-CJRTBLZ4.d.mts.map} +1 -1
  30. package/dist/{index-DcIR_DgU.d.mts → index-Cg30slle.d.mts} +2 -2
  31. package/dist/{index-DcIR_DgU.d.mts.map → index-Cg30slle.d.mts.map} +1 -1
  32. package/dist/{index-wUhS1_4W.d.mts → index-DeeMmoEA.d.mts} +2 -2
  33. package/dist/{index-wUhS1_4W.d.mts.map → index-DeeMmoEA.d.mts.map} +1 -1
  34. package/dist/{index-C541Ol1N.d.mts → index-ePGQ_C7f.d.mts} +39 -16
  35. package/dist/index-ePGQ_C7f.d.mts.map +1 -0
  36. package/dist/{index-C6ihzCpZ.d.mts → index-l1yRugLc.d.mts} +3 -3
  37. package/dist/{index-C6ihzCpZ.d.mts.map → index-l1yRugLc.d.mts.map} +1 -1
  38. package/dist/{index-BCzXnNpb.d.mts → index-uDZ9Yuv-.d.mts} +5 -8
  39. package/dist/index-uDZ9Yuv-.d.mts.map +1 -0
  40. package/dist/index.d.mts +11 -11
  41. package/dist/index.mjs +53 -53
  42. package/dist/preview/index.d.mts +3 -3
  43. package/dist/preview/index.mjs +10 -10
  44. package/dist/{preview-UMG4Colu.mjs → preview-IpdVFuxv.mjs} +3 -2
  45. package/dist/{preview-UMG4Colu.mjs.map → preview-IpdVFuxv.mjs.map} +1 -1
  46. package/dist/preview-engine/audio.mjs +1 -1
  47. package/dist/preview-engine/{chunk-RF62TV3G.mjs → chunk-25WRUINA.mjs} +1 -1
  48. package/dist/preview-engine/{chunk-MMVFX42U.mjs → chunk-2AEWPT6Y.mjs} +1 -1
  49. package/dist/preview-engine/{chunk-IIOHF7MH.mjs → chunk-2MDTUA3W.mjs} +1 -1
  50. package/dist/preview-engine/{chunk-KWTTANYN.mjs → chunk-2TLABBER.mjs} +1 -1
  51. package/dist/preview-engine/{chunk-MUOJMF7M.mjs → chunk-3QOJVABU.mjs} +1 -1
  52. package/dist/preview-engine/{chunk-RDEQ4LQU.mjs → chunk-4Q3ZUTQC.mjs} +1 -1
  53. package/dist/preview-engine/{chunk-OXXRKNHW.mjs → chunk-5BXCJ2QX.mjs} +1 -1
  54. package/dist/preview-engine/{chunk-JTT3YX7W.mjs → chunk-5R4UF7YK.mjs} +1 -1
  55. package/dist/preview-engine/{chunk-SVE3XWO7.mjs → chunk-6VDYWMP5.mjs} +1 -1
  56. package/dist/preview-engine/{chunk-ULPLHKM2.mjs → chunk-7B7QQDPZ.mjs} +1 -1
  57. package/dist/preview-engine/{chunk-ULVX4VYT.mjs → chunk-7ZA36EZE.mjs} +1 -1
  58. package/dist/preview-engine/{chunk-LYSU6S4O.mjs → chunk-AJ6BVUDB.mjs} +1 -1
  59. package/dist/preview-engine/{chunk-J24VHZS6.mjs → chunk-BDXGUSSF.mjs} +1 -1
  60. package/dist/preview-engine/{chunk-B7J72YSP.mjs → chunk-CC5V7UBF.mjs} +1 -1
  61. package/dist/preview-engine/{chunk-JD4TBC6Z.mjs → chunk-CP42LYD7.mjs} +1 -1
  62. package/dist/preview-engine/{chunk-LN3YAWUD.mjs → chunk-DJWDD3OE.mjs} +1 -1
  63. package/dist/preview-engine/{chunk-V3FODTPI.mjs → chunk-DZEWY4PR.mjs} +22 -22
  64. package/dist/preview-engine/{chunk-RKNV5N7D.mjs → chunk-ENGQ55LR.mjs} +1 -1
  65. package/dist/preview-engine/{chunk-NIILFJKE.mjs → chunk-FBXKVLTB.mjs} +14 -14
  66. package/dist/preview-engine/{chunk-MJCK5FLZ.mjs → chunk-FMEXTHL7.mjs} +1 -1
  67. package/dist/preview-engine/{chunk-UEQIO6AH.mjs → chunk-FQ7UCMWR.mjs} +1 -1
  68. package/dist/preview-engine/{chunk-TPFDAOW7.mjs → chunk-FRIBHQTM.mjs} +1 -1
  69. package/dist/preview-engine/chunk-FT7HJ6IE.mjs +3 -0
  70. package/dist/preview-engine/{chunk-YEPYVASB.mjs → chunk-G3UOUGIE.mjs} +1 -1
  71. package/dist/preview-engine/{chunk-4JX5LBE2.mjs → chunk-H4GDIVX4.mjs} +1 -1
  72. package/dist/preview-engine/{chunk-DDFWN7DI.mjs → chunk-I7QIQURU.mjs} +1 -1
  73. package/dist/preview-engine/{chunk-3KHD67Q3.mjs → chunk-ID344UBN.mjs} +1 -1
  74. package/dist/preview-engine/{chunk-5NT7WWJR.mjs → chunk-IGCXUGHT.mjs} +1 -1
  75. package/dist/preview-engine/{chunk-QPBTLJ5W.mjs → chunk-IK3YA6MC.mjs} +1 -1
  76. package/dist/preview-engine/chunk-J5SKQFJ6.mjs +1 -0
  77. package/dist/preview-engine/{chunk-Q7JN4EHX.mjs → chunk-JOPZNSZJ.mjs} +1 -1
  78. package/dist/preview-engine/{chunk-SQ52PBF3.mjs → chunk-JOSNIMFT.mjs} +1 -1
  79. package/dist/preview-engine/{chunk-SXNCNG4L.mjs → chunk-JR443L5E.mjs} +1 -1
  80. package/dist/preview-engine/{chunk-FZLKPBKS.mjs → chunk-KCAFMWDM.mjs} +1 -1
  81. package/dist/preview-engine/{chunk-QRYCB6E3.mjs → chunk-LAEPNVOE.mjs} +1 -1
  82. package/dist/preview-engine/chunk-MAALUQK3.mjs +1974 -0
  83. package/dist/preview-engine/chunk-MHCXSWK7.mjs +1 -0
  84. package/dist/preview-engine/{chunk-4INGTMZ5.mjs → chunk-MWBARRK2.mjs} +1 -1
  85. package/dist/preview-engine/{chunk-GQIRV466.mjs → chunk-MXPN2GB7.mjs} +1 -1
  86. package/dist/preview-engine/{chunk-W2EZFV4Q.mjs → chunk-NHYB5YC3.mjs} +1 -1
  87. package/dist/preview-engine/{chunk-22BLMBWX.mjs → chunk-PXSKIGAP.mjs} +6 -6
  88. package/dist/preview-engine/{chunk-SP22JWN2.mjs → chunk-PYM2FBFA.mjs} +1 -1
  89. package/dist/preview-engine/chunk-QDTJ4MOJ.mjs +1 -0
  90. package/dist/preview-engine/{chunk-6PMATELR.mjs → chunk-RQU2GFGH.mjs} +1 -1
  91. package/dist/preview-engine/{chunk-UQD2UE6I.mjs → chunk-RWDPBES3.mjs} +1 -1
  92. package/dist/preview-engine/{chunk-QVW5METG.mjs → chunk-S5ONWSZF.mjs} +1 -1
  93. package/dist/preview-engine/{chunk-2YGR5YCN.mjs → chunk-SIU6JU2R.mjs} +1 -1
  94. package/dist/preview-engine/{chunk-NQZRPPUU.mjs → chunk-SJ3Q4AQP.mjs} +1 -1
  95. package/dist/preview-engine/chunk-TEBZRQPG.mjs +1 -0
  96. package/dist/preview-engine/{chunk-WDWHOXSA.mjs → chunk-UUDML2SN.mjs} +1 -1
  97. package/dist/preview-engine/{chunk-RHXZXWJ4.mjs → chunk-VAS4IJZR.mjs} +1 -1
  98. package/dist/preview-engine/{chunk-DOCFOSA6.mjs → chunk-WTDK6H46.mjs} +1 -1
  99. package/dist/preview-engine/chunk-XNMEVVQB.mjs +1 -0
  100. package/dist/preview-engine/{chunk-AKT4YQWL.mjs → chunk-YVGT4NK6.mjs} +2 -2
  101. package/dist/preview-engine/chunk-ZYTXBBIX.mjs +1 -0
  102. package/dist/preview-engine/components.mjs +1 -1
  103. package/dist/preview-engine/effects.mjs +1 -1
  104. package/dist/preview-engine/framefields.mjs +1 -1
  105. package/dist/preview-engine/player.mjs +2 -2
  106. package/dist/preview-engine/{renderers-FC7G7KU7.mjs → renderers-2AKYMAIK.mjs} +1 -1
  107. package/dist/preview-engine/renderers-363CKEIG.mjs +1 -0
  108. package/dist/preview-engine/{renderers-EJGF3PYQ.mjs → renderers-36L24ZVS.mjs} +1 -1
  109. package/dist/preview-engine/renderers-3FMMVDMA.mjs +1 -0
  110. package/dist/preview-engine/{renderers-56TGEFDK.mjs → renderers-44AANAXR.mjs} +1 -1
  111. package/dist/preview-engine/renderers-4UUU62VV.mjs +1 -0
  112. package/dist/preview-engine/renderers-4ZTZFSAR.mjs +1 -0
  113. package/dist/preview-engine/{renderers-PYDOSDEY.mjs → renderers-5ZSB75GY.mjs} +1 -1
  114. package/dist/preview-engine/renderers-6KDD75BM.mjs +1 -0
  115. package/dist/preview-engine/renderers-7BJRD4G2.mjs +1 -0
  116. package/dist/preview-engine/{renderers-HBIBRZD7.mjs → renderers-AIIHGDJM.mjs} +1 -1
  117. package/dist/preview-engine/{renderers-P2FTCDZ7.mjs → renderers-AU746ORP.mjs} +1 -1
  118. package/dist/preview-engine/renderers-BIF2BETK.mjs +1 -0
  119. package/dist/preview-engine/{renderers-FD3ZT73R.mjs → renderers-BTQCHVHV.mjs} +1 -1
  120. package/dist/preview-engine/{renderers-HMNCIEU3.mjs → renderers-CFHBOAZG.mjs} +1 -1
  121. package/dist/preview-engine/renderers-CU5RW5UA.mjs +1 -0
  122. package/dist/preview-engine/renderers-DK5OBTKE.mjs +1 -0
  123. package/dist/preview-engine/renderers-EAKCDGTY.mjs +1 -0
  124. package/dist/preview-engine/{renderers-FYI6QNUH.mjs → renderers-EGBGC7MU.mjs} +1 -1
  125. package/dist/preview-engine/renderers-EVXCU7G7.mjs +1 -0
  126. package/dist/preview-engine/renderers-EXEYEH3F.mjs +1 -0
  127. package/dist/preview-engine/{renderers-RDHHVXRE.mjs → renderers-EXJDPS3T.mjs} +1 -1
  128. package/dist/preview-engine/renderers-F3WALPWI.mjs +1 -0
  129. package/dist/preview-engine/{renderers-4RVSLTCX.mjs → renderers-FS3EOB4J.mjs} +1 -1
  130. package/dist/preview-engine/{renderers-C3YXNKNM.mjs → renderers-GUL2MXDD.mjs} +1 -1
  131. package/dist/preview-engine/{renderers-EQDINUMT.mjs → renderers-H4HC44B5.mjs} +1 -1
  132. package/dist/preview-engine/renderers-H6565HO4.mjs +1 -0
  133. package/dist/preview-engine/renderers-HT5V6OZ2.mjs +1 -0
  134. package/dist/preview-engine/renderers-HXMOARWO.mjs +1 -0
  135. package/dist/preview-engine/renderers-HZ2Q7BGK.mjs +1 -0
  136. package/dist/preview-engine/renderers-I4N2K2KW.mjs +1 -0
  137. package/dist/preview-engine/renderers-I5J7U6CB.mjs +1 -0
  138. package/dist/preview-engine/renderers-IZV6QXR5.mjs +1 -0
  139. package/dist/preview-engine/renderers-JWGAPHWX.mjs +1 -0
  140. package/dist/preview-engine/renderers-KNDSVQTY.mjs +1 -0
  141. package/dist/preview-engine/renderers-KNDUOO6M.mjs +1 -0
  142. package/dist/preview-engine/renderers-KQAO3QEI.mjs +1 -0
  143. package/dist/preview-engine/{renderers-7SW2AHM2.mjs → renderers-LCSQLXRD.mjs} +1 -1
  144. package/dist/preview-engine/renderers-M34LOEHC.mjs +1 -0
  145. package/dist/preview-engine/renderers-ML6GNCWB.mjs +1 -0
  146. package/dist/preview-engine/renderers-NARG274F.mjs +1 -0
  147. package/dist/preview-engine/renderers-NCFPOSWR.mjs +1 -0
  148. package/dist/preview-engine/{renderers-ZAMSS7QN.mjs → renderers-PCOTECQB.mjs} +1 -1
  149. package/dist/preview-engine/renderers-PG5JHI2S.mjs +1 -0
  150. package/dist/preview-engine/{renderers-LTV5RFDJ.mjs → renderers-Q7MNLQJF.mjs} +1 -1
  151. package/dist/preview-engine/{renderers-GHP7SL5M.mjs → renderers-QXVSJYZL.mjs} +1 -1
  152. package/dist/preview-engine/{renderers-H2UI7YEO.mjs → renderers-R3ERZ3ZY.mjs} +1 -1
  153. package/dist/preview-engine/renderers-RXQKV65L.mjs +1 -0
  154. package/dist/preview-engine/renderers-SA73GD2B.mjs +1 -0
  155. package/dist/preview-engine/renderers-SLIXUHNX.mjs +1 -0
  156. package/dist/preview-engine/renderers-T462JZNA.mjs +1 -0
  157. package/dist/preview-engine/{renderers-LV6LLULR.mjs → renderers-TH2XZAYW.mjs} +1 -1
  158. package/dist/preview-engine/{renderers-ART3EGSZ.mjs → renderers-UHZIERVH.mjs} +1 -1
  159. package/dist/preview-engine/renderers-V7CFVGYK.mjs +1 -0
  160. package/dist/preview-engine/renderers-VY5E7BPK.mjs +1 -0
  161. package/dist/preview-engine/{renderers-ZDMDDWLN.mjs → renderers-WKXGELRG.mjs} +1 -1
  162. package/dist/preview-engine/{renderers-GY4R467B.mjs → renderers-WLDIIFR5.mjs} +1 -1
  163. package/dist/preview-engine/{renderers-NTKSN32T.mjs → renderers-WM6WBRH6.mjs} +1 -1
  164. package/dist/preview-engine/renderers-WT5FQZM7.mjs +228 -0
  165. package/dist/preview-engine/{renderers-YK74777T.mjs → renderers-WTKRLNNR.mjs} +1 -1
  166. package/dist/preview-engine/{renderers-BWRNCXR6.mjs → renderers-X6GKEVP7.mjs} +1 -1
  167. package/dist/preview-engine/renderers-Y47N5EYR.mjs +1 -0
  168. package/dist/preview-engine/renderers-Y4CUVZYI.mjs +1 -0
  169. package/dist/preview-engine/renderers-Y6YC7ZAK.mjs +1 -0
  170. package/dist/preview-engine/renderers-Y6ZYUAQG.mjs +1 -0
  171. package/dist/preview-engine/{renderers-YBTWN76S.mjs → renderers-YRWXYT5A.mjs} +1 -1
  172. package/dist/preview-engine/{renderers-SY435YU3.mjs → renderers-YWC4MXPG.mjs} +1 -1
  173. package/dist/preview-engine/{renderers-7GMW52G3.mjs → renderers-ZWNPYZN6.mjs} +1 -1
  174. package/dist/preview-engine/signals.mjs +1 -1
  175. package/dist/{program-B6YvXPhj.mjs → program-KPBfq9tw.mjs} +84 -15
  176. package/dist/program-KPBfq9tw.mjs.map +1 -0
  177. package/dist/registry/index.json +1 -1
  178. package/dist/registry/lower-third.json +1 -1
  179. package/dist/registry/text-reveal.json +2 -2
  180. package/dist/registry/title-card.json +1 -1
  181. package/dist/renderer/index.d.mts +2 -2
  182. package/dist/renderer/index.mjs +2 -2
  183. package/dist/{renderer-DFGSy_ay.mjs → renderer-1-FLx8kd.mjs} +3 -3
  184. package/dist/{renderer-DFGSy_ay.mjs.map → renderer-1-FLx8kd.mjs.map} +1 -1
  185. package/dist/{renderer-Ck74BZ_L.mjs → renderer-47d3etrX.mjs} +4 -4
  186. package/dist/{renderer-Ck74BZ_L.mjs.map → renderer-47d3etrX.mjs.map} +1 -1
  187. package/dist/{renderer-Cs8Od5S8.mjs → renderer-6GCG6JxD.mjs} +3 -3
  188. package/dist/{renderer-Cs8Od5S8.mjs.map → renderer-6GCG6JxD.mjs.map} +1 -1
  189. package/dist/{renderer-BLn9MrDC.mjs → renderer-8BIDdgjt.mjs} +3 -3
  190. package/dist/{renderer-BLn9MrDC.mjs.map → renderer-8BIDdgjt.mjs.map} +1 -1
  191. package/dist/renderer-B-5TlncB.mjs +5 -0
  192. package/dist/{renderer-CkbIz6M-.mjs → renderer-B1yzSbvC.mjs} +4 -4
  193. package/dist/{renderer-CkbIz6M-.mjs.map → renderer-B1yzSbvC.mjs.map} +1 -1
  194. package/dist/{renderer-BYNbtv_d.mjs → renderer-B2YiXpp-.mjs} +2 -2
  195. package/dist/{renderer-BYNbtv_d.mjs.map → renderer-B2YiXpp-.mjs.map} +1 -1
  196. package/dist/{renderer-DXfYdQ2o.mjs → renderer-B55ljMI_.mjs} +2 -2
  197. package/dist/{renderer-DXfYdQ2o.mjs.map → renderer-B55ljMI_.mjs.map} +1 -1
  198. package/dist/{renderer-CopRZnwp.mjs → renderer-B6Tg4UgH.mjs} +4 -4
  199. package/dist/{renderer-CopRZnwp.mjs.map → renderer-B6Tg4UgH.mjs.map} +1 -1
  200. package/dist/{renderer-CuQceSLi.mjs → renderer-BFnf-8Yt.mjs} +3 -3
  201. package/dist/{renderer-CuQceSLi.mjs.map → renderer-BFnf-8Yt.mjs.map} +1 -1
  202. package/dist/{renderer-BmarvBo8.mjs → renderer-BGHHoPiD.mjs} +2 -2
  203. package/dist/{renderer-CLvXiFPk.mjs → renderer-BHUjPi24.mjs} +2 -2
  204. package/dist/{renderer-CLvXiFPk.mjs.map → renderer-BHUjPi24.mjs.map} +1 -1
  205. package/dist/renderer-BHXtDg5_.mjs +3 -0
  206. package/dist/{renderer-CTQTbvWR.mjs → renderer-BIk67-jU.mjs} +2 -2
  207. package/dist/{renderer-CTQTbvWR.mjs.map → renderer-BIk67-jU.mjs.map} +1 -1
  208. package/dist/{renderer-BHjw4EdY.d.mts → renderer-BLEmr0Lt.d.mts} +2 -2
  209. package/dist/{renderer-BHjw4EdY.d.mts.map → renderer-BLEmr0Lt.d.mts.map} +1 -1
  210. package/dist/{renderer-BcH6-FsA.mjs → renderer-BLs5sDdk.mjs} +3 -3
  211. package/dist/{renderer-BcH6-FsA.mjs.map → renderer-BLs5sDdk.mjs.map} +1 -1
  212. package/dist/renderer-BPd3gvEt.mjs +5 -0
  213. package/dist/{renderer-Hs9t2qY-.mjs → renderer-BXul0Wy6.mjs} +3 -3
  214. package/dist/{renderer-Hs9t2qY-.mjs.map → renderer-BXul0Wy6.mjs.map} +1 -1
  215. package/dist/{renderer-BX2tt7zA.mjs → renderer-B_1SLBPa.mjs} +3 -3
  216. package/dist/{renderer-BX2tt7zA.mjs.map → renderer-B_1SLBPa.mjs.map} +1 -1
  217. package/dist/renderer-B_ep98BH.mjs +5 -0
  218. package/dist/renderer-Ba_KUbKW.mjs +5 -0
  219. package/dist/{renderer-v779MqRx.mjs → renderer-BbyNUjE_.mjs} +3 -3
  220. package/dist/{renderer-v779MqRx.mjs.map → renderer-BbyNUjE_.mjs.map} +1 -1
  221. package/dist/{renderer-rLhze-dj.mjs → renderer-BcVr_cIk.mjs} +2 -2
  222. package/dist/{renderer-rLhze-dj.mjs.map → renderer-BcVr_cIk.mjs.map} +1 -1
  223. package/dist/renderer-BeL2hstU.mjs +5 -0
  224. package/dist/renderer-Bj81osPQ.mjs +5 -0
  225. package/dist/{renderer-Cy_rrWEC.mjs → renderer-BjL7sKGU.mjs} +3 -3
  226. package/dist/{renderer-Cy_rrWEC.mjs.map → renderer-BjL7sKGU.mjs.map} +1 -1
  227. package/dist/{renderer-BZ9zGp0Z.mjs → renderer-BjNcuJ4H.mjs} +3 -3
  228. package/dist/{renderer-BZ9zGp0Z.mjs.map → renderer-BjNcuJ4H.mjs.map} +1 -1
  229. package/dist/{renderer-Da5Xcwx5.mjs → renderer-Br8aDmf0.mjs} +2 -2
  230. package/dist/renderer-BvZQngSm.mjs +5 -0
  231. package/dist/renderer-BxgN8oXx.mjs +5 -0
  232. package/dist/{renderer-CptS_UFe.mjs → renderer-ByOvGGzp.mjs} +3 -3
  233. package/dist/{renderer-CptS_UFe.mjs.map → renderer-ByOvGGzp.mjs.map} +1 -1
  234. package/dist/{renderer-C3gJco03.mjs → renderer-C11qLlrz.mjs} +3 -3
  235. package/dist/{renderer-C3gJco03.mjs.map → renderer-C11qLlrz.mjs.map} +1 -1
  236. package/dist/{renderer-D4KKtfTl.mjs → renderer-C5dyPQjG.mjs} +3 -3
  237. package/dist/{renderer-D4KKtfTl.mjs.map → renderer-C5dyPQjG.mjs.map} +1 -1
  238. package/dist/renderer-C5jDrTBc.mjs +5 -0
  239. package/dist/{renderer-Dk88a53K.mjs → renderer-C6TbU8U5.mjs} +3 -3
  240. package/dist/{renderer-Dk88a53K.mjs.map → renderer-C6TbU8U5.mjs.map} +1 -1
  241. package/dist/{renderer-DKkXBsVx.mjs → renderer-C9bcEaBE.mjs} +3 -3
  242. package/dist/{renderer-DKkXBsVx.mjs.map → renderer-C9bcEaBE.mjs.map} +1 -1
  243. package/dist/{renderer-COAYUhv2.mjs → renderer-CAH00Lub.mjs} +2 -2
  244. package/dist/{renderer-GNgSEbBu.mjs → renderer-CAhsBEpU.mjs} +2 -2
  245. package/dist/{renderer-GNgSEbBu.mjs.map → renderer-CAhsBEpU.mjs.map} +1 -1
  246. package/dist/renderer-CBK4M82Y.mjs +5 -0
  247. package/dist/{renderer-876_ArdD.mjs → renderer-CCH0gSF7.mjs} +3 -3
  248. package/dist/{renderer-876_ArdD.mjs.map → renderer-CCH0gSF7.mjs.map} +1 -1
  249. package/dist/{renderer-DNNxsVQh.mjs → renderer-CCbOp0BM.mjs} +3 -3
  250. package/dist/{renderer-DNNxsVQh.mjs.map → renderer-CCbOp0BM.mjs.map} +1 -1
  251. package/dist/{renderer-UPRkHFPp.mjs → renderer-CEb5GjcU.mjs} +3 -3
  252. package/dist/{renderer-UPRkHFPp.mjs.map → renderer-CEb5GjcU.mjs.map} +1 -1
  253. package/dist/{renderer-Cwhm9oQe.mjs → renderer-CIL9zh-a.mjs} +3 -3
  254. package/dist/{renderer-Cwhm9oQe.mjs.map → renderer-CIL9zh-a.mjs.map} +1 -1
  255. package/dist/{renderer-URxsYx_I.mjs → renderer-CIbXIFOb.mjs} +4 -4
  256. package/dist/{renderer-URxsYx_I.mjs.map → renderer-CIbXIFOb.mjs.map} +1 -1
  257. package/dist/renderer-CLHtCctc.mjs +5 -0
  258. package/dist/{renderer-Q6A9dB56.mjs → renderer-CLX33fIK.mjs} +3 -3
  259. package/dist/{renderer-Q6A9dB56.mjs.map → renderer-CLX33fIK.mjs.map} +1 -1
  260. package/dist/{renderer-DJJXvO27.mjs → renderer-CLXpWDqx.mjs} +2 -2
  261. package/dist/{renderer-DJJXvO27.mjs.map → renderer-CLXpWDqx.mjs.map} +1 -1
  262. package/dist/renderer-CLin7MNN.mjs +5 -0
  263. package/dist/{renderer-BBnurLTw.mjs → renderer-CLypsmiH.mjs} +3 -3
  264. package/dist/{renderer-BBnurLTw.mjs.map → renderer-CLypsmiH.mjs.map} +1 -1
  265. package/dist/renderer-CN7TypOB.mjs +5 -0
  266. package/dist/renderer-CV5Jfwq7.mjs +5 -0
  267. package/dist/renderer-Ca5E46WK.mjs +5 -0
  268. package/dist/renderer-CdbOtoOU.mjs +5 -0
  269. package/dist/renderer-CeD_bqWj.mjs +5 -0
  270. package/dist/{renderer-nIKvk_ij.mjs → renderer-CfEuoZ7b.mjs} +3 -3
  271. package/dist/{renderer-nIKvk_ij.mjs.map → renderer-CfEuoZ7b.mjs.map} +1 -1
  272. package/dist/renderer-CfzNNUOd.mjs +5 -0
  273. package/dist/{renderer-I-KtRtuL.mjs → renderer-Cg3h0Mz9.mjs} +3 -3
  274. package/dist/{renderer-I-KtRtuL.mjs.map → renderer-Cg3h0Mz9.mjs.map} +1 -1
  275. package/dist/renderer-Cl8TmdU8.mjs +5 -0
  276. package/dist/{renderer-CW05KUXE.mjs → renderer-ClHqvIps.mjs} +10 -10
  277. package/dist/renderer-ClHqvIps.mjs.map +1 -0
  278. package/dist/renderer-CosBP_IM.mjs +5 -0
  279. package/dist/renderer-CpwVs5Fh.mjs +5 -0
  280. package/dist/renderer-Cq7baxNb.mjs +5 -0
  281. package/dist/{renderer-PTV0M2HP.mjs → renderer-CqMz_iXy.mjs} +2 -2
  282. package/dist/{renderer-PTV0M2HP.mjs.map → renderer-CqMz_iXy.mjs.map} +1 -1
  283. package/dist/{renderer-DGUL7JlO.mjs → renderer-CqSmfrE1.mjs} +3 -3
  284. package/dist/{renderer-DGUL7JlO.mjs.map → renderer-CqSmfrE1.mjs.map} +1 -1
  285. package/dist/{renderer-D1fjdDVu.d.mts → renderer-CrhJJKFY.d.mts} +5 -3
  286. package/dist/renderer-CrhJJKFY.d.mts.map +1 -0
  287. package/dist/{renderer-sQjiRkiF.mjs → renderer-CxxwhUwy.mjs} +3 -3
  288. package/dist/{renderer-sQjiRkiF.mjs.map → renderer-CxxwhUwy.mjs.map} +1 -1
  289. package/dist/{renderer-BsSZdDHQ.mjs → renderer-D24aiXmB.mjs} +3 -3
  290. package/dist/{renderer-BsSZdDHQ.mjs.map → renderer-D24aiXmB.mjs.map} +1 -1
  291. package/dist/renderer-D6GkxwAx.mjs +5 -0
  292. package/dist/renderer-D7SfGdzX.mjs +5 -0
  293. package/dist/renderer-D7wt09_l.mjs +5 -0
  294. package/dist/{renderer-BHJzeFp9.mjs → renderer-DBslE7fc.mjs} +2 -2
  295. package/dist/{renderer-BHJzeFp9.mjs.map → renderer-DBslE7fc.mjs.map} +1 -1
  296. package/dist/{renderer-DfQWeysg.mjs → renderer-DE3Ki96C.mjs} +3 -3
  297. package/dist/{renderer-DfQWeysg.mjs.map → renderer-DE3Ki96C.mjs.map} +1 -1
  298. package/dist/{renderer-C6YcfNbV.mjs → renderer-DJCqc98W.mjs} +3 -3
  299. package/dist/{renderer-C6YcfNbV.mjs.map → renderer-DJCqc98W.mjs.map} +1 -1
  300. package/dist/{renderer-CdxHmvvf.mjs → renderer-DODOyrty.mjs} +3 -3
  301. package/dist/{renderer-CdxHmvvf.mjs.map → renderer-DODOyrty.mjs.map} +1 -1
  302. package/dist/{renderer-B51lS0Zb.mjs → renderer-DRYxcfgi.mjs} +2 -2
  303. package/dist/renderer-DSuDMYqY.mjs +5 -0
  304. package/dist/{renderer-BfYAlY63.mjs → renderer-DYreml_A.mjs} +3 -3
  305. package/dist/{renderer-BfYAlY63.mjs.map → renderer-DYreml_A.mjs.map} +1 -1
  306. package/dist/{renderer-Byp6c5Y4.mjs → renderer-DZJnNISO.mjs} +2 -2
  307. package/dist/{renderer-Byp6c5Y4.mjs.map → renderer-DZJnNISO.mjs.map} +1 -1
  308. package/dist/renderer-DaIstCIs.mjs +5 -0
  309. package/dist/renderer-DbOD3Nc0.mjs +5 -0
  310. package/dist/{renderer-Bpm12fcQ.mjs → renderer-DbenSRjl.mjs} +3 -3
  311. package/dist/{renderer-Bpm12fcQ.mjs.map → renderer-DbenSRjl.mjs.map} +1 -1
  312. package/dist/{renderer-56T9Wf1N.mjs → renderer-DcXxkxds.mjs} +75 -72
  313. package/dist/renderer-DcXxkxds.mjs.map +1 -0
  314. package/dist/renderer-DdRCA1bn.mjs +6 -0
  315. package/dist/{renderer-15a6H6Yg.mjs → renderer-DdUtL-qF.mjs} +3 -3
  316. package/dist/{renderer-15a6H6Yg.mjs.map → renderer-DdUtL-qF.mjs.map} +1 -1
  317. package/dist/renderer-DfO37haf.mjs +5 -0
  318. package/dist/renderer-DjZwzxZ7.mjs +5 -0
  319. package/dist/renderer-DnAvySNy.mjs +5 -0
  320. package/dist/{renderer-IP6Iy2RQ.mjs → renderer-DnbY04Qk.mjs} +3 -3
  321. package/dist/{renderer-IP6Iy2RQ.mjs.map → renderer-DnbY04Qk.mjs.map} +1 -1
  322. package/dist/renderer-DnvEPm5E.mjs +5 -0
  323. package/dist/{renderer-HW-6FmmO.mjs → renderer-Do9mW_-B.mjs} +3 -3
  324. package/dist/{renderer-HW-6FmmO.mjs.map → renderer-Do9mW_-B.mjs.map} +1 -1
  325. package/dist/{renderer-DlboTFM8.mjs → renderer-Dqg8qxjq.mjs} +3 -3
  326. package/dist/{renderer-DlboTFM8.mjs.map → renderer-Dqg8qxjq.mjs.map} +1 -1
  327. package/dist/{renderer-BfuMCx2c.mjs → renderer-DvkRbmb2.mjs} +3 -3
  328. package/dist/{renderer-BfuMCx2c.mjs.map → renderer-DvkRbmb2.mjs.map} +1 -1
  329. package/dist/renderer-DwNpKnWf.mjs +5 -0
  330. package/dist/{renderer-Djpx4utT.mjs → renderer-Dw_xy3zx.mjs} +3 -3
  331. package/dist/{renderer-Djpx4utT.mjs.map → renderer-Dw_xy3zx.mjs.map} +1 -1
  332. package/dist/renderer-Dx3Dghus.mjs +5 -0
  333. package/dist/{renderer-SPq9BbnG.mjs → renderer-DyrNti45.mjs} +3 -3
  334. package/dist/{renderer-SPq9BbnG.mjs.map → renderer-DyrNti45.mjs.map} +1 -1
  335. package/dist/renderer-KvaoEwIk.mjs +5 -0
  336. package/dist/{renderer-BxtbwOSp.mjs → renderer-SwUFJ4aA.mjs} +3 -3
  337. package/dist/{renderer-BxtbwOSp.mjs.map → renderer-SwUFJ4aA.mjs.map} +1 -1
  338. package/dist/{renderer-DF_TswHB.mjs → renderer-XEoQnDs5.mjs} +3 -3
  339. package/dist/{renderer-DF_TswHB.mjs.map → renderer-XEoQnDs5.mjs.map} +1 -1
  340. package/dist/{renderer-QYjSQL80.mjs → renderer-Xw9Zn3pD.mjs} +2 -2
  341. package/dist/{renderer-QYjSQL80.mjs.map → renderer-Xw9Zn3pD.mjs.map} +1 -1
  342. package/dist/{renderer-XU08U1If.mjs → renderer-ZWIDTOLV.mjs} +2 -2
  343. package/dist/{renderer-XU08U1If.mjs.map → renderer-ZWIDTOLV.mjs.map} +1 -1
  344. package/dist/{renderer-8ZxKRprN.mjs → renderer-bGhRdKB7.mjs} +2 -2
  345. package/dist/{renderer-8ZxKRprN.mjs.map → renderer-bGhRdKB7.mjs.map} +1 -1
  346. package/dist/{renderer-DUx7rcc5.mjs → renderer-d4weUlVq.mjs} +2 -2
  347. package/dist/{renderer-DUx7rcc5.mjs.map → renderer-d4weUlVq.mjs.map} +1 -1
  348. package/dist/{renderer-Bf0Bhqot.mjs → renderer-g7CMgD1v.mjs} +3 -3
  349. package/dist/{renderer-Bf0Bhqot.mjs.map → renderer-g7CMgD1v.mjs.map} +1 -1
  350. package/dist/{renderer-BUj6OsWX.mjs → renderer-gjLFqdv-.mjs} +4 -4
  351. package/dist/{renderer-BUj6OsWX.mjs.map → renderer-gjLFqdv-.mjs.map} +1 -1
  352. package/dist/{renderer-DLpjygMO.mjs → renderer-gv0u9XmU.mjs} +3 -3
  353. package/dist/{renderer-DLpjygMO.mjs.map → renderer-gv0u9XmU.mjs.map} +1 -1
  354. package/dist/{renderer-KS_JYan2.mjs → renderer-jJWwrha1.mjs} +3 -3
  355. package/dist/{renderer-KS_JYan2.mjs.map → renderer-jJWwrha1.mjs.map} +1 -1
  356. package/dist/{renderer-C7BxBoHC.mjs → renderer-kl_pAczD.mjs} +3 -3
  357. package/dist/{renderer-C7BxBoHC.mjs.map → renderer-kl_pAczD.mjs.map} +1 -1
  358. package/dist/{renderer-Bxs9zUIN.mjs → renderer-lrKwPhZi.mjs} +2 -2
  359. package/dist/{renderer-Bxs9zUIN.mjs.map → renderer-lrKwPhZi.mjs.map} +1 -1
  360. package/dist/{renderer-DJy8V_nb.mjs → renderer-pnYj1REL.mjs} +3 -3
  361. package/dist/{renderer-DJy8V_nb.mjs.map → renderer-pnYj1REL.mjs.map} +1 -1
  362. package/dist/{renderers-CP8CFWDs-CPfe6IN0.mjs → renderers-CP8CFWDs-CDikhBRO.mjs} +3 -3
  363. package/dist/{renderers-CP8CFWDs-CPfe6IN0.mjs.map → renderers-CP8CFWDs-CDikhBRO.mjs.map} +1 -1
  364. package/dist/signals/index.d.mts +5 -5
  365. package/dist/signals/index.mjs +6 -6
  366. package/dist/{signals-BRgYyspQ.mjs → signals-BeAWA_1Y.mjs} +3 -3
  367. package/dist/{signals-BRgYyspQ.mjs.map → signals-BeAWA_1Y.mjs.map} +1 -1
  368. package/dist/{src-Be7rjknf.mjs → src-LYcH_X8o.mjs} +233 -27
  369. package/dist/src-LYcH_X8o.mjs.map +1 -0
  370. package/package.json +58 -58
  371. package/dist/dist-CL5JOMSp.mjs.map +0 -1
  372. package/dist/dist-CSU_2yUb.mjs.map +0 -1
  373. package/dist/index-BCzXnNpb.d.mts.map +0 -1
  374. package/dist/index-C541Ol1N.d.mts.map +0 -1
  375. package/dist/index-kj5uSzaI.d.mts.map +0 -1
  376. package/dist/preview-engine/chunk-3SR6BI4B.mjs +0 -1
  377. package/dist/preview-engine/chunk-ALSOO22Q.mjs +0 -1
  378. package/dist/preview-engine/chunk-NKGXINCU.mjs +0 -1
  379. package/dist/preview-engine/chunk-PJMX2GFY.mjs +0 -1
  380. package/dist/preview-engine/chunk-SIXIF5QZ.mjs +0 -3
  381. package/dist/preview-engine/chunk-TXX2POD2.mjs +0 -1974
  382. package/dist/preview-engine/renderers-3HFRWF2G.mjs +0 -1
  383. package/dist/preview-engine/renderers-4CRXZJ5G.mjs +0 -1
  384. package/dist/preview-engine/renderers-5QF4OLFQ.mjs +0 -1
  385. package/dist/preview-engine/renderers-5SOW6OVE.mjs +0 -1
  386. package/dist/preview-engine/renderers-6M2HPY2J.mjs +0 -1
  387. package/dist/preview-engine/renderers-7HT5NW7W.mjs +0 -1
  388. package/dist/preview-engine/renderers-ATTGUTYY.mjs +0 -1
  389. package/dist/preview-engine/renderers-AYWCRBQC.mjs +0 -1
  390. package/dist/preview-engine/renderers-BA6ZCPI5.mjs +0 -1
  391. package/dist/preview-engine/renderers-BAS7RXTC.mjs +0 -1
  392. package/dist/preview-engine/renderers-CZTCW4FC.mjs +0 -1
  393. package/dist/preview-engine/renderers-D2XEQ2YY.mjs +0 -1
  394. package/dist/preview-engine/renderers-DFIJYBW2.mjs +0 -1
  395. package/dist/preview-engine/renderers-EJN6M6DO.mjs +0 -1
  396. package/dist/preview-engine/renderers-EK3HQUUF.mjs +0 -1
  397. package/dist/preview-engine/renderers-G34C5J27.mjs +0 -1
  398. package/dist/preview-engine/renderers-GKVTNDVH.mjs +0 -1
  399. package/dist/preview-engine/renderers-HZBYQKIQ.mjs +0 -1
  400. package/dist/preview-engine/renderers-IK7ZJJKJ.mjs +0 -1
  401. package/dist/preview-engine/renderers-ISASPH6T.mjs +0 -1
  402. package/dist/preview-engine/renderers-IW5MWDBI.mjs +0 -1
  403. package/dist/preview-engine/renderers-JBRPKCKF.mjs +0 -228
  404. package/dist/preview-engine/renderers-K2PI4WJS.mjs +0 -1
  405. package/dist/preview-engine/renderers-KESHVFL2.mjs +0 -1
  406. package/dist/preview-engine/renderers-KTZZVAB2.mjs +0 -1
  407. package/dist/preview-engine/renderers-KY5CJEOV.mjs +0 -1
  408. package/dist/preview-engine/renderers-M5W6SUQD.mjs +0 -1
  409. package/dist/preview-engine/renderers-MEM3REMI.mjs +0 -1
  410. package/dist/preview-engine/renderers-O5XMWFPY.mjs +0 -1
  411. package/dist/preview-engine/renderers-QJA35PKC.mjs +0 -1
  412. package/dist/preview-engine/renderers-TJIFTQHV.mjs +0 -1
  413. package/dist/preview-engine/renderers-TN4XN436.mjs +0 -1
  414. package/dist/preview-engine/renderers-UDYLCYCB.mjs +0 -1
  415. package/dist/preview-engine/renderers-WZ7SFIBZ.mjs +0 -1
  416. package/dist/preview-engine/renderers-X6QNDC6R.mjs +0 -1
  417. package/dist/preview-engine/renderers-X6RNTJOV.mjs +0 -1
  418. package/dist/preview-engine/renderers-Y3N7236P.mjs +0 -1
  419. package/dist/preview-engine/renderers-YP3ASXIJ.mjs +0 -1
  420. package/dist/preview-engine/renderers-YVJAG3PD.mjs +0 -1
  421. package/dist/preview-engine/renderers-ZPPZNMKJ.mjs +0 -1
  422. package/dist/program-B6YvXPhj.mjs.map +0 -1
  423. package/dist/renderer-1qAST5qk.mjs +0 -5
  424. package/dist/renderer-2dntY9lQ.mjs +0 -5
  425. package/dist/renderer-56T9Wf1N.mjs.map +0 -1
  426. package/dist/renderer-83Knj3DI.mjs +0 -5
  427. package/dist/renderer-B2GWXOwP.mjs +0 -5
  428. package/dist/renderer-B3LlOjNo.mjs +0 -5
  429. package/dist/renderer-B5cPLblQ.mjs +0 -5
  430. package/dist/renderer-B7uorwdR.mjs +0 -5
  431. package/dist/renderer-BJ6LDZlX.mjs +0 -5
  432. package/dist/renderer-BaQC4ylR.mjs +0 -5
  433. package/dist/renderer-BfQzj_uW.mjs +0 -5
  434. package/dist/renderer-Bl9uy1ra.mjs +0 -6
  435. package/dist/renderer-Bu4FyXDo.mjs +0 -5
  436. package/dist/renderer-BxbJwS3T.mjs +0 -5
  437. package/dist/renderer-C51hhQ7B.mjs +0 -5
  438. package/dist/renderer-C8ZShnSH.mjs +0 -5
  439. package/dist/renderer-CQh1RgN8.mjs +0 -5
  440. package/dist/renderer-CRYaMhGd.mjs +0 -5
  441. package/dist/renderer-CULThR_r.mjs +0 -5
  442. package/dist/renderer-CW05KUXE.mjs.map +0 -1
  443. package/dist/renderer-C_KDGeMJ.mjs +0 -5
  444. package/dist/renderer-Ce4Gam_S.mjs +0 -5
  445. package/dist/renderer-CkZ6xcN6.mjs +0 -5
  446. package/dist/renderer-Co4C29rw.mjs +0 -5
  447. package/dist/renderer-CyReVcsb.mjs +0 -3
  448. package/dist/renderer-CzgPat6y.mjs +0 -5
  449. package/dist/renderer-D-pFBDki.mjs +0 -5
  450. package/dist/renderer-D1fjdDVu.d.mts.map +0 -1
  451. package/dist/renderer-DELCePyB.mjs +0 -5
  452. package/dist/renderer-DWijRKGh.mjs +0 -5
  453. package/dist/renderer-Di-PH-vG.mjs +0 -5
  454. package/dist/renderer-Dn9CR9KL.mjs +0 -5
  455. package/dist/renderer-ICmKc1Bq.mjs +0 -5
  456. package/dist/renderer-IR3rE4TW.mjs +0 -5
  457. package/dist/renderer-Qyc4xLZY.mjs +0 -5
  458. package/dist/renderer-Riuen1UO.mjs +0 -5
  459. package/dist/renderer-YKJt5oPu.mjs +0 -5
  460. package/dist/renderer-asS1sOXb.mjs +0 -5
  461. package/dist/renderer-mAQErqBN.mjs +0 -5
  462. package/dist/renderer-pZazoCK-.mjs +0 -5
  463. package/dist/src-Be7rjknf.mjs.map +0 -1
@@ -10,6 +10,7 @@ var ProgrammaticSignal = class ProgrammaticSignal$1 {
10
10
  _fps;
11
11
  _durationFrames;
12
12
  _cachedFrame = -1;
13
+ _cachedContext;
13
14
  _cachedValue = 0;
14
15
  _seekedFrame = -1;
15
16
  _subscribers = /* @__PURE__ */ new Set();
@@ -49,20 +50,25 @@ var ProgrammaticSignal = class ProgrammaticSignal$1 {
49
50
  registerSignalDependency(this._subscribers);
50
51
  frameSignal.get();
51
52
  const currentFrame = ctx?.frame ?? (this._seekedFrame >= 0 ? this._seekedFrame : frameSignal.value);
52
- if (this._cachedFrame === currentFrame) return this._cachedValue;
53
53
  const fps$1 = ctx?.fps ?? this._fps;
54
54
  const time = ctx?.time ?? (fps$1 > 0 ? currentFrame / fps$1 : 0);
55
55
  const duration = ctx?.duration ?? this._durationFrames ?? 100;
56
+ const durationMs = ctx?.durationMs ?? duration / fps$1 * 1e3;
57
+ const progress = ctx?.progress ?? (duration > 0 ? currentFrame / duration : 0);
58
+ const deltaTime = ctx?.deltaTime ?? (fps$1 > 0 ? 1 / fps$1 : .0416);
56
59
  const resolvedCtx = {
57
60
  frame: currentFrame,
58
61
  fps: fps$1,
59
62
  time,
60
63
  duration,
61
- durationMs: ctx?.durationMs ?? duration / fps$1 * 1e3,
62
- progress: duration > 0 ? currentFrame / duration : 0,
63
- deltaTime: ctx?.deltaTime ?? (fps$1 > 0 ? 1 / fps$1 : .0416)
64
+ durationMs,
65
+ progress,
66
+ deltaTime
64
67
  };
68
+ const cached = this._cachedContext;
69
+ if (this._cachedFrame === currentFrame && cached && cached.fps === fps$1 && cached.time === time && cached.duration === duration && cached.durationMs === durationMs && cached.progress === progress && cached.deltaTime === deltaTime) return this._cachedValue;
65
70
  this._cachedFrame = currentFrame;
71
+ this._cachedContext = resolvedCtx;
66
72
  this._cachedValue = this._evaluator(resolvedCtx);
67
73
  return this._cachedValue;
68
74
  }
@@ -437,6 +443,7 @@ var FrameArraySignalImpl = class {
437
443
  fps;
438
444
  _samples;
439
445
  _cachedFrame = -1;
446
+ _cachedFps = 0;
440
447
  _cachedValue = 0;
441
448
  _seekedFrame = -1;
442
449
  _subscribers = /* @__PURE__ */ new Set();
@@ -456,13 +463,14 @@ var FrameArraySignalImpl = class {
456
463
  }
457
464
  frameSignal.get();
458
465
  const currentFrame = ctx?.frame ?? (this._seekedFrame >= 0 ? this._seekedFrame : frameSignal.value);
459
- if (this._cachedFrame === currentFrame) return this._cachedValue;
466
+ const compFps = ctx?.fps ?? this.fps;
467
+ if (this._cachedFrame === currentFrame && this._cachedFps === compFps) return this._cachedValue;
460
468
  this._cachedFrame = currentFrame;
469
+ this._cachedFps = compFps;
461
470
  if (!this._samples || this._samples.length === 0) {
462
471
  this._cachedValue = 0;
463
472
  return 0;
464
473
  }
465
- const compFps = ctx?.fps ?? this.fps;
466
474
  const targetFrame = compFps !== this.fps && compFps > 0 ? currentFrame / compFps * this.fps : currentFrame;
467
475
  const idx = Math.max(0, Math.min(this._samples.length - 1, Math.round(targetFrame)));
468
476
  this._cachedValue = Number(this._samples[idx]) || 0;
@@ -474,6 +482,7 @@ var FrameArraySignalImpl = class {
474
482
  seekFrame(frame$1) {
475
483
  this._seekedFrame = frame$1;
476
484
  this._cachedFrame = frame$1;
485
+ this._cachedFps = this.fps;
477
486
  if (!this._samples || this._samples.length === 0) this._cachedValue = 0;
478
487
  else {
479
488
  const idx = Math.max(0, Math.min(this._samples.length - 1, Math.round(frame$1)));
@@ -733,6 +742,413 @@ var ModerationUnrefundableError = class extends Error {
733
742
  const generateId = (size) => {
734
743
  return nanoid(size);
735
744
  };
745
+ /**
746
+ * Sample a signal at every composition-frame boundary in layer order.
747
+ * Values between boundaries are linearly interpolated; speeds are integrated
748
+ * analytically, so picture and audio can query the same fractional frame.
749
+ */
750
+ function sampleMediaSignal(options) {
751
+ const recorder = new MediaSignalRecorder(options);
752
+ for (let i = 0; i <= options.durationFrames; i++) {
753
+ const frame$1 = options.startFrame + i;
754
+ recorder.record(frame$1, options.sample(frame$1));
755
+ }
756
+ return recorder.finish();
757
+ }
758
+ /** Sample an engine signal with its composition clock and full frame context. */
759
+ function sampleFrameMediaSignal(options) {
760
+ const { fps: fps$1, compositionDurationFrames, signal: signal$1 } = options;
761
+ if (!Number.isInteger(compositionDurationFrames) || compositionDurationFrames <= 0) throw new Error("Invalid composition duration");
762
+ return sampleMediaSignal({
763
+ ...options,
764
+ sample: (frame$1) => signal$1.get(compositionFrameContext(frame$1, fps$1, compositionDurationFrames))
765
+ });
766
+ }
767
+ /** The frame context a composition-clock signal sees at a composition frame. */
768
+ function compositionFrameContext(frame$1, fps$1, compositionDurationFrames) {
769
+ return {
770
+ frame: frame$1,
771
+ fps: fps$1,
772
+ time: frame$1 / fps$1,
773
+ duration: compositionDurationFrames / fps$1,
774
+ durationMs: compositionDurationFrames / fps$1 * 1e3,
775
+ progress: Math.min(1, frame$1 / compositionDurationFrames),
776
+ deltaTime: 1 / fps$1
777
+ };
778
+ }
779
+ /** Evaluate at any fractional local frame, independent of query order. */
780
+ function sampledMediaSourceTime(map, frame$1) {
781
+ if (!Number.isFinite(frame$1)) throw new Error("Invalid media signal frame");
782
+ const max = map.values.length - 1;
783
+ const f = Math.max(0, Math.min(max, frame$1));
784
+ const i = Math.min(Math.floor(f), max - 1);
785
+ const t = f - i;
786
+ const a = map.values[i];
787
+ const b = map.values[i + 1];
788
+ if (map.mode === "source-time") return a * (1 - t) + b * t;
789
+ return map.positions[i] + (a * (t - t * t / 2) + b * (t * t / 2)) / map.fps;
790
+ }
791
+ /** Range includes direction changes inside a speed-signal interval. */
792
+ function sampledMediaSourceRange(map, from, to) {
793
+ if (!Number.isFinite(from) || !Number.isFinite(to)) throw new Error("Invalid media signal range");
794
+ const endFrame = map.values.length - 1;
795
+ const start = Math.max(0, Math.min(endFrame, Math.min(from, to)));
796
+ const end = Math.max(0, Math.min(endFrame, Math.max(from, to)));
797
+ let min = sampledMediaSourceTime(map, start);
798
+ let max = min;
799
+ let maxIncluded = start < end;
800
+ const add = (frame$1) => {
801
+ const value = sampledMediaSourceTime(map, frame$1);
802
+ min = Math.min(min, value);
803
+ if (value > max) {
804
+ max = value;
805
+ maxIncluded = frame$1 < end;
806
+ } else if (value === max && frame$1 < end) maxIncluded = true;
807
+ };
808
+ add(end);
809
+ for (let i = Math.floor(start); i < end; i++) {
810
+ if (i > start) add(i);
811
+ if (map.mode === "speed") {
812
+ const a = map.values[i], b = map.values[i + 1];
813
+ if (a < 0 && b > 0 || a > 0 && b < 0) {
814
+ const halfA = Math.abs(a) / 2;
815
+ const turn = i + halfA / (halfA + Math.abs(b) / 2);
816
+ if (turn > start && turn < end) add(turn);
817
+ }
818
+ }
819
+ }
820
+ return {
821
+ min,
822
+ max,
823
+ maxIncluded
824
+ };
825
+ }
826
+ /**
827
+ * Records a live signal at each composition-frame boundary, so its history can
828
+ * be replayed for audio, seeks and vision without evaluating it a second time.
829
+ * With a sampler, boundaries are evaluated on demand, but never past the
830
+ * frame the composition has reached ({@link advance}): no look-ahead.
831
+ */
832
+ var MediaSignalRecorder = class {
833
+ values;
834
+ positions;
835
+ recorded = 0;
836
+ evaluating = false;
837
+ horizon = -1;
838
+ sampler;
839
+ check;
840
+ startFrame;
841
+ durationFrames;
842
+ fps;
843
+ mode;
844
+ constructor(options) {
845
+ if (!Number.isFinite(options.fps) || options.fps <= 0 || !Number.isInteger(options.startFrame) || options.startFrame < 0 || !Number.isInteger(options.durationFrames) || options.durationFrames <= 0) throw new Error("Invalid media signal timing");
846
+ const start = options.sourceStartSec ?? 0;
847
+ if (!Number.isFinite(start) || start < 0) throw new Error("Invalid media signal source start");
848
+ this.mode = options.mode;
849
+ this.fps = options.fps;
850
+ this.startFrame = options.startFrame;
851
+ this.durationFrames = options.durationFrames;
852
+ this.sampler = options.sample;
853
+ this.values = new Float64Array(options.durationFrames + 1);
854
+ if (options.mode === "speed") {
855
+ this.positions = new Float64Array(options.durationFrames + 1);
856
+ this.positions[0] = start;
857
+ }
858
+ }
859
+ /** The first composition frame whose boundary is not yet recorded. */
860
+ get nextFrame() {
861
+ return this.startFrame + this.recorded;
862
+ }
863
+ get complete() {
864
+ return this.recorded === this.values.length;
865
+ }
866
+ /** Allow on-demand sampling through a composition frame the clock has reached. */
867
+ advance(frame$1) {
868
+ if (frame$1 > this.horizon) this.horizon = frame$1;
869
+ }
870
+ /**
871
+ * Validate source bounds as history arrives: the recorded part now, each
872
+ * further interval as it is recorded.
873
+ */
874
+ checkRange(check) {
875
+ this.check = check;
876
+ if (this.recorded > 1) check(this.range(0, this.recorded - 1));
877
+ }
878
+ /** Each boundary is recorded once in composition-frame order. */
879
+ record(frame$1, value) {
880
+ const index = frame$1 - this.startFrame;
881
+ if (!Number.isInteger(frame$1) || index < 0 || index > this.durationFrames) throw new Error(`Media signal frame ${frame$1} is outside the layer`);
882
+ if (!Number.isFinite(value)) throw new Error(`Non-finite media signal at composition frame ${frame$1}`);
883
+ if (index < this.recorded) {
884
+ if (this.values[index] !== value) throw new Error(`Media signal frame ${frame$1} was already recorded with a different value`);
885
+ return;
886
+ }
887
+ if (index !== this.recorded) throw new Error(`Media signal frame ${frame$1} was recorded out of order`);
888
+ this.values[index] = value;
889
+ if (this.positions && index > 0) {
890
+ const position = this.positions[index - 1] + (this.values[index - 1] / 2 + value / 2) / this.fps;
891
+ if (!Number.isFinite(position)) throw new Error(`Media signal integration overflow at composition frame ${frame$1}`);
892
+ this.positions[index] = position;
893
+ }
894
+ if (this.check && index > 0) this.check(this.interval(index - 1));
895
+ this.recorded++;
896
+ }
897
+ /**
898
+ * Evaluate a boundary once, reporting recursive time dependencies. A
899
+ * boundary already recorded is kept, and `sample` is not called again.
900
+ */
901
+ recordFrom(frame$1, sample) {
902
+ if (this.evaluating) throw new Error(`Circular media signal dependency at composition frame ${frame$1}`);
903
+ if (frame$1 - this.startFrame < this.recorded) return;
904
+ this.evaluating = true;
905
+ try {
906
+ this.record(frame$1, sample());
907
+ } finally {
908
+ this.evaluating = false;
909
+ }
910
+ }
911
+ /** Sample every boundary through `frame` that the clock has reached. */
912
+ ensure(frame$1) {
913
+ const sampler = this.sampler;
914
+ if (!sampler) return;
915
+ const last = Math.min(frame$1, this.horizon, this.startFrame + this.durationFrames);
916
+ if (this.evaluating && frame$1 >= this.nextFrame) throw new Error(`Circular media signal dependency at composition frame ${this.nextFrame}`);
917
+ for (let f = this.nextFrame; f <= last; f++) this.recordFrom(f, () => sampler(f));
918
+ }
919
+ /**
920
+ * Close a layer that outlives the clock: the boundaries past the last
921
+ * rendered frame hold the last recorded value.
922
+ */
923
+ close() {
924
+ if (this.recorded === 0) throw new Error("Media signal history has no recorded frames");
925
+ const last = this.values[this.recorded - 1];
926
+ while (!this.complete) this.record(this.nextFrame, last);
927
+ }
928
+ /** The known source position at an already-recorded frame boundary. */
929
+ at(frame$1) {
930
+ this.ensure(frame$1);
931
+ const index = frame$1 - this.startFrame;
932
+ if (!Number.isInteger(frame$1) || index < 0 || index >= this.recorded) throw new Error(`Media signal frame ${frame$1} has not been recorded`);
933
+ return this.positions ? this.positions[index] : this.values[index];
934
+ }
935
+ /** Read a recorded local frame, including fractional audio sample positions. */
936
+ sourceTime(localFrame) {
937
+ if (Number.isFinite(localFrame)) this.ensure(this.startFrame + Math.ceil(localFrame));
938
+ if (!Number.isFinite(localFrame) || localFrame < 0 || localFrame > this.recorded - 1) throw new Error(`Media signal local frame ${localFrame} has not been recorded`);
939
+ if (Number.isInteger(localFrame)) return this.at(this.startFrame + localFrame);
940
+ const i = Math.floor(localFrame);
941
+ const t = localFrame - i;
942
+ const a = this.values[i];
943
+ const b = this.values[i + 1];
944
+ return this.positions ? this.positions[i] + (a * (t - t * t / 2) + b * (t * t / 2)) / this.fps : a * (1 - t) + b * t;
945
+ }
946
+ /** Read the instantaneous speed for an interval whose endpoints are known. */
947
+ rate(localFrame) {
948
+ const i = this.knownInterval(localFrame);
949
+ const a = this.values[i];
950
+ const b = this.values[i + 1];
951
+ const t = localFrame - i;
952
+ return this.positions ? a * (1 - t) + b * t : (b - a) * this.fps;
953
+ }
954
+ isHold(localFrame) {
955
+ const i = this.knownInterval(localFrame);
956
+ return this.positions ? this.values[i] === 0 && this.values[i + 1] === 0 : this.values[i] === this.values[i + 1];
957
+ }
958
+ range(from, to) {
959
+ if (Number.isFinite(from) && Number.isFinite(to)) this.ensure(this.startFrame + Math.ceil(Math.max(from, to)));
960
+ if (!Number.isFinite(from) || !Number.isFinite(to) || from < 0 || to < 0 || Math.max(from, to) > this.recorded - 1) throw new Error("Media signal range has not been recorded");
961
+ if (this.recorded === 1) {
962
+ const value = this.sourceTime(0);
963
+ return {
964
+ min: value,
965
+ max: value,
966
+ maxIncluded: false
967
+ };
968
+ }
969
+ return sampledMediaSourceRange(this.history(0, this.recorded), from, to);
970
+ }
971
+ /** A self-contained snapshot, available only when every boundary was recorded. */
972
+ finish() {
973
+ if (!this.complete) throw new Error("Media signal history is incomplete");
974
+ const values = this.values.slice();
975
+ return this.positions ? {
976
+ mode: "speed",
977
+ fps: this.fps,
978
+ values,
979
+ positions: this.positions.slice()
980
+ } : {
981
+ mode: "source-time",
982
+ fps: this.fps,
983
+ values
984
+ };
985
+ }
986
+ knownInterval(localFrame) {
987
+ const i = Math.floor(localFrame);
988
+ if (Number.isFinite(localFrame)) this.ensure(this.startFrame + i + 1);
989
+ if (!Number.isFinite(localFrame) || i < 0 || i + 1 >= this.recorded) throw new Error(`Media signal interval ${localFrame} has not been recorded`);
990
+ return i;
991
+ }
992
+ /** Bounds of the interval starting at boundary `i`, its end exclusive. */
993
+ interval(i) {
994
+ return sampledMediaSourceRange(this.history(i, i + 2), 0, 1);
995
+ }
996
+ history(from, to) {
997
+ const values = this.values.subarray(from, to);
998
+ return this.positions ? {
999
+ mode: "speed",
1000
+ fps: this.fps,
1001
+ values,
1002
+ positions: this.positions.subarray(from, to)
1003
+ } : {
1004
+ mode: "source-time",
1005
+ fps: this.fps,
1006
+ values
1007
+ };
1008
+ }
1009
+ };
1010
+ /** Maps layer-local frames to absolute source seconds. */
1011
+ const MediaTimeRemapSchema = z.discriminatedUnion("kind", [z.object({
1012
+ kind: z.literal("rate"),
1013
+ sourceStartSec: z.number().finite().nonnegative(),
1014
+ rate: z.number().finite().refine((v) => v !== 0, "rate must not be zero")
1015
+ }).strict(), z.object({
1016
+ kind: z.literal("keyframes"),
1017
+ keyframes: z.array(z.object({
1018
+ frame: z.number().int().nonnegative(),
1019
+ sourceSec: z.number().finite().nonnegative(),
1020
+ interpolation: z.enum([
1021
+ "linear",
1022
+ "ease-in",
1023
+ "ease-out",
1024
+ "smooth"
1025
+ ]).optional()
1026
+ }).strict()).min(2)
1027
+ }).strict()]);
1028
+ const MediaTimeSignalRemapSchema = z.object({
1029
+ kind: z.literal("signal"),
1030
+ mode: z.enum(["speed", "source-time"]),
1031
+ signal: z.union([z.string().min(1), z.custom(isSignal, "signal must be a Signal or the name of a composition signal")]),
1032
+ sourceStartSec: z.number().finite().nonnegative().optional()
1033
+ }).strict();
1034
+ const MediaTimeRemapInputSchema = z.discriminatedUnion("kind", [...MediaTimeRemapSchema.options, MediaTimeSignalRemapSchema]);
1035
+ function assertSampledFps(history, fps$1) {
1036
+ if (history.fps !== fps$1) throw new Error(`Media signal history fps ${history.fps} does not match composition fps ${fps$1}`);
1037
+ }
1038
+ /** Validate the map against its explicit, exclusive layer duration. */
1039
+ function validateMediaTimeRemap(map, durationFrames) {
1040
+ if (!Number.isInteger(durationFrames) || durationFrames <= 0) return "durationFrames must be a positive integer";
1041
+ if (map.kind === "signal") return map.mode === "source-time" && map.sourceStartSec !== void 0 ? "sourceStartSec applies only to speed signals" : void 0;
1042
+ if (map.kind === "rate") return;
1043
+ const keys = map.keyframes;
1044
+ if (keys.length < 2 || keys[0].frame !== 0 || keys[keys.length - 1].frame !== durationFrames) return "time remap keyframes must start at frame 0 and end at durationFrames";
1045
+ for (let i = 1; i < keys.length; i++) if (keys[i].frame <= keys[i - 1].frame) return "time remap keyframes must have strictly increasing frames";
1046
+ }
1047
+ /** Find the segment containing a layer-local frame. */
1048
+ function segmentIndex(map, frame$1) {
1049
+ let lo = 0;
1050
+ let hi = map.keyframes.length - 1;
1051
+ while (hi - lo > 1) {
1052
+ const mid = Math.floor((lo + hi) / 2);
1053
+ if (map.keyframes[mid].frame <= frame$1) lo = mid;
1054
+ else hi = mid;
1055
+ }
1056
+ return lo;
1057
+ }
1058
+ /** Evaluate the monotonic easing assigned to the starting keyframe. */
1059
+ function shapeTime(t, interpolation) {
1060
+ switch (interpolation) {
1061
+ case "ease-in": return t * t;
1062
+ case "ease-out": return 1 - (1 - t) * (1 - t);
1063
+ case "smooth": return t * t * (3 - 2 * t);
1064
+ default: return t;
1065
+ }
1066
+ }
1067
+ /** Absolute source seconds at a fractional layer-local frame. */
1068
+ function mediaSourceTime(map, localFrame, fps$1) {
1069
+ if (!Number.isFinite(localFrame) || !Number.isFinite(fps$1) || fps$1 <= 0) throw new Error("Invalid media time or fps");
1070
+ if (map.kind === "recorded") {
1071
+ if (map.recorder.fps !== fps$1) throw new Error("Media signal recorder fps does not match composition fps");
1072
+ return map.recorder.sourceTime(localFrame);
1073
+ }
1074
+ if (map.kind === "sampled") {
1075
+ assertSampledFps(map.history, fps$1);
1076
+ return sampledMediaSourceTime(map.history, localFrame);
1077
+ }
1078
+ if (map.kind === "rate") return map.sourceStartSec + localFrame / fps$1 * map.rate;
1079
+ const keys = map.keyframes;
1080
+ if (keys.length < 2) throw new Error("Time remap needs at least two keyframes");
1081
+ if (localFrame <= keys[0].frame) return keys[0].sourceSec;
1082
+ if (localFrame >= keys[keys.length - 1].frame) return keys[keys.length - 1].sourceSec;
1083
+ const i = segmentIndex(map, localFrame);
1084
+ const a = keys[i];
1085
+ const b = keys[i + 1];
1086
+ const t = (localFrame - a.frame) / (b.frame - a.frame);
1087
+ return a.sourceSec + (b.sourceSec - a.sourceSec) * shapeTime(t, a.interpolation ?? "linear");
1088
+ }
1089
+ /** True only for a constant source-time interval, not a ramp with zero instantaneous velocity. */
1090
+ function mediaSourceIsHold(map, frame$1) {
1091
+ if (map.kind === "rate") return false;
1092
+ if (map.kind === "recorded") return map.recorder.isHold(frame$1);
1093
+ if (map.kind === "sampled") {
1094
+ const values = map.history.values;
1095
+ const i$1 = Math.max(0, Math.min(values.length - 2, Math.floor(frame$1)));
1096
+ return map.history.mode === "speed" ? values[i$1] === 0 && values[i$1 + 1] === 0 : values[i$1] === values[i$1 + 1];
1097
+ }
1098
+ const i = segmentIndex(map, frame$1);
1099
+ return map.keyframes[i].sourceSec === map.keyframes[i + 1].sourceSec;
1100
+ }
1101
+ /** Source seconds per output second at a layer-local frame. */
1102
+ function mediaSourceRate(map, frame$1, fps$1) {
1103
+ if (map.kind === "rate") return map.rate;
1104
+ if (map.kind === "recorded") {
1105
+ if (map.recorder.fps !== fps$1) throw new Error("Media signal recorder fps does not match composition fps");
1106
+ return map.recorder.rate(frame$1);
1107
+ }
1108
+ if (map.kind === "sampled") {
1109
+ assertSampledFps(map.history, fps$1);
1110
+ const values = map.history.values;
1111
+ const i$1 = Math.max(0, Math.min(values.length - 2, Math.floor(frame$1)));
1112
+ const t$1 = Math.max(0, Math.min(1, frame$1 - i$1));
1113
+ return map.history.mode === "speed" ? values[i$1] * (1 - t$1) + values[i$1 + 1] * t$1 : (values[i$1 + 1] - values[i$1]) * map.history.fps;
1114
+ }
1115
+ const i = segmentIndex(map, frame$1);
1116
+ const a = map.keyframes[i];
1117
+ const b = map.keyframes[i + 1];
1118
+ const t = Math.max(0, Math.min(1, (frame$1 - a.frame) / (b.frame - a.frame)));
1119
+ const derivative = a.interpolation === "ease-in" ? 2 * t : a.interpolation === "ease-out" ? 2 * (1 - t) : a.interpolation === "smooth" ? 6 * t * (1 - t) : 1;
1120
+ return (b.sourceSec - a.sourceSec) / (b.frame - a.frame) * fps$1 * derivative;
1121
+ }
1122
+ /** Bounds over a local-frame interval, including intermediate turns. */
1123
+ function mediaSourceRange(map, fromFrame, toFrame, fps$1) {
1124
+ if (map.kind === "recorded") {
1125
+ if (map.recorder.fps !== fps$1) throw new Error("Media signal recorder fps does not match composition fps");
1126
+ return map.recorder.range(fromFrame, toFrame);
1127
+ }
1128
+ if (map.kind === "sampled") {
1129
+ assertSampledFps(map.history, fps$1);
1130
+ return sampledMediaSourceRange(map.history, fromFrame, toFrame);
1131
+ }
1132
+ const start = Math.min(fromFrame, toFrame), end = Math.max(fromFrame, toFrame);
1133
+ const first = mediaSourceTime(map, start, fps$1);
1134
+ const last = mediaSourceTime(map, end, fps$1);
1135
+ let min = Math.min(first, last);
1136
+ let max = Math.max(first, last);
1137
+ let maxIncluded = start < end && first === max;
1138
+ if (map.kind === "keyframes") for (const key of map.keyframes) {
1139
+ if (key.frame <= start || key.frame >= end) continue;
1140
+ min = Math.min(min, key.sourceSec);
1141
+ if (key.sourceSec > max) {
1142
+ max = key.sourceSec;
1143
+ maxIncluded = true;
1144
+ } else if (key.sourceSec === max) maxIncluded = true;
1145
+ }
1146
+ return {
1147
+ min,
1148
+ max,
1149
+ maxIncluded
1150
+ };
1151
+ }
736
1152
  const HandleDefinitionSchema = z$1.object({
737
1153
  dataTypes: z$1.custom(),
738
1154
  label: z$1.string(),
@@ -2640,5 +3056,5 @@ function extractSvgDimensions(buffer) {
2640
3056
  }
2641
3057
 
2642
3058
  //#endregion
2643
- export { TimelineTransformSchema as $, parseCssColor as $t, MIME_TYPES as A, getFileDataMetadata as At, OutputItemSchema as B, isEqual as Bt, FileDataSchema as C, formatHex as Ct, HandleTypeVal as D, frameSignal as Dt, Gradient as E, frameArraySignal as Et, ModerationUnrefundableError as F, gradientStopsToOklab as Ft, SignalGateDataSchema as G, isVirtualMediaData as Gt, Signal as H, isNormalized as Ht, MultiOutputGenericSchema as I, handleId as It, SingleOutputGenericSchema as J, ms as Jt, SignalMathDataSchema as K, limitGradientStops as Kt, NodeMetadataSchema as L, handleLabel as Lt, MediaOperationSchema as M, getLeafMediaType as Mt, MediaSourceSchema as N, getMediaType as Nt, JsonValueSchema as O, generateId as Ot, ModerationError as P, getRenderFingerprint as Pt, TimelineSegmentSchema as Q, oklabToRgb as Qt, NodeResultSchema as R, hasOnlySingleSource as Rt, FileAssetSchema as S, updateClockSignals as Sn, findSourceAsset as St, GlobalCompositeOperation as T, frame as Tt, SignalChannelMetaSchema as U, isSignal as Ut, ProgrammaticSignal as V, isFrameIndex as Vt, SignalDataSchema as W, isValueSignal as Wt, TEXT_LAYER_DEFAULTS as X, normalizeColorStops as Xt, SourceOperationSchema as Y, nodeId as Yt, TextOperationSchema as Z, normalized as Zt, DataTypeVal as _, signalBuilder as _n, dataTypeColors as _t, BaseVideoLayerPropsSchema as a, registerSignalDependency as an, VideoStylePropsSchema as at, ExportResultSchema as b, takeRenderDiagnostics as bn, emojiPresentation as bt, COMPOSITOR_DEFAULTS as c, resolveMediaMimeType as cn, VirtualMediaDataSchema as ct, ConfigSchemaRegistry as d, resolveString as dn, checkNodeResultCache as dt, parseCssGradient as en, TransitionSchema as et, DATA_TYPE_EXTENSIONS as f, rgbToOklab as fn, computeVideoCropRenderProps as ft, DataType as g, signal as gn, createVirtualMedia as gt, DEFAULT_MEDIA_DIMENSION as h, serializeSignalData as hn, createOutputItemSchema as ht, BaseMediaOperationPropsSchema as i, radians as in, VideoSpatialPropsSchema as it, MediaMetadataSchema as j, getFingerprint as jt, MAX_GRADIENT_STOPS as k, getActiveMediaMetadata as kt, Color as l, resolveNumber as ln, appendOperation as lt, DEFAULT_FPS as m, seconds as mn, cosineSignal as mt, AnyOutputUnionSchema as n, programmaticSignal as nn, VideoAnimationSchema as nt, CAPTION_LAYER_DEFAULTS as o, reportRenderDiagnostic as on, VideoTextPropsSchema as ot, DEFAULT_DURATION_MS as p, sampleColorStops as pn, computed as pt, SignalStatsSchema as q, mixColors as qt, AudioExtractorSignalDataSchema as r, progressSignal as rn, VideoLayerTypeSchema as rt, COMPOSITE_OPERATIONS as s, resolveBoolean as sn, VideoTimingPropsSchema as st, AnimationTypeSchema as t, pixels as tn, TransitionTypeSchema as tt, ConfigHandleSchema as u, resolveParam as un, assertNever as ut, DataTypes as v, sineSignal as vn, degrees as vt, GeneratorSignalDataSchema as w, fps as wt, ExtendedLayerSchema as x, timeSignal as xn, extractSvgDimensions as xt, Effect as y, stampResult as yn, deserializeSignalData as yt, NodeVisualConfigSchema as z, isCssGradient as zt };
2644
- //# sourceMappingURL=dist-CL5JOMSp.mjs.map
3059
+ export { SourceOperationSchema as $, mediaSourceRange as $t, MIME_TYPES as A, signalBuilder as An, frame as At, MultiOutputGenericSchema as B, gradientStopsToOklab as Bt, FileDataSchema as C, sampleFrameMediaSignal as Cn, degrees as Ct, HandleTypeVal as D, seconds as Dn, findSourceAsset as Dt, Gradient as E, sampledMediaSourceTime as En, extractSvgDimensions as Et, MediaTimeRemapInputSchema as F, updateClockSignals as Fn, getFileDataMetadata as Ft, ProgrammaticSignal as G, isEqual as Gt, NodeResultSchema as H, handleLabel as Ht, MediaTimeRemapSchema as I, validateMediaTimeRemap as In, getFingerprint as It, SignalDataSchema as J, isSignal as Jt, Signal as K, isFrameIndex as Kt, MediaTimeSignalRemapSchema as L, getLeafMediaType as Lt, MediaOperationSchema as M, stampResult as Mn, frameSignal as Mt, MediaSignalRecorder as N, takeRenderDiagnostics as Nn, generateId as Nt, JsonValueSchema as O, serializeSignalData as On, formatHex as Ot, MediaSourceSchema as P, timeSignal as Pn, getActiveMediaMetadata as Pt, SingleOutputGenericSchema as Q, mediaSourceIsHold as Qt, ModerationError as R, getMediaType as Rt, FileAssetSchema as S, sampleColorStops as Sn, dataTypeColors as St, GlobalCompositeOperation as T, sampledMediaSourceRange as Tn, emojiPresentation as Tt, NodeVisualConfigSchema as U, hasOnlySingleSource as Ut, NodeMetadataSchema as V, handleId as Vt, OutputItemSchema as W, isCssGradient as Wt, SignalMathDataSchema as X, isVirtualMediaData as Xt, SignalGateDataSchema as Y, isValueSignal as Yt, SignalStatsSchema as Z, limitGradientStops as Zt, DataTypeVal as _, resolveMediaMimeType as _n, computeVideoCropRenderProps as _t, BaseVideoLayerPropsSchema as a, normalizeColorStops as an, TransitionTypeSchema as at, ExportResultSchema as b, resolveString as bn, createOutputItemSchema as bt, COMPOSITOR_DEFAULTS as c, parseCssColor as cn, VideoSpatialPropsSchema as ct, ConfigSchemaRegistry as d, programmaticSignal as dn, VideoTimingPropsSchema as dt, mediaSourceRate as en, TEXT_LAYER_DEFAULTS as et, DATA_TYPE_EXTENSIONS as f, progressSignal as fn, VirtualMediaDataSchema as ft, DataType as g, resolveBoolean as gn, compositionFrameContext as gt, DEFAULT_MEDIA_DIMENSION as h, reportRenderDiagnostic as hn, checkNodeResultCache as ht, BaseMediaOperationPropsSchema as i, nodeId as in, TransitionSchema as it, MediaMetadataSchema as j, sineSignal as jn, frameArraySignal as jt, MAX_GRADIENT_STOPS as k, signal as kn, fps as kt, Color as l, parseCssGradient as ln, VideoStylePropsSchema as lt, DEFAULT_FPS as m, registerSignalDependency as mn, assertNever as mt, AnyOutputUnionSchema as n, mixColors as nn, TimelineSegmentSchema as nt, CAPTION_LAYER_DEFAULTS as o, normalized as on, VideoAnimationSchema as ot, DEFAULT_DURATION_MS as p, radians as pn, appendOperation as pt, SignalChannelMetaSchema as q, isNormalized as qt, AudioExtractorSignalDataSchema as r, ms as rn, TimelineTransformSchema as rt, COMPOSITE_OPERATIONS as s, oklabToRgb as sn, VideoLayerTypeSchema as st, AnimationTypeSchema as t, mediaSourceTime as tn, TextOperationSchema as tt, ConfigHandleSchema as u, pixels as un, VideoTextPropsSchema as ut, DataTypes as v, resolveNumber as vn, computed as vt, GeneratorSignalDataSchema as w, sampleMediaSignal as wn, deserializeSignalData as wt, ExtendedLayerSchema as x, rgbToOklab as xn, createVirtualMedia as xt, Effect as y, resolveParam as yn, cosineSignal as yt, ModerationUnrefundableError as z, getRenderFingerprint as zt };
3060
+ //# sourceMappingURL=dist-BRXsfWKQ.mjs.map