framefields 2.12.0 → 2.13.1

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 (387) hide show
  1. package/README.md +9 -4
  2. package/dist/audio/index.d.mts +6 -5
  3. package/dist/audio/index.mjs +13 -13
  4. package/dist/{audio-afTBdB3U.d.mts → audio-C4B9p_yq.d.mts} +3 -4
  5. package/dist/audio-C4B9p_yq.d.mts.map +1 -0
  6. package/dist/{audio-DHLoNcxD.mjs → audio-DIvi6hTD.mjs} +4 -4
  7. package/dist/{audio-DHLoNcxD.mjs.map → audio-DIvi6hTD.mjs.map} +1 -1
  8. package/dist/{audio-KHBadECb.mjs → audio-DS9Jg2ls.mjs} +1 -1
  9. package/dist/{audio-KHBadECb.mjs.map → audio-DS9Jg2ls.mjs.map} +1 -1
  10. package/dist/{check-result-Culfu7Nx.mjs → check-result-DZWx73V8.mjs} +1 -1
  11. package/dist/{check-result-Culfu7Nx.mjs.map → check-result-DZWx73V8.mjs.map} +1 -1
  12. package/dist/cli/check-worker.mjs +51 -51
  13. package/dist/cli/check-worker.mjs.map +1 -1
  14. package/dist/cli/local-worker.d.mts +28 -0
  15. package/dist/cli/local-worker.d.mts.map +1 -0
  16. package/dist/cli/local-worker.mjs +83 -0
  17. package/dist/cli/local-worker.mjs.map +1 -0
  18. package/dist/cli.mjs +229 -54
  19. package/dist/cli.mjs.map +1 -1
  20. package/dist/cloud/index.d.mts +2 -0
  21. package/dist/cloud/index.d.mts.map +1 -1
  22. package/dist/cloud/index.mjs +1 -1
  23. package/dist/{cloud-COid1Ipa.mjs → cloud-Cj1TIme8.mjs} +306 -7
  24. package/dist/cloud-Cj1TIme8.mjs.map +1 -0
  25. package/dist/components/index.d.mts +15 -14
  26. package/dist/components/index.mjs +47 -47
  27. package/dist/{dist-CySGkG54.mjs → dist-BSKAbyea.mjs} +2 -2
  28. package/dist/{dist-CySGkG54.mjs.map → dist-BSKAbyea.mjs.map} +1 -1
  29. package/dist/{dist-BwtxciN4.mjs → dist-B_rSWeOz.mjs} +1 -1
  30. package/dist/{dist-Bf2_efYP.mjs → dist-C8XSqfTx.mjs} +1 -1
  31. package/dist/{dist-Bf2_efYP.mjs.map → dist-C8XSqfTx.mjs.map} +1 -1
  32. package/dist/{dist-BSqeChht.mjs → dist-CCrYOkcc.mjs} +145 -84
  33. package/dist/dist-CCrYOkcc.mjs.map +1 -0
  34. package/dist/dist-CiTgmfUw.mjs +502 -0
  35. package/dist/dist-CiTgmfUw.mjs.map +1 -0
  36. package/dist/{dist-BIE8fvlv.mjs → dist-DgZpN6IK.mjs} +1 -1
  37. package/dist/{dist-BIE8fvlv.mjs.map → dist-DgZpN6IK.mjs.map} +1 -1
  38. package/dist/{dist-B-OPY7Cs.mjs → dist-DtPPPsZV.mjs} +356 -145
  39. package/dist/dist-DtPPPsZV.mjs.map +1 -0
  40. package/dist/{dist-2_lT3Dwc.mjs → dist-Kbf-JTry.mjs} +2 -2
  41. package/dist/{dist-2_lT3Dwc.mjs.map → dist-Kbf-JTry.mjs.map} +1 -1
  42. package/dist/effects/index.d.mts +6 -6
  43. package/dist/effects/index.mjs +36 -36
  44. package/dist/{effects-C8CL9cOq.mjs → effects-B-L3rLs6.mjs} +3 -3
  45. package/dist/{effects-C8CL9cOq.mjs.map → effects-B-L3rLs6.mjs.map} +1 -1
  46. package/dist/fonts/index.d.mts +1 -1
  47. package/dist/fonts/index.mjs +3 -3
  48. package/dist/{fonts-BQrDjnpV.mjs → fonts-k5ll8NTE.mjs} +2 -2
  49. package/dist/{fonts-BQrDjnpV.mjs.map → fonts-k5ll8NTE.mjs.map} +1 -1
  50. package/dist/{gpu-DHa-3Dou.mjs → gpu-D2HT3KcE.mjs} +2 -2
  51. package/dist/{gpu-DHa-3Dou.mjs.map → gpu-D2HT3KcE.mjs.map} +1 -1
  52. package/dist/{index-CTv9ZieD.d.mts → index-B08eSpaI.d.mts} +3 -30
  53. package/dist/index-B08eSpaI.d.mts.map +1 -0
  54. package/dist/index-BFTtXosj.d.mts +63 -0
  55. package/dist/index-BFTtXosj.d.mts.map +1 -0
  56. package/dist/{index-Drk6HC2k.d.mts → index-BGlaws7-.d.mts} +3 -3
  57. package/dist/{index-Drk6HC2k.d.mts.map → index-BGlaws7-.d.mts.map} +1 -1
  58. package/dist/{index-CAuNuvIg.d.mts → index-ByhlTwxh.d.mts} +5 -5
  59. package/dist/{index-CAuNuvIg.d.mts.map → index-ByhlTwxh.d.mts.map} +1 -1
  60. package/dist/{index-Fliv2Z-w.d.mts → index-C2yaponf.d.mts} +132 -7
  61. package/dist/index-C2yaponf.d.mts.map +1 -0
  62. package/dist/{index-BW0Q1ygn.d.mts → index-C5sgRLlG.d.mts} +1 -1
  63. package/dist/{index-BW0Q1ygn.d.mts.map → index-C5sgRLlG.d.mts.map} +1 -1
  64. package/dist/{index-CdCrae-I.d.mts → index-CnZhBlob.d.mts} +2 -2
  65. package/dist/index-CnZhBlob.d.mts.map +1 -0
  66. package/dist/{index-BNClElng.d.mts → index-CtKUQ2VG.d.mts} +281 -283
  67. package/dist/index-CtKUQ2VG.d.mts.map +1 -0
  68. package/dist/{index-WwuuX8ZJ.d.mts → index-DBh3WphX.d.mts} +2 -2
  69. package/dist/{index-WwuuX8ZJ.d.mts.map → index-DBh3WphX.d.mts.map} +1 -1
  70. package/dist/{index-gOVtTm-P.d.mts → index-DQ1U3HC3.d.mts} +14 -6
  71. package/dist/index-DQ1U3HC3.d.mts.map +1 -0
  72. package/dist/{index-COYNQ_mf.d.mts → index-a6JrbAK0.d.mts} +1 -1
  73. package/dist/{index-COYNQ_mf.d.mts.map → index-a6JrbAK0.d.mts.map} +1 -1
  74. package/dist/{index-DQa7mhzq.d.mts → index-rtCXNxGO.d.mts} +2 -2
  75. package/dist/{index-DQa7mhzq.d.mts.map → index-rtCXNxGO.d.mts.map} +1 -1
  76. package/dist/index.d.mts +16 -15
  77. package/dist/index.mjs +58 -58
  78. package/dist/preview/index.d.mts +5 -4
  79. package/dist/preview/index.mjs +12 -12
  80. package/dist/preview-engine/audio.mjs +1 -1
  81. package/dist/preview-engine/{chunk-FJTURGJV.mjs → chunk-3C2XT64C.mjs} +1 -1
  82. package/dist/preview-engine/chunk-52X7SURQ.mjs +494 -0
  83. package/dist/preview-engine/{chunk-4JNIEQS2.mjs → chunk-5ZS46EFB.mjs} +1 -1
  84. package/dist/preview-engine/{chunk-KBCZKIIQ.mjs → chunk-CYM75INB.mjs} +1 -1
  85. package/dist/preview-engine/chunk-FZ4RD7HV.mjs +1 -0
  86. package/dist/preview-engine/chunk-LZNHGH56.mjs +5 -0
  87. package/dist/preview-engine/{chunk-RGKS6YIA.mjs → chunk-N2VISDTG.mjs} +1 -1
  88. package/dist/preview-engine/chunk-N3XTDAL6.mjs +2227 -0
  89. package/dist/preview-engine/{chunk-O75BFM4S.mjs → chunk-NVXFEDJS.mjs} +1 -1
  90. package/dist/preview-engine/chunk-OBIJIQCZ.mjs +1 -0
  91. package/dist/preview-engine/{chunk-VUO4K52B.mjs → chunk-PD2HKW2S.mjs} +1 -1
  92. package/dist/preview-engine/{chunk-HTAHYSCW.mjs → chunk-R4H52Q7S.mjs} +1 -1
  93. package/dist/preview-engine/{chunk-6O7UDVNL.mjs → chunk-RYSV44B4.mjs} +1 -1
  94. package/dist/preview-engine/{chunk-TKXOSEIJ.mjs → chunk-SV3ZNZQU.mjs} +1 -1
  95. package/dist/preview-engine/{chunk-JAUMCOOJ.mjs → chunk-UBY2UYEL.mjs} +1 -1
  96. package/dist/preview-engine/{chunk-32WC4FRR.mjs → chunk-UE7Y65C3.mjs} +3 -3
  97. package/dist/preview-engine/{chunk-M4QVCQ3O.mjs → chunk-VMXJZ4KQ.mjs} +1 -1
  98. package/dist/preview-engine/{chunk-EYKN2VET.mjs → chunk-XCPRRMMW.mjs} +31 -31
  99. package/dist/preview-engine/components.mjs +1 -1
  100. package/dist/preview-engine/effects.mjs +1 -1
  101. package/dist/preview-engine/framefields.mjs +1 -1
  102. package/dist/preview-engine/player.mjs +5 -5
  103. package/dist/preview-engine/{renderers-L6GFGHS6.mjs → renderers-AFTUFMQQ.mjs} +1 -1
  104. package/dist/preview-engine/renderers-DU7KPFVV.mjs +1 -1
  105. package/dist/preview-engine/{renderers-PREFONJG.mjs → renderers-EPSF5CSQ.mjs} +1 -1
  106. package/dist/preview-engine/{renderers-R22CDFO4.mjs → renderers-OJWWIVNW.mjs} +1 -1
  107. package/dist/preview-engine/{renderers-TS32FDV7.mjs → renderers-RHMRWX46.mjs} +1 -1
  108. package/dist/preview-engine/renderers-VEHYARKY.mjs +1 -0
  109. package/dist/preview-engine/renderers-VRXAG3FR.mjs +1 -0
  110. package/dist/preview-engine/renderers-ZHSOWEMQ.mjs +1 -0
  111. package/dist/preview-engine/renderers-ZMDRNYSS.mjs +1 -0
  112. package/dist/preview-engine/renderers-ZMMQ7S2A.mjs +228 -0
  113. package/dist/preview-engine/signals.mjs +1 -1
  114. package/dist/preview-engine/{src-GPF7RIBU.mjs → src-YXNX4MLK.mjs} +1 -1
  115. package/dist/{preview-BUtt481A.mjs → preview-lHH8Tv4j.mjs} +323 -35
  116. package/dist/preview-lHH8Tv4j.mjs.map +1 -0
  117. package/dist/{program-Cvv_nb9T.mjs → program-BfiB9ttP.mjs} +17 -4
  118. package/dist/program-BfiB9ttP.mjs.map +1 -0
  119. package/dist/renderer/index.d.mts +4 -3
  120. package/dist/renderer/index.mjs +3 -3
  121. package/dist/renderer-0rLmztAv.mjs +5 -0
  122. package/dist/{renderer-D3QPNBEj.mjs → renderer-4nsuReW2.mjs} +5 -5
  123. package/dist/{renderer-D3QPNBEj.mjs.map → renderer-4nsuReW2.mjs.map} +1 -1
  124. package/dist/{renderer-DO1SZ5xY.mjs → renderer-7xQmXXMH.mjs} +5 -5
  125. package/dist/{renderer-DO1SZ5xY.mjs.map → renderer-7xQmXXMH.mjs.map} +1 -1
  126. package/dist/renderer-B0pjOXFY.mjs +5 -0
  127. package/dist/{renderer-BSsKlcHk.mjs → renderer-B10HDC13.mjs} +5 -5
  128. package/dist/{renderer-BSsKlcHk.mjs.map → renderer-B10HDC13.mjs.map} +1 -1
  129. package/dist/{renderer-DaY04IyU.mjs → renderer-B2IUPjhw.mjs} +5 -5
  130. package/dist/{renderer-DaY04IyU.mjs.map → renderer-B2IUPjhw.mjs.map} +1 -1
  131. package/dist/{renderer-O4y02xkD.mjs → renderer-B3_GddgJ.mjs} +4 -4
  132. package/dist/{renderer-O4y02xkD.mjs.map → renderer-B3_GddgJ.mjs.map} +1 -1
  133. package/dist/{renderer-DQJHjU0L.mjs → renderer-B3un4Pdi.mjs} +5 -5
  134. package/dist/{renderer-DQJHjU0L.mjs.map → renderer-B3un4Pdi.mjs.map} +1 -1
  135. package/dist/{renderer-PnnkUWm-.mjs → renderer-B6bK9rXm.mjs} +4 -4
  136. package/dist/{renderer-PnnkUWm-.mjs.map → renderer-B6bK9rXm.mjs.map} +1 -1
  137. package/dist/renderer-B7J13reL.mjs +5 -0
  138. package/dist/{renderer-HXw4cJZx.mjs → renderer-BEhZiOT4.mjs} +3 -3
  139. package/dist/{renderer-HXw4cJZx.mjs.map → renderer-BEhZiOT4.mjs.map} +1 -1
  140. package/dist/{renderer-xNOKSN3V.mjs → renderer-BEuXJY-C.mjs} +5 -5
  141. package/dist/{renderer-xNOKSN3V.mjs.map → renderer-BEuXJY-C.mjs.map} +1 -1
  142. package/dist/{renderer-IAffbHXx.mjs → renderer-BGchUBW_.mjs} +4 -4
  143. package/dist/{renderer-IAffbHXx.mjs.map → renderer-BGchUBW_.mjs.map} +1 -1
  144. package/dist/{renderer-CZClDMgF.mjs → renderer-BIKkxw_Z.mjs} +5 -5
  145. package/dist/{renderer-CZClDMgF.mjs.map → renderer-BIKkxw_Z.mjs.map} +1 -1
  146. package/dist/{renderer-BvRM3OZ6.mjs → renderer-BM19iK8v.mjs} +3 -3
  147. package/dist/{renderer-BvRM3OZ6.mjs.map → renderer-BM19iK8v.mjs.map} +1 -1
  148. package/dist/{renderer-CtpEzVBn.mjs → renderer-BOlHW3Mi.mjs} +3 -3
  149. package/dist/{renderer-CtpEzVBn.mjs.map → renderer-BOlHW3Mi.mjs.map} +1 -1
  150. package/dist/renderer-BPGIKGgl.mjs +5 -0
  151. package/dist/{renderer-4uZGSmUD.mjs → renderer-BTwuM9u-.mjs} +5 -5
  152. package/dist/{renderer-4uZGSmUD.mjs.map → renderer-BTwuM9u-.mjs.map} +1 -1
  153. package/dist/{renderer-DO_zXwMJ.mjs → renderer-BZMh2io2.mjs} +5 -5
  154. package/dist/{renderer-DO_zXwMJ.mjs.map → renderer-BZMh2io2.mjs.map} +1 -1
  155. package/dist/{renderer-rKw5_EjG.mjs → renderer-BZX932Lj.mjs} +4 -4
  156. package/dist/{renderer-rKw5_EjG.mjs.map → renderer-BZX932Lj.mjs.map} +1 -1
  157. package/dist/{renderer-5fGj_tqN.mjs → renderer-BhcTYhaP.mjs} +6 -6
  158. package/dist/{renderer-5fGj_tqN.mjs.map → renderer-BhcTYhaP.mjs.map} +1 -1
  159. package/dist/{renderer-DL3o_lG1.mjs → renderer-BmyFfvVA.mjs} +5 -5
  160. package/dist/{renderer-DL3o_lG1.mjs.map → renderer-BmyFfvVA.mjs.map} +1 -1
  161. package/dist/{renderer-DX60Kr20.mjs → renderer-BrEeUw7T.mjs} +3 -3
  162. package/dist/{renderer-DX60Kr20.mjs.map → renderer-BrEeUw7T.mjs.map} +1 -1
  163. package/dist/{renderer-Bf7Z7WT5.mjs → renderer-BsrKj6Td.mjs} +4 -4
  164. package/dist/{renderer-Bf7Z7WT5.mjs.map → renderer-BsrKj6Td.mjs.map} +1 -1
  165. package/dist/{renderer-BOg8i8eF.mjs → renderer-BuvKGwk3.mjs} +1 -1
  166. package/dist/{renderer-BOg8i8eF.mjs.map → renderer-BuvKGwk3.mjs.map} +1 -1
  167. package/dist/renderer-Bv-Artj1.mjs +5 -0
  168. package/dist/{renderer-_KIBvES8.mjs → renderer-BvBqTAtk.mjs} +5 -5
  169. package/dist/{renderer-_KIBvES8.mjs.map → renderer-BvBqTAtk.mjs.map} +1 -1
  170. package/dist/renderer-BvLjbhcL.mjs +5 -0
  171. package/dist/{renderer-BC_Nse6h.mjs → renderer-Bw-_GZVw.mjs} +4 -4
  172. package/dist/{renderer-BC_Nse6h.mjs.map → renderer-Bw-_GZVw.mjs.map} +1 -1
  173. package/dist/{renderer-CLTRTtQ8.mjs → renderer-Bw0O--gW.mjs} +5 -5
  174. package/dist/{renderer-CLTRTtQ8.mjs.map → renderer-Bw0O--gW.mjs.map} +1 -1
  175. package/dist/renderer-By6awWaf.mjs +5 -0
  176. package/dist/{renderer-DsPLMzy1.mjs → renderer-C-3qhk5x.mjs} +2 -2
  177. package/dist/{renderer-DsPLMzy1.mjs.map → renderer-C-3qhk5x.mjs.map} +1 -1
  178. package/dist/renderer-C0rvsz7m.mjs +5 -0
  179. package/dist/{renderer-DP9ScNM6.mjs → renderer-C4hd6Cqi.mjs} +3 -3
  180. package/dist/{renderer-DP9ScNM6.mjs.map → renderer-C4hd6Cqi.mjs.map} +1 -1
  181. package/dist/{renderer-B09I95bo.mjs → renderer-C64_B8It.mjs} +3 -3
  182. package/dist/{renderer-DrL3J9ci.mjs → renderer-C98XwEIr.mjs} +4 -4
  183. package/dist/{renderer-DrL3J9ci.mjs.map → renderer-C98XwEIr.mjs.map} +1 -1
  184. package/dist/{renderer-6g1ri445.mjs → renderer-CC22Djgi.mjs} +5 -5
  185. package/dist/{renderer-6g1ri445.mjs.map → renderer-CC22Djgi.mjs.map} +1 -1
  186. package/dist/renderer-CDgud_HB.mjs +5 -0
  187. package/dist/renderer-CDiRF3bG.mjs +6 -0
  188. package/dist/{renderer-FvvywNvv.mjs → renderer-CHCRcCKw.mjs} +3 -3
  189. package/dist/{renderer-FvvywNvv.mjs.map → renderer-CHCRcCKw.mjs.map} +1 -1
  190. package/dist/renderer-CIIEQd4B.mjs +5 -0
  191. package/dist/renderer-CJblwOA9.mjs +5 -0
  192. package/dist/renderer-CNMOXtXE.mjs +5 -0
  193. package/dist/{renderer-D3YbHjRG.mjs → renderer-CO4NGvAh.mjs} +95 -80
  194. package/dist/renderer-CO4NGvAh.mjs.map +1 -0
  195. package/dist/{renderer-ByFPmHBC.mjs → renderer-CO9vE3sd.mjs} +4 -4
  196. package/dist/{renderer-ByFPmHBC.mjs.map → renderer-CO9vE3sd.mjs.map} +1 -1
  197. package/dist/renderer-COeSeNGg.mjs +5 -0
  198. package/dist/{renderer-CN-mCIoI.mjs → renderer-CQ4h8n7p.mjs} +5 -5
  199. package/dist/{renderer-CN-mCIoI.mjs.map → renderer-CQ4h8n7p.mjs.map} +1 -1
  200. package/dist/{renderer-DEoerd-j.mjs → renderer-CRhEGqW4.mjs} +4 -4
  201. package/dist/{renderer-DEoerd-j.mjs.map → renderer-CRhEGqW4.mjs.map} +1 -1
  202. package/dist/{renderer-CiHVnhUk.mjs → renderer-CSu_vYPn.mjs} +5 -5
  203. package/dist/{renderer-CiHVnhUk.mjs.map → renderer-CSu_vYPn.mjs.map} +1 -1
  204. package/dist/{renderer-BJEexai1.mjs → renderer-CU6WT5jW.mjs} +5 -5
  205. package/dist/{renderer-BJEexai1.mjs.map → renderer-CU6WT5jW.mjs.map} +1 -1
  206. package/dist/renderer-CUfElmtZ.mjs +5 -0
  207. package/dist/{renderer-BwJ0nXXu.mjs → renderer-CXrnzihz.mjs} +5 -5
  208. package/dist/{renderer-BwJ0nXXu.mjs.map → renderer-CXrnzihz.mjs.map} +1 -1
  209. package/dist/renderer-CYh2lFoJ.mjs +5 -0
  210. package/dist/renderer-CYtVZYMH.mjs +5 -0
  211. package/dist/{renderer-BwV-o_1b.mjs → renderer-CdXBRdFf.mjs} +4 -4
  212. package/dist/{renderer-BwV-o_1b.mjs.map → renderer-CdXBRdFf.mjs.map} +1 -1
  213. package/dist/{renderer-DrK6pyfz.mjs → renderer-Cfx_FCSf.mjs} +5 -5
  214. package/dist/{renderer-DrK6pyfz.mjs.map → renderer-Cfx_FCSf.mjs.map} +1 -1
  215. package/dist/renderer-CjxZlkjb.mjs +5 -0
  216. package/dist/{renderer-CInMMs5x.mjs → renderer-CkTehyRX.mjs} +6 -6
  217. package/dist/{renderer-CInMMs5x.mjs.map → renderer-CkTehyRX.mjs.map} +1 -1
  218. package/dist/{renderer-DGXqspB9.mjs → renderer-CldjJmRR.mjs} +3 -3
  219. package/dist/{renderer-HhJPFidU.mjs → renderer-CoC64eam.mjs} +5 -5
  220. package/dist/{renderer-HhJPFidU.mjs.map → renderer-CoC64eam.mjs.map} +1 -1
  221. package/dist/renderer-Cpd6TvTC.mjs +5 -0
  222. package/dist/{renderer-DLaUT6JZ.mjs → renderer-Cv9CKKWG.mjs} +4 -4
  223. package/dist/{renderer-DLaUT6JZ.mjs.map → renderer-Cv9CKKWG.mjs.map} +1 -1
  224. package/dist/renderer-CzgcZXKH.mjs +3 -0
  225. package/dist/{renderer-DCMoBppL.mjs → renderer-D-GWBoVT.mjs} +3 -3
  226. package/dist/{renderer-DCMoBppL.mjs.map → renderer-D-GWBoVT.mjs.map} +1 -1
  227. package/dist/{renderer-C3CGYjrC.mjs → renderer-D-mX1EVA.mjs} +5 -5
  228. package/dist/{renderer-C3CGYjrC.mjs.map → renderer-D-mX1EVA.mjs.map} +1 -1
  229. package/dist/{renderer-C2kFIZ4r.mjs → renderer-D0h1hTOo.mjs} +4 -4
  230. package/dist/{renderer-C2kFIZ4r.mjs.map → renderer-D0h1hTOo.mjs.map} +1 -1
  231. package/dist/{renderer-C_gR2H3R.mjs → renderer-D0xM67cK.mjs} +3 -3
  232. package/dist/{renderer-C_gR2H3R.mjs.map → renderer-D0xM67cK.mjs.map} +1 -1
  233. package/dist/renderer-D3ziOPhX.mjs +5 -0
  234. package/dist/renderer-D5yp74NL.mjs +3 -0
  235. package/dist/{renderer-BTd6tFcS.mjs → renderer-DCrKEVjb.mjs} +5 -5
  236. package/dist/{renderer-BTd6tFcS.mjs.map → renderer-DCrKEVjb.mjs.map} +1 -1
  237. package/dist/{renderer-Dak_wVh9.mjs → renderer-DGOMfyh8.mjs} +2 -2
  238. package/dist/{renderer-Dak_wVh9.mjs.map → renderer-DGOMfyh8.mjs.map} +1 -1
  239. package/dist/renderer-DKJOon6y.d.mts +1 -0
  240. package/dist/renderer-DL-phtL5.mjs +5 -0
  241. package/dist/{renderer-uA0UCxjA.mjs → renderer-DNynPM6X.mjs} +4 -4
  242. package/dist/{renderer-uA0UCxjA.mjs.map → renderer-DNynPM6X.mjs.map} +1 -1
  243. package/dist/renderer-DSnmYnHg.mjs +5 -0
  244. package/dist/renderer-DUGfsT-E.mjs +5 -0
  245. package/dist/renderer-DW5af9x1.mjs +5 -0
  246. package/dist/{renderer-CMCmljb0.mjs → renderer-DWYmJSrl.mjs} +3 -3
  247. package/dist/{renderer-CMCmljb0.mjs.map → renderer-DWYmJSrl.mjs.map} +1 -1
  248. package/dist/renderer-DYMrol1t.mjs +5 -0
  249. package/dist/{renderer-CGpi8CDT.mjs → renderer-DYeNNc_G.mjs} +4 -4
  250. package/dist/{renderer-CGpi8CDT.mjs.map → renderer-DYeNNc_G.mjs.map} +1 -1
  251. package/dist/{renderer-DKFaVaRJ.mjs → renderer-DYlx7VHo.mjs} +4 -4
  252. package/dist/{renderer-DKFaVaRJ.mjs.map → renderer-DYlx7VHo.mjs.map} +1 -1
  253. package/dist/{renderer-DZIxduEt.mjs → renderer-D_m6Qbsi.mjs} +3 -3
  254. package/dist/{renderer-DZIxduEt.mjs.map → renderer-D_m6Qbsi.mjs.map} +1 -1
  255. package/dist/renderer-DekeUHaz.mjs +5 -0
  256. package/dist/{renderer-snjhPaP-.mjs → renderer-DhGZ41hQ.mjs} +4 -4
  257. package/dist/{renderer-snjhPaP-.mjs.map → renderer-DhGZ41hQ.mjs.map} +1 -1
  258. package/dist/{renderer-BXGuCnCJ.mjs → renderer-DiZkZ0Pr.mjs} +4 -4
  259. package/dist/{renderer-BXGuCnCJ.mjs.map → renderer-DiZkZ0Pr.mjs.map} +1 -1
  260. package/dist/{renderer-BBjkX0Vt.mjs → renderer-Dm57W73p.mjs} +3 -3
  261. package/dist/renderer-Dt5uyJdZ.mjs +5 -0
  262. package/dist/{renderer-DwH5e3hx.mjs → renderer-DtFZbE1j.mjs} +3 -3
  263. package/dist/{renderer-Bxiiar50.mjs → renderer-DvHi_wXE.mjs} +4 -4
  264. package/dist/{renderer-Bxiiar50.mjs.map → renderer-DvHi_wXE.mjs.map} +1 -1
  265. package/dist/{renderer-DaLy1dFA.mjs → renderer-Dv_iRIyx.mjs} +21 -21
  266. package/dist/renderer-Dv_iRIyx.mjs.map +1 -0
  267. package/dist/renderer-DwLQAnaK.mjs +5 -0
  268. package/dist/{renderer-qVJdxbXB.mjs → renderer-DzON3wDZ.mjs} +4 -4
  269. package/dist/{renderer-qVJdxbXB.mjs.map → renderer-DzON3wDZ.mjs.map} +1 -1
  270. package/dist/{renderer-Dj54y3h3.mjs → renderer-GIlQ9lZq.mjs} +3 -3
  271. package/dist/{renderer-Dj54y3h3.mjs.map → renderer-GIlQ9lZq.mjs.map} +1 -1
  272. package/dist/{renderer-b0H3oDae.mjs → renderer-HKv5cBdp.mjs} +3 -3
  273. package/dist/{renderer-b0H3oDae.mjs.map → renderer-HKv5cBdp.mjs.map} +1 -1
  274. package/dist/renderer-IXQP2CWM.mjs +5 -0
  275. package/dist/renderer-K-Pkw63O.mjs +5 -0
  276. package/dist/renderer-MPw2KH9P.mjs +5 -0
  277. package/dist/{renderer-t1sXDiqm.mjs → renderer-QbSrnPZU.mjs} +3 -3
  278. package/dist/{renderer-t1sXDiqm.mjs.map → renderer-QbSrnPZU.mjs.map} +1 -1
  279. package/dist/renderer-RPu8RMav.mjs +5 -0
  280. package/dist/{renderer-Dp9FQKVP.mjs → renderer-TfeohPxt.mjs} +5 -5
  281. package/dist/{renderer-Dp9FQKVP.mjs.map → renderer-TfeohPxt.mjs.map} +1 -1
  282. package/dist/{renderer-BzTj_CeK.mjs → renderer-Y1kjtOto.mjs} +4 -4
  283. package/dist/{renderer-BzTj_CeK.mjs.map → renderer-Y1kjtOto.mjs.map} +1 -1
  284. package/dist/{renderer-LrAldCWN.mjs → renderer-YONlI6W-.mjs} +5 -5
  285. package/dist/{renderer-LrAldCWN.mjs.map → renderer-YONlI6W-.mjs.map} +1 -1
  286. package/dist/{renderer-tRi3KNoG.mjs → renderer-_J9JcCMR.mjs} +5 -5
  287. package/dist/{renderer-tRi3KNoG.mjs.map → renderer-_J9JcCMR.mjs.map} +1 -1
  288. package/dist/renderer-dCqxd5N2.mjs +5 -0
  289. package/dist/{renderer-CcmxR6Fy.d.mts → renderer-fG8Jy8Rx.d.mts} +2 -2
  290. package/dist/{renderer-CcmxR6Fy.d.mts.map → renderer-fG8Jy8Rx.d.mts.map} +1 -1
  291. package/dist/renderer-lhjmE-Fp.mjs +5 -0
  292. package/dist/{renderer-TiaHrU5z.mjs → renderer-mDBoz0zT.mjs} +5 -5
  293. package/dist/{renderer-TiaHrU5z.mjs.map → renderer-mDBoz0zT.mjs.map} +1 -1
  294. package/dist/{renderer-smP1F57W.mjs → renderer-pn52dzZz.mjs} +4 -4
  295. package/dist/{renderer-smP1F57W.mjs.map → renderer-pn52dzZz.mjs.map} +1 -1
  296. package/dist/renderer-u9cmBuvM.mjs +5 -0
  297. package/dist/{renderer-CNpq7rL-.mjs → renderer-uER8kn7f.mjs} +3 -3
  298. package/dist/{renderer-CNpq7rL-.mjs.map → renderer-uER8kn7f.mjs.map} +1 -1
  299. package/dist/{renderer-sMFJtt_H.mjs → renderer-uzU6dsdR.mjs} +3 -3
  300. package/dist/{renderer-sMFJtt_H.mjs.map → renderer-uzU6dsdR.mjs.map} +1 -1
  301. package/dist/renderer-vH12jcpz.mjs +5 -0
  302. package/dist/{renderer-oBgCEqaM.mjs → renderer-yNWYqvvq.mjs} +4 -4
  303. package/dist/{renderer-oBgCEqaM.mjs.map → renderer-yNWYqvvq.mjs.map} +1 -1
  304. package/dist/{renderer-Dy1xQOTu.mjs → renderer-zLi2qFGT.mjs} +4 -4
  305. package/dist/{renderer-Dy1xQOTu.mjs.map → renderer-zLi2qFGT.mjs.map} +1 -1
  306. package/dist/{renderers-CP8CFWDs-DWRjjeUg.mjs → renderers-CP8CFWDs-BufiCyn7.mjs} +4 -4
  307. package/dist/{renderers-CP8CFWDs-DWRjjeUg.mjs.map → renderers-CP8CFWDs-BufiCyn7.mjs.map} +1 -1
  308. package/dist/sam/index.d.mts +3 -3
  309. package/dist/sam/index.mjs +1 -1
  310. package/dist/signals/index.d.mts +7 -7
  311. package/dist/signals/index.mjs +8 -8
  312. package/dist/{signals-BfJ1aqpT.mjs → signals-tiho_9fp.mjs} +4 -4
  313. package/dist/{signals-BfJ1aqpT.mjs.map → signals-tiho_9fp.mjs.map} +1 -1
  314. package/dist/{src-BU6vm9sP-DFJ3phW0.mjs → src-BU6vm9sP-DdTHmCr4.mjs} +3 -3
  315. package/dist/{src-BU6vm9sP-DFJ3phW0.mjs.map → src-BU6vm9sP-DdTHmCr4.mjs.map} +1 -1
  316. package/dist/{src-D7M8VTzv.mjs → src-DrP7fGJX.mjs} +41 -16
  317. package/dist/{src-D7M8VTzv.mjs.map → src-DrP7fGJX.mjs.map} +1 -1
  318. package/dist/storage/index.d.mts +206 -0
  319. package/dist/storage/index.d.mts.map +1 -0
  320. package/dist/storage/index.mjs +3 -0
  321. package/package.json +67 -59
  322. package/dist/audio-afTBdB3U.d.mts.map +0 -1
  323. package/dist/cloud-COid1Ipa.mjs.map +0 -1
  324. package/dist/dist-B-OPY7Cs.mjs.map +0 -1
  325. package/dist/dist-BSqeChht.mjs.map +0 -1
  326. package/dist/index-BNClElng.d.mts.map +0 -1
  327. package/dist/index-CTv9ZieD.d.mts.map +0 -1
  328. package/dist/index-CdCrae-I.d.mts.map +0 -1
  329. package/dist/index-Fliv2Z-w.d.mts.map +0 -1
  330. package/dist/index-gOVtTm-P.d.mts.map +0 -1
  331. package/dist/preview-BUtt481A.mjs.map +0 -1
  332. package/dist/preview-engine/chunk-5SLBE2FX.mjs +0 -1
  333. package/dist/preview-engine/chunk-74J4DJQA.mjs +0 -1
  334. package/dist/preview-engine/chunk-KIPXBOYG.mjs +0 -1974
  335. package/dist/preview-engine/chunk-P4Y3PMJF.mjs +0 -1
  336. package/dist/preview-engine/chunk-SE2C623Z.mjs +0 -5
  337. package/dist/preview-engine/chunk-UKZVUYB6.mjs +0 -483
  338. package/dist/preview-engine/renderers-PSBTV2DO.mjs +0 -228
  339. package/dist/preview-engine/renderers-TEKHQHCL.mjs +0 -1
  340. package/dist/preview-engine/renderers-U3RLYFCN.mjs +0 -1
  341. package/dist/preview-engine/renderers-V5HM6PZ2.mjs +0 -1
  342. package/dist/preview-engine/renderers-ZGX3A3QZ.mjs +0 -1
  343. package/dist/program-Cvv_nb9T.mjs.map +0 -1
  344. package/dist/renderer--RJepuOy.mjs +0 -5
  345. package/dist/renderer-B1U6YRRV.d.mts +0 -117
  346. package/dist/renderer-B1U6YRRV.d.mts.map +0 -1
  347. package/dist/renderer-B4NFnaty.mjs +0 -5
  348. package/dist/renderer-B6g4ts0e.mjs +0 -5
  349. package/dist/renderer-BGoAr-tl.mjs +0 -5
  350. package/dist/renderer-BSOdBgdE.mjs +0 -5
  351. package/dist/renderer-BU6O0fpM.mjs +0 -5
  352. package/dist/renderer-BZ97iidG.mjs +0 -5
  353. package/dist/renderer-B_Klh1VT.mjs +0 -5
  354. package/dist/renderer-BaWQM1y-.mjs +0 -5
  355. package/dist/renderer-Bc0jvAj0.mjs +0 -5
  356. package/dist/renderer-Bd-NuU3M.mjs +0 -3
  357. package/dist/renderer-Bm077kZ6.mjs +0 -5
  358. package/dist/renderer-BtzE_e_Y.mjs +0 -5
  359. package/dist/renderer-C225eCAo.mjs +0 -5
  360. package/dist/renderer-CC4fhNup.mjs +0 -3
  361. package/dist/renderer-CLXdR4vz.mjs +0 -5
  362. package/dist/renderer-CszM8B3C.mjs +0 -5
  363. package/dist/renderer-Ctp8ZYfk.mjs +0 -5
  364. package/dist/renderer-CxQdSp8I.mjs +0 -5
  365. package/dist/renderer-D3YbHjRG.mjs.map +0 -1
  366. package/dist/renderer-D4GMRtDd.mjs +0 -6
  367. package/dist/renderer-DEsGIvTZ.mjs +0 -5
  368. package/dist/renderer-DIaUQ0EP.mjs +0 -5
  369. package/dist/renderer-DLjqcNzQ.mjs +0 -5
  370. package/dist/renderer-DMuQZa51.mjs +0 -5
  371. package/dist/renderer-DOgi2aF2.mjs +0 -5
  372. package/dist/renderer-DSh7cvi4.mjs +0 -5
  373. package/dist/renderer-DV1LVBBP.mjs +0 -5
  374. package/dist/renderer-DaLy1dFA.mjs.map +0 -1
  375. package/dist/renderer-Dhrj2bJz.mjs +0 -5
  376. package/dist/renderer-DoFUu1R4.mjs +0 -5
  377. package/dist/renderer-DsydX3cx.mjs +0 -5
  378. package/dist/renderer-DxVSoeYi.mjs +0 -5
  379. package/dist/renderer-Nc9bHb0n.mjs +0 -5
  380. package/dist/renderer-TFaSD2Db.mjs +0 -5
  381. package/dist/renderer-Z61ctppe.mjs +0 -5
  382. package/dist/renderer-awXf3sNS.mjs +0 -5
  383. package/dist/renderer-cHT28oYI.mjs +0 -5
  384. package/dist/renderer-g7Y3bFot.mjs +0 -5
  385. package/dist/renderer-qVv0OzVc.mjs +0 -5
  386. /package/dist/{chunk-W71TSjRM.mjs → chunk-DOL2i2sR.mjs} +0 -0
  387. /package/dist/{renderer-B6rZUBwE.mjs → renderer-Co2YqWX0.mjs} +0 -0
