framefields 2.1.2 → 2.2.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/README.md +48 -618
  2. package/dist/audio/index.d.mts +4 -4
  3. package/dist/audio/index.mjs +10 -10
  4. package/dist/{audio-CfBpzxn9.d.mts → audio-1QquqDJs.d.mts} +3 -3
  5. package/dist/{audio-CfBpzxn9.d.mts.map → audio-1QquqDJs.d.mts.map} +1 -1
  6. package/dist/{audio-GGuQ_JI0.mjs → audio-BYqbtdH8.mjs} +3 -3
  7. package/dist/{audio-GGuQ_JI0.mjs.map → audio-BYqbtdH8.mjs.map} +1 -1
  8. package/dist/{dist-Bb8BoMiw.mjs → dist-BLbXEC6V.mjs} +5 -3
  9. package/dist/dist-BLbXEC6V.mjs.map +1 -0
  10. package/dist/{dist-DkuDAIrG.mjs → dist-DQlYw4eG.mjs} +85 -43
  11. package/dist/dist-DQlYw4eG.mjs.map +1 -0
  12. package/dist/effects/index.d.mts +4 -4
  13. package/dist/effects/index.mjs +34 -34
  14. package/dist/{effects-D6wFg2FR.mjs → effects-DgpPr38s.mjs} +2 -2
  15. package/dist/{effects-D6wFg2FR.mjs.map → effects-DgpPr38s.mjs.map} +1 -1
  16. package/dist/fonts/index.mjs +2 -2
  17. package/dist/{fonts-CZMYtbP7.mjs → fonts-DakFEiDw.mjs} +3 -3
  18. package/dist/fonts-DakFEiDw.mjs.map +1 -0
  19. package/dist/{gpu-DG3gI88-.mjs → gpu-AbcLcr1f.mjs} +2 -2
  20. package/dist/{gpu-DG3gI88-.mjs.map → gpu-AbcLcr1f.mjs.map} +1 -1
  21. package/dist/{index-Cpkzy5XR.d.mts → index--1jnkoBj.d.mts} +20 -2
  22. package/dist/index--1jnkoBj.d.mts.map +1 -0
  23. package/dist/index-BcA8rep0.d.mts.map +1 -1
  24. package/dist/{index-D__HdInU.d.mts → index-Bg8HIYAO.d.mts} +4 -4
  25. package/dist/{index-D__HdInU.d.mts.map → index-Bg8HIYAO.d.mts.map} +1 -1
  26. package/dist/{index-BzQc812z.d.mts → index-BqzHDFkU.d.mts} +3 -3
  27. package/dist/{index-BzQc812z.d.mts.map → index-BqzHDFkU.d.mts.map} +1 -1
  28. package/dist/{index-DpWia6iH.d.mts → index-CaZfxDXx.d.mts} +27 -3
  29. package/dist/index-CaZfxDXx.d.mts.map +1 -0
  30. package/dist/{index-Fciq8bcC.d.mts → index-D6_KcajH.d.mts} +2 -2
  31. package/dist/{index-Fciq8bcC.d.mts.map → index-D6_KcajH.d.mts.map} +1 -1
  32. package/dist/{index--0vVZDPM.d.mts → index-DgJIBC_N.d.mts} +3 -3
  33. package/dist/{index--0vVZDPM.d.mts.map → index-DgJIBC_N.d.mts.map} +1 -1
  34. package/dist/index.d.mts +72 -65
  35. package/dist/index.d.mts.map +1 -1
  36. package/dist/index.mjs +49 -49
  37. package/dist/index.mjs.map +1 -1
  38. package/dist/preview/index.d.mts +2 -2
  39. package/dist/preview/index.mjs +10 -10
  40. package/dist/{preview--rOXbBxl.mjs → preview-RdaP0Rfv.mjs} +2 -2
  41. package/dist/{preview--rOXbBxl.mjs.map → preview-RdaP0Rfv.mjs.map} +1 -1
  42. package/dist/preview-engine/audio.mjs +1 -1
  43. package/dist/preview-engine/chunk-2W4BMOAZ.mjs +1 -0
  44. package/dist/preview-engine/{chunk-XC5WZNOY.mjs → chunk-5MSAA3DL.mjs} +2 -2
  45. package/dist/preview-engine/chunk-AKMCLVJ6.mjs +5 -0
  46. package/dist/preview-engine/{chunk-E4RAFHZM.mjs → chunk-ATLWPS6N.mjs} +1 -1
  47. package/dist/preview-engine/{chunk-5FC7GOWW.mjs → chunk-FFQ3K5FW.mjs} +1 -1
  48. package/dist/preview-engine/chunk-FJH5A2PV.mjs +1 -0
  49. package/dist/preview-engine/{chunk-BWJS6G7R.mjs → chunk-LQENNFBA.mjs} +6 -6
  50. package/dist/preview-engine/{chunk-5DOD2NVY.mjs → chunk-MOW55DX2.mjs} +1 -1
  51. package/dist/preview-engine/chunk-N4OG2BHX.mjs +3 -0
  52. package/dist/preview-engine/{chunk-QY7MHWZW.mjs → chunk-UKBUEM3G.mjs} +1 -1
  53. package/dist/preview-engine/chunk-VUFDQJ2B.mjs +1 -0
  54. package/dist/preview-engine/{chunk-ZIIFTWDH.mjs → chunk-XETMNJVV.mjs} +1 -1
  55. package/dist/preview-engine/effects.mjs +1 -1
  56. package/dist/preview-engine/fonts.mjs +1 -1
  57. package/dist/preview-engine/framefields.mjs +21 -21
  58. package/dist/preview-engine/player.mjs +5 -5
  59. package/dist/preview-engine/{renderers-YZEVPHPQ.mjs → renderers-OZYUGZG7.mjs} +1 -1
  60. package/dist/preview-engine/{renderers-2SVWAB42.mjs → renderers-UHYNEWQD.mjs} +1 -1
  61. package/dist/preview-engine/signals.mjs +1 -1
  62. package/dist/{program-Cc5AsBHz.mjs → program-Cc_2_YXn.mjs} +2 -2
  63. package/dist/{program-Cc5AsBHz.mjs.map → program-Cc_2_YXn.mjs.map} +1 -1
  64. package/dist/renderer/index.d.mts +3 -3
  65. package/dist/renderer/index.mjs +3 -3
  66. package/dist/{renderer-Br9BOkQs.mjs → renderer-2DjggBBS.mjs} +2 -2
  67. package/dist/{renderer-Br9BOkQs.mjs.map → renderer-2DjggBBS.mjs.map} +1 -1
  68. package/dist/{renderer-DyzNM721.mjs → renderer-4GYrnTfw.mjs} +2 -2
  69. package/dist/{renderer-DyzNM721.mjs.map → renderer-4GYrnTfw.mjs.map} +1 -1
  70. package/dist/renderer-9ETXaINw.mjs +5 -0
  71. package/dist/renderer-B3MVDN_e.mjs +5 -0
  72. package/dist/{renderer-qsg-JMuN.mjs → renderer-B4cnT3ce.mjs} +3 -3
  73. package/dist/{renderer-qsg-JMuN.mjs.map → renderer-B4cnT3ce.mjs.map} +1 -1
  74. package/dist/{renderer-NXdm6HLb.mjs → renderer-B5PFBOjv.mjs} +3 -3
  75. package/dist/{renderer-NXdm6HLb.mjs.map → renderer-B5PFBOjv.mjs.map} +1 -1
  76. package/dist/renderer-B6iUuWcx.mjs +6 -0
  77. package/dist/renderer-B8IdU-7S.mjs +5 -0
  78. package/dist/renderer-BEGJCxuL.mjs +5 -0
  79. package/dist/{renderer-CoGP4Mvf.mjs → renderer-BEzUirF0.mjs} +2 -2
  80. package/dist/{renderer-CoGP4Mvf.mjs.map → renderer-BEzUirF0.mjs.map} +1 -1
  81. package/dist/{renderer-CydWqyf0.mjs → renderer-BKd2nRnO.mjs} +2 -2
  82. package/dist/{renderer-CydWqyf0.mjs.map → renderer-BKd2nRnO.mjs.map} +1 -1
  83. package/dist/renderer-BLAkNFx7.mjs +5 -0
  84. package/dist/{renderer-C7UZLOYk.mjs → renderer-BN0CzoG_.mjs} +2 -2
  85. package/dist/{renderer-C7UZLOYk.mjs.map → renderer-BN0CzoG_.mjs.map} +1 -1
  86. package/dist/{renderer-D2BRlqof.mjs → renderer-BNcsS03m.mjs} +2 -2
  87. package/dist/{renderer-D2BRlqof.mjs.map → renderer-BNcsS03m.mjs.map} +1 -1
  88. package/dist/{renderer-Bs_f_App.d.mts → renderer-BO-7bYa5.d.mts} +2 -2
  89. package/dist/{renderer-Bs_f_App.d.mts.map → renderer-BO-7bYa5.d.mts.map} +1 -1
  90. package/dist/{renderer-DzrM1KMN.mjs → renderer-BPMywsr4.mjs} +3 -3
  91. package/dist/{renderer-DzrM1KMN.mjs.map → renderer-BPMywsr4.mjs.map} +1 -1
  92. package/dist/renderer-BVNhv2ft.mjs +5 -0
  93. package/dist/renderer-BaXTEIe0.mjs +5 -0
  94. package/dist/{renderer-Dno-fujw.mjs → renderer-Bfrwo_It.mjs} +2 -2
  95. package/dist/{renderer-Dno-fujw.mjs.map → renderer-Bfrwo_It.mjs.map} +1 -1
  96. package/dist/{renderer-Bc6J0iVG.mjs → renderer-BhxQzrHF.mjs} +2 -2
  97. package/dist/{renderer-Bc6J0iVG.mjs.map → renderer-BhxQzrHF.mjs.map} +1 -1
  98. package/dist/renderer-BjeA7s36.mjs +5 -0
  99. package/dist/renderer-BtGNxEay.mjs +5 -0
  100. package/dist/renderer-BvZg2RJG.mjs +5 -0
  101. package/dist/{renderer-BKf1qDwL.mjs → renderer-C2eBC0FB.mjs} +3 -3
  102. package/dist/{renderer-BKf1qDwL.mjs.map → renderer-C2eBC0FB.mjs.map} +1 -1
  103. package/dist/{renderer-BWVsBB3t.mjs → renderer-C4UqxwcT.mjs} +2 -2
  104. package/dist/{renderer-BWVsBB3t.mjs.map → renderer-C4UqxwcT.mjs.map} +1 -1
  105. package/dist/{renderer-BI5rvAyo.mjs → renderer-C6u-XrH-.mjs} +3 -3
  106. package/dist/{renderer-BI5rvAyo.mjs.map → renderer-C6u-XrH-.mjs.map} +1 -1
  107. package/dist/{renderer-D2FFvxsq.mjs → renderer-CB87_0vL.mjs} +3 -3
  108. package/dist/{renderer-D2FFvxsq.mjs.map → renderer-CB87_0vL.mjs.map} +1 -1
  109. package/dist/{renderer-CAJe9eLS.mjs → renderer-CD38wGmN.mjs} +2 -2
  110. package/dist/{renderer-CAJe9eLS.mjs.map → renderer-CD38wGmN.mjs.map} +1 -1
  111. package/dist/{renderer-C92mwhZz.mjs → renderer-CGZqCmf2.mjs} +2 -2
  112. package/dist/{renderer-C92mwhZz.mjs.map → renderer-CGZqCmf2.mjs.map} +1 -1
  113. package/dist/{renderer-DqjITuT-.mjs → renderer-CHkqgIOL.mjs} +2 -2
  114. package/dist/{renderer-DqjITuT-.mjs.map → renderer-CHkqgIOL.mjs.map} +1 -1
  115. package/dist/{renderer-BXQQxeNC.mjs → renderer-CK0u3Psf.mjs} +3 -3
  116. package/dist/{renderer-BXQQxeNC.mjs.map → renderer-CK0u3Psf.mjs.map} +1 -1
  117. package/dist/renderer-CLW6tUUn.mjs +5 -0
  118. package/dist/{renderer-9L0p8IT3.mjs → renderer-CO4theVJ.mjs} +2 -2
  119. package/dist/{renderer-DoYdfDEA.mjs → renderer-CPW9o3Lc.mjs} +3 -3
  120. package/dist/{renderer-DoYdfDEA.mjs.map → renderer-CPW9o3Lc.mjs.map} +1 -1
  121. package/dist/renderer-CS-ojgJk.mjs +5 -0
  122. package/dist/{renderer-timEC0Gl.mjs → renderer-CSfLMXN8.mjs} +3 -3
  123. package/dist/{renderer-timEC0Gl.mjs.map → renderer-CSfLMXN8.mjs.map} +1 -1
  124. package/dist/{renderer-BygIYH8s.mjs → renderer-CSoyJ8GH.mjs} +2 -2
  125. package/dist/{renderer-BygIYH8s.mjs.map → renderer-CSoyJ8GH.mjs.map} +1 -1
  126. package/dist/renderer-CUQtKECw.mjs +5 -0
  127. package/dist/renderer-CV-l8wMq.mjs +5 -0
  128. package/dist/renderer-CV7_ALA5.mjs +5 -0
  129. package/dist/renderer-CVR6T6Lp.mjs +5 -0
  130. package/dist/{renderer-DkyXqrQ6.mjs → renderer-CZ9gHx-4.mjs} +2 -2
  131. package/dist/{renderer-DkyXqrQ6.mjs.map → renderer-CZ9gHx-4.mjs.map} +1 -1
  132. package/dist/{renderer-D0aZNkQE.mjs → renderer-CciB_sav.mjs} +3 -3
  133. package/dist/{renderer-D0aZNkQE.mjs.map → renderer-CciB_sav.mjs.map} +1 -1
  134. package/dist/{renderer-DX2qEJTL.mjs → renderer-CfR0GeQL.mjs} +246 -62
  135. package/dist/renderer-CfR0GeQL.mjs.map +1 -0
  136. package/dist/{renderer-BhhSyHKF.mjs → renderer-ClWgdN2v.mjs} +2 -2
  137. package/dist/renderer-CtUF95UW.mjs +5 -0
  138. package/dist/{renderer-D8-zNjyz.mjs → renderer-Cv1wmjhA.mjs} +2 -2
  139. package/dist/{renderer-D8-zNjyz.mjs.map → renderer-Cv1wmjhA.mjs.map} +1 -1
  140. package/dist/{renderer-DUhXH5Tz.mjs → renderer-Cxh7j423.mjs} +3 -3
  141. package/dist/{renderer-DUhXH5Tz.mjs.map → renderer-Cxh7j423.mjs.map} +1 -1
  142. package/dist/{renderer-C5caYAA3.mjs → renderer-D0enmulV.mjs} +2 -2
  143. package/dist/{renderer-C5caYAA3.mjs.map → renderer-D0enmulV.mjs.map} +1 -1
  144. package/dist/renderer-D8ymQoTB.mjs +5 -0
  145. package/dist/renderer-D9x3UE1Y.mjs +5 -0
  146. package/dist/renderer-DAEXqa2Q.mjs +5 -0
  147. package/dist/renderer-DDhU9Goq.mjs +5 -0
  148. package/dist/{renderer-BhKIZDsm.mjs → renderer-DEQ09sg7.mjs} +2 -2
  149. package/dist/{renderer-BhKIZDsm.mjs.map → renderer-DEQ09sg7.mjs.map} +1 -1
  150. package/dist/{renderer-DX8aBDqR.mjs → renderer-DRpIQFAK.mjs} +2 -2
  151. package/dist/{renderer-DX8aBDqR.mjs.map → renderer-DRpIQFAK.mjs.map} +1 -1
  152. package/dist/{renderer-CrAqu3Rg.mjs → renderer-DT3QVVht.mjs} +2 -2
  153. package/dist/{renderer-CrAqu3Rg.mjs.map → renderer-DT3QVVht.mjs.map} +1 -1
  154. package/dist/{renderer-C27RfwXN.mjs → renderer-DU3216cx.mjs} +3 -3
  155. package/dist/{renderer-C27RfwXN.mjs.map → renderer-DU3216cx.mjs.map} +1 -1
  156. package/dist/{renderer-Dy-DBU0X.mjs → renderer-DU6i7shO.mjs} +2 -2
  157. package/dist/{renderer-Dy-DBU0X.mjs.map → renderer-DU6i7shO.mjs.map} +1 -1
  158. package/dist/renderer-DcCKath2.mjs +5 -0
  159. package/dist/{renderer-C--Dqe-3.mjs → renderer-DfSRmz7q.mjs} +3 -3
  160. package/dist/{renderer-C--Dqe-3.mjs.map → renderer-DfSRmz7q.mjs.map} +1 -1
  161. package/dist/renderer-DiBphLzn.mjs +5 -0
  162. package/dist/renderer-Diq9Z7gZ.mjs +5 -0
  163. package/dist/renderer-DjZiO7iA.mjs +5 -0
  164. package/dist/{renderer-Bg7647VN.mjs → renderer-DkGODUgE.mjs} +3 -3
  165. package/dist/{renderer-Bg7647VN.mjs.map → renderer-DkGODUgE.mjs.map} +1 -1
  166. package/dist/{renderer-FHyZn0em.mjs → renderer-DlqDnh-8.mjs} +2 -2
  167. package/dist/{renderer-FHyZn0em.mjs.map → renderer-DlqDnh-8.mjs.map} +1 -1
  168. package/dist/{renderer-DYIPWN_B.mjs → renderer-Dnm_SVy6.mjs} +3 -3
  169. package/dist/{renderer-DYIPWN_B.mjs.map → renderer-Dnm_SVy6.mjs.map} +1 -1
  170. package/dist/{renderer-CzBQgGD2.mjs → renderer-DppnY7RT.mjs} +3 -3
  171. package/dist/{renderer-CzBQgGD2.mjs.map → renderer-DppnY7RT.mjs.map} +1 -1
  172. package/dist/{renderer-DVnVnS3c.mjs → renderer-DqhZTIiC.mjs} +2 -2
  173. package/dist/{renderer-DVnVnS3c.mjs.map → renderer-DqhZTIiC.mjs.map} +1 -1
  174. package/dist/renderer-Dtj6o-74.mjs +5 -0
  175. package/dist/renderer-Duaam6bJ.mjs +5 -0
  176. package/dist/{renderer-DZD2G76E.mjs → renderer-DwCg5pXn.mjs} +2 -2
  177. package/dist/{renderer-DZD2G76E.mjs.map → renderer-DwCg5pXn.mjs.map} +1 -1
  178. package/dist/{renderer-c4AorKyw.mjs → renderer-Dyh8c41v.mjs} +2 -2
  179. package/dist/renderer-FHqZe3K1.mjs +5 -0
  180. package/dist/renderer-FTKfOejk.mjs +5 -0
  181. package/dist/{renderer-_1xGBbxn.mjs → renderer-FgcNOe1R.mjs} +5 -5
  182. package/dist/{renderer-_1xGBbxn.mjs.map → renderer-FgcNOe1R.mjs.map} +1 -1
  183. package/dist/{renderer-Bb8T5eRX.mjs → renderer-L7UTxwZT.mjs} +2 -2
  184. package/dist/{renderer-Bb8T5eRX.mjs.map → renderer-L7UTxwZT.mjs.map} +1 -1
  185. package/dist/renderer-LmbkN82X.mjs +5 -0
  186. package/dist/{renderer-B1Zn91xt.mjs → renderer-PbJk25JW.mjs} +3 -3
  187. package/dist/{renderer-B1Zn91xt.mjs.map → renderer-PbJk25JW.mjs.map} +1 -1
  188. package/dist/renderer-SDspl6p-.mjs +5 -0
  189. package/dist/renderer-SWVUDypd.mjs +5 -0
  190. package/dist/renderer-WhpTBwDM.mjs +5 -0
  191. package/dist/renderer-WrpQEVdv.mjs +5 -0
  192. package/dist/{renderer-CMsjnZ0G.mjs → renderer-dj3f8cMg.mjs} +3 -3
  193. package/dist/{renderer-CMsjnZ0G.mjs.map → renderer-dj3f8cMg.mjs.map} +1 -1
  194. package/dist/{renderer-DWEvQ-hQ.mjs → renderer-dwTzrQ2G.mjs} +3 -3
  195. package/dist/{renderer-DWEvQ-hQ.mjs.map → renderer-dwTzrQ2G.mjs.map} +1 -1
  196. package/dist/{renderer-C5zpaQed.mjs → renderer-egZPy7vq.mjs} +2 -2
  197. package/dist/{renderer-C5zpaQed.mjs.map → renderer-egZPy7vq.mjs.map} +1 -1
  198. package/dist/{renderer-DKqG9Lek.mjs → renderer-gwV6hyYm.mjs} +2 -2
  199. package/dist/{renderer-DKqG9Lek.mjs.map → renderer-gwV6hyYm.mjs.map} +1 -1
  200. package/dist/{renderer-BaaOR3Ao.mjs → renderer-lXmtdrdI.mjs} +2 -2
  201. package/dist/{renderer-BaaOR3Ao.mjs.map → renderer-lXmtdrdI.mjs.map} +1 -1
  202. package/dist/{renderer-Da06_9FZ.mjs → renderer-n2kYIGtb.mjs} +2 -2
  203. package/dist/{renderer-Da06_9FZ.mjs.map → renderer-n2kYIGtb.mjs.map} +1 -1
  204. package/dist/renderer-r4ney0FZ.mjs +5 -0
  205. package/dist/{renderer-DDqwds9R.mjs → renderer-sHDPBywo.mjs} +2 -2
  206. package/dist/{renderer-DDqwds9R.mjs.map → renderer-sHDPBywo.mjs.map} +1 -1
  207. package/dist/{renderer-DGtBOdst.mjs → renderer-scbJx-Dx.mjs} +2 -2
  208. package/dist/{renderers-CP8CFWDs-CMYe4kvZ.mjs → renderers-CP8CFWDs-B8HIr3kj.mjs} +2 -2
  209. package/dist/{renderers-CP8CFWDs-CMYe4kvZ.mjs.map → renderers-CP8CFWDs-B8HIr3kj.mjs.map} +1 -1
  210. package/dist/signals/index.d.mts +5 -5
  211. package/dist/signals/index.mjs +4 -4
  212. package/package.json +55 -55
  213. package/dist/dist-Bb8BoMiw.mjs.map +0 -1
  214. package/dist/dist-DkuDAIrG.mjs.map +0 -1
  215. package/dist/fonts-CZMYtbP7.mjs.map +0 -1
  216. package/dist/index-Cpkzy5XR.d.mts.map +0 -1
  217. package/dist/index-DpWia6iH.d.mts.map +0 -1
  218. package/dist/preview-engine/chunk-7EPDVSCL.mjs +0 -1
  219. package/dist/preview-engine/chunk-B43Z3J7J.mjs +0 -5
  220. package/dist/preview-engine/chunk-CYY366IE.mjs +0 -1
  221. package/dist/preview-engine/chunk-LGVEFPOG.mjs +0 -3
  222. package/dist/preview-engine/chunk-PNB3ERR3.mjs +0 -1
  223. package/dist/renderer-1VSi7Vum.mjs +0 -5
  224. package/dist/renderer-4BlpUHQT.mjs +0 -5
  225. package/dist/renderer-AzSX2-mZ.mjs +0 -5
  226. package/dist/renderer-B-cxK24t.mjs +0 -5
  227. package/dist/renderer-B5d5oM_D.mjs +0 -5
  228. package/dist/renderer-B8BdNjaN.mjs +0 -5
  229. package/dist/renderer-BKEfeg-4.mjs +0 -5
  230. package/dist/renderer-BLLOkeFB.mjs +0 -5
  231. package/dist/renderer-BTvov1NH.mjs +0 -5
  232. package/dist/renderer-BVun05IK.mjs +0 -5
  233. package/dist/renderer-B_3h5nhy.mjs +0 -5
  234. package/dist/renderer-BaZjoFYK.mjs +0 -5
  235. package/dist/renderer-BcApaCVe.mjs +0 -5
  236. package/dist/renderer-C14mKYCw.mjs +0 -5
  237. package/dist/renderer-CFqhAXkH.mjs +0 -5
  238. package/dist/renderer-CK-spD4j.mjs +0 -5
  239. package/dist/renderer-CLLzQTIk.mjs +0 -5
  240. package/dist/renderer-COwa6xlF.mjs +0 -5
  241. package/dist/renderer-CQPuuoVf.mjs +0 -6
  242. package/dist/renderer-CRd-cDqZ.mjs +0 -5
  243. package/dist/renderer-CTVnQAUm.mjs +0 -5
  244. package/dist/renderer-CbiEBSGx.mjs +0 -5
  245. package/dist/renderer-Cl7PruQ1.mjs +0 -5
  246. package/dist/renderer-CmuGGUDR.mjs +0 -5
  247. package/dist/renderer-CoNRrfqx.mjs +0 -5
  248. package/dist/renderer-CvIGa0mE.mjs +0 -5
  249. package/dist/renderer-CwMDPv0p.mjs +0 -5
  250. package/dist/renderer-DOHbhGPu.mjs +0 -5
  251. package/dist/renderer-DOmA6IKc.mjs +0 -5
  252. package/dist/renderer-DX2qEJTL.mjs.map +0 -1
  253. package/dist/renderer-DmCWc4JL.mjs +0 -5
  254. package/dist/renderer-OLaYikwi.mjs +0 -5
  255. package/dist/renderer-Q75RC5Uz.mjs +0 -5
  256. package/dist/renderer-T0LJ4Po3.mjs +0 -5
  257. package/dist/renderer-VuXt1hfq.mjs +0 -5
  258. package/dist/renderer-hY_2WLt3.mjs +0 -5
  259. package/dist/renderer-y4EqE06a.mjs +0 -5
@@ -12113,6 +12113,28 @@ function premultiplyPixels(pixels) {
12113
12113
  }
12114
12114
  let deviceInstance = null;
12115
12115
  let loadPromise = null;
12116
+ let adapterInfo = null;
12117
+ const SOFTWARE_ADAPTER = /llvmpipe|lavapipe|softpipe|swiftshader|\bwarp\b|software/i;
12118
+ function readAdapterInfo(adapter) {
12119
+ const info = adapter.info ?? {};
12120
+ const out = {
12121
+ vendor: String(info.vendor ?? ""),
12122
+ architecture: String(info.architecture ?? ""),
12123
+ device: String(info.device ?? ""),
12124
+ description: String(info.description ?? "")
12125
+ };
12126
+ const software = info.isFallbackAdapter === true || adapter.isFallbackAdapter === true || SOFTWARE_ADAPTER.test(`${out.vendor} ${out.architecture} ${out.device} ${out.description}`);
12127
+ return {
12128
+ ...out,
12129
+ software
12130
+ };
12131
+ }
12132
+ /** Initialises the rendering device if needed and describes its adapter. */
12133
+ async function describeGpu() {
12134
+ await ensureDevice();
12135
+ if (!adapterInfo) throw new Error("WebGPU adapter unknown");
12136
+ return adapterInfo;
12137
+ }
12116
12138
  async function acquireDevice(opts) {
12117
12139
  if (typeof process !== "undefined" && !!process.versions?.node && !globalThis.navigator?.gpu) {
12118
12140
  const { create, globals } = await import(
@@ -12128,11 +12150,16 @@ async function acquireDevice(opts) {
12128
12150
  writable: true
12129
12151
  });
12130
12152
  }
12131
- const adapter = await globalThis.navigator.gpu.requestAdapter({
12153
+ const gpu = globalThis.navigator.gpu;
12154
+ const adapter = await gpu.requestAdapter({
12132
12155
  powerPreference: "high-performance",
12133
12156
  ...opts
12134
- });
12157
+ }) ?? (opts?.forceFallbackAdapter ? null : await gpu.requestAdapter({
12158
+ ...opts,
12159
+ forceFallbackAdapter: true
12160
+ }));
12135
12161
  if (!adapter) throw new Error("WebGPU not available");
12162
+ adapterInfo = readAdapterInfo(adapter);
12136
12163
  const requiredFeatures = [];
12137
12164
  if (adapter.features.has("float32-filterable")) requiredFeatures.push("float32-filterable");
12138
12165
  const requiredLimits = {};
@@ -12611,6 +12638,19 @@ var InputStore = class {
12611
12638
  shared.refCount++;
12612
12639
  return shared.promise;
12613
12640
  }
12641
+ /**
12642
+ * Drops every cached input, including ones a failed render never released.
12643
+ * Used between jobs, when the same path may now hold a different file.
12644
+ */
12645
+ clear() {
12646
+ const entries = [...this.store.values()];
12647
+ this.store.clear();
12648
+ for (const shared of entries) shared.promise.then((input) => {
12649
+ try {
12650
+ input.dispose();
12651
+ } catch (_) {}
12652
+ }, () => {});
12653
+ }
12614
12654
  release(url) {
12615
12655
  if (!url) return;
12616
12656
  const resolvedUrl = resolveInputUrl(url, isNodeRuntime());
@@ -18173,14 +18213,14 @@ var SlugGeometry = class SlugGeometry$1 {
18173
18213
  for (let sIdx = 0; sIdx < spans.length; sIdx++) {
18174
18214
  const s = spans[sIdx];
18175
18215
  const rawText = String(resolveValue(s.text) ?? "");
18216
+ const sizeValue = resolveValue(s.fontSize);
18217
+ const spanFontSize = typeof sizeValue === "number" ? sizeValue : sizeValue !== void 0 ? Number(sizeValue) : defaultFontSize;
18176
18218
  let spanFont = defaultFont;
18177
18219
  if (s.fontFamily || s.fontWeight !== void 0) {
18178
18220
  const family = s.fontFamily ?? defaultFont.fontFamily ?? "Inter";
18179
- const resolved = SlugFontCache.getFont(family, s.fontWeight, null);
18221
+ const resolved = SlugFontCache.getFont(family, s.fontWeight, null, void 0, spanFontSize);
18180
18222
  if (resolved) spanFont = resolved;
18181
18223
  }
18182
- const sizeValue = resolveValue(s.fontSize);
18183
- const spanFontSize = typeof sizeValue === "number" ? sizeValue : sizeValue !== void 0 ? Number(sizeValue) : defaultFontSize;
18184
18224
  const fillValue = resolveValue(s.fill);
18185
18225
  const opacityValue = resolveValue(s.opacity);
18186
18226
  const style = {
@@ -19628,7 +19668,7 @@ function measureMaxCaptionHeight(captions, style, maxWidth) {
19628
19668
  const availableW = maxWidth ? Math.max(10, maxWidth - padding * 2) : void 0;
19629
19669
  let fontFamily = style.fontFamily ?? "Inter";
19630
19670
  if (SlugFontCache.isFailed(fontFamily)) fontFamily = "Inter";
19631
- const slugFont = SlugFontCache.getFont(fontFamily, style.fontWeight, null);
19671
+ const slugFont = SlugFontCache.getFont(fontFamily, style.fontWeight, null, void 0, fontSize);
19632
19672
  let maxH = 0;
19633
19673
  for (const cue of captions) {
19634
19674
  if (!cue.text) continue;
@@ -19737,7 +19777,7 @@ async function drawCaptionNode(ctx, pass, props) {
19737
19777
  if (SlugFontCache.isFailed(fontFamily)) fontFamily = "Inter";
19738
19778
  if (SlugFontCache.isFailed(fontFamily)) return;
19739
19779
  const letterSpacing = props.letterSpacing ?? 0;
19740
- const slugFont = SlugFontCache.getFont(fontFamily, props.fontWeight, ctx.device);
19780
+ const slugFont = SlugFontCache.getFont(fontFamily, props.fontWeight, ctx.device, void 0, fontSize);
19741
19781
  if (!slugFont || !slugFont.curvesTex) {
19742
19782
  const fontUrl = GetFontAssetUrl(fontFamily);
19743
19783
  SlugFontCache.preloadSlugFont(ctx.device, fontFamily, fontUrl, void 0, props.renderId).catch((err) => {
@@ -20029,7 +20069,7 @@ var ImageLoader = class {
20029
20069
  const filePath = await toLocalPath(src) ?? src;
20030
20070
  const fileBuf = await (await import(
20031
20071
  /* webpackIgnore: true */
20032
- "fs/promises"
20072
+ "node:fs/promises"
20033
20073
  )).readFile(filePath);
20034
20074
  arrayBuffer = fileBuf.buffer.slice(fileBuf.byteOffset, fileBuf.byteOffset + fileBuf.byteLength);
20035
20075
  }
@@ -20066,8 +20106,8 @@ const imageLoader = new ImageLoader();
20066
20106
  async function drawImageNode(ctx, pass, props) {
20067
20107
  if (typeof props.src === "string" && (/\.(json|lottie)(\?.*)?$/i.test(props.src) || props.src.startsWith("data:application/json"))) console.warn(`[ImageRenderer] '${props.src}' is a Lottie vector animation, not a static image. Use Layer.lottie() instead.`);
20068
20108
  let tex = textureCache.acquire(props.src);
20109
+ const isHeadless = props.isHeadless ?? (typeof window === "undefined" || Boolean(globalThis.__IS_HEADLESS_RENDERER__));
20069
20110
  if (!tex) try {
20070
- const isHeadless = props.isHeadless ?? (typeof window === "undefined" || globalThis.__IS_HEADLESS_RENDERER__);
20071
20111
  const data = await imageLoader.load(props.src, isHeadless);
20072
20112
  tex = textureCache.acquire(props.src);
20073
20113
  if (!tex) {
@@ -20075,6 +20115,7 @@ async function drawImageNode(ctx, pass, props) {
20075
20115
  textureCache.set(props.src, tex, ctx.device);
20076
20116
  }
20077
20117
  } catch (err) {
20118
+ if (isHeadless) throw err;
20078
20119
  console.error("Failed to load image texture:", err);
20079
20120
  return;
20080
20121
  }
@@ -21251,6 +21292,7 @@ function updateLastGoodFrame(nodeId, newKey, device) {
21251
21292
  textureCache.activeKeys.add(newKey);
21252
21293
  }
21253
21294
  const drawVideoNode = async (ctx, pass, props) => {
21295
+ const isHeadless = props.isHeadless ?? (typeof window === "undefined" || Boolean(globalThis.__IS_HEADLESS_RENDERER__));
21254
21296
  try {
21255
21297
  const nodeId = props.nodeId ?? "default";
21256
21298
  const currentSourceUrl = props.sourceUrl;
@@ -21262,45 +21304,44 @@ const drawVideoNode = async (ctx, pass, props) => {
21262
21304
  lastGoodFrameKey.delete(nodeId);
21263
21305
  }
21264
21306
  }
21265
- const isHeadless = props.isHeadless ?? (typeof window === "undefined" || globalThis.__IS_HEADLESS_RENDERER__);
21266
21307
  const decoder = mediaDecoderCache.getVideo(props.sourceUrl, isHeadless, nodeId);
21267
21308
  const exactKey = props.frameKey;
21268
21309
  let exactTex = textureCache.acquire(exactKey);
21269
- if (!exactTex) if (!pendingDecodes.has(exactKey)) {
21270
- const delayHandle = `${nodeId}-${Math.random()}`;
21271
- const delays = globalThis.__GATEWAI_DELAYS__ || /* @__PURE__ */ new Set();
21272
- globalThis.__GATEWAI_DELAYS__ = delays;
21273
- delays.add(delayHandle);
21274
- const safeTimestampSec = Math.max(0, Number.isFinite(props.timestampSec) ? props.timestampSec : 0);
21275
- const decodePromise = decoder.getFrame(safeTimestampSec).then((frame) => {
21276
- if (!frame) return;
21277
- if (textureCache.acquire(exactKey)) {
21278
- textureCache.release(exactKey);
21279
- return;
21310
+ const isPlaying = props.isPlaying ?? true;
21311
+ const shouldWait = isHeadless || props.forceWait || !isPlaying;
21312
+ const isFirstFrame = !lastGoodFrameKey.has(nodeId);
21313
+ if (!exactTex) {
21314
+ if (!pendingDecodes.has(exactKey)) {
21315
+ const delayHandle = `${nodeId}-${Math.random()}`;
21316
+ const delays = globalThis.__GATEWAI_DELAYS__ || /* @__PURE__ */ new Set();
21317
+ globalThis.__GATEWAI_DELAYS__ = delays;
21318
+ delays.add(delayHandle);
21319
+ const safeTimestampSec = Math.max(0, Number.isFinite(props.timestampSec) ? props.timestampSec : 0);
21320
+ const decodePromise = (async () => {
21321
+ const frame = await decoder.getFrame(safeTimestampSec);
21322
+ if (!frame) return;
21323
+ if (textureCache.acquire(exactKey)) {
21324
+ textureCache.release(exactKey);
21325
+ return;
21326
+ }
21327
+ if (uploadFrameToTexture(ctx, exactKey, frame, isHeadless)) updateLastGoodFrame(nodeId, exactKey, ctx.device);
21328
+ })().finally(() => {
21329
+ pendingDecodes.delete(exactKey);
21330
+ delays.delete(delayHandle);
21331
+ });
21332
+ decodePromise.catch((err) => {
21333
+ if (!shouldWait && !isFirstFrame) console.error("[VideoNode] decode error:", err);
21334
+ });
21335
+ pendingDecodes.set(exactKey, decodePromise);
21336
+ if (isFirstFrame || shouldWait) {
21337
+ await decodePromise;
21338
+ exactTex = textureCache.acquire(exactKey);
21280
21339
  }
21281
- if (uploadFrameToTexture(ctx, exactKey, frame, isHeadless)) updateLastGoodFrame(nodeId, exactKey, ctx.device);
21282
- }).catch((err) => {
21283
- console.error("[VideoNode] decode error:", err);
21284
- }).finally(() => {
21285
- pendingDecodes.delete(exactKey);
21286
- delays.delete(delayHandle);
21287
- });
21288
- pendingDecodes.set(exactKey, decodePromise);
21289
- const isPlaying = props.isPlaying ?? true;
21290
- const shouldWait = isHeadless || props.forceWait || !isPlaying;
21291
- if (!lastGoodFrameKey.has(nodeId) || shouldWait) {
21292
- await decodePromise;
21293
- exactTex = textureCache.acquire(exactKey);
21294
- }
21295
- } else {
21296
- const isPlaying = props.isPlaying ?? true;
21297
- const shouldWait = isHeadless || props.forceWait || !isPlaying;
21298
- if (!lastGoodFrameKey.has(nodeId) || shouldWait) {
21340
+ } else if (isFirstFrame || shouldWait) {
21299
21341
  await pendingDecodes.get(exactKey);
21300
21342
  exactTex = textureCache.acquire(exactKey);
21301
21343
  }
21302
- }
21303
- else updateLastGoodFrame(nodeId, exactKey, ctx.device);
21344
+ } else updateLastGoodFrame(nodeId, exactKey, ctx.device);
21304
21345
  let activeKey = null;
21305
21346
  let texToDraw = null;
21306
21347
  if (exactTex) {
@@ -21320,6 +21361,7 @@ const drawVideoNode = async (ctx, pass, props) => {
21320
21361
  });
21321
21362
  if (activeKey) textureCache.release(activeKey);
21322
21363
  } catch (err) {
21364
+ if (isHeadless) throw err;
21323
21365
  console.error("[VideoNode] drawVideoNode error:", err);
21324
21366
  }
21325
21367
  };
@@ -30913,5 +30955,5 @@ var NodeSurfaceProvider = class {
30913
30955
  if (typeof globalThis !== "undefined") globalThis.__GATEWAI_DELAYS__ = globalThis.__GATEWAI_DELAYS__ || /* @__PURE__ */ new Set();
30914
30956
 
30915
30957
  //#endregion
30916
- export { textureCache as $, TypewriterAnimatorSchema as $t, getHeadlessFontPath as A, signalRegistry as An, LineSpacingDynamicsSchema as At, measureMaxCaptionHeight as B, SpringPhysicsSchema as Bt, drawParagraphNode as C, generatePathSegments as Cn, DynamicStrokePropertiesSchema as Ct, ensureDevice as D, sampleAudioSpectrumScale as Dn, GlyphAnchorGroupingSchema as Dt, drawVideoNode as E, parseSvgPathToCubicBeziers as En, ExtendedGlyphPropertiesSchema as Et, jointMatrices as F, SelectorShapeSchema as Ft, parseOBJ as G, TextPathBuilder as Gt, parseColor as H, TextAnimatorBuilder as Ht, loadFBX as I, SelectorUnitsSchema as It, registerHeadlessFont as J, TextRangeSelectorSchema as Jt, poseNodes as K, TextPathOptionsSchema as Kt, loadModel3D as L, SignalRegistry as Lt, getRenderer2D as M, ParticleDissolveConfigSchema as Mt, initHeadlessWebGPU as N, SelectorBasedOnSchema as Nt, fitSpansToText as O, sampleCurveGeometry as On, GlyphAnchorPointSchema as Ot, inputStore as P, SelectorModeSchema as Pt, srtLoader as Q, TextWigglySelectorSchema as Qt, loadOBJ as R, SkewPropertiesSchema as Rt, drawLottieNode as S, generateArcLengthLUT as Sn, CubicBezierSegmentSchema as St, drawSvgNode as T, getShuffledOrder as Tn, ExpressionSelectorSchema as Tt, parseFBX as U, TextCursorConfigSchema as Ut, mediaDecoderCache as V, TextAnchorConfigSchema as Vt, parseMTL as W, TextCursorStyleSchema as Wt, shaderStore as X, TextSelectorSchema as Xt, resolveTextSpans as Y, TextScrambleConfigSchema as Yt, spansText as Z, TextSignalSelectorSchema as Zt, clearAllVideoCache as _, evaluateSelectorCombination as _n, AnchorPresetSchema as _t, GlassPipeline as a, buildPathLUT as an, LIGHT_UNIFORM_SIZE_BYTES as at, drawGifNode as b, evaluateTypewriterState as bn, AudioSpectrumTypographySchema as bt, Renderer2D as c, computeLineLeadingDisplacement as cn, Matrix4Math as ct, ScreenSpaceRelightPipeline as d, distanceToCurveParameter as dn, parseColorToRgb as dt, TypingCadenceSchema as en, GetFontAssetUrl as et, ShadowPipeline as f, ellipseToCubicBeziers as fn, resolveEnvironment as ft, WebGPUAudioProcessor as g, evaluateMarqueeOffset as gn, AnchorGroupingSchema as gt, SlugPipeline as h, evaluateExpressionSelector as hn, AdvancedTextAnimatorSchema as ht, EffectPipeline as i, VolumetricFormationModeSchema as in, ENVIRONMENT_PRESETS as it, getPrimitiveGeometry as j, waveToCubicBeziers as jn, LongShadowConfigSchema as jt, generateExtrudedTextGeometry as k, samplePathChainGeometry as kn, KineticMarqueeConfigSchema as kt, Renderer3D as l, computeRangeSelectorWeight as ln, Path3D as lt, SlugGeometry as m, evaluateCubicBezierDerivative as mn, AdvancedTextAnimatorBuilder as mt, AudioLatentTrackCache as n, Vec2Schema as nn, resolveMediaSourceUrl as nt, MotionBlurPipeline as o, buildWGSLSignalFn as on, Light3D as ot, SlugFontCache as p, evaluateCubicBezier as pn, AETextAnimatorSchema as pt, probeVideoSize as q, TextPathSourceSchema as qt, AudioMeshDeformPipeline as r, VolumetricFormationConfigSchema as rn, Camera3D as rt, NodeSurfaceProvider as s, computeAnchorPivotOffset as sn, MAX_LIGHTS as st, AudioLatentEngine as t, VariableFontAxesSchema as tn, getEnv as tt, SSAOPipeline as u, deterministicWigglyNoise as un, Vector3Math as ut, colorMatrixWgsl as v, evaluateSkewMatrix as vn, AnimatableGlyphPropsSchema as vt, drawSignalNode as w, getScramblePool as wn, EnhancedTextNodeSchema as wt, drawImageNode as x, evaluateVolumetricFormation as xn, ChromaticGlitchConfigSchema as xt, drawCaptionNode as y, evaluateSpringProgress as yn, AudioSignalComputePipeline as yt, lutStore as z, Spatial3DPropertiesSchema as zt };
30917
- //# sourceMappingURL=dist-DkuDAIrG.mjs.map
30958
+ export { srtLoader as $, TextWigglySelectorSchema as $t, generateExtrudedTextGeometry as A, samplePathChainGeometry as An, KineticMarqueeConfigSchema as At, lutStore as B, Spatial3DPropertiesSchema as Bt, drawLottieNode as C, generateArcLengthLUT as Cn, CubicBezierSegmentSchema as Ct, drawVideoNode as D, parseSvgPathToCubicBeziers as Dn, ExtendedGlyphPropertiesSchema as Dt, drawSvgNode as E, getShuffledOrder as En, ExpressionSelectorSchema as Et, inputStore as F, SelectorModeSchema as Ft, parseMTL as G, TextCursorStyleSchema as Gt, mediaDecoderCache as H, TextAnchorConfigSchema as Ht, jointMatrices as I, SelectorShapeSchema as It, probeVideoSize as J, TextPathSourceSchema as Jt, parseOBJ as K, TextPathBuilder as Kt, loadFBX as L, SelectorUnitsSchema as Lt, getPrimitiveGeometry as M, waveToCubicBeziers as Mn, LongShadowConfigSchema as Mt, getRenderer2D as N, ParticleDissolveConfigSchema as Nt, ensureDevice as O, sampleAudioSpectrumScale as On, GlyphAnchorGroupingSchema as Ot, initHeadlessWebGPU as P, SelectorBasedOnSchema as Pt, spansText as Q, TextSignalSelectorSchema as Qt, loadModel3D as R, SignalRegistry as Rt, drawImageNode as S, evaluateVolumetricFormation as Sn, ChromaticGlitchConfigSchema as St, drawSignalNode as T, getScramblePool as Tn, EnhancedTextNodeSchema as Tt, parseColor as U, TextAnimatorBuilder as Ut, measureMaxCaptionHeight as V, SpringPhysicsSchema as Vt, parseFBX as W, TextCursorConfigSchema as Wt, resolveTextSpans as X, TextScrambleConfigSchema as Xt, registerHeadlessFont as Y, TextRangeSelectorSchema as Yt, shaderStore as Z, TextSelectorSchema as Zt, clearAllVideoCache as _, evaluateMarqueeOffset as _n, AnchorGroupingSchema as _t, GlassPipeline as a, VolumetricFormationModeSchema as an, ENVIRONMENT_PRESETS as at, drawCaptionNode as b, evaluateSpringProgress as bn, AudioSignalComputePipeline as bt, Renderer2D as c, computeAnchorPivotOffset as cn, MAX_LIGHTS as ct, ScreenSpaceRelightPipeline as d, deterministicWigglyNoise as dn, Vector3Math as dt, TypewriterAnimatorSchema as en, textureCache as et, ShadowPipeline as f, distanceToCurveParameter as fn, parseColorToRgb as ft, WebGPUAudioProcessor as g, evaluateExpressionSelector as gn, AdvancedTextAnimatorSchema as gt, SlugPipeline as h, evaluateCubicBezierDerivative as hn, AdvancedTextAnimatorBuilder as ht, EffectPipeline as i, VolumetricFormationConfigSchema as in, Camera3D as it, getHeadlessFontPath as j, signalRegistry as jn, LineSpacingDynamicsSchema as jt, fitSpansToText as k, sampleCurveGeometry as kn, GlyphAnchorPointSchema as kt, Renderer3D as l, computeLineLeadingDisplacement as ln, Matrix4Math as lt, SlugGeometry as m, evaluateCubicBezier as mn, AETextAnimatorSchema as mt, AudioLatentTrackCache as n, VariableFontAxesSchema as nn, getEnv as nt, MotionBlurPipeline as o, buildPathLUT as on, LIGHT_UNIFORM_SIZE_BYTES as ot, SlugFontCache as p, ellipseToCubicBeziers as pn, resolveEnvironment as pt, poseNodes as q, TextPathOptionsSchema as qt, AudioMeshDeformPipeline as r, Vec2Schema as rn, resolveMediaSourceUrl as rt, NodeSurfaceProvider as s, buildWGSLSignalFn as sn, Light3D as st, AudioLatentEngine as t, TypingCadenceSchema as tn, GetFontAssetUrl as tt, SSAOPipeline as u, computeRangeSelectorWeight as un, Path3D as ut, colorMatrixWgsl as v, evaluateSelectorCombination as vn, AnchorPresetSchema as vt, drawParagraphNode as w, generatePathSegments as wn, DynamicStrokePropertiesSchema as wt, drawGifNode as x, evaluateTypewriterState as xn, AudioSpectrumTypographySchema as xt, describeGpu as y, evaluateSkewMatrix as yn, AnimatableGlyphPropsSchema as yt, loadOBJ as z, SkewPropertiesSchema as zt };
30959
+ //# sourceMappingURL=dist-DQlYw4eG.mjs.map