framefields 2.4.1 → 2.4.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 (448) hide show
  1. package/README.md +11 -33
  2. package/dist/audio/index.d.mts +4 -4
  3. package/dist/audio/index.mjs +10 -10
  4. package/dist/{audio-DHuEMOtQ.d.mts → audio-BymXfAvH.d.mts} +3 -3
  5. package/dist/{audio-DHuEMOtQ.d.mts.map → audio-BymXfAvH.d.mts.map} +1 -1
  6. package/dist/{audio-CPApYcWF.mjs → audio-BzHHpImj.mjs} +4 -4
  7. package/dist/{audio-CPApYcWF.mjs.map → audio-BzHHpImj.mjs.map} +1 -1
  8. package/dist/{dist-SB9qfAko.mjs → dist-Bo2_zeCn.mjs} +2 -2
  9. package/dist/{dist-SB9qfAko.mjs.map → dist-Bo2_zeCn.mjs.map} +1 -1
  10. package/dist/{dist-CrK3rmyN.mjs → dist-DMa2BbYs.mjs} +45 -5
  11. package/dist/{dist-CrK3rmyN.mjs.map → dist-DMa2BbYs.mjs.map} +1 -1
  12. package/dist/{dist-ClyC_d66.mjs → dist-TrtLGPvc.mjs} +117 -40
  13. package/dist/dist-TrtLGPvc.mjs.map +1 -0
  14. package/dist/{dist-CspOG4V1.mjs → dist-hmWTJPik.mjs} +2 -2
  15. package/dist/{dist-CspOG4V1.mjs.map → dist-hmWTJPik.mjs.map} +1 -1
  16. package/dist/effects/index.d.mts +5 -5
  17. package/dist/effects/index.mjs +35 -35
  18. package/dist/{effects-DxylPSuI.mjs → effects-CiZjSwIh.mjs} +71 -3
  19. package/dist/effects-CiZjSwIh.mjs.map +1 -0
  20. package/dist/fonts/index.mjs +2 -2
  21. package/dist/{fonts-CsMDfqv9.mjs → fonts-Da1JDKpc.mjs} +2 -2
  22. package/dist/{fonts-CsMDfqv9.mjs.map → fonts-Da1JDKpc.mjs.map} +1 -1
  23. package/dist/{gpu-DtT5I4ME.mjs → gpu-CHIgM_YH.mjs} +2 -2
  24. package/dist/{gpu-DtT5I4ME.mjs.map → gpu-CHIgM_YH.mjs.map} +1 -1
  25. package/dist/{index-B1XcyMm8.d.mts → index-B0BZMhtw.d.mts} +7 -7
  26. package/dist/index-B0BZMhtw.d.mts.map +1 -0
  27. package/dist/{index-B2Xesdug.d.mts → index-CJkihekp.d.mts} +293 -143
  28. package/dist/index-CJkihekp.d.mts.map +1 -0
  29. package/dist/{index-DujpgUUq.d.mts → index-DGe83M-p.d.mts} +240 -152
  30. package/dist/index-DGe83M-p.d.mts.map +1 -0
  31. package/dist/{index-BxARm93R.d.mts → index-DIvWBm-q.d.mts} +41 -12
  32. package/dist/index-DIvWBm-q.d.mts.map +1 -0
  33. package/dist/{index-C0o3lLyA.d.mts → index-Dwf76Qep.d.mts} +16 -4
  34. package/dist/index-Dwf76Qep.d.mts.map +1 -0
  35. package/dist/{index-D-l-yCv6.d.mts → index-WMofVN02.d.mts} +3 -3
  36. package/dist/{index-D-l-yCv6.d.mts.map → index-WMofVN02.d.mts.map} +1 -1
  37. package/dist/index.d.mts +143 -73
  38. package/dist/index.d.mts.map +1 -1
  39. package/dist/index.mjs +165 -165
  40. package/dist/index.mjs.map +1 -1
  41. package/dist/preview/index.d.mts +2 -2
  42. package/dist/preview/index.mjs +10 -10
  43. package/dist/{preview-D2dMmokw.mjs → preview-5E4B96RD.mjs} +2 -2
  44. package/dist/{preview-D2dMmokw.mjs.map → preview-5E4B96RD.mjs.map} +1 -1
  45. package/dist/preview-engine/audio.mjs +1 -1
  46. package/dist/preview-engine/{chunk-3ACCCPBN.mjs → chunk-37P2KIFE.mjs} +1 -1
  47. package/dist/preview-engine/{chunk-GNG4YH2W.mjs → chunk-3SOD7OTO.mjs} +1 -1
  48. package/dist/preview-engine/{chunk-DOCSX45C.mjs → chunk-54HE34HO.mjs} +1 -1
  49. package/dist/preview-engine/{chunk-WJJIISQJ.mjs → chunk-5CWQHYQP.mjs} +1 -1
  50. package/dist/preview-engine/{chunk-Z6UKUHPU.mjs → chunk-5EVEGKWT.mjs} +1 -1
  51. package/dist/preview-engine/chunk-5JSSXOBB.mjs +1 -0
  52. package/dist/preview-engine/chunk-5SVJIGPK.mjs +1 -0
  53. package/dist/preview-engine/{chunk-5RQHNB6Y.mjs → chunk-6MBYREBG.mjs} +1 -1
  54. package/dist/preview-engine/{chunk-WACWOKEP.mjs → chunk-6TGNQ5FD.mjs} +1 -1
  55. package/dist/preview-engine/{chunk-HUKAC5MJ.mjs → chunk-6WKWYUOM.mjs} +1 -1
  56. package/dist/preview-engine/{chunk-SWXVITCQ.mjs → chunk-7J4OK4VE.mjs} +1 -1
  57. package/dist/preview-engine/{chunk-O6NRIXS5.mjs → chunk-7QE6II7R.mjs} +1 -1
  58. package/dist/preview-engine/{chunk-34ACEGNW.mjs → chunk-A2775RSO.mjs} +1 -1
  59. package/dist/preview-engine/{chunk-FFGBUS76.mjs → chunk-AKYUVDKM.mjs} +1 -1
  60. package/dist/preview-engine/{chunk-6K7US2WD.mjs → chunk-AWX4YGC5.mjs} +1 -1
  61. package/dist/preview-engine/{chunk-QJZKIY4H.mjs → chunk-AY2ZIXST.mjs} +1 -1
  62. package/dist/preview-engine/{chunk-LK3T65RB.mjs → chunk-BIS3W4Z5.mjs} +1 -1
  63. package/dist/preview-engine/{chunk-7QJUC6YY.mjs → chunk-C45ROXI6.mjs} +14 -14
  64. package/dist/preview-engine/{chunk-GMGGDADT.mjs → chunk-CEIOI4HO.mjs} +1 -1
  65. package/dist/preview-engine/{chunk-5E5J4KT4.mjs → chunk-E7DH7EPX.mjs} +1 -1
  66. package/dist/preview-engine/{chunk-NNQUIVTE.mjs → chunk-EEOUHDUD.mjs} +1 -1
  67. package/dist/preview-engine/{chunk-ZKPQGQE3.mjs → chunk-FDNR4PRC.mjs} +1 -1
  68. package/dist/preview-engine/chunk-FSAELHVT.mjs +1 -0
  69. package/dist/preview-engine/{chunk-C6Z7H2RZ.mjs → chunk-GIH5QURF.mjs} +1 -1
  70. package/dist/preview-engine/{chunk-RDP6QROU.mjs → chunk-GQN35VLT.mjs} +1 -1
  71. package/dist/preview-engine/{chunk-PZF6T7DM.mjs → chunk-ILBZQLUF.mjs} +1 -1
  72. package/dist/preview-engine/{chunk-2DDBSI75.mjs → chunk-JJA4G3OU.mjs} +1 -1
  73. package/dist/preview-engine/{chunk-KAQUNOVB.mjs → chunk-JJYNYYPA.mjs} +1 -1
  74. package/dist/preview-engine/{chunk-NRAZV5OA.mjs → chunk-JTUK7ZXK.mjs} +1 -1
  75. package/dist/preview-engine/{chunk-HDGFNBYK.mjs → chunk-KJ2DTA77.mjs} +1 -1
  76. package/dist/preview-engine/{chunk-7LVOSEGN.mjs → chunk-LMZHCWXP.mjs} +1 -1
  77. package/dist/preview-engine/{chunk-A5OVKZ52.mjs → chunk-LSBCFJZM.mjs} +1 -1
  78. package/dist/preview-engine/{chunk-FLPSWDX4.mjs → chunk-MJN3LOZ7.mjs} +1 -1
  79. package/dist/preview-engine/{chunk-WCZ5DKZ4.mjs → chunk-N3PRZLZJ.mjs} +1 -1
  80. package/dist/preview-engine/{chunk-XOEEGC4Z.mjs → chunk-NVTPJUNG.mjs} +1 -1
  81. package/dist/preview-engine/{chunk-67SSYK7D.mjs → chunk-O3NOB5IB.mjs} +1 -1
  82. package/dist/preview-engine/{chunk-LIQA5OOU.mjs → chunk-O5LA63CK.mjs} +1 -1
  83. package/dist/preview-engine/chunk-OLLY3Q7M.mjs +1 -0
  84. package/dist/preview-engine/{chunk-FFMPC7QA.mjs → chunk-OZDZQMTB.mjs} +1 -1
  85. package/dist/preview-engine/chunk-PCWWKYFO.mjs +1 -0
  86. package/dist/preview-engine/{chunk-G4J662EL.mjs → chunk-S7NG26UG.mjs} +1 -1
  87. package/dist/preview-engine/{chunk-FHKBALVI.mjs → chunk-TFFG5YFI.mjs} +1 -1
  88. package/dist/preview-engine/{chunk-HNNIVJ2K.mjs → chunk-U4SQUTDV.mjs} +1 -1
  89. package/dist/preview-engine/{chunk-JX22B2FS.mjs → chunk-UDDK5QZF.mjs} +1 -1
  90. package/dist/preview-engine/{chunk-KT35IPCF.mjs → chunk-UMF7NNUA.mjs} +1 -1
  91. package/dist/preview-engine/{chunk-GQLZXCW3.mjs → chunk-UVWGZUKZ.mjs} +1 -1
  92. package/dist/preview-engine/{chunk-NQZKBFC6.mjs → chunk-V6DAD4S4.mjs} +14 -14
  93. package/dist/preview-engine/{chunk-R26SY5D4.mjs → chunk-V6LCSK6Q.mjs} +1 -1
  94. package/dist/preview-engine/{chunk-2GIWWDE4.mjs → chunk-W3QGP5XF.mjs} +1 -1
  95. package/dist/preview-engine/{chunk-RKVB47IA.mjs → chunk-XTPEGKOZ.mjs} +1 -1
  96. package/dist/preview-engine/chunk-YJ6GWVL4.mjs +174 -0
  97. package/dist/preview-engine/{chunk-LLDIDE5Q.mjs → chunk-YQYLBXOX.mjs} +1 -1
  98. package/dist/preview-engine/effects.mjs +1 -1
  99. package/dist/preview-engine/framefields.mjs +17 -17
  100. package/dist/preview-engine/player.mjs +1 -1
  101. package/dist/preview-engine/{renderers-WR6MKT5S.mjs → renderers-2A7YDJMJ.mjs} +1 -1
  102. package/dist/preview-engine/renderers-2AD6AHAO.mjs +1 -0
  103. package/dist/preview-engine/{renderers-K7B5PQBT.mjs → renderers-2GE5HE56.mjs} +1 -1
  104. package/dist/preview-engine/{renderers-SW7FIEKO.mjs → renderers-35G4KCQ2.mjs} +1 -1
  105. package/dist/preview-engine/renderers-37UYW266.mjs +1 -0
  106. package/dist/preview-engine/renderers-3YHETAPE.mjs +1 -0
  107. package/dist/preview-engine/renderers-43LBWRY2.mjs +1 -0
  108. package/dist/preview-engine/{renderers-TY7DVI7E.mjs → renderers-4H34AFW2.mjs} +1 -1
  109. package/dist/preview-engine/renderers-4I4UDLDR.mjs +1 -0
  110. package/dist/preview-engine/renderers-5EITT2FW.mjs +1 -0
  111. package/dist/preview-engine/{renderers-AZYJFJLO.mjs → renderers-5OGAF66H.mjs} +1 -1
  112. package/dist/preview-engine/{renderers-UMPOVFRA.mjs → renderers-6GYRMHGQ.mjs} +1 -1
  113. package/dist/preview-engine/{renderers-RKZGYWDG.mjs → renderers-7M3YOI7E.mjs} +1 -1
  114. package/dist/preview-engine/renderers-7UKFQ75V.mjs +1 -0
  115. package/dist/preview-engine/renderers-AIRDDXRB.mjs +1 -0
  116. package/dist/preview-engine/{renderers-MBSOKWKB.mjs → renderers-ATL5ARUV.mjs} +1 -1
  117. package/dist/preview-engine/renderers-BUOGMWAA.mjs +1 -0
  118. package/dist/preview-engine/renderers-C4XIAG3F.mjs +1 -0
  119. package/dist/preview-engine/{renderers-4AJWVIJG.mjs → renderers-DFJDEPCU.mjs} +1 -1
  120. package/dist/preview-engine/{renderers-6JZ4HYIU.mjs → renderers-DKOWLKDE.mjs} +1 -1
  121. package/dist/preview-engine/renderers-ELARGDRC.mjs +1 -0
  122. package/dist/preview-engine/renderers-EU5VM2S2.mjs +1 -0
  123. package/dist/preview-engine/{renderers-NJLGPPX7.mjs → renderers-FNPXT2EH.mjs} +1 -1
  124. package/dist/preview-engine/renderers-GEPP3YKK.mjs +1 -0
  125. package/dist/preview-engine/renderers-IQNZQWYU.mjs +1 -0
  126. package/dist/preview-engine/renderers-J6DEIWTU.mjs +1 -0
  127. package/dist/preview-engine/{renderers-U55KRIOV.mjs → renderers-JQ7AI473.mjs} +1 -1
  128. package/dist/preview-engine/renderers-JTVCE5PV.mjs +1 -0
  129. package/dist/preview-engine/{renderers-CK3ZL3GM.mjs → renderers-K23EAM2J.mjs} +1 -1
  130. package/dist/preview-engine/renderers-KCNUETAD.mjs +1 -0
  131. package/dist/preview-engine/renderers-KKBHXAWS.mjs +1 -0
  132. package/dist/preview-engine/{renderers-UDOBX433.mjs → renderers-KW75FYFG.mjs} +1 -1
  133. package/dist/preview-engine/renderers-LER7SUT2.mjs +1 -0
  134. package/dist/preview-engine/{renderers-GAIUTII6.mjs → renderers-LF6W5P2I.mjs} +1 -1
  135. package/dist/preview-engine/{renderers-FM6A5YR4.mjs → renderers-MHDLRY3S.mjs} +1 -1
  136. package/dist/preview-engine/renderers-MOERLDWF.mjs +1 -0
  137. package/dist/preview-engine/{renderers-XKHNBARD.mjs → renderers-NJAKGI25.mjs} +1 -1
  138. package/dist/preview-engine/renderers-NPKRNXAT.mjs +1 -0
  139. package/dist/preview-engine/renderers-O57YIIAO.mjs +1 -0
  140. package/dist/preview-engine/renderers-OPUIAD7I.mjs +1 -0
  141. package/dist/preview-engine/renderers-PENUAXDD.mjs +1 -0
  142. package/dist/preview-engine/renderers-PFCI7ZFW.mjs +1 -0
  143. package/dist/preview-engine/{renderers-HZHEGONW.mjs → renderers-PM4Q5QOW.mjs} +1 -1
  144. package/dist/preview-engine/renderers-Q4HDP2IE.mjs +1 -0
  145. package/dist/preview-engine/{renderers-GUPEJK3O.mjs → renderers-Q6AO5M54.mjs} +1 -1
  146. package/dist/preview-engine/{renderers-75TL7RLS.mjs → renderers-QJNGN722.mjs} +1 -1
  147. package/dist/preview-engine/renderers-QMHUOKMM.mjs +1 -0
  148. package/dist/preview-engine/renderers-R26YPECG.mjs +1 -0
  149. package/dist/preview-engine/renderers-TAFDMFEA.mjs +1 -0
  150. package/dist/preview-engine/{renderers-IHRFEZNP.mjs → renderers-TFEDHXPY.mjs} +1 -1
  151. package/dist/preview-engine/renderers-TMZLWQP2.mjs +1 -0
  152. package/dist/preview-engine/renderers-TP6ZMGU4.mjs +1 -0
  153. package/dist/preview-engine/renderers-TY63VTZB.mjs +1 -0
  154. package/dist/preview-engine/{renderers-IJDQJEE5.mjs → renderers-U2ZWRL25.mjs} +1 -1
  155. package/dist/preview-engine/renderers-UBO4ZNE6.mjs +1 -0
  156. package/dist/preview-engine/renderers-UCNQ536S.mjs +1 -0
  157. package/dist/preview-engine/{renderers-TCNPEANL.mjs → renderers-VD5GHHK6.mjs} +1 -1
  158. package/dist/preview-engine/{renderers-BDWVXYTW.mjs → renderers-WNMRLGZS.mjs} +1 -1
  159. package/dist/preview-engine/{renderers-FKH5S64C.mjs → renderers-WOLTH5VI.mjs} +1 -1
  160. package/dist/preview-engine/renderers-WOZQDE4A.mjs +1 -0
  161. package/dist/preview-engine/renderers-X2XGDF3R.mjs +1 -0
  162. package/dist/preview-engine/renderers-XG3BDROH.mjs +1 -0
  163. package/dist/preview-engine/{renderers-R4WMM6IX.mjs → renderers-XPO2WQNF.mjs} +1 -1
  164. package/dist/preview-engine/renderers-XS4CFZWR.mjs +1 -0
  165. package/dist/preview-engine/{renderers-FADYGSLK.mjs → renderers-XTCBHTHC.mjs} +1 -1
  166. package/dist/preview-engine/{renderers-LVLVJHOL.mjs → renderers-XTRFEQO4.mjs} +1 -1
  167. package/dist/preview-engine/renderers-ZQDMRWN7.mjs +1 -0
  168. package/dist/preview-engine/{renderers-7CPYTCNW.mjs → renderers-ZRR7BLB7.mjs} +1 -1
  169. package/dist/preview-engine/signals.mjs +1 -1
  170. package/dist/{program-C2cJayA1.mjs → program-KwDdbC0-.mjs} +78 -38
  171. package/dist/program-KwDdbC0-.mjs.map +1 -0
  172. package/dist/renderer/index.d.mts +2 -2
  173. package/dist/renderer/index.mjs +2 -2
  174. package/dist/{renderer-C1E5Rt5q.mjs → renderer-1P3yS8YM.mjs} +3 -3
  175. package/dist/{renderer-C1E5Rt5q.mjs.map → renderer-1P3yS8YM.mjs.map} +1 -1
  176. package/dist/renderer-5C41E6gT.mjs +5 -0
  177. package/dist/renderer-6SXF9Ykm.mjs +5 -0
  178. package/dist/renderer-B2C2w3Wr.mjs +5 -0
  179. package/dist/renderer-B2QSfPYZ.mjs +5 -0
  180. package/dist/{renderer-Bkrk0M0r.mjs → renderer-B4jxP8vF.mjs} +3 -3
  181. package/dist/{renderer-Bkrk0M0r.mjs.map → renderer-B4jxP8vF.mjs.map} +1 -1
  182. package/dist/{renderer-Csss5GFQ.mjs → renderer-B4ydDdo6.mjs} +2 -2
  183. package/dist/{renderer-Csss5GFQ.mjs.map → renderer-B4ydDdo6.mjs.map} +1 -1
  184. package/dist/renderer-B5cQcMl1.mjs +5 -0
  185. package/dist/{renderer-B3e4LSE6.mjs → renderer-B9ssmkbx.mjs} +3 -3
  186. package/dist/{renderer-B3e4LSE6.mjs.map → renderer-B9ssmkbx.mjs.map} +1 -1
  187. package/dist/{renderer-UcdqCarR.mjs → renderer-BAoKytKL.mjs} +3 -3
  188. package/dist/{renderer-UcdqCarR.mjs.map → renderer-BAoKytKL.mjs.map} +1 -1
  189. package/dist/{renderer-Cw6Sagih.mjs → renderer-BCLmYH4S.mjs} +3 -3
  190. package/dist/{renderer-Cw6Sagih.mjs.map → renderer-BCLmYH4S.mjs.map} +1 -1
  191. package/dist/renderer-BDhD8Yab.mjs +3 -0
  192. package/dist/{renderer-Za4D9hej.mjs → renderer-BHLYKy8b.mjs} +3 -3
  193. package/dist/{renderer-Za4D9hej.mjs.map → renderer-BHLYKy8b.mjs.map} +1 -1
  194. package/dist/{renderer-apeDrNXM.mjs → renderer-BI8QhEj9.mjs} +3 -3
  195. package/dist/{renderer-apeDrNXM.mjs.map → renderer-BI8QhEj9.mjs.map} +1 -1
  196. package/dist/{renderer-CCGzT6bX.mjs → renderer-BMLJgnbU.mjs} +2 -2
  197. package/dist/renderer-BSDdTHDh.mjs +5 -0
  198. package/dist/{renderer-CcoUNzlQ.mjs → renderer-BT0x6KPK.mjs} +3 -3
  199. package/dist/{renderer-CcoUNzlQ.mjs.map → renderer-BT0x6KPK.mjs.map} +1 -1
  200. package/dist/renderer-BTUjk8uY.mjs +5 -0
  201. package/dist/{renderer-RDCax5CK.mjs → renderer-BUwHWIf7.mjs} +3 -3
  202. package/dist/{renderer-RDCax5CK.mjs.map → renderer-BUwHWIf7.mjs.map} +1 -1
  203. package/dist/{renderer-DTw-W0Yz.mjs → renderer-B_b8-ztW.mjs} +3 -3
  204. package/dist/{renderer-DTw-W0Yz.mjs.map → renderer-B_b8-ztW.mjs.map} +1 -1
  205. package/dist/{renderer-DwVOxdzC.mjs → renderer-BaJQx0Bp.mjs} +3 -3
  206. package/dist/{renderer-DwVOxdzC.mjs.map → renderer-BaJQx0Bp.mjs.map} +1 -1
  207. package/dist/renderer-Bcey5Gvk.mjs +5 -0
  208. package/dist/renderer-Bd2MuOeJ.mjs +5 -0
  209. package/dist/renderer-Bd5A0zer.mjs +5 -0
  210. package/dist/{renderer-Dwu_zfdL.mjs → renderer-Bhfl-WFX.mjs} +3 -3
  211. package/dist/{renderer-Dwu_zfdL.mjs.map → renderer-Bhfl-WFX.mjs.map} +1 -1
  212. package/dist/{renderer-BjCHW9Jp.mjs → renderer-Bkq1PT0g.mjs} +2 -2
  213. package/dist/{renderer-DjwITRvg.mjs → renderer-Blm4Dv_h.mjs} +2 -2
  214. package/dist/{renderer-BTd2sWDC.mjs → renderer-BtWWpFvl.mjs} +3 -3
  215. package/dist/{renderer-BTd2sWDC.mjs.map → renderer-BtWWpFvl.mjs.map} +1 -1
  216. package/dist/{renderer-92eLJg24.mjs → renderer-C-z6bxj9.mjs} +4 -4
  217. package/dist/{renderer-92eLJg24.mjs.map → renderer-C-z6bxj9.mjs.map} +1 -1
  218. package/dist/{renderer-EZp_IIPK.mjs → renderer-C0ds-UfM.mjs} +3 -3
  219. package/dist/{renderer-EZp_IIPK.mjs.map → renderer-C0ds-UfM.mjs.map} +1 -1
  220. package/dist/{renderer-B4RpSd4A.mjs → renderer-C1U85w9f.mjs} +2 -2
  221. package/dist/{renderer-B4RpSd4A.mjs.map → renderer-C1U85w9f.mjs.map} +1 -1
  222. package/dist/{renderer-X0eKSD7v.mjs → renderer-C4vHq0X8.mjs} +3 -3
  223. package/dist/{renderer-X0eKSD7v.mjs.map → renderer-C4vHq0X8.mjs.map} +1 -1
  224. package/dist/{renderer--ruTGlPo.mjs → renderer-C4xvz_Ft.mjs} +3 -3
  225. package/dist/{renderer--ruTGlPo.mjs.map → renderer-C4xvz_Ft.mjs.map} +1 -1
  226. package/dist/{renderer-ByCX4JYg.mjs → renderer-C5WkQZGR.mjs} +3 -3
  227. package/dist/{renderer-ByCX4JYg.mjs.map → renderer-C5WkQZGR.mjs.map} +1 -1
  228. package/dist/{renderer-CqtIbe5n.mjs → renderer-CAi-lhR2.mjs} +2 -2
  229. package/dist/{renderer-CqtIbe5n.mjs.map → renderer-CAi-lhR2.mjs.map} +1 -1
  230. package/dist/renderer-CC-WlYa2.mjs +5 -0
  231. package/dist/{renderer-DZJJHCtm.mjs → renderer-CDky5Gva.mjs} +3 -3
  232. package/dist/{renderer-DZJJHCtm.mjs.map → renderer-CDky5Gva.mjs.map} +1 -1
  233. package/dist/{renderer-yyUpCeWb.mjs → renderer-CE83KHgr.mjs} +2 -2
  234. package/dist/{renderer-yyUpCeWb.mjs.map → renderer-CE83KHgr.mjs.map} +1 -1
  235. package/dist/{renderer-CNb-DG00.mjs → renderer-CLxQ4rU6.mjs} +441 -177
  236. package/dist/renderer-CLxQ4rU6.mjs.map +1 -0
  237. package/dist/{renderer-BBAbZfBl.mjs → renderer-CPLfsRe1.mjs} +4 -4
  238. package/dist/{renderer-BBAbZfBl.mjs.map → renderer-CPLfsRe1.mjs.map} +1 -1
  239. package/dist/{renderer-CDOobs18.mjs → renderer-CS8VMTp1.mjs} +3 -3
  240. package/dist/{renderer-CDOobs18.mjs.map → renderer-CS8VMTp1.mjs.map} +1 -1
  241. package/dist/{renderer-D0vom99O.mjs → renderer-CTYKUnDq.mjs} +2 -2
  242. package/dist/{renderer-D0vom99O.mjs.map → renderer-CTYKUnDq.mjs.map} +1 -1
  243. package/dist/{renderer-DILUmb-e.mjs → renderer-CUPWHfEY.mjs} +3 -3
  244. package/dist/{renderer-DILUmb-e.mjs.map → renderer-CUPWHfEY.mjs.map} +1 -1
  245. package/dist/renderer-Cb0qf1UG.mjs +5 -0
  246. package/dist/renderer-CfX13dgQ.mjs +5 -0
  247. package/dist/renderer-ChFkRLrv.mjs +5 -0
  248. package/dist/{renderer-CDUxAtsk.mjs → renderer-Ci6YMa4u.mjs} +4 -4
  249. package/dist/{renderer-CDUxAtsk.mjs.map → renderer-Ci6YMa4u.mjs.map} +1 -1
  250. package/dist/{renderer-DKfwlE4e.mjs → renderer-CjQAYeYz.mjs} +3 -3
  251. package/dist/{renderer-DKfwlE4e.mjs.map → renderer-CjQAYeYz.mjs.map} +1 -1
  252. package/dist/renderer-CjkfJj5R.mjs +5 -0
  253. package/dist/renderer-Ck7Lu6c9.mjs +5 -0
  254. package/dist/{renderer-CJ4bxCld.mjs → renderer-CrwYWVsV.mjs} +2 -2
  255. package/dist/renderer-CuquqG_c.mjs +5 -0
  256. package/dist/{renderer-CzRqzp8P.mjs → renderer-CwO8T8l8.mjs} +3 -3
  257. package/dist/{renderer-CzRqzp8P.mjs.map → renderer-CwO8T8l8.mjs.map} +1 -1
  258. package/dist/renderer-Cwz2E4QD.mjs +5 -0
  259. package/dist/{renderer-BjvNEbML.mjs → renderer-Cy4a31rZ.mjs} +2 -2
  260. package/dist/{renderer-BjvNEbML.mjs.map → renderer-Cy4a31rZ.mjs.map} +1 -1
  261. package/dist/{renderer-If8JOkBi.mjs → renderer-CzgDJcot.mjs} +2 -2
  262. package/dist/{renderer-If8JOkBi.mjs.map → renderer-CzgDJcot.mjs.map} +1 -1
  263. package/dist/renderer-Czkt9YYp.mjs +5 -0
  264. package/dist/{renderer-D2-V9nQq.mjs → renderer-D4No_jA4.mjs} +3 -3
  265. package/dist/{renderer-D2-V9nQq.mjs.map → renderer-D4No_jA4.mjs.map} +1 -1
  266. package/dist/{renderer-DaSxr9fM.mjs → renderer-D96Pu8yX.mjs} +3 -3
  267. package/dist/{renderer-DaSxr9fM.mjs.map → renderer-D96Pu8yX.mjs.map} +1 -1
  268. package/dist/{renderer-B0gPTXhe.mjs → renderer-DBKyuPl1.mjs} +3 -3
  269. package/dist/{renderer-B0gPTXhe.mjs.map → renderer-DBKyuPl1.mjs.map} +1 -1
  270. package/dist/{renderer-CxqPeATd.d.mts → renderer-DBtt-7wt.d.mts} +2 -2
  271. package/dist/{renderer-CxqPeATd.d.mts.map → renderer-DBtt-7wt.d.mts.map} +1 -1
  272. package/dist/{renderer-DcBGYN3V.mjs → renderer-DCsTCvdo.mjs} +3 -3
  273. package/dist/{renderer-DcBGYN3V.mjs.map → renderer-DCsTCvdo.mjs.map} +1 -1
  274. package/dist/renderer-DFTIhSdJ.mjs +5 -0
  275. package/dist/renderer-DFaa-Ats.mjs +5 -0
  276. package/dist/{renderer-DzSMeQBC.mjs → renderer-DGT141pN.mjs} +3 -3
  277. package/dist/{renderer-DzSMeQBC.mjs.map → renderer-DGT141pN.mjs.map} +1 -1
  278. package/dist/{renderer-JvcR1vYI.mjs → renderer-DHUlVqST.mjs} +2 -2
  279. package/dist/{renderer-JvcR1vYI.mjs.map → renderer-DHUlVqST.mjs.map} +1 -1
  280. package/dist/renderer-DIHXKvPl.mjs +5 -0
  281. package/dist/{renderer-Cv4lchUP.mjs → renderer-DK9etIAz.mjs} +3 -3
  282. package/dist/{renderer-Cv4lchUP.mjs.map → renderer-DK9etIAz.mjs.map} +1 -1
  283. package/dist/renderer-DMzOqVM3.mjs +5 -0
  284. package/dist/renderer-DOId5U8x.mjs +5 -0
  285. package/dist/{renderer-BkWd4-YO.mjs → renderer-DOvzHN60.mjs} +2 -2
  286. package/dist/{renderer-BkWd4-YO.mjs.map → renderer-DOvzHN60.mjs.map} +1 -1
  287. package/dist/{renderer-B1QREs7J.mjs → renderer-DOxmmN6Q.mjs} +3 -3
  288. package/dist/{renderer-B1QREs7J.mjs.map → renderer-DOxmmN6Q.mjs.map} +1 -1
  289. package/dist/{renderer-V5uEyDFz.mjs → renderer-DP_In2uT.mjs} +3 -3
  290. package/dist/{renderer-V5uEyDFz.mjs.map → renderer-DP_In2uT.mjs.map} +1 -1
  291. package/dist/renderer-DQXFOup8.mjs +5 -0
  292. package/dist/{renderer-ut1GqW89.mjs → renderer-DQeUc1yY.mjs} +3 -3
  293. package/dist/{renderer-ut1GqW89.mjs.map → renderer-DQeUc1yY.mjs.map} +1 -1
  294. package/dist/renderer-DRt3BSTj.mjs +5 -0
  295. package/dist/{renderer-DFJQ6v0F.mjs → renderer-DSbRWfgl.mjs} +2 -2
  296. package/dist/{renderer-DFJQ6v0F.mjs.map → renderer-DSbRWfgl.mjs.map} +1 -1
  297. package/dist/{renderer-DaqWTx7s.mjs → renderer-DVFFVy9v.mjs} +3 -3
  298. package/dist/{renderer-DaqWTx7s.mjs.map → renderer-DVFFVy9v.mjs.map} +1 -1
  299. package/dist/{renderer-BPixWnmY.mjs → renderer-DWG4Podv.mjs} +3 -3
  300. package/dist/{renderer-BPixWnmY.mjs.map → renderer-DWG4Podv.mjs.map} +1 -1
  301. package/dist/{renderer-BljMOvry.mjs → renderer-DXSIstnn.mjs} +3 -3
  302. package/dist/{renderer-BljMOvry.mjs.map → renderer-DXSIstnn.mjs.map} +1 -1
  303. package/dist/{renderer-DjBCWxYy.mjs → renderer-DYbgd6Ye.mjs} +3 -3
  304. package/dist/{renderer-DjBCWxYy.mjs.map → renderer-DYbgd6Ye.mjs.map} +1 -1
  305. package/dist/{renderer-BDCy8NgT.mjs → renderer-DZhIe8Gj.mjs} +3 -3
  306. package/dist/{renderer-BDCy8NgT.mjs.map → renderer-DZhIe8Gj.mjs.map} +1 -1
  307. package/dist/{renderer-BMKFzfSQ.mjs → renderer-DcOT5c0t.mjs} +3 -3
  308. package/dist/{renderer-BMKFzfSQ.mjs.map → renderer-DcOT5c0t.mjs.map} +1 -1
  309. package/dist/renderer-Di_5vQ81.mjs +6 -0
  310. package/dist/renderer-DkmpsPIa.mjs +5 -0
  311. package/dist/renderer-Ds6wd9Gk.mjs +5 -0
  312. package/dist/{renderer-BTigwMQp.mjs → renderer-Du8eOWWU.mjs} +3 -3
  313. package/dist/{renderer-BTigwMQp.mjs.map → renderer-Du8eOWWU.mjs.map} +1 -1
  314. package/dist/renderer-Dv4p0lp9.mjs +5 -0
  315. package/dist/renderer-DzWoOlVc.mjs +5 -0
  316. package/dist/{renderer-7y5Cj8rV.mjs → renderer-GapR_An3.mjs} +3 -3
  317. package/dist/{renderer-7y5Cj8rV.mjs.map → renderer-GapR_An3.mjs.map} +1 -1
  318. package/dist/{renderer-Czxgaygb.mjs → renderer-GbVNyv-E.mjs} +6 -6
  319. package/dist/{renderer-Czxgaygb.mjs.map → renderer-GbVNyv-E.mjs.map} +1 -1
  320. package/dist/{renderer-NizuhHsH.mjs → renderer-I3Wxk1tL.mjs} +3 -3
  321. package/dist/{renderer-NizuhHsH.mjs.map → renderer-I3Wxk1tL.mjs.map} +1 -1
  322. package/dist/renderer-IOz63OWg.mjs +5 -0
  323. package/dist/renderer-JkSrsUa5.mjs +5 -0
  324. package/dist/{renderer-gRMkQabv.mjs → renderer-OEpwc9Zk.mjs} +3 -3
  325. package/dist/{renderer-gRMkQabv.mjs.map → renderer-OEpwc9Zk.mjs.map} +1 -1
  326. package/dist/renderer-Ocs1Djwu.mjs +5 -0
  327. package/dist/{renderer-rXgqgAjw.mjs → renderer-OsA-Lg4d.mjs} +3 -3
  328. package/dist/{renderer-rXgqgAjw.mjs.map → renderer-OsA-Lg4d.mjs.map} +1 -1
  329. package/dist/{renderer-Bi6W4RSn.mjs → renderer-P4OPsD82.mjs} +2 -2
  330. package/dist/{renderer-Bi6W4RSn.mjs.map → renderer-P4OPsD82.mjs.map} +1 -1
  331. package/dist/{renderer-BwpgDLYO.mjs → renderer-PuN2_AL_.mjs} +3 -3
  332. package/dist/{renderer-BwpgDLYO.mjs.map → renderer-PuN2_AL_.mjs.map} +1 -1
  333. package/dist/{renderer-CNuVJ4nG.mjs → renderer-QaN-aejD.mjs} +2 -2
  334. package/dist/{renderer-CNuVJ4nG.mjs.map → renderer-QaN-aejD.mjs.map} +1 -1
  335. package/dist/renderer-Wdn7m_uN.mjs +5 -0
  336. package/dist/{renderer-BwwZB2mt.mjs → renderer-f7A01ArI.mjs} +4 -4
  337. package/dist/{renderer-BwwZB2mt.mjs.map → renderer-f7A01ArI.mjs.map} +1 -1
  338. package/dist/{renderer-G1pMJH5C.mjs → renderer-gm0zoV4t.mjs} +2 -2
  339. package/dist/{renderer-G1pMJH5C.mjs.map → renderer-gm0zoV4t.mjs.map} +1 -1
  340. package/dist/{renderer-DScyMHpJ.mjs → renderer-kNjMhwiZ.mjs} +2 -2
  341. package/dist/{renderer-DScyMHpJ.mjs.map → renderer-kNjMhwiZ.mjs.map} +1 -1
  342. package/dist/renderer-mKpjaoE3.mjs +5 -0
  343. package/dist/{renderer-Cbsnj9vV.mjs → renderer-mqUBkx-a.mjs} +3 -3
  344. package/dist/{renderer-Cbsnj9vV.mjs.map → renderer-mqUBkx-a.mjs.map} +1 -1
  345. package/dist/{renderer-DyyIXLQK.mjs → renderer-plx7_lUQ.mjs} +3 -3
  346. package/dist/{renderer-DyyIXLQK.mjs.map → renderer-plx7_lUQ.mjs.map} +1 -1
  347. package/dist/{renderer-D6BXR7P4.mjs → renderer-qYhNf6iB.mjs} +2 -2
  348. package/dist/{renderer-D6BXR7P4.mjs.map → renderer-qYhNf6iB.mjs.map} +1 -1
  349. package/dist/{renderer-CeiCJCg4.mjs → renderer-y6k54AM6.mjs} +3 -3
  350. package/dist/{renderer-CeiCJCg4.mjs.map → renderer-y6k54AM6.mjs.map} +1 -1
  351. package/dist/{renderers-CP8CFWDs-DzGXDs5p.mjs → renderers-CP8CFWDs-D1FHpA7I.mjs} +3 -3
  352. package/dist/{renderers-CP8CFWDs-DzGXDs5p.mjs.map → renderers-CP8CFWDs-D1FHpA7I.mjs.map} +1 -1
  353. package/dist/signals/index.d.mts +5 -5
  354. package/dist/signals/index.mjs +6 -6
  355. package/dist/{signals-C5nOrRmn.mjs → signals-BwdVfK3p.mjs} +3 -3
  356. package/dist/{signals-C5nOrRmn.mjs.map → signals-BwdVfK3p.mjs.map} +1 -1
  357. package/package.json +57 -57
  358. package/dist/dist-ClyC_d66.mjs.map +0 -1
  359. package/dist/effects-DxylPSuI.mjs.map +0 -1
  360. package/dist/index-B1XcyMm8.d.mts.map +0 -1
  361. package/dist/index-B2Xesdug.d.mts.map +0 -1
  362. package/dist/index-BxARm93R.d.mts.map +0 -1
  363. package/dist/index-C0o3lLyA.d.mts.map +0 -1
  364. package/dist/index-DujpgUUq.d.mts.map +0 -1
  365. package/dist/preview-engine/chunk-266DECPQ.mjs +0 -1
  366. package/dist/preview-engine/chunk-CPFPY35C.mjs +0 -1
  367. package/dist/preview-engine/chunk-NTVDL3RS.mjs +0 -1
  368. package/dist/preview-engine/chunk-UZBVCYRY.mjs +0 -174
  369. package/dist/preview-engine/chunk-XDMZP3E2.mjs +0 -1
  370. package/dist/preview-engine/chunk-YKMBRUAE.mjs +0 -1
  371. package/dist/preview-engine/renderers-3CXFGRE7.mjs +0 -1
  372. package/dist/preview-engine/renderers-3FC3WCJN.mjs +0 -1
  373. package/dist/preview-engine/renderers-3S2FM33K.mjs +0 -1
  374. package/dist/preview-engine/renderers-53ZTBI3C.mjs +0 -1
  375. package/dist/preview-engine/renderers-5USBVCMQ.mjs +0 -1
  376. package/dist/preview-engine/renderers-65G6BLEA.mjs +0 -1
  377. package/dist/preview-engine/renderers-7XU7BXE7.mjs +0 -1
  378. package/dist/preview-engine/renderers-BFXM32BC.mjs +0 -1
  379. package/dist/preview-engine/renderers-CDXHCWWK.mjs +0 -1
  380. package/dist/preview-engine/renderers-CLUN7WU6.mjs +0 -1
  381. package/dist/preview-engine/renderers-DTB4HEXU.mjs +0 -1
  382. package/dist/preview-engine/renderers-EFKNRLYF.mjs +0 -1
  383. package/dist/preview-engine/renderers-G2K7ZA5O.mjs +0 -1
  384. package/dist/preview-engine/renderers-GTUO5LIV.mjs +0 -1
  385. package/dist/preview-engine/renderers-HSJIVP57.mjs +0 -1
  386. package/dist/preview-engine/renderers-IHACBWXI.mjs +0 -1
  387. package/dist/preview-engine/renderers-IO3BVVJ7.mjs +0 -1
  388. package/dist/preview-engine/renderers-IR772VSN.mjs +0 -1
  389. package/dist/preview-engine/renderers-L6TRJOXA.mjs +0 -1
  390. package/dist/preview-engine/renderers-N6H6RSF2.mjs +0 -1
  391. package/dist/preview-engine/renderers-O5NFQYRQ.mjs +0 -1
  392. package/dist/preview-engine/renderers-O6V3OEKX.mjs +0 -1
  393. package/dist/preview-engine/renderers-OODA27UH.mjs +0 -1
  394. package/dist/preview-engine/renderers-RIGW33ZI.mjs +0 -1
  395. package/dist/preview-engine/renderers-RUZRBQ4K.mjs +0 -1
  396. package/dist/preview-engine/renderers-SKB2GGKS.mjs +0 -1
  397. package/dist/preview-engine/renderers-T4D2TASM.mjs +0 -1
  398. package/dist/preview-engine/renderers-T74XV36Q.mjs +0 -1
  399. package/dist/preview-engine/renderers-TOPW2UM3.mjs +0 -1
  400. package/dist/preview-engine/renderers-UO5G3Y2G.mjs +0 -1
  401. package/dist/preview-engine/renderers-UOV7VOJJ.mjs +0 -1
  402. package/dist/preview-engine/renderers-UWKSTSTA.mjs +0 -1
  403. package/dist/preview-engine/renderers-VHPAOUTA.mjs +0 -1
  404. package/dist/preview-engine/renderers-YEQRQJFC.mjs +0 -1
  405. package/dist/preview-engine/renderers-YRZ3WODX.mjs +0 -1
  406. package/dist/preview-engine/renderers-YUTFGVRY.mjs +0 -1
  407. package/dist/preview-engine/renderers-YXOTRKPA.mjs +0 -1
  408. package/dist/preview-engine/renderers-ZOU5ARVD.mjs +0 -1
  409. package/dist/preview-engine/renderers-ZW75LQTR.mjs +0 -1
  410. package/dist/program-C2cJayA1.mjs.map +0 -1
  411. package/dist/renderer-BAhZeUUn.mjs +0 -5
  412. package/dist/renderer-BHAE_dKq.mjs +0 -5
  413. package/dist/renderer-BNYZY3FE.mjs +0 -5
  414. package/dist/renderer-BSvubMvI.mjs +0 -5
  415. package/dist/renderer-B_M_yhTc.mjs +0 -5
  416. package/dist/renderer-B_xSsTuy.mjs +0 -5
  417. package/dist/renderer-BePHurAU.mjs +0 -5
  418. package/dist/renderer-BfZquJrW.mjs +0 -5
  419. package/dist/renderer-BuY5ypB2.mjs +0 -5
  420. package/dist/renderer-BvOQgFHo.mjs +0 -5
  421. package/dist/renderer-C7NkSvUz.mjs +0 -5
  422. package/dist/renderer-CIuxV2q1.mjs +0 -5
  423. package/dist/renderer-CKp97tSQ.mjs +0 -5
  424. package/dist/renderer-CNb-DG00.mjs.map +0 -1
  425. package/dist/renderer-CY89dTFR.mjs +0 -5
  426. package/dist/renderer-C_B_4Bl0.mjs +0 -5
  427. package/dist/renderer-Cd87JOjP.mjs +0 -5
  428. package/dist/renderer-Cev6orIK.mjs +0 -6
  429. package/dist/renderer-Cewf6UPh.mjs +0 -5
  430. package/dist/renderer-CnHsMLIv.mjs +0 -5
  431. package/dist/renderer-CoxuAr7b.mjs +0 -5
  432. package/dist/renderer-CrdG7trA.mjs +0 -5
  433. package/dist/renderer-Cu5MFgbk.mjs +0 -5
  434. package/dist/renderer-CuOjhtoo.mjs +0 -5
  435. package/dist/renderer-D2_0g6Oi.mjs +0 -5
  436. package/dist/renderer-D62FwolD.mjs +0 -5
  437. package/dist/renderer-DDNY9N7I.mjs +0 -5
  438. package/dist/renderer-DF_ONJ3v.mjs +0 -5
  439. package/dist/renderer-DbzrVHEE.mjs +0 -5
  440. package/dist/renderer-DlYchp1v.mjs +0 -5
  441. package/dist/renderer-DqcUNP8J.mjs +0 -5
  442. package/dist/renderer-DqvFhEQj.mjs +0 -5
  443. package/dist/renderer-DxBav2bE.mjs +0 -5
  444. package/dist/renderer-GvSRoQje.mjs +0 -5
  445. package/dist/renderer-KP7Ita9g.mjs +0 -5
  446. package/dist/renderer-Pc8dyNXt.mjs +0 -5
  447. package/dist/renderer-ezRCmU09.mjs +0 -3
  448. package/dist/renderer-h6ev1ogx.mjs +0 -5
