framefields 2.9.0 → 2.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/NOTICE.md +14 -0
  2. package/README.md +1 -5
  3. package/dist/audio/index.d.mts +5 -4
  4. package/dist/audio/index.mjs +13 -13
  5. package/dist/{audio-BfQg37MW.mjs → audio-B6RmYOPe.mjs} +4 -4
  6. package/dist/{audio-BfQg37MW.mjs.map → audio-B6RmYOPe.mjs.map} +1 -1
  7. package/dist/{audio-a0MFkK6J.mjs → audio-BlDbnteH.mjs} +1 -1
  8. package/dist/{audio-a0MFkK6J.mjs.map → audio-BlDbnteH.mjs.map} +1 -1
  9. package/dist/{audio-Ccpl9mjV.d.mts → audio-D6tBMbHh.d.mts} +4 -3
  10. package/dist/audio-D6tBMbHh.d.mts.map +1 -0
  11. package/dist/{check-result-C3jlgV2i.mjs → check-result-Bj7g62ka.mjs} +1 -1
  12. package/dist/{check-result-C3jlgV2i.mjs.map → check-result-Bj7g62ka.mjs.map} +1 -1
  13. package/dist/cli/check-worker.mjs +50 -50
  14. package/dist/cli.mjs +1 -1
  15. package/dist/components/index.d.mts +14 -11
  16. package/dist/components/index.mjs +47 -47
  17. package/dist/dist-BlulwErl.mjs +3 -0
  18. package/dist/{dist-BlIrsfcn.mjs → dist-ByxHoMQI.mjs} +1 -1
  19. package/dist/{dist-BlIrsfcn.mjs.map → dist-ByxHoMQI.mjs.map} +1 -1
  20. package/dist/{dist-Buaaj-Ul.mjs → dist-Cn8bDsQF.mjs} +1 -1
  21. package/dist/{dist-Buaaj-Ul.mjs.map → dist-Cn8bDsQF.mjs.map} +1 -1
  22. package/dist/{dist-C1cCW7Bt.mjs → dist-D12-a3-x.mjs} +3 -3
  23. package/dist/{dist-C1cCW7Bt.mjs.map → dist-D12-a3-x.mjs.map} +1 -1
  24. package/dist/{dist-C8Xq3zgx.mjs → dist-DEUU6sNe.mjs} +4 -4
  25. package/dist/{dist-C8Xq3zgx.mjs.map → dist-DEUU6sNe.mjs.map} +1 -1
  26. package/dist/{dist-DVMepKaO.mjs → dist-DL1GwJvs.mjs} +2 -2
  27. package/dist/{dist-DVMepKaO.mjs.map → dist-DL1GwJvs.mjs.map} +1 -1
  28. package/dist/dist-Dq5TkNDI.mjs +1434 -0
  29. package/dist/dist-Dq5TkNDI.mjs.map +1 -0
  30. package/dist/effects/index.d.mts +6 -4
  31. package/dist/effects/index.mjs +36 -36
  32. package/dist/{effects-CemgqEPv.mjs → effects-CViUoQSV.mjs} +3 -3
  33. package/dist/{effects-CemgqEPv.mjs.map → effects-CViUoQSV.mjs.map} +1 -1
  34. package/dist/fonts/index.d.mts +1 -1
  35. package/dist/fonts/index.mjs +3 -3
  36. package/dist/{fonts-BW0pPcvJ.mjs → fonts-B0U2KO5I.mjs} +2 -2
  37. package/dist/{fonts-BW0pPcvJ.mjs.map → fonts-B0U2KO5I.mjs.map} +1 -1
  38. package/dist/{gpu-CMaa63nz.mjs → gpu-zFNrvhV9.mjs} +2 -2
  39. package/dist/{gpu-CMaa63nz.mjs.map → gpu-zFNrvhV9.mjs.map} +1 -1
  40. package/dist/index-9_4X2ro1.d.mts +2402 -0
  41. package/dist/index-9_4X2ro1.d.mts.map +1 -0
  42. package/dist/{index-CZjrnylh.d.mts → index-B9Lm1x8i.d.mts} +662 -640
  43. package/dist/index-B9Lm1x8i.d.mts.map +1 -0
  44. package/dist/{index-BfDFmIBE.d.mts → index-BuYtrhzL.d.mts} +1 -1
  45. package/dist/{index-BfDFmIBE.d.mts.map → index-BuYtrhzL.d.mts.map} +1 -1
  46. package/dist/{index-D5UDyVMb.d.mts → index-Bzo1uj8h.d.mts} +4 -2401
  47. package/dist/index-Bzo1uj8h.d.mts.map +1 -0
  48. package/dist/{index-Du5YgdzM.d.mts → index-C6GcuYVA.d.mts} +6 -1151
  49. package/dist/index-C6GcuYVA.d.mts.map +1 -0
  50. package/dist/{index-BIjMAW1h.d.mts → index-CgGM31I9.d.mts} +2 -2
  51. package/dist/{index-BIjMAW1h.d.mts.map → index-CgGM31I9.d.mts.map} +1 -1
  52. package/dist/index-DBhswLMO.d.mts +330 -0
  53. package/dist/index-DBhswLMO.d.mts.map +1 -0
  54. package/dist/{index-CJL0JAU8.d.mts → index-V0ZQ4JN6.d.mts} +2 -2
  55. package/dist/{index-CJL0JAU8.d.mts.map → index-V0ZQ4JN6.d.mts.map} +1 -1
  56. package/dist/{index-7Z9_a_iB.d.mts → index-f4IF1vRH.d.mts} +3 -3
  57. package/dist/{index-7Z9_a_iB.d.mts.map → index-f4IF1vRH.d.mts.map} +1 -1
  58. package/dist/index-svAgwTY_.d.mts +1163 -0
  59. package/dist/index-svAgwTY_.d.mts.map +1 -0
  60. package/dist/{index-CFoAmh7q.d.mts → index-w28KUM9A.d.mts} +3 -3
  61. package/dist/{index-CFoAmh7q.d.mts.map → index-w28KUM9A.d.mts.map} +1 -1
  62. package/dist/index.d.mts +15 -12
  63. package/dist/index.mjs +58 -57
  64. package/dist/preview/index.d.mts +4 -3
  65. package/dist/preview/index.mjs +12 -12
  66. package/dist/{preview-BQVgn6Ho.mjs → preview-ZKJ_zTmd.mjs} +3 -3
  67. package/dist/{preview-BQVgn6Ho.mjs.map → preview-ZKJ_zTmd.mjs.map} +1 -1
  68. package/dist/preview-engine/{chunk-GEUUXTDL.mjs → chunk-D73ZKPFN.mjs} +4 -4
  69. package/dist/preview-engine/{chunk-UQKPDGEH.mjs → chunk-EJJITH6U.mjs} +1 -1
  70. package/dist/preview-engine/{chunk-374QY63R.mjs → chunk-Q62GPWGD.mjs} +23 -23
  71. package/dist/preview-engine/chunk-XYGDTPO7.mjs +39 -0
  72. package/dist/preview-engine/components.mjs +1 -1
  73. package/dist/preview-engine/effects.mjs +1 -1
  74. package/dist/preview-engine/framefields.mjs +1 -1
  75. package/dist/preview-engine/player.mjs +1 -1
  76. package/dist/preview-engine/{renderers-O55BEDQZ.mjs → renderers-MDHPQY6D.mjs} +1 -1
  77. package/dist/preview-engine/src-4IUYUKIZ.mjs +8 -0
  78. package/dist/{program-CKpKkllV.mjs → program-xjIwjKb6.mjs} +4 -4
  79. package/dist/{program-CKpKkllV.mjs.map → program-xjIwjKb6.mjs.map} +1 -1
  80. package/dist/renderer/index.d.mts +3 -2
  81. package/dist/renderer/index.mjs +3 -3
  82. package/dist/renderer-129U3pc9.mjs +5 -0
  83. package/dist/renderer-2phFTFxQ.mjs +5 -0
  84. package/dist/{renderer-Bfk6A7UO.mjs → renderer-5qJPGvVL.mjs} +5 -5
  85. package/dist/{renderer-Bfk6A7UO.mjs.map → renderer-5qJPGvVL.mjs.map} +1 -1
  86. package/dist/renderer-9muKpDeE.mjs +5 -0
  87. package/dist/{renderer-B522Dkdk.mjs → renderer-AUK_ZS3p.mjs} +4 -4
  88. package/dist/{renderer-B522Dkdk.mjs.map → renderer-AUK_ZS3p.mjs.map} +1 -1
  89. package/dist/{renderer-DKgPVOLL.d.mts → renderer-B-inTgyb.d.mts} +2 -2
  90. package/dist/{renderer-DKgPVOLL.d.mts.map → renderer-B-inTgyb.d.mts.map} +1 -1
  91. package/dist/{renderer-BF0hx_iJ.mjs → renderer-B3IRvukr.mjs} +5 -5
  92. package/dist/{renderer-BF0hx_iJ.mjs.map → renderer-B3IRvukr.mjs.map} +1 -1
  93. package/dist/renderer-B5Dhv6j9.mjs +5 -0
  94. package/dist/{renderer-DO-KbpYZ.mjs → renderer-B6TjJi1g.mjs} +5 -5
  95. package/dist/{renderer-DO-KbpYZ.mjs.map → renderer-B6TjJi1g.mjs.map} +1 -1
  96. package/dist/{renderer-D61B9bXF.mjs → renderer-B78W9uad.mjs} +4 -4
  97. package/dist/{renderer-D61B9bXF.mjs.map → renderer-B78W9uad.mjs.map} +1 -1
  98. package/dist/{renderer-BPWDsufX.mjs → renderer-B7kOF_Az.mjs} +3 -3
  99. package/dist/{renderer-BPWDsufX.mjs.map → renderer-B7kOF_Az.mjs.map} +1 -1
  100. package/dist/renderer-BBUgCS3C.mjs +5 -0
  101. package/dist/{renderer-C7eFJf0_.mjs → renderer-BG6bkKtY.mjs} +5 -5
  102. package/dist/{renderer-C7eFJf0_.mjs.map → renderer-BG6bkKtY.mjs.map} +1 -1
  103. package/dist/{renderer-B39I6CQw.mjs → renderer-BJKzZwyn.mjs} +4 -4
  104. package/dist/{renderer-B39I6CQw.mjs.map → renderer-BJKzZwyn.mjs.map} +1 -1
  105. package/dist/{renderer-DqvoMLca.mjs → renderer-BJQt0RiZ.mjs} +5 -5
  106. package/dist/{renderer-DqvoMLca.mjs.map → renderer-BJQt0RiZ.mjs.map} +1 -1
  107. package/dist/renderer-BKXM28Mx.mjs +5 -0
  108. package/dist/renderer-BKqm6xdf.mjs +5 -0
  109. package/dist/{renderer-DiY70S8S.mjs → renderer-BMP_lYMk.mjs} +4 -4
  110. package/dist/{renderer-DiY70S8S.mjs.map → renderer-BMP_lYMk.mjs.map} +1 -1
  111. package/dist/renderer-BMfMMf0R.mjs +5 -0
  112. package/dist/{renderer-DkRSZg5g.mjs → renderer-BNbMi9CI.mjs} +5 -5
  113. package/dist/{renderer-DkRSZg5g.mjs.map → renderer-BNbMi9CI.mjs.map} +1 -1
  114. package/dist/{renderer-D7Al3_-5.mjs → renderer-BPYIqtNg.mjs} +5 -5
  115. package/dist/{renderer-D7Al3_-5.mjs.map → renderer-BPYIqtNg.mjs.map} +1 -1
  116. package/dist/renderer-BPsjEnnl.mjs +5 -0
  117. package/dist/{renderer-DDEkFbVI.mjs → renderer-BQOeeXTr.mjs} +5 -5
  118. package/dist/{renderer-DDEkFbVI.mjs.map → renderer-BQOeeXTr.mjs.map} +1 -1
  119. package/dist/{renderer-GBmWjBvy.mjs → renderer-BRWjLiHX.mjs} +3 -3
  120. package/dist/{renderer-GBmWjBvy.mjs.map → renderer-BRWjLiHX.mjs.map} +1 -1
  121. package/dist/{renderer-_iMAO698.mjs → renderer-BVql26Ay.mjs} +2 -2
  122. package/dist/{renderer-_iMAO698.mjs.map → renderer-BVql26Ay.mjs.map} +1 -1
  123. package/dist/{renderer-CHr7MiYW.mjs → renderer-BWMzjSgf.mjs} +5 -5
  124. package/dist/{renderer-CHr7MiYW.mjs.map → renderer-BWMzjSgf.mjs.map} +1 -1
  125. package/dist/{renderer-pHWEHDnM.mjs → renderer-BYqrtBvd.mjs} +5 -5
  126. package/dist/{renderer-pHWEHDnM.mjs.map → renderer-BYqrtBvd.mjs.map} +1 -1
  127. package/dist/{renderer-CwFqqpWY.mjs → renderer-BZmmekE8.mjs} +4 -4
  128. package/dist/{renderer-CwFqqpWY.mjs.map → renderer-BZmmekE8.mjs.map} +1 -1
  129. package/dist/{renderer-D47AEJE_.mjs → renderer-BcO7LUla.mjs} +3 -3
  130. package/dist/{renderer-D47AEJE_.mjs.map → renderer-BcO7LUla.mjs.map} +1 -1
  131. package/dist/{renderer-BlvGcyAN.mjs → renderer-BdbI_u9w.mjs} +3 -3
  132. package/dist/{renderer-BlvGcyAN.mjs.map → renderer-BdbI_u9w.mjs.map} +1 -1
  133. package/dist/{renderer-DsEyjwfT.mjs → renderer-Be5hfwSd.mjs} +74 -74
  134. package/dist/{renderer-DsEyjwfT.mjs.map → renderer-Be5hfwSd.mjs.map} +1 -1
  135. package/dist/{renderer-BAYTI6jj.mjs → renderer-BfbSvElt.mjs} +4 -4
  136. package/dist/{renderer-BAYTI6jj.mjs.map → renderer-BfbSvElt.mjs.map} +1 -1
  137. package/dist/{renderer-BpIF1QIE.mjs → renderer-BgDLCCuq.mjs} +5 -5
  138. package/dist/{renderer-BpIF1QIE.mjs.map → renderer-BgDLCCuq.mjs.map} +1 -1
  139. package/dist/renderer-Bofr6f88.mjs +6 -0
  140. package/dist/renderer-BqoGcujR.mjs +5 -0
  141. package/dist/renderer-BvuBt2aH.mjs +5 -0
  142. package/dist/renderer-BxTgXHu1.mjs +5 -0
  143. package/dist/renderer-Bz2Rrz60.mjs +5 -0
  144. package/dist/{renderer-g_vrrAQU.mjs → renderer-C06U4c9k.mjs} +3 -3
  145. package/dist/{renderer-g_vrrAQU.mjs.map → renderer-C06U4c9k.mjs.map} +1 -1
  146. package/dist/{renderer-D7r6onRT.mjs → renderer-C3Iev6zu.mjs} +4 -4
  147. package/dist/{renderer-D7r6onRT.mjs.map → renderer-C3Iev6zu.mjs.map} +1 -1
  148. package/dist/{renderer-CpUJBOfb.mjs → renderer-C3tVrzyT.mjs} +3 -3
  149. package/dist/{renderer-SWr3vbrV.mjs → renderer-C4yKI8MT.mjs} +3 -3
  150. package/dist/{renderer-SWr3vbrV.mjs.map → renderer-C4yKI8MT.mjs.map} +1 -1
  151. package/dist/{renderer-Xv6GfNUI.mjs → renderer-C6st34I6.mjs} +3 -3
  152. package/dist/{renderer-Xv6GfNUI.mjs.map → renderer-C6st34I6.mjs.map} +1 -1
  153. package/dist/{renderer-sCovEubT.mjs → renderer-C7MAqpIS.mjs} +4 -4
  154. package/dist/{renderer-sCovEubT.mjs.map → renderer-C7MAqpIS.mjs.map} +1 -1
  155. package/dist/renderer-CBjG8rjE.mjs +5 -0
  156. package/dist/{renderer-BAusZ6Vu.mjs → renderer-CCFHnafT.mjs} +4 -4
  157. package/dist/{renderer-BAusZ6Vu.mjs.map → renderer-CCFHnafT.mjs.map} +1 -1
  158. package/dist/{renderer-DVCJjVn7.mjs → renderer-CDVb4OfJ.mjs} +5 -5
  159. package/dist/{renderer-DVCJjVn7.mjs.map → renderer-CDVb4OfJ.mjs.map} +1 -1
  160. package/dist/{renderer-DpruWmZU.mjs → renderer-CEfVvcw-.mjs} +4 -4
  161. package/dist/{renderer-DpruWmZU.mjs.map → renderer-CEfVvcw-.mjs.map} +1 -1
  162. package/dist/{renderer-DbRZe0Re.mjs → renderer-CIB5L_C4.mjs} +5 -5
  163. package/dist/{renderer-DbRZe0Re.mjs.map → renderer-CIB5L_C4.mjs.map} +1 -1
  164. package/dist/{renderer-ktWXVYka.mjs → renderer-CPTXJs0n.mjs} +6 -6
  165. package/dist/{renderer-ktWXVYka.mjs.map → renderer-CPTXJs0n.mjs.map} +1 -1
  166. package/dist/renderer-CS2zyPyZ.mjs +5 -0
  167. package/dist/{renderer-CcvvoKiZ.mjs → renderer-CUBDxuxh.mjs} +5 -5
  168. package/dist/{renderer-CcvvoKiZ.mjs.map → renderer-CUBDxuxh.mjs.map} +1 -1
  169. package/dist/renderer-CWLF6cAz.mjs +1008 -0
  170. package/dist/renderer-CWLF6cAz.mjs.map +1 -0
  171. package/dist/{renderer-EaLUCobW.mjs → renderer-CXLugAe8.mjs} +4 -4
  172. package/dist/{renderer-EaLUCobW.mjs.map → renderer-CXLugAe8.mjs.map} +1 -1
  173. package/dist/renderer-CXnbl_jR.mjs +5 -0
  174. package/dist/{renderer-C7L8Ceqr.mjs → renderer-CYX9vKZ-.mjs} +4 -4
  175. package/dist/{renderer-C7L8Ceqr.mjs.map → renderer-CYX9vKZ-.mjs.map} +1 -1
  176. package/dist/{renderer-8QIwXh7O.mjs → renderer-C_2UDMEG.mjs} +6 -6
  177. package/dist/{renderer-8QIwXh7O.mjs.map → renderer-C_2UDMEG.mjs.map} +1 -1
  178. package/dist/renderer-CaF9vod_.mjs +5 -0
  179. package/dist/renderer-CbSBH3lp.mjs +5 -0
  180. package/dist/{renderer-B2jjxsjO.mjs → renderer-CbhnJi_8.mjs} +4 -4
  181. package/dist/{renderer-B2jjxsjO.mjs.map → renderer-CbhnJi_8.mjs.map} +1 -1
  182. package/dist/{renderer-BdyopiLC.mjs → renderer-CcJyD9Q5.mjs} +4 -4
  183. package/dist/{renderer-BdyopiLC.mjs.map → renderer-CcJyD9Q5.mjs.map} +1 -1
  184. package/dist/renderer-CdjuGRbO.mjs +5 -0
  185. package/dist/{renderer-DF-yvIrV.mjs → renderer-Cl8r1LJe.mjs} +4 -4
  186. package/dist/{renderer-DF-yvIrV.mjs.map → renderer-Cl8r1LJe.mjs.map} +1 -1
  187. package/dist/renderer-CoLbxC13.mjs +5 -0
  188. package/dist/{renderer-BgO6BA_z.mjs → renderer-CpedZNEG.mjs} +3 -3
  189. package/dist/{renderer-BgO6BA_z.mjs.map → renderer-CpedZNEG.mjs.map} +1 -1
  190. package/dist/renderer-Cr9G0dXB.mjs +5 -0
  191. package/dist/{renderer-bAKUeHF3.mjs → renderer-CwVbHki6.mjs} +5 -5
  192. package/dist/{renderer-bAKUeHF3.mjs.map → renderer-CwVbHki6.mjs.map} +1 -1
  193. package/dist/{renderer-DTqDy2m9.mjs → renderer-CyCtm0UV.mjs} +3 -3
  194. package/dist/{renderer-DTqDy2m9.mjs.map → renderer-CyCtm0UV.mjs.map} +1 -1
  195. package/dist/{renderer-CYC32bDW.mjs → renderer-D1VsqFf4.mjs} +5 -5
  196. package/dist/{renderer-CYC32bDW.mjs.map → renderer-D1VsqFf4.mjs.map} +1 -1
  197. package/dist/{renderer-CCycwCEB.mjs → renderer-D2TTDcgh.mjs} +3 -3
  198. package/dist/{renderer-CCycwCEB.mjs.map → renderer-D2TTDcgh.mjs.map} +1 -1
  199. package/dist/renderer-D63l6_UC.mjs +5 -0
  200. package/dist/renderer-DCJqnzER.mjs +5 -0
  201. package/dist/{renderer-cod5Ona9.mjs → renderer-DEQeONTd.mjs} +3 -3
  202. package/dist/renderer-DFBOR5J3.mjs +5 -0
  203. package/dist/renderer-DGAZSzw6.mjs +5 -0
  204. package/dist/{renderer-oKRF4A0M.mjs → renderer-DH7l5WFr.mjs} +4 -4
  205. package/dist/{renderer-oKRF4A0M.mjs.map → renderer-DH7l5WFr.mjs.map} +1 -1
  206. package/dist/{renderer-DNQvOrkY.mjs → renderer-DIEmK57T.mjs} +5 -5
  207. package/dist/{renderer-DNQvOrkY.mjs.map → renderer-DIEmK57T.mjs.map} +1 -1
  208. package/dist/{renderer-DEmYyaqj.mjs → renderer-DIqkhsLI.mjs} +4 -4
  209. package/dist/{renderer-DEmYyaqj.mjs.map → renderer-DIqkhsLI.mjs.map} +1 -1
  210. package/dist/{renderer-DX41niRU.mjs → renderer-DOKHd37M.mjs} +4 -4
  211. package/dist/{renderer-DX41niRU.mjs.map → renderer-DOKHd37M.mjs.map} +1 -1
  212. package/dist/renderer-DPLGk1Qk.mjs +5 -0
  213. package/dist/renderer-DTCUzByS.mjs +5 -0
  214. package/dist/{renderer-BXJXziIt.mjs → renderer-DW7hbluw.mjs} +3 -3
  215. package/dist/{renderer-BXJXziIt.mjs.map → renderer-DW7hbluw.mjs.map} +1 -1
  216. package/dist/{renderer--fkmiVjl.mjs → renderer-Dat8opUZ.mjs} +4 -4
  217. package/dist/{renderer--fkmiVjl.mjs.map → renderer-Dat8opUZ.mjs.map} +1 -1
  218. package/dist/renderer-DdGahYi1.mjs +5 -0
  219. package/dist/{renderer-DmkWrWAk.mjs → renderer-Dee8ksIV.mjs} +3 -3
  220. package/dist/{renderer-DmkWrWAk.mjs.map → renderer-Dee8ksIV.mjs.map} +1 -1
  221. package/dist/renderer-DhL4nNPk.mjs +5 -0
  222. package/dist/renderer-DkyTbiVz.mjs +3 -0
  223. package/dist/renderer-DnAZweRX.mjs +5 -0
  224. package/dist/{renderer-BX7jS14r.d.mts → renderer-DoPEPlbG.d.mts} +3 -2
  225. package/dist/{renderer-BX7jS14r.d.mts.map → renderer-DoPEPlbG.d.mts.map} +1 -1
  226. package/dist/renderer-DpisVnT2.mjs +5 -0
  227. package/dist/{renderer-mNSyac1V.mjs → renderer-DrWeb39d.mjs} +1 -1
  228. package/dist/{renderer-mNSyac1V.mjs.map → renderer-DrWeb39d.mjs.map} +1 -1
  229. package/dist/renderer-Ds7pAKnE.mjs +3 -0
  230. package/dist/{renderer-CiQhD8Gg.mjs → renderer-Dss7T71q.mjs} +5 -5
  231. package/dist/{renderer-CiQhD8Gg.mjs.map → renderer-Dss7T71q.mjs.map} +1 -1
  232. package/dist/{renderer-C41U1tK6.mjs → renderer-Du-GnKLb.mjs} +9 -9
  233. package/dist/{renderer-C41U1tK6.mjs.map → renderer-Du-GnKLb.mjs.map} +1 -1
  234. package/dist/renderer-DxZD5B54.mjs +5 -0
  235. package/dist/{renderer-WCZu2Rf5.mjs → renderer-ESkPj6pk.mjs} +4 -4
  236. package/dist/{renderer-WCZu2Rf5.mjs.map → renderer-ESkPj6pk.mjs.map} +1 -1
  237. package/dist/{renderer-DMvmf3T2.mjs → renderer-F1D9ZJ8I.mjs} +3 -3
  238. package/dist/{renderer-BlPqTEii.mjs → renderer-HnSiwSW8.mjs} +4 -4
  239. package/dist/{renderer-BlPqTEii.mjs.map → renderer-HnSiwSW8.mjs.map} +1 -1
  240. package/dist/{renderer-1r-Uq-Ae.mjs → renderer-IQ97z2rw.mjs} +3 -3
  241. package/dist/{renderer-1r-Uq-Ae.mjs.map → renderer-IQ97z2rw.mjs.map} +1 -1
  242. package/dist/{renderer-DFzI3yI_.mjs → renderer-NTCk1Srf.mjs} +3 -3
  243. package/dist/{renderer-DFzI3yI_.mjs.map → renderer-NTCk1Srf.mjs.map} +1 -1
  244. package/dist/{renderer-D8bBHrWC.mjs → renderer-OsQRvOle.mjs} +5 -5
  245. package/dist/{renderer-D8bBHrWC.mjs.map → renderer-OsQRvOle.mjs.map} +1 -1
  246. package/dist/renderer-PMHOnbnA.mjs +5 -0
  247. package/dist/renderer-STufNpMx.mjs +5 -0
  248. package/dist/renderer-SdrgfCxH.mjs +5 -0
  249. package/dist/{renderer-Lth37j17.mjs → renderer-US4GsamT.mjs} +3 -3
  250. package/dist/{renderer-zXPVLRlD.mjs → renderer-VhkubIx_.mjs} +5 -5
  251. package/dist/{renderer-zXPVLRlD.mjs.map → renderer-VhkubIx_.mjs.map} +1 -1
  252. package/dist/{renderer-DIw3UtEU.mjs → renderer-bbaMOD4I.mjs} +5 -5
  253. package/dist/{renderer-DIw3UtEU.mjs.map → renderer-bbaMOD4I.mjs.map} +1 -1
  254. package/dist/{renderer-hSCfnvaK.mjs → renderer-eT7Gp7FS.mjs} +5 -5
  255. package/dist/{renderer-hSCfnvaK.mjs.map → renderer-eT7Gp7FS.mjs.map} +1 -1
  256. package/dist/{renderer-CQvmbRQ5.mjs → renderer-g7fF2AYk.mjs} +5 -5
  257. package/dist/{renderer-CQvmbRQ5.mjs.map → renderer-g7fF2AYk.mjs.map} +1 -1
  258. package/dist/{renderer-B-ur0Ej8.mjs → renderer-mLlgfM7X.mjs} +4 -4
  259. package/dist/{renderer-B-ur0Ej8.mjs.map → renderer-mLlgfM7X.mjs.map} +1 -1
  260. package/dist/{renderer-SSBL4M1o.mjs → renderer-mQt-y49D.mjs} +5 -5
  261. package/dist/{renderer-SSBL4M1o.mjs.map → renderer-mQt-y49D.mjs.map} +1 -1
  262. package/dist/{renderer-BIGFP1cF.mjs → renderer-q4zMFfnY.mjs} +2 -2
  263. package/dist/{renderer-BIGFP1cF.mjs.map → renderer-q4zMFfnY.mjs.map} +1 -1
  264. package/dist/{renderer-DXEWbnRF.mjs → renderer-sPI7aY6c.mjs} +4 -4
  265. package/dist/{renderer-DXEWbnRF.mjs.map → renderer-sPI7aY6c.mjs.map} +1 -1
  266. package/dist/{renderer-sYSkIUfo.mjs → renderer-xDV2cCkX.mjs} +5 -5
  267. package/dist/{renderer-sYSkIUfo.mjs.map → renderer-xDV2cCkX.mjs.map} +1 -1
  268. package/dist/{renderers-CP8CFWDs-DH2oktaC.mjs → renderers-CP8CFWDs-BH1gUTYa.mjs} +4 -4
  269. package/dist/{renderers-CP8CFWDs-DH2oktaC.mjs.map → renderers-CP8CFWDs-BH1gUTYa.mjs.map} +1 -1
  270. package/dist/sam/index.d.mts +4 -0
  271. package/dist/sam/index.mjs +3 -0
  272. package/dist/signals/index.d.mts +7 -6
  273. package/dist/signals/index.mjs +8 -8
  274. package/dist/{signals-CXwgAUp-.mjs → signals-gOd0Ui9B.mjs} +4 -4
  275. package/dist/{signals-CXwgAUp-.mjs.map → signals-gOd0Ui9B.mjs.map} +1 -1
  276. package/dist/{src-CK5rGVbh.mjs → src-BU1VOWSk.mjs} +81 -39
  277. package/dist/src-BU1VOWSk.mjs.map +1 -0
  278. package/dist/{renderer-B0piZg9r.mjs → src-Bnr8DUC--DzkRGA62.mjs} +12 -993
  279. package/dist/src-Bnr8DUC--DzkRGA62.mjs.map +1 -0
  280. package/package.json +69 -69
  281. package/dist/audio-Ccpl9mjV.d.mts.map +0 -1
  282. package/dist/index-CZjrnylh.d.mts.map +0 -1
  283. package/dist/index-D5UDyVMb.d.mts.map +0 -1
  284. package/dist/index-Du5YgdzM.d.mts.map +0 -1
  285. package/dist/preview-engine/chunk-CCB3VTY2.mjs +0 -39
  286. package/dist/preview-engine/src-NGVAJYHC.mjs +0 -8
  287. package/dist/renderer--Ac-dg4A.mjs +0 -5
  288. package/dist/renderer--N7TMqzU.mjs +0 -5
  289. package/dist/renderer-2ecmdOae.mjs +0 -5
  290. package/dist/renderer-B0piZg9r.mjs.map +0 -1
  291. package/dist/renderer-B5RJp5g-.mjs +0 -5
  292. package/dist/renderer-B7xyT1Vb.mjs +0 -5
  293. package/dist/renderer-BBeArN_x.mjs +0 -5
  294. package/dist/renderer-BCAZDu-r.mjs +0 -5
  295. package/dist/renderer-BJnhik7Y.mjs +0 -5
  296. package/dist/renderer-BxRW8MZO.mjs +0 -5
  297. package/dist/renderer-C-lfsEAN.mjs +0 -5
  298. package/dist/renderer-C6nOFN4-.mjs +0 -5
  299. package/dist/renderer-C84TSQmS.mjs +0 -5
  300. package/dist/renderer-C8_6YofT.mjs +0 -5
  301. package/dist/renderer-COR66Sby.mjs +0 -3
  302. package/dist/renderer-COb3tOPG.mjs +0 -5
  303. package/dist/renderer-CSCIzaLy.mjs +0 -5
  304. package/dist/renderer-CmI4c8MS.mjs +0 -5
  305. package/dist/renderer-CqVltdX9.mjs +0 -5
  306. package/dist/renderer-D-FpMzLY.mjs +0 -5
  307. package/dist/renderer-D-Oyn9mG.mjs +0 -5
  308. package/dist/renderer-D2QrkA8_.mjs +0 -5
  309. package/dist/renderer-D64r4iN-.mjs +0 -5
  310. package/dist/renderer-DCq6YkgP.mjs +0 -5
  311. package/dist/renderer-DDHG3GdR.mjs +0 -5
  312. package/dist/renderer-DMdNfcud.mjs +0 -6
  313. package/dist/renderer-DZQXZ4lK.mjs +0 -5
  314. package/dist/renderer-DczJJLA1.mjs +0 -5
  315. package/dist/renderer-DfqJj9oe.mjs +0 -5
  316. package/dist/renderer-DgO9ihVJ.mjs +0 -5
  317. package/dist/renderer-DhgnQZYb.mjs +0 -5
  318. package/dist/renderer-DjxKjHMf.mjs +0 -5
  319. package/dist/renderer-DnRDW2Oz.mjs +0 -3
  320. package/dist/renderer-DqLA5cdR.mjs +0 -5
  321. package/dist/renderer-Dudp6ZlH.mjs +0 -5
  322. package/dist/renderer-_jC5KIT1.mjs +0 -5
  323. package/dist/renderer-cTgAuVmJ.mjs +0 -5
  324. package/dist/renderer-nVKDvDLO.mjs +0 -5
  325. package/dist/renderer-pZ6_pUo1.mjs +0 -5
  326. package/dist/src-CK5rGVbh.mjs.map +0 -1
  327. /package/dist/{chunk-BcJoO4Nm.mjs → chunk-D8S17ehY.mjs} +0 -0
  328. /package/dist/{renderer-COqFNSfV.mjs → renderer-Cputd36d.mjs} +0 -0
