framefields 2.9.2 → 2.10.0-canary.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 (518) hide show
  1. package/NOTICE.md +18 -0
  2. package/README.md +10 -7
  3. package/dist/audio/index.d.mts +5 -4
  4. package/dist/audio/index.mjs +13 -13
  5. package/dist/{audio-Ccpl9mjV.d.mts → audio-1X5qNNmk.d.mts} +4 -3
  6. package/dist/audio-1X5qNNmk.d.mts.map +1 -0
  7. package/dist/{audio-a0MFkK6J.mjs → audio-KHBadECb.mjs} +1 -1
  8. package/dist/{audio-a0MFkK6J.mjs.map → audio-KHBadECb.mjs.map} +1 -1
  9. package/dist/{audio-BfQg37MW.mjs → audio-YpBRdI7r.mjs} +4 -4
  10. package/dist/{audio-BfQg37MW.mjs.map → audio-YpBRdI7r.mjs.map} +1 -1
  11. package/dist/{check-result-C3jlgV2i.mjs → check-result-Culfu7Nx.mjs} +1 -1
  12. package/dist/{check-result-C3jlgV2i.mjs.map → check-result-Culfu7Nx.mjs.map} +1 -1
  13. package/dist/cli/check-worker.mjs +50 -50
  14. package/dist/cli.mjs +179 -3
  15. package/dist/cli.mjs.map +1 -1
  16. package/dist/cloud/index.d.mts +118 -0
  17. package/dist/cloud/index.d.mts.map +1 -0
  18. package/dist/cloud/index.mjs +3 -0
  19. package/dist/cloud-xcfV4J03.mjs +233 -0
  20. package/dist/cloud-xcfV4J03.mjs.map +1 -0
  21. package/dist/components/index.d.mts +14 -11
  22. package/dist/components/index.mjs +47 -47
  23. package/dist/dist-2_lT3Dwc.mjs +1434 -0
  24. package/dist/dist-2_lT3Dwc.mjs.map +1 -0
  25. package/dist/{dist-Buaaj-Ul.mjs → dist-BIE8fvlv.mjs} +1 -1
  26. package/dist/{dist-Buaaj-Ul.mjs.map → dist-BIE8fvlv.mjs.map} +1 -1
  27. package/dist/{dist-BlIrsfcn.mjs → dist-Bf2_efYP.mjs} +1 -1
  28. package/dist/{dist-BlIrsfcn.mjs.map → dist-Bf2_efYP.mjs.map} +1 -1
  29. package/dist/dist-BwtxciN4.mjs +3 -0
  30. package/dist/{dist-C1cCW7Bt.mjs → dist-C4Vxgm0Q.mjs} +275 -78
  31. package/dist/dist-C4Vxgm0Q.mjs.map +1 -0
  32. package/dist/{dist-C8Xq3zgx.mjs → dist-Cu1fZ9Uy.mjs} +4 -4
  33. package/dist/{dist-C8Xq3zgx.mjs.map → dist-Cu1fZ9Uy.mjs.map} +1 -1
  34. package/dist/{dist-DVMepKaO.mjs → dist-CySGkG54.mjs} +2 -2
  35. package/dist/dist-CySGkG54.mjs.map +1 -0
  36. package/dist/effects/index.d.mts +6 -4
  37. package/dist/effects/index.mjs +36 -36
  38. package/dist/{effects-CemgqEPv.mjs → effects-DiWYouOK.mjs} +3 -3
  39. package/dist/{effects-CemgqEPv.mjs.map → effects-DiWYouOK.mjs.map} +1 -1
  40. package/dist/fonts/index.d.mts +1 -1
  41. package/dist/fonts/index.mjs +3 -3
  42. package/dist/{fonts-BW0pPcvJ.mjs → fonts-BnV-GB1o.mjs} +2 -2
  43. package/dist/{fonts-BW0pPcvJ.mjs.map → fonts-BnV-GB1o.mjs.map} +1 -1
  44. package/dist/{gpu-CMaa63nz.mjs → gpu-Bw35AMwY.mjs} +11 -3
  45. package/dist/gpu-Bw35AMwY.mjs.map +1 -0
  46. package/dist/{index-D5UDyVMb.d.mts → index-B7WqFBZA.d.mts} +35 -2401
  47. package/dist/index-B7WqFBZA.d.mts.map +1 -0
  48. package/dist/{index-BfDFmIBE.d.mts → index-BW0Q1ygn.d.mts} +1 -1
  49. package/dist/{index-BfDFmIBE.d.mts.map → index-BW0Q1ygn.d.mts.map} +1 -1
  50. package/dist/{index-CQ-bbZk3.d.mts → index-Bbv0VtxJ.d.mts} +7 -1165
  51. package/dist/index-Bbv0VtxJ.d.mts.map +1 -0
  52. package/dist/{index-CFoAmh7q.d.mts → index-CDQrdZ0J.d.mts} +3 -3
  53. package/dist/{index-CFoAmh7q.d.mts.map → index-CDQrdZ0J.d.mts.map} +1 -1
  54. package/dist/index-COYNQ_mf.d.mts +2402 -0
  55. package/dist/index-COYNQ_mf.d.mts.map +1 -0
  56. package/dist/{index-BIjMAW1h.d.mts → index-CdCrae-I.d.mts} +2 -2
  57. package/dist/{index-BIjMAW1h.d.mts.map → index-CdCrae-I.d.mts.map} +1 -1
  58. package/dist/index-DQa7mhzq.d.mts +330 -0
  59. package/dist/index-DQa7mhzq.d.mts.map +1 -0
  60. package/dist/{index-Bnh42ouE.d.mts → index-Dyt4yS-x.d.mts} +376 -287
  61. package/dist/index-Dyt4yS-x.d.mts.map +1 -0
  62. package/dist/index-WwuuX8ZJ.d.mts +1165 -0
  63. package/dist/index-WwuuX8ZJ.d.mts.map +1 -0
  64. package/dist/{index-CJL0JAU8.d.mts → index-gOVtTm-P.d.mts} +125 -3
  65. package/dist/index-gOVtTm-P.d.mts.map +1 -0
  66. package/dist/{index-7Z9_a_iB.d.mts → index-h7m8QgcL.d.mts} +3 -3
  67. package/dist/{index-7Z9_a_iB.d.mts.map → index-h7m8QgcL.d.mts.map} +1 -1
  68. package/dist/index.d.mts +16 -13
  69. package/dist/index.mjs +59 -58
  70. package/dist/preview/index.d.mts +4 -3
  71. package/dist/preview/index.mjs +12 -12
  72. package/dist/{preview-DvP8AZuV.mjs → preview-BW7ilNWk.mjs} +3 -3
  73. package/dist/{preview-DvP8AZuV.mjs.map → preview-BW7ilNWk.mjs.map} +1 -1
  74. package/dist/preview-engine/audio.mjs +1 -1
  75. package/dist/preview-engine/chunk-44V4V5LD.mjs +1 -0
  76. package/dist/preview-engine/{chunk-5AWAOMBR.mjs → chunk-4BWBX2HM.mjs} +1 -1
  77. package/dist/preview-engine/{chunk-BEYA25UZ.mjs → chunk-4DSOZ5QG.mjs} +1 -1
  78. package/dist/preview-engine/{chunk-VVE2QHVG.mjs → chunk-4FACCLLE.mjs} +1 -1
  79. package/dist/preview-engine/{chunk-DMSZXG56.mjs → chunk-4N25ZU43.mjs} +1 -1
  80. package/dist/preview-engine/{chunk-FTCEG3SF.mjs → chunk-4RLKHFV6.mjs} +1 -1
  81. package/dist/preview-engine/chunk-4TPXZNVR.mjs +483 -0
  82. package/dist/preview-engine/chunk-4YT5YJIF.mjs +1 -0
  83. package/dist/preview-engine/{chunk-CC4NNNIY.mjs → chunk-57WXGYEV.mjs} +1 -1
  84. package/dist/preview-engine/{chunk-C4M3B2Q2.mjs → chunk-5SLBE2FX.mjs} +1 -1
  85. package/dist/preview-engine/{chunk-PM2W4VLT.mjs → chunk-5Y7SO37Q.mjs} +1 -1
  86. package/dist/preview-engine/{chunk-BJXNKMSY.mjs → chunk-64L4GUOF.mjs} +20 -6
  87. package/dist/preview-engine/{chunk-Y5K5LVOR.mjs → chunk-6BE3IL7L.mjs} +1 -1
  88. package/dist/preview-engine/{chunk-GA4HNR44.mjs → chunk-6LBFSGCI.mjs} +1 -1
  89. package/dist/preview-engine/{chunk-IB6GZJOL.mjs → chunk-6O55UROD.mjs} +1 -1
  90. package/dist/preview-engine/{chunk-SPJPM43P.mjs → chunk-6SLCECHG.mjs} +1 -1
  91. package/dist/preview-engine/chunk-77MT33VR.mjs +1 -0
  92. package/dist/preview-engine/{chunk-QCSVT73T.mjs → chunk-7A3BNAWY.mjs} +84 -25
  93. package/dist/preview-engine/{chunk-CN2VLYLB.mjs → chunk-7HW7GA76.mjs} +1 -1
  94. package/dist/preview-engine/chunk-A6OAPDIA.mjs +1 -0
  95. package/dist/preview-engine/chunk-ADLIF544.mjs +39 -0
  96. package/dist/preview-engine/{chunk-LVYVXVZO.mjs → chunk-C2GX5L5S.mjs} +1 -1
  97. package/dist/preview-engine/{chunk-4WYM72ZN.mjs → chunk-CHXR5XZK.mjs} +1 -1
  98. package/dist/preview-engine/chunk-CSLSWUUT.mjs +1 -0
  99. package/dist/preview-engine/{chunk-JSYG6OWZ.mjs → chunk-D7OMXGIZ.mjs} +1 -1
  100. package/dist/preview-engine/{chunk-RJIAES3X.mjs → chunk-EKEKYGXE.mjs} +1 -1
  101. package/dist/preview-engine/{chunk-TNJEZKXM.mjs → chunk-FH72KTSM.mjs} +1 -1
  102. package/dist/preview-engine/{chunk-P5FKRQFU.mjs → chunk-FW2UDDUT.mjs} +1 -1
  103. package/dist/preview-engine/{chunk-S2ABWY5G.mjs → chunk-GTMZOMAN.mjs} +1 -1
  104. package/dist/preview-engine/{chunk-6R3UJBL5.mjs → chunk-HGWT3RVQ.mjs} +10 -10
  105. package/dist/preview-engine/{chunk-34RJ7GAS.mjs → chunk-HKYENGC5.mjs} +1 -1
  106. package/dist/preview-engine/{chunk-7U34VKNO.mjs → chunk-HO7FXISJ.mjs} +1 -1
  107. package/dist/preview-engine/{chunk-73CNXGAK.mjs → chunk-HPQDCC4S.mjs} +1 -1
  108. package/dist/preview-engine/{chunk-ZY47XIRK.mjs → chunk-IVAA5X5H.mjs} +1 -1
  109. package/dist/preview-engine/chunk-JAAFSVAG.mjs +1 -0
  110. package/dist/preview-engine/{chunk-UXYM2G6J.mjs → chunk-JFBSNFN6.mjs} +1 -1
  111. package/dist/preview-engine/{chunk-GIICZZQI.mjs → chunk-JSKEVYKD.mjs} +1 -1
  112. package/dist/preview-engine/{chunk-EJJITH6U.mjs → chunk-K3TJJXVC.mjs} +1 -1
  113. package/dist/preview-engine/{chunk-GZWA5QJS.mjs → chunk-L2NTIWW5.mjs} +1 -1
  114. package/dist/preview-engine/{chunk-VN36PRVD.mjs → chunk-LBP7E7SJ.mjs} +1 -1
  115. package/dist/preview-engine/{chunk-34DL53D5.mjs → chunk-LTR5FXGU.mjs} +1 -1
  116. package/dist/preview-engine/{chunk-GRJJVSOV.mjs → chunk-ML7WO27M.mjs} +1 -1
  117. package/dist/preview-engine/{chunk-GN3NDRLI.mjs → chunk-NCQHOGZK.mjs} +1 -1
  118. package/dist/preview-engine/{chunk-OH5W5EL6.mjs → chunk-NTTEGJD6.mjs} +1 -1
  119. package/dist/preview-engine/{chunk-2B722GXM.mjs → chunk-OD4CSXZL.mjs} +15 -15
  120. package/dist/preview-engine/{chunk-AHQCDTD6.mjs → chunk-OOUDE4XL.mjs} +1 -1
  121. package/dist/preview-engine/chunk-PH3UUX6A.mjs +138 -0
  122. package/dist/preview-engine/chunk-PIHG6HJO.mjs +1 -0
  123. package/dist/preview-engine/{chunk-ZJ5SWTCW.mjs → chunk-RAW2I27S.mjs} +1 -1
  124. package/dist/preview-engine/{chunk-BJV2LBII.mjs → chunk-RMHL4XZ3.mjs} +1 -1
  125. package/dist/preview-engine/chunk-T6L3DO3H.mjs +1 -0
  126. package/dist/preview-engine/{chunk-2PYTDN2C.mjs → chunk-V5HU6NIW.mjs} +1 -1
  127. package/dist/preview-engine/{chunk-DVZITDQS.mjs → chunk-VRJBOFFY.mjs} +1 -1
  128. package/dist/preview-engine/{chunk-SF37HXAH.mjs → chunk-WVIDORLK.mjs} +1 -1
  129. package/dist/preview-engine/{chunk-35HMRW4I.mjs → chunk-XCQ7KN4S.mjs} +1 -1
  130. package/dist/preview-engine/{chunk-KHJZMTOS.mjs → chunk-Y2SWIWIU.mjs} +1 -1
  131. package/dist/preview-engine/{chunk-H7BSN7V7.mjs → chunk-YS3ROS25.mjs} +1 -1
  132. package/dist/preview-engine/{chunk-2DWY7UBV.mjs → chunk-YXCTOCQ2.mjs} +1 -1
  133. package/dist/preview-engine/{chunk-BVDWS3D2.mjs → chunk-ZA5LWHRM.mjs} +1 -1
  134. package/dist/preview-engine/chunk-ZGEKF34E.mjs +1974 -0
  135. package/dist/preview-engine/components.mjs +1 -1
  136. package/dist/preview-engine/effects.mjs +1 -1
  137. package/dist/preview-engine/fonts.mjs +1 -1
  138. package/dist/preview-engine/framefields.mjs +1 -1
  139. package/dist/preview-engine/player.mjs +1 -1
  140. package/dist/preview-engine/renderers-33PIDDZC.mjs +1 -0
  141. package/dist/preview-engine/{renderers-ZACSHGNZ.mjs → renderers-36P2TKPC.mjs} +1 -1
  142. package/dist/preview-engine/{renderers-TSBV4KPE.mjs → renderers-37Y5LR2S.mjs} +1 -1
  143. package/dist/preview-engine/renderers-3AZ3HY53.mjs +1 -0
  144. package/dist/preview-engine/renderers-3FGKW52B.mjs +1 -0
  145. package/dist/preview-engine/renderers-4A2FBS3Y.mjs +1 -0
  146. package/dist/preview-engine/{renderers-5TO2SXFR.mjs → renderers-4MW4NW6O.mjs} +1 -1
  147. package/dist/preview-engine/{renderers-ENMY4DKF.mjs → renderers-4SNAK77B.mjs} +1 -1
  148. package/dist/preview-engine/{renderers-Y22VSOXF.mjs → renderers-4WFRXGMR.mjs} +1 -1
  149. package/dist/preview-engine/{renderers-5KANN7XF.mjs → renderers-5K3BSBI6.mjs} +1 -1
  150. package/dist/preview-engine/renderers-65DU2F5W.mjs +1 -0
  151. package/dist/preview-engine/renderers-6CTPYQR6.mjs +1 -0
  152. package/dist/preview-engine/{renderers-NUAI4TO5.mjs → renderers-6RRWA33X.mjs} +1 -1
  153. package/dist/preview-engine/{renderers-4F7WLQD5.mjs → renderers-6RYIPQ7W.mjs} +1 -1
  154. package/dist/preview-engine/{renderers-U4M7ZCV4.mjs → renderers-AUYCQNSS.mjs} +1 -1
  155. package/dist/preview-engine/renderers-AWODRI3B.mjs +1 -0
  156. package/dist/preview-engine/renderers-BO6HHGMZ.mjs +1 -0
  157. package/dist/preview-engine/renderers-BSXYDEV7.mjs +1 -0
  158. package/dist/preview-engine/{renderers-FSI5KNGZ.mjs → renderers-CMBI4JOC.mjs} +1 -1
  159. package/dist/preview-engine/{renderers-6Z7DWAPH.mjs → renderers-CQIPHCIW.mjs} +1 -1
  160. package/dist/preview-engine/renderers-DU7KPFVV.mjs +1 -0
  161. package/dist/preview-engine/renderers-ECW2CGNU.mjs +1 -0
  162. package/dist/preview-engine/renderers-EEX22FUO.mjs +1 -0
  163. package/dist/preview-engine/{renderers-MOEC2XZZ.mjs → renderers-EILFSWSJ.mjs} +1 -1
  164. package/dist/preview-engine/{renderers-NCGH2WWJ.mjs → renderers-G2FL3IFD.mjs} +1 -1
  165. package/dist/preview-engine/{renderers-5XRKZHVT.mjs → renderers-GCQKGJ7W.mjs} +1 -1
  166. package/dist/preview-engine/{renderers-77PDUMYI.mjs → renderers-HXNSDJBY.mjs} +1 -1
  167. package/dist/preview-engine/renderers-HZBXLDKG.mjs +1 -0
  168. package/dist/preview-engine/renderers-IOXNQPQK.mjs +1 -0
  169. package/dist/preview-engine/renderers-IR44E4ZZ.mjs +1 -0
  170. package/dist/preview-engine/{renderers-TGJSOKDY.mjs → renderers-JALV3B3A.mjs} +1 -1
  171. package/dist/preview-engine/{renderers-IHGAWLUF.mjs → renderers-JMSAW7VY.mjs} +1 -1
  172. package/dist/preview-engine/{renderers-CUMVIVHI.mjs → renderers-JZYHX4XI.mjs} +1 -1
  173. package/dist/preview-engine/renderers-JZZ3ODOZ.mjs +1 -0
  174. package/dist/preview-engine/renderers-K37YL3Z7.mjs +1 -0
  175. package/dist/preview-engine/{renderers-RN2MHIFK.mjs → renderers-KICDB5Y6.mjs} +1 -1
  176. package/dist/preview-engine/renderers-KUJQV3K6.mjs +1 -0
  177. package/dist/preview-engine/renderers-KXVKLSSX.mjs +1 -0
  178. package/dist/preview-engine/{renderers-WEYAHOBK.mjs → renderers-LF6U4MR5.mjs} +1 -1
  179. package/dist/preview-engine/renderers-N4RVFX3G.mjs +1 -0
  180. package/dist/preview-engine/{renderers-PPZK6VEW.mjs → renderers-NQC4DPX4.mjs} +1 -1
  181. package/dist/preview-engine/renderers-NZWWEAYA.mjs +1 -0
  182. package/dist/preview-engine/{renderers-5UZ3YFBD.mjs → renderers-OPRXVIGT.mjs} +1 -1
  183. package/dist/preview-engine/{renderers-7C5RA3R5.mjs → renderers-OZKPOUMW.mjs} +1 -1
  184. package/dist/preview-engine/renderers-P4JJEDZB.mjs +1 -0
  185. package/dist/preview-engine/{renderers-V3AQO7AR.mjs → renderers-PGZDFDSC.mjs} +1 -1
  186. package/dist/preview-engine/renderers-Q4572F5C.mjs +1 -0
  187. package/dist/preview-engine/{renderers-PIIEUKFE.mjs → renderers-Q5YCUPYE.mjs} +1 -1
  188. package/dist/preview-engine/renderers-QAX2QWWQ.mjs +1 -0
  189. package/dist/preview-engine/{renderers-SEIAUKJF.mjs → renderers-RQ3JZE3L.mjs} +1 -1
  190. package/dist/preview-engine/renderers-SRFIEVWL.mjs +1 -0
  191. package/dist/preview-engine/renderers-SYC6WFTM.mjs +1 -0
  192. package/dist/preview-engine/{renderers-QA2HKUJJ.mjs → renderers-TKHQRERE.mjs} +1 -1
  193. package/dist/preview-engine/{renderers-A24KZK2Q.mjs → renderers-U4S577ON.mjs} +1 -1
  194. package/dist/preview-engine/{renderers-KC6ZSKCW.mjs → renderers-UBIFSF37.mjs} +1 -1
  195. package/dist/preview-engine/renderers-UH4WN3QN.mjs +1 -0
  196. package/dist/preview-engine/renderers-V4FFCAS7.mjs +1 -0
  197. package/dist/preview-engine/renderers-VGDEOZUU.mjs +1 -0
  198. package/dist/preview-engine/renderers-VJJKBX5K.mjs +1 -0
  199. package/dist/preview-engine/renderers-VJOKVDYW.mjs +1 -0
  200. package/dist/preview-engine/renderers-VUUWZUOH.mjs +1 -0
  201. package/dist/preview-engine/renderers-WG756VF3.mjs +228 -0
  202. package/dist/preview-engine/renderers-WOP5GOZP.mjs +1 -0
  203. package/dist/preview-engine/{renderers-T74CQCEN.mjs → renderers-XZ3XDQIN.mjs} +1 -1
  204. package/dist/preview-engine/renderers-Y4MGN2FR.mjs +1 -0
  205. package/dist/preview-engine/renderers-YAMYH7IK.mjs +1 -0
  206. package/dist/preview-engine/{renderers-MD3PRFZL.mjs → renderers-YJ4PJEPG.mjs} +1 -1
  207. package/dist/preview-engine/renderers-ZNLSAWW3.mjs +1 -0
  208. package/dist/preview-engine/{renderers-L6YDX6GS.mjs → renderers-ZQVKE5AO.mjs} +1 -1
  209. package/dist/preview-engine/signals.mjs +1 -1
  210. package/dist/preview-engine/{src-4IUYUKIZ.mjs → src-GPF7RIBU.mjs} +1 -1
  211. package/dist/{program-CKpKkllV.mjs → program-BUjUTdxq.mjs} +44 -17
  212. package/dist/program-BUjUTdxq.mjs.map +1 -0
  213. package/dist/registry/focus-zoom.json +9 -2
  214. package/dist/renderer/index.d.mts +4 -3
  215. package/dist/renderer/index.mjs +4 -4
  216. package/dist/{renderer-BF0hx_iJ.mjs → renderer--f8JHHyT.mjs} +5 -5
  217. package/dist/{renderer-BF0hx_iJ.mjs.map → renderer--f8JHHyT.mjs.map} +1 -1
  218. package/dist/{renderer-CHr7MiYW.mjs → renderer-1KgHl_ls.mjs} +5 -5
  219. package/dist/{renderer-CHr7MiYW.mjs.map → renderer-1KgHl_ls.mjs.map} +1 -1
  220. package/dist/renderer-6sNr6ZRJ.mjs +6 -0
  221. package/dist/{renderer-BgO6BA_z.mjs → renderer-7c0ecb-L.mjs} +74 -21
  222. package/dist/renderer-7c0ecb-L.mjs.map +1 -0
  223. package/dist/{renderer-D61B9bXF.mjs → renderer-7w9PZmWJ.mjs} +4 -4
  224. package/dist/{renderer-D61B9bXF.mjs.map → renderer-7w9PZmWJ.mjs.map} +1 -1
  225. package/dist/{renderer-DVCJjVn7.mjs → renderer-B3WHDQeB.mjs} +5 -5
  226. package/dist/{renderer-DVCJjVn7.mjs.map → renderer-B3WHDQeB.mjs.map} +1 -1
  227. package/dist/{renderer-C7eFJf0_.mjs → renderer-B84T5I98.mjs} +5 -5
  228. package/dist/{renderer-C7eFJf0_.mjs.map → renderer-B84T5I98.mjs.map} +1 -1
  229. package/dist/{renderer-EaLUCobW.mjs → renderer-B8i4d1Rc.mjs} +4 -4
  230. package/dist/{renderer-EaLUCobW.mjs.map → renderer-B8i4d1Rc.mjs.map} +1 -1
  231. package/dist/renderer-BDHGxD6p.mjs +5 -0
  232. package/dist/{renderer-WCZu2Rf5.mjs → renderer-BFmVDdVs.mjs} +4 -4
  233. package/dist/{renderer-WCZu2Rf5.mjs.map → renderer-BFmVDdVs.mjs.map} +1 -1
  234. package/dist/{renderer-bAKUeHF3.mjs → renderer-BG_cnGbF.mjs} +5 -5
  235. package/dist/{renderer-bAKUeHF3.mjs.map → renderer-BG_cnGbF.mjs.map} +1 -1
  236. package/dist/{renderer-BPWDsufX.mjs → renderer-BIToh0CA.mjs} +3 -3
  237. package/dist/{renderer-BPWDsufX.mjs.map → renderer-BIToh0CA.mjs.map} +1 -1
  238. package/dist/{renderer-mNSyac1V.mjs → renderer-BOg8i8eF.mjs} +11 -2
  239. package/dist/{renderer-mNSyac1V.mjs.map → renderer-BOg8i8eF.mjs.map} +1 -1
  240. package/dist/{renderer-BlPqTEii.mjs → renderer-BSW4CGZF.mjs} +4 -4
  241. package/dist/{renderer-BlPqTEii.mjs.map → renderer-BSW4CGZF.mjs.map} +1 -1
  242. package/dist/{renderer-D7Al3_-5.mjs → renderer-BT4im6c0.mjs} +5 -5
  243. package/dist/{renderer-D7Al3_-5.mjs.map → renderer-BT4im6c0.mjs.map} +1 -1
  244. package/dist/renderer-BT9dvpk2.mjs +5 -0
  245. package/dist/{renderer-BpIF1QIE.mjs → renderer-BTLZBD63.mjs} +5 -5
  246. package/dist/{renderer-BpIF1QIE.mjs.map → renderer-BTLZBD63.mjs.map} +1 -1
  247. package/dist/{renderer-CcvvoKiZ.mjs → renderer-Bb_HHUQ0.mjs} +5 -5
  248. package/dist/{renderer-CcvvoKiZ.mjs.map → renderer-Bb_HHUQ0.mjs.map} +1 -1
  249. package/dist/renderer-Bd-NuU3M.mjs +3 -0
  250. package/dist/{renderer-sCovEubT.mjs → renderer-BdRwbLLV.mjs} +4 -4
  251. package/dist/{renderer-sCovEubT.mjs.map → renderer-BdRwbLLV.mjs.map} +1 -1
  252. package/dist/{renderer-DNQvOrkY.mjs → renderer-BeJoW-nG.mjs} +5 -5
  253. package/dist/{renderer-DNQvOrkY.mjs.map → renderer-BeJoW-nG.mjs.map} +1 -1
  254. package/dist/renderer-BfaRh0qy.mjs +5 -0
  255. package/dist/{renderer-B522Dkdk.mjs → renderer-BhNZn2DU.mjs} +4 -4
  256. package/dist/{renderer-B522Dkdk.mjs.map → renderer-BhNZn2DU.mjs.map} +1 -1
  257. package/dist/{renderer-D47AEJE_.mjs → renderer-Bif8bwCq.mjs} +3 -3
  258. package/dist/{renderer-D47AEJE_.mjs.map → renderer-Bif8bwCq.mjs.map} +1 -1
  259. package/dist/renderer-BlwXKV7Y.mjs +5 -0
  260. package/dist/{renderer-CwFqqpWY.mjs → renderer-Bm91Xv6l.mjs} +4 -4
  261. package/dist/{renderer-CwFqqpWY.mjs.map → renderer-Bm91Xv6l.mjs.map} +1 -1
  262. package/dist/{renderer-SSBL4M1o.mjs → renderer-BnN3JH9u.mjs} +20 -7
  263. package/dist/renderer-BnN3JH9u.mjs.map +1 -0
  264. package/dist/{renderer-8QIwXh7O.mjs → renderer-Bo5GwErU.mjs} +6 -6
  265. package/dist/{renderer-8QIwXh7O.mjs.map → renderer-Bo5GwErU.mjs.map} +1 -1
  266. package/dist/{renderer-DF-yvIrV.mjs → renderer-Br_aJ_b7.mjs} +4 -4
  267. package/dist/{renderer-DF-yvIrV.mjs.map → renderer-Br_aJ_b7.mjs.map} +1 -1
  268. package/dist/{renderer-DmkWrWAk.mjs → renderer-BvRaVByi.mjs} +3 -3
  269. package/dist/{renderer-DmkWrWAk.mjs.map → renderer-BvRaVByi.mjs.map} +1 -1
  270. package/dist/renderer-C40yZK3x.mjs +5 -0
  271. package/dist/renderer-C5MjQ7L8.mjs +5 -0
  272. package/dist/renderer-C8LjKYnS.mjs +5 -0
  273. package/dist/renderer-C9q9H_qa.mjs +5 -0
  274. package/dist/renderer-CC4fhNup.mjs +3 -0
  275. package/dist/{renderer-GBmWjBvy.mjs → renderer-CDfCaqV4.mjs} +3 -3
  276. package/dist/{renderer-GBmWjBvy.mjs.map → renderer-CDfCaqV4.mjs.map} +1 -1
  277. package/dist/renderer-CF9ta9Rm.mjs +5 -0
  278. package/dist/{renderer-DkRSZg5g.mjs → renderer-CKlNHDKI.mjs} +5 -5
  279. package/dist/{renderer-DkRSZg5g.mjs.map → renderer-CKlNHDKI.mjs.map} +1 -1
  280. package/dist/{renderer-CYC32bDW.mjs → renderer-CLRrcT_3.mjs} +5 -5
  281. package/dist/{renderer-CYC32bDW.mjs.map → renderer-CLRrcT_3.mjs.map} +1 -1
  282. package/dist/{renderer-DpruWmZU.mjs → renderer-CO1PwItH.mjs} +4 -4
  283. package/dist/{renderer-DpruWmZU.mjs.map → renderer-CO1PwItH.mjs.map} +1 -1
  284. package/dist/renderer-CO205Gr9.mjs +5 -0
  285. package/dist/renderer-CSm8UXLP.mjs +5 -0
  286. package/dist/renderer-CSy8HRtF.mjs +5 -0
  287. package/dist/{renderer-pHWEHDnM.mjs → renderer-CTSvHf6g.mjs} +5 -5
  288. package/dist/{renderer-pHWEHDnM.mjs.map → renderer-CTSvHf6g.mjs.map} +1 -1
  289. package/dist/{renderer-hSCfnvaK.mjs → renderer-CWmlfdLb.mjs} +5 -5
  290. package/dist/{renderer-hSCfnvaK.mjs.map → renderer-CWmlfdLb.mjs.map} +1 -1
  291. package/dist/{renderer--fkmiVjl.mjs → renderer-CanNjQuL.mjs} +4 -4
  292. package/dist/{renderer--fkmiVjl.mjs.map → renderer-CanNjQuL.mjs.map} +1 -1
  293. package/dist/renderer-CdNRWDsA.mjs +5 -0
  294. package/dist/{renderer-DFzI3yI_.mjs → renderer-CeNAgCE2.mjs} +3 -3
  295. package/dist/{renderer-DFzI3yI_.mjs.map → renderer-CeNAgCE2.mjs.map} +1 -1
  296. package/dist/{renderer-BdyopiLC.mjs → renderer-Ch1qZ2PT.mjs} +4 -4
  297. package/dist/{renderer-BdyopiLC.mjs.map → renderer-Ch1qZ2PT.mjs.map} +1 -1
  298. package/dist/{renderer-CQvmbRQ5.mjs → renderer-Chfo4G9t.mjs} +5 -5
  299. package/dist/{renderer-CQvmbRQ5.mjs.map → renderer-Chfo4G9t.mjs.map} +1 -1
  300. package/dist/{renderer-DEmYyaqj.mjs → renderer-Ck-NLzz0.mjs} +4 -4
  301. package/dist/{renderer-DEmYyaqj.mjs.map → renderer-Ck-NLzz0.mjs.map} +1 -1
  302. package/dist/renderer-CkAjiGRB.mjs +5 -0
  303. package/dist/renderer-CmryuPBm.mjs +5 -0
  304. package/dist/renderer-CnEwne4L.mjs +5 -0
  305. package/dist/{renderer-BlvGcyAN.mjs → renderer-CsRuEpR2.mjs} +3 -3
  306. package/dist/{renderer-BlvGcyAN.mjs.map → renderer-CsRuEpR2.mjs.map} +1 -1
  307. package/dist/{renderer-SWr3vbrV.mjs → renderer-CtulmkqT.mjs} +3 -3
  308. package/dist/{renderer-SWr3vbrV.mjs.map → renderer-CtulmkqT.mjs.map} +1 -1
  309. package/dist/{renderer-DTqDy2m9.mjs → renderer-CwAuWLWm.mjs} +3 -3
  310. package/dist/{renderer-DTqDy2m9.mjs.map → renderer-CwAuWLWm.mjs.map} +1 -1
  311. package/dist/{renderer-B2jjxsjO.mjs → renderer-CxabOSkk.mjs} +4 -4
  312. package/dist/{renderer-B2jjxsjO.mjs.map → renderer-CxabOSkk.mjs.map} +1 -1
  313. package/dist/{renderer-DPAD6fL1.mjs → renderer-CybBR8AL.mjs} +425 -115
  314. package/dist/renderer-CybBR8AL.mjs.map +1 -0
  315. package/dist/{renderer-DO-KbpYZ.mjs → renderer-D1tDMuD0.mjs} +5 -5
  316. package/dist/{renderer-DO-KbpYZ.mjs.map → renderer-D1tDMuD0.mjs.map} +1 -1
  317. package/dist/renderer-D4QDoqOG.mjs +5 -0
  318. package/dist/{renderer-Bfk6A7UO.mjs → renderer-D7DlNOVi.mjs} +5 -5
  319. package/dist/{renderer-Bfk6A7UO.mjs.map → renderer-D7DlNOVi.mjs.map} +1 -1
  320. package/dist/renderer-D7cS2a8z.mjs +5 -0
  321. package/dist/{renderer-g_vrrAQU.mjs → renderer-D7lApyWZ.mjs} +3 -3
  322. package/dist/{renderer-g_vrrAQU.mjs.map → renderer-D7lApyWZ.mjs.map} +1 -1
  323. package/dist/renderer-D85CNC-b.mjs +5 -0
  324. package/dist/{renderer-DqvoMLca.mjs → renderer-DAfCcnCz.mjs} +5 -5
  325. package/dist/{renderer-DqvoMLca.mjs.map → renderer-DAfCcnCz.mjs.map} +1 -1
  326. package/dist/{renderer-D7r6onRT.mjs → renderer-DAug14gu.mjs} +4 -4
  327. package/dist/{renderer-D7r6onRT.mjs.map → renderer-DAug14gu.mjs.map} +1 -1
  328. package/dist/{renderer-DMvmf3T2.mjs → renderer-DBfx6QX1.mjs} +3 -3
  329. package/dist/renderer-DC9IoJNz.mjs +5 -0
  330. package/dist/renderer-DCMoBppL.mjs +1062 -0
  331. package/dist/renderer-DCMoBppL.mjs.map +1 -0
  332. package/dist/renderer-DIDh0gFm.mjs +5 -0
  333. package/dist/{renderer-DKgPVOLL.d.mts → renderer-DJuVX3c5.d.mts} +2 -2
  334. package/dist/{renderer-DKgPVOLL.d.mts.map → renderer-DJuVX3c5.d.mts.map} +1 -1
  335. package/dist/{renderer-sYSkIUfo.mjs → renderer-DKptrHeL.mjs} +5 -5
  336. package/dist/{renderer-sYSkIUfo.mjs.map → renderer-DKptrHeL.mjs.map} +1 -1
  337. package/dist/renderer-DLmJ9GWE.mjs +5 -0
  338. package/dist/renderer-DM7PUWP9.mjs +5 -0
  339. package/dist/{renderer-C41U1tK6.mjs → renderer-DMtzPqYo.mjs} +211 -72
  340. package/dist/renderer-DMtzPqYo.mjs.map +1 -0
  341. package/dist/renderer-DPWFDxIO.mjs +5 -0
  342. package/dist/renderer-DUCByhAk.mjs +5 -0
  343. package/dist/renderer-DVOtnCKH.mjs +5 -0
  344. package/dist/renderer-DVrN2bW8.mjs +5 -0
  345. package/dist/{renderer-zXPVLRlD.mjs → renderer-D_rEtJAH.mjs} +5 -5
  346. package/dist/{renderer-zXPVLRlD.mjs.map → renderer-D_rEtJAH.mjs.map} +1 -1
  347. package/dist/{renderer-BIGFP1cF.mjs → renderer-Dak_wVh9.mjs} +2 -2
  348. package/dist/{renderer-BIGFP1cF.mjs.map → renderer-Dak_wVh9.mjs.map} +1 -1
  349. package/dist/{renderer-DX41niRU.mjs → renderer-Dd2XrdqA.mjs} +4 -4
  350. package/dist/{renderer-DX41niRU.mjs.map → renderer-Dd2XrdqA.mjs.map} +1 -1
  351. package/dist/renderer-DdOVwfG4.mjs +5 -0
  352. package/dist/{renderer-1r-Uq-Ae.mjs → renderer-Dih1rtT6.mjs} +3 -3
  353. package/dist/{renderer-1r-Uq-Ae.mjs.map → renderer-Dih1rtT6.mjs.map} +1 -1
  354. package/dist/{renderer-BXJXziIt.mjs → renderer-DjiebKHO.mjs} +3 -3
  355. package/dist/{renderer-BXJXziIt.mjs.map → renderer-DjiebKHO.mjs.map} +1 -1
  356. package/dist/{renderer-DIw3UtEU.mjs → renderer-DkAFIpzB.mjs} +5 -5
  357. package/dist/{renderer-DIw3UtEU.mjs.map → renderer-DkAFIpzB.mjs.map} +1 -1
  358. package/dist/{renderer-DDEkFbVI.mjs → renderer-DlbSqOJR.mjs} +5 -5
  359. package/dist/{renderer-DDEkFbVI.mjs.map → renderer-DlbSqOJR.mjs.map} +1 -1
  360. package/dist/{renderer-C7L8Ceqr.mjs → renderer-DrExCXnp.mjs} +4 -4
  361. package/dist/{renderer-C7L8Ceqr.mjs.map → renderer-DrExCXnp.mjs.map} +1 -1
  362. package/dist/{renderer-_iMAO698.mjs → renderer-DsPLMzy1.mjs} +2 -2
  363. package/dist/{renderer-_iMAO698.mjs.map → renderer-DsPLMzy1.mjs.map} +1 -1
  364. package/dist/{renderer-BAYTI6jj.mjs → renderer-Dswrn-yi.mjs} +4 -4
  365. package/dist/{renderer-BAYTI6jj.mjs.map → renderer-Dswrn-yi.mjs.map} +1 -1
  366. package/dist/renderer-DtCe9ouu.mjs +5 -0
  367. package/dist/{renderer-DXEWbnRF.mjs → renderer-DtCmG-tT.mjs} +4 -4
  368. package/dist/{renderer-DXEWbnRF.mjs.map → renderer-DtCmG-tT.mjs.map} +1 -1
  369. package/dist/{renderer-B39I6CQw.mjs → renderer-DxiF4O6X.mjs} +4 -4
  370. package/dist/{renderer-B39I6CQw.mjs.map → renderer-DxiF4O6X.mjs.map} +1 -1
  371. package/dist/{renderer-BAusZ6Vu.mjs → renderer-DxkvDAA6.mjs} +4 -4
  372. package/dist/{renderer-BAusZ6Vu.mjs.map → renderer-DxkvDAA6.mjs.map} +1 -1
  373. package/dist/{renderer-ktWXVYka.mjs → renderer-FFLnACY-.mjs} +6 -6
  374. package/dist/{renderer-ktWXVYka.mjs.map → renderer-FFLnACY-.mjs.map} +1 -1
  375. package/dist/{renderer-Lth37j17.mjs → renderer-H4CZt3Z5.mjs} +3 -3
  376. package/dist/{renderer-B-ur0Ej8.mjs → renderer-JASAZUyY.mjs} +4 -4
  377. package/dist/{renderer-B-ur0Ej8.mjs.map → renderer-JASAZUyY.mjs.map} +1 -1
  378. package/dist/renderer-Mg0kr9Fm.mjs +5 -0
  379. package/dist/{renderer-CCycwCEB.mjs → renderer-R2kLaNuR.mjs} +3 -3
  380. package/dist/{renderer-CCycwCEB.mjs.map → renderer-R2kLaNuR.mjs.map} +1 -1
  381. package/dist/renderer-T35PsSw5.mjs +5 -0
  382. package/dist/{renderer-cod5Ona9.mjs → renderer-fWW0bsVl.mjs} +3 -3
  383. package/dist/renderer-iSZ5NT-J.mjs +5 -0
  384. package/dist/{renderer-oKRF4A0M.mjs → renderer-jBKpX3Xg.mjs} +4 -4
  385. package/dist/{renderer-oKRF4A0M.mjs.map → renderer-jBKpX3Xg.mjs.map} +1 -1
  386. package/dist/{renderer-Xv6GfNUI.mjs → renderer-kFx1_MmK.mjs} +3 -3
  387. package/dist/{renderer-Xv6GfNUI.mjs.map → renderer-kFx1_MmK.mjs.map} +1 -1
  388. package/dist/{renderer-DbRZe0Re.mjs → renderer-muB4slsV.mjs} +5 -5
  389. package/dist/{renderer-DbRZe0Re.mjs.map → renderer-muB4slsV.mjs.map} +1 -1
  390. package/dist/renderer-nEmMjQ1a.mjs +5 -0
  391. package/dist/{renderer-CpUJBOfb.mjs → renderer-oiDoNzhv.mjs} +3 -3
  392. package/dist/renderer-pG1nyfjE.mjs +5 -0
  393. package/dist/{renderer-BX7jS14r.d.mts → renderer-tcypOFaB.d.mts} +23 -4
  394. package/dist/renderer-tcypOFaB.d.mts.map +1 -0
  395. package/dist/{renderer-CiQhD8Gg.mjs → renderer-vPxMXiv8.mjs} +5 -5
  396. package/dist/{renderer-CiQhD8Gg.mjs.map → renderer-vPxMXiv8.mjs.map} +1 -1
  397. package/dist/renderer-vbb9e3E3.mjs +5 -0
  398. package/dist/{renderer-D8bBHrWC.mjs → renderer-vpsU_4XW.mjs} +5 -5
  399. package/dist/{renderer-D8bBHrWC.mjs.map → renderer-vpsU_4XW.mjs.map} +1 -1
  400. package/dist/{renderer-DiY70S8S.mjs → renderer-w7mlMSC-.mjs} +4 -4
  401. package/dist/{renderer-DiY70S8S.mjs.map → renderer-w7mlMSC-.mjs.map} +1 -1
  402. package/dist/{renderers-CP8CFWDs-DH2oktaC.mjs → renderers-CP8CFWDs-OgyUiyrr.mjs} +4 -4
  403. package/dist/{renderers-CP8CFWDs-DH2oktaC.mjs.map → renderers-CP8CFWDs-OgyUiyrr.mjs.map} +1 -1
  404. package/dist/sam/index.d.mts +4 -0
  405. package/dist/sam/index.mjs +3 -0
  406. package/dist/signals/index.d.mts +7 -6
  407. package/dist/signals/index.mjs +8 -8
  408. package/dist/{signals-CXwgAUp-.mjs → signals-BfJ1aqpT.mjs} +4 -4
  409. package/dist/{signals-CXwgAUp-.mjs.map → signals-BfJ1aqpT.mjs.map} +1 -1
  410. package/dist/{renderer-B2P1vgb7.mjs → src-BU6vm9sP-DFJ3phW0.mjs} +81 -1016
  411. package/dist/src-BU6vm9sP-DFJ3phW0.mjs.map +1 -0
  412. package/dist/{src-DFEqficI.mjs → src-C3f3zXYg.mjs} +251 -37
  413. package/dist/src-C3f3zXYg.mjs.map +1 -0
  414. package/package.json +75 -69
  415. package/dist/audio-Ccpl9mjV.d.mts.map +0 -1
  416. package/dist/dist-C1cCW7Bt.mjs.map +0 -1
  417. package/dist/dist-DVMepKaO.mjs.map +0 -1
  418. package/dist/gpu-CMaa63nz.mjs.map +0 -1
  419. package/dist/index-Bnh42ouE.d.mts.map +0 -1
  420. package/dist/index-CJL0JAU8.d.mts.map +0 -1
  421. package/dist/index-CQ-bbZk3.d.mts.map +0 -1
  422. package/dist/index-D5UDyVMb.d.mts.map +0 -1
  423. package/dist/preview-engine/chunk-4FY4TNST.mjs +0 -1
  424. package/dist/preview-engine/chunk-7LDSMOO3.mjs +0 -1
  425. package/dist/preview-engine/chunk-AGAZJZWI.mjs +0 -1
  426. package/dist/preview-engine/chunk-BXPM5SJ3.mjs +0 -1
  427. package/dist/preview-engine/chunk-D73ZKPFN.mjs +0 -138
  428. package/dist/preview-engine/chunk-FKG27DVO.mjs +0 -4
  429. package/dist/preview-engine/chunk-KOVN277Z.mjs +0 -1
  430. package/dist/preview-engine/chunk-KXLXP66K.mjs +0 -1974
  431. package/dist/preview-engine/chunk-MIEH74UH.mjs +0 -480
  432. package/dist/preview-engine/chunk-XYGDTPO7.mjs +0 -39
  433. package/dist/preview-engine/chunk-YGKO4NIU.mjs +0 -1
  434. package/dist/preview-engine/renderers-3BOQOUEU.mjs +0 -1
  435. package/dist/preview-engine/renderers-3M2FESR2.mjs +0 -1
  436. package/dist/preview-engine/renderers-6LHIWKMZ.mjs +0 -1
  437. package/dist/preview-engine/renderers-7XHO6M3B.mjs +0 -228
  438. package/dist/preview-engine/renderers-A43VCJ7X.mjs +0 -1
  439. package/dist/preview-engine/renderers-AKY464RY.mjs +0 -1
  440. package/dist/preview-engine/renderers-C5UO6PL5.mjs +0 -1
  441. package/dist/preview-engine/renderers-C64QSZO4.mjs +0 -1
  442. package/dist/preview-engine/renderers-CIRCR6NG.mjs +0 -1
  443. package/dist/preview-engine/renderers-CIWOPETY.mjs +0 -1
  444. package/dist/preview-engine/renderers-CZEZCELP.mjs +0 -1
  445. package/dist/preview-engine/renderers-FSQMWHQM.mjs +0 -1
  446. package/dist/preview-engine/renderers-FZEW5C23.mjs +0 -1
  447. package/dist/preview-engine/renderers-HCET2IML.mjs +0 -1
  448. package/dist/preview-engine/renderers-IUOOC6K7.mjs +0 -1
  449. package/dist/preview-engine/renderers-KYYJLVIJ.mjs +0 -1
  450. package/dist/preview-engine/renderers-L4GE7WV3.mjs +0 -1
  451. package/dist/preview-engine/renderers-LRAFWKCO.mjs +0 -1
  452. package/dist/preview-engine/renderers-LU3XZWEB.mjs +0 -1
  453. package/dist/preview-engine/renderers-MDHPQY6D.mjs +0 -1
  454. package/dist/preview-engine/renderers-ND2WV4K3.mjs +0 -1
  455. package/dist/preview-engine/renderers-NJ5CWVVH.mjs +0 -1
  456. package/dist/preview-engine/renderers-NKXYPR3V.mjs +0 -1
  457. package/dist/preview-engine/renderers-NWR66CGK.mjs +0 -1
  458. package/dist/preview-engine/renderers-O22WTBRM.mjs +0 -1
  459. package/dist/preview-engine/renderers-PBBA7LQB.mjs +0 -1
  460. package/dist/preview-engine/renderers-Q6LJRZ7R.mjs +0 -1
  461. package/dist/preview-engine/renderers-RMEACSRL.mjs +0 -1
  462. package/dist/preview-engine/renderers-SP42LCSI.mjs +0 -1
  463. package/dist/preview-engine/renderers-T7SZA3BX.mjs +0 -1
  464. package/dist/preview-engine/renderers-VADTDAHD.mjs +0 -1
  465. package/dist/preview-engine/renderers-VNNWI5C3.mjs +0 -1
  466. package/dist/preview-engine/renderers-WZ75MLP3.mjs +0 -1
  467. package/dist/preview-engine/renderers-XB5R4UQA.mjs +0 -1
  468. package/dist/preview-engine/renderers-YBIUZDGQ.mjs +0 -1
  469. package/dist/preview-engine/renderers-YESJR4O7.mjs +0 -1
  470. package/dist/preview-engine/renderers-YKSRZRRT.mjs +0 -1
  471. package/dist/program-CKpKkllV.mjs.map +0 -1
  472. package/dist/renderer--Ac-dg4A.mjs +0 -5
  473. package/dist/renderer--N7TMqzU.mjs +0 -5
  474. package/dist/renderer-2ecmdOae.mjs +0 -5
  475. package/dist/renderer-B2P1vgb7.mjs.map +0 -1
  476. package/dist/renderer-B5RJp5g-.mjs +0 -5
  477. package/dist/renderer-B7xyT1Vb.mjs +0 -5
  478. package/dist/renderer-BBeArN_x.mjs +0 -5
  479. package/dist/renderer-BCAZDu-r.mjs +0 -5
  480. package/dist/renderer-BJnhik7Y.mjs +0 -5
  481. package/dist/renderer-BX7jS14r.d.mts.map +0 -1
  482. package/dist/renderer-BgO6BA_z.mjs.map +0 -1
  483. package/dist/renderer-BxRW8MZO.mjs +0 -5
  484. package/dist/renderer-C-lfsEAN.mjs +0 -5
  485. package/dist/renderer-C41U1tK6.mjs.map +0 -1
  486. package/dist/renderer-C6nOFN4-.mjs +0 -5
  487. package/dist/renderer-C84TSQmS.mjs +0 -5
  488. package/dist/renderer-C8_6YofT.mjs +0 -5
  489. package/dist/renderer-COb3tOPG.mjs +0 -5
  490. package/dist/renderer-CSCIzaLy.mjs +0 -5
  491. package/dist/renderer-CmI4c8MS.mjs +0 -5
  492. package/dist/renderer-CqVltdX9.mjs +0 -5
  493. package/dist/renderer-D-FpMzLY.mjs +0 -5
  494. package/dist/renderer-D-Oyn9mG.mjs +0 -5
  495. package/dist/renderer-D2QrkA8_.mjs +0 -5
  496. package/dist/renderer-D5bjOx83.mjs +0 -3
  497. package/dist/renderer-D64r4iN-.mjs +0 -5
  498. package/dist/renderer-DCq6YkgP.mjs +0 -5
  499. package/dist/renderer-DDHG3GdR.mjs +0 -5
  500. package/dist/renderer-DMdNfcud.mjs +0 -6
  501. package/dist/renderer-DPAD6fL1.mjs.map +0 -1
  502. package/dist/renderer-DZQXZ4lK.mjs +0 -5
  503. package/dist/renderer-DczJJLA1.mjs +0 -5
  504. package/dist/renderer-DfqJj9oe.mjs +0 -5
  505. package/dist/renderer-DgO9ihVJ.mjs +0 -5
  506. package/dist/renderer-DhgnQZYb.mjs +0 -5
  507. package/dist/renderer-DjxKjHMf.mjs +0 -5
  508. package/dist/renderer-DnRDW2Oz.mjs +0 -3
  509. package/dist/renderer-DqLA5cdR.mjs +0 -5
  510. package/dist/renderer-Dudp6ZlH.mjs +0 -5
  511. package/dist/renderer-SSBL4M1o.mjs.map +0 -1
  512. package/dist/renderer-_jC5KIT1.mjs +0 -5
  513. package/dist/renderer-cTgAuVmJ.mjs +0 -5
  514. package/dist/renderer-nVKDvDLO.mjs +0 -5
  515. package/dist/renderer-pZ6_pUo1.mjs +0 -5
  516. package/dist/src-DFEqficI.mjs.map +0 -1
  517. /package/dist/{chunk-BcJoO4Nm.mjs → chunk-W71TSjRM.mjs} +0 -0
  518. /package/dist/{renderer-COqFNSfV.mjs → renderer-B6rZUBwE.mjs} +0 -0