@@ -1,6 +1,6 @@
1
- import { Ht as parseCssGradient, Rt as mixColors, Vt as parseCssColor, ht as createVirtualMedia, l as Color, wt as getActiveMediaMetadata } from "./dist-ClyC_d66.mjs";
2
- import { t as ColorSchema } from "./dist-SB9qfAko.mjs";
3
- import { Mt as KineticMarqueeConfigSchema, Nn as signalRegistry, Yt as TextPathOptionsSchema, gt as AETextAnimatorSchema, nn as TypewriterAnimatorSchema, vt as AdvancedTextAnimatorSchema } from "./dist-CspOG4V1.mjs";
1
+ import { $t as parseCssGradient, Kt as mixColors, Ot as getActiveMediaMetadata, Qt as parseCssColor, gt as createVirtualMedia, l as Color, ut as assertNever, y as Effect } from "./dist-TrtLGPvc.mjs";
2
+ import { t as ColorSchema } from "./dist-Bo2_zeCn.mjs";
3
+ import { Mt as KineticMarqueeConfigSchema, Nn as signalRegistry, Yt as TextPathOptionsSchema, gt as AETextAnimatorSchema, nn as TypewriterAnimatorSchema, vt as AdvancedTextAnimatorSchema } from "./dist-hmWTJPik.mjs";
4
4
  import { z } from "zod";
5
5
  import { loadYoga } from "yoga-layout/load";
6
6
 
@@ -57,7 +57,13 @@ function dirOf(node) {
57
57
  case "flex": return node.dir ?? "row";
58
58
  case "block": return "column";
59
59
  case "box": return node.children && node.children.length > 0 ? "column" : null;
60
- default: return null;
60
+ case "text":
61
+ case "media":
62
+ case "shape":
63
+ case "camera":
64
+ case "light":
65
+ case "model3d": return null;
66
+ default: return assertNever(node);
61
67
  }
62
68
  }
63
69
  /** Container default width spec (block fills like HTML). */
@@ -164,7 +170,7 @@ function buildYogaNode(yoga, layoutNode, parentExtent, measure, parentDir) {
164
170
  const measured = measure?.(node) ?? null;
165
171
  if (measured) {
166
172
  const hasRatio = node.aspectRatio !== void 0;
167
- const isCaption = node.dataType === "Caption";
173
+ const isCaption = node.kind === "media" && node.dataType === "Caption";
168
174
  const intrinsicRatio = measured.height > 0 ? measured.width / measured.height : 1;
169
175
  if (node.kind === "media" && !isCaption && !hasRatio) yn.setAspectRatio(intrinsicRatio);
170
176
  const isWAuto = wSpec === void 0 || wSpec === "auto" || wSpec === "fit";
@@ -591,12 +597,13 @@ var LayerAnimation = class LayerAnimation$1 {
591
597
  const ease = parseEase(options.ease);
592
598
  let track = this.tracks.find((t) => t.prop === prop && (!t.source || t.source.type === "keyframe"));
593
599
  if (!track) {
594
- track = {
600
+ const newTrack = {
595
601
  id: `${prop}_fromTo_${this.tracks.length}`,
596
602
  prop,
597
603
  keyframes: []
598
604
  };
599
- this.tracks.push(track);
605
+ this.tracks.push(newTrack);
606
+ track = newTrack;
600
607
  }
601
608
  const id = track.id;
602
609
  if (track.keyframes.length === 0 && start > 0) track.keyframes.push({
@@ -624,12 +631,13 @@ var LayerAnimation = class LayerAnimation$1 {
624
631
  keyframe(prop, frame, value, ease) {
625
632
  let track = this.tracks.find((t) => t.prop === prop && (!t.source || t.source.type === "keyframe"));
626
633
  if (!track) {
627
- track = {
634
+ const newTrack = {
628
635
  id: `${prop}_track_${this.tracks.length}`,
629
636
  prop,
630
637
  keyframes: []
631
638
  };
632
- this.tracks.push(track);
639
+ this.tracks.push(newTrack);
640
+ track = newTrack;
633
641
  }
634
642
  const parsedEase = parseEase(ease);
635
643
  const kf = {
@@ -1027,13 +1035,18 @@ var LayerAnimation = class LayerAnimation$1 {
1027
1035
  return this;
1028
1036
  }
1029
1037
  static merge(...anims) {
1030
- return new LayerAnimation$1().merge(...anims);
1038
+ const result = new LayerAnimation$1();
1039
+ result.tracks = mergeAnimationTracks(anims.flatMap((o) => o.tracks));
1040
+ return result;
1031
1041
  }
1032
1042
  /**
1033
1043
  * Returns the validated LayerAnimation specification object.
1034
1044
  */
1035
1045
  toSpec() {
1036
- return { tracks: this.tracks };
1046
+ return {
1047
+ tracks: this.tracks,
1048
+ ...this.frameStep !== void 0 && { frameStep: this.frameStep }
1049
+ };
1037
1050
  }
1038
1051
  toJSON() {
1039
1052
  return this.toSpec();
@@ -2143,6 +2156,21 @@ function hoistOne(owner) {
2143
2156
  function hoistMattes(nodes) {
2144
2157
  return nodes.flatMap((n) => hoistOne(n));
2145
2158
  }
2159
+ /**
2160
+ * Compositor program document v2 — THE single source of truth for a
2161
+ * composition (spec: `nodes/node-compositor/SKILL.md`).
2162
+ *
2163
+ * The config IS a tree of HTML-like layout nodes (`layout`), replacing the
2164
+ * v1 flat `layers[]`. No `layers`, no `layerUpdates`, no aliases: the tree
2165
+ * is what agents write, what the editor edits, what the renderer renders.
2166
+ *
2167
+ * Design rules (hard):
2168
+ * - strict zod, `.strict()` everywhere; unknown keys are rejected by the
2169
+ * pre-parse scan in `validate.ts` (zod alone would silently strip them)
2170
+ * - recursive container fields use `z.lazy`; leaf kinds are plain objects
2171
+ * - every field that can animate is in `AnimatablePropSchema`
2172
+ * - no backwards compatibility: v1 shapes fail fast with E-codes
2173
+ */
2146
2174
  /** number px | "auto" (intrinsic) | "fit" (shrink-wrap) | "fill" (parent extent). */
2147
2175
  const SizeSpecSchema = z.union([
2148
2176
  z.number().min(0),
@@ -2162,6 +2190,11 @@ const ShapeTypeSchema = z.enum([
2162
2190
  "arrow",
2163
2191
  "path"
2164
2192
  ]);
2193
+ const EffectSpecSchema = z.union([
2194
+ z.instanceof(Effect),
2195
+ z.object({ op: z.string().min(1) }).passthrough(),
2196
+ z.custom((val) => Boolean(val && typeof val === "object" && "op" in val && typeof val.op === "string"))
2197
+ ]);
2165
2198
  const AnimatablePropSchema = z.enum([
2166
2199
  "x",
2167
2200
  "y",
@@ -2531,7 +2564,7 @@ const BaseNodeFields = {
2531
2564
  hidden: z.boolean().default(false),
2532
2565
  opacity: z.number().min(0).max(1).default(1),
2533
2566
  blendMode: z.string().optional(),
2534
- effects: z.array(z.unknown()).optional(),
2567
+ effects: z.array(EffectSpecSchema).optional(),
2535
2568
  rotation: z.number().default(0),
2536
2569
  scale: z.number().min(0).default(1),
2537
2570
  anchorX: z.number().min(0).max(1).default(.5),
@@ -2968,6 +3001,7 @@ const MediaNodeSchema = z.object({
2968
3001
  ...BaseNodeFields,
2969
3002
  kind: z.literal("media"),
2970
3003
  inputHandleId: z.string().min(1),
3004
+ src: z.string().optional(),
2971
3005
  dataType: z.string().optional(),
2972
3006
  fit: z.enum([
2973
3007
  "cover",
@@ -3129,7 +3163,7 @@ const CompositorProgramSchema = z.object({
3129
3163
  layout: z.array(LayoutNodeSchema).default([]),
3130
3164
  fonts: z.array(z.string()).optional(),
3131
3165
  signals: z.record(z.string(), z.unknown()).optional(),
3132
- effects: z.array(z.unknown()).optional(),
3166
+ effects: z.array(EffectSpecSchema).optional(),
3133
3167
  vision: z.unknown().optional(),
3134
3168
  onRequestFrame: z.custom().optional()
3135
3169
  }).strict();
@@ -3327,8 +3361,8 @@ function computeStaggerDelay(index, totalCount, staggerFrames, direction = "forw
3327
3361
  const dist = Math.abs(index - center);
3328
3362
  return Math.round(dist * staggerFrames);
3329
3363
  }
3330
- case "forward":
3331
- default: return index * staggerFrames;
3364
+ case "forward": return index * staggerFrames;
3365
+ default: return assertNever(direction);
3332
3366
  }
3333
3367
  }
3334
3368
  /**
@@ -3361,12 +3395,12 @@ function applyStaggerToChildren(children, staggerFrames, direction = "forward",
3361
3395
  */
3362
3396
  function nodeToVirtualMedia(node, resolveMedia, fps, inheritedOffset = 0, compDurationMs, inheritedDurationFrames) {
3363
3397
  let children = [];
3364
- const sourceRef = node.src ?? node.inputHandleId;
3398
+ const sourceRef = node.kind === "media" ? node.src ?? node.inputHandleId : "inputHandleId" in node ? node.inputHandleId : void 0;
3365
3399
  const isDirectMediaSource = (s) => typeof s === "string" && (s.startsWith("http://") || s.startsWith("https://") || s.startsWith("file://") || s.startsWith("/") || s.startsWith("./") || s.startsWith("blob:") || s.startsWith("data:") || /\.(png|jpe?g|webp|gif|svg|mp4|webm|mov|mkv|mp3|wav|ogg|m4a|srt|vtt|json|lottie)$/i.test(s));
3366
3400
  let media;
3367
3401
  if (node.kind === "media") {
3368
- if (resolveMedia) media = resolveMedia(node.inputHandleId);
3369
- if (!media && sourceRef && (isDirectMediaSource(sourceRef) || node.src)) media = createVirtualMedia(sourceRef, node.dataType ?? "Video");
3402
+ if (resolveMedia && node.inputHandleId) media = resolveMedia(node.inputHandleId);
3403
+ if (!media && sourceRef && (isDirectMediaSource(sourceRef) || Boolean(node.src))) media = createVirtualMedia(sourceRef, node.dataType ?? "Video");
3370
3404
  if (!media && !resolveMedia && sourceRef && (sourceRef.includes(".") || sourceRef.includes("/"))) console.warn(`[Compositor] Media layer '${node.id ?? "?"}' source '${sourceRef}' could not be resolved.`);
3371
3405
  if (media && node.crop) {
3372
3406
  const cropRaw = node.crop;
@@ -3381,18 +3415,23 @@ function nodeToVirtualMedia(node, resolveMedia, fps, inheritedOffset = 0, compDu
3381
3415
  children: [media]
3382
3416
  };
3383
3417
  }
3384
- if (media && Array.isArray(node.effects)) for (const eff of node.effects) {
3385
- const effOp = typeof eff.toOperation === "function" ? eff.toOperation() : eff;
3386
- media = {
3387
- metadata: { ...media.metadata },
3388
- operation: {
3389
- id: node.id ? `${node.id}-${effOp.op ?? "effect"}` : void 0,
3390
- effect: eff,
3391
- ...effOp,
3392
- dataType: media.operation.dataType
3393
- },
3394
- children: [media]
3395
- };
3418
+ if (media && Array.isArray(node.effects)) {
3419
+ let currentMedia = media;
3420
+ for (const eff of node.effects) {
3421
+ const effOp = eff && typeof eff.toOperation === "function" ? eff.toOperation() : eff;
3422
+ currentMedia = {
3423
+ metadata: { ...currentMedia.metadata },
3424
+ operation: {
3425
+ op: String(effOp.op ?? "effect"),
3426
+ id: node.id ? `${node.id}-${effOp.op ?? "effect"}` : void 0,
3427
+ effect: eff,
3428
+ ...effOp,
3429
+ dataType: currentMedia.operation.dataType
3430
+ },
3431
+ children: [currentMedia]
3432
+ };
3433
+ }
3434
+ media = currentMedia;
3396
3435
  }
3397
3436
  if (media && node.vision) {
3398
3437
  const visionRaw = node.vision;
@@ -3412,12 +3451,13 @@ function nodeToVirtualMedia(node, resolveMedia, fps, inheritedOffset = 0, compDu
3412
3451
  }
3413
3452
  if (node.kind === "media") children = media ? [media] : [];
3414
3453
  else if ("children" in node && node.children) {
3415
- const staggerFrames = "staggerFrames" in node && typeof node.staggerFrames === "number" ? node.staggerFrames : 0;
3416
- const staggerDirection = "staggerDirection" in node && typeof node.staggerDirection === "string" ? node.staggerDirection : "forward";
3454
+ const staggerFrames = node.kind === "flex" && typeof node.staggerFrames === "number" ? node.staggerFrames : 0;
3455
+ const staggerDirection = node.kind === "flex" && typeof node.staggerDirection === "string" ? node.staggerDirection : "forward";
3417
3456
  const nodeStart = typeof node.startFrame === "number" && Number.isFinite(node.startFrame) ? Math.round(node.startFrame) : 0;
3418
3457
  const nodeDuration = typeof node.durationFrames === "number" && Number.isFinite(node.durationFrames) ? Math.round(node.durationFrames) : inheritedDurationFrames;
3419
- children = node.children.map((c, idx) => {
3420
- const delay = computeStaggerDelay(idx, node.children.length, staggerFrames, staggerDirection);
3458
+ const nodeChildren = node.children;
3459
+ children = nodeChildren.map((c, idx) => {
3460
+ const delay = computeStaggerDelay(idx, nodeChildren.length, staggerFrames, staggerDirection);
3421
3461
  return nodeToVirtualMedia(c, resolveMedia, fps, inheritedOffset + nodeStart + delay, compDurationMs, c.durationFrames === void 0 ? nodeDuration : void 0);
3422
3462
  });
3423
3463
  }
@@ -3435,7 +3475,7 @@ function nodeToVirtualMedia(node, resolveMedia, fps, inheritedOffset = 0, compDu
3435
3475
  const defaultCompDuration = inheritedDurationFrames ?? Math.round((compDurationMs ?? 1e4) / 1e3 * fps);
3436
3476
  if (isContainer && children.length > 0) {
3437
3477
  if (dur === void 0) {
3438
- const childEnds = children.map((c) => (c.operation?.startFrame ?? 0) + (c.operation?.durationFrames ?? defaultCompDuration));
3478
+ const childEnds = children.map((c) => (c.operation.startFrame ?? 0) + (c.operation.durationFrames ?? defaultCompDuration));
3439
3479
  dur = Math.max(1, Math.max(...childEnds) - startFrame);
3440
3480
  }
3441
3481
  } else if (isCaption && limit !== void 0 && limit > 0) dur = limit;
@@ -3490,13 +3530,13 @@ function compositorToProgram(config, options) {
3490
3530
  ...collectInlineSignals(config.layout),
3491
3531
  ...signals ?? config.signals ?? {}
3492
3532
  },
3493
- ...(config.onRequestFrame || options.onRequestFrame) && { onRequestFrame: config.onRequestFrame ?? options.onRequestFrame }
3533
+ ...config.onRequestFrame || options.onRequestFrame ? { onRequestFrame: config.onRequestFrame ?? options.onRequestFrame } : {}
3494
3534
  },
3495
3535
  children: hoistMattes(config.layout).map((n) => nodeToVirtualMedia(n, resolveMedia, fps, 0, durationMs))
3496
3536
  };
3497
3537
  const effectsList = Array.isArray(options.effects) ? options.effects : Array.isArray(config.effects) ? config.effects : [];
3498
3538
  for (const eff of effectsList) {
3499
- const effOp = typeof eff.toOperation === "function" ? eff.toOperation() : eff;
3539
+ const effOp = eff && typeof eff.toOperation === "function" ? eff.toOperation() : eff;
3500
3540
  rootMedia = {
3501
3541
  metadata: { ...rootMedia.metadata },
3502
3542
  operation: {
@@ -3534,4 +3574,4 @@ function collectNodeOps(nodes) {
3534
3574
 
3535
3575
  //#endregion
3536
3576
  export { applyStaggerToChildren as A, evaluateTrackAtFrame as B, ShapeNodeSchema as C, TextSpanMarkSchema as D, TextNodeSchema as E, computeLayout as F, initLayout as H, computeLayoutSync as I, computeStaggerDelay as L, collectNodeOps as M, compositorToProgram as N, TextSpanSchema as O, computeCarrierContinuity as P, evaluateAnimationAtFrame as R, Sequence as S, TextAnimatorSchema as T, lintComposition as U, hoistMattes as V, mergeAnimationTracks as W, MediaNodeSchema as _, CarrierHandoffConfigSchema as a, SceneDefinitionSchema as b, EnvironmentFogSchema as c, LayerAnimation as d, LayoutNodeSchema as f, MatteModeSchema as g, MaterialTypeSchema as h, CameraNodeSchema as i, calculateSequenceTimeline as j, ToneMappingSchema as k, EnvironmentPresetSchema as l, LightTypeSchema as m, BoxNodeSchema as n, ColorStopSchema as o, LightNodeSchema as p, CameraAnimation as r, CompositorProgramSchema as s, BloomConfigSchema as t, FlexNodeSchema as u, Model3DNodeSchema as v, TextAnimator as w, SceneTransitionTypeSchema as x, Scene as y, evaluateKeyframes as z };
3537
- //# sourceMappingURL=program-C2cJayA1.mjs.map
3577
+ //# sourceMappingURL=program-KwDdbC0-.mjs.map