@@ -1,13 +1,14 @@
1
- import { $o as VirtualMediaData, A as RingGeometryOptions, B as SphereGeometryOptions, Bi as FrameContext, Ca as MeshAudioDeformConfig, E as PolyhedronGeometryOptions, H as TubeGeometryOptions, Ha as NormalRelightingOptions, Hi as FrameSignal, Io as TextSpan, Lt as KineticMarqueeConfig, Oi as EffectDomain, P as ShardGeometryOptions, Pr as Path3D, R as SlugFontCache, T as Points3DGeometryOptions, Ti as Effect$1, U as TubePathSpec, V as TorusGeometryOptions, _ as Line3DGeometryOptions, _i as DataType, ao as ResolvedMediaTimeRemap, ct as AdvancedTextAnimator, d as CylinderGeometryOptions, eo as ProgrammaticSignal, g as LatheGeometryOptions, hn as TextPathOptions, io as RenderDiagnostic, j as RoundedBoxGeometryOptions, kn as TypewriterAnimator, ma as MediaSourceInput, ot as AETextAnimator, p as ExtrudeShapeGeometryOptions, rs as VisionTask, sa as MediaMetadata, u as CapsuleGeometryOptions, uo as Signal, va as MediaTimeRemapInput, xa as MediaTimeSignalRemap, xi as DeflickerOptions } from "./index-D5UDyVMb.mjs";
2
- import { i as RegisterFontOptions } from "./index-BfDFmIBE.mjs";
3
- import { $n as ResizerScalerProps, $t as FlipProps, An as Paint, At as CameraParallax3DProps, B as PBRGlass, Bn as Pixelate, Bt as ContourProps, C as GradientMapProps, Cn as MeshWarp, Ct as AudioParametricEq, D as HalftoneScreen, Dn as NoiseGeneratorProps, Dt as CRT, Ei as TensorPipeline, En as NoiseGenerator, Et as AudioReverbProps, F as LevelsProps, Fn as Painterly, Ft as ColorBalance, G as SSAOProps, Gn as ProceduralVFXProps, Gt as DatamoshProps, H as Relight3D, Hn as Posterize, I as Modulate, In as PainterlyProps, It as ColorBalanceProps, J as SelectiveColorProps, Jn as RefineEdge, Jr as ClipSubjectSource, Jt as Dither, K as SelectiveColor, Kn as RGBSplit, Kr as COCO17_KEYPOINT_NAMES, Kt as DisplacementMap, L as ModulateProps, Ln as PatchHeal, Lt as ColorKey, M as HighPassProps, Mt as ChannelMergerProps, Nt as ChannelSplitter, O as HalftoneScreenProps, On as OpArt, Ot as CRTProps, P as Levels, Pt as ChannelSplitterProps, Q as TileOffset, Qn as ResizerScaler, Qt as Flip, R as MotionBlur, Rt as ColorKeyProps, S as GradientMap, Sn as MaskMathProps, St as AudioNoiseGateProps, Tn as MeshWarpProps, Tt as AudioReverb, U as Relight3DProps, Un as PosterizeProps, Ut as CornerPinProps, V as PBRGlassProps, Vn as PixelateProps, Vt as CornerPin, W as SSAO, Wn as ProceduralVFX, Wt as Datamosh, X as ShadowsHighlightsProps, Xn as RefractionCaustics3D, Xr as LandmarkCoordinateSignals, Xt as ExtractLUT, Y as ShadowsHighlights, Yn as RefineEdgeProps, Yr as InstanceMask, Yt as DitherProps, Z as TemporalDeflicker, Zn as RefractionCaustics3DProps, Zr as MaskTrackSignals, Zt as ExtractLUTProps, _t as AudioDelay, a as ApplyLUTProps, ai as PinToLandmarkOptions, an as KaleidoscopeProps, ar as Toon, b as FilmGrain, bn as LiquifyProps, bt as AudioFadeProps, c as Crop, cn as KenBurnsProps, cr as TrailsProps, dr as EffectProp, dt as Blur, en as Gooey, er as Rotate, et as TileOffsetProps, f as CurvesProps, ft as BlurProps, g as DepthOfFieldProps, gi as VisionNode, gn as LayerStyleProps, gt as AudioCompressorProps, h as DepthOfField, hi as VisionBundle, ht as AudioCompressor, i as ApplyLUT, in as Kaleidoscope, it as VisionProps, j as HighPass, jn as PaintProps, jt as ChannelMerger, kn as OpArtProps, kt as CameraParallax3D, l as CropProps, ln as LayerStyle, lr as Vignette, m as DeflickerProps, mi as VisionAnalysisReport, mt as AsciiProps, n as AnyEffect, nn as Iridescence, nr as StereoPanning, nt as UnsharpMaskProps, oi as PinToObjectOptions, on as KenBurns, or as ToonProps, p as CustomEffect, pt as Ascii, qn as RGBSplitProps, qt as DisplacementMapProps, r as AnyVisualEffect, ri as ObjectTrackSignals, rn as IridescenceProps, rr as StereoPanningProps, rt as Vision, sr as Trails, t as AnyAudioEffect, tn as GooeyProps, tr as RotateProps, tt as UnsharpMask, u as Curves, ur as VignetteProps, vn as Liquify, vt as AudioDelayProps, wt as AudioParametricEqProps, x as FilmGrainProps, xn as MaskMath, xt as AudioNoiseGate, yt as AudioFade, z as MotionBlurProps, zn as PatchHealProps, zt as Contour } from "./index-Du5YgdzM.mjs";
4
- import { c as HeadlessMediaRenderer, f as RenderProgress, m as VideoQaReport, p as VideoQaOptions, t as FrameGridOptions } from "./index-CJL0JAU8.mjs";
1
+ import { $ as FrameSignal, $t as NormalRelightingOptions, I as Effect$1, M as DeflickerOptions, Mt as MediaTimeSignalRemap, O as DataType, Pt as MeshAudioDeformConfig, Tt as MediaSourceInput, Z as FrameContext, dn as ProgrammaticSignal, gn as ResolvedMediaTimeRemap, hn as RenderDiagnostic, kt as MediaTimeRemapInput, mr as VisionTask, qn as TextSpan, ur as VirtualMediaData, vt as MediaMetadata, xn as Signal, z as EffectDomain } from "./index-9_4X2ro1.mjs";
2
+ import { A as RingGeometryOptions, B as SphereGeometryOptions, E as PolyhedronGeometryOptions, H as TubeGeometryOptions, Lt as KineticMarqueeConfig, P as ShardGeometryOptions, Pr as Path3D, R as SlugFontCache, T as Points3DGeometryOptions, U as TubePathSpec, V as TorusGeometryOptions, _ as Line3DGeometryOptions, ct as AdvancedTextAnimator, d as CylinderGeometryOptions, g as LatheGeometryOptions, hn as TextPathOptions, j as RoundedBoxGeometryOptions, kn as TypewriterAnimator, ot as AETextAnimator, p as ExtrudeShapeGeometryOptions, u as CapsuleGeometryOptions } from "./index-Bzo1uj8h.mjs";
3
+ import { i as RegisterFontOptions } from "./index-BuYtrhzL.mjs";
4
+ import { D as VisionAnalysisReport, O as VisionBundle, P as VisionNode, _ as PinToLandmarkOptions, a as ClipPose, c as LandmarkCoordinateSignals, h as ObjectTrackSignals, l as MaskTrackSignals, o as ClipSubjectSource, q as TensorPipeline, r as COCO17_KEYPOINT_NAMES, s as InstanceMask, v as PinToObjectOptions } from "./index-svAgwTY_.mjs";
5
+ import { S as Sam3Options, p as Sam2Options } from "./index-DBhswLMO.mjs";
6
+ import { $n as ResizerScalerProps, $t as FlipProps, An as Paint, At as CameraParallax3DProps, B as PBRGlass, Bn as Pixelate, Bt as ContourProps, C as GradientMapProps, Cn as MeshWarp, Ct as AudioParametricEq, D as HalftoneScreen, Dn as NoiseGeneratorProps, Dt as CRT, En as NoiseGenerator, Et as AudioReverbProps, F as LevelsProps, Fn as Painterly, Ft as ColorBalance, G as SSAOProps, Gn as ProceduralVFXProps, Gt as DatamoshProps, H as Relight3D, Hn as Posterize, I as Modulate, In as PainterlyProps, It as ColorBalanceProps, J as SelectiveColorProps, Jn as RefineEdge, Jt as Dither, K as SelectiveColor, Kn as RGBSplit, Kt as DisplacementMap, L as ModulateProps, Ln as PatchHeal, Lt as ColorKey, M as HighPassProps, Mt as ChannelMergerProps, Nt as ChannelSplitter, O as HalftoneScreenProps, On as OpArt, Ot as CRTProps, P as Levels, Pt as ChannelSplitterProps, Q as TileOffset, Qn as ResizerScaler, Qt as Flip, R as MotionBlur, Rt as ColorKeyProps, S as GradientMap, Sn as MaskMathProps, St as AudioNoiseGateProps, Tn as MeshWarpProps, Tt as AudioReverb, U as Relight3DProps, Un as PosterizeProps, Ut as CornerPinProps, V as PBRGlassProps, Vn as PixelateProps, Vt as CornerPin, W as SSAO, Wn as ProceduralVFX, Wt as Datamosh, X as ShadowsHighlightsProps, Xn as RefractionCaustics3D, Xt as ExtractLUT, Y as ShadowsHighlights, Yn as RefineEdgeProps, Yt as DitherProps, Z as TemporalDeflicker, Zn as RefractionCaustics3DProps, Zt as ExtractLUTProps, _t as AudioDelay, a as ApplyLUTProps, an as KaleidoscopeProps, ar as Toon, b as FilmGrain, bn as LiquifyProps, bt as AudioFadeProps, c as Crop, cn as KenBurnsProps, cr as TrailsProps, dr as EffectProp, dt as Blur, en as Gooey, er as Rotate, et as TileOffsetProps, f as CurvesProps, ft as BlurProps, g as DepthOfFieldProps, gn as LayerStyleProps, gt as AudioCompressorProps, h as DepthOfField, ht as AudioCompressor, i as ApplyLUT, in as Kaleidoscope, it as VisionProps, j as HighPass, jn as PaintProps, jt as ChannelMerger, kn as OpArtProps, kt as CameraParallax3D, l as CropProps, ln as LayerStyle, lr as Vignette, m as DeflickerProps, mt as AsciiProps, n as AnyEffect, nn as Iridescence, nr as StereoPanning, nt as UnsharpMaskProps, on as KenBurns, or as ToonProps, p as CustomEffect, pt as Ascii, qn as RGBSplitProps, qt as DisplacementMapProps, r as AnyVisualEffect, rn as IridescenceProps, rr as StereoPanningProps, rt as Vision, sr as Trails, t as AnyAudioEffect, tn as GooeyProps, tr as RotateProps, tt as UnsharpMask, u as Curves, ur as VignetteProps, vn as Liquify, vt as AudioDelayProps, wt as AudioParametricEqProps, x as FilmGrainProps, xn as MaskMath, xt as AudioNoiseGate, yt as AudioFade, z as MotionBlurProps, zn as PatchHealProps, zt as Contour } from "./index-C6GcuYVA.mjs";
7
+ import { c as HeadlessMediaRenderer, f as RenderProgress, m as VideoQaReport, p as VideoQaOptions, t as FrameGridOptions } from "./index-V0ZQ4JN6.mjs";
5
8
  import { z, z as z$2 } from "zod";