package/dist/cli.mjs CHANGED
@@ -1,8 +1,9 @@
1
1
  #!/usr/bin/env node
2
- import { t as failedCheck } from "./check-result-C3jlgV2i.mjs";
2
+ import { i as renderCloud, t as CloudRenderError } from "./cloud-xcfV4J03.mjs";
3
+ import { t as failedCheck } from "./check-result-Culfu7Nx.mjs";
3
4
  import { createRequire } from "node:module";
4
5
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
5
- import { basename, dirname, join, posix, relative, resolve, sep } from "node:path";
6
+ import path, { basename, dirname, join, posix, relative, resolve, sep } from "node:path";
6
7
  import { createHash } from "node:crypto";
7
8
  import { fileURLToPath, pathToFileURL } from "node:url";
8
9
  import { spawn } from "node:child_process";
@@ -373,7 +374,8 @@ const SCRIPTS = {
373
374
  frames: "tsx src/render.ts frames",
374
375
  grid: "tsx src/render.ts grid",
375
376
  preview: "tsx src/render.ts preview",
376
- render: "tsx src/render.ts"
377
+ render: "tsx src/render.ts",
378
+ "render:cloud": "framefields render src/film.ts --cloud --workers auto"
377
379
  };
378
380
  /**
379
381
  * The `package.json` fields a framefields project needs. npm reads
@@ -570,6 +572,7 @@ ${run("frames")} -- 0 30 60 # PNGs in output/
570
572
  ${run("grid")} # a contact sheet of the motion
571
573
  ${run("preview")} # play it in the browser
572
574
  ${run("render")} # output/output.mp4
575
+ ${run("render:cloud")} # on cloud GPUs, from the pushed commit
573
576
  \`\`\`
574
577
 
575
578
  - \`src/film.ts\` builds the composition, \`src/theme.ts\` holds sizes, colors and fonts,
@@ -578,6 +581,9 @@ ${run("render")} # output/output.mp4
578
581
  one into \`src/components/\`.
579
582
  - Optional: the AI gateway generates images, video, music, voice and 3D from code. Copy
580
583
  \`.env.example\` to \`.env\` and set \`FRAMEFIELDS_API_KEY\` (keys at ${AI_DASHBOARD}).
584
+ - \`render:cloud\` renders on framefields' GPUs with the same key, and splits a long film
585
+ across several (\`-- --plan\` shows workers, time and cost first). It renders the
586
+ commit you pushed, not uncommitted changes.
581
587
  - Footage, audio and fonts live in \`assets/\` and are tracked with Git LFS
582
588
  (\`git lfs install\` once per machine, \`git lfs pull\` after cloning).
583
589
  `;
@@ -863,6 +869,131 @@ function isCheckReport(value) {
863
869
  return typeof value === "object" && value !== null && "schemaVersion" in value && value.schemaVersion === 1 && "diagnostics" in value && Array.isArray(value.diagnostics);
864
870
  }
865
871
 
872
+ //#endregion
873
+ //#region src/cli/cloud.ts
874
+ /**
875
+ * `framefields render <entry> --cloud`: renders the project on
876
+ * api.framefields.dev and downloads the video. Prints one plain line per
877
+ * phase, and a progress line at most every 10 seconds while frames render.
878
+ */
879
+ const PROGRESS_EVERY_MS = 1e4;
880
+ async function runCloudRender(o, log, render = renderCloud) {
881
+ const workers = parseWorkers(o.workers);
882
+ if (workers === void 0) {
883
+ log(`--workers must be "auto" or a positive whole number, not "${o.workers}".`);
884
+ return 2;
885
+ }
886
+ if (o.codec && o.codec !== "h264" && o.codec !== "vp9") {
887
+ log(`--codec must be h264 or vp9, not "${o.codec}".`);
888
+ return 2;
889
+ }
890
+ const codec = o.codec ?? "h264";
891
+ const outputPath = o.output ?? path.join("output", `${path.basename(o.entry).replace(/\.[^.]+$/, "")}.${codec === "vp9" ? "webm" : "mp4"}`);
892
+ const controller = new AbortController();
893
+ const onSigint = () => {
894
+ log("Cancelling the cloud render…");
895
+ controller.abort(/* @__PURE__ */ new Error("cancelled"));
896
+ };
897
+ process.once("SIGINT", onSigint);
898
+ const started = Date.now();
899
+ const narrate = narrator(o.json ? () => {} : log, Date.now);
900
+ try {
901
+ const result = await render({
902
+ entry: o.entry,
903
+ export: o.export,
904
+ select: o.select,
905
+ workers: o.plan && workers === 1 ? "auto" : workers,
906
+ maxWorkers: o.maxWorkers ? Number(o.maxWorkers) : void 0,
907
+ codec,
908
+ quality: o.quality,
909
+ dryRun: o.plan,
910
+ outputPath: o.plan ? void 0 : outputPath,
911
+ signal: controller.signal,
912
+ onProgress: narrate,
913
+ onWarning: (m) => log(`warning: ${m}`)
914
+ });
915
+ if (o.json) {
916
+ log(JSON.stringify(result));
917
+ return 0;
918
+ }
919
+ if (result.status === "planned") {
920
+ log(`Render it: framefields render ${o.entry} --cloud --workers ${o.workers ?? "auto"}`);
921
+ return 0;
922
+ }
923
+ const bytes = result.output?.bytes;
924
+ log(`Done in ${duration((Date.now() - started) / 1e3)}: ${outputPath}${bytes ? ` (${(bytes / 1e6).toFixed(1)} MB)` : ""}, ${Math.round(result.gpuSeconds)} GPU seconds, ${usd(result.costUsd)}.`);
925
+ return 0;
926
+ } catch (err) {
927
+ if (err instanceof CloudRenderError) {
928
+ log(err.message);
929
+ if (err.status && err.status.costUsd > 0) log(`Charged ${usd(err.status.costUsd)} for the GPU time used.`);
930
+ if (err.code === "insufficient_credits") log("Top up at https://framefields.dev/dashboard/billing");
931
+ return 1;
932
+ }
933
+ throw err;
934
+ } finally {
935
+ process.removeListener("SIGINT", onSigint);
936
+ }
937
+ }
938
+ function parseWorkers(value) {
939
+ if (value === void 0) return 1;
940
+ if (value === "auto") return "auto";
941
+ const n = Number(value);
942
+ return Number.isInteger(n) && n >= 1 ? n : void 0;
943
+ }
944
+ /** Turns status polls into log lines: one per phase, throttled frame progress. */
945
+ function narrator(log, now) {
946
+ let phase;
947
+ let planned = false;
948
+ let lastProgress = 0;
949
+ return (s) => {
950
+ if (!phase) log(`Cloud render ${s.id} started.`);
951
+ if (s.plan && !planned) {
952
+ planned = true;
953
+ log(describePlan(s));
954
+ }
955
+ if (s.status !== phase) {
956
+ phase = s.status;
957
+ const line = phaseLine(s);
958
+ if (line) log(line);
959
+ lastProgress = now();
960
+ return;
961
+ }
962
+ if (s.status === "rendering" && now() - lastProgress >= PROGRESS_EVERY_MS) {
963
+ lastProgress = now();
964
+ log(progressLine(s));
965
+ }
966
+ };
967
+ }
968
+ function describePlan(s) {
969
+ const plan = s.plan;
970
+ if (!plan) return "";
971
+ const est = s.estimateUsd !== void 0 ? `, estimated ${usd(s.estimateUsd)}` : "";
972
+ return `Plan: ${plan.workers} ${plan.workers === 1 ? "worker" : "workers"}, ${duration(plan.workSec)} of render work, ready in about ${duration(plan.etaSec)}${est}.`;
973
+ }
974
+ function phaseLine(s) {
975
+ switch (s.status) {
976
+ case "probing": return "Measuring frame costs on one worker to plan the split…";
977
+ case "rendering": return s.workers > 1 ? `Rendering ${s.workers} chunks and the audio in parallel…` : "Rendering on one worker…";
978
+ case "stitching": return `Joining ${s.workers} chunks…`;
979
+ default: return;
980
+ }
981
+ }
982
+ function progressLine(s) {
983
+ const { frames, totalFrames, etaSec } = s.progress;
984
+ return `Rendering ${totalFrames ? `${Math.floor(frames / totalFrames * 100)}% (${frames}/${totalFrames} frames)` : `${frames} frames`}${etaSec ? `, about ${duration(etaSec)} left` : ""}, ${usd(s.costUsd)} so far.`;
985
+ }
986
+ function duration(sec) {
987
+ const s = Math.max(0, Math.round(sec));
988
+ if (s < 90) return `${s} s`;
989
+ const m = Math.round(s / 60);
990
+ if (m < 90) return `${m} min`;
991
+ return `${Math.floor(m / 60)} h ${m % 60} min`;
992
+ }
993
+ function usd(value) {
994
+ return value > 0 && value < .01 ? "<$0.01" : `$${value.toFixed(2)}`;
995
+ }
996
+
866
997
  //#endregion