@@ -1,4 +1,5 @@
1
- import { ur as VirtualMediaData } from "./index-COYNQ_mf.mjs";
1
+ import { ur as VirtualMediaData } from "./index-a6JrbAK0.mjs";
2
+ import { t as AudioMix } from "./index-BFTtXosj.mjs";
2
3
  import { VideoSampleSource } from "mediabunny";
3
4
  import pino from "pino";
4
5
  import { VideoFrame } from "@napi-rs/webcodecs";
@@ -238,13 +239,20 @@ declare class HeadlessWebGPURenderer {
238
239
  * Mixes the composition's full audio timeline (clips, effects, synthesized
239
240
  * tracks) to stereo PCM, exactly as `renderVideo` muxes it.
240
241
  */
242
+ /**
243
+ * Mixes the timeline's audio. `window` mixes only that stretch (the same
244
+ * samples as that part of a full mix); `master: false` skips the master
245
+ * stage, for callers that master with the whole film's `peak` later.
246
+ */
241
247
  renderAudio(virtualMedia: VirtualMediaData, options?: {
242
248
  fps?: number;
243
249
  sampleRate?: number;
244
- }): Promise<{
245
- channels: Float32Array[];
246
- sampleRate: number;
247
- }>;
250
+ window?: {
251
+ startSec: number;
252
+ endSec: number;
253
+ };
254
+ master?: boolean;
255
+ }): Promise<AudioMix>;
248
256
  renderLut(virtualMedia: VirtualMediaData, frame?: number, fps?: number): Promise<Buffer>;