6
9
  import { Yoga } from "yoga-layout/load";
7
- import { Sam2FrameResult, Sam2Model, Sam2Options, Sam2Options as Sam2Options$1, Sam2Point, Sam2Prompt, Sam3Options, Sam3Options as Sam3Options$1, Sam3Precision, Sam3Prompt } from "@framefields/vision-sam";
8
10
 
9
11
  //#region ../compositions/dist/program/index.d.mts
10
-
11
12
  //#region src/program/schema.d.ts
12
13
  /** number px | "auto" (intrinsic) | "fit" (shrink-wrap) | "fill" (parent extent). */
13
14
  declare const SizeSpecSchema: z.ZodUnion<readonly [z.ZodNumber, z.ZodEnum<{
@@ -36,38 +37,38 @@ type ProgramEffect = Effect$1<object, string, EffectDomain> | EffectSpec | (Reco
36
37
  declare const AnimatablePropSchema: z.ZodEnum<{
37
38
  x: "x";
38
39
  y: "y";
39
- scale: "scale";
40
- rotation: "rotation";
41
- opacity: "opacity";
42
40
  width: "width";
43
41
  height: "height";
42
+ rotation: "rotation";
43
+ scale: "scale";
44
+ opacity: "opacity";
45
+ trimStart: "trimStart";
46
+ trimEnd: "trimEnd";
47
+ text: "text";
48
+ fontSize: "fontSize";
49
+ fill: "fill";
50
+ letterSpacing: "letterSpacing";
51
+ padding: "padding";
52
+ strokeWidth: "strokeWidth";
53
+ borderColor: "borderColor";
54
+ borderWidth: "borderWidth";
44
55
  volume: "volume";
56
+ color: "color";
57
+ offset: "offset";
45
58
  hidden: "hidden";
46
59
  muted: "muted";
47
60
  gap: "gap";
48
- padding: "padding";
49
61
  borderRadius: "borderRadius";
50
- fontSize: "fontSize";
51
- text: "text";
52
- fill: "fill";
53
- color: "color";
54
- letterSpacing: "letterSpacing";
55
62
  d: "d";
56
- trimStart: "trimStart";
57
- trimEnd: "trimEnd";
58
63
  trimOffset: "trimOffset";
59
- strokeWidth: "strokeWidth";
60
64
  strokeDashOffset: "strokeDashOffset";
61
65
  cornerRadius: "cornerRadius";
62
66
  starInnerRadiusRatio: "starInnerRadiusRatio";
63
67
  fillColor: "fillColor";
64
68
  strokeColor: "strokeColor";
65
- borderColor: "borderColor";
66
- borderWidth: "borderWidth";
67
69
  motionBlurShutter: "motionBlurShutter";
68
70
  rangeStart: "rangeStart";
69
71
  rangeEnd: "rangeEnd";
70
- offset: "offset";
71
72
  animatorRangeStart: "animatorRangeStart";
72
73
  animatorRangeEnd: "animatorRangeEnd";
73
74
  animatorOffset: "animatorOffset";
@@ -177,6 +178,7 @@ declare const MaterialTypeSchema: z.ZodEnum<{
177
178
  type MaterialType = z.infer<typeof MaterialTypeSchema>;
178
179
  declare const EaseRefSchema: z.ZodObject<{
179
180
  name: z.ZodEnum<{
181
+ bounce: "bounce";
180
182
  none: "none";
181
183
  power1: "power1";
182
184
  power2: "power2";
@@ -186,7 +188,6 @@ declare const EaseRefSchema: z.ZodObject<{
186
188
  expo: "expo";
187
189
  back: "back";
188
190
  elastic: "elastic";
189
- bounce: "bounce";
190
191
  spring: "spring";
191
192
  cubic: "cubic";
192
193
  hold: "hold";
@@ -205,6 +206,7 @@ declare const KeyframeSchema: z.ZodObject<{
205
206
  value: z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean, z.ZodString]>;
206
207
  ease: z.ZodOptional<z.ZodObject<{
207
208
  name: z.ZodEnum<{
209
+ bounce: "bounce";
208
210
  none: "none";
209
211
  power1: "power1";
210
212
  power2: "power2";
@@ -214,7 +216,6 @@ declare const KeyframeSchema: z.ZodObject<{
214
216
  expo: "expo";
215
217
  back: "back";
216
218
  elastic: "elastic";
217
- bounce: "bounce";
218
219
  spring: "spring";
219
220
  cubic: "cubic";
220
221
  hold: "hold";
@@ -280,38 +281,38 @@ declare const AnimationTrackSchema: z.ZodObject<{
280
281
  prop: z.ZodEnum<{
281
282
  x: "x";
282
283
  y: "y";
283
- scale: "scale";
284
- rotation: "rotation";
285
- opacity: "opacity";
286
284
  width: "width";
287
285
  height: "height";
286
+ rotation: "rotation";
287
+ scale: "scale";
288
+ opacity: "opacity";
289
+ trimStart: "trimStart";
290
+ trimEnd: "trimEnd";
291
+ text: "text";
292
+ fontSize: "fontSize";
293
+ fill: "fill";
294
+ letterSpacing: "letterSpacing";
295
+ padding: "padding";
296
+ strokeWidth: "strokeWidth";
297
+ borderColor: "borderColor";
298
+ borderWidth: "borderWidth";
288
299
  volume: "volume";
300
+ color: "color";
301
+ offset: "offset";
289
302
  hidden: "hidden";
290
303
  muted: "muted";
291
304
  gap: "gap";
292
- padding: "padding";
293
305
  borderRadius: "borderRadius";
294
- fontSize: "fontSize";
295
- text: "text";
296
- fill: "fill";
297
- color: "color";
298
- letterSpacing: "letterSpacing";
299
306
  d: "d";
300
- trimStart: "trimStart";
301
- trimEnd: "trimEnd";
302
307
  trimOffset: "trimOffset";
303
- strokeWidth: "strokeWidth";
304
308
  strokeDashOffset: "strokeDashOffset";
305
309
  cornerRadius: "cornerRadius";
306
310
  starInnerRadiusRatio: "starInnerRadiusRatio";
307
311
  fillColor: "fillColor";
308
312
  strokeColor: "strokeColor";
309
- borderColor: "borderColor";
310
- borderWidth: "borderWidth";
311
313
  motionBlurShutter: "motionBlurShutter";
312
314
  rangeStart: "rangeStart";
313
315
  rangeEnd: "rangeEnd";
314
- offset: "offset";
315
316
  animatorRangeStart: "animatorRangeStart";
316
317
  animatorRangeEnd: "animatorRangeEnd";
317
318
  animatorOffset: "animatorOffset";
@@ -414,6 +415,7 @@ declare const AnimationTrackSchema: z.ZodObject<{
414
415
  value: z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean, z.ZodString]>;
415
416
  ease: z.ZodOptional<z.ZodObject<{
416
417
  name: z.ZodEnum<{
418
+ bounce: "bounce";
417
419
  none: "none";
418
420
  power1: "power1";
419
421
  power2: "power2";
@@ -423,7 +425,6 @@ declare const AnimationTrackSchema: z.ZodObject<{
423
425
  expo: "expo";
424
426
  back: "back";
425
427
  elastic: "elastic";
426
- bounce: "bounce";
427
428
  spring: "spring";
428
429
  cubic: "cubic";
429
430
  hold: "hold";
@@ -460,38 +461,38 @@ declare const LayerAnimationSchema: z.ZodObject<{
460
461
  prop: z.ZodEnum<{
461
462
  x: "x";
462
463
  y: "y";
463
- scale: "scale";
464
- rotation: "rotation";
465
- opacity: "opacity";
466
464
  width: "width";
467
465
  height: "height";
466
+ rotation: "rotation";
467
+ scale: "scale";
468
+ opacity: "opacity";
469
+ trimStart: "trimStart";
470
+ trimEnd: "trimEnd";
471
+ text: "text";
472
+ fontSize: "fontSize";
473
+ fill: "fill";
474
+ letterSpacing: "letterSpacing";
475
+ padding: "padding";
476
+ strokeWidth: "strokeWidth";
477
+ borderColor: "borderColor";
478
+ borderWidth: "borderWidth";
468
479
  volume: "volume";
480
+ color: "color";
481
+ offset: "offset";
469
482
  hidden: "hidden";
470
483
  muted: "muted";
471
484
  gap: "gap";
472
- padding: "padding";
473
485
  borderRadius: "borderRadius";
474
- fontSize: "fontSize";
475
- text: "text";
476
- fill: "fill";
477
- color: "color";
478
- letterSpacing: "letterSpacing";
479
486
  d: "d";
480
- trimStart: "trimStart";
481
- trimEnd: "trimEnd";
482
487
  trimOffset: "trimOffset";
483
- strokeWidth: "strokeWidth";
484
488
  strokeDashOffset: "strokeDashOffset";
485
489
  cornerRadius: "cornerRadius";
486
490
  starInnerRadiusRatio: "starInnerRadiusRatio";
487
491
  fillColor: "fillColor";
488
492
  strokeColor: "strokeColor";
489
- borderColor: "borderColor";
490
- borderWidth: "borderWidth";
491
493
  motionBlurShutter: "motionBlurShutter";
492
494
  rangeStart: "rangeStart";
493
495
  rangeEnd: "rangeEnd";
494
- offset: "offset";
495
496
  animatorRangeStart: "animatorRangeStart";
496
497
  animatorRangeEnd: "animatorRangeEnd";
497
498
  animatorOffset: "animatorOffset";
@@ -594,6 +595,7 @@ declare const LayerAnimationSchema: z.ZodObject<{
594
595
  value: z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean, z.ZodString]>;
595
596
  ease: z.ZodOptional<z.ZodObject<{
596
597
  name: z.ZodEnum<{
598
+ bounce: "bounce";
597
599
  none: "none";
598
600
  power1: "power1";
599
601
  power2: "power2";
@@ -603,7 +605,6 @@ declare const LayerAnimationSchema: z.ZodObject<{
603
605
  expo: "expo";
604
606
  back: "back";
605
607
  elastic: "elastic";
606
- bounce: "bounce";
607
608
  spring: "spring";
608
609
  cubic: "cubic";
609
610
  hold: "hold";
@@ -1895,133 +1896,393 @@ declare function collectNodeOps(nodes: VirtualMediaData[]): VirtualMediaData[];
1895
1896
  //#endregion
1896
1897
  //#region src/program/validate.d.ts
1897
1898
  //#endregion
1898
- //#region ../components/dist/toolkit-HF1uj72e.d.mts
1899
- //#region src/core/audio.d.ts
1900
-
1901
- /** A track's spectrum and loudness per frame, every value 0–1. */
1902
- interface AudioLevels {
1903
- fps: number;
1904
- /** Length in frames. */
1905
- frames: number;
1906
- /** `[band][frame]`, low → high frequencies. */
1907
- bands: number[][];
1908
- /** Loudness envelope, `[frame]`. */
1909
- level: number[];
1910
- /** Onset frames (kicks, plosives), from low-band flux. */
1911
- beats: number[];
1912
- }
1913
- interface AnalyzeOptions {
1914
- /** Frame rate of the composition. Default 30. */
1915
- fps?: number;
1916
- /** Log-spaced bands. Default 32. */
1917
- bands?: number;
1918
- /** Lowest band edge, Hz. Default 50. */
1919
- minHz?: number;
1920
- /** Highest band edge, Hz. Default 12 000 (or Nyquist). */
1921
- maxHz?: number;
1922
- }
1923
- /** Band edges in Hz, log-spaced. */
1924
- declare function bandEdges(count: number, minHz: number, maxHz: number): number[];
1899
+ //#region ../components/dist/typing-c419Mp0t.d.mts
1900
+ //#region src/core/path.d.ts
1925
1901
  /**
1926
- * Analyse decoded audio: a Hann-windowed FFT per frame into log-spaced
1927
- * bands, each normalised to its own 98th percentile (floored 30 dB under the
1928
- * loudest band's, so a quiet band is not stretched into noise), an RMS level
1929
- * envelope, and onsets from low-band spectral flux.
1902
+ * 2D path math: smooth curves through points, arc-length sampling, and SVG
1903
+ * path strings. Used for pointer travel, camera moves and drawn marks.
1930
1904
  */
1931
- declare function analyzeChannels(channels: readonly Float32Array[], sampleRate: number, options?: AnalyzeOptions): AudioLevels;
1932
- /** Average adjacent bands down (or repeat them up) to `count` bands. */
1933
- declare function resampleBands(bands: readonly (readonly number[])[], count: number): number[][];
1934
- /** Each value falls no faster than `release` frames from its peak (attack is instant). */
1935
- declare function smoothRelease(values: readonly number[], release: number): number[];
1936
- /** The schema for `AudioLevels` props (Waveform, Captions `pulse`). */
1937
- declare function audioLevelsSchema(): z.ZodType<AudioLevels>;
1938
- //#endregion
1939
- //#region src/core/bake.d.ts
1905
+ type Vec2$1 = [x: number, y: number];
1906
+ declare const dist: (a: Vec2$1, b: Vec2$1) => number;
1907
+ declare const lerp2: (a: Vec2$1, b: Vec2$1, t: number) => Vec2$1;
1940
1908
  /**
1941
- * Turn per-frame values into a few linear keyframes. Components solve motion
1942
- * offline (springs, camera follow, arc-length travel) and bake it, so the
1943
- * output stays plain keyframe JSON that seeks exactly.
1909
+ * Centripetal Catmull-Rom through `points`, flattened to a polyline with
1910
+ * `steps` samples per segment. Centripetal (alpha 0.5) never loops or cusps
1911
+ * between close points, which matters for pointer paths.
1944
1912
  */
1945
- /** `[frame, value]`: a linear keyframe, as `LayerAnimation.keys` takes it. */
1946
- type BakedKey = [frame: number, value: number];
1947
- interface BakeOptions {
1948
- /** Max deviation (in the value's units) of the simplified curve. Default 0.25. */
1949
- tolerance?: number;
1913
+ declare function catmullRom(points: readonly Vec2$1[], steps?: number): Vec2$1[];
1914
+ /** A polyline with a cumulative arc-length table, sampled by distance. */
1915
+ interface ArcPath {
1916
+ readonly points: readonly Vec2$1[];
1917
+ readonly length: number;
1918
+ /** Point at `u` ∈ [0, 1] of the total length. */
1919
+ at(u: number): Vec2$1;
1920
+ /** Unit tangent direction (radians) at `u`. */
1921
+ angleAt(u: number): number;
1950
1922
  }
1923
+ declare function arcPath(points: readonly Vec2$1[]): ArcPath;
1924
+ /** SVG path data for a polyline (optionally closed). Rounded to 0.01 px. */
1925
+ declare function toPathData(points: readonly Vec2$1[], closed?: boolean): string;
1951
1926
  /**
1952
- * Simplify `values` (one per frame, starting at `startFrame`) to linear keys
1953
- * whose interpolation stays within `tolerance` of every sample
1954
- * (Ramer–Douglas–Peucker on the frame/value polyline). First and last
1955
- * samples are always kept.
1956
- */
1957
- declare function bakeSamples(values: readonly number[], startFrame?: number, options?: BakeOptions): BakedKey[];
1958
- /** Sample `fn` on every frame in [start, end] and bake it. */
1959
- declare function bakeFunction(fn: (frame: number) => number, start: number, end: number, options?: BakeOptions): BakedKey[];
1960
- /**
1961
- * Damped spring from 0 to 1 in closed form: `stiffness` (k), `damping` (c),
1962
- * `mass` (m), sampled in seconds. Under-damped springs overshoot.
1963
- */
1964
- declare function springAt(seconds: number, {
1965
- stiffness,
1966
- damping,
1967
- mass
1968
- }?: {
1969
- stiffness?: number | undefined;
1970
- damping?: number | undefined;
1971
- mass?: number | undefined;
1972
- }): number;
1973
- /**
1974
- * Frames until a spring stays within `epsilon` of rest, at `fps`; capped at
1975
- * `max` frames.
1976
- */
1977
- declare function springSettleFrames(fps: number, options?: Parameters<typeof springAt>[1], epsilon?: number, max?: number): number;
1978
- /**
1979
- * A spring from `from` to `to` starting at frame `start`, baked to linear
1980
- * keys (within `tolerance`, default 0.2 % of the distance).
1981
- */
1982
- declare function springKeys(start: number, from: number, to: number, fps: number, options?: Parameters<typeof springAt>[1], tolerance?: number): BakedKey[];
1983
- /**
1984
- * Per-frame values (frames 0…`length`) that spring to each new target from
1985
- * wherever they are: a retarget mid-flight starts from the current value
1986
- * (velocity isn't carried over). Bake with `bakeSamples` or bind as a signal.
1927
+ * Scale and offset SVG path data: `x' = x × scale + dx`. Absolute commands
1928
+ * move by the offset; relative ones (and arc radii) only scale. Used to
1929
+ * size glyphs designed on a small grid, and logo marks in their viewBox.
1987
1930
  */
1988
- declare function springTrack(changes: ReadonlyArray<readonly [frame: number, target: number]>, initial: number, length: number, fps: number, options?: {
1989
- stiffness: number;
1990
- damping: number;
1991
- }): number[];
1931
+ declare function transformPathData(d: string, scale: number, dx?: number, dy?: number): string;
1992
1932
  //#endregion
1993
- //#region src/core/color.d.ts
1994
- /**
1995
- * Color math for components: parse, fade, mix and judge lightness. Accepts
1996
- * `#rgb`, `#rgba`, `#rrggbb`, `#rrggbbaa`, `rgb()` / `rgba()` (comma or
1997
- * space syntax) and `white` / `black` / `transparent`. Anything else (a
1998
- * gradient, `oklch()`, a CSS variable) passes through untouched where a
1999
- * function returns a color, and counts as unknown where it returns a number.
2000
- */
2001
- /** Red, green, blue (0–255) and alpha (0–1). */
2002
- type Rgba = [r: number, g: number, b: number, a: number];
2003
- /** The color's channels, or null when the format isn't one listed above. */
2004
- declare function parseColor(color: string): Rgba | null;
2005
- /** `color` at `alpha` (replacing its own); unknown formats pass through. */
2006
- declare function withAlpha(color: string, alpha: number): string;
2007
- /**
2008
- * `color` fully transparent, keeping its hue, so a gradient fading to it has
2009
- * no dark fringe. Unknown formats give plain `rgba(0,0,0,0)`.
2010
- */
2011
- declare function transparent(color: string): string;
2012
- /** Mix `a` toward `b` by `t` (0 → a, 1 → b): `#rrggbb` when both are opaque. */
2013
- declare function mix(a: string, b: string, t: number): string;
2014
- /** WCAG relative luminance (0 black … 1 white), or null for unknown formats. */
2015
- declare function luminance(color: string): number | null;
2016
- /** WCAG contrast ratio of two colors, or null when either is unknown. */
2017
- declare function contrastRatio(a: string, b: string): number | null;
1933
+ //#region src/core/draw.d.ts
1934
+ interface Rect {
1935
+ x: number;
1936
+ y: number;
1937
+ width: number;
1938
+ height: number;
1939
+ }
1940
+ interface HandOptions {
1941
+ /** Wobble amount in px at theme scale 1. 0 = clean geometry. */
1942
+ wobble?: number;
1943
+ seed?: number;
1944
+ }
1945
+ /** Keys for `trimEnd` 0 → 1 between `start` and `start + duration`. */
1946
+ declare function drawOnKeys(start: number, duration: number, ease?: string): KeyframeTuple[];
2018
1947
  /**
2019
- * True when black text reads better than white on `color` (luminance above
2020
- * ~0.18). Unknown formats count as dark.
1948
+ * Perturb points with seeded, low-frequency noise: neighbouring points move
1949
+ * together, so lines bend instead of jittering.
2021
1950
  */
2022
- declare function isLight(color: string): boolean;
2023
- /** Whichever of `light` / `dark` ink reads better on `background`. */
2024
- declare function inkOn(background: string, light?: string, dark?: string): string;
1951
+ declare function wobblePoints(points: readonly Vec2$1[], {
1952
+ wobble,
1953
+ seed
1954
+ }?: HandOptions, variant?: number): Vec2$1[];
1955
+ /** An ellipse around `rect` (+ padding); hand-drawn ellipses overshoot their start. */
1956
+ declare function ellipsePath(rect: Rect, {
1957
+ padding,
1958
+ wobble,
1959
+ seed
1960
+ }?: HandOptions & {
1961
+ padding?: number;
1962
+ }, variant?: number): string;
1963
+ /** A rectangle around `rect` (+ padding). */
1964
+ declare function boxPath(rect: Rect, {
1965
+ padding,
1966
+ wobble,
1967
+ seed
1968
+ }?: HandOptions & {
1969
+ padding?: number;
1970
+ }, variant?: number): string;
1971
+ /** A horizontal stroke from `from` to `to`. */
1972
+ declare function linePath(from: Vec2$1, to: Vec2$1, {
1973
+ wobble,
1974
+ seed
1975
+ }?: HandOptions, variant?: number): string;
1976
+ /** A wavy line from `from` to `to`, `waves` crests of `amplitude` px. */
1977
+ declare function squigglePath(from: Vec2$1, to: Vec2$1, {
1978
+ amplitude,
1979
+ waves,
1980
+ wobble,
1981
+ seed
1982
+ }?: HandOptions & {
1983
+ amplitude?: number;
1984
+ waves?: number;
1985
+ }, variant?: number): string;
1986
+ type ArrowCurve = "straight" | "arc" | "swoop";
1987
+ interface ArrowGeometry {
1988
+ /** The shaft, drawn from `from` to just before `to`. */
1989
+ shaft: string;
1990
+ /** The head, two strokes meeting at `to`. */
1991
+ head: string;
1992
+ }
1993
+ /** An arrow from `from` to `to` with a separate head path. */
1994
+ declare function arrowPaths(from: Vec2$1, to: Vec2$1, {
1995
+ curve,
1996
+ headSize,
1997
+ wobble,
1998
+ seed
1999
+ }?: HandOptions & {
2000
+ curve?: ArrowCurve;
2001
+ headSize?: number;
2002
+ }, variant?: number): ArrowGeometry;
2003
+ /**
2004
+ * Hand-drawn "boil": `d` keys that switch between `variants` poses every
2005
+ * `every` frames with hold interpolation, from `start` to `end`.
2006
+ * `makePath(variant)` must be deterministic for a variant index.
2007
+ */
2008
+ declare function boilKeys(makePath: (variant: number) => string, {
2009
+ start,
2010
+ end,
2011
+ every,
2012
+ variants
2013
+ }: {
2014
+ start: number;
2015
+ end: number;
2016
+ every: number;
2017
+ variants?: number;
2018
+ }): KeyframeTuple[];
2019
+ //#endregion
2020
+ //#region src/core/text.d.ts
2021
+ /** The subset of `FontManager.measure` options components pass. */
2022
+ interface MeasureOptions {
2023
+ fontFamily: string;
2024
+ fontSize?: number;
2025
+ fontWeight?: string | number;
2026
+ letterSpacing?: number;
2027
+ lineHeight?: number;
2028
+ width?: number;
2029
+ align?: "left" | "center" | "right";
2030
+ direction?: "ltr" | "rtl" | "auto";
2031
+ }
2032
+ interface GlyphBox {
2033
+ char: string;
2034
+ index: number;
2035
+ x: number;
2036
+ width: number;
2037
+ line: number;
2038
+ rtl?: boolean;
2039
+ }
2040
+ /** The subset of `FontManager.measure` results components read. */
2041
+ interface Metrics$1 {
2042
+ width: number;
2043
+ height: number;
2044
+ lines: number;
2045
+ lineHeight: number;
2046
+ glyphs: GlyphBox[];
2047
+ caretX(count: number): number;
2048
+ }
2049
+ type MeasureFn = (text: string, options: MeasureOptions) => Metrics$1;
2050
+ interface WordRange {
2051
+ text: string;
2052
+ /** Index of the first character (code units). */
2053
+ start: number;
2054
+ /** Index after the last character. */
2055
+ end: number;
2056
+ index: number;
2057
+ }
2058
+ /** Whitespace-separated words with their character ranges. */
2059
+ declare function wordRanges(text: string): WordRange[];
2060
+ /** Character range of the `nth` match of `match` in `text`, or null. */
2061
+ declare function findRange(text: string, match: string | RegExp, nth?: number): [number, number] | null;
2062
+ /**
2063
+ * Per-line x offset that `align` adds inside a box of `options.width`
2064
+ * (measurement itself lays every line out from the left edge).
2065
+ */
2066
+ declare function lineShift(metrics: Metrics$1, line: number, options: MeasureOptions): number;
2067
+ /**
2068
+ * The boxes characters [start, end) cover: one rect per line, spanning the
2069
+ * glyphs' advances, `lineHeight` tall. Whitespace at a line's ends is
2070
+ * excluded.
2071
+ */
2072
+ declare function rangeRects(metrics: Metrics$1, start: number, end: number, options: MeasureOptions): Rect[];
2073
+ //#endregion
2074
+ //#region src/core/targets.d.ts
2075
+ type Anchor = "center" | "top" | "bottom" | "left" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right"
2076
+ /** Where a pointer should land: the centre, or mid-left for text. */ | "tip";
2077
+ /** A node as targets read it: absolute numeric geometry, or text. */
2078
+ interface TargetNode {
2079
+ id?: string;
2080
+ kind?: string;
2081
+ x?: unknown;
2082
+ y?: unknown;
2083
+ width?: unknown;
2084
+ height?: unknown;
2085
+ text?: unknown;
2086
+ content?: unknown;
2087
+ [key: string]: unknown;
2088
+ }
2089
+ /** The frame context signals are read with. */
2090
+ interface FrameContextLike {
2091
+ frame: number;
2092
+ fps: number;
2093
+ time: number;
2094
+ duration: number;
2095
+ durationMs: number;
2096
+ progress: number;
2097
+ deltaTime: number;
2098
+ }
2099
+ /** A per-frame value: a signal (what tracked objects expose) or a function. */
2100
+ type FrameValue = {
2101
+ get(ctx?: FrameContextLike): number;
2102
+ } | ((frame: number) => number);
2103
+ interface TrackedObjectLike {
2104
+ x: FrameValue;
2105
+ y: FrameValue;
2106
+ width: FrameValue;
2107
+ height: FrameValue;
2108
+ }
2109
+ type Target = Vec2$1 | Rect | {
2110
+ node: TargetNode;
2111
+ anchor?: Anchor;
2112
+ } | {
2113
+ text: TargetNode;
2114
+ match?: string | RegExp;
2115
+ range?: [number, number];
2116
+ nth?: number;
2117
+ anchor?: Anchor;
2118
+ } | {
2119
+ track: TrackedObjectLike;
2120
+ anchor?: Anchor;
2121
+ } | ((frame: number) => Vec2$1 | Rect);
2122
+ interface TargetContext {
2123
+ measure?: MeasureFn;
2124
+ /** Frame rate signals are sampled at (tracked targets). Default 30. */
2125
+ fps?: number;
2126
+ /** Font defaults for text nodes that don't set them. */
2127
+ textDefaults?: Partial<MeasureOptions>;
2128
+ }
2129
+ type ResolvedTarget = {
2130
+ kind: "static";
2131
+ rects: Rect[];
2132
+ anchor: Anchor;
2133
+ } | {
2134
+ kind: "dynamic";
2135
+ at: (frame: number) => Rect;
2136
+ anchor: Anchor;
2137
+ };
2138
+ /** Resolve a target to rects (static) or a per-frame rect (dynamic). */
2139
+ declare function resolveTarget(target: Target, ctx?: TargetContext): ResolvedTarget;
2140
+ /** A text target's string, measured glyphs and range, and where the node sits. */
2141
+ interface TextLayout {
2142
+ content: string;
2143
+ metrics: ReturnType<MeasureFn>;
2144
+ options: MeasureOptions;
2145
+ range: [number, number];
2146
+ /** The node's x / y: add to measured glyph positions. */
2147
+ x: number;
2148
+ y: number;
2149
+ }
2150
+ /** Measure a text target the way the renderer lays it out. */
2151
+ declare function textLayout(target: Extract<Target, {
2152
+ text: TargetNode;
2153
+ }>, ctx: TargetContext): TextLayout;
2154
+ /** The union rect of `rects`. */
2155
+ declare function boundsOf(rects: readonly Rect[]): Rect;
2156
+ /** The point of `rect` named by `anchor`. `tip` on text = start of the first line, mid-height. */
2157
+ declare function anchorPoint(rect: Rect, anchor?: Anchor, isText?: boolean): Vec2$1;
2158
+ /** The point a resolved target names at `frame` (static targets ignore frame). */
2159
+ declare function targetPoint(resolved: ResolvedTarget, frame?: number, isText?: boolean): Vec2$1;
2160
+ //#endregion
2161
+ //#region src/core/audio.d.ts
2162
+ /** A track's spectrum and loudness per frame, every value 0–1. */
2163
+ interface AudioLevels {
2164
+ fps: number;
2165
+ /** Length in frames. */
2166
+ frames: number;
2167
+ /** `[band][frame]`, low → high frequencies. */
2168
+ bands: number[][];
2169
+ /** Loudness envelope, `[frame]`. */
2170
+ level: number[];
2171
+ /** Onset frames (kicks, plosives), from low-band flux. */
2172
+ beats: number[];
2173
+ }
2174
+ interface AnalyzeOptions {
2175
+ /** Frame rate of the composition. Default 30. */
2176
+ fps?: number;
2177
+ /** Log-spaced bands. Default 32. */
2178
+ bands?: number;
2179
+ /** Lowest band edge, Hz. Default 50. */
2180
+ minHz?: number;
2181
+ /** Highest band edge, Hz. Default 12 000 (or Nyquist). */
2182
+ maxHz?: number;
2183
+ }
2184
+ /** Band edges in Hz, log-spaced. */
2185
+ declare function bandEdges(count: number, minHz: number, maxHz: number): number[];
2186
+ /**
2187
+ * Analyse decoded audio: a Hann-windowed FFT per frame into log-spaced
2188
+ * bands, each normalised to its own 98th percentile (floored 30 dB under the
2189
+ * loudest band's, so a quiet band is not stretched into noise), an RMS level
2190
+ * envelope, and onsets from low-band spectral flux.
2191
+ */
2192
+ declare function analyzeChannels(channels: readonly Float32Array[], sampleRate: number, options?: AnalyzeOptions): AudioLevels;
2193
+ /** Average adjacent bands down (or repeat them up) to `count` bands. */
2194
+ declare function resampleBands(bands: readonly (readonly number[])[], count: number): number[][];
2195
+ /** Each value falls no faster than `release` frames from its peak (attack is instant). */
2196
+ declare function smoothRelease(values: readonly number[], release: number): number[];
2197
+ /** The schema for `AudioLevels` props (Waveform, Captions `pulse`). */
2198
+ declare function audioLevelsSchema(): z.ZodType<AudioLevels>;
2199
+ //#endregion
2200
+ //#region src/core/bake.d.ts
2201
+ /**
2202
+ * Turn per-frame values into a few linear keyframes. Components solve motion
2203
+ * offline (springs, camera follow, arc-length travel) and bake it, so the
2204
+ * output stays plain keyframe JSON that seeks exactly.
2205
+ */
2206
+ /** `[frame, value]`: a linear keyframe, as `LayerAnimation.keys` takes it. */
2207
+ type BakedKey = [frame: number, value: number];
2208
+ interface BakeOptions {
2209
+ /** Max deviation (in the value's units) of the simplified curve. Default 0.25. */
2210
+ tolerance?: number;
2211
+ }
2212
+ /**
2213
+ * Simplify `values` (one per frame, starting at `startFrame`) to linear keys
2214
+ * whose interpolation stays within `tolerance` of every sample
2215
+ * (Ramer–Douglas–Peucker on the frame/value polyline). First and last
2216
+ * samples are always kept.
2217
+ */
2218
+ declare function bakeSamples(values: readonly number[], startFrame?: number, options?: BakeOptions): BakedKey[];
2219
+ /** Sample `fn` on every frame in [start, end] and bake it. */
2220
+ declare function bakeFunction(fn: (frame: number) => number, start: number, end: number, options?: BakeOptions): BakedKey[];
2221
+ /**
2222
+ * Damped spring from 0 to 1 in closed form: `stiffness` (k), `damping` (c),
2223
+ * `mass` (m), sampled in seconds. Under-damped springs overshoot.
2224
+ */
2225
+ declare function springAt(seconds: number, {
2226
+ stiffness,
2227
+ damping,
2228
+ mass
2229
+ }?: {
2230
+ stiffness?: number | undefined;
2231
+ damping?: number | undefined;
2232
+ mass?: number | undefined;
2233
+ }): number;
2234
+ /**
2235
+ * Frames until a spring stays within `epsilon` of rest, at `fps`; capped at
2236
+ * `max` frames.
2237
+ */
2238
+ declare function springSettleFrames(fps: number, options?: Parameters<typeof springAt>[1], epsilon?: number, max?: number): number;
2239
+ /**
2240
+ * A spring from `from` to `to` starting at frame `start`, baked to linear
2241
+ * keys (within `tolerance`, default 0.2 % of the distance).
2242
+ */
2243
+ declare function springKeys(start: number, from: number, to: number, fps: number, options?: Parameters<typeof springAt>[1], tolerance?: number): BakedKey[];
2244
+ /**
2245
+ * Per-frame values (frames 0…`length`) that spring to each new target from
2246
+ * wherever they are: a retarget mid-flight starts from the current value
2247
+ * (velocity isn't carried over). Bake with `bakeSamples` or bind as a signal.
2248
+ */
2249
+ declare function springTrack(changes: ReadonlyArray<readonly [frame: number, target: number]>, initial: number, length: number, fps: number, options?: {
2250
+ stiffness: number;
2251
+ damping: number;
2252
+ }): number[];
2253
+ //#endregion
2254
+ //#region src/core/color.d.ts
2255
+ /**
2256
+ * Color math for components: parse, fade, mix and judge lightness. Accepts
2257
+ * `#rgb`, `#rgba`, `#rrggbb`, `#rrggbbaa`, `rgb()` / `rgba()` (comma or
2258
+ * space syntax) and `white` / `black` / `transparent`. Anything else (a
2259
+ * gradient, `oklch()`, a CSS variable) passes through untouched where a
2260
+ * function returns a color, and counts as unknown where it returns a number.
2261
+ */
2262
+ /** Red, green, blue (0–255) and alpha (0–1). */
2263
+ type Rgba = [r: number, g: number, b: number, a: number];
2264
+ /** The color's channels, or null when the format isn't one listed above. */
2265
+ declare function parseColor(color: string): Rgba | null;
2266
+ /** `color` at `alpha` (replacing its own); unknown formats pass through. */
2267
+ declare function withAlpha(color: string, alpha: number): string;
2268
+ /**
2269
+ * `color` fully transparent, keeping its hue, so a gradient fading to it has
2270
+ * no dark fringe. Unknown formats give plain `rgba(0,0,0,0)`.
2271
+ */
2272
+ declare function transparent(color: string): string;
2273
+ /** Mix `a` toward `b` by `t` (0 → a, 1 → b): `#rrggbb` when both are opaque. */
2274
+ declare function mix(a: string, b: string, t: number): string;
2275
+ /** WCAG relative luminance (0 black … 1 white), or null for unknown formats. */
2276
+ declare function luminance(color: string): number | null;
2277
+ /** WCAG contrast ratio of two colors, or null when either is unknown. */
2278
+ declare function contrastRatio(a: string, b: string): number | null;
2279
+ /**
2280
+ * True when black text reads better than white on `color` (luminance above
2281
+ * ~0.18). Unknown formats count as dark.
2282
+ */
2283
+ declare function isLight(color: string): boolean;
2284
+ /** Whichever of `light` / `dark` ink reads better on `background`. */
2285
+ declare function inkOn(background: string, light?: string, dark?: string): string;
2025
2286
  //#endregion
2026
2287
  //#region src/core/theme.d.ts
2027
2288
  /** A spring, as `springKeys` / `springAt` take it. */
@@ -2105,191 +2366,48 @@ interface Theme {
2105
2366
  slow: number;
2106
2367
  };
2107
2368
  /** `settle` lands without overshoot, `base` overshoots a little, `pop` bounces. */
2108
- spring: {
2109
- settle: Spring;
2110
- base: Spring;
2111
- pop: Spring;
2112
- };
2113
- };
2114
- /** Code token colors (CodeBlock); unset kinds use the built-in palette. */
2115
- syntax?: Partial<Record<SyntaxKind, string>>;
2116
- /** 1 = designed for 1080p. 2 for 4K, 0.5 for 540p. */
2117
- scale: number;
2118
- }
2119
- /** Token kinds CodeBlock colors. */
2120
- type SyntaxKind = "plain" | "keyword" | "string" | "number" | "comment" | "function" | "type" | "property" | "punctuation" | "operator";
2121
- type ThemeInput = DeepPartial<Theme>;
2122
- type DeepPartial<T> = { [K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K] };
2123
- /** Built-in themes. Fonts are never bundled: register the families you use. */
2124
- declare const themes: {
2125
- /** Dark neutral: product demos, dev tools. */
2126
- readonly graphite: {
2127
- readonly elevation: {
2128
- low: Elevation;
2129
- mid: Elevation;
2130
- high: Elevation;
2131
- };
2132
- readonly motion: {
2133
- ease: {
2134
- enter: string;
2135
- exit: string;
2136
- move: string;
2137
- snap: string;
2138
- };
2139
- /** Durations in frames at 30 fps; see {@link themeFrames}. */
2140
- speed: {
2141
- fast: number;
2142
- base: number;
2143
- slow: number;
2144
- };
2145
- /** `settle` lands without overshoot, `base` overshoots a little, `pop` bounces. */
2146
- spring: {
2147
- settle: Spring;
2148
- base: Spring;
2149
- pop: Spring;
2150
- };
2151
- };
2152
- readonly scale: 1;
2153
- readonly radius: {
2154
- sm: number;
2155
- md: number;
2156
- lg: number;
2157
- pill: number;
2158
- };
2159
- readonly stroke: {
2160
- hair: number;
2161
- base: number;
2162
- bold: number;
2163
- };
2164
- readonly mode: "dark";
2165
- readonly color: {
2166
- readonly bg: "#0d0e11";
2167
- readonly surface: "#16181d";
2168
- readonly raised: "#1f2229";
2169
- readonly line: "#2b2f38";
2170
- readonly ink: "#f3f4f6";
2171
- readonly muted: "#8b909c";
2172
- readonly accent: "#5b8cff";
2173
- readonly accent2: "#b07cff";
2174
- readonly positive: "#3ecf8e";
2175
- readonly negative: "#ff5c5c";
2176
- readonly highlight: "#ffd23f";
2177
- readonly shadow: "#000000";
2178
- };
2179
- readonly font: {
2180
- display: string;
2181
- body: string;
2182
- mono: string;
2183
- hand?: string;
2184
- };
2185
- readonly weight: {
2186
- regular: number;
2187
- medium: number;
2188
- semibold: number;
2189
- bold: number;
2190
- heavy: number;
2191
- };
2192
- };
2193
- /** Light editorial: explainers, documentaries. */
2194
- readonly paper: {
2195
- readonly elevation: {
2196
- low: Elevation;
2197
- mid: Elevation;
2198
- high: Elevation;
2199
- };
2200
- readonly motion: {
2201
- ease: {
2202
- enter: string;
2203
- exit: string;
2204
- move: string;
2205
- snap: string;
2206
- };
2207
- /** Durations in frames at 30 fps; see {@link themeFrames}. */
2208
- speed: {
2209
- fast: number;
2210
- base: number;
2211
- slow: number;
2212
- };
2213
- /** `settle` lands without overshoot, `base` overshoots a little, `pop` bounces. */
2214
- spring: {
2215
- settle: Spring;
2216
- base: Spring;
2217
- pop: Spring;
2218
- };
2219
- };
2220
- readonly scale: 1;
2221
- readonly radius: {
2222
- sm: number;
2223
- md: number;
2224
- lg: number;
2225
- pill: number;
2226
- };
2227
- readonly stroke: {
2228
- hair: number;
2229
- base: number;
2230
- bold: number;
2231
- };
2232
- readonly mode: "light";
2233
- readonly color: {
2234
- readonly bg: "#f4f1ea";
2235
- readonly surface: "#fffdf8";
2236
- readonly raised: "#ffffff";
2237
- readonly line: "#dcd6c8";
2238
- readonly ink: "#1a1814";
2239
- readonly muted: "#6b665c";
2240
- readonly accent: "#e0451f";
2241
- readonly accent2: "#1f5fe0";
2242
- readonly positive: "#1f8a4c";
2243
- readonly negative: "#c8282d";
2244
- readonly highlight: "#ffe066";
2245
- readonly shadow: "#3b2f1e";
2246
- };
2247
- readonly font: {
2248
- display: string;
2249
- body: string;
2250
- mono: string;
2251
- hand?: string;
2252
- };
2253
- readonly weight: {
2254
- regular: number;
2255
- medium: number;
2256
- semibold: number;
2257
- bold: number;
2258
- heavy: number;
2369
+ spring: {
2370
+ settle: Spring;
2371
+ base: Spring;
2372
+ pop: Spring;
2259
2373
  };
2260
2374
  };
2261
- /** High contrast, saturated accent: social clips. */
2262
- readonly signal: {
2375
+ /** Code token colors (CodeBlock); unset kinds use the built-in palette. */
2376
+ syntax?: Partial<Record<SyntaxKind, string>>;
2377
+ /** 1 = designed for 1080p. 2 for 4K, 0.5 for 540p. */
2378
+ scale: number;
2379
+ }
2380
+ /** Token kinds CodeBlock colors. */
2381
+ type SyntaxKind = "plain" | "keyword" | "string" | "number" | "comment" | "function" | "type" | "property" | "punctuation" | "operator";
2382
+ type ThemeInput = DeepPartial<Theme>;
2383
+ type DeepPartial<T> = { [K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K] };
2384
+ /** Built-in themes. Fonts are never bundled: register the families you use. */
2385
+ declare const themes: {
2386
+ /** Dark neutral: product demos, dev tools. */
2387
+ readonly graphite: {
2263
2388
  readonly elevation: {
2264
2389
  low: Elevation;
2265
2390
  mid: Elevation;
2266
2391
  high: Elevation;
2267
2392
  };
2268
2393
  readonly motion: {
2269
- readonly ease: {
2270
- readonly enter: "back.out(1.8)";
2271
- readonly exit: string;
2272
- readonly move: string;
2273
- readonly snap: string;
2394
+ ease: {
2395
+ enter: string;
2396
+ exit: string;
2397
+ move: string;
2398
+ snap: string;
2274
2399
  };
2275
- readonly speed: {
2276
- readonly fast: 6;
2277
- readonly base: 12;
2278
- readonly slow: 24;
2400
+ /** Durations in frames at 30 fps; see {@link themeFrames}. */
2401
+ speed: {
2402
+ fast: number;
2403
+ base: number;
2404
+ slow: number;
2279
2405
  };
2280
- readonly spring: {
2281
- readonly settle: {
2282
- readonly stiffness: 300;
2283
- readonly damping: 26;
2284
- };
2285
- readonly base: {
2286
- readonly stiffness: 340;
2287
- readonly damping: 22;
2288
- };
2289
- readonly pop: {
2290
- readonly stiffness: 400;
2291
- readonly damping: 14;
2292
- };
2406
+ /** `settle` lands without overshoot, `base` overshoots a little, `pop` bounces. */
2407
+ spring: {
2408
+ settle: Spring;
2409
+ base: Spring;
2410
+ pop: Spring;
2293
2411
  };
2294
2412
  };
2295
2413
  readonly scale: 1;
@@ -2306,17 +2424,17 @@ declare const themes: {
2306
2424
  };
2307
2425
  readonly mode: "dark";
2308
2426
  readonly color: {
2309
- readonly bg: "#000000";
2310
- readonly surface: "#111111";
2311
- readonly raised: "#1c1c1c";
2312
- readonly line: "#333333";
2313
- readonly ink: "#ffffff";
2314
- readonly muted: "#a3a3a3";
2315
- readonly accent: "#c6ff00";
2316
- readonly accent2: "#ff2e88";
2317
- readonly positive: "#00e676";
2318
- readonly negative: "#ff1744";
2319
- readonly highlight: "#c6ff00";
2427
+ readonly bg: "#0d0e11";
2428
+ readonly surface: "#16181d";
2429
+ readonly raised: "#1f2229";
2430
+ readonly line: "#2b2f38";
2431
+ readonly ink: "#f3f4f6";
2432
+ readonly muted: "#8b909c";
2433
+ readonly accent: "#5b8cff";
2434
+ readonly accent2: "#b07cff";
2435
+ readonly positive: "#3ecf8e";
2436
+ readonly negative: "#ff5c5c";
2437
+ readonly highlight: "#ffd23f";
2320
2438
  readonly shadow: "#000000";
2321
2439
  };
2322
2440
  readonly font: {
@@ -2333,189 +2451,158 @@ declare const themes: {
2333
2451
  heavy: number;
2334
2452
  };
2335
2453
  };
2336
- };
2337
- type ThemeName = keyof typeof themes;
2338
- /**
2339
- * Merge a partial theme over a base (default `themes.graphite`). Throws when
2340
- * `ink` on `surface` falls below WCAG 4.5:1 and both are hex colors.
2341
- */
2342
- declare function defineTheme(input?: ThemeInput | Theme, base?: Theme): Theme;
2343
- /** A theme's duration token in frames at `fps`. */
2344
- declare function themeFrames(theme: Theme, speed: keyof Theme["motion"]["speed"], fps?: number): number;
2345
- //#endregion
2346
- //#region src/core/path.d.ts
2347
- /**
2348
- * 2D path math: smooth curves through points, arc-length sampling, and SVG
2349
- * path strings. Used for pointer travel, camera moves and drawn marks.
2350
- */
2351
- type Vec2$1 = [x: number, y: number];
2352
- declare const dist: (a: Vec2$1, b: Vec2$1) => number;
2353
- declare const lerp2: (a: Vec2$1, b: Vec2$1, t: number) => Vec2$1;
2354
- /**
2355
- * Centripetal Catmull-Rom through `points`, flattened to a polyline with
2356
- * `steps` samples per segment. Centripetal (alpha 0.5) never loops or cusps
2357
- * between close points, which matters for pointer paths.
2358
- */
2359
- declare function catmullRom(points: readonly Vec2$1[], steps?: number): Vec2$1[];
2360
- /** A polyline with a cumulative arc-length table, sampled by distance. */
2361
- interface ArcPath {
2362
- readonly points: readonly Vec2$1[];
2363
- readonly length: number;
2364
- /** Point at `u` ∈ [0, 1] of the total length. */
2365
- at(u: number): Vec2$1;
2366
- /** Unit tangent direction (radians) at `u`. */
2367
- angleAt(u: number): number;
2368
- }
2369
- declare function arcPath(points: readonly Vec2$1[]): ArcPath;
2370
- /** SVG path data for a polyline (optionally closed). Rounded to 0.01 px. */
2371
- declare function toPathData(points: readonly Vec2$1[], closed?: boolean): string;
2372
- /**
2373
- * Scale and offset SVG path data: `x' = x × scale + dx`. Absolute commands
2374
- * move by the offset; relative ones (and arc radii) only scale. Used to
2375
- * size glyphs designed on a small grid, and logo marks in their viewBox.
2376
- */
2377
- declare function transformPathData(d: string, scale: number, dx?: number, dy?: number): string;
2378
- //#endregion
2379
- //#region src/core/draw.d.ts
2380
- interface Rect {
2381
- x: number;
2382
- y: number;
2383
- width: number;
2384
- height: number;
2385
- }
2386
- interface HandOptions {
2387
- /** Wobble amount in px at theme scale 1. 0 = clean geometry. */
2388
- wobble?: number;
2389
- seed?: number;
2390
- }
2391
- /** Keys for `trimEnd` 0 → 1 between `start` and `start + duration`. */
2392
- declare function drawOnKeys(start: number, duration: number, ease?: string): KeyframeTuple[];
2393
- /**
2394
- * Perturb points with seeded, low-frequency noise: neighbouring points move
2395
- * together, so lines bend instead of jittering.
2396
- */
2397
- declare function wobblePoints(points: readonly Vec2$1[], {
2398
- wobble,
2399
- seed
2400
- }?: HandOptions, variant?: number): Vec2$1[];
2401
- /** An ellipse around `rect` (+ padding); hand-drawn ellipses overshoot their start. */
2402
- declare function ellipsePath(rect: Rect, {
2403
- padding,
2404
- wobble,
2405
- seed
2406
- }?: HandOptions & {
2407
- padding?: number;
2408
- }, variant?: number): string;
2409
- /** A rectangle around `rect` (+ padding). */
2410
- declare function boxPath(rect: Rect, {
2411
- padding,
2412
- wobble,
2413
- seed
2414
- }?: HandOptions & {
2415
- padding?: number;
2416
- }, variant?: number): string;
2417
- /** A horizontal stroke from `from` to `to`. */
2418
- declare function linePath(from: Vec2$1, to: Vec2$1, {
2419
- wobble,
2420
- seed
2421
- }?: HandOptions, variant?: number): string;
2422
- /** A wavy line from `from` to `to`, `waves` crests of `amplitude` px. */
2423
- declare function squigglePath(from: Vec2$1, to: Vec2$1, {
2424
- amplitude,
2425
- waves,
2426
- wobble,
2427
- seed
2428
- }?: HandOptions & {
2429
- amplitude?: number;
2430
- waves?: number;
2431
- }, variant?: number): string;
2432
- type ArrowCurve = "straight" | "arc" | "swoop";
2433
- interface ArrowGeometry {
2434
- /** The shaft, drawn from `from` to just before `to`. */
2435
- shaft: string;
2436
- /** The head, two strokes meeting at `to`. */
2437
- head: string;
2438
- }
2439
- /** An arrow from `from` to `to` with a separate head path. */
2440
- declare function arrowPaths(from: Vec2$1, to: Vec2$1, {
2441
- curve,
2442
- headSize,
2443
- wobble,
2444
- seed
2445
- }?: HandOptions & {
2446
- curve?: ArrowCurve;
2447
- headSize?: number;
2448
- }, variant?: number): ArrowGeometry;
2449
- /**
2450
- * Hand-drawn "boil": `d` keys that switch between `variants` poses every
2451
- * `every` frames with hold interpolation, from `start` to `end`.
2452
- * `makePath(variant)` must be deterministic for a variant index.
2453
- */
2454
- declare function boilKeys(makePath: (variant: number) => string, {
2455
- start,
2456
- end,
2457
- every,
2458
- variants
2459
- }: {
2460
- start: number;
2461
- end: number;
2462
- every: number;
2463
- variants?: number;
2464
- }): KeyframeTuple[];
2465
- //#endregion
2466
- //#region src/core/text.d.ts
2467
- /** The subset of `FontManager.measure` options components pass. */
2468
- interface MeasureOptions {
2469
- fontFamily: string;
2470
- fontSize?: number;
2471
- fontWeight?: string | number;
2472
- letterSpacing?: number;
2473
- lineHeight?: number;
2474
- width?: number;
2475
- align?: "left" | "center" | "right";
2476
- direction?: "ltr" | "rtl" | "auto";
2477
- }
2478
- interface GlyphBox {
2479
- char: string;
2480
- index: number;
2481
- x: number;
2482
- width: number;
2483
- line: number;
2484
- rtl?: boolean;
2485
- }
2486
- /** The subset of `FontManager.measure` results components read. */
2487
- interface Metrics$1 {
2488
- width: number;
2489
- height: number;
2490
- lines: number;
2491
- lineHeight: number;
2492
- glyphs: GlyphBox[];
2493
- caretX(count: number): number;
2494
- }
2495
- type MeasureFn = (text: string, options: MeasureOptions) => Metrics$1;
2496
- interface WordRange {
2497
- text: string;
2498
- /** Index of the first character (code units). */
2499
- start: number;
2500
- /** Index after the last character. */
2501
- end: number;
2502
- index: number;
2503
- }
2504
- /** Whitespace-separated words with their character ranges. */
2505
- declare function wordRanges(text: string): WordRange[];
2506
- /** Character range of the `nth` match of `match` in `text`, or null. */
2507
- declare function findRange(text: string, match: string | RegExp, nth?: number): [number, number] | null;
2508
- /**
2509
- * Per-line x offset that `align` adds inside a box of `options.width`
2510
- * (measurement itself lays every line out from the left edge).
2511
- */
2512
- declare function lineShift(metrics: Metrics$1, line: number, options: MeasureOptions): number;
2454
+ /** Light editorial: explainers, documentaries. */
2455
+ readonly paper: {
2456
+ readonly elevation: {
2457
+ low: Elevation;
2458
+ mid: Elevation;
2459
+ high: Elevation;
2460
+ };
2461
+ readonly motion: {
2462
+ ease: {
2463
+ enter: string;
2464
+ exit: string;
2465
+ move: string;
2466
+ snap: string;
2467
+ };
2468
+ /** Durations in frames at 30 fps; see {@link themeFrames}. */
2469
+ speed: {
2470
+ fast: number;
2471
+ base: number;
2472
+ slow: number;
2473
+ };
2474
+ /** `settle` lands without overshoot, `base` overshoots a little, `pop` bounces. */
2475
+ spring: {
2476
+ settle: Spring;
2477
+ base: Spring;
2478
+ pop: Spring;
2479
+ };
2480
+ };
2481
+ readonly scale: 1;
2482
+ readonly radius: {
2483
+ sm: number;
2484
+ md: number;
2485
+ lg: number;
2486
+ pill: number;
2487
+ };
2488
+ readonly stroke: {
2489
+ hair: number;
2490
+ base: number;
2491
+ bold: number;
2492
+ };
2493
+ readonly mode: "light";
2494
+ readonly color: {
2495
+ readonly bg: "#f4f1ea";
2496
+ readonly surface: "#fffdf8";
2497
+ readonly raised: "#ffffff";
2498
+ readonly line: "#dcd6c8";
2499
+ readonly ink: "#1a1814";
2500
+ readonly muted: "#6b665c";
2501
+ readonly accent: "#e0451f";
2502
+ readonly accent2: "#1f5fe0";
2503
+ readonly positive: "#1f8a4c";
2504
+ readonly negative: "#c8282d";
2505
+ readonly highlight: "#ffe066";
2506
+ readonly shadow: "#3b2f1e";
2507
+ };
2508
+ readonly font: {
2509
+ display: string;
2510
+ body: string;
2511
+ mono: string;
2512
+ hand?: string;
2513
+ };
2514
+ readonly weight: {
2515
+ regular: number;
2516
+ medium: number;
2517
+ semibold: number;
2518
+ bold: number;
2519
+ heavy: number;
2520
+ };
2521
+ };
2522
+ /** High contrast, saturated accent: social clips. */
2523
+ readonly signal: {
2524
+ readonly elevation: {
2525
+ low: Elevation;
2526
+ mid: Elevation;
2527
+ high: Elevation;
2528
+ };
2529
+ readonly motion: {
2530
+ readonly ease: {
2531
+ readonly enter: "back.out(1.8)";
2532
+ readonly exit: string;
2533
+ readonly move: string;
2534
+ readonly snap: string;
2535
+ };
2536
+ readonly speed: {
2537
+ readonly fast: 6;
2538
+ readonly base: 12;
2539
+ readonly slow: 24;
2540
+ };
2541
+ readonly spring: {
2542
+ readonly settle: {
2543
+ readonly stiffness: 300;
2544
+ readonly damping: 26;
2545
+ };
2546
+ readonly base: {
2547
+ readonly stiffness: 340;
2548
+ readonly damping: 22;
2549
+ };
2550
+ readonly pop: {
2551
+ readonly stiffness: 400;
2552
+ readonly damping: 14;
2553
+ };
2554
+ };
2555
+ };
2556
+ readonly scale: 1;
2557
+ readonly radius: {
2558
+ sm: number;
2559
+ md: number;
2560
+ lg: number;
2561
+ pill: number;
2562
+ };
2563
+ readonly stroke: {
2564
+ hair: number;
2565
+ base: number;
2566
+ bold: number;
2567
+ };
2568
+ readonly mode: "dark";
2569
+ readonly color: {
2570
+ readonly bg: "#000000";
2571
+ readonly surface: "#111111";
2572
+ readonly raised: "#1c1c1c";
2573
+ readonly line: "#333333";
2574
+ readonly ink: "#ffffff";
2575
+ readonly muted: "#a3a3a3";
2576
+ readonly accent: "#c6ff00";
2577
+ readonly accent2: "#ff2e88";
2578
+ readonly positive: "#00e676";
2579
+ readonly negative: "#ff1744";
2580
+ readonly highlight: "#c6ff00";
2581
+ readonly shadow: "#000000";
2582
+ };
2583
+ readonly font: {
2584
+ display: string;
2585
+ body: string;
2586
+ mono: string;
2587
+ hand?: string;
2588
+ };
2589
+ readonly weight: {
2590
+ regular: number;
2591
+ medium: number;
2592
+ semibold: number;
2593
+ bold: number;
2594
+ heavy: number;
2595
+ };
2596
+ };
2597
+ };
2598
+ type ThemeName = keyof typeof themes;
2513
2599
  /**
2514
- * The boxes characters [start, end) cover: one rect per line, spanning the
2515
- * glyphs' advances, `lineHeight` tall. Whitespace at a line's ends is
2516
- * excluded.
2600
+ * Merge a partial theme over a base (default `themes.graphite`). Throws when
2601
+ * `ink` on `surface` falls below WCAG 4.5:1 and both are hex colors.
2517
2602
  */
2518
- declare function rangeRects(metrics: Metrics$1, start: number, end: number, options: MeasureOptions): Rect[];
2603
+ declare function defineTheme(input?: ThemeInput | Theme, base?: Theme): Theme;
2604
+ /** A theme's duration token in frames at `fps`. */
2605
+ declare function themeFrames(theme: Theme, speed: keyof Theme["motion"]["speed"], fps?: number): number;
2519
2606
  //#endregion
2520
2607
  //#region src/core/host.d.ts
2521
2608
  /** Photoshop-style layer styles (framefields' `LayerStyle`). Omitted styles are off. */
@@ -3417,97 +3504,6 @@ interface FontNeed {
3417
3504
  }
3418
3505
  declare function defineMeta(meta: ComponentMeta): ComponentMeta;
3419
3506
  //#endregion
3420
- //#region src/core/targets.d.ts
3421
- type Anchor = "center" | "top" | "bottom" | "left" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right"
3422
- /** Where a pointer should land: the centre, or mid-left for text. */ | "tip";
3423
- /** A node as targets read it: absolute numeric geometry, or text. */
3424
- interface TargetNode {
3425
- id?: string;
3426
- kind?: string;
3427
- x?: unknown;
3428
- y?: unknown;
3429
- width?: unknown;
3430
- height?: unknown;
3431
- text?: unknown;
3432
- content?: unknown;
3433
- [key: string]: unknown;
3434
- }
3435
- /** The frame context signals are read with. */
3436
- interface FrameContextLike {
3437
- frame: number;
3438
- fps: number;
3439
- time: number;
3440
- duration: number;
3441
- durationMs: number;
3442
- progress: number;
3443
- deltaTime: number;
3444
- }
3445
- /** A per-frame value: a signal (what tracked objects expose) or a function. */
3446
- type FrameValue = {
3447
- get(ctx?: FrameContextLike): number;
3448
- } | ((frame: number) => number);
3449
- interface TrackedObjectLike {
3450
- x: FrameValue;
3451
- y: FrameValue;
3452
- width: FrameValue;
3453
- height: FrameValue;
3454
- }
3455
- type Target = Vec2$1 | Rect | {
3456
- node: TargetNode;
3457
- anchor?: Anchor;
3458
- } | {
3459
- text: TargetNode;
3460
- match?: string | RegExp;
3461
- range?: [number, number];
3462
- nth?: number;
3463
- anchor?: Anchor;
3464
- } | {
3465
- track: TrackedObjectLike;
3466
- anchor?: Anchor;
3467
- } | ((frame: number) => Vec2$1 | Rect);
3468
- interface TargetContext {
3469
- measure?: MeasureFn;
3470
- /** Frame rate signals are sampled at (tracked targets). Default 30. */
3471
- fps?: number;
3472
- /** Font defaults for text nodes that don't set them. */
3473
- textDefaults?: Partial<MeasureOptions>;
3474
- }
3475
- type ResolvedTarget = {
3476
- kind: "static";
3477
- rects: Rect[];
3478
- anchor: Anchor;
3479
- } | {
3480
- kind: "dynamic";
3481
- at: (frame: number) => Rect;
3482
- anchor: Anchor;
3483
- };
3484
- /** Resolve a target to rects (static) or a per-frame rect (dynamic). */
3485
- declare function resolveTarget(target: Target, ctx?: TargetContext): ResolvedTarget;
3486
- /** A text target's string, measured glyphs and range, and where the node sits. */
3487
- interface TextLayout {
3488
- content: string;
3489
- metrics: ReturnType<MeasureFn>;
3490
- options: MeasureOptions;
3491
- range: [number, number];
3492
- /** The node's x / y: add to measured glyph positions. */
3493
- x: number;
3494
- y: number;
3495
- }
3496
- /** Measure a text target the way the renderer lays it out. */
3497
- declare function textLayout(target: Extract<Target, {
3498
- text: TargetNode;
3499
- }>, ctx: TargetContext): TextLayout;
3500
- /** The union rect of `rects`. */
3501
- declare function boundsOf(rects: readonly Rect[]): Rect;
3502
- /** The point of `rect` named by `anchor`. `tip` on text = start of the first line, mid-height. */
3503
- declare function anchorPoint(rect: Rect, anchor?: Anchor, isText?: boolean): Vec2$1;
3504
- /** The point a resolved target names at `frame` (static targets ignore frame). */
3505
- declare function targetPoint(resolved: ResolvedTarget, frame?: number, isText?: boolean): Vec2$1;
3506
- //#endregion
3507
- //#region src/core/schemas.d.ts
3508
- /** Any `Target`: [x, y], a rect, { node }, { text }, { track }, or (frame) => point. */
3509
- declare function targetSchema(): z.ZodType<Target>;
3510
- //#endregion
3511
3507
  //#region src/core/surface.d.ts
3512
3508
  type ElevationLevel = keyof Theme["elevation"];
3513
3509
  /** Layer styles for `level`: a drop shadow and, when the theme asks, a top-edge highlight. */
@@ -3564,6 +3560,13 @@ declare function chain(durations: readonly number[], start?: number, gap?: numbe
3564
3560
  declare function typingFrames(text: string, cps: number, fps: number, r: Rng, start?: number): number[];
3565
3561
  //#endregion
3566
3562
  //#endregion
3563
+ //#region ../components/dist/toolkit.d.mts
3564
+ //#region src/core/schemas.d.ts
3565
+
3566
+ /** Any `Target`: [x, y], a rect, { node }, { text }, { track }, or (frame) => point. */
3567
+ declare function targetSchema(): z.ZodType<Target>;
3568
+ //#endregion
3569
+ //#endregion
3567
3570
  //#region ../ai/dist/index.d.mts
3568
3571
  //#region src/types.d.ts
3569
3572
  /** Model input or output when its shape isn't declared. Pass a type argument to name it. */
@@ -3880,7 +3883,7 @@ declare const DEFAULT_CHART_COLORS: readonly ["#6366f1", "#22d3ee", "#f59e0b", "
3880
3883
  //#region src/clip-vision.d.ts
3881
3884
  type PoseKeypointName = (typeof COCO17_KEYPOINT_NAMES)[number];
3882
3885
  interface ClipVisionOptions {
3883
- /** Prompted SAM 2.1 (Tiny or Small) video segmentation. Pose is opt-in in this mode. */
3886
+ /** Prompted SAM 2.1 (Tiny or Small) video segmentation. Pose is opt-in in this mode, as with sam3. */
3884
3887
  sam2?: Sam2Options;
3885
3888
  /** SAM 3 point/box or text selection with temporal tracking. Mutually exclusive with sam2. */
3886
3889
  sam3?: Sam3Options;
@@ -3896,7 +3899,10 @@ interface ClipVisionOptions {
3896
3899
  durationFrames?: number;
3897
3900
  /** Analysis frame rate (default: the composition's). */
3898
3901
  fps?: number;
3899
- /** Track 17 COCO keypoints (default true). */
3902
+ /**
3903
+ * Track 17 COCO keypoints (default true; opt-in with sam2/sam3, where each frame's pose
3904
+ * is the detected person whose keypoints fall most inside the selection).
3905
+ */
3900
3906
  pose?: boolean;
3901
3907
  /** Track the person's silhouette, dress and held things included (default true). */
3902
3908
  mask?: boolean;
@@ -4021,6 +4027,20 @@ declare class ClipVision implements ClipSubjectSource {
4021
4027
  * subjects kept, null when it holds no subject.
4022
4028
  */
4023
4029
  subject(frame: number, fps: number): InstanceMask | null | undefined;
4030
+ /**
4031
+ * @internal The pose matched to the subject at a source frame of the clip
4032
+ * (`frame` at `fps`), normalized to the source size, for a render-time
4033
+ * skeleton: undefined until that frame and its smoothing window are
4034
+ * analysed, null when no pose matched there.
4035
+ */
4036
+ pose(frame: number, fps: number): ClipPose | null | undefined;
4037
+ /** Whether frames carry keypoints: on by default, opt-in for prompted (SAM) clips. */
4038
+ get tracksPose(): boolean;
4039
+ /**
4040
+ * The analysed source frame a render-time read at `frame` (at `fps`) maps to;
4041
+ * undefined for an unprompted clip read between its analysed frames.
4042
+ */
4043
+ private sourceFrame;
4024
4044
  /** Composition frame → clip frame (fractional). */
4025
4045
  clipFrame(frame: number): number;
4026
4046
  private localFrame;
@@ -6452,13 +6472,15 @@ declare class Composition {
6452
6472
  */
6453
6473
  prepareVision(frame: number): Promise<void>;
6454
6474
  /**
6455
- * Points matte-family `withVision` layers at the `comp.vision` clip they
6456
- * show, so the cutout reuses that clip's per-frame subject instead of
6457
- * segmenting the frame again during render. Only layers whose settings
6458
- * would give the same subject are linked; the rest keep their own pass.
6475
+ * Points matte-family and skeleton `withVision` layers at the `comp.vision`
6476
+ * clip they show, so the cutout reuses that clip's per-frame subject and the
6477
+ * skeleton draws its matched pose, instead of analysing the frame again
6478
+ * during render. Only layers whose settings would give the same subject are
6479
+ * linked; the rest keep their own pass.
6459
6480
  */
6460
- private linkClipMattes;
6461
- private clipForMatte;
6481
+ private linkClipLayers;
6482
+ /** The `comp.vision` clip a matte or skeleton layer of the same source reads instead of analysing. */
6483
+ private clipForLayer;
6462
6484
  /**
6463
6485
  * One-shot, ffmpeg-free vision analysis of a media source.
6464
6486
  *
@@ -6844,5 +6866,5 @@ type ComponentNode<C extends Cues = Cues> = AnimatableNode<BoxNode> & ComponentE
6844
6866
  */
6845
6867
  declare function bindComponent<S$1 extends z.ZodRawShape, C extends Cues, E extends object = object>(definition: ComponentDefinition<S$1, C, E>): (props: z.input<z.ZodObject<S$1>> & BaseProps) => ComponentNode<C> & E;
6846
6868
  //#endregion
6847
- export { InterpolateOptions as $, toPathData as $a, drawOnKeys as $i, FRAMEFIELDS_AI_PROXY_URL as $n, MaterialType as $o, MotionSize as $r, Swarm3DOptions as $t, SubjectSandwichOptions as A, resolveTarget as Aa, anchorPoint as Ai, ChartSeries as An, ColorStopSchema as Ao, ExtrudedTextOptions as Ar, TextSpanSchema as As, Grid3DOptions as At, FieldSample2D as B, springTrack as Ba, bind as Bi, color as Bn, EnvironmentPresetSchema as Bo, GrainOptions as Br, computeLayout as Bs, Primitive3DNodeOptions as Bt, Sam3Options$1 as C, parseColor as Ca, TrackedObjectLike as Ci, PoseKeypointName as Cn, CameraNodeSchema as Co, Cue as Cr, SpringOptions as Cs, Carousel3DOptions as Ct, SectionOptions as D, rendererChars as Da, WordRange as Di, ChartDatum as Dn, CarrierState as Do, EaseFn as Dr, TextNode as Ds, Cylinder3DOptions as Dt, SectionNode as E, rangeRects as Ea, Vec2$1 as Ei, ChartCandle as En, CarrierHandoffConfigSchema as Eo, CutoutOptions as Er, TextAnimatorSchema as Es, CubeFaceInput as Et, section as F, scheduleExpression as Fa, bakeFunction as Fi, MarkOptions as Fn, EnvironmentFloor as Fo, FrameWindow as Fr, applyStaggerToChildren as Fs, Layer3D as Ft, PhysicsSpringOptions as G, supersede as Ga, chain as Gi, rich as Gn, KeyframeTuple as Go, MOTION_PRESETS as Gr, hoistMattes as Gs, Shape3DContainer as Gt, PhysicsGroundOptions as H, staggerOffsets as Ha, boundsOf as Hi, mark as Hn, FlexNodeSchema as Ho, Host as Hr, computeStaggerDelay as Hs, Pyramid3DOptions as Ht, StyleName as I, smoothRelease as Ia, bakeSamples as Ii, TextSpanItem as In, EnvironmentFloorSchema as Io, GlyphAnimator as Ir, calculateSequenceTimeline as Is, Line3DOptions as It, World2DOptions as J, targetSchema as Ja, cover as Ji, sub as Jn, LayoutNodeSchema as Jo, MediaOptions as Jr, Sphere3DOptions as Jt, PhysicsWallsOptions as K, surfaceFill as Ka, constantExpression as Ki, size as Kn, LayerAnimation as Ko, MeasureFn as Kr, lintComposition as Ks, Shard3DOptions as Kt, Styles as L, springAt as La, bandEdges as Li, accent as Ln, EnvironmentFog as Lo, GlyphBox as Lr, collectNodeOps as Ls, Plane3DOptions as Lt, TrackedRegionOptions as M, round as Ma, arrowPaths as Mi, ChartType as Mn, CompositorProgramSchema as Mo, FontRole as Mr, ToneMappingSchema as Ms, InstanceTransform3D as Mt, blurRegion as N, safeArea as Na, ascending as Ni, ChartX as Nn, CompositorToProgramOptions as No, FrameContextLike as Nr, TrackSource as Ns, Instances3DOptions as Nt, SmartFramingOptions as O, resampleBands as Oa, after as Oi, ChartOptions as On, ColorSignalOptions as Oo, Elevation as Or, TextNodeSchema as Os, ExtrudeShape3DOptions as Ot, editTrackedRegion as P, scaleFrames as Pa, audioLevelsSchema as Pi, DEFAULT_CHART_COLORS as Pn, EaseRef as Po, FrameValue as Pr, WiggleOptions as Ps, Lathe3DOptions as Pt, Easing as Q, toFrames as Qa, dist as Qi, ApiError as Qn, LightTypeSchema as Qo, MotionPresetName as Qr, Tube3DOptions as Qt, Physics as R, springKeys as Ra, basePropsSchema as Ri, bold as Rn, EnvironmentFogSchema as Ro, GlyphProps as Rr, compositorToProgram as Rs, Points3DOptions as Rt, Sam2Prompt as S, offsetCues as Sa, Track as Si, PersonTrack as Sn, CameraNode as So, ComponentMeta as Sr, SizeSpec as Ss, Capsule3DOptions as St, Sam3Prompt as T, quantize as Ta, UnitSchedule as Ti, ChartAxisOptions as Tn, CarrierHandoffConfig as To, CuesOf as Tr, TextAnimator as Ts, CubeFaceConfig as Tt, PhysicsRect as U, staggerRanks as Ua, boxPath as Ui, normalizeTextSpans as Un, FromToOptions as Uo, KeyBook as Ur, evaluateAnimationAtFrame as Us, Ring3DOptions as Ut, PhysicsBody2D as V, squigglePath as Va, boilKeys as Vi, italic as Vn, FlexNode as Vo, HandOptions as Vr, computeLayoutSync as Vs, Prism3DOptions as Vt, PhysicsRopeOptions as W, stepExpression as Wa, catmullRom as Wi, parseMarkup as Wn, Keyframe as Wo, LayerStyleConfig as Wr, evaluateTrackAtFrame as Ws, RoundedBox3DOptions as Wt, LightingRig as X, themeFrames as Xa, defineMeta as Xi, Ai as Xn, LightNodeSchema as Xo, MotionOptions as Xr, Text3DOptions as Xt, Lighting as Y, textLayout as Ya, defineComponent as Yi, sup as Yn, LightNode as Yo, Metrics$1 as Yr, Surface3DOptions as Yt, LightingRigOptions as Z, themes as Za, defineTheme as Zi, AiConfig as Zn, LightType as Zo, MotionPreset as Zr, Torus3DOptions as Zt, RenderVideoResult as _, lerp2 as _a, TargetNode as _i, ParticleBounds as _n, BoxNode as _o, BuildResult as _r, SequenceTimelineResult as _s, SequenceEntry as _t, AnimatableNode as a, evaluateEase as aa, Rect as ai, PhysicsSpring3DOptions as an, windowExpression as ao, AnalyzeOptions as ar, MediaNodeSchema as as, computeStrokeRect as at, Sam2Options$1 as b, luminance as ba, ThemeInput as bi, ClipVisionOptions as bn, CameraDoF as bo, ComponentDefinition as br, ShapeNodeSchema as bs, TransitionDirection as bt, CompositionOptions as c, findRange as ca, Rgba as ci, Particles as cn, within as co, AnimatableMethods as cr, Model3DNodeSchema as cs, measureSpring as ct, EnvironmentOptions as d, hashRng as da, SafeInsets as di, PhysicsBakeOptions as dn, AnimatableProp as do, ArrowGeometry as dr, SceneDefinitionSchema as ds, preloadCompositionFonts as dt, ease$1 as ea, ParticleOptions as ei, Body3DOptions as en, toSeconds as eo, QueueStatus as er, MaterialTypeSchema as es, SpringConfig as et, Layer as f, hashString as fa, Spring as fi, PhysicsCollision as fn, AnimatablePropsFor as fo, AudioLevels as fr, SceneOptions as fs, preloadFont as ft, RenderVideoOptions as g, last as ga, TargetContext as gi, ParticleBlend as gn, BloomConfigSchema as go, BuildContext as gr, SequenceOptions as gs, SceneSequenceOptions as gt, NodeCapability as h, isLight as ha, Target as hi, EmitterShape as hn, BloomConfig as ho, BaseProps as hr, Sequence as hs, springCalculation as ht, analyzeAudio as i, enterAnimation as ia, PulseOptions as ii, PhysicsRope3DOptions as in, valueAt as io, ai as ir, MediaNode as is, bezier as it, TrackEditing as j, rng as ja, arcPath as ji, ChartSlice as jn, CompositorProgramConfig as jo, FontNeed as jr, ToneMapping as js, Icosphere3DOptions as jt, SubjectOutlineOptions as k, resolveMotion as ka, analyzeChannels as ki, ChartPadding as kn, ColorStop as ko, ElevationLevel as kr, TextSpanMarkSchema as ks, ExtrudedText3DOptions as kt, EditableObjectTrack as l, frameSpan as la, Rng as li, ParticlesOptions as ln, wobblePoints as lo, ArcPath as lr, Scene as ls, measureText as lt, Media as m, inkOn as ma, SyntaxKind as mi, PhysicsWorldOptions as mn, BlockNode as mo, BakedKey as mr, SceneTransitionTypeSchema as ms, spring as mt, bindComponent as n, elevationStyle as na, ProjectDefaults as ni, PhysicsBody3D as nn, transparent as no, RunOptions as nr, MatteModeSchema as ns, TextMeasureResult as nt, CompatibleEffect as o, evaluateGlyphExpression as oa, ResolvedMotion as oi, PhysicsWorld3D as on, withAlpha as oo, Anchor as or, Model3DAnimatableProp as os, interpolate as ot, Light as p, holdFirstKeys as pa, StaggerOrder as pi, PhysicsDriver as pn, AnimationTrack as po, BakeOptions as pr, SceneTransitionType as ps, requiresIsolation as pt, PhysicsWorld2D as q, targetPoint as qa, contrastRatio as qi, span as qn, LayoutNode as qo, MeasureOptions as qr, mergeAnimationTracks as qs, SolidShape3DNode as qt, z$2 as r, ellipsePath as ra, PropsOf as ri, PhysicsBox3D as rn, typingFrames as ro, ValidationError as rr, MediaAnimatableProp as rs, TextMeasureStyle as rt, Composition as s, exitAnimation as sa, ResolvedTarget as si, World3DOptions as sn, withDefaults as so, Animatable as sr, Model3DNode as ss, mapBlendModeToSkia as st, ComponentNode as t, elevate as ta, Placement as ti, FieldSample3D as tn, transformPathData as to, Result as tr, MatteMode as ts, StrokeRect as tt, Effect as u, glyphAnimator as ua, SAFE_INSETS as ui, BodyCommonOptions as un, wordRanges as uo, ArrowCurve as ur, SceneDefinition as us, measureTextAsync as ut, Sam2FrameResult as v, linePath as va, TextLayout as vi, ParticleShape as vn, BoxNodeSchema as vo, CanvasSize as vr, ShapeAnimatableProp as vs, SequenceNode as vt, Sam3Precision as w, pulseKeys as wa, UNIT_INDEX as wi, ChartAnimationOptions as wn, CameraShake as wo, Cues as wr, TextAnimatableProp as ws, Cube3DOptions as wt, Sam2Point as x, mix as xa, ThemeName as xi, PersonPlacement as xn, CameraLens as xo, ComponentExtras as xr, SignalTrackOptions as xs, TransitionSpec as xt, Sam2Model as y, lineShift as ya, Theme as yi, ClipVision as yn, CameraAnimation as yo, ComponentDefaults as yr, ShapeNode as ys, Transition as yt, Body2DOptions as z, springSettleFrames as za, beats as zi, code as zn, EnvironmentPreset as zo, GlyphUnit as zr, computeCarrierContinuity as zs, Polyhedron3DOptions as zt };
6848
- //# sourceMappingURL=index-CZjrnylh.d.mts.map
6869
+ export { mapBlendModeToSkia as $, withDefaults as $a, evaluateGlyphExpression as $i, Anchor as $n, Model3DNode as $o, ResolvedMotion as $r, World3DOptions as $t, Physics as A, springAt as Aa, bandEdges as Ai, bold as An, EnvironmentFogSchema as Ao, GlyphBox as Ar, compositorToProgram as As, Points3DOptions as At, World2DOptions as B, targetPoint as Ba, contrastRatio as Bi, sub as Bn, LayoutNodeSchema as Bo, MeasureOptions as Br, Sphere3DOptions as Bt, TrackEditing as C, resolveTarget as Ca, anchorPoint as Ci, ChartSlice as Cn, CompositorProgramConfig as Co, ExtrudedTextOptions as Cr, ToneMapping as Cs, Icosphere3DOptions as Ct, section as D, scaleFrames as Da, audioLevelsSchema as Di, MarkOptions as Dn, EnvironmentFloor as Do, FrameValue as Dr, applyStaggerToChildren as Ds, Layer3D as Dt, editTrackedRegion as E, safeArea as Ea, ascending as Ei, DEFAULT_CHART_COLORS as En, EaseRef as Eo, FrameContextLike as Er, WiggleOptions as Es, Lathe3DOptions as Et, PhysicsRect as F, staggerOffsets as Fa, boundsOf as Fi, normalizeTextSpans as Fn, FromToOptions as Fo, Host as Fr, evaluateAnimationAtFrame as Fs, Ring3DOptions as Ft, InterpolateOptions as G, toPathData as Ga, dist as Gi, FRAMEFIELDS_AI_PROXY_URL as Gn, MaterialType as Go, MotionPresetName as Gr, Swarm3DOptions as Gt, LightingRig as H, themeFrames as Ha, defineComponent as Hi, Ai as Hn, LightNodeSchema as Ho, Metrics$1 as Hr, Text3DOptions as Ht, PhysicsRopeOptions as I, staggerRanks as Ia, boxPath as Ii, parseMarkup as In, Keyframe as Io, KeyBook as Ir, evaluateTrackAtFrame as Is, RoundedBox3DOptions as It, TextMeasureResult as J, transparent as Ja, elevate as Ji, RunOptions as Jn, MatteModeSchema as Jo, Placement as Jr, PhysicsBody3D as Jt, SpringConfig as K, toSeconds as Ka, drawOnKeys as Ki, QueueStatus as Kn, MaterialTypeSchema as Ko, MotionSize as Kr, Body3DOptions as Kt, PhysicsSpringOptions as L, stepExpression as La, catmullRom as Li, rich as Ln, KeyframeTuple as Lo, LayerStyleConfig as Lr, hoistMattes as Ls, Shape3DContainer as Lt, FieldSample2D as M, springSettleFrames as Ma, beats as Mi, color as Mn, EnvironmentPresetSchema as Mo, GlyphUnit as Mr, computeLayout as Ms, Primitive3DNodeOptions as Mt, PhysicsBody2D as N, springTrack as Na, bind as Ni, italic as Nn, FlexNode as No, GrainOptions as Nr, computeLayoutSync as Ns, Prism3DOptions as Nt, StyleName as O, scheduleExpression as Oa, bakeFunction as Oi, TextSpanItem as On, EnvironmentFloorSchema as Oo, FrameWindow as Or, calculateSequenceTimeline as Os, Line3DOptions as Ot, PhysicsGroundOptions as P, squigglePath as Pa, boilKeys as Pi, mark as Pn, FlexNodeSchema as Po, HandOptions as Pr, computeStaggerDelay as Ps, Pyramid3DOptions as Pt, interpolate as Q, withAlpha as Qa, evaluateEase as Qi, AnalyzeOptions as Qn, Model3DAnimatableProp as Qo, Rect as Qr, PhysicsWorld3D as Qt, PhysicsWallsOptions as R, supersede as Ra, chain as Ri, size as Rn, LayerAnimation as Ro, MOTION_PRESETS as Rr, lintComposition as Rs, Shard3DOptions as Rt, SubjectSandwichOptions as S, resolveMotion as Sa, analyzeChannels as Si, ChartSeries as Sn, ColorStopSchema as So, ElevationLevel as Sr, TextSpanSchema as Ss, Grid3DOptions as St, blurRegion as T, round as Ta, arrowPaths as Ti, ChartX as Tn, CompositorToProgramOptions as To, FontRole as Tr, TrackSource as Ts, Instances3DOptions as Tt, LightingRigOptions as U, themes as Ua, defineMeta as Ui, AiConfig as Un, LightType as Uo, MotionOptions as Ur, Torus3DOptions as Ut, Lighting as V, textLayout as Va, cover as Vi, sup as Vn, LightNode as Vo, MediaOptions as Vr, Surface3DOptions as Vt, Easing as W, toFrames as Wa, defineTheme as Wi, ApiError as Wn, LightTypeSchema as Wo, MotionPreset as Wr, Tube3DOptions as Wt, bezier as X, valueAt as Xa, ellipsePath as Xi, ai as Xn, MediaNode as Xo, PropsOf as Xr, PhysicsRope3DOptions as Xt, TextMeasureStyle as Y, typingFrames as Ya, elevationStyle as Yi, ValidationError as Yn, MediaAnimatableProp as Yo, ProjectDefaults as Yr, PhysicsBox3D as Yt, computeStrokeRect as Z, windowExpression as Za, enterAnimation as Zi, targetSchema as Zn, MediaNodeSchema as Zo, PulseOptions as Zr, PhysicsSpring3DOptions as Zt, RenderVideoResult as _, pulseKeys as _a, UNIT_INDEX as _i, ChartAxisOptions as _n, CarrierHandoffConfig as _o, Cues as _r, TextAnimator as _s, CubeFaceConfig as _t, AnimatableNode as a, hashString as aa, Spring as ai, PhysicsDriver as an, AnimationTrack as ao, AudioLevels as ar, SceneTransitionType as as, requiresIsolation as at, SmartFramingOptions as b, rendererChars as ba, WordRange as bi, ChartOptions as bn, ColorSignalOptions as bo, EaseFn as br, TextNodeSchema as bs, ExtrudeShape3DOptions as bt, CompositionOptions as c, isLight as ca, Target as ci, ParticleBlend as cn, BloomConfigSchema as co, BaseProps as cr, SequenceOptions as cs, SceneSequenceOptions as ct, EnvironmentOptions as d, linePath as da, TextLayout as di, ClipVision as dn, CameraAnimation as do, CanvasSize as dr, ShapeNode as ds, Transition as dt, exitAnimation as ea, ResolvedTarget as ei, Particles as en, within as eo, Animatable as er, Model3DNodeSchema as es, measureSpring as et, Layer as f, lineShift as fa, Theme as fi, ClipVisionOptions as fn, CameraDoF as fo, ComponentDefaults as fr, ShapeNodeSchema as fs, TransitionDirection as ft, RenderVideoOptions as g, parseColor as ga, TrackedObjectLike as gi, ChartAnimationOptions as gn, CameraShake as go, Cue as gr, TextAnimatableProp as gs, Cube3DOptions as gt, NodeCapability as h, offsetCues as ha, Track as hi, PoseKeypointName as hn, CameraNodeSchema as ho, ComponentMeta as hr, SpringOptions as hs, Carousel3DOptions as ht, analyzeAudio as i, hashRng as ia, SafeInsets as ii, PhysicsCollision as in, AnimatablePropsFor as io, ArrowGeometry as ir, SceneOptions as is, preloadFont as it, Body2DOptions as j, springKeys as ja, basePropsSchema as ji, code as jn, EnvironmentPreset as jo, GlyphProps as jr, computeCarrierContinuity as js, Polyhedron3DOptions as jt, Styles as k, smoothRelease as ka, bakeSamples as ki, accent as kn, EnvironmentFog as ko, GlyphAnimator as kr, collectNodeOps as ks, Plane3DOptions as kt, EditableObjectTrack as l, last as la, TargetContext as li, ParticleBounds as ln, BoxNode as lo, BuildContext as lr, SequenceTimelineResult as ls, SequenceEntry as lt, Media as m, mix as ma, ThemeName as mi, PersonTrack as mn, CameraNode as mo, ComponentExtras as mr, SizeSpec as ms, Capsule3DOptions as mt, bindComponent as n, frameSpan as na, Rng as ni, BodyCommonOptions as nn, wordRanges as no, ArcPath as nr, SceneDefinition as ns, measureTextAsync as nt, CompatibleEffect as o, holdFirstKeys as oa, StaggerOrder as oi, PhysicsWorldOptions as on, BlockNode as oo, BakeOptions as or, SceneTransitionTypeSchema as os, spring as ot, Light as p, luminance as pa, ThemeInput as pi, PersonPlacement as pn, CameraLens as po, ComponentDefinition as pr, SignalTrackOptions as ps, TransitionSpec as pt, StrokeRect as q, transformPathData as qa, ease$1 as qi, Result as qn, MatteMode as qo, ParticleOptions as qr, FieldSample3D as qt, z$2 as r, glyphAnimator as ra, SAFE_INSETS as ri, PhysicsBakeOptions as rn, AnimatableProp as ro, ArrowCurve as rr, SceneDefinitionSchema as rs, preloadCompositionFonts as rt, Composition as s, inkOn as sa, SyntaxKind as si, EmitterShape as sn, BloomConfig as so, BakedKey as sr, Sequence as ss, springCalculation as st, ComponentNode as t, findRange as ta, Rgba as ti, ParticlesOptions as tn, wobblePoints as to, AnimatableMethods as tr, Scene as ts, measureText as tt, Effect as u, lerp2 as ua, TargetNode as ui, ParticleShape as un, BoxNodeSchema as uo, BuildResult as ur, ShapeAnimatableProp as us, SequenceNode as ut, SectionNode as v, quantize as va, UnitSchedule as vi, ChartCandle as vn, CarrierHandoffConfigSchema as vo, CuesOf as vr, TextAnimatorSchema as vs, CubeFaceInput as vt, TrackedRegionOptions as w, rng as wa, arcPath as wi, ChartType as wn, CompositorProgramSchema as wo, FontNeed as wr, ToneMappingSchema as ws, InstanceTransform3D as wt, SubjectOutlineOptions as x, resampleBands as xa, after as xi, ChartPadding as xn, ColorStop as xo, Elevation as xr, TextSpanMarkSchema as xs, ExtrudedText3DOptions as xt, SectionOptions as y, rangeRects as ya, Vec2$1 as yi, ChartDatum as yn, CarrierState as yo, CutoutOptions as yr, TextNode as ys, Cylinder3DOptions as yt, PhysicsWorld2D as z, surfaceFill as za, constantExpression as zi, span as zn, LayoutNode as zo, MeasureFn as zr, mergeAnimationTracks as zs, SolidShape3DNode as zt };
6870
+ //# sourceMappingURL=index-B9Lm1x8i.d.mts.map