867
998
  //#region src/cli/registry.ts
868
999
  /**
@@ -913,6 +1044,7 @@ function openRegistry(source, cwd = process.cwd()) {
913
1044
  * npx framefields list the components you can add
914
1045
  * npx framefields fonts add <role...> install fonts (emoji)
915
1046
  * npx framefields fonts list the fonts you can install
1047
+ * npx framefields render <entry> --cloud render on api.framefields.dev
916
1048
  */
917
1049
  const HELP = `Usage: framefields <command> [options]
918
1050
 
@@ -932,6 +1064,10 @@ Commands:
932
1064
  Install fonts (pinned, hash-checked, with their license)
933
1065
  and register them in the generated <components>/fonts.ts.
934
1066
  fonts list List the fonts you can install.
1067
+ render <entry> --cloud
1068
+ Render on api.framefields.dev from the pushed commit of
1069
+ this git repo, and download the video. Needs
1070
+ FRAMEFIELDS_API_KEY. --export defaults to buildFilm.
935
1071
 
936
1072
  Options for check:
937
1073
  --export <name> Composition or builder export (default buildFilm).
@@ -941,6 +1077,20 @@ Options for check:
941
1077
  --warnings-as-errors Fail on lint warnings.
942
1078
  --json Machine-readable check, component list, or font list result.
943
1079
 
1080
+ Options for render --cloud:
1081
+ --workers <n|auto> 1 (default) renders on one GPU. auto measures the film
1082
+ first and splits it across as many GPUs as stay
1083
+ efficient; a number splits it into that many.
1084
+ --max-workers <n> Upper bound for auto.
1085
+ --plan Measure and plan only: prints workers, time and the
1086
+ estimated cost, renders nothing.
1087
+ --output <file> Where the video goes (default output/<entry>.mp4).
1088
+ --codec <codec> h264 (default) or vp9.
1089
+ --quality <q> very_low, low, high or very_high (default).
1090
+ --select <name> When the export returns several compositions.
1091
+ --json Print the final status as JSON.
1092
+ Ctrl-C cancels the render; GPU time already used is charged.
1093
+
944
1094
  Options for init:
945
1095
  --name <name> Package name (default: the folder's name).
946
1096
  --pm <manager> npm, pnpm, yarn or bun (default: the one running this).
@@ -968,6 +1118,7 @@ Examples:
968
1118
  npx framefields init my-film --install
969
1119
  npx framefields add mouse-pointer focus-zoom
970
1120
  npx framefields fonts add emoji
1121
+ npx framefields render src/film.ts --cloud --workers auto --plan
971
1122
  `;
972
1123
  async function main(argv) {
973
1124
  const { values, positionals } = parseArgs({
@@ -992,6 +1143,13 @@ async function main(argv) {
992
1143
  output: { type: "string" },
993
1144
  timeout: { type: "string" },
994
1145
  "warnings-as-errors": { type: "boolean" },
1146
+ cloud: { type: "boolean" },
1147
+ workers: { type: "string" },
1148
+ "max-workers": { type: "string" },
1149
+ plan: { type: "boolean" },
1150
+ codec: { type: "string" },
1151
+ quality: { type: "string" },
1152
+ select: { type: "string" },
995
1153
  help: {
996
1154
  type: "boolean",
997
1155
  short: "h"
@@ -1034,6 +1192,24 @@ async function main(argv) {
1034
1192
  }
1035
1193
  return report$1.status === "passed" ? 0 : 1;
1036
1194
  }
1195
+ if (command === "render") {
1196
+ if (names.length !== 1 || !values.cloud) {
1197
+ process.stderr.write("Usage: framefields render <entry> --cloud [--workers auto] [--plan]\nLocal renders run your project's render script (`npm run render`).\n");
1198
+ return 2;
1199
+ }
1200
+ return runCloudRender({
1201
+ entry: names[0],
1202
+ export: values.export,
1203
+ select: values.select,
1204
+ workers: values.workers,
1205
+ maxWorkers: values["max-workers"],
1206
+ codec: values.codec,
1207
+ quality: values.quality,
1208
+ output: values.output,
1209
+ plan: values.plan,
1210
+ json: values.json
1211
+ }, log);
1212
+ }
1037
1213
  if (command === "fonts") return fonts(names, cwd, values, log);
1038
1214
  if (command === "init") {
1039
1215
  if (names.length > 1) {