249
257
  private resolveMediaDuration;
250
258
  renderVideo(virtualMedia: VirtualMediaData, options?: {
@@ -481,4 +489,4 @@ type FrameGridRenderable = {
481
489
  declare function renderFrameGrid(target: FrameGridRenderable, options?: FrameGridOptions): Promise<Buffer>;
482
490
  //#endregion
483
491
  export { formatQaReport as C, stitchChunks as D, resetRenderCaches as E, VideoQaStats as S, renderSemaphore as T, RenderProgress as _, renderFrameGrid as a, VideoQaOptions as b, ChunkPlan as c, FrameRange as d, HeadlessMediaRenderer as f, QaSegment as g, QaIssue as h, computeGridLayout as i, ChunkPlanOptions as l, PlannedChunk as m, FrameGridRenderable as n, resolveSamplePoints as o, HeadlessWebGPURenderer as p, FrameSamplePoint as r, AudioQaStats as s, FrameGridOptions as t, FrameCostSample as u, StitchOptions as v, planChunks as w, VideoQaReport as x, StitchResult as y };
484
- //# sourceMappingURL=index-gOVtTm-P.d.mts.map
492
+ //# sourceMappingURL=index-DQ1U3HC3.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DQ1U3HC3.d.mts","names":["pino","DestinationStream","VideoColorPrimaries","VideoFrame","VideoMatrixCoefficients","VideoTransferCharacteristics","AudioMix","RenderDiagnostic","VirtualMediaData","VideoSampleSource","preloadFonts","GPUDevice","Promise","FrameCostSample","ChunkPlanOptions","PlannedChunk","ChunkPlan","planChunks","StagingSlotStatus","VideoColorSpaceConfig","DmaStagingRingOptions","GPUTextureFormat","StagingSlotInfo","DmaStagingRing","GPUCommandEncoder","GPUTexture","Uint8Array","findNodesDir","discoverAndRegisterNodeRenderers","RenderPhase","RenderProgress","VideoQaOptions","QaSegment","QaIssue","VideoQaStats","AudioQaStats","VideoQaReport","FrameInspector","analyzeAudio","Float32Array","integratedLoudness","buildQaReport","formatQaReport","RenderSemaphore","renderSemaphore","FrameRange","HeadlessWebGPURenderer","Buffer","AbortSignal","HeadlessMediaRenderer","resetRenderCaches","resolveLogFormat","Record","textLogStream","rendererLogger","Logger","NODE_KINDS","NodeKind","NodeRendererExports","NodeManifest","NodeManifestError","Error","parseNodeManifest","loadNodeManifests","StitchOptions","StitchResult","stitchChunks","ZeroCopyWebCodecsPipelineOptions","WebCodecsPipelineStats","ZeroCopyWebCodecsPipeline"],"sources":["../../renderer/dist/index.d.mts","../src/renderer/framegrid.ts"],"sourcesContent":["import pino, { DestinationStream } from \"pino\";\nimport { VideoColorPrimaries, VideoFrame, VideoMatrixCoefficients, VideoTransferCharacteristics } from \"@napi-rs/webcodecs\";\nimport { AudioMix } from \"@framefields/compositions\";\nimport { RenderDiagnostic, VirtualMediaData } from \"@framefields/core\";\nimport { VideoSampleSource } from \"mediabunny\";\n\n//#region src/asset-preloader.d.ts\n/**\n * Preloads only the fonts (and emoji) a VirtualMediaData tree's text uses, so\n * typography renders correctly on Node.js without loading its media. Shared\n * with the browser preview; emoji need a font set with\n * `FontManager.registerEmojiFont()`.\n */\ndeclare function preloadFonts(media: VirtualMediaData, device?: GPUDevice | null): Promise<void>;\n//#endregion\n//#region src/chunk-plan.d.ts\n/**\n * Plans a render split across workers: how many chunks, and where each one\n * starts and ends. Pure arithmetic over measured frame costs, so it runs\n * anywhere (a worker's probe job, a coordinator, a local script).\n *\n * Every chunk pays a fixed cost before its first frame (worker start, fetch,\n * install, composition build). `workers: \"auto\"` adds workers only while each\n * chunk still spends at least `efficiency` of its time rendering, so a short\n * film stays on one worker and a long one spreads out until `maxWorkers`.\n * Chunks are cut at equal render cost, not equal frame counts, so a heavy\n * stretch (3D, vision) gets shorter chunks.\n */\n/** A measured render time for one frame. */\ninterface FrameCostSample {\n frame: number;\n ms: number;\n}\ninterface ChunkPlanOptions {\n /** Frames in the composition. */\n totalFrames: number;\n /** Measured frame times; between samples the cost is interpolated linearly. */\n samples: readonly FrameCostSample[];\n /** A worker count, or `\"auto\"` to pick one from the cost. Default 1. */\n workers?: number | \"auto\";\n /** Upper bound for `\"auto\"` (and for a number). Default 10. */\n maxWorkers?: number;\n /** Fixed cost each chunk pays before rendering, in seconds. Default 90 (a cold start). */\n overheadSec?: number;\n /**\n * `\"auto\"` only: the smallest share of a chunk's time spent rendering,\n * between 0 and 1. Default 0.85: each chunk renders at least\n * `overheadSec × 0.85 / 0.15` (about 5.7× the overhead).\n */\n efficiency?: number;\n /** No chunk is shorter than this many frames. Default 60. */\n minChunkFrames?: number;\n}\ninterface PlannedChunk {\n /** First frame (inclusive). */\n start: number;\n /** Last frame (exclusive). */\n end: number;\n /** Estimated render time of its frames, in seconds. */\n workSec: number;\n}\ninterface ChunkPlan {\n workers: number;\n /** Estimated render time of the whole composition on one worker, without overhead. */\n workSec: number;\n /** Estimated wall time with this plan: overhead plus the longest chunk. */\n etaSec: number;\n chunks: PlannedChunk[];\n}\ndeclare function planChunks(options: ChunkPlanOptions): ChunkPlan;\n//#endregion\n//#region src/dma-staging-ring.d.ts\ntype StagingSlotStatus = \"idle\" | \"rendering\" | \"mapping\" | \"mapped\";\ninterface VideoColorSpaceConfig {\n readonly primaries?: VideoColorPrimaries;\n readonly transfer?: VideoTransferCharacteristics;\n readonly matrix?: VideoMatrixCoefficients;\n readonly fullRange?: boolean;\n}\ninterface DmaStagingRingOptions {\n readonly width: number;\n readonly height: number;\n readonly capacity?: number;\n readonly format?: GPUTextureFormat;\n}\ninterface StagingSlotInfo {\n readonly index: number;\n readonly status: StagingSlotStatus;\n readonly inFlightFrame: number | null;\n}\n/**\n * Pipelined Asynchronous DMA Staging Ring for WebGPU.\n *\n * Implements double-buffered (or N-buffered) GPU staging buffers to overlap\n * GPU render passes with asynchronous DMA host transfers and WebCodecs hardware encoding.\n * Eliminates GPU stalls by allowing Frame i+1 to execute on the GPU while Frame i\n * is asynchronously mapped and consumed by the hardware video encoder.\n */\ndeclare class DmaStagingRing {\n readonly width: number;\n readonly height: number;\n readonly capacity: number;\n readonly bytesPerRow: number;\n readonly unpaddedBytesPerRow: number;\n readonly bufferSize: number;\n readonly format: GPUTextureFormat;\n readonly device: GPUDevice;\n private readonly slots;\n private isDestroyed;\n constructor(device: GPUDevice, options: DmaStagingRingOptions);\n /**\n * Prepares the staging buffer slot for writing by ensuring any prior mapping\n * from a previous cycle has been completed and unmapped.\n */\n prepareSlot(frameIndex: number): Promise<void>;\n /**\n * Records a GPU-to-buffer DMA copy command into the provided command encoder.\n */\n stageTexture(encoder: GPUCommandEncoder, texture: GPUTexture, frameIndex: number): void;\n /**\n * Initiates asynchronous DMA mapping on the slot for the specified frame.\n * Must be called immediately after submitting the command encoder to the device queue.\n */\n scheduleMap(frameIndex: number): Promise<void>;\n /**\n * Awaits asynchronous mapping and extracts pixels into a tightly packed Uint8Array.\n * The slot remains in the \"mapped\" state until releaseFrame() is called.\n */\n readFramePixels(frameIndex: number): Promise<Uint8Array>;\n /**\n * Awaits asynchronous mapping, extracts pixels, and immediately unmaps the staging buffer,\n * returning the slot to \"idle\" state so it can be reused immediately.\n */\n readAndReleaseFrame(frameIndex: number): Promise<Uint8Array>;\n /**\n * Directly reads the mapped staging buffer into a WebCodecs VideoFrame,\n * bypassing redundant intermediate JS allocations when row pitches align,\n * and immediately unmaps the buffer.\n */\n readFrameToVideoFrame(frameIndex: number, timestampUs: number, colorSpace?: VideoColorSpaceConfig, /** Sees the tightly packed RGBA pixels while they are mapped; must not keep them. */\n inspect?: (rgba: Uint8Array) => void): Promise<VideoFrame>;\n /**\n * Unmaps the staging buffer for the specified frame and marks the slot idle.\n */\n releaseFrame(frameIndex: number): void;\n /**\n * Returns current status info for each slot in the ring.\n */\n getSlotInfos(): readonly StagingSlotInfo[];\n /**\n * Destroys all staging buffers and releases resources.\n */\n destroy(): void;\n private checkDestroyed;\n}\n//#endregion\n//#region src/dynamic-node-discovery.d.ts\n/** Locates the workspace `nodes/` directory by climbing up from this file. */\ndeclare function findNodesDir(startDir?: string): string | null;\n/**\n * Registers the built-in node renderers, then any extra nodes found in the\n * directory named by `FRAMEFIELDS_NODES_DIR` (local node development). A node in\n * that directory overrides the built-in renderer for the same op.\n */\ndeclare function discoverAndRegisterNodeRenderers(): Promise<void>;\n//#endregion\n//#region src/render-reporter.d.ts\n/**\n * Stages of `renderVideo`, in order. Audio-only renders skip \"render\";\n * \"convert\" runs only for GIF output.\n */\ntype RenderPhase = \"prepare\" | \"render\" | \"audio\" | \"audio-encode\" | \"mux\" | \"convert\" | \"done\";\n/** Progress reported by `renderVideo({ onProgress })`. */\ninterface RenderProgress {\n /**\n * \"prepare\" loads fonts and warms the pipeline, \"render\" draws and encodes\n * frames, \"audio\" mixes the soundtrack, \"audio-encode\" encodes it, \"mux\"\n * writes the container, \"convert\" makes the GIF, \"done\" is the last event.\n */\n phase: RenderPhase;\n /** Frames finished so far (1-based); `totalFrames` once frames are done. */\n frame: number;\n totalFrames: number;\n /** Time since the render started. */\n elapsedMs: number;\n /** Share of the current phase done (0–1), when it can be measured. */\n phaseProgress?: number;\n /** Frames per second so far (\"render\" only). */\n fps?: number;\n /** Estimated seconds until the frames are done (\"render\" only). */\n etaSec?: number;\n /** What the phase is working on, e.g. \"3/7 sources: music.mp3\". */\n detail?: string;\n}\n//#endregion\n//#region src/video-qa.d.ts\n/**\n * Quality checks run on a video while it renders: frames are measured as\n * they are read back for the encoder and audio as it is mixed, so the report\n * describes exactly what was encoded without decoding the file again.\n */\ninterface VideoQaOptions {\n /** Luma (0-1) at or below which a pixel counts as black. Default 0.1. */\n readonly blackPixelThreshold?: number;\n /** Share of black pixels that makes a frame black. Default 0.98. */\n readonly blackFrameRatio?: number;\n /** Shortest run of black frames reported. Default 0.5 s. */\n readonly minBlackSec?: number;\n /** Shortest run of unchanging frames reported. Default 2 s. */\n readonly minFrozenSec?: number;\n /** Level (dBFS, 100 ms windows) below which audio counts as silent. Default -60. */\n readonly silenceDbfs?: number;\n /** Shortest silent stretch reported. Default 2 s. */\n readonly minSilenceSec?: number;\n /** Integrated loudness to hit, e.g. -14 for most streaming platforms. Unchecked when unset. */\n readonly targetLufs?: number;\n /** Allowed distance from `targetLufs`, in LU. Default 1. */\n readonly lufsTolerance?: number;\n}\ninterface QaSegment {\n readonly startSec: number;\n readonly endSec: number;\n}\ninterface QaIssue {\n readonly severity: \"error\" | \"warning\" | \"info\";\n /** Stable machine-readable kind, e.g. \"black_frames\", \"audio_clipping\" */\n readonly code: string;\n readonly message: string;\n readonly startSec?: number;\n readonly endSec?: number;\n readonly layerId?: string;\n}\ninterface VideoQaStats {\n readonly expectedFrames: number;\n readonly encodedFrames: number;\n readonly fps: number;\n readonly width: number;\n readonly height: number;\n /** Average luma over the whole video, 0-1 */\n readonly meanLuma: number;\n readonly blackSegments: readonly QaSegment[];\n readonly frozenSegments: readonly QaSegment[];\n}\ninterface AudioQaStats {\n readonly sampleRate: number;\n readonly channels: number;\n readonly durationSec: number;\n /** Highest sample, dBFS (sample peak, not true peak) */\n readonly peakDbfs: number;\n /** Mean level over the whole track, dBFS */\n readonly rmsDbfs: number;\n /** ITU-R BS.1770 integrated loudness; null when the track is silent */\n readonly integratedLufs: number | null;\n /** Samples at or beyond full scale */\n readonly clippedSamples: number;\n readonly silentSegments: readonly QaSegment[];\n}\ninterface VideoQaReport {\n /** No errors or warnings (info issues do not fail a render) */\n readonly passed: boolean;\n readonly video?: VideoQaStats;\n readonly audio?: AudioQaStats;\n readonly issues: readonly QaIssue[];\n}\n/** Measures frames handed to it in order, as RGBA bytes. */\ndeclare class FrameInspector {\n private readonly blackLuma;\n private readonly blackRatio;\n private readonly black;\n private readonly sameAsPrevious;\n private lumaSum;\n private previous;\n constructor(options?: VideoQaOptions);\n get frameCount(): number;\n inspect(rgba: Uint8Array, width: number, height: number): void;\n stats(expectedFrames: number, encodedFrames: number, fps: number, width: number, height: number, options?: VideoQaOptions): VideoQaStats;\n}\n/** Measures a mixed audio track (one Float32Array per channel). */\ndeclare function analyzeAudio(channels: readonly Float32Array[], sampleRate: number, options?: VideoQaOptions): AudioQaStats;\n/**\n * ITU-R BS.1770-4 integrated loudness (LUFS): K-weighted mean square in\n * 400 ms blocks with 75% overlap, gated at -70 LUFS and then at 10 LU below\n * the mean of what passed. Channels weigh 1 (stereo and mono layouts).\n */\ndeclare function integratedLoudness(channels: readonly Float32Array[], sampleRate: number): number | null;\n/** Turn measurements and document diagnostics into a report with issues. */\ndeclare function buildQaReport(parts: {\n video?: VideoQaStats;\n audio?: AudioQaStats;\n diagnostics?: readonly RenderDiagnostic[];\n options?: VideoQaOptions;\n}): VideoQaReport;\n/** A short human- and agent-readable summary of a report. */\ndeclare function formatQaReport(report: VideoQaReport): string;\n//#endregion\n//#region src/headless-webgpu-renderer.d.ts\ndeclare class RenderSemaphore {\n private _running;\n private readonly _max;\n private readonly _queue;\n constructor(max: number);\n acquire(timeoutMs?: number): Promise<void>;\n release(): void;\n get stats(): {\n active: number;\n queued: number;\n max: number;\n };\n}\ndeclare const renderSemaphore: RenderSemaphore;\n/** Composition frames `start` (inclusive) to `end` (exclusive). */\ninterface FrameRange {\n start: number;\n end: number;\n}\ndeclare class HeadlessWebGPURenderer {\n private static isInitialized;\n private static initPromise;\n private static initFailureCount;\n private static readonly MAX_INIT_FAILURES;\n private static nextRetryAt;\n static initialize(): Promise<void>;\n renderImage(virtualMedia: VirtualMediaData, frame?: number, fps?: number, options?: {\n renderId?: string;\n /** \"rgba\" skips PNG encoding and returns width*height*4 raw pixels. */\n format?: \"png\" | \"rgba\";\n }): Promise<Buffer>;\n /**\n * Renders a single frame to a PNG buffer at a specified timestamp in milliseconds or frame index.\n */\n renderFrame(source: VirtualMediaData | {\n toVirtualMedia(): VirtualMediaData;\n }, options?: {\n atMs?: number;\n frame?: number;\n fps?: number;\n /** Reuse compiled state across calls; see `renderImage`. */\n renderId?: string;\n /** \"rgba\" returns raw width*height*4 pixels instead of a PNG. */\n format?: \"png\" | \"rgba\";\n }): Promise<Buffer>;\n /**\n * Measures what frames cost to render across the timeline, for planning a\n * split render (`planChunks`). At `samples` evenly spaced points (default\n * 12) it renders three consecutive frames and times the last two, so\n * effects that carry state (trails, particles) are caught up and their\n * replay is not counted. Encoding is not included.\n */\n probeRender(source: VirtualMediaData | {\n toVirtualMedia(): VirtualMediaData;\n }, options?: {\n samples?: number;\n signal?: AbortSignal;\n /** Called after each sample point with how many are done. */\n onSample?: (done: number, total: number) => void;\n }): Promise<{\n totalFrames: number;\n fps: number;\n durationMs: number;\n samples: FrameCostSample[];\n }>;\n /**\n * Mixes the composition's full audio timeline (clips, effects, synthesized\n * tracks) to stereo PCM, exactly as `renderVideo` muxes it.\n */\n /**\n * Mixes the timeline's audio. `window` mixes only that stretch (the same\n * samples as that part of a full mix); `master: false` skips the master\n * stage, for callers that master with the whole film's `peak` later.\n */\n renderAudio(virtualMedia: VirtualMediaData, options?: {\n fps?: number;\n sampleRate?: number;\n window?: {\n startSec: number;\n endSec: number;\n };\n master?: boolean;\n }): Promise<AudioMix>;\n renderLut(virtualMedia: VirtualMediaData, frame?: number, fps?: number): Promise<Buffer>;\n private resolveMediaDuration;\n renderVideo(virtualMedia: VirtualMediaData, options?: {\n codec?: string;\n audioCodec?: string;\n quality?: string;\n concurrency?: number;\n /**\n * Depth of the DMA staging ring (default 2, clamped 2–8). A deeper\n * ring overlaps more encoder latency at the cost of VRAM\n * (~8.3MB/slot at 1080p RGBA). Also settable via\n * `FRAMEFIELDS_RING_CAPACITY`.\n */\n ringCapacity?: number;\n /**\n * Measure the output while it renders (black and frozen frames,\n * dropped frames, loudness, clipping, silence, document warnings)\n * and return the findings as `qa`. `true` uses default thresholds.\n */\n qa?: boolean | VideoQaOptions;\n /**\n * Aborts the render between frames; the promise rejects with\n * `signal.reason` and the partial output is deleted.\n */\n signal?: AbortSignal;\n /**\n * Called as the render moves through its phases: \"prepare\", each\n * frame (\"render\"), \"audio\" (mixing, per clip), \"audio-encode\",\n * \"mux\", \"convert\" (GIF only) and \"done\".\n */\n onProgress?: (progress: RenderProgress) => void;\n /**\n * Renders only composition frames `start` (inclusive) to `end`\n * (exclusive), as one chunk of a render split across workers. The\n * chunk's timestamps start at 0 and its first frame is a keyframe,\n * so `stitchChunks` joins chunks without re-encoding. Effects that\n * carry state between frames rebuild it before `start`.\n */\n frames?: FrameRange;\n /**\n * `false` writes no audio track, as for chunks: the timeline's audio\n * is exported once with `codec: \"aac\"` and added by `stitchChunks`.\n */\n audio?: boolean;\n }): Promise<{\n filePath: string;\n cleanup: () => Promise<void>;\n qa?: VideoQaReport;\n }>;\n}\ndeclare const HeadlessMediaRenderer: typeof HeadlessWebGPURenderer;\ntype HeadlessMediaRenderer = HeadlessWebGPURenderer;\n//#endregion\n//#region src/job-reset.d.ts\n/**\n * Drops every cache keyed by a file path or URL: media inputs and decoders,\n * textures, LUTs, fonts and downloaded font files. A long-lived worker calls this between jobs,\n * because the next checkout may hold different bytes at the same path. The\n * GPU device and compiled pipelines stay warm.\n */\ndeclare function resetRenderCaches(): void;\n//#endregion\n//#region src/logger.d.ts\n/**\n * \"json\" (pino lines, for log collectors) or \"text\" (one short line each, for\n * people and agents reading a terminal). `FRAMEFIELDS_LOG_FORMAT` picks one;\n * otherwise production is JSON and everything else text.\n */\ndeclare function resolveLogFormat(vars?: Record<string, string | undefined> | undefined): \"json\" | \"text\";\n/**\n * Turns pino's JSON lines into `[framefields] Rendered 40% (…)`: the message\n * without its `[Component]` prefix, the level only for warnings and errors,\n * and an error's message (its stack reaches the caller with the throw).\n */\ndeclare function textLogStream(write?: (line: string) => void): DestinationStream;\ndeclare const rendererLogger: pino.Logger<never, boolean>;\n//#endregion\n//#region src/node-manifest.d.ts\n/**\n * The `framefields` block of a node package's `package.json`.\n *\n * This is the single declaration of a node's op: renderer discovery, the\n * effects generator (`scripts/generate-effects.ts`) and the skill catalog all\n * read it from here. There is deliberately no fallback that derives an op from\n * the package name. See `spec/sync-node.md` §5.1.\n */\ndeclare const NODE_KINDS: readonly [\"effect\", \"audio\", \"source\", \"signal\", \"utility\"];\ntype NodeKind = (typeof NODE_KINDS)[number];\ninterface NodeRendererExports {\n development?: string;\n import?: string;\n default?: string;\n}\ninterface NodeManifest {\n /** Directory name under `nodes/`, e.g. `node-apply-lut`. */\n dir: string;\n /** Absolute path of the node package. */\n path: string;\n /** npm package name, e.g. `@framefields/node-lut`. */\n packageName: string;\n /** Canonical op literal used in the operation AST and the renderer registry. */\n type: string;\n kind: NodeKind;\n /** Legacy ops that resolve to the same renderer. */\n aliases: readonly string[];\n /** Named zod schema export of `src/shared/config.ts`. */\n schema?: string;\n /** Authoring class name. Defaults to `type`. */\n className?: string;\n /** Key on `Effect.*`. Defaults to `className` with a lower-cased first letter. */\n factory?: string;\n /** A hand-written subclass exists under `effects/custom/`. */\n custom: boolean;\n /** `false` when the package opts out of discovery. */\n enabled: boolean;\n rendererExports?: NodeRendererExports;\n}\ndeclare class NodeManifestError extends Error {\n readonly problems: readonly string[];\n constructor(problems: readonly string[]);\n}\n/**\n * Validates one parsed `package.json`. Returns the manifest, or the list of\n * problems that make it unusable. Never throws.\n */\ndeclare function parseNodeManifest(pkg: unknown, dir: string, nodePath?: string): {\n manifest?: NodeManifest;\n problems: string[];\n};\n/**\n * Reads every `nodes/node-*` package and returns its manifest, sorted by\n * directory name. Throws a single {@link NodeManifestError} listing every\n * problem: a missing or malformed block, or an op/alias claimed twice.\n */\ndeclare function loadNodeManifests(nodesDir: string): NodeManifest[];\n//#endregion\n//#region src/stitch.d.ts\ninterface StitchOptions {\n /** Chunk files in timeline order, each a `renderVideo({ frames, audio: false })` output. */\n chunks: readonly string[];\n /**\n * An audio-only render of the whole timeline (`renderVideo({ codec: \"aac\" })`,\n * or `\"opus\"` for WebM chunks), copied in as the audio track.\n */\n audio?: string;\n outputPath: string;\n /** Stops between packets; the promise rejects and no file is left behind. */\n signal?: AbortSignal;\n}\ninterface StitchResult {\n filePath: string;\n /** Video frames written, across all chunks. */\n frames: number;\n /** End of the video track, in seconds. */\n durationSec: number;\n}\ndeclare function stitchChunks(options: StitchOptions): Promise<StitchResult>;\n//#endregion\n//#region src/zero-copy-webcodecs-pipeline.d.ts\ninterface ZeroCopyWebCodecsPipelineOptions {\n readonly width: number;\n readonly height: number;\n readonly fps: number;\n readonly videoSource: VideoSampleSource;\n readonly ringCapacity?: number;\n readonly colorSpace?: VideoColorSpaceConfig;\n readonly directCanvasSource?: unknown;\n /**\n * Called with each frame's RGBA pixels, in frame order, just before it is\n * encoded (staging-ring path only). The buffer is reused: read, don't keep.\n */\n readonly onFrame?: (rgba: Uint8Array, frameIndex: number) => void;\n}\ninterface WebCodecsPipelineStats {\n readonly totalFramesEnqueued: number;\n readonly totalFramesEncoded: number;\n readonly averageGpuSubmitTimeMs: number;\n readonly averageEncodeTimeMs: number;\n readonly averageCycleTimeMs: number;\n readonly maxCycleTimeMs: number;\n readonly minCycleTimeMs: number;\n readonly throughputFps: number;\n readonly ringCapacity: number;\n readonly isDirectZeroCopy: boolean;\n}\n/**\n * High-performance hardware video encoding pipeline integrating WebGPU textures with WebCodecs.\n *\n * Provides:\n * 1. Direct hardware acceleration when running with WebCodecs / OffscreenCanvas.\n * 2. Pipelined asynchronous double-buffered DMA staging ring for headless Node.js (Dawn native),\n * allowing GPU Frame i+1 rendering to overlap concurrently with Frame i hardware encoding.\n */\ndeclare class ZeroCopyWebCodecsPipeline {\n readonly width: number;\n readonly height: number;\n readonly fps: number;\n readonly ringCapacity: number;\n private readonly device;\n private readonly videoSource;\n private readonly stagingRing;\n private readonly colorSpace?;\n private readonly directCanvasSource?;\n private readonly onFrame?;\n private readonly inFlightFrames;\n private readonly cycleStartTimes;\n private totalFramesEnqueued;\n private totalFramesEncoded;\n private totalGpuSubmitTimeMs;\n private totalEncodeTimeMs;\n private totalCycleTimeMs;\n private maxCycleTimeMs;\n private minCycleTimeMs;\n private pipelineStartTime;\n constructor(device: GPUDevice, options: ZeroCopyWebCodecsPipelineOptions);\n /**\n * Returns true if direct zero-copy from an OffscreenCanvas or texture is active.\n */\n canDirectZeroCopy(): boolean;\n /**\n * Enqueues a rendered GPU texture frame into the pipeline.\n *\n * Uses double-buffered DMA staging: if the staging ring has reached capacity,\n * the oldest in-flight frame is asynchronously consumed and added to the video encoder\n * before staging the new frame, guaranteeing constant bounded VRAM usage and zero GPU stalls.\n */\n enqueueFrame(frameIndex: number, targetTexture: GPUTexture, encoder: GPUCommandEncoder): Promise<void>;\n /**\n * Drains all remaining in-flight frames in the pipeline, ensuring every enqueued\n * frame has been encoded and added to the video sample source.\n */\n drain(): Promise<void>;\n /**\n * Returns runtime throughput, latency, and pipeline statistics.\n */\n getStats(): WebCodecsPipelineStats;\n /**\n * Destroys the pipeline and releases all staging buffers.\n */\n destroy(): void;\n private consumeAndEncode;\n}\n//#endregion\nexport { AudioQaStats, ChunkPlan, ChunkPlanOptions, DmaStagingRing, DmaStagingRingOptions, FrameCostSample, FrameInspector, FrameRange, HeadlessMediaRenderer, HeadlessWebGPURenderer, NODE_KINDS, NodeKind, NodeManifest, NodeManifestError, NodeRendererExports, PlannedChunk, QaIssue, QaSegment, type RenderPhase, type RenderProgress, StagingSlotInfo, StagingSlotStatus, StitchOptions, StitchResult, VideoColorSpaceConfig, VideoQaOptions, VideoQaReport, VideoQaStats, WebCodecsPipelineStats, ZeroCopyWebCodecsPipeline, ZeroCopyWebCodecsPipelineOptions, analyzeAudio, buildQaReport, discoverAndRegisterNodeRenderers, findNodesDir, formatQaReport, integratedLoudness, loadNodeManifests, parseNodeManifest, planChunks, preloadFonts, renderSemaphore, rendererLogger, resetRenderCaches, resolveLogFormat, stitchChunks, textLogStream };\n//# sourceMappingURL=index.d.mts.map"],"mappings":";;;;;;;;AAmLoB;AAsBI;AAkBL;AAIF;AAkB4B;AAcA;;;;;AAoC5B;AAEoC;AAQf;AAQQ;AAE1B;UA1RVa,eAAAA,CAoSaD;EACKJ,KAAAA,EAAAA,MAAAA;EAIduC,EAAAA,EAAAA,MAAAA;;UArSJjC,gBAAAA,CAySYN;EACAA;EASRuC,WAAAA,EAAAA,MAAAA;EAARnC;EAQgBJ,OAAAA,EAAAA,SAvTFK,eAuTEL,EAAAA;EACAA;EAGTwC,OAAAA,CAAAA,EAAAA,MAAAA,GAAAA,MAAAA;EAOAnC;EAJPD,UAAAA,CAAAA,EAAAA,MAAAA;EAesBJ;EAQdF,WAAAA,CAAAA,EAAAA,MAAAA;EAARM;;;;;EAoBamB,UAAAA,CAAAA,EAAAA,MAAAA;EAKNiB;EAMelB,cAAAA,CAAAA,EAAAA,MAAAA;;UApWlBf,YAAAA,CAoXSH;EACVwB;EAHHxB,KAAAA,EAAAA,MAAAA;EAAO;EAAA,GAMCqC,EAAAA,MAAAA;EAAoD;EACf,OASlCC,EAAAA,MAAAA;AA0EiD;AAa5C,UAjdZlC,SAAAA,CAmdY;EAAA,OAOLkD,EAAAA,MAAAA;EAAsBF;EAAwBC,OAAAA,EAAAA,MAAAA;EAARrD;EAAO,MAAA,EAAA,MAAA;UApdpDG;;iBAEOE,UAAAA,UAAoBH,mBAAmBE;AC3DxD;AAMA;;;;;;;;KD2JKa,WAAAA;;UAEKC,cAAAA;;;;;;SAMDD;;;;;;;;;;;;;;;;;;;;;;UAsBCE,cAAAA;;;;;;;;;;;;;;;;;;UAkBAC,SAAAA;;;;UAIAC,OAAAA;;;;;;;;;UASAC,YAAAA;;;;;;;;mCAQyBF;oCACCA;;UAE1BG,YAAAA;;;;;;;;;;;;oCAY0BH;;UAE1BI,aAAAA;;;mBAGSF;mBACAC;4BACSF;;;;;iBA+BXS,cAAAA,SAAuBN;;;cAG1BO,eAAAA;;;;;+BAKiB/B;;;;;;;;cAQjBgC,iBAAiBD;;UAErBE,UAAAA;;;;cAIIC,sBAAAA;;;;;;uBAMSlC;4BACKJ;;;;MAItBI,QAAQmC;;;;sBAIQvC;sBACAA;;;;;;;;;MAShBI,QAAQmC;;;;;;;;sBAQQvC;sBACAA;;;aAGTwC;;;MAGPpC;;;;aAIOC;;;;;;;;;;;4BAWeL;;;;;;;;MAQtBI,QAAQN;0BACYE,iDAAiDI,QAAQmC;;4BAEvDvC;;;;;;;;;;;;;;;;;mBAiBTuB;;;;;aAKNiB;;;;;;4BAMelB;;;;;;;;aAQfe;;;;;;MAMPjC;;mBAEaA;SACVwB;;;cAGKa,8BAA8BH;KACvCG,qBAAAA,GAAwBH;;;;;;;;;iBASZI,iBAAAA,CAAAA;;;;;;;;;;;UA6EPc,aAAAA;;;;;;;;;;WAUChB;;UAEDiB,YAAAA;;;;;;;iBAOOC,YAAAA,UAAsBF,gBAAgBpD,QAAQqD;;;;;UC7gB9C,gBAAA;;;;;ADmBPpD,UCbO,gBAAA,CDaQ;EAIfC;AAIyB;AAgBb;EAgBLG,UAAAA,CAAAA,EAAU,MAAA;EAsGtBY;AAAW;AAQI;EAwCVG,QAAAA,CAAAA,EAAAA,MAAS;EAITC;AAAO;AAkB4B;EAgBnCG,UAAAA,CAAAA,EAAAA,MAAa;EAGJF;;;EAEgB,MAAA,CAAA,EAAA,MAAA,EAAA;EA+BlBQ;AAAoC;AAQf;EAU5BG,OAAAA,CAAAA,EAAAA,MAAU;EAINC;;;EAWAC,KAAAA,CAAAA,EAAAA,MAAAA;EAARnC;;;EAcQmC,MAAAA,CAAAA,EAAAA,MAAAA;EAARnC;;;EAYOoC,OAAAA,CAAAA,EAAAA,MAAAA,EAAAA;EAOAnC;;;;EAmBPD,GAAAA,CAAAA,EAAAA,MAAAA;EACoBJ;;;EAEEA,OAAAA,CAAAA,EAAAA,MAAAA;EAiBTuB;;;;EA2BAnB,SAAAA,CAAAA,EAAAA,MAAAA;EACVwB;;;EAGKa,UAAAA,CAAAA,EAAAA,MAAAA;EACTA;AAA8C;AAmFe;EAexDgB,GAAAA,CAAAA,EAAAA,MAAAA;EAOOC;;;EAAsCtD,OAAAA,CAAAA,EAAAA,MAAAA;EAAO;;;;EC7gB7C;AAMjB;AA+KA;EA4DgB,UAAA,CAAA,EAAA,OAAiB;EAiFrB;;;EAOC,UAAA,CAAA,EAAA,OAAA;EAAR;;AAWL;EACS,UAAA,CAAA,EAAA,MAAA;EACC;;;EACA,UAAA,CAAA,EAAA,MAAA;;;;;;;;;;;;;;;;;aA5NE;;;iBA0DI,mBAAA,UACN;WAGI;;;;;;iBAwDE,iBAAA,mDAGN;;;;;;;;;;;KA8EE,mBAAA;oBACO;;;;;eAKN;MACR,QAAQ;;;;;;;;;;iBAWS,eAAA,SACb,+BACC,mBACP,QAAQ"}
@@ -2399,4 +2399,4 @@ declare function findSourceAsset(vm: VirtualMediaData): FileData | null;
2399
2399
  //#endregion
2400
2400
  //#endregion
2401
2401
  export { FrameSignal as $, TransitionSchema as $n, isFrameIndex as $r, NormalRelightingOptions as $t, DataTypeVal as A, sampleColorStops as Ai, SignalMathData as An, deserializeSignalData as Ar, MediaTimeRemapInputSchema as At, EmojiPresentation as B, stampResult as Bi, TEXT_LAYER_DEFAULTS as Bn, generateId as Br, NodeId as Bt, DATA_TYPE_EXTENSIONS as C, resolveBoolean as Ci, SignalChannelMeta as Cn, computeVideoCropRenderProps as Cr, MediaSignalRecorder as Ct, DataForType as D, resolveParam as Di, SignalDataSchema as Dn, createVirtualMedia as Dr, MediaSourceSchema as Dt, DEFAULT_MEDIA_DIMENSION as E, resolveNumber as Ei, SignalData as En, createOutputItemSchema as Er, MediaSourceRange as Et, DetectedObject as F, seconds as Fi, SineSignalOptions as Fn, fps as Fr, Milliseconds as Ft, FaceLandmarksOptions as G, TensorPipelineConfig as Gn, getMediaType as Gr, NodeProcessorContext as Gt, ExportResultSchema as H, timeSignal as Hi, TensorDimensions as Hn, getFileDataMetadata as Hr, NodeMetadata as Ht, Effect as I, serializeSignalData as Ii, SingleOutputGeneric as In, frame as Ir, ModerationError as It, FileData as J, TextSpanMark as Jn, handleId as Jr, NodeResultSchema as Jt, FileAsset as K, TextOperationSchema as Kn, getRenderFingerprint as Kr, NodeProcessorParams as Kt, EffectConfig as L, signal as Li, SingleOutputGenericSchema as Ln, frameArraySignal as Lr, ModerationUnrefundableError as Lt, DeflickerOptions as M, sampleMediaSignal as Mi, SignalStats as Mn, extractSvgDimensions as Mr, MediaTimeSignalRemap as Mt, Degrees as N, sampledMediaSourceRange as Ni, SignalStatsSchema as Nn, findSourceAsset as Nr, MediaTimeSignalRemapSchema as Nt, DataType as O, resolveString as Oi, SignalGateData as On, dataTypeColors as Or, MediaTimeRemap as Ot, DepthNormalsOptions as P, sampledMediaSourceTime as Pi, SignalValue as Pn, formatHex as Pr, MeshAudioDeformConfig as Pt, FrameIndex as Q, TrackedObject as Qn, isEqual as Qr, NodeVisualConfigSchema as Qt, EffectConfigValue as R, signalBuilder as Ri, SourceOperationSchema as Rn, frameCount as Rr, MultiOutputGeneric as Rt, ControlNetConditioningOutputs as S, reportRenderDiagnostic as Si, SignalBuilderConfig as Sn, compositionFrameContext as Sr, MediaService as St, DEFAULT_FPS as T, resolveMediaMimeType as Ti, SignalContext as Tn, cosineSignal as Tr, MediaSourceInput as Tt, ExtendedLayer as U, updateClockSignals as Ui, TensorFormat as Un, getFingerprint as Ur, NodeMetadataSchema as Ut, ExportResult as V, takeRenderDiagnostics as Vi, TensorData as Vn, getActiveMediaMetadata as Vr, NodeInputConnection as Vt, ExtendedLayerSchema as W, validateMediaTimeRemap as Wi, TensorNode as Wn, getLeafMediaType as Wr, NodeOperation as Wt, Fps as X, TimelineTransform as Xn, hasOnlySingleSource as Xr, NodeValidationFn as Xt, FileDataSchema as Y, TimelineSegmentSchema as Yn, handleLabel as Yr, NodeRunFunction as Yt, FrameContext as Z, TimelineTransformSchema as Zn, isCssGradient as Zr, NodeVisualConfig as Zt, ColorStopLike as _, pixels as _i, Rgba as _n, XYPosition as _r, MIME_TYPES as _t, AudioExtractorSignalData as a, mediaSourceIsHold as ai, OutputItem as an, VideoLayerTypeSchema as ar, Gradient as at, ConfigSchemaRegistry as b, radians as bi, SegmentationOptions as bn, assertNever as br, MediaOperation as bt, BaseMediaOperationPropsSchema as c, mediaSourceTime as ci, ParsedGradientStop as cn, VideoTextPropsSchema as cr, HandleLabel as ct, Brand as d, nodeId as di, ProgrammaticSignal as dn, VirtualMediaDataSchema as dr, JsonArray as dt, isNormalized as ei, Normalized as en, TransitionType as er, GPUTextureBinding as et, CAPTION_LAYER_DEFAULTS as f, normalizeColorStops as fi, ProgrammaticSignalOptions as fn, VisionConfig as fr, JsonObject as ft, Color as g, parseCssGradient as gi, ResolvedMediaTimeRemap as gn, WritableSignal as gr, MAX_GRADIENT_STOPS as gt, CannyOptions as h, parseCssColor as hi, RenderDiagnostic as hn, VisionVariant as hr, Landmark3D as ht, AnyOutputUnionSchema as i, limitGradientStops as ii, Output as in, VideoLayerType as ir, GlobalCompositeOperation as it, DataTypes as j, sampleFrameMediaSignal as ji, SignalMathDataSchema as jn, emojiPresentation as jr, MediaTimeRemapSchema as jt, DataTypeEnum as k, rgbToOklab as ki, SignalGateDataSchema as kn, degrees as kr, MediaTimeRemapInput as kt, BaseVideoLayerProps as l, mixColors as li, Pixels as ln, VideoTimingPropsSchema as lr, HandleType as lt, COMPOSITOR_DEFAULTS as m, oklabToRgb as mi, Radians as mn, VisionTask as mr, JsonValueSchema as mt, AnimationTypeSchema as n, isValueSignal as ni, ObjectBoundingBox as nn, VideoAnimation as nr, GeneratorSignalData as nt, AudioExtractorSignalDataSchema as o, mediaSourceRange as oi, OutputItemSchema as on, VideoSpatialPropsSchema as or, GradientType as ot, COMPOSITE_OPERATIONS as p, normalized as pi, RadialExtent as pn, VisionNodeSpec as pr, JsonValue as pt, FileAssetSchema as q, TextSpan as qn, gradientStopsToOklab as qr, NodeResult as qt, AnyOutputUnion as r, isVirtualMediaData as ri, OpticalFlowOptions as rn, VideoAnimationSchema as rr, GeneratorSignalDataSchema as rt, BaseMediaOperationProps as s, mediaSourceRate as si, ParsedGradient as sn, VideoStylePropsSchema as sr, HandleId as st, AnimationType as t, isSignal as ti, NormalizedLandmarkList as tn, TransitionTypeSchema as tr, GateSignalOptions as tt, BaseVideoLayerPropsSchema as u, ms as ui, PoseSkeletonOptions as un, VirtualMediaData as ur, HandleTypeVal as ut, ConfigHandle as v, programmaticSignal as vi, SampledMediaSignal as vn, appendOperation as vr, MediaMetadata as vt, DEFAULT_DURATION_MS as w, resolveFrameRequest as wi, SignalChannelMetaSchema as wn, computed as wr, MediaSourceDescriptor as wt, ConnectedInput as x, registerSignalDependency as xi, Signal as xn, checkNodeResultCache as xr, MediaOperationSchema as xt, ConfigHandleSchema as y, progressSignal as yi, Seconds as yn, assertFps as yr, MediaMetadataSchema as yt, EffectDomain as z, sineSignal as zi, StorageService as zn, frameSignal as zr, MultiOutputGenericSchema as zt };
2402
- //# sourceMappingURL=index-COYNQ_mf.d.mts.map
2402
+ //# sourceMappingURL=index-a6JrbAK0.d.mts.map