framefields 2.8.1 → 2.9.2

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 (432) hide show
  1. package/README.md +30 -1
  2. package/dist/audio/index.mjs +10 -10
  3. package/dist/{audio-vatRe308.mjs → audio-BfQg37MW.mjs} +3 -3
  4. package/dist/{audio-vatRe308.mjs.map → audio-BfQg37MW.mjs.map} +1 -1
  5. package/dist/cli/check-worker.mjs +44 -44
  6. package/dist/components/index.d.mts +2 -2
  7. package/dist/components/index.mjs +43 -43
  8. package/dist/{dist-CFe1fC9l.mjs → dist-C1cCW7Bt.mjs} +8 -1
  9. package/dist/{dist-CFe1fC9l.mjs.map → dist-C1cCW7Bt.mjs.map} +1 -1
  10. package/dist/{dist-BbwtlSZO.mjs → dist-C8Xq3zgx.mjs} +2 -2
  11. package/dist/{dist-BbwtlSZO.mjs.map → dist-C8Xq3zgx.mjs.map} +1 -1
  12. package/dist/effects/index.d.mts +1 -1
  13. package/dist/effects/index.mjs +35 -35
  14. package/dist/{effects-CCyfjbhZ.mjs → effects-CemgqEPv.mjs} +2 -2
  15. package/dist/{effects-CCyfjbhZ.mjs.map → effects-CemgqEPv.mjs.map} +1 -1
  16. package/dist/fonts/index.mjs +2 -2
  17. package/dist/{fonts-C1mgtkCa.mjs → fonts-BW0pPcvJ.mjs} +2 -2
  18. package/dist/{fonts-C1mgtkCa.mjs.map → fonts-BW0pPcvJ.mjs.map} +1 -1
  19. package/dist/{gpu-CU2tEKJJ.mjs → gpu-CMaa63nz.mjs} +2 -2
  20. package/dist/{gpu-CU2tEKJJ.mjs.map → gpu-CMaa63nz.mjs.map} +1 -1
  21. package/dist/{index-BwRrsP_V.d.mts → index-Bnh42ouE.d.mts} +71 -10
  22. package/dist/index-Bnh42ouE.d.mts.map +1 -0
  23. package/dist/index-CFoAmh7q.d.mts.map +1 -1
  24. package/dist/{index-UDDAfHAF.d.mts → index-CQ-bbZk3.d.mts} +64 -13
  25. package/dist/index-CQ-bbZk3.d.mts.map +1 -0
  26. package/dist/index-D5UDyVMb.d.mts.map +1 -1
  27. package/dist/index.d.mts +3 -3
  28. package/dist/index.mjs +50 -50
  29. package/dist/preview/index.mjs +10 -10
  30. package/dist/{preview-WXbsf6Dv.mjs → preview-DvP8AZuV.mjs} +2 -2
  31. package/dist/{preview-WXbsf6Dv.mjs.map → preview-DvP8AZuV.mjs.map} +1 -1
  32. package/dist/preview-engine/audio.mjs +1 -1
  33. package/dist/preview-engine/{chunk-JGDZQCNU.mjs → chunk-2B722GXM.mjs} +1 -1
  34. package/dist/preview-engine/{chunk-GFW3D464.mjs → chunk-2DWY7UBV.mjs} +1 -1
  35. package/dist/preview-engine/{chunk-72DYOIMP.mjs → chunk-2PYTDN2C.mjs} +1 -1
  36. package/dist/preview-engine/{chunk-PF3SXQNV.mjs → chunk-34DL53D5.mjs} +1 -1
  37. package/dist/preview-engine/{chunk-GLXJOXBE.mjs → chunk-34RJ7GAS.mjs} +1 -1
  38. package/dist/preview-engine/{chunk-6OY4YLTC.mjs → chunk-35HMRW4I.mjs} +1 -1
  39. package/dist/preview-engine/{chunk-W26U6BP2.mjs → chunk-4WYM72ZN.mjs} +1 -1
  40. package/dist/preview-engine/{chunk-EQ4VBUWM.mjs → chunk-5AWAOMBR.mjs} +1 -1
  41. package/dist/preview-engine/{chunk-J4SHMCTG.mjs → chunk-6R3UJBL5.mjs} +1 -1
  42. package/dist/preview-engine/{chunk-VHGC72XP.mjs → chunk-73CNXGAK.mjs} +1 -1
  43. package/dist/preview-engine/{chunk-KYOPOCO5.mjs → chunk-AHQCDTD6.mjs} +1 -1
  44. package/dist/preview-engine/{chunk-ADV2TIKA.mjs → chunk-BEYA25UZ.mjs} +1 -1
  45. package/dist/preview-engine/{chunk-RBDIRBEI.mjs → chunk-BJV2LBII.mjs} +1 -1
  46. package/dist/preview-engine/{chunk-LBJBBEKP.mjs → chunk-BVDWS3D2.mjs} +1 -1
  47. package/dist/preview-engine/chunk-BXPM5SJ3.mjs +1 -0
  48. package/dist/preview-engine/{chunk-NIPWL6Z5.mjs → chunk-C4M3B2Q2.mjs} +1 -1
  49. package/dist/preview-engine/{chunk-LLUFOFF4.mjs → chunk-CC4NNNIY.mjs} +1 -1
  50. package/dist/preview-engine/{chunk-NX66555S.mjs → chunk-CN2VLYLB.mjs} +1 -1
  51. package/dist/preview-engine/chunk-D73ZKPFN.mjs +138 -0
  52. package/dist/preview-engine/{chunk-SK7PUBTC.mjs → chunk-DMSZXG56.mjs} +1 -1
  53. package/dist/preview-engine/{chunk-WC257OBY.mjs → chunk-DVZITDQS.mjs} +1 -1
  54. package/dist/preview-engine/{chunk-LLB3AGBQ.mjs → chunk-EJJITH6U.mjs} +1 -1
  55. package/dist/preview-engine/{chunk-COZG35ZR.mjs → chunk-FTCEG3SF.mjs} +1 -1
  56. package/dist/preview-engine/{chunk-57LES7TL.mjs → chunk-GA4HNR44.mjs} +1 -1
  57. package/dist/preview-engine/{chunk-S4WNCEMO.mjs → chunk-GIICZZQI.mjs} +1 -1
  58. package/dist/preview-engine/{chunk-RTHU7REC.mjs → chunk-GRJJVSOV.mjs} +1 -1
  59. package/dist/preview-engine/{chunk-RGDM6PQ5.mjs → chunk-GZWA5QJS.mjs} +1 -1
  60. package/dist/preview-engine/{chunk-LZNNM5OB.mjs → chunk-H7BSN7V7.mjs} +1 -1
  61. package/dist/preview-engine/{chunk-JXUENEQO.mjs → chunk-HOV6DDBZ.mjs} +1 -1
  62. package/dist/preview-engine/{chunk-C6XLAJLL.mjs → chunk-JSYG6OWZ.mjs} +1 -1
  63. package/dist/preview-engine/{chunk-GZVPVOHB.mjs → chunk-K3C6GUQD.mjs} +1 -1
  64. package/dist/preview-engine/chunk-KOVN277Z.mjs +1 -0
  65. package/dist/preview-engine/chunk-KXLXP66K.mjs +1974 -0
  66. package/dist/preview-engine/{chunk-Y6TWMUJC.mjs → chunk-LVYVXVZO.mjs} +1 -1
  67. package/dist/preview-engine/{chunk-NKAVHU7H.mjs → chunk-MIEH74UH.mjs} +7 -7
  68. package/dist/preview-engine/{chunk-AVDHZNIZ.mjs → chunk-OH5W5EL6.mjs} +1 -1
  69. package/dist/preview-engine/{chunk-22F33PPP.mjs → chunk-P5FKRQFU.mjs} +1 -1
  70. package/dist/preview-engine/{chunk-7X2AUKTU.mjs → chunk-PM2W4VLT.mjs} +1 -1
  71. package/dist/preview-engine/{chunk-PYX6Q2EJ.mjs → chunk-QCSVT73T.mjs} +1 -1
  72. package/dist/preview-engine/{chunk-523CTDOC.mjs → chunk-RJIAES3X.mjs} +1 -1
  73. package/dist/preview-engine/{chunk-DPQN7WYQ.mjs → chunk-S2ABWY5G.mjs} +1 -1
  74. package/dist/preview-engine/{chunk-G7JJ6HVL.mjs → chunk-SF37HXAH.mjs} +1 -1
  75. package/dist/preview-engine/{chunk-OKLYIQ5F.mjs → chunk-SPJPM43P.mjs} +1 -1
  76. package/dist/preview-engine/{chunk-UOTMBWBJ.mjs → chunk-TNJEZKXM.mjs} +1 -1
  77. package/dist/preview-engine/chunk-ULOFDFHJ.mjs +1 -0
  78. package/dist/preview-engine/{chunk-DISKQ5MH.mjs → chunk-UXYM2G6J.mjs} +1 -1
  79. package/dist/preview-engine/{chunk-U5YNECNG.mjs → chunk-VN36PRVD.mjs} +1 -1
  80. package/dist/preview-engine/{chunk-PMOKPVSD.mjs → chunk-VVE2QHVG.mjs} +1 -1
  81. package/dist/preview-engine/chunk-XYGDTPO7.mjs +39 -0
  82. package/dist/preview-engine/{chunk-PEUQRSIM.mjs → chunk-Y5K5LVOR.mjs} +1 -1
  83. package/dist/preview-engine/chunk-YGKO4NIU.mjs +1 -0
  84. package/dist/preview-engine/{chunk-PSEMCJBH.mjs → chunk-ZJ5SWTCW.mjs} +1 -1
  85. package/dist/preview-engine/chunk-ZY47XIRK.mjs +5 -0
  86. package/dist/preview-engine/components.mjs +1 -1
  87. package/dist/preview-engine/effects.mjs +1 -1
  88. package/dist/preview-engine/framefields.mjs +1 -1
  89. package/dist/preview-engine/player.mjs +1 -1
  90. package/dist/preview-engine/renderers-3BOQOUEU.mjs +1 -0
  91. package/dist/preview-engine/renderers-3M2FESR2.mjs +1 -0
  92. package/dist/preview-engine/{renderers-FEEIDQF3.mjs → renderers-4F7WLQD5.mjs} +1 -1
  93. package/dist/preview-engine/{renderers-OP6MKYRM.mjs → renderers-5KANN7XF.mjs} +1 -1
  94. package/dist/preview-engine/{renderers-TVRR7PGN.mjs → renderers-5TO2SXFR.mjs} +1 -1
  95. package/dist/preview-engine/{renderers-DR7UZ3QR.mjs → renderers-5UZ3YFBD.mjs} +1 -1
  96. package/dist/preview-engine/renderers-6LHIWKMZ.mjs +1 -0
  97. package/dist/preview-engine/{renderers-7F2KF5RE.mjs → renderers-6Z7DWAPH.mjs} +1 -1
  98. package/dist/preview-engine/renderers-77PDUMYI.mjs +1 -0
  99. package/dist/preview-engine/{renderers-3J3NCOAI.mjs → renderers-7C5RA3R5.mjs} +1 -1
  100. package/dist/preview-engine/{renderers-KPCQGBIY.mjs → renderers-7XHO6M3B.mjs} +1 -1
  101. package/dist/preview-engine/{renderers-KJAOPYAU.mjs → renderers-A24KZK2Q.mjs} +1 -1
  102. package/dist/preview-engine/renderers-A43VCJ7X.mjs +1 -0
  103. package/dist/preview-engine/renderers-AKY464RY.mjs +1 -0
  104. package/dist/preview-engine/renderers-C5UO6PL5.mjs +1 -0
  105. package/dist/preview-engine/renderers-C64QSZO4.mjs +1 -0
  106. package/dist/preview-engine/renderers-CIRCR6NG.mjs +1 -0
  107. package/dist/preview-engine/renderers-CIWOPETY.mjs +1 -0
  108. package/dist/preview-engine/renderers-CUMVIVHI.mjs +1 -0
  109. package/dist/preview-engine/renderers-CZEZCELP.mjs +1 -0
  110. package/dist/preview-engine/{renderers-R3YVLWKV.mjs → renderers-ENMY4DKF.mjs} +1 -1
  111. package/dist/preview-engine/{renderers-AAENCA7X.mjs → renderers-FSI5KNGZ.mjs} +1 -1
  112. package/dist/preview-engine/renderers-FSQMWHQM.mjs +1 -0
  113. package/dist/preview-engine/renderers-FZEW5C23.mjs +1 -0
  114. package/dist/preview-engine/renderers-HCET2IML.mjs +1 -0
  115. package/dist/preview-engine/{renderers-LBX7GPDU.mjs → renderers-IHGAWLUF.mjs} +1 -1
  116. package/dist/preview-engine/renderers-IUOOC6K7.mjs +1 -0
  117. package/dist/preview-engine/{renderers-VXMR47WZ.mjs → renderers-KC6ZSKCW.mjs} +1 -1
  118. package/dist/preview-engine/renderers-KYYJLVIJ.mjs +1 -0
  119. package/dist/preview-engine/renderers-L4GE7WV3.mjs +1 -0
  120. package/dist/preview-engine/renderers-L6YDX6GS.mjs +1 -0
  121. package/dist/preview-engine/renderers-LRAFWKCO.mjs +1 -0
  122. package/dist/preview-engine/renderers-LU3XZWEB.mjs +1 -0
  123. package/dist/preview-engine/{renderers-4YYGKLDK.mjs → renderers-MD3PRFZL.mjs} +1 -1
  124. package/dist/preview-engine/renderers-MDHPQY6D.mjs +1 -0
  125. package/dist/preview-engine/renderers-MOEC2XZZ.mjs +1 -0
  126. package/dist/preview-engine/{renderers-RGDTRVZM.mjs → renderers-NCGH2WWJ.mjs} +1 -1
  127. package/dist/preview-engine/renderers-ND2WV4K3.mjs +1 -0
  128. package/dist/preview-engine/renderers-NJ5CWVVH.mjs +1 -0
  129. package/dist/preview-engine/renderers-NKXYPR3V.mjs +1 -0
  130. package/dist/preview-engine/{renderers-WVQQZQ6Y.mjs → renderers-NUAI4TO5.mjs} +1 -1
  131. package/dist/preview-engine/renderers-NWR66CGK.mjs +1 -0
  132. package/dist/preview-engine/renderers-O22WTBRM.mjs +1 -0
  133. package/dist/preview-engine/renderers-PBBA7LQB.mjs +1 -0
  134. package/dist/preview-engine/{renderers-BL7Z3FTF.mjs → renderers-PIIEUKFE.mjs} +1 -1
  135. package/dist/preview-engine/renderers-PPZK6VEW.mjs +1 -0
  136. package/dist/preview-engine/renderers-Q6LJRZ7R.mjs +1 -0
  137. package/dist/preview-engine/{renderers-7TNEKJZS.mjs → renderers-QA2HKUJJ.mjs} +1 -1
  138. package/dist/preview-engine/renderers-RMEACSRL.mjs +1 -0
  139. package/dist/preview-engine/{renderers-AWRIELVX.mjs → renderers-RN2MHIFK.mjs} +1 -1
  140. package/dist/preview-engine/renderers-SEIAUKJF.mjs +1 -0
  141. package/dist/preview-engine/renderers-SP42LCSI.mjs +1 -0
  142. package/dist/preview-engine/{renderers-OE55O27K.mjs → renderers-T74CQCEN.mjs} +1 -1
  143. package/dist/preview-engine/renderers-T7SZA3BX.mjs +1 -0
  144. package/dist/preview-engine/{renderers-ZUQ2ZBYY.mjs → renderers-TGJSOKDY.mjs} +1 -1
  145. package/dist/preview-engine/renderers-TSBV4KPE.mjs +1 -0
  146. package/dist/preview-engine/{renderers-2SE5BLLB.mjs → renderers-U4M7ZCV4.mjs} +1 -1
  147. package/dist/preview-engine/{renderers-YEI4K4W4.mjs → renderers-V3AQO7AR.mjs} +1 -1
  148. package/dist/preview-engine/renderers-VADTDAHD.mjs +1 -0
  149. package/dist/preview-engine/renderers-VNNWI5C3.mjs +1 -0
  150. package/dist/preview-engine/{renderers-YYMRKHAA.mjs → renderers-WEYAHOBK.mjs} +1 -1
  151. package/dist/preview-engine/renderers-WZ75MLP3.mjs +1 -0
  152. package/dist/preview-engine/renderers-XB5R4UQA.mjs +1 -0
  153. package/dist/preview-engine/{renderers-YIVPMPQS.mjs → renderers-Y22VSOXF.mjs} +1 -1
  154. package/dist/preview-engine/{renderers-Y53D5CQ7.mjs → renderers-YBIUZDGQ.mjs} +1 -1
  155. package/dist/preview-engine/renderers-YESJR4O7.mjs +1 -0
  156. package/dist/preview-engine/renderers-YKSRZRRT.mjs +1 -0
  157. package/dist/preview-engine/{renderers-V4VML5IG.mjs → renderers-ZACSHGNZ.mjs} +1 -1
  158. package/dist/preview-engine/signals.mjs +1 -1
  159. package/dist/preview-engine/src-4IUYUKIZ.mjs +8 -0
  160. package/dist/{program-Cq4gP9Dd.mjs → program-CKpKkllV.mjs} +2 -2
  161. package/dist/{program-Cq4gP9Dd.mjs.map → program-CKpKkllV.mjs.map} +1 -1
  162. package/dist/renderer/index.mjs +2 -2
  163. package/dist/renderer--Ac-dg4A.mjs +5 -0
  164. package/dist/renderer--N7TMqzU.mjs +5 -0
  165. package/dist/{renderer-CXWAdRqn.mjs → renderer--fkmiVjl.mjs} +2 -2
  166. package/dist/{renderer-CXWAdRqn.mjs.map → renderer--fkmiVjl.mjs.map} +1 -1
  167. package/dist/{renderer-CZyJ72JZ.mjs → renderer-1r-Uq-Ae.mjs} +2 -2
  168. package/dist/{renderer-CZyJ72JZ.mjs.map → renderer-1r-Uq-Ae.mjs.map} +1 -1
  169. package/dist/renderer-2ecmdOae.mjs +5 -0
  170. package/dist/{renderer-D8CMakyz.mjs → renderer-8QIwXh7O.mjs} +3 -3
  171. package/dist/{renderer-D8CMakyz.mjs.map → renderer-8QIwXh7O.mjs.map} +1 -1
  172. package/dist/{renderer-B4iCFvJh.mjs → renderer-B-ur0Ej8.mjs} +3 -3
  173. package/dist/{renderer-B4iCFvJh.mjs.map → renderer-B-ur0Ej8.mjs.map} +1 -1
  174. package/dist/{renderer-BD25uND8.mjs → renderer-B2P1vgb7.mjs} +418 -187
  175. package/dist/renderer-B2P1vgb7.mjs.map +1 -0
  176. package/dist/{renderer-BZKkT-6Q.mjs → renderer-B2jjxsjO.mjs} +2 -2
  177. package/dist/{renderer-BZKkT-6Q.mjs.map → renderer-B2jjxsjO.mjs.map} +1 -1
  178. package/dist/{renderer-DEcbSNQd.mjs → renderer-B39I6CQw.mjs} +3 -3
  179. package/dist/{renderer-DEcbSNQd.mjs.map → renderer-B39I6CQw.mjs.map} +1 -1
  180. package/dist/{renderer-DIPyUVX2.mjs → renderer-B522Dkdk.mjs} +3 -3
  181. package/dist/{renderer-DIPyUVX2.mjs.map → renderer-B522Dkdk.mjs.map} +1 -1
  182. package/dist/renderer-B5RJp5g-.mjs +5 -0
  183. package/dist/renderer-B7xyT1Vb.mjs +5 -0
  184. package/dist/{renderer-CeX7uUXB.mjs → renderer-BAYTI6jj.mjs} +2 -2
  185. package/dist/{renderer-CeX7uUXB.mjs.map → renderer-BAYTI6jj.mjs.map} +1 -1
  186. package/dist/{renderer-DoRazdp_.mjs → renderer-BAusZ6Vu.mjs} +2 -2
  187. package/dist/{renderer-DoRazdp_.mjs.map → renderer-BAusZ6Vu.mjs.map} +1 -1
  188. package/dist/renderer-BBeArN_x.mjs +5 -0
  189. package/dist/renderer-BCAZDu-r.mjs +5 -0
  190. package/dist/{renderer-D41gHat4.mjs → renderer-BF0hx_iJ.mjs} +3 -3
  191. package/dist/{renderer-D41gHat4.mjs.map → renderer-BF0hx_iJ.mjs.map} +1 -1
  192. package/dist/renderer-BJnhik7Y.mjs +5 -0
  193. package/dist/{renderer-BeQrWrOa.mjs → renderer-BPWDsufX.mjs} +2 -2
  194. package/dist/{renderer-BeQrWrOa.mjs.map → renderer-BPWDsufX.mjs.map} +1 -1
  195. package/dist/{renderer-CxEBV-w0.mjs → renderer-BXJXziIt.mjs} +2 -2
  196. package/dist/{renderer-CxEBV-w0.mjs.map → renderer-BXJXziIt.mjs.map} +1 -1
  197. package/dist/{renderer-Ce8VPaog.mjs → renderer-BdyopiLC.mjs} +2 -2
  198. package/dist/{renderer-Ce8VPaog.mjs.map → renderer-BdyopiLC.mjs.map} +1 -1
  199. package/dist/{renderer-Bkqg-U2F.mjs → renderer-Bfk6A7UO.mjs} +3 -3
  200. package/dist/{renderer-Bkqg-U2F.mjs.map → renderer-Bfk6A7UO.mjs.map} +1 -1
  201. package/dist/{renderer-CAagaRag.mjs → renderer-BgO6BA_z.mjs} +2 -2
  202. package/dist/{renderer-CAagaRag.mjs.map → renderer-BgO6BA_z.mjs.map} +1 -1
  203. package/dist/{renderer-DlZwbO-A.mjs → renderer-BlPqTEii.mjs} +2 -2
  204. package/dist/{renderer-DlZwbO-A.mjs.map → renderer-BlPqTEii.mjs.map} +1 -1
  205. package/dist/{renderer-BEuU7qlG.mjs → renderer-BlvGcyAN.mjs} +2 -2
  206. package/dist/{renderer-BEuU7qlG.mjs.map → renderer-BlvGcyAN.mjs.map} +1 -1
  207. package/dist/{renderer-BrWOcJ9Q.mjs → renderer-BpIF1QIE.mjs} +3 -3
  208. package/dist/{renderer-BrWOcJ9Q.mjs.map → renderer-BpIF1QIE.mjs.map} +1 -1
  209. package/dist/renderer-BxRW8MZO.mjs +5 -0
  210. package/dist/renderer-C-lfsEAN.mjs +5 -0
  211. package/dist/{renderer-eAVNsuX8.mjs → renderer-C41U1tK6.mjs} +5 -5
  212. package/dist/{renderer-eAVNsuX8.mjs.map → renderer-C41U1tK6.mjs.map} +1 -1
  213. package/dist/renderer-C6nOFN4-.mjs +5 -0
  214. package/dist/{renderer-CjklM-KD.mjs → renderer-C7L8Ceqr.mjs} +2 -2
  215. package/dist/{renderer-CjklM-KD.mjs.map → renderer-C7L8Ceqr.mjs.map} +1 -1
  216. package/dist/{renderer-xLQ_nkmy.mjs → renderer-C7eFJf0_.mjs} +3 -3
  217. package/dist/{renderer-xLQ_nkmy.mjs.map → renderer-C7eFJf0_.mjs.map} +1 -1
  218. package/dist/renderer-C84TSQmS.mjs +5 -0
  219. package/dist/renderer-C8_6YofT.mjs +5 -0
  220. package/dist/{renderer-DsAoxQ8O.mjs → renderer-CCycwCEB.mjs} +2 -2
  221. package/dist/{renderer-DsAoxQ8O.mjs.map → renderer-CCycwCEB.mjs.map} +1 -1
  222. package/dist/{renderer-Cjx3x7xM.mjs → renderer-CHr7MiYW.mjs} +3 -3
  223. package/dist/{renderer-Cjx3x7xM.mjs.map → renderer-CHr7MiYW.mjs.map} +1 -1
  224. package/dist/renderer-COb3tOPG.mjs +5 -0
  225. package/dist/{renderer-DSpTGqUU.mjs → renderer-CQvmbRQ5.mjs} +3 -3
  226. package/dist/{renderer-DSpTGqUU.mjs.map → renderer-CQvmbRQ5.mjs.map} +1 -1
  227. package/dist/renderer-CSCIzaLy.mjs +5 -0
  228. package/dist/{renderer-D7Kk7VxM.mjs → renderer-CYC32bDW.mjs} +3 -3
  229. package/dist/{renderer-D7Kk7VxM.mjs.map → renderer-CYC32bDW.mjs.map} +1 -1
  230. package/dist/{renderer-Ci9x2WUd.mjs → renderer-CcvvoKiZ.mjs} +3 -3
  231. package/dist/{renderer-Ci9x2WUd.mjs.map → renderer-CcvvoKiZ.mjs.map} +1 -1
  232. package/dist/{renderer-DTgO5LPf.mjs → renderer-CiQhD8Gg.mjs} +3 -3
  233. package/dist/{renderer-DTgO5LPf.mjs.map → renderer-CiQhD8Gg.mjs.map} +1 -1
  234. package/dist/renderer-CmI4c8MS.mjs +5 -0
  235. package/dist/{renderer-BlVmbzPs.mjs → renderer-CpUJBOfb.mjs} +2 -2
  236. package/dist/renderer-CqVltdX9.mjs +5 -0
  237. package/dist/{renderer-LY2MiIj0.mjs → renderer-CwFqqpWY.mjs} +3 -3
  238. package/dist/{renderer-LY2MiIj0.mjs.map → renderer-CwFqqpWY.mjs.map} +1 -1
  239. package/dist/renderer-D-FpMzLY.mjs +5 -0
  240. package/dist/renderer-D-Oyn9mG.mjs +5 -0
  241. package/dist/renderer-D2QrkA8_.mjs +5 -0
  242. package/dist/{renderer-D7Cu9OZx.mjs → renderer-D47AEJE_.mjs} +2 -2
  243. package/dist/{renderer-D7Cu9OZx.mjs.map → renderer-D47AEJE_.mjs.map} +1 -1
  244. package/dist/renderer-D5bjOx83.mjs +3 -0
  245. package/dist/{renderer-DPn2DhMU.mjs → renderer-D61B9bXF.mjs} +2 -2
  246. package/dist/{renderer-DPn2DhMU.mjs.map → renderer-D61B9bXF.mjs.map} +1 -1
  247. package/dist/renderer-D64r4iN-.mjs +5 -0
  248. package/dist/{renderer-CUq2qgyc.mjs → renderer-D7Al3_-5.mjs} +3 -3
  249. package/dist/{renderer-CUq2qgyc.mjs.map → renderer-D7Al3_-5.mjs.map} +1 -1
  250. package/dist/{renderer-CyWRvKUI.mjs → renderer-D7r6onRT.mjs} +2 -2
  251. package/dist/{renderer-CyWRvKUI.mjs.map → renderer-D7r6onRT.mjs.map} +1 -1
  252. package/dist/{renderer-DxHICEk3.mjs → renderer-D8bBHrWC.mjs} +3 -3
  253. package/dist/{renderer-DxHICEk3.mjs.map → renderer-D8bBHrWC.mjs.map} +1 -1
  254. package/dist/renderer-DCq6YkgP.mjs +5 -0
  255. package/dist/{renderer-Dk45W8Zd.mjs → renderer-DDEkFbVI.mjs} +3 -3
  256. package/dist/{renderer-Dk45W8Zd.mjs.map → renderer-DDEkFbVI.mjs.map} +1 -1
  257. package/dist/renderer-DDHG3GdR.mjs +5 -0
  258. package/dist/{renderer-BWlMAacF.mjs → renderer-DEmYyaqj.mjs} +2 -2
  259. package/dist/{renderer-BWlMAacF.mjs.map → renderer-DEmYyaqj.mjs.map} +1 -1
  260. package/dist/{renderer-DRGa6tlX.mjs → renderer-DF-yvIrV.mjs} +2 -2
  261. package/dist/{renderer-DRGa6tlX.mjs.map → renderer-DF-yvIrV.mjs.map} +1 -1
  262. package/dist/{renderer-C-5RNIeX.mjs → renderer-DFzI3yI_.mjs} +2 -2
  263. package/dist/{renderer-C-5RNIeX.mjs.map → renderer-DFzI3yI_.mjs.map} +1 -1
  264. package/dist/{renderer-AMBVtZ_G.mjs → renderer-DIw3UtEU.mjs} +3 -3
  265. package/dist/{renderer-AMBVtZ_G.mjs.map → renderer-DIw3UtEU.mjs.map} +1 -1
  266. package/dist/renderer-DMdNfcud.mjs +6 -0
  267. package/dist/{renderer-DnPzvIHK.mjs → renderer-DMvmf3T2.mjs} +2 -2
  268. package/dist/{renderer-Gw1ICOJ3.mjs → renderer-DNQvOrkY.mjs} +3 -3
  269. package/dist/{renderer-Gw1ICOJ3.mjs.map → renderer-DNQvOrkY.mjs.map} +1 -1
  270. package/dist/{renderer-CP2FOWyJ.mjs → renderer-DO-KbpYZ.mjs} +3 -3
  271. package/dist/{renderer-CP2FOWyJ.mjs.map → renderer-DO-KbpYZ.mjs.map} +1 -1
  272. package/dist/{renderer-BeFiQfzV.mjs → renderer-DPAD6fL1.mjs} +70 -70
  273. package/dist/{renderer-BeFiQfzV.mjs.map → renderer-DPAD6fL1.mjs.map} +1 -1
  274. package/dist/{renderer-cg06hb82.mjs → renderer-DTqDy2m9.mjs} +3 -3
  275. package/dist/{renderer-cg06hb82.mjs.map → renderer-DTqDy2m9.mjs.map} +1 -1
  276. package/dist/{renderer-BXAgUuAq.mjs → renderer-DVCJjVn7.mjs} +2 -2
  277. package/dist/{renderer-BXAgUuAq.mjs.map → renderer-DVCJjVn7.mjs.map} +1 -1
  278. package/dist/{renderer-D6X9vWkN.mjs → renderer-DX41niRU.mjs} +2 -2
  279. package/dist/{renderer-D6X9vWkN.mjs.map → renderer-DX41niRU.mjs.map} +1 -1
  280. package/dist/{renderer-D3K9FEQk.mjs → renderer-DXEWbnRF.mjs} +3 -3
  281. package/dist/{renderer-D3K9FEQk.mjs.map → renderer-DXEWbnRF.mjs.map} +1 -1
  282. package/dist/renderer-DZQXZ4lK.mjs +5 -0
  283. package/dist/{renderer-CiMIftlS.mjs → renderer-DbRZe0Re.mjs} +3 -3
  284. package/dist/{renderer-CiMIftlS.mjs.map → renderer-DbRZe0Re.mjs.map} +1 -1
  285. package/dist/renderer-DczJJLA1.mjs +5 -0
  286. package/dist/renderer-DfqJj9oe.mjs +5 -0
  287. package/dist/renderer-DgO9ihVJ.mjs +5 -0
  288. package/dist/renderer-DhgnQZYb.mjs +5 -0
  289. package/dist/{renderer-CrgfMDbh.mjs → renderer-DiY70S8S.mjs} +3 -3
  290. package/dist/{renderer-CrgfMDbh.mjs.map → renderer-DiY70S8S.mjs.map} +1 -1
  291. package/dist/renderer-DjxKjHMf.mjs +5 -0
  292. package/dist/{renderer-Br4UZvfL.mjs → renderer-DkRSZg5g.mjs} +3 -3
  293. package/dist/{renderer-Br4UZvfL.mjs.map → renderer-DkRSZg5g.mjs.map} +1 -1
  294. package/dist/{renderer-CCSzKnvs.mjs → renderer-DmkWrWAk.mjs} +2 -2
  295. package/dist/{renderer-CCSzKnvs.mjs.map → renderer-DmkWrWAk.mjs.map} +1 -1
  296. package/dist/{renderer-D2JOseb1.mjs → renderer-DpruWmZU.mjs} +2 -2
  297. package/dist/{renderer-D2JOseb1.mjs.map → renderer-DpruWmZU.mjs.map} +1 -1
  298. package/dist/renderer-DqLA5cdR.mjs +5 -0
  299. package/dist/{renderer-DxbFjINv.mjs → renderer-DqvoMLca.mjs} +3 -3
  300. package/dist/{renderer-DxbFjINv.mjs.map → renderer-DqvoMLca.mjs.map} +1 -1
  301. package/dist/renderer-Dudp6ZlH.mjs +5 -0
  302. package/dist/{renderer-COQc1jn6.mjs → renderer-EaLUCobW.mjs} +2 -2
  303. package/dist/{renderer-COQc1jn6.mjs.map → renderer-EaLUCobW.mjs.map} +1 -1
  304. package/dist/{renderer-BioUC9zE.mjs → renderer-GBmWjBvy.mjs} +2 -2
  305. package/dist/{renderer-BioUC9zE.mjs.map → renderer-GBmWjBvy.mjs.map} +1 -1
  306. package/dist/{renderer-BNzT34UV.mjs → renderer-Lth37j17.mjs} +2 -2
  307. package/dist/{renderer-D-17HVPb.mjs → renderer-SSBL4M1o.mjs} +3 -3
  308. package/dist/{renderer-D-17HVPb.mjs.map → renderer-SSBL4M1o.mjs.map} +1 -1
  309. package/dist/{renderer-C8rxyjaE.mjs → renderer-SWr3vbrV.mjs} +2 -2
  310. package/dist/{renderer-C8rxyjaE.mjs.map → renderer-SWr3vbrV.mjs.map} +1 -1
  311. package/dist/{renderer-LwrcnEtI.mjs → renderer-WCZu2Rf5.mjs} +3 -3
  312. package/dist/{renderer-LwrcnEtI.mjs.map → renderer-WCZu2Rf5.mjs.map} +1 -1
  313. package/dist/{renderer-BIGILDEA.mjs → renderer-Xv6GfNUI.mjs} +2 -2
  314. package/dist/{renderer-BIGILDEA.mjs.map → renderer-Xv6GfNUI.mjs.map} +1 -1
  315. package/dist/renderer-_jC5KIT1.mjs +5 -0
  316. package/dist/{renderer-DveQQCi8.mjs → renderer-bAKUeHF3.mjs} +3 -3
  317. package/dist/{renderer-DveQQCi8.mjs.map → renderer-bAKUeHF3.mjs.map} +1 -1
  318. package/dist/renderer-cTgAuVmJ.mjs +5 -0
  319. package/dist/{renderer-DGPaKIFf.mjs → renderer-cod5Ona9.mjs} +2 -2
  320. package/dist/{renderer-DgLt0TPo.mjs → renderer-g_vrrAQU.mjs} +2 -2
  321. package/dist/{renderer-DgLt0TPo.mjs.map → renderer-g_vrrAQU.mjs.map} +1 -1
  322. package/dist/{renderer-uorPCWdC.mjs → renderer-hSCfnvaK.mjs} +3 -3
  323. package/dist/{renderer-uorPCWdC.mjs.map → renderer-hSCfnvaK.mjs.map} +1 -1
  324. package/dist/{renderer-BGPnCRFI.mjs → renderer-ktWXVYka.mjs} +3 -3
  325. package/dist/{renderer-BGPnCRFI.mjs.map → renderer-ktWXVYka.mjs.map} +1 -1
  326. package/dist/renderer-nVKDvDLO.mjs +5 -0
  327. package/dist/{renderer-U-12BOhe.mjs → renderer-oKRF4A0M.mjs} +2 -2
  328. package/dist/{renderer-U-12BOhe.mjs.map → renderer-oKRF4A0M.mjs.map} +1 -1
  329. package/dist/{renderer-CsilJwL-.mjs → renderer-pHWEHDnM.mjs} +3 -3
  330. package/dist/{renderer-CsilJwL-.mjs.map → renderer-pHWEHDnM.mjs.map} +1 -1
  331. package/dist/renderer-pZ6_pUo1.mjs +5 -0
  332. package/dist/{renderer-BD00i68i.mjs → renderer-sCovEubT.mjs} +3 -3
  333. package/dist/{renderer-BD00i68i.mjs.map → renderer-sCovEubT.mjs.map} +1 -1
  334. package/dist/{renderer-BdbGTz7z.mjs → renderer-sYSkIUfo.mjs} +3 -3
  335. package/dist/{renderer-BdbGTz7z.mjs.map → renderer-sYSkIUfo.mjs.map} +1 -1
  336. package/dist/{renderer-BLU0PQTB.mjs → renderer-zXPVLRlD.mjs} +3 -3
  337. package/dist/{renderer-BLU0PQTB.mjs.map → renderer-zXPVLRlD.mjs.map} +1 -1
  338. package/dist/{renderers-CP8CFWDs-ywy4xljX.mjs → renderers-CP8CFWDs-DH2oktaC.mjs} +2 -2
  339. package/dist/{renderers-CP8CFWDs-ywy4xljX.mjs.map → renderers-CP8CFWDs-DH2oktaC.mjs.map} +1 -1
  340. package/dist/signals/index.mjs +4 -4
  341. package/dist/{src-B0KFNjj4.mjs → src-DFEqficI.mjs} +445 -35
  342. package/dist/src-DFEqficI.mjs.map +1 -0
  343. package/package.json +67 -58
  344. package/dist/index-BwRrsP_V.d.mts.map +0 -1
  345. package/dist/index-UDDAfHAF.d.mts.map +0 -1
  346. package/dist/preview-engine/chunk-3U2A3RW4.mjs +0 -5
  347. package/dist/preview-engine/chunk-6E3JSPJN.mjs +0 -1
  348. package/dist/preview-engine/chunk-F4F2UDRX.mjs +0 -1
  349. package/dist/preview-engine/chunk-KFNVUGNN.mjs +0 -1974
  350. package/dist/preview-engine/chunk-PYSBWKIJ.mjs +0 -1
  351. package/dist/preview-engine/chunk-U2IFQMS3.mjs +0 -174
  352. package/dist/preview-engine/renderers-2GMY2ZNK.mjs +0 -1
  353. package/dist/preview-engine/renderers-2QJNKL7Q.mjs +0 -1
  354. package/dist/preview-engine/renderers-3OYU6O6F.mjs +0 -1
  355. package/dist/preview-engine/renderers-433Y2PCK.mjs +0 -1
  356. package/dist/preview-engine/renderers-4AGPGEL4.mjs +0 -1
  357. package/dist/preview-engine/renderers-54DBHGUW.mjs +0 -1
  358. package/dist/preview-engine/renderers-5M2O55U3.mjs +0 -1
  359. package/dist/preview-engine/renderers-6FVMDEAY.mjs +0 -1
  360. package/dist/preview-engine/renderers-6R7ZJ7DU.mjs +0 -1
  361. package/dist/preview-engine/renderers-75GCMFOD.mjs +0 -1
  362. package/dist/preview-engine/renderers-7LWLUCVQ.mjs +0 -1
  363. package/dist/preview-engine/renderers-BLDENIEV.mjs +0 -1
  364. package/dist/preview-engine/renderers-CDB3YK3R.mjs +0 -1
  365. package/dist/preview-engine/renderers-D6D4XDFY.mjs +0 -1
  366. package/dist/preview-engine/renderers-DJVFQZYU.mjs +0 -1
  367. package/dist/preview-engine/renderers-DMXSV7VO.mjs +0 -1
  368. package/dist/preview-engine/renderers-EBMASIOE.mjs +0 -1
  369. package/dist/preview-engine/renderers-F262HDFS.mjs +0 -1
  370. package/dist/preview-engine/renderers-FMXKIF22.mjs +0 -1
  371. package/dist/preview-engine/renderers-GJKSZ6DR.mjs +0 -1
  372. package/dist/preview-engine/renderers-GR3RLYDZ.mjs +0 -1
  373. package/dist/preview-engine/renderers-GT3W2QIA.mjs +0 -1
  374. package/dist/preview-engine/renderers-IHC7HUK3.mjs +0 -1
  375. package/dist/preview-engine/renderers-J56ZGEVM.mjs +0 -1
  376. package/dist/preview-engine/renderers-KYM6352U.mjs +0 -1
  377. package/dist/preview-engine/renderers-LFXX6TWI.mjs +0 -1
  378. package/dist/preview-engine/renderers-NAHUPFPU.mjs +0 -1
  379. package/dist/preview-engine/renderers-NM3FZLHH.mjs +0 -1
  380. package/dist/preview-engine/renderers-NNB4BTJA.mjs +0 -1
  381. package/dist/preview-engine/renderers-OYVQW6QI.mjs +0 -1
  382. package/dist/preview-engine/renderers-P5RIFU3C.mjs +0 -1
  383. package/dist/preview-engine/renderers-QB7HJUTS.mjs +0 -1
  384. package/dist/preview-engine/renderers-QRQVOCDC.mjs +0 -1
  385. package/dist/preview-engine/renderers-QVFHJTZA.mjs +0 -1
  386. package/dist/preview-engine/renderers-R3WQIE4L.mjs +0 -1
  387. package/dist/preview-engine/renderers-SQBVOLG7.mjs +0 -1
  388. package/dist/preview-engine/renderers-TLXMYEDI.mjs +0 -1
  389. package/dist/preview-engine/renderers-X4S3WELJ.mjs +0 -1
  390. package/dist/preview-engine/renderers-XT7U25I7.mjs +0 -1
  391. package/dist/preview-engine/renderers-XVGLMBB3.mjs +0 -1
  392. package/dist/preview-engine/renderers-YUWU3TQZ.mjs +0 -1
  393. package/dist/preview-engine/renderers-ZNUD5OVO.mjs +0 -1
  394. package/dist/renderer-01zxT4CK.mjs +0 -5
  395. package/dist/renderer-35LHkj36.mjs +0 -5
  396. package/dist/renderer-B0OIdCGj.mjs +0 -5
  397. package/dist/renderer-B3IPtkK9.mjs +0 -5
  398. package/dist/renderer-BD25uND8.mjs.map +0 -1
  399. package/dist/renderer-BMC39abo.mjs +0 -5
  400. package/dist/renderer-BQj3nlAI.mjs +0 -5
  401. package/dist/renderer-BnBvSmp_.mjs +0 -5
  402. package/dist/renderer-BsDSpTpL.mjs +0 -5
  403. package/dist/renderer-BtW6_gvE.mjs +0 -5
  404. package/dist/renderer-By8U44Rt.mjs +0 -5
  405. package/dist/renderer-C3lDmxuX.mjs +0 -5
  406. package/dist/renderer-C6SZAE_x.mjs +0 -5
  407. package/dist/renderer-CA3IVeZj.mjs +0 -5
  408. package/dist/renderer-CFoCH_mO.mjs +0 -5
  409. package/dist/renderer-CLhZqJF8.mjs +0 -6
  410. package/dist/renderer-CYJXQS8E.mjs +0 -5
  411. package/dist/renderer-C_vj6_WJ.mjs +0 -5
  412. package/dist/renderer-CeqfC6OR.mjs +0 -5
  413. package/dist/renderer-CkZCGMAc.mjs +0 -5
  414. package/dist/renderer-Clxju1r9.mjs +0 -5
  415. package/dist/renderer-Cvz22ZSh.mjs +0 -3
  416. package/dist/renderer-CyWtKBF7.mjs +0 -5
  417. package/dist/renderer-D27STGoB.mjs +0 -5
  418. package/dist/renderer-D78Aq9YK.mjs +0 -5
  419. package/dist/renderer-DHEffABL.mjs +0 -5
  420. package/dist/renderer-DUuNCgzW.mjs +0 -5
  421. package/dist/renderer-DVD5pzRq.mjs +0 -5
  422. package/dist/renderer-Dsp6xDw5.mjs +0 -5
  423. package/dist/renderer-DuC-BFXR.mjs +0 -5
  424. package/dist/renderer-DuWs_Wsv.mjs +0 -5
  425. package/dist/renderer-OSgsiIrW.mjs +0 -5
  426. package/dist/renderer-OZaMFYtZ.mjs +0 -5
  427. package/dist/renderer-T79TmHET.mjs +0 -5
  428. package/dist/renderer-UhsC9oTU.mjs +0 -5
  429. package/dist/renderer-WYZV1jWf.mjs +0 -5
  430. package/dist/renderer-Y7evDjHH.mjs +0 -5
  431. package/dist/renderer-mcePkmUe.mjs +0 -5
  432. package/dist/src-B0KFNjj4.mjs.map +0 -1
@@ -1 +1 @@
1
- import{a as k,b as l,c as m,d as n}from"./chunk-2CECZN67.mjs";import{a as j}from"./chunk-22F33PPP.mjs";import{a as g}from"./chunk-GLXJOXBE.mjs";import{a as b}from"./chunk-ADV2TIKA.mjs";import{a as c}from"./chunk-PSEMCJBH.mjs";import{a as d}from"./chunk-UOTMBWBJ.mjs";import{a as e}from"./chunk-VHGC72XP.mjs";import{a as f}from"./chunk-RTHU7REC.mjs";import{a}from"./chunk-GZVPVOHB.mjs";import{a as h}from"./chunk-3U2A3RW4.mjs";import{b as i}from"./chunk-NIPWL6Z5.mjs";import"./chunk-JXUENEQO.mjs";import"./chunk-6FULVULN.mjs";import"./chunk-UZTA2EUU.mjs";import"./chunk-P4Y3PMJF.mjs";import"./chunk-RECQ74RP.mjs";import"./chunk-32WC4FRR.mjs";import"./chunk-XOF6UTZX.mjs";import"./chunk-VVY4PG5E.mjs";import"./chunk-F4F2UDRX.mjs";import"./chunk-Y4NIR77Z.mjs";export{a as WebGPUAudioProcessor,d as audioFadeRenderer,h as audioSignalExtractorRenderer,b as compressorRenderer,c as delayRenderer,n as encodeStereoWav,i as mixAudioTracks,l as mixSfxInto,e as noiseGateRenderer,f as parametricEqRenderer,k as renderSfx,g as reverbRenderer,m as softLimit,j as stereoPanningRenderer};
1
+ import{a as k,b as l,c as m,d as n}from"./chunk-2CECZN67.mjs";import{a as j}from"./chunk-P5FKRQFU.mjs";import{a as g}from"./chunk-34RJ7GAS.mjs";import{a as b}from"./chunk-BEYA25UZ.mjs";import{a as c}from"./chunk-ZJ5SWTCW.mjs";import{a as d}from"./chunk-TNJEZKXM.mjs";import{a as e}from"./chunk-73CNXGAK.mjs";import{a as f}from"./chunk-GRJJVSOV.mjs";import{a}from"./chunk-K3C6GUQD.mjs";import{a as h}from"./chunk-ZY47XIRK.mjs";import{b as i}from"./chunk-C4M3B2Q2.mjs";import"./chunk-HOV6DDBZ.mjs";import"./chunk-6FULVULN.mjs";import"./chunk-UZTA2EUU.mjs";import"./chunk-P4Y3PMJF.mjs";import"./chunk-RECQ74RP.mjs";import"./chunk-32WC4FRR.mjs";import"./chunk-XOF6UTZX.mjs";import"./chunk-VVY4PG5E.mjs";import"./chunk-KOVN277Z.mjs";import"./chunk-ULOFDFHJ.mjs";import"./chunk-Y4NIR77Z.mjs";export{a as WebGPUAudioProcessor,d as audioFadeRenderer,h as audioSignalExtractorRenderer,b as compressorRenderer,c as delayRenderer,n as encodeStereoWav,i as mixAudioTracks,l as mixSfxInto,e as noiseGateRenderer,f as parametricEqRenderer,k as renderSfx,g as reverbRenderer,m as softLimit,j as stereoPanningRenderer};
@@ -1,4 +1,4 @@
1
- import{a as ge}from"./chunk-2GA735OZ.mjs";import{b as pe,c as ve}from"./chunk-3DXMWDQ3.mjs";import{a as d,d as K,e as se,f as ue,g as oe,h as ce,j as de,k as me,l as fe,m as U}from"./chunk-IB6GZJOL.mjs";import{a as s}from"./chunk-6FULVULN.mjs";import{d as le}from"./chunk-VVY4PG5E.mjs";import{A as ne,w as ae}from"./chunk-F4F2UDRX.mjs";import{g as h}from"./chunk-Y4NIR77Z.mjs";h();h();h();var Q=100,Xe=ge().field("blurType",s.enum(["Gaussian","Box","Median","Motion","Bilateral","Edge-preserving","Radial","Zoom"]).default("Gaussian"),{bindable:!1,label:"Blur Type"}).field("strength",s.number().min(0).max(Q).default(5),{bindable:!0,dataTypes:["Number","Signal"],label:"Strength Signal",description:"The intensity of the blur. 0 = no blur. Can be modulated by a static number or a dynamic signal."}).field("angle",s.number().int().min(0).max(360).default(0),{bindable:!1,signal:!0,label:"Angle",description:"Direction of a Motion blur, in degrees."}).field("sigmaColor",s.number().min(.01).max(1).default(.1),{bindable:!0,dataTypes:["Number","Signal"],label:"Color Sigma Signal",description:"Sigma value for color space in Bilateral / Edge-preserving blurs. Can be modulated by a static number or a dynamic signal."}).field("centerX",s.number().min(0).max(1).default(.5),{bindable:!0,dataTypes:["Number","Signal"],label:"Center X Signal",description:"The X coordinate of the blur center (0.0 to 1.0). Can be modulated by a static number or a dynamic signal."}).field("centerY",s.number().min(0).max(1).default(.5),{bindable:!0,dataTypes:["Number","Signal"],label:"Center Y Signal",description:"The Y coordinate of the blur center (0.0 to 1.0). Can be modulated by a static number or a dynamic signal."}).field("partialBlur",s.boolean().default(!1),{bindable:!1,signal:!0,label:"Partial Blur",description:"Blurs only a specific circular area around center point."}).field("radius",s.number().min(.01).max(1).default(.3),{bindable:!0,dataTypes:["Number","Signal"],label:"Partial Radius Signal",description:"Radius of the partial blur region (0.01 to 1.0). Can be modulated by a static number or a dynamic signal."}).field("radiusY",s.number().min(0).max(1).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Partial Radius Y Signal",description:"Vertical radius of the partial blur region (0 to 1.0). 0 reuses the horizontal radius."}).field("shape",s.enum(["ellipse","circle","rect"]).default("circle"),{bindable:!1,label:"Partial Shape",description:"Shape of the partial blur region."}).build(),Oe=Xe.schema,je=s.union([pe,ve]);var g=`
1
+ import{a as ge}from"./chunk-2GA735OZ.mjs";import{b as pe,c as ve}from"./chunk-3DXMWDQ3.mjs";import{a as d,d as K,e as se,f as ue,g as oe,h as ce,j as de,k as me,l as fe,m as U}from"./chunk-IB6GZJOL.mjs";import{a as s}from"./chunk-6FULVULN.mjs";import{d as le}from"./chunk-VVY4PG5E.mjs";import{c as ae,g as ne}from"./chunk-KOVN277Z.mjs";import{g as h}from"./chunk-Y4NIR77Z.mjs";h();h();h();var Q=100,Xe=ge().field("blurType",s.enum(["Gaussian","Box","Median","Motion","Bilateral","Edge-preserving","Radial","Zoom"]).default("Gaussian"),{bindable:!1,label:"Blur Type"}).field("strength",s.number().min(0).max(Q).default(5),{bindable:!0,dataTypes:["Number","Signal"],label:"Strength Signal",description:"The intensity of the blur. 0 = no blur. Can be modulated by a static number or a dynamic signal."}).field("angle",s.number().int().min(0).max(360).default(0),{bindable:!1,signal:!0,label:"Angle",description:"Direction of a Motion blur, in degrees."}).field("sigmaColor",s.number().min(.01).max(1).default(.1),{bindable:!0,dataTypes:["Number","Signal"],label:"Color Sigma Signal",description:"Sigma value for color space in Bilateral / Edge-preserving blurs. Can be modulated by a static number or a dynamic signal."}).field("centerX",s.number().min(0).max(1).default(.5),{bindable:!0,dataTypes:["Number","Signal"],label:"Center X Signal",description:"The X coordinate of the blur center (0.0 to 1.0). Can be modulated by a static number or a dynamic signal."}).field("centerY",s.number().min(0).max(1).default(.5),{bindable:!0,dataTypes:["Number","Signal"],label:"Center Y Signal",description:"The Y coordinate of the blur center (0.0 to 1.0). Can be modulated by a static number or a dynamic signal."}).field("partialBlur",s.boolean().default(!1),{bindable:!1,signal:!0,label:"Partial Blur",description:"Blurs only a specific circular area around center point."}).field("radius",s.number().min(.01).max(1).default(.3),{bindable:!0,dataTypes:["Number","Signal"],label:"Partial Radius Signal",description:"Radius of the partial blur region (0.01 to 1.0). Can be modulated by a static number or a dynamic signal."}).field("radiusY",s.number().min(0).max(1).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Partial Radius Y Signal",description:"Vertical radius of the partial blur region (0 to 1.0). 0 reuses the horizontal radius."}).field("shape",s.enum(["ellipse","circle","rect"]).default("circle"),{bindable:!1,label:"Partial Shape",description:"Shape of the partial blur region."}).build(),Oe=Xe.schema,je=s.union([pe,ve]);var g=`
2
2
  struct BlurUniforms {
3
3
  dirX : f32,
4
4
  dirY : f32,
@@ -1,4 +1,4 @@
1
- import{a as v,c as _,d,g as w,h as G,j as b,m as T}from"./chunk-IB6GZJOL.mjs";import{A as h,u as g}from"./chunk-F4F2UDRX.mjs";import{g as u}from"./chunk-Y4NIR77Z.mjs";u();u();u();function N(){return[{x:0,y:0},{x:100,y:0},{x:0,y:100},{x:100,y:100}]}function L(e){let r=e&&e.length===4?e:N();return g(r.map(t=>({x:t.x/100,y:t.y/100})))}var z=`
1
+ import{a as v,c as _,d,g as w,h as G,j as b,m as T}from"./chunk-IB6GZJOL.mjs";import{a as g,g as h}from"./chunk-KOVN277Z.mjs";import{g as u}from"./chunk-Y4NIR77Z.mjs";u();u();u();function N(){return[{x:0,y:0},{x:100,y:0},{x:0,y:100},{x:100,y:100}]}function L(e){let r=e&&e.length===4?e:N();return g(r.map(t=>({x:t.x/100,y:t.y/100})))}var z=`
2
2
  struct CornerPinUniforms {
3
3
  matrix_row0 : vec4<f32>,
4
4
  matrix_row1 : vec4<f32>,
@@ -1,4 +1,4 @@
1
- import{a as C,d as R,g as B,h as w,j as H,m as L}from"./chunk-IB6GZJOL.mjs";import{A as E}from"./chunk-F4F2UDRX.mjs";import{g as v}from"./chunk-Y4NIR77Z.mjs";v();v();v();function U(n){let t=[...n].sort((e,c)=>e.x-c.x),s=[];for(let e of t)(s.length===0||Math.abs(e.x-s[s.length-1].x)>1e-6)&&s.push(e);let r=s.length;if(r===0)return e=>e;if(r===1)return()=>s[0].y;let i=new Float32Array(r-1),o=new Float32Array(r-1),u=new Float32Array(r-1);for(let e=0;e<r-1;e++)i[e]=s[e+1].x-s[e].x,o[e]=s[e+1].y-s[e].y,u[e]=o[e]/i[e];let a=new Float32Array(r);a[0]=u[0];for(let e=1;e<r-1;e++)a[e]=(u[e-1]+u[e])/2;a[r-1]=u[r-2];for(let e=0;e<r-1;e++){let c=u[e];if(Math.abs(c)<1e-9)a[e]=0,a[e+1]=0;else{let d=a[e]/c,l=a[e+1]/c,h=d*d,g=l*l;if(h+g>9){let p=3/Math.sqrt(h+g);a[e]=p*d*c,a[e+1]=p*l*c}}}return e=>{if(e<=s[0].x)return s[0].y;if(e>=s[r-1].x)return s[r-1].y;let c=0,d=r-2,l=0;for(;c<=d;){let x=c+d>>1;if(e>=s[x].x&&e<=s[x+1].x){l=x;break}e<s[x].x?d=x-1:c=x+1}let h=i[l],g=(e-s[l].x)/h,p=g*g,m=p*g,f=2*m-3*p+1,_=m-2*p+g,b=-2*m+3*p,P=m-p,G=s[l].y*f+h*a[l]*_+s[l+1].y*b+h*a[l+1]*P;return Math.max(0,Math.min(1,G))}}v();var Y=`
1
+ import{a as C,d as R,g as B,h as w,j as H,m as L}from"./chunk-IB6GZJOL.mjs";import{g as E}from"./chunk-KOVN277Z.mjs";import{g as v}from"./chunk-Y4NIR77Z.mjs";v();v();v();function U(n){let t=[...n].sort((e,c)=>e.x-c.x),s=[];for(let e of t)(s.length===0||Math.abs(e.x-s[s.length-1].x)>1e-6)&&s.push(e);let r=s.length;if(r===0)return e=>e;if(r===1)return()=>s[0].y;let i=new Float32Array(r-1),o=new Float32Array(r-1),u=new Float32Array(r-1);for(let e=0;e<r-1;e++)i[e]=s[e+1].x-s[e].x,o[e]=s[e+1].y-s[e].y,u[e]=o[e]/i[e];let a=new Float32Array(r);a[0]=u[0];for(let e=1;e<r-1;e++)a[e]=(u[e-1]+u[e])/2;a[r-1]=u[r-2];for(let e=0;e<r-1;e++){let c=u[e];if(Math.abs(c)<1e-9)a[e]=0,a[e+1]=0;else{let d=a[e]/c,l=a[e+1]/c,h=d*d,g=l*l;if(h+g>9){let p=3/Math.sqrt(h+g);a[e]=p*d*c,a[e+1]=p*l*c}}}return e=>{if(e<=s[0].x)return s[0].y;if(e>=s[r-1].x)return s[r-1].y;let c=0,d=r-2,l=0;for(;c<=d;){let x=c+d>>1;if(e>=s[x].x&&e<=s[x+1].x){l=x;break}e<s[x].x?d=x-1:c=x+1}let h=i[l],g=(e-s[l].x)/h,p=g*g,m=p*g,f=2*m-3*p+1,_=m-2*p+g,b=-2*m+3*p,P=m-p,G=s[l].y*f+h*a[l]*_+s[l+1].y*b+h*a[l+1]*P;return Math.max(0,Math.min(1,G))}}v();var Y=`
2
2
  @group(0) @binding(0) var t_src: texture_2d<f32>;
3
3
  @group(0) @binding(1) var<storage, read_write> bins_r: array<atomic<u32>, 256>;
4
4
  @group(0) @binding(2) var<storage, read_write> bins_g: array<atomic<u32>, 256>;
@@ -1,4 +1,4 @@
1
- import{a as B,d as R,e as E,f as O,g as $,h as Y,j as k,m as K}from"./chunk-IB6GZJOL.mjs";import{d as A}from"./chunk-VVY4PG5E.mjs";import{A as W,v as T}from"./chunk-F4F2UDRX.mjs";import{a as X}from"./chunk-354GX6IB.mjs";import{g as D}from"./chunk-Y4NIR77Z.mjs";D();D();var ye=`
1
+ import{a as B,d as R,e as E,f as O,g as $,h as Y,j as k,m as K}from"./chunk-IB6GZJOL.mjs";import{d as A}from"./chunk-VVY4PG5E.mjs";import{b as T,g as W}from"./chunk-KOVN277Z.mjs";import{a as X}from"./chunk-354GX6IB.mjs";import{g as D}from"./chunk-Y4NIR77Z.mjs";D();D();var ye=`
2
2
  struct RelightUniforms {
3
3
  // vec4 0
4
4
  lightType : f32, // 0=Point, 1=Spot, 2=Directional, 3=Rim
@@ -1,4 +1,4 @@
1
- import{a as _}from"./chunk-GZVPVOHB.mjs";import{A as O,c as a,z as n}from"./chunk-F4F2UDRX.mjs";import{g as u}from"./chunk-Y4NIR77Z.mjs";u();u();var U=["roomSize","damping","wet","dry","width"],G=()=>`
1
+ import{a as _}from"./chunk-K3C6GUQD.mjs";import{f as n,g as O}from"./chunk-KOVN277Z.mjs";import{c as a}from"./chunk-ULOFDFHJ.mjs";import{g as u}from"./chunk-Y4NIR77Z.mjs";u();u();var U=["roomSize","damping","wet","dry","width"],G=()=>`
2
2
  struct Uniforms {
3
3
  sampleRate : f32,
4
4
  roomSize : f32,
@@ -1,4 +1,4 @@
1
- import{a as P,d as h,f as V,g as _,h as C,j as B,k as M,m as k}from"./chunk-IB6GZJOL.mjs";import{d as v}from"./chunk-VVY4PG5E.mjs";import{A as U}from"./chunk-F4F2UDRX.mjs";import{g}from"./chunk-Y4NIR77Z.mjs";g();g();var te=`
1
+ import{a as P,d as h,f as V,g as _,h as C,j as B,k as M,m as k}from"./chunk-IB6GZJOL.mjs";import{d as v}from"./chunk-VVY4PG5E.mjs";import{g as U}from"./chunk-KOVN277Z.mjs";import{g}from"./chunk-Y4NIR77Z.mjs";g();g();var te=`
2
2
  struct FilmUniforms {
3
3
  strength : f32,
4
4
  size : f32,
@@ -1,4 +1,4 @@
1
- import{a as X,d as f,e as _,f as P,g as Y,h as D,j as U,k as V,m as B}from"./chunk-IB6GZJOL.mjs";import{d}from"./chunk-VVY4PG5E.mjs";import{A as R}from"./chunk-F4F2UDRX.mjs";import{g}from"./chunk-Y4NIR77Z.mjs";g();g();var j=0,Q=500;function q(t,e,r){return Math.min(r,Math.max(e,t))}var z=`
1
+ import{a as X,d as f,e as _,f as P,g as Y,h as D,j as U,k as V,m as B}from"./chunk-IB6GZJOL.mjs";import{d}from"./chunk-VVY4PG5E.mjs";import{g as R}from"./chunk-KOVN277Z.mjs";import{g}from"./chunk-Y4NIR77Z.mjs";g();g();var j=0,Q=500;function q(t,e,r){return Math.min(r,Math.max(e,t))}var z=`
2
2
  struct DisplacementUniforms {
3
3
  strengthX : f32,
4
4
  strengthY : f32,
@@ -1,4 +1,4 @@
1
- import{a as W,d as V,e as $,f as j,g as E,h as F,j as A,k as Y,m as q}from"./chunk-IB6GZJOL.mjs";import{d as p}from"./chunk-VVY4PG5E.mjs";import{A as O}from"./chunk-F4F2UDRX.mjs";import{g as C}from"./chunk-Y4NIR77Z.mjs";C();C();var ne=`
1
+ import{a as W,d as V,e as $,f as j,g as E,h as F,j as A,k as Y,m as q}from"./chunk-IB6GZJOL.mjs";import{d as p}from"./chunk-VVY4PG5E.mjs";import{g as O}from"./chunk-KOVN277Z.mjs";import{g as C}from"./chunk-Y4NIR77Z.mjs";C();C();var ne=`
2
2
  struct ColorKeyUniforms {
3
3
  similarity : f32,
4
4
  smoothness : f32,
@@ -1,4 +1,4 @@
1
- import{a as X,b as J,d as U,g as Z,j as ee,m as ae}from"./chunk-IB6GZJOL.mjs";import{A as Q}from"./chunk-F4F2UDRX.mjs";import{g as W}from"./chunk-Y4NIR77Z.mjs";W();W();function h(l){if(!l)return[1,1,1,1];let t=l.trim().replace(/^#/,"");if(t.length===3)t=t.split("").map(m=>m+m).join("")+"ff";else if(t.length===6)t=t+"ff";else if(t.length!==8)return[1,1,1,1];let s=parseInt(t.slice(0,2),16)/255,u=parseInt(t.slice(2,4),16)/255,n=parseInt(t.slice(4,6),16)/255,c=parseInt(t.slice(6,8),16)/255;return[Number.isFinite(s)?s:1,Number.isFinite(u)?u:1,Number.isFinite(n)?n:1,Number.isFinite(c)?c:1]}var A={normal:0,"source-over":0,multiply:1,screen:2,overlay:3,darken:4,lighten:5,"color-dodge":6,"color-burn":7,"hard-light":8,"soft-light":9,difference:10,exclusion:11,hue:12,saturation:13,color:14,luminosity:15,"mask-in":16,"destination-in":16,"mask-out":17,"destination-out":17,"source-in":18,"source-out":19,"source-atop":20,"destination-over":21,"destination-atop":22,lighter:23,copy:24,xor:25},ea={InnerBevel:0,OuterBevel:1,Emboss:2,PillowEmboss:3},aa={Smooth:0,ChiselHard:1,ChiselSoft:2},ta={outside:0,center:1,inside:2},z=24,ra=`
1
+ import{a as X,b as J,d as U,g as Z,j as ee,m as ae}from"./chunk-IB6GZJOL.mjs";import{g as Q}from"./chunk-KOVN277Z.mjs";import{g as W}from"./chunk-Y4NIR77Z.mjs";W();W();function h(l){if(!l)return[1,1,1,1];let t=l.trim().replace(/^#/,"");if(t.length===3)t=t.split("").map(m=>m+m).join("")+"ff";else if(t.length===6)t=t+"ff";else if(t.length!==8)return[1,1,1,1];let s=parseInt(t.slice(0,2),16)/255,u=parseInt(t.slice(2,4),16)/255,n=parseInt(t.slice(4,6),16)/255,c=parseInt(t.slice(6,8),16)/255;return[Number.isFinite(s)?s:1,Number.isFinite(u)?u:1,Number.isFinite(n)?n:1,Number.isFinite(c)?c:1]}var A={normal:0,"source-over":0,multiply:1,screen:2,overlay:3,darken:4,lighten:5,"color-dodge":6,"color-burn":7,"hard-light":8,"soft-light":9,difference:10,exclusion:11,hue:12,saturation:13,color:14,luminosity:15,"mask-in":16,"destination-in":16,"mask-out":17,"destination-out":17,"source-in":18,"source-out":19,"source-atop":20,"destination-over":21,"destination-atop":22,lighter:23,copy:24,xor:25},ea={InnerBevel:0,OuterBevel:1,Emboss:2,PillowEmboss:3},aa={Smooth:0,ChiselHard:1,ChiselSoft:2},ta={outside:0,center:1,inside:2},z=24,ra=`
2
2
  struct LayerStyleUniforms {
3
3
  // Drop Shadow (vec4 x 3)
4
4
  dropShadowColor : vec4<f32>,
@@ -1,4 +1,4 @@
1
- import{a as p}from"./chunk-GZVPVOHB.mjs";import{A as m,c as t,z as n}from"./chunk-F4F2UDRX.mjs";import{g as s}from"./chunk-Y4NIR77Z.mjs";s();s();var C=["threshold","attack","hold","release","range"],I=()=>`
1
+ import{a as p}from"./chunk-K3C6GUQD.mjs";import{f as n,g as m}from"./chunk-KOVN277Z.mjs";import{c as t}from"./chunk-ULOFDFHJ.mjs";import{g as s}from"./chunk-Y4NIR77Z.mjs";s();s();var C=["threshold","attack","hold","release","range"],I=()=>`
2
2
  struct Uniforms {
3
3
  sampleRate : f32,
4
4
  threshold : f32,
@@ -1,4 +1,4 @@
1
- import{a as F,d as L,e as N,f as W,g as C,h as V,j as B,k as H,l as $,m as E}from"./chunk-IB6GZJOL.mjs";import{A as D,w as U}from"./chunk-F4F2UDRX.mjs";import{g as p}from"./chunk-Y4NIR77Z.mjs";p();p();var fe=`
1
+ import{a as F,d as L,e as N,f as W,g as C,h as V,j as B,k as H,l as $,m as E}from"./chunk-IB6GZJOL.mjs";import{c as U,g as D}from"./chunk-KOVN277Z.mjs";import{g as p}from"./chunk-Y4NIR77Z.mjs";p();p();var fe=`
2
2
  struct TileOffsetUniforms {
3
3
  offsetX : f32,
4
4
  offsetY : f32,
@@ -1,4 +1,4 @@
1
- import{a as p}from"./chunk-GZVPVOHB.mjs";import{A as u,c as n,z as f}from"./chunk-F4F2UDRX.mjs";import{g as t}from"./chunk-Y4NIR77Z.mjs";t();t();var P=["threshold","ratio","attack","release","knee","makeupGain"],y=()=>`
1
+ import{a as p}from"./chunk-K3C6GUQD.mjs";import{f,g as u}from"./chunk-KOVN277Z.mjs";import{c as n}from"./chunk-ULOFDFHJ.mjs";import{g as t}from"./chunk-Y4NIR77Z.mjs";t();t();var P=["threshold","ratio","attack","release","knee","makeupGain"],y=()=>`
2
2
  struct Uniforms {
3
3
  sampleRate : f32,
4
4
  threshold : f32,
@@ -1,4 +1,4 @@
1
- import{d as w,h as G,i as P}from"./chunk-IB6GZJOL.mjs";import{A as b}from"./chunk-F4F2UDRX.mjs";import{g as u}from"./chunk-Y4NIR77Z.mjs";u();u();u();function W(e,r){let n=[];for(let i=0;i<r;i++){let c=i/(r-1)*100;for(let l=0;l<e;l++){let o=l/(e-1)*100;n.push({x:o,y:c})}}return n}var F=`
1
+ import{d as w,h as G,i as P}from"./chunk-IB6GZJOL.mjs";import{g as b}from"./chunk-KOVN277Z.mjs";import{g as u}from"./chunk-Y4NIR77Z.mjs";u();u();u();function W(e,r){let n=[];for(let i=0;i<r;i++){let c=i/(r-1)*100;for(let l=0;l<e;l++){let o=l/(e-1)*100;n.push({x:o,y:c})}}return n}var F=`
2
2
  struct MeshUniforms {
3
3
  gridSize : vec2<f32>,
4
4
  layerSize : vec2<f32>,
@@ -1,4 +1,4 @@
1
- import{a as le}from"./chunk-2GA735OZ.mjs";import{b as se,c as ue}from"./chunk-3DXMWDQ3.mjs";import{a as te,d as ae,e as G,g as ie,h as _,j as ne,k as re,l as oe,m as L}from"./chunk-IB6GZJOL.mjs";import{a as r}from"./chunk-6FULVULN.mjs";import{A as ee,x as Z}from"./chunk-F4F2UDRX.mjs";import{g as n}from"./chunk-Y4NIR77Z.mjs";n();n();n();n();var N=0,U=1,V=.5,O=50,P=0,F=100,B=0,W=50,H=-100,z=100,ye=r.enum(["Alpha","Luminance","Red","Green","Blue"]),De=r.enum(["Composite","MatteOnly","DecontaminatedRGB"]),we=le().field("decontaminateAmount",r.number().multipleOf(.01).min(N).max(U).default(.7),{bindable:!0,dataTypes:["Number","Signal"],label:"Decontaminate Colors",description:"Amount of edge color spill decontamination/defringing (0.0\u20131.0)."}).field("radius",r.number().multipleOf(.1).min(V).max(O).default(2),{bindable:!0,dataTypes:["Number","Signal"],label:"Edge Detection Radius (px)",description:"Radius in pixels around alpha transitions to refine and decontaminate."}).field("smooth",r.number().min(P).max(F).default(5),{bindable:!0,dataTypes:["Number","Signal"],label:"Smoothness",description:"Matte edge smoothing curve intensity (0\u2013100)."}).field("feather",r.number().multipleOf(.1).min(B).max(W).default(.5),{bindable:!0,dataTypes:["Number","Signal"],label:"Feather (px)",description:"Sub-pixel gaussian softness along the matte boundary."}).field("shiftEdge",r.number().min(H).max(z).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Shift Edge (%)",description:"Contract (<0) or expand (>0) the edge boundary (-100% to +100%)."}).field("matteChannel",ye.default("Alpha"),{label:"Matte Channel",description:"Channel to extract matte from (Alpha, Luminance, Red, Green, Blue)."}).field("outputMode",De.default("Composite"),{label:"Output Mode",description:"Composite (decontaminated RGB + refined alpha), MatteOnly (grayscale mask), DecontaminatedRGB (clean RGB with full alpha)."}).build(),Oe=we.schema,Pe=r.union([se,ue]);n();var Ge={Alpha:0,Luminance:1,Red:2,Green:3,Blue:4},_e={Composite:0,MatteOnly:1,DecontaminatedRGB:2},Le=`
1
+ import{a as le}from"./chunk-2GA735OZ.mjs";import{b as se,c as ue}from"./chunk-3DXMWDQ3.mjs";import{a as te,d as ae,e as G,g as ie,h as _,j as ne,k as re,l as oe,m as L}from"./chunk-IB6GZJOL.mjs";import{a as r}from"./chunk-6FULVULN.mjs";import{d as Z,g as ee}from"./chunk-KOVN277Z.mjs";import{g as n}from"./chunk-Y4NIR77Z.mjs";n();n();n();n();var N=0,U=1,V=.5,O=50,P=0,F=100,B=0,W=50,H=-100,z=100,ye=r.enum(["Alpha","Luminance","Red","Green","Blue"]),De=r.enum(["Composite","MatteOnly","DecontaminatedRGB"]),we=le().field("decontaminateAmount",r.number().multipleOf(.01).min(N).max(U).default(.7),{bindable:!0,dataTypes:["Number","Signal"],label:"Decontaminate Colors",description:"Amount of edge color spill decontamination/defringing (0.0\u20131.0)."}).field("radius",r.number().multipleOf(.1).min(V).max(O).default(2),{bindable:!0,dataTypes:["Number","Signal"],label:"Edge Detection Radius (px)",description:"Radius in pixels around alpha transitions to refine and decontaminate."}).field("smooth",r.number().min(P).max(F).default(5),{bindable:!0,dataTypes:["Number","Signal"],label:"Smoothness",description:"Matte edge smoothing curve intensity (0\u2013100)."}).field("feather",r.number().multipleOf(.1).min(B).max(W).default(.5),{bindable:!0,dataTypes:["Number","Signal"],label:"Feather (px)",description:"Sub-pixel gaussian softness along the matte boundary."}).field("shiftEdge",r.number().min(H).max(z).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Shift Edge (%)",description:"Contract (<0) or expand (>0) the edge boundary (-100% to +100%)."}).field("matteChannel",ye.default("Alpha"),{label:"Matte Channel",description:"Channel to extract matte from (Alpha, Luminance, Red, Green, Blue)."}).field("outputMode",De.default("Composite"),{label:"Output Mode",description:"Composite (decontaminated RGB + refined alpha), MatteOnly (grayscale mask), DecontaminatedRGB (clean RGB with full alpha)."}).build(),Oe=we.schema,Pe=r.union([se,ue]);n();var Ge={Alpha:0,Luminance:1,Red:2,Green:3,Blue:4},_e={Composite:0,MatteOnly:1,DecontaminatedRGB:2},Le=`
2
2
  struct RefineEdgeUniforms {
3
3
  dirX : f32,
4
4
  dirY : f32,
@@ -0,0 +1 @@
1
+ import{a as L,c as F}from"./chunk-5RRKGN2U.mjs";import{f,g as m}from"./chunk-Y4NIR77Z.mjs";m();var R=8,$=/^\s*(linear|radial|conic)-gradient\(\s*([\s\S]*)\)\s*$/i;function ne(n){return typeof n=="string"&&$.test(n)}function te(n){let e=[],r=0,o="";for(let t of n)t==="("&&r++,t===")"&&r--,t===","&&r===0?(e.push(o.trim()),o=""):o+=t;return o.trim()&&e.push(o.trim()),e}function k(n){let e=/^(-?[\d.]+)(deg|turn|rad|grad)?$/i.exec(n.trim());if(!e)return null;let r=parseFloat(e[1]);switch((e[2]??"deg").toLowerCase()){case"turn":return r*360;case"rad":return r*180/Math.PI;case"grad":return r*.9;default:return r}}var C={top:0,right:90,bottom:180,left:270,"top right":45,"right top":45,"bottom right":135,"right bottom":135,"bottom left":225,"left bottom":225,"top left":315,"left top":315},B={left:0,top:0,center:.5,right:1,bottom:1};function oe(n){let e=n.map(t=>t in B?{v:B[t],axis:t==="top"||t==="bottom"?"y":t==="left"||t==="right"?"x":"any"}:{v:t.endsWith("%")?parseFloat(t)/100:.5,axis:"any"}),r=.5,o=.5;return e.length===1?e[0].axis==="y"?o=e[0].v:r=e[0].v:e.length>=2&&(e[0].axis==="y"||e[1].axis==="x"?(o=e[0].v,r=e[1].v):(r=e[0].v,o=e[1].v)),[r,o]}function ie(n){let e=/^((?:[a-z]+\([^)]*\))|#[0-9a-f]+|[a-z]+)\s*(.*)$/i.exec(n.trim());if(!e)return null;let r=F(e[1]);if(!r)return null;let o=[];for(let t of e[2].split(/\s+/).filter(Boolean))if(t.endsWith("%"))o.push(parseFloat(t)/100);else if(t==="0")o.push(0);else if(/(deg|turn|rad|grad)$/i.test(t)){let i=k(t);i!==null&&o.push(i/360)}return{color:r,positions:o.filter(t=>Number.isFinite(t))}}function se(n){let e=n.length;if(e===0)return[];let r=n.map(t=>t.position);r[0]===void 0&&(r[0]=0),r[e-1]===void 0&&(r[e-1]=1);let o=-1/0;for(let t=0;t<e;t++){let i=r[t];i!==void 0&&(r[t]=Math.max(i,o),o=r[t])}for(let t=1;t<e;t++){if(r[t]!==void 0)continue;let i=t;for(;r[i]===void 0;)i++;let a=r[t-1],s=r[i];for(let u=t;u<i;u++)r[u]=a+(s-a)*(u-t+1)/(i-t+1)}return n.map((t,i)=>({offset:r[i],color:t.color}))}var A=new Map;function ae(n){let e=A.get(n);if(e!==void 0)return e;let r=ce(n);return A.size>512&&A.clear(),A.set(n,r),r}function ce(n){let e=$.exec(n);if(!e)return null;let r=e[1].toLowerCase(),o=te(e[2]),t={type:r,angle:180,center:[.5,.5],shape:"ellipse",from:0,stops:[]},i=o[0]?.toLowerCase().trim()??"",a=!1;if(r==="linear")if(i.startsWith("to ")){let u=i.slice(3).trim().replace(/\s+/g," ");u in C&&(t.angle=C[u],a=!0)}else{let u=k(i);u!==null&&(t.angle=u,a=!0)}else{let u=i.split(/\s+/).filter(Boolean),l=u.indexOf("at"),c=l>=0?u.slice(0,l):u;if(l>=0||c.some(p=>p==="circle"||p==="ellipse"||p==="from"||/^closest|^farthest/.test(p)||r==="radial"&&/px$/.test(p)))if(a=!0,l>=0&&(t.center=oe(u.slice(l+1))),r==="radial"){c.includes("circle")&&(t.shape="circle");let p=c.find(g=>/^(closest|farthest)-(side|corner)$/.test(g));p&&(t.extent=p);let y=c.filter(g=>/px$/.test(g)).map(g=>parseFloat(g));y.length===1?(t.shape="circle",t.radius=[y[0],y[0]]):y.length>=2&&(t.radius=[y[0],y[1]])}else{let p=c.indexOf("from");p>=0&&c[p+1]&&(t.from=k(c[p+1])??0)}}let s=[];for(let u of a?o.slice(1):o){let l=ie(u);if(!l)return null;l.positions.length===0&&s.push({color:l.color});for(let c of l.positions)s.push({color:l.color,position:c})}return s.length===0?null:(s.length===1&&s.push({...s[0]}),t.stops=se(s),t)}function tr(n){if(n.length<=R)return n;let e=[],r=n[0].offset,o=n[n.length-1].offset;for(let t=0;t<R;t++){let i=r+(o-r)*t/(R-1),a=1;for(;a<n.length-1&&n[a].offset<i;)a++;let s=n[a-1],u=n[a],l=u.offset-s.offset,c=l>0?Math.min(1,Math.max(0,(i-s.offset)/l)):1;e.push({offset:i,color:s.color.map((d,p)=>d+(u.color[p]-d)*c)})}return e}function or(n){let e=n.map(r=>L(r.color[0],r.color[1],r.color[2]));return n.map((r,o)=>{let t=e[o];if(r.color[3]<1e-4){let i=n.slice(0,o).reverse().findIndex(l=>l.color[3]>1e-4),a=n.slice(o+1).findIndex(l=>l.color[3]>1e-4),s=i>=0?o-1-i:-1,u=a>=0?o+1+a:-1;if(s>=0&&u>=0){let l=e[s],c=e[u];t=[(l[0]+c[0])/2,(l[1]+c[1])/2,(l[2]+c[2])/2]}else s>=0?t=e[s]:u>=0&&(t=e[u])}return[t[0],t[1],t[2],r.color[3]]})}function G(n){return n.map(e=>typeof e=="string"?e:`${e.color} ${Math.round(e.offset*1e4)/100}%`).join(", ")}var ir={linear(n,e=180){return`linear-gradient(${e}deg, ${G(n)})`},radial(n,e={}){let r=e.at??[.5,.5];return`radial-gradient(${e.radius!==void 0?`${e.radius}px`:e.circle?"circle":"ellipse"} at ${r[0]*100}% ${r[1]*100}%, ${G(n)})`},conic(n,e={}){let r=e.at??[.5,.5];return`conic-gradient(from ${e.from??0}deg at ${r[0]*100}% ${r[1]*100}%, ${G(n)})`},parse:ae,is:ne};m();m();m();function P(n,e){let r=0,o=1;for(;;){if(e>=n.length)throw new Error("ONNX model: truncated varint");let t=n[e++];if(r+=(t&127)*o,t<128)return[r,e];o*=128}}function v(n){let e=[],r=0;for(;r<n.length;){let o=r,[t,i]=P(n,r);r=i;let a=Math.floor(t/8),s=t&7,u=n.subarray(r,r);if(s===0)r=P(n,r)[1];else if(s===1)r+=8;else if(s===5)r+=4;else if(s===2){let[l,c]=P(n,r);u=n.subarray(c,c+l),r=c+l}else throw new Error(`ONNX model: unsupported wire type ${s}`);if(r>n.length)throw new Error("ONNX model: truncated field");e.push({number:a,wire:s,raw:n.subarray(o,r),body:u})}return e}var ue=new TextDecoder,H=new TextEncoder;function I(n,e){return v(n).filter(r=>r.number===e&&r.wire===2).map(r=>ue.decode(r.body))}function S(n,e){return I(n,e)[0]}function x(n){let e=[];for(;n>=128;)e.push(n%128|128),n=Math.floor(n/128);return e.push(n),e}function b(n,e){let r=[...x(n*8+2),...x(e.length)],o=new Uint8Array(r.length+e.length);return o.set(r,0),o.set(e,r.length),o}function h(n){let e=new Uint8Array(n.reduce((o,t)=>o+t.length,0)),r=0;for(let o of n)e.set(o,r),r+=o.length;return e}var ye=4,ge=5,ve=2,j=1,Pe=3,he=5,we=1;function Y(n){let e=[];if(n.wire===2){let r=0;for(;r<n.body.length;){let[o,t]=P(n.body,r);e.push(o),r=t}}else if(n.wire===0){let r=0;r=P(n.raw,r)[1],e.push(P(n.raw,r)[0])}return e}function z(n){return v(n).filter(e=>e.number===we).flatMap(Y)}function X(n){let e;try{e=v(n).find(t=>t.number===7&&t.wire===2)}catch{return!0}if(!e)return!0;let r=new Map,o=[];for(let t of v(e.body))if(t.number===5){let i=S(t.body,8);i!==void 0&&r.set(i,z(t.body))}else if(t.number===1){let i=S(t.body,ye);if(i!=="Conv"&&i!=="Constant")continue;let a=v(t.body).filter(d=>d.number===ge).map(d=>d.body);if(i==="Constant"){let d=a.find(g=>S(g,j)==="value"),p=d&&v(d).find(g=>g.number===he),y=I(t.body,ve)[0];p&&y&&r.set(y,z(p.body));continue}let s=a.find(d=>S(d,j)==="group"),u=s&&v(s).find(d=>d.number===Pe),l=u?Y(u)[0]??1:1,c=I(t.body,1)[1];l>1&&c&&o.push({weight:c,group:l})}return o.some(({weight:t})=>{let i=r.get(t)?.[1];return i!==void 0&&i>1&&i%4!==0})}var xe="onnxruntime-web",Se=()=>import(xe),T=class{kind="webgpu";_loader;_providers;_wasmFallback;_ortPromise;device;constructor(e={}){this._loader=e.loader??Se,this._providers=e.executionProviders??["webgpu","wasm"],this._wasmFallback=e.wasmFallback!==!1,this.device=e.device}ort(){return this._ortPromise||(this._ortPromise=this._loader().catch(e=>{throw this._ortPromise=void 0,new Error(`onnxruntime-web failed to load (${String(e)}). Install it in the browser bundle or pass a custom loader.`)})),this._ortPromise}async createOrtSession(e,r,o){try{let t=this.device,i=X(r)?"NCHW":"NHWC";return await e.InferenceSession.create(r,{executionProviders:this._providers.map(a=>Oe(a,t,i)),graphOptimizationLevel:"all",externalData:o?.externalData?.map(({path:a,data:s})=>({path:a,data:s})),logSeverityLevel:3})}catch(t){if(!this._wasmFallback||!this._providers.includes("webgpu"))throw t;return await e.InferenceSession.create(r,{executionProviders:["wasm"],graphOptimizationLevel:"all",externalData:o?.externalData?.map(({path:i,data:a})=>({path:i,data:a})),logSeverityLevel:3})}}async createSession(e,r){let o=await this.ort(),t=await V(o,()=>this.createOrtSession(o,e,r)),i=async a=>{let s={};for(let c of a){let d=a.length===1&&!t.inputNames.includes(c.name)?t.inputNames[0]??c.name:c.name;if(c.gpuBuffer&&!(c.data instanceof Float32Array))throw new Error("GPU-buffer vision inputs must be float32.");s[d]=c.gpuBuffer&&o.Tensor.fromGpuBuffer?o.Tensor.fromGpuBuffer(c.gpuBuffer,{dataType:"float32",dims:[...c.dims]}):new o.Tensor(c.data instanceof Uint8Array?"bool":c.data instanceof BigInt64Array?"int64":c.data instanceof Int32Array?"int32":"float32",c.data,[...c.dims])}let u=await V(o,()=>t.run(s)),l={};for(let[c,d]of Object.entries(u))l[c]={data:d.data,dims:[...d.dims]};return l};return{run:a=>i([a]),runMany:i,release:()=>{V(o,()=>t.release())}}}};function Oe(n,e,r){return n!=="webgpu"?n:e?{name:n,preferredLayout:r,device:e}:{name:n,preferredLayout:r}}var K=new WeakMap;function V(n,e){let r=(K.get(n)??Promise.resolve()).then(e,e);return K.set(n,r.catch(()=>{})),r}m();m();var _e=1,Ee=8,Ae=7,Ie=2,Te=1,Ne=2,Ue=11,Re=12,Ge=1,ke=2,Ve=4,We=1,De=2,Me=1,Le=1,Fe=2,Ce=1,Be=1,$e=1,O=(n,e)=>b(n,H.encode(e)),N=(n,e)=>new Uint8Array([...x(n*8),...x(e)]);function Q(n){let e=b(Ce,N(Be,1)),r=h([N(Le,$e),b(Fe,e)]);return h([O(We,n),b(De,b(Me,r))])}var Z;function J(){return Z??=h([N(_e,8),b(Ee,N(Ie,13)),b(Ae,h([b(Te,h([O(Ge,"x"),O(ke,"y"),O(Ve,"Identity")])),O(Ne,"probe"),b(Ue,Q("x")),b(Re,Q("y"))]))]),Z}m();var He="onnxruntime-web/webgpu",je="webgpu",_,ze=/llvmpipe|lavapipe|swiftshader|software/i;function qe(){return _||(_=(async()=>{let n=globalThis;if(!n.navigator?.gpu){let{create:i,globals:a}=await import(je);Object.assign(globalThis,a),n.navigator??={},Object.defineProperty(n.navigator,"gpu",{value:i([]),configurable:!0,writable:!0})}let r=await(n.navigator?.gpu).requestAdapter({powerPreference:"high-performance"});if(!r)throw new Error("No WebGPU adapter.");let o=r.info??{},t=[o.vendor,o.architecture,o.device,o.description].filter(Boolean).join(" ");if(r.isFallbackAdapter===!0||o.isFallbackAdapter===!0||ze.test(t))throw new Error(`WebGPU adapter is a software rasterizer (${t}).`);Ye(r.features)})(),_.catch(()=>{_=void 0})),_}function Ye(n){let e=Object.getPrototypeOf(n);!e||typeof e.keys!="function"||(typeof e.forEach!="function"&&Object.defineProperty(e,"forEach",{value(r,o){for(let t of this.keys())r.call(o,t,t,this)},configurable:!0,writable:!0}),typeof e.values!="function"&&Object.defineProperty(e,"values",{value(){return this.keys()},configurable:!0,writable:!0}),typeof e.entries!="function"&&Object.defineProperty(e,"entries",{*value(){for(let r of this.keys())yield[r,r]},configurable:!0,writable:!0}))}var U=class{kind="webgpu";device;_inner;constructor(e={}){let r=e.loader??(async()=>{await qe();let o=await import(He);return o.env?.wasm&&(o.env.wasm.numThreads=1),o.env?.webgpu&&(o.env.webgpu.powerPreference="high-performance"),o});this.device=e.device,this._inner=new T({wasmFallback:!1,...e,loader:r})}createSession(e,r){return this._inner.createSession(e,r)}};function Xe(n){return n.backend?n.backend():Promise.resolve(n.kind==="webgpu"?"webgpu":"cpu")}var W,D;function Or(n){D=n}function _r(n){W=n}var Ke=Symbol.for("framefields.vision.backend");function E(n){let e=globalThis[Ke];if(typeof e=="function")try{e(n)}catch{}}function Qe(){let n=typeof f<"u"?f.env.FRAMEFIELDS_VISION_PROVIDER?.trim().toLowerCase():void 0;return n==="webgpu"||n==="cuda"||n==="cpu"?n:"auto"}var M=class{_resolved;_resolving;get kind(){return this._resolved?.kind??"webgpu"}get device(){return this._resolved?.device}async createSession(e,r){if(this._resolved)return this._resolved.createSession(e,r);if(this._resolving)return(await this._resolving).provider.createSession(e,r);let{provider:o,first:t}=await this.start(e,r);return t??o.createSession(e,r)}async backend(){!this._resolved&&!this._resolving&&(await this.start(J())).first?.release();let e=this._resolved??(await this._resolving)?.provider;if(!e)throw new Error("No vision backend could be resolved.");return Xe(e)}start(e,r){let o=this.resolve(e,r);return this._resolving=o,o.then(({provider:t})=>{this._resolved=t},()=>{this._resolving=void 0}),o}async resolve(e,r){let o=Qe();if(o==="cpu")return E({backend:"cpu",sharedDevice:!1,reason:"FRAMEFIELDS_VISION_PROVIDER=cpu"}),{provider:new w};if(o==="cuda")return E({backend:"cuda",sharedDevice:!1}),{provider:ee()};if(o==="auto"&&await Ze())try{let i=await new w({executionProviders:["cuda"]}).createSession(e,r);return E({backend:"cuda",sharedDevice:!1}),i.release(),{provider:ee()}}catch{}let t=new U({wasmFallback:!1,device:D});try{let i=await t.createSession(e,r);return E({backend:"webgpu",sharedDevice:!!D}),{provider:t,first:i}}catch(i){if(o==="webgpu")throw i;return E({backend:"cpu",sharedDevice:!1,reason:i instanceof Error?i.message:String(i)}),{provider:new w}}}};function ee(){return new w({executionProviders:["cuda","cpu"]})}async function Ze(){if(typeof f>"u"||f.platform!=="linux")return!1;try{let{access:n}=await import("./shims/fs-promises.mjs");return await n("/proc/driver/nvidia/version"),!0}catch{return!1}}var re;function Er(){return W?W():(re??=new M,re)}async function Je(){let n=await import("./shims/os.mjs"),e=typeof n.availableParallelism=="function"?n.availableParallelism():n.cpus().length,r=await er();return Math.max(1,r!==void 0?Math.min(e,r):e)}async function er(){if(typeof f>"u"||f.platform!=="linux")return;let{readFile:n}=await import("./shims/fs-promises.mjs"),e=a=>n(a,"utf8").then(s=>s.trim(),()=>{}),r=(a,s)=>a>0&&s>0?Math.ceil(a/s):void 0,o=await e("/sys/fs/cgroup/cpu.max");if(o!==void 0){let[a,s]=o.split(/\s+/);return a==="max"?void 0:r(Number(a),Number(s))}let t=await e("/sys/fs/cgroup/cpu/cpu.cfs_quota_us"),i=await e("/sys/fs/cgroup/cpu/cpu.cfs_period_us");if(!(t===void 0||i===void 0))return r(Number(t),Number(i))}async function rr(){let n=typeof f<"u"?Number.parseInt(f.env.FRAMEFIELDS_VISION_THREADS??"",10):Number.NaN;if(Number.isFinite(n)&&n>0)return n;if(!(typeof f>"u"||f.platform!=="linux"))return Je()}var w=class{kind="node";_executionProviders;constructor(e={}){this._executionProviders=e.executionProviders??["cpu"]}backend(){return Promise.resolve(this._executionProviders.includes("cuda")?"cuda":"cpu")}ortPromise;async ort(){return this.ortPromise||(this.ortPromise=import("./onnxruntime-node-JCLVQ7P3.mjs").catch(e=>{throw this.ortPromise=void 0,new Error(`onnxruntime-node failed to load (${String(e)}). Install it in the environment or provide a custom SessionProvider.`)})),this.ortPromise}async createSession(e,r){let o=await this.ort(),t=await rr(),i=await o.InferenceSession.create(e,{executionProviders:[...this._executionProviders],externalData:r?.externalData?.map(({path:s,data:u})=>({path:s,data:u})),graphOptimizationLevel:"all",...t!==void 0?{intraOpNumThreads:t,interOpNumThreads:1}:{}}),a=async s=>{let u={};for(let d of s){let p=s.length===1&&!i.inputNames.includes(d.name)?i.inputNames[0]??d.name:d.name;if(d.gpuBuffer)throw new Error("CPU vision sessions do not accept GPU buffers.");u[p]=d.data instanceof Uint8Array?new o.Tensor("bool",d.data,[...d.dims]):d.data instanceof BigInt64Array?new o.Tensor("int64",d.data,[...d.dims]):d.data instanceof Int32Array?new o.Tensor("int32",d.data,[...d.dims]):new o.Tensor("float32",d.data,[...d.dims])}let l=await i.run(u),c={};for(let[d,p]of Object.entries(l))c[d]={data:p.data,dims:[...p.dims]};return c};return{run:s=>a([s]),runMany:a,release:()=>{i.release()}}}};export{R as a,ne as b,ae as c,tr as d,or as e,ir as f,P as g,v as h,H as i,I as j,S as k,x as l,b as m,h as n,T as o,Xe as p,Or as q,_r as r,Er as s};
@@ -1 +1 @@
1
- import{k as Te,l as Ce,n as he}from"./chunk-JXUENEQO.mjs";import{a as Ee}from"./chunk-UZTA2EUU.mjs";import{c as Pe}from"./chunk-P4Y3PMJF.mjs";import{i as me,l as Z}from"./chunk-RECQ74RP.mjs";import{c as Ie,e as be}from"./chunk-32WC4FRR.mjs";import{E as ye}from"./chunk-F4F2UDRX.mjs";import{f as Y,g as ie}from"./chunk-Y4NIR77Z.mjs";ie();ie();ie();function Re(t,e){return Math.round(t*e)}function fe(t,e,n={timeOffsetSec:0}){if(!t)return t;let{operation:b,metadata:i={},children:a=[]}=t,{timeOffsetSec:y,durationLimitMs:m}=n;if(!b)return{...t,children:(a||[]).map(r=>fe(r,e,n))};let f=b.timeline,c=f?.segments||[],h=Z(t)?.durationMs??0;if(c.length>0){let r=c.reduce((P,s)=>{let F=s.endSec!=null?s.endSec-s.startSec:0,L=Math.max(1,Math.round(F*e));return P+L},0);r>0&&(h=r/e*1e3)}let p={...b},w=f?.startFrame??p.startFrame;if(typeof w=="number"){let r=Re(y,e);p.startFrame=w-r}let S={...i,durationMs:h},C=typeof w=="number"||p.op==="compose"?{timeOffsetSec:0,durationLimitMs:void 0}:{timeOffsetSec:y,durationLimitMs:m},V=(a||[]).map(r=>fe(r,e,C));return{metadata:S,operation:p,children:V}}var Ve=typeof Y<"u"&&/^(debug|trace)$/i.test(Y.env?.LOG_LEVEL??""),I={debug:(t,...e)=>{Ve&&(typeof t=="object"&&t!==null?console.info("[AudioExtractor]",t,...e):console.info(`[AudioExtractor] ${t}`,...e))},warn:(t,...e)=>{typeof t=="object"&&t!==null?console.warn("[AudioExtractor]",t,...e):console.warn(`[AudioExtractor] ${t}`,...e)},error:(t,...e)=>{typeof t=="object"&&t!==null?console.error("[AudioExtractor]",t,...e):console.error(`[AudioExtractor] ${t}`,...e)}},we=()=>{if(typeof window>"u")return Promise.resolve();let t=globalThis.scheduler;return typeof t?.yield=="function"?t.yield():new Promise(e=>setTimeout(e,0))},Be=async(t=3e4)=>{await new Promise(n=>setTimeout(n,100));let e=Date.now();return new Promise(n=>{let b=()=>{let i=typeof window<"u"&&window.renderer_delayRenderHandles?window.renderer_delayRenderHandles:[],a=typeof globalThis<"u"?globalThis.__GATEWAI_DELAYS__:null,y=i.length>0,m=a instanceof Set&&a.size>0;if(!y&&!m){n();return}if(Date.now()-e>t){I.warn(`[AudioExtractor] waitForDelayRender timed out waiting for handles: ${JSON.stringify({browserHandles:i,globalDelays:a?Array.from(a):[]})}`),n();return}setTimeout(b,50)};b()})};async function rt(t){let e=await De(t);return e?{channels:e.channels,sampleRate:e.sampleRate}:null}var ze=.5;async function De(t,e){I.debug(`[AudioExtractor] decodeAudioSource started for url: ${t}`);try{if(typeof window<"u"&&typeof window.document<"u"&&!(typeof Y<"u"&&Y.versions&&Y.versions.node)){I.debug(`[AudioExtractor] Browser detected. Fetching arrayBuffer for ${t}...`);let i=window.AudioContext||window.webkitAudioContext;if(!i)throw new Error("AudioContext is not supported in this browser");let a=new i;try{let y=await fetch(t);if(I.debug(`[AudioExtractor] Fetch response status for ${t}: ${y.status} (${y.statusText})`),!y.ok)throw new Error(`Failed to fetch audio source: ${y.statusText}`);let m=await y.arrayBuffer();I.debug(`[AudioExtractor] Fetched ${m.byteLength} bytes. Decoding audio data...`);let f=await a.decodeAudioData(m);I.debug(`[AudioExtractor] Decoded successfully: ${f.numberOfChannels} channels, sampleRate: ${f.sampleRate}, duration: ${f.duration}s`);let c=[];for(let h=0;h<f.numberOfChannels;h++)c.push(new Float32Array(f.getChannelData(h)));return{channels:c,sampleRate:f.sampleRate,startIndex:0,validFromSec:0,validToSec:Number.POSITIVE_INFINITY}}finally{a.close(),I.debug(`[AudioExtractor] AudioContext closed for ${t}`)}}let b=!1;try{I.debug(`[AudioExtractor] Server / Node.js detected. Acquiring from inputStore for ${t}...`);let i=await be.acquire(t);b=!0,I.debug("[AudioExtractor] inputStore acquired. Retrieving primary audio track...");let a=await i.getPrimaryAudioTrack();if(!a)return I.warn(`[AudioExtractor] No primary audio track found in input for ${t}`),null;let y=new Ie(a),m=e?Math.max(0,e.startSec-ze):0,f=y.samples(m,e?.endSec),c=[],h=0,p=48e3,w=1,S=null;I.debug(`[AudioExtractor] Starting mediabunny generator loop for ${t}...`);for await(let r of f){S===null&&(S=r.timestamp),p=r.sampleRate,w=r.numberOfChannels;let P=r.numberOfFrames;if(c.length===0)for(let s=0;s<w;s++)c.push([]);for(let s=0;s<w;s++){let F;try{let L=r.allocationSize({planeIndex:s,format:"f32-planar"});F=new Float32Array(L/4),r.copyTo(F,{planeIndex:s,format:"f32-planar"})}catch{let L=r.allocationSize({planeIndex:s});if(r.format==="s16"||r.format==="s16-planar"){let E=new Int16Array(L/2);r.copyTo(E,{planeIndex:s}),F=new Float32Array(E.length);for(let M=0;M<E.length;M++)F[M]=(E[M]??0)/32768}else if(r.format==="s32"||r.format==="s32-planar"){let E=new Int32Array(L/4);r.copyTo(E,{planeIndex:s}),F=new Float32Array(E.length);for(let M=0;M<E.length;M++)F[M]=(E[M]??0)/2147483648}else if(r.format==="u8"||r.format==="u8-planar"){let E=new Uint8Array(L);r.copyTo(E,{planeIndex:s}),F=new Float32Array(E.length);for(let M=0;M<E.length;M++)F[M]=((E[M]??128)-128)/128}else F=new Float32Array(L/4),r.copyTo(F,{planeIndex:s})}c[s].push(F)}h+=P,r.close()}if(I.debug(`[AudioExtractor] Generator loop finished. Decoded total frames: ${h}`),h===0||c.length===0)return null;let _=c.map(r=>{let P=new Float32Array(h),s=0;for(let F of r)P.set(F,s),s+=F.length;return P}),C=0;if(m>0&&S!==null){let r=await y.getSample(0),P=r?.timestamp??await a.getFirstTimestamp();r?.close(),C=Math.round((S-P)*p)}let V=!e||(C+h)/p<e.endSec;return{channels:_,sampleRate:p,startIndex:C,validFromSec:m>0&&e?e.startSec:0,validToSec:V||!e?Number.POSITIVE_INFINITY:e.endSec}}catch(i){if(i instanceof Error&&i.message.includes("Cannot open local media file"))throw i;if(typeof Y<"u"&&Y.versions?.node)try{let{execFileSync:a}=await import("./child_process-B2TV2STW.mjs"),y=e?Math.round(Math.max(0,e.startSec)*48e3):0,m=y/48e3,f=a("ffmpeg",["-v","error",...m>0?["-ss",String(m)]:[],"-i",t,...e?["-t",String(e.endSec-m)]:[],"-f","f32le","-ar","48000","-ac","2","pipe:1"],{maxBuffer:Number.POSITIVE_INFINITY}),c=f.byteLength/4,h=c/2,p=new Float32Array(f.buffer,f.byteOffset,c),w=new Float32Array(h),S=new Float32Array(h);for(let C=0;C<h;C++)w[C]=p[C*2],S[C]=p[C*2+1];let _=!e||m+h/48e3<e.endSec;return{channels:[w,S],sampleRate:48e3,startIndex:y,validFromSec:m,validToSec:_||!e?Number.POSITIVE_INFINITY:e.endSec}}catch(a){I.warn({ffmpegErr:a},`[AudioExtractor] ffmpeg fallback decode failed for ${t}`)}return I.error({err:i},`[AudioExtractor] Failed to decode source ${t}`),null}finally{b&&be.release(t)}}catch(n){if(n instanceof Error&&n.message.includes("Cannot open local media file"))throw n;return I.error({err:n},`[AudioExtractor] Failed to decode source ${t}`),null}}async function ve(t,e,n,b,i,a,y,m){let f=new Float32Array(b);for(let c=0;c<b;c++){c>0&&c%1e5===0&&await we();let h=y+c/n*m;if(Ce(a,h))continue;let p=Te(a,h,m)*e-i,w=Math.floor(p);if(w<0||w>=t.length)continue;let S=t[w];f[c]=S+((t[w+1]??S)-S)*(p-w)}return f}async function $e(t,e,n,b,i,a,y=0){let m=new Float32Array(i),c=e/n*b,h=1e5;for(let p=0;p<i;p++){p>0&&p%h===0&&await we();let w=a+p*c-y,S=Math.floor(w),_=Math.ceil(w);if(S<0){m[p]=0;continue}if(S>=t.length)break;let C=w-S,V=t[S]??0,r=_>=0&&_<t.length?t[_]??V:V,P=V+C*(r-V);m[p]=Number.isFinite(P)?P:0}return m}var ke=.05,Ue=new Set(["Compositor","CompositorLayer"]);function Ge(t,e,n){let b=Math.max(0,-n),i=Math.min(e.length,t.length-n);for(let a=b;a<i;a++)t[n+a]+=e[a]}var pe=class{constructor(e){this.length=e}length;channels=null;get(){return this.channels??=[new Float32Array(this.length),new Float32Array(this.length)],this.channels}canAdopt(e,n){return this.channels===null&&n===0&&e.every(b=>b.length===this.length)}add(e,n){if(this.canAdopt(e,n)&&e[0]!==e[1]){this.channels=e;return}let b=this.get();for(let i=0;i<2;i++)Ge(b[i],e[i],n)}};function Ye(t){if(t.startsWith("data:"))return"inline audio";let e=t.split(/[?#]/)[0].split(/[\\/]/).pop();return e?He(e):"audio"}function He(t){try{return decodeURIComponent(t)}catch{return t}}async function at(t,e,n=48e3,b,i,a={}){I.debug(`[AudioExtractor] mixAudioTracks started. FPS: ${e}, targetSampleRate: ${n}`),await Be(),Ee.registerSignalsFromComposition(i,t);let y=Z(t)?.durationMs||1e3,m=y/1e3,f=Math.ceil(m*n);I.debug(`[AudioExtractor] Composition total duration: ${y}ms (${m}s). Total mixed samples to allocate: ${f}`);let c=new Map,h=new Set;async function p(o,l,u,g=!0){if(h.has(o))return null;let A=c.get(o),x=g?A?.find(d=>d.validFromSec<=l&&d.validToSec>=u):void 0;if(x)return x;let T=await De(o,{startSec:l,endSec:u});return T?(g&&(A||(A=[],c.set(o,A)),A.push(T)),T):(h.add(o),null)}async function w(o,l,u,g){let A=new Float32Array(l),x=new Float32Array(l);for(let T=0;T<l;){let d=Math.min(l-T,n*2),R=g+T/n*e,j=he(u,R,R+(d-1)/n*e,e);for(;j.max-j.min>3&&d>1;)d=Math.max(1,Math.floor(d/2)),j=he(u,R,R+(d-1)/n*e,e);let v=await p(o,j.min,j.max+ke,!1);if(!v)return null;let K=await ve(v.channels[0],v.sampleRate,n,d,v.startIndex,u,R,e),Q=v.channels.length>1?await ve(v.channels[1],v.sampleRate,n,d,v.startIndex,u,R,e):K;A.set(K,T),x.set(Q,T),T+=d}return[A,x]}let S=new WeakMap;function _(o){let l=S.get(o);if(l!==void 0)return l;let u=o.operation,g=!1;if(u?.op==="source"){let A=me(o);g=A==="Audio"||A==="Video"}else u?.op&&!Ue.has(u.op)&&ye.get(u.op)&&(g=!0);return!g&&o.children&&(g=o.children.some(A=>A&&_(A))),S.set(o,g),g}async function C(o,l,u,g,A,x,T){if(!o||!_(o))return null;let d=o.operation;if(!d){let B=Z(o)?.durationMs??0,z=Math.round(B/1e3*e),ne=T&&x!==null?x:x!==null?z>0?Math.min(x,z):x:z,q=Math.ceil(ne/e*n);if(q<=0)return null;let re=new pe(q);for(let X of o.children){let ae=await C(X,l,u,g,A,ne,T);if(ae){let $=X.operation,de=$?.startFrame??$?.timeline?.startFrame??0,k=Math.round(de/e*n);re.add(ae,k)}}return re.channels}let R=g*(d.volume??1)*(d.opacity===0?0:1)*(d.muted?0:1),j=A,v=d.startFrame??d.timeline?.startFrame??0,K=d.timeRemap,Q=K?{map:K,offsetFrames:0}:T?{map:T.map,offsetFrames:T.offsetFrames+v}:void 0,Se=d.op==="CompositorLayer"?v:u+v,Fe=d.timeline?.segments||[],ee=d,Me=ee.op==="CompositorLayer"?(ee.mediaStartFrame??ee.trimStartFrames??null)!==null?(ee.mediaStartFrame??ee.trimStartFrames??0)/e:Math.round((ee.trimStartSec??0)*e)/e:0,Ne=Z(o)?.durationMs??0,ue=Math.round(Ne/1e3*e),Le=T&&!K&&x!==null?x:x!==null?ue>0?Math.min(x,ue):x:ue,te=Math.ceil(Le/e*n);if(te<=0)return null;let oe=new pe(te),ge=async(B,z)=>{let ne=B?B.startSec:0,q=l+Me+ne,re=Se+z,X=0;B?X=Math.max(1,Math.round(((B.endSec??0)-B.startSec)*e)):X=ue;let ae=T&&!K&&!B&&x!==null?x:x!==null?Math.min(x,X):X,$=Math.round(z/e*n);if(d.op==="source"){let k=me(o),D=Pe(o);if(D.sourceUrl&&(k==="Audio"||k==="Video")&&R>0){let H=Math.max(.5,j*(Number(D.speed)||1)),W=Math.max(0,(Number(D.trimStartSec)||0)+q),se=ae/e,N=Math.min(te-$,Math.ceil(se*n)),ce=Q&&N>0?await w(D.sourceUrl,N,Q.map,Q.offsetFrames+z):null,U=!Q&&N>0&&$<te?await p(D.sourceUrl,W,W+N/n*H+ke):null;if(ce||U){let G,J;if(ce)[G,J]=ce;else if(U){let O=Math.round(W*U.sampleRate);G=await $e(U.channels[0],U.sampleRate,n,H,N,O,U.startIndex),J=U.channels.length>1?await $e(U.channels[1],U.sampleRate,n,H,N,O,U.startIndex):G}else throw new Error("No decoded audio");let Oe=[G,J];if(oe.canAdopt(Oe,$)){if(R!==1){for(let O=0;O<N;O++)G[O]*=R;if(J!==G)for(let O=0;O<N;O++)J[O]*=R}oe.channels=[G,J===G?G.slice():J]}else{let[O,_e]=oe.get();for(let le=0;le<N;le++){let xe=$+le;O[xe]+=G[le]*R,_e[xe]+=J[le]*R}}}await we()}(k==="Audio"||k==="Video")&&(P++,a.onProgress?.({done:P,total:r,...D.sourceUrl&&{source:Ye(D.sourceUrl)}}))}if(o.children)for(let k of o.children){let D=await C(k,q,re,R,j,ae,Q);if(D){let H=k.operation,W=H?.startFrame??H?.timeline?.startFrame??0,se=d.op==="CompositorLayer"&&H?.op==="CompositorLayer"?W-v:W,N=Math.round(se/e*n);oe.add(D,$+N)}}let de=ye.get(d.op);if(de)try{let k=ae/e,D=Math.min(te-$,Math.ceil(k*n));if(D>0&&$<te&&$>=0){let H=oe.get().map(ce=>ce.subarray($,$+D)),W=d.op==="CompositorLayer"?Se:0,se=((re-W)/e+q-Me)*1e3,N=Z(o)?.durationMs??void 0;await de(H,n,o,{device:b,frame:re,fps:e,renderId:i,elapsedMs:se,durationMs:N})}}catch(k){I.error({err:k},`[AudioExtractor] Custom plugin for operation '${d.op}' failed`)}};if(Fe.length>0){let B=0;for(let z of Fe){let ne=(z.endSec??0)-z.startSec,q=Math.max(1,Math.round(ne*e));await ge(z,B),B+=q}}else await ge(null,0);return oe.channels}let V=fe(t,e),r=0,P=0;if(a.onProgress){let o=l=>{if(!l)return;let u=l.operation;if(u?.op==="source"){let g=me(l);(g==="Audio"||g==="Video")&&(r+=Math.max(1,u.timeline?.segments?.length??0))}for(let g of l.children??[])o(g)};o(V),a.onProgress({done:0,total:r})}let s=await C(V,0,0,1,1,null),F=s?.every(o=>o.length===f)&&s[0]!==s[1]?s:[new Float32Array(f),new Float32Array(f)],[L,E]=F;if(s&&F!==s)for(let o=0;o<2;o++){let l=F[o],u=s[o],g=Math.min(u.length,l.length);for(let A=0;A<g;A++)l[A]=u[A]}c.clear();let M=0;for(let o=0;o<f;o++){let l=Math.abs(L[o]??0),u=Math.abs(E[o]??0);l>M&&(M=l),u>M&&(M=u)}let Ae=M>.95?.92/M:1;for(let o=0;o<f;o++){let l=(L[o]??0)*Ae,u=(E[o]??0)*Ae;L[o]=Number.isFinite(l)?Math.tanh(l):0,E[o]=Number.isFinite(u)?Math.tanh(u):0}return{channels:F,sampleRate:n}}export{rt as a,at as b};
1
+ import{k as Te,l as Ce,n as he}from"./chunk-HOV6DDBZ.mjs";import{a as Ee}from"./chunk-UZTA2EUU.mjs";import{c as Pe}from"./chunk-P4Y3PMJF.mjs";import{i as me,l as Z}from"./chunk-RECQ74RP.mjs";import{c as Ie,e as be}from"./chunk-32WC4FRR.mjs";import{k as ye}from"./chunk-KOVN277Z.mjs";import{f as Y,g as ie}from"./chunk-Y4NIR77Z.mjs";ie();ie();ie();function Re(t,e){return Math.round(t*e)}function fe(t,e,n={timeOffsetSec:0}){if(!t)return t;let{operation:b,metadata:i={},children:a=[]}=t,{timeOffsetSec:y,durationLimitMs:m}=n;if(!b)return{...t,children:(a||[]).map(r=>fe(r,e,n))};let f=b.timeline,c=f?.segments||[],h=Z(t)?.durationMs??0;if(c.length>0){let r=c.reduce((P,s)=>{let F=s.endSec!=null?s.endSec-s.startSec:0,L=Math.max(1,Math.round(F*e));return P+L},0);r>0&&(h=r/e*1e3)}let p={...b},w=f?.startFrame??p.startFrame;if(typeof w=="number"){let r=Re(y,e);p.startFrame=w-r}let S={...i,durationMs:h},C=typeof w=="number"||p.op==="compose"?{timeOffsetSec:0,durationLimitMs:void 0}:{timeOffsetSec:y,durationLimitMs:m},V=(a||[]).map(r=>fe(r,e,C));return{metadata:S,operation:p,children:V}}var Ve=typeof Y<"u"&&/^(debug|trace)$/i.test(Y.env?.LOG_LEVEL??""),I={debug:(t,...e)=>{Ve&&(typeof t=="object"&&t!==null?console.info("[AudioExtractor]",t,...e):console.info(`[AudioExtractor] ${t}`,...e))},warn:(t,...e)=>{typeof t=="object"&&t!==null?console.warn("[AudioExtractor]",t,...e):console.warn(`[AudioExtractor] ${t}`,...e)},error:(t,...e)=>{typeof t=="object"&&t!==null?console.error("[AudioExtractor]",t,...e):console.error(`[AudioExtractor] ${t}`,...e)}},we=()=>{if(typeof window>"u")return Promise.resolve();let t=globalThis.scheduler;return typeof t?.yield=="function"?t.yield():new Promise(e=>setTimeout(e,0))},Be=async(t=3e4)=>{await new Promise(n=>setTimeout(n,100));let e=Date.now();return new Promise(n=>{let b=()=>{let i=typeof window<"u"&&window.renderer_delayRenderHandles?window.renderer_delayRenderHandles:[],a=typeof globalThis<"u"?globalThis.__GATEWAI_DELAYS__:null,y=i.length>0,m=a instanceof Set&&a.size>0;if(!y&&!m){n();return}if(Date.now()-e>t){I.warn(`[AudioExtractor] waitForDelayRender timed out waiting for handles: ${JSON.stringify({browserHandles:i,globalDelays:a?Array.from(a):[]})}`),n();return}setTimeout(b,50)};b()})};async function rt(t){let e=await De(t);return e?{channels:e.channels,sampleRate:e.sampleRate}:null}var ze=.5;async function De(t,e){I.debug(`[AudioExtractor] decodeAudioSource started for url: ${t}`);try{if(typeof window<"u"&&typeof window.document<"u"&&!(typeof Y<"u"&&Y.versions&&Y.versions.node)){I.debug(`[AudioExtractor] Browser detected. Fetching arrayBuffer for ${t}...`);let i=window.AudioContext||window.webkitAudioContext;if(!i)throw new Error("AudioContext is not supported in this browser");let a=new i;try{let y=await fetch(t);if(I.debug(`[AudioExtractor] Fetch response status for ${t}: ${y.status} (${y.statusText})`),!y.ok)throw new Error(`Failed to fetch audio source: ${y.statusText}`);let m=await y.arrayBuffer();I.debug(`[AudioExtractor] Fetched ${m.byteLength} bytes. Decoding audio data...`);let f=await a.decodeAudioData(m);I.debug(`[AudioExtractor] Decoded successfully: ${f.numberOfChannels} channels, sampleRate: ${f.sampleRate}, duration: ${f.duration}s`);let c=[];for(let h=0;h<f.numberOfChannels;h++)c.push(new Float32Array(f.getChannelData(h)));return{channels:c,sampleRate:f.sampleRate,startIndex:0,validFromSec:0,validToSec:Number.POSITIVE_INFINITY}}finally{a.close(),I.debug(`[AudioExtractor] AudioContext closed for ${t}`)}}let b=!1;try{I.debug(`[AudioExtractor] Server / Node.js detected. Acquiring from inputStore for ${t}...`);let i=await be.acquire(t);b=!0,I.debug("[AudioExtractor] inputStore acquired. Retrieving primary audio track...");let a=await i.getPrimaryAudioTrack();if(!a)return I.warn(`[AudioExtractor] No primary audio track found in input for ${t}`),null;let y=new Ie(a),m=e?Math.max(0,e.startSec-ze):0,f=y.samples(m,e?.endSec),c=[],h=0,p=48e3,w=1,S=null;I.debug(`[AudioExtractor] Starting mediabunny generator loop for ${t}...`);for await(let r of f){S===null&&(S=r.timestamp),p=r.sampleRate,w=r.numberOfChannels;let P=r.numberOfFrames;if(c.length===0)for(let s=0;s<w;s++)c.push([]);for(let s=0;s<w;s++){let F;try{let L=r.allocationSize({planeIndex:s,format:"f32-planar"});F=new Float32Array(L/4),r.copyTo(F,{planeIndex:s,format:"f32-planar"})}catch{let L=r.allocationSize({planeIndex:s});if(r.format==="s16"||r.format==="s16-planar"){let E=new Int16Array(L/2);r.copyTo(E,{planeIndex:s}),F=new Float32Array(E.length);for(let M=0;M<E.length;M++)F[M]=(E[M]??0)/32768}else if(r.format==="s32"||r.format==="s32-planar"){let E=new Int32Array(L/4);r.copyTo(E,{planeIndex:s}),F=new Float32Array(E.length);for(let M=0;M<E.length;M++)F[M]=(E[M]??0)/2147483648}else if(r.format==="u8"||r.format==="u8-planar"){let E=new Uint8Array(L);r.copyTo(E,{planeIndex:s}),F=new Float32Array(E.length);for(let M=0;M<E.length;M++)F[M]=((E[M]??128)-128)/128}else F=new Float32Array(L/4),r.copyTo(F,{planeIndex:s})}c[s].push(F)}h+=P,r.close()}if(I.debug(`[AudioExtractor] Generator loop finished. Decoded total frames: ${h}`),h===0||c.length===0)return null;let _=c.map(r=>{let P=new Float32Array(h),s=0;for(let F of r)P.set(F,s),s+=F.length;return P}),C=0;if(m>0&&S!==null){let r=await y.getSample(0),P=r?.timestamp??await a.getFirstTimestamp();r?.close(),C=Math.round((S-P)*p)}let V=!e||(C+h)/p<e.endSec;return{channels:_,sampleRate:p,startIndex:C,validFromSec:m>0&&e?e.startSec:0,validToSec:V||!e?Number.POSITIVE_INFINITY:e.endSec}}catch(i){if(i instanceof Error&&i.message.includes("Cannot open local media file"))throw i;if(typeof Y<"u"&&Y.versions?.node)try{let{execFileSync:a}=await import("./child_process-B2TV2STW.mjs"),y=e?Math.round(Math.max(0,e.startSec)*48e3):0,m=y/48e3,f=a("ffmpeg",["-v","error",...m>0?["-ss",String(m)]:[],"-i",t,...e?["-t",String(e.endSec-m)]:[],"-f","f32le","-ar","48000","-ac","2","pipe:1"],{maxBuffer:Number.POSITIVE_INFINITY}),c=f.byteLength/4,h=c/2,p=new Float32Array(f.buffer,f.byteOffset,c),w=new Float32Array(h),S=new Float32Array(h);for(let C=0;C<h;C++)w[C]=p[C*2],S[C]=p[C*2+1];let _=!e||m+h/48e3<e.endSec;return{channels:[w,S],sampleRate:48e3,startIndex:y,validFromSec:m,validToSec:_||!e?Number.POSITIVE_INFINITY:e.endSec}}catch(a){I.warn({ffmpegErr:a},`[AudioExtractor] ffmpeg fallback decode failed for ${t}`)}return I.error({err:i},`[AudioExtractor] Failed to decode source ${t}`),null}finally{b&&be.release(t)}}catch(n){if(n instanceof Error&&n.message.includes("Cannot open local media file"))throw n;return I.error({err:n},`[AudioExtractor] Failed to decode source ${t}`),null}}async function ve(t,e,n,b,i,a,y,m){let f=new Float32Array(b);for(let c=0;c<b;c++){c>0&&c%1e5===0&&await we();let h=y+c/n*m;if(Ce(a,h))continue;let p=Te(a,h,m)*e-i,w=Math.floor(p);if(w<0||w>=t.length)continue;let S=t[w];f[c]=S+((t[w+1]??S)-S)*(p-w)}return f}async function $e(t,e,n,b,i,a,y=0){let m=new Float32Array(i),c=e/n*b,h=1e5;for(let p=0;p<i;p++){p>0&&p%h===0&&await we();let w=a+p*c-y,S=Math.floor(w),_=Math.ceil(w);if(S<0){m[p]=0;continue}if(S>=t.length)break;let C=w-S,V=t[S]??0,r=_>=0&&_<t.length?t[_]??V:V,P=V+C*(r-V);m[p]=Number.isFinite(P)?P:0}return m}var ke=.05,Ue=new Set(["Compositor","CompositorLayer"]);function Ge(t,e,n){let b=Math.max(0,-n),i=Math.min(e.length,t.length-n);for(let a=b;a<i;a++)t[n+a]+=e[a]}var pe=class{constructor(e){this.length=e}length;channels=null;get(){return this.channels??=[new Float32Array(this.length),new Float32Array(this.length)],this.channels}canAdopt(e,n){return this.channels===null&&n===0&&e.every(b=>b.length===this.length)}add(e,n){if(this.canAdopt(e,n)&&e[0]!==e[1]){this.channels=e;return}let b=this.get();for(let i=0;i<2;i++)Ge(b[i],e[i],n)}};function Ye(t){if(t.startsWith("data:"))return"inline audio";let e=t.split(/[?#]/)[0].split(/[\\/]/).pop();return e?He(e):"audio"}function He(t){try{return decodeURIComponent(t)}catch{return t}}async function at(t,e,n=48e3,b,i,a={}){I.debug(`[AudioExtractor] mixAudioTracks started. FPS: ${e}, targetSampleRate: ${n}`),await Be(),Ee.registerSignalsFromComposition(i,t);let y=Z(t)?.durationMs||1e3,m=y/1e3,f=Math.ceil(m*n);I.debug(`[AudioExtractor] Composition total duration: ${y}ms (${m}s). Total mixed samples to allocate: ${f}`);let c=new Map,h=new Set;async function p(o,l,u,g=!0){if(h.has(o))return null;let A=c.get(o),x=g?A?.find(d=>d.validFromSec<=l&&d.validToSec>=u):void 0;if(x)return x;let T=await De(o,{startSec:l,endSec:u});return T?(g&&(A||(A=[],c.set(o,A)),A.push(T)),T):(h.add(o),null)}async function w(o,l,u,g){let A=new Float32Array(l),x=new Float32Array(l);for(let T=0;T<l;){let d=Math.min(l-T,n*2),R=g+T/n*e,j=he(u,R,R+(d-1)/n*e,e);for(;j.max-j.min>3&&d>1;)d=Math.max(1,Math.floor(d/2)),j=he(u,R,R+(d-1)/n*e,e);let v=await p(o,j.min,j.max+ke,!1);if(!v)return null;let K=await ve(v.channels[0],v.sampleRate,n,d,v.startIndex,u,R,e),Q=v.channels.length>1?await ve(v.channels[1],v.sampleRate,n,d,v.startIndex,u,R,e):K;A.set(K,T),x.set(Q,T),T+=d}return[A,x]}let S=new WeakMap;function _(o){let l=S.get(o);if(l!==void 0)return l;let u=o.operation,g=!1;if(u?.op==="source"){let A=me(o);g=A==="Audio"||A==="Video"}else u?.op&&!Ue.has(u.op)&&ye.get(u.op)&&(g=!0);return!g&&o.children&&(g=o.children.some(A=>A&&_(A))),S.set(o,g),g}async function C(o,l,u,g,A,x,T){if(!o||!_(o))return null;let d=o.operation;if(!d){let B=Z(o)?.durationMs??0,z=Math.round(B/1e3*e),ne=T&&x!==null?x:x!==null?z>0?Math.min(x,z):x:z,q=Math.ceil(ne/e*n);if(q<=0)return null;let re=new pe(q);for(let X of o.children){let ae=await C(X,l,u,g,A,ne,T);if(ae){let $=X.operation,de=$?.startFrame??$?.timeline?.startFrame??0,k=Math.round(de/e*n);re.add(ae,k)}}return re.channels}let R=g*(d.volume??1)*(d.opacity===0?0:1)*(d.muted?0:1),j=A,v=d.startFrame??d.timeline?.startFrame??0,K=d.timeRemap,Q=K?{map:K,offsetFrames:0}:T?{map:T.map,offsetFrames:T.offsetFrames+v}:void 0,Se=d.op==="CompositorLayer"?v:u+v,Fe=d.timeline?.segments||[],ee=d,Me=ee.op==="CompositorLayer"?(ee.mediaStartFrame??ee.trimStartFrames??null)!==null?(ee.mediaStartFrame??ee.trimStartFrames??0)/e:Math.round((ee.trimStartSec??0)*e)/e:0,Ne=Z(o)?.durationMs??0,ue=Math.round(Ne/1e3*e),Le=T&&!K&&x!==null?x:x!==null?ue>0?Math.min(x,ue):x:ue,te=Math.ceil(Le/e*n);if(te<=0)return null;let oe=new pe(te),ge=async(B,z)=>{let ne=B?B.startSec:0,q=l+Me+ne,re=Se+z,X=0;B?X=Math.max(1,Math.round(((B.endSec??0)-B.startSec)*e)):X=ue;let ae=T&&!K&&!B&&x!==null?x:x!==null?Math.min(x,X):X,$=Math.round(z/e*n);if(d.op==="source"){let k=me(o),D=Pe(o);if(D.sourceUrl&&(k==="Audio"||k==="Video")&&R>0){let H=Math.max(.5,j*(Number(D.speed)||1)),W=Math.max(0,(Number(D.trimStartSec)||0)+q),se=ae/e,N=Math.min(te-$,Math.ceil(se*n)),ce=Q&&N>0?await w(D.sourceUrl,N,Q.map,Q.offsetFrames+z):null,U=!Q&&N>0&&$<te?await p(D.sourceUrl,W,W+N/n*H+ke):null;if(ce||U){let G,J;if(ce)[G,J]=ce;else if(U){let O=Math.round(W*U.sampleRate);G=await $e(U.channels[0],U.sampleRate,n,H,N,O,U.startIndex),J=U.channels.length>1?await $e(U.channels[1],U.sampleRate,n,H,N,O,U.startIndex):G}else throw new Error("No decoded audio");let Oe=[G,J];if(oe.canAdopt(Oe,$)){if(R!==1){for(let O=0;O<N;O++)G[O]*=R;if(J!==G)for(let O=0;O<N;O++)J[O]*=R}oe.channels=[G,J===G?G.slice():J]}else{let[O,_e]=oe.get();for(let le=0;le<N;le++){let xe=$+le;O[xe]+=G[le]*R,_e[xe]+=J[le]*R}}}await we()}(k==="Audio"||k==="Video")&&(P++,a.onProgress?.({done:P,total:r,...D.sourceUrl&&{source:Ye(D.sourceUrl)}}))}if(o.children)for(let k of o.children){let D=await C(k,q,re,R,j,ae,Q);if(D){let H=k.operation,W=H?.startFrame??H?.timeline?.startFrame??0,se=d.op==="CompositorLayer"&&H?.op==="CompositorLayer"?W-v:W,N=Math.round(se/e*n);oe.add(D,$+N)}}let de=ye.get(d.op);if(de)try{let k=ae/e,D=Math.min(te-$,Math.ceil(k*n));if(D>0&&$<te&&$>=0){let H=oe.get().map(ce=>ce.subarray($,$+D)),W=d.op==="CompositorLayer"?Se:0,se=((re-W)/e+q-Me)*1e3,N=Z(o)?.durationMs??void 0;await de(H,n,o,{device:b,frame:re,fps:e,renderId:i,elapsedMs:se,durationMs:N})}}catch(k){I.error({err:k},`[AudioExtractor] Custom plugin for operation '${d.op}' failed`)}};if(Fe.length>0){let B=0;for(let z of Fe){let ne=(z.endSec??0)-z.startSec,q=Math.max(1,Math.round(ne*e));await ge(z,B),B+=q}}else await ge(null,0);return oe.channels}let V=fe(t,e),r=0,P=0;if(a.onProgress){let o=l=>{if(!l)return;let u=l.operation;if(u?.op==="source"){let g=me(l);(g==="Audio"||g==="Video")&&(r+=Math.max(1,u.timeline?.segments?.length??0))}for(let g of l.children??[])o(g)};o(V),a.onProgress({done:0,total:r})}let s=await C(V,0,0,1,1,null),F=s?.every(o=>o.length===f)&&s[0]!==s[1]?s:[new Float32Array(f),new Float32Array(f)],[L,E]=F;if(s&&F!==s)for(let o=0;o<2;o++){let l=F[o],u=s[o],g=Math.min(u.length,l.length);for(let A=0;A<g;A++)l[A]=u[A]}c.clear();let M=0;for(let o=0;o<f;o++){let l=Math.abs(L[o]??0),u=Math.abs(E[o]??0);l>M&&(M=l),u>M&&(M=u)}let Ae=M>.95?.92/M:1;for(let o=0;o<f;o++){let l=(L[o]??0)*Ae,u=(E[o]??0)*Ae;L[o]=Number.isFinite(l)?Math.tanh(l):0,E[o]=Number.isFinite(u)?Math.tanh(u):0}return{channels:F,sampleRate:n}}export{rt as a,at as b};
@@ -1,4 +1,4 @@
1
- import{b as S,c as G}from"./chunk-3DXMWDQ3.mjs";import{d as g,g as M,h as C,j as R,m as P}from"./chunk-IB6GZJOL.mjs";import{a}from"./chunk-6FULVULN.mjs";import{A as k}from"./chunk-F4F2UDRX.mjs";import{g as c}from"./chunk-Y4NIR77Z.mjs";c();c();c();var w=`
1
+ import{b as S,c as G}from"./chunk-3DXMWDQ3.mjs";import{d as g,g as M,h as C,j as R,m as P}from"./chunk-IB6GZJOL.mjs";import{a}from"./chunk-6FULVULN.mjs";import{g as k}from"./chunk-KOVN277Z.mjs";import{g as c}from"./chunk-Y4NIR77Z.mjs";c();c();c();var w=`
2
2
  struct ColorMatrixUniforms {
3
3
  row0 : vec4<f32>,
4
4
  row1 : vec4<f32>,
@@ -1,4 +1,4 @@
1
- import{a as F}from"./chunk-2GA735OZ.mjs";import{b as I,c as B}from"./chunk-3DXMWDQ3.mjs";import{a as L,d as y,g as N,h as V,j as D,m as k}from"./chunk-IB6GZJOL.mjs";import{a as p}from"./chunk-6FULVULN.mjs";import{e as b}from"./chunk-32WC4FRR.mjs";import{A as U}from"./chunk-F4F2UDRX.mjs";import{g as c}from"./chunk-Y4NIR77Z.mjs";c();c();c();var C=new Map;function _(e){let t=C.get(e);return t||(t=(async()=>{try{let r=await b.acquire(e);try{let o=await r.getPrimaryVideoTrack();return o?{width:o.displayWidth,height:o.displayHeight}:null}finally{b.release(e)}}catch{return null}})(),C.set(e,t)),t}c();var J=F().field("angle",p.number().default(90),{bindable:!0,dataTypes:["Number","Signal"],label:"Angle Signal",description:"Rotation in degrees about the frame center, clockwise. Any value; 90 / 180 / 270 fix footage shot sideways or upside down."}).field("fit",p.enum(["cover","contain","fill"]).default("cover"),{description:"How the rotated source sits in the output: cover fills it (cropping the overhang), contain shows all of it (transparent margins), fill keeps the unrotated source stretched to the output and only turns it."}).field("scale",p.number().min(.01).max(20).default(1),{bindable:!0,dataTypes:["Number","Signal"],label:"Scale Signal",description:"Extra zoom applied after the fit (1 = exactly fitted)."}).build(),ie=J.schema,ae=p.union([I,B]);function A(e,t,r,o,i,a){if(a==="fill")return{width:r,height:o};let d=i*Math.PI/180,n=Math.abs(Math.cos(d)),u=Math.abs(Math.sin(d)),s=a==="cover"?Math.max((n*r+u*o)/e,(u*r+n*o)/t):Math.min(r/(n*e+u*t),o/(u*e+n*t));return{width:e*s,height:t*s}}var K=`
1
+ import{a as F}from"./chunk-2GA735OZ.mjs";import{b as I,c as B}from"./chunk-3DXMWDQ3.mjs";import{a as L,d as y,g as N,h as V,j as D,m as k}from"./chunk-IB6GZJOL.mjs";import{a as p}from"./chunk-6FULVULN.mjs";import{e as b}from"./chunk-32WC4FRR.mjs";import{g as U}from"./chunk-KOVN277Z.mjs";import{g as c}from"./chunk-Y4NIR77Z.mjs";c();c();c();var C=new Map;function _(e){let t=C.get(e);return t||(t=(async()=>{try{let r=await b.acquire(e);try{let o=await r.getPrimaryVideoTrack();return o?{width:o.displayWidth,height:o.displayHeight}:null}finally{b.release(e)}}catch{return null}})(),C.set(e,t)),t}c();var J=F().field("angle",p.number().default(90),{bindable:!0,dataTypes:["Number","Signal"],label:"Angle Signal",description:"Rotation in degrees about the frame center, clockwise. Any value; 90 / 180 / 270 fix footage shot sideways or upside down."}).field("fit",p.enum(["cover","contain","fill"]).default("cover"),{description:"How the rotated source sits in the output: cover fills it (cropping the overhang), contain shows all of it (transparent margins), fill keeps the unrotated source stretched to the output and only turns it."}).field("scale",p.number().min(.01).max(20).default(1),{bindable:!0,dataTypes:["Number","Signal"],label:"Scale Signal",description:"Extra zoom applied after the fit (1 = exactly fitted)."}).build(),ie=J.schema,ae=p.union([I,B]);function A(e,t,r,o,i,a){if(a==="fill")return{width:r,height:o};let d=i*Math.PI/180,n=Math.abs(Math.cos(d)),u=Math.abs(Math.sin(d)),s=a==="cover"?Math.max((n*r+u*o)/e,(u*r+n*o)/t):Math.min(r/(n*e+u*t),o/(u*e+n*t));return{width:e*s,height:t*s}}var K=`
2
2
  struct RotateUniforms {
3
3
  outSize: vec2<f32>,
4
4
  size : vec2<f32>,