framefields 2.0.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 (408) hide show
  1. package/LICENCE +202 -0
  2. package/README.md +740 -0
  3. package/dist/audio/index.d.mts +5 -0
  4. package/dist/audio/index.mjs +14 -0
  5. package/dist/audio-Dvwwz8xU.d.mts +37 -0
  6. package/dist/audio-Dvwwz8xU.d.mts.map +1 -0
  7. package/dist/audio-TAvPwzLR.mjs +214 -0
  8. package/dist/audio-TAvPwzLR.mjs.map +1 -0
  9. package/dist/audio-x28ZgQBP.mjs +85 -0
  10. package/dist/audio-x28ZgQBP.mjs.map +1 -0
  11. package/dist/chunk-GMkBE123.mjs +47 -0
  12. package/dist/client-C74hb7fy.mjs +66 -0
  13. package/dist/client-C74hb7fy.mjs.map +1 -0
  14. package/dist/dist-1iUYuPct.mjs +1859 -0
  15. package/dist/dist-1iUYuPct.mjs.map +1 -0
  16. package/dist/dist-Bx6J0VcM.mjs +1859 -0
  17. package/dist/dist-Bx6J0VcM.mjs.map +1 -0
  18. package/dist/dist-C_hjvkdN.mjs +2220 -0
  19. package/dist/dist-C_hjvkdN.mjs.map +1 -0
  20. package/dist/dist-DKm2IyEJ.mjs +94 -0
  21. package/dist/dist-DKm2IyEJ.mjs.map +1 -0
  22. package/dist/dist-cjs-B5EVqDFp.mjs +85 -0
  23. package/dist/dist-cjs-B5EVqDFp.mjs.map +1 -0
  24. package/dist/dist-cjs-BGJkdexX.mjs +437 -0
  25. package/dist/dist-cjs-BGJkdexX.mjs.map +1 -0
  26. package/dist/dist-cjs-BKmGCgtm.mjs +9069 -0
  27. package/dist/dist-cjs-BKmGCgtm.mjs.map +1 -0
  28. package/dist/dist-cjs-BUc0_kg-.mjs +1091 -0
  29. package/dist/dist-cjs-BUc0_kg-.mjs.map +1 -0
  30. package/dist/dist-cjs-BUwe2XhR.mjs +153 -0
  31. package/dist/dist-cjs-BUwe2XhR.mjs.map +1 -0
  32. package/dist/dist-cjs-BWgoUCXJ.mjs +137 -0
  33. package/dist/dist-cjs-BWgoUCXJ.mjs.map +1 -0
  34. package/dist/dist-cjs-CmZEMtO6.mjs +6 -0
  35. package/dist/dist-cjs-D7kEM-Mj.mjs +181 -0
  36. package/dist/dist-cjs-D7kEM-Mj.mjs.map +1 -0
  37. package/dist/dist-cjs-DFUmy89O.mjs +48 -0
  38. package/dist/dist-cjs-DFUmy89O.mjs.map +1 -0
  39. package/dist/dist-cjs-Df7144zM.mjs +209 -0
  40. package/dist/dist-cjs-Df7144zM.mjs.map +1 -0
  41. package/dist/dist-cjs-DgxjcvBN.mjs +98 -0
  42. package/dist/dist-cjs-DgxjcvBN.mjs.map +1 -0
  43. package/dist/dist-cjs-DsMdld8l.mjs +5015 -0
  44. package/dist/dist-cjs-DsMdld8l.mjs.map +1 -0
  45. package/dist/dist-cjs-Dzs5P3K0.mjs +51 -0
  46. package/dist/dist-cjs-Dzs5P3K0.mjs.map +1 -0
  47. package/dist/dist-cjs-ECMuIF57.mjs +323 -0
  48. package/dist/dist-cjs-ECMuIF57.mjs.map +1 -0
  49. package/dist/dist-cjs-lYvO8aDo.mjs +64 -0
  50. package/dist/dist-cjs-lYvO8aDo.mjs.map +1 -0
  51. package/dist/dist-cjs-qEJrwjGk.mjs +66 -0
  52. package/dist/dist-cjs-qEJrwjGk.mjs.map +1 -0
  53. package/dist/dist-cjs-x5cwlqA5.mjs +43 -0
  54. package/dist/dist-cjs-x5cwlqA5.mjs.map +1 -0
  55. package/dist/dist-gjHmorxL.mjs +27479 -0
  56. package/dist/dist-gjHmorxL.mjs.map +1 -0
  57. package/dist/effects/index.d.mts +5 -0
  58. package/dist/effects/index.mjs +35 -0
  59. package/dist/effects-CHWORCYd.mjs +811 -0
  60. package/dist/effects-CHWORCYd.mjs.map +1 -0
  61. package/dist/event-streams-D-APZ7Ke.mjs +204 -0
  62. package/dist/event-streams-D-APZ7Ke.mjs.map +1 -0
  63. package/dist/fonts/index.d.mts +2 -0
  64. package/dist/fonts/index.mjs +3 -0
  65. package/dist/fonts-DrGTBJJk.mjs +188 -0
  66. package/dist/fonts-DrGTBJJk.mjs.map +1 -0
  67. package/dist/index-B0BNPEoH.d.mts +2117 -0
  68. package/dist/index-B0BNPEoH.d.mts.map +1 -0
  69. package/dist/index-BMVVmc4G.d.mts +72 -0
  70. package/dist/index-BMVVmc4G.d.mts.map +1 -0
  71. package/dist/index-D1ZsMpke.d.mts +264 -0
  72. package/dist/index-D1ZsMpke.d.mts.map +1 -0
  73. package/dist/index-D2jDC7O5.d.mts +3643 -0
  74. package/dist/index-D2jDC7O5.d.mts.map +1 -0
  75. package/dist/index-D2wJqSl5.d.mts +114 -0
  76. package/dist/index-D2wJqSl5.d.mts.map +1 -0
  77. package/dist/index-DKFGNyMB.d.mts +309 -0
  78. package/dist/index-DKFGNyMB.d.mts.map +1 -0
  79. package/dist/index-DiSKzDGR.d.mts +65 -0
  80. package/dist/index-DiSKzDGR.d.mts.map +1 -0
  81. package/dist/index.d.mts +4425 -0
  82. package/dist/index.d.mts.map +1 -0
  83. package/dist/index.mjs +2623 -0
  84. package/dist/index.mjs.map +1 -0
  85. package/dist/package-C58KmGKw.mjs +6 -0
  86. package/dist/package-C58KmGKw.mjs.map +1 -0
  87. package/dist/preview/index.d.mts +90 -0
  88. package/dist/preview/index.d.mts.map +1 -0
  89. package/dist/preview/index.mjs +15 -0
  90. package/dist/preview-engine/audio.mjs +1 -0
  91. package/dist/preview-engine/child_process-AIL2NBWS.mjs +1 -0
  92. package/dist/preview-engine/chunk-24P6DAB3.mjs +1 -0
  93. package/dist/preview-engine/chunk-37EFVZWT.mjs +1 -0
  94. package/dist/preview-engine/chunk-3O5OKR6D.mjs +223 -0
  95. package/dist/preview-engine/chunk-47VT677S.mjs +8 -0
  96. package/dist/preview-engine/chunk-4BEJJKEU.mjs +315 -0
  97. package/dist/preview-engine/chunk-4GEWSUX5.mjs +1 -0
  98. package/dist/preview-engine/chunk-55CCFPUX.mjs +237 -0
  99. package/dist/preview-engine/chunk-5JD65JSJ.mjs +110 -0
  100. package/dist/preview-engine/chunk-5UP7FSGT.mjs +294 -0
  101. package/dist/preview-engine/chunk-5XDHHOF2.mjs +367 -0
  102. package/dist/preview-engine/chunk-6YJP57MZ.mjs +729 -0
  103. package/dist/preview-engine/chunk-6ZOXGAYA.mjs +112 -0
  104. package/dist/preview-engine/chunk-AOLAHYVV.mjs +529 -0
  105. package/dist/preview-engine/chunk-B6PLCMBM.mjs +1 -0
  106. package/dist/preview-engine/chunk-BJKH76OM.mjs +264 -0
  107. package/dist/preview-engine/chunk-BUIQ5TUH.mjs +104 -0
  108. package/dist/preview-engine/chunk-BVF64D6H.mjs +1 -0
  109. package/dist/preview-engine/chunk-CA5N7JRZ.mjs +138 -0
  110. package/dist/preview-engine/chunk-CNSHAFEA.mjs +1 -0
  111. package/dist/preview-engine/chunk-CURR5X7D.mjs +1 -0
  112. package/dist/preview-engine/chunk-CVGM2U4J.mjs +47 -0
  113. package/dist/preview-engine/chunk-CYY366IE.mjs +1 -0
  114. package/dist/preview-engine/chunk-D5PHI6ET.mjs +109 -0
  115. package/dist/preview-engine/chunk-D7MZHP2Y.mjs +275 -0
  116. package/dist/preview-engine/chunk-DPPH3NK2.mjs +182 -0
  117. package/dist/preview-engine/chunk-DPST2XLC.mjs +418 -0
  118. package/dist/preview-engine/chunk-DRLEOHN5.mjs +1 -0
  119. package/dist/preview-engine/chunk-EDIZNO3P.mjs +1 -0
  120. package/dist/preview-engine/chunk-EHIIT4ZR.mjs +52 -0
  121. package/dist/preview-engine/chunk-FKZ4XXPE.mjs +1 -0
  122. package/dist/preview-engine/chunk-G3HW4VER.mjs +60 -0
  123. package/dist/preview-engine/chunk-G76HSKOS.mjs +184 -0
  124. package/dist/preview-engine/chunk-GYG2IIBR.mjs +1 -0
  125. package/dist/preview-engine/chunk-H2F5NVQ6.mjs +63 -0
  126. package/dist/preview-engine/chunk-H5BPCY7N.mjs +188 -0
  127. package/dist/preview-engine/chunk-HAXK42HG.mjs +997 -0
  128. package/dist/preview-engine/chunk-HXMDPMLB.mjs +1 -0
  129. package/dist/preview-engine/chunk-HYBAPT6I.mjs +1 -0
  130. package/dist/preview-engine/chunk-I4FH6HYU.mjs +73 -0
  131. package/dist/preview-engine/chunk-IYVN2QEL.mjs +1 -0
  132. package/dist/preview-engine/chunk-JPXQPP6J.mjs +1 -0
  133. package/dist/preview-engine/chunk-JWNHTRED.mjs +164 -0
  134. package/dist/preview-engine/chunk-KZOLCZIV.mjs +103 -0
  135. package/dist/preview-engine/chunk-L62MRHGZ.mjs +89 -0
  136. package/dist/preview-engine/chunk-LEEZXHQO.mjs +117 -0
  137. package/dist/preview-engine/chunk-LKYN3BM2.mjs +1 -0
  138. package/dist/preview-engine/chunk-LP3EP33S.mjs +610 -0
  139. package/dist/preview-engine/chunk-M2GRYRLM.mjs +111 -0
  140. package/dist/preview-engine/chunk-MC7TZZLD.mjs +134 -0
  141. package/dist/preview-engine/chunk-MT2DZQHO.mjs +1 -0
  142. package/dist/preview-engine/chunk-MTJHQATU.mjs +1 -0
  143. package/dist/preview-engine/chunk-N4LHIPHZ.mjs +340 -0
  144. package/dist/preview-engine/chunk-N4PWLBZ7.mjs +5 -0
  145. package/dist/preview-engine/chunk-NQZKBFC6.mjs +40 -0
  146. package/dist/preview-engine/chunk-NWRSVVTF.mjs +186 -0
  147. package/dist/preview-engine/chunk-P3HBP725.mjs +1 -0
  148. package/dist/preview-engine/chunk-PIAJWALT.mjs +1 -0
  149. package/dist/preview-engine/chunk-PJ3DVG45.mjs +1 -0
  150. package/dist/preview-engine/chunk-QP2NI4XD.mjs +82 -0
  151. package/dist/preview-engine/chunk-SA3JUR6D.mjs +52 -0
  152. package/dist/preview-engine/chunk-SRT2OCQW.mjs +1 -0
  153. package/dist/preview-engine/chunk-SWD76532.mjs +98 -0
  154. package/dist/preview-engine/chunk-SXX7HX34.mjs +191 -0
  155. package/dist/preview-engine/chunk-SZ7YRPKO.mjs +3 -0
  156. package/dist/preview-engine/chunk-TMRLZV5X.mjs +1 -0
  157. package/dist/preview-engine/chunk-U446SQP3.mjs +292 -0
  158. package/dist/preview-engine/chunk-UDNCEHUI.mjs +141 -0
  159. package/dist/preview-engine/chunk-V3H7WWOT.mjs +271 -0
  160. package/dist/preview-engine/chunk-V7ZVVUQU.mjs +108 -0
  161. package/dist/preview-engine/chunk-VJGK7MLJ.mjs +3 -0
  162. package/dist/preview-engine/chunk-VSSB73UU.mjs +58 -0
  163. package/dist/preview-engine/chunk-VXUJWPIK.mjs +1 -0
  164. package/dist/preview-engine/chunk-XD4GKD6H.mjs +5 -0
  165. package/dist/preview-engine/chunk-XKO4RYKN.mjs +3 -0
  166. package/dist/preview-engine/chunk-XOEEGC4Z.mjs +1 -0
  167. package/dist/preview-engine/chunk-YAQFFQPG.mjs +1 -0
  168. package/dist/preview-engine/chunk-YKMBRUAE.mjs +1 -0
  169. package/dist/preview-engine/chunk-YSTLMWCG.mjs +1 -0
  170. package/dist/preview-engine/chunk-Z4ERCLNF.mjs +1 -0
  171. package/dist/preview-engine/chunk-ZEYUXJIV.mjs +1 -0
  172. package/dist/preview-engine/chunk-ZX6APG6E.mjs +117 -0
  173. package/dist/preview-engine/effects.mjs +1 -0
  174. package/dist/preview-engine/esbuild-GWV7CM7D.mjs +1 -0
  175. package/dist/preview-engine/fonts.mjs +1 -0
  176. package/dist/preview-engine/framefields.mjs +1959 -0
  177. package/dist/preview-engine/onnxruntime-node-56GSZEH3.mjs +1 -0
  178. package/dist/preview-engine/player.mjs +155 -0
  179. package/dist/preview-engine/renderers-2AUSIYZN.mjs +1 -0
  180. package/dist/preview-engine/renderers-2QN6KZJP.mjs +1 -0
  181. package/dist/preview-engine/renderers-32SKW7ML.mjs +1 -0
  182. package/dist/preview-engine/renderers-5QYK6766.mjs +1 -0
  183. package/dist/preview-engine/renderers-6BJA6MSU.mjs +251 -0
  184. package/dist/preview-engine/renderers-6QAF3LQ2.mjs +1 -0
  185. package/dist/preview-engine/renderers-7AO5746S.mjs +296 -0
  186. package/dist/preview-engine/renderers-AFYKNM6N.mjs +1 -0
  187. package/dist/preview-engine/renderers-AGMH5CRH.mjs +1 -0
  188. package/dist/preview-engine/renderers-AHSGP6LY.mjs +126 -0
  189. package/dist/preview-engine/renderers-ASTBICLA.mjs +1 -0
  190. package/dist/preview-engine/renderers-BHVPLYNN.mjs +1 -0
  191. package/dist/preview-engine/renderers-D7PVQFVU.mjs +1 -0
  192. package/dist/preview-engine/renderers-DB4ABTNA.mjs +1 -0
  193. package/dist/preview-engine/renderers-F2NFJI5L.mjs +1 -0
  194. package/dist/preview-engine/renderers-FI7YHNLY.mjs +1 -0
  195. package/dist/preview-engine/renderers-GBHULMPH.mjs +1 -0
  196. package/dist/preview-engine/renderers-GUKQUMGG.mjs +55 -0
  197. package/dist/preview-engine/renderers-HGT7QDY3.mjs +1 -0
  198. package/dist/preview-engine/renderers-HOYLA7ZK.mjs +1 -0
  199. package/dist/preview-engine/renderers-KKI2D3MZ.mjs +1 -0
  200. package/dist/preview-engine/renderers-KRAJNV4E.mjs +1 -0
  201. package/dist/preview-engine/renderers-KUGZKSVE.mjs +1 -0
  202. package/dist/preview-engine/renderers-L2EQQIOC.mjs +1 -0
  203. package/dist/preview-engine/renderers-LK3NRMGR.mjs +1 -0
  204. package/dist/preview-engine/renderers-LX654SZ3.mjs +1 -0
  205. package/dist/preview-engine/renderers-MCFQFYEL.mjs +1 -0
  206. package/dist/preview-engine/renderers-O6HOYIPS.mjs +1 -0
  207. package/dist/preview-engine/renderers-OEVXCGE2.mjs +1 -0
  208. package/dist/preview-engine/renderers-QVD6C4CS.mjs +1 -0
  209. package/dist/preview-engine/renderers-R3XEYD5V.mjs +248 -0
  210. package/dist/preview-engine/renderers-RBFWJWVM.mjs +1 -0
  211. package/dist/preview-engine/renderers-RX3VLVLO.mjs +1 -0
  212. package/dist/preview-engine/renderers-SM6JP64K.mjs +1 -0
  213. package/dist/preview-engine/renderers-TKMAATVS.mjs +1 -0
  214. package/dist/preview-engine/renderers-UGZUPONY.mjs +1 -0
  215. package/dist/preview-engine/renderers-UTFXZE3G.mjs +1 -0
  216. package/dist/preview-engine/renderers-UWPH7HBH.mjs +1 -0
  217. package/dist/preview-engine/renderers-UZGECFVO.mjs +1 -0
  218. package/dist/preview-engine/renderers-VGU3LNLT.mjs +1 -0
  219. package/dist/preview-engine/renderers-W3VVM5HB.mjs +1 -0
  220. package/dist/preview-engine/renderers-WJUTT5BB.mjs +1 -0
  221. package/dist/preview-engine/renderers-XA2M4YXK.mjs +1 -0
  222. package/dist/preview-engine/renderers-XIHRFEFQ.mjs +1 -0
  223. package/dist/preview-engine/renderers-XJTA5MFG.mjs +1 -0
  224. package/dist/preview-engine/renderers-XLTY5APF.mjs +1 -0
  225. package/dist/preview-engine/renderers-XZ3VXFGZ.mjs +1 -0
  226. package/dist/preview-engine/renderers-YKUQUCTO.mjs +124 -0
  227. package/dist/preview-engine/renderers-YVN3EIOP.mjs +1 -0
  228. package/dist/preview-engine/renderers-YWRP23SZ.mjs +125 -0
  229. package/dist/preview-engine/renderers-ZPWOUWZJ.mjs +120 -0
  230. package/dist/preview-engine/resvg-js-VMU4A77S.mjs +1 -0
  231. package/dist/preview-engine/server-utils-2FAIV45N.mjs +1 -0
  232. package/dist/preview-engine/sharp-V6ZTBNDW.mjs +1 -0
  233. package/dist/preview-engine/shims/fs-promises.mjs +1 -0
  234. package/dist/preview-engine/shims/fs.mjs +1 -0
  235. package/dist/preview-engine/shims/module.mjs +1 -0
  236. package/dist/preview-engine/shims/os.mjs +1 -0
  237. package/dist/preview-engine/shims/path.mjs +1 -0
  238. package/dist/preview-engine/shims/url.mjs +1 -0
  239. package/dist/preview-engine/signals.mjs +1 -0
  240. package/dist/preview-engine/webgpu-NSSANM4F.mjs +1 -0
  241. package/dist/preview-uQM210iy.mjs +2149 -0
  242. package/dist/preview-uQM210iy.mjs.map +1 -0
  243. package/dist/program-Dl510wmI.mjs +5183 -0
  244. package/dist/program-Dl510wmI.mjs.map +1 -0
  245. package/dist/renderer/index.d.mts +3 -0
  246. package/dist/renderer/index.mjs +6 -0
  247. package/dist/renderer-3BNskNuJ.mjs +3 -0
  248. package/dist/renderer-7DOcIxFG.mjs +288 -0
  249. package/dist/renderer-7DOcIxFG.mjs.map +1 -0
  250. package/dist/renderer-9dHlMQGX.mjs +3 -0
  251. package/dist/renderer-B1CvhW4p.mjs +677 -0
  252. package/dist/renderer-B1CvhW4p.mjs.map +1 -0
  253. package/dist/renderer-B2XzjK0z.mjs +3 -0
  254. package/dist/renderer-B80s47yo.mjs +166 -0
  255. package/dist/renderer-B80s47yo.mjs.map +1 -0
  256. package/dist/renderer-B9-QSJcG.mjs +479 -0
  257. package/dist/renderer-B9-QSJcG.mjs.map +1 -0
  258. package/dist/renderer-BAQmR0Zo.mjs +3 -0
  259. package/dist/renderer-BDLnExoP.mjs +127 -0
  260. package/dist/renderer-BDLnExoP.mjs.map +1 -0
  261. package/dist/renderer-BGXU6vcW.mjs +270 -0
  262. package/dist/renderer-BGXU6vcW.mjs.map +1 -0
  263. package/dist/renderer-BGvORwkQ.mjs +3 -0
  264. package/dist/renderer-BLikd6BK.mjs +3 -0
  265. package/dist/renderer-BMovYRoR.mjs +3 -0
  266. package/dist/renderer-BQHbp-Sp.mjs +243 -0
  267. package/dist/renderer-BQHbp-Sp.mjs.map +1 -0
  268. package/dist/renderer-BREIjsUU.mjs +252 -0
  269. package/dist/renderer-BREIjsUU.mjs.map +1 -0
  270. package/dist/renderer-BSbTJBWc.mjs +3 -0
  271. package/dist/renderer-BTu2EVhF.mjs +3 -0
  272. package/dist/renderer-BU1rwNRT.mjs +3 -0
  273. package/dist/renderer-BXMmISWG.mjs +499 -0
  274. package/dist/renderer-BXMmISWG.mjs.map +1 -0
  275. package/dist/renderer-BZJm3m4f.mjs +3 -0
  276. package/dist/renderer-B_NuVaIP.mjs +744 -0
  277. package/dist/renderer-B_NuVaIP.mjs.map +1 -0
  278. package/dist/renderer-BfJSUjPN.mjs +3 -0
  279. package/dist/renderer-BqyAgNt3.mjs +3 -0
  280. package/dist/renderer-BryTM2g7.mjs +3 -0
  281. package/dist/renderer-BsgIcBKH.mjs +391 -0
  282. package/dist/renderer-BsgIcBKH.mjs.map +1 -0
  283. package/dist/renderer-ByDhfrPE.mjs +422 -0
  284. package/dist/renderer-ByDhfrPE.mjs.map +1 -0
  285. package/dist/renderer-C-H680_l.mjs +3 -0
  286. package/dist/renderer-C17wL9QX.mjs +181 -0
  287. package/dist/renderer-C17wL9QX.mjs.map +1 -0
  288. package/dist/renderer-C2n-EHxg.mjs +1 -0
  289. package/dist/renderer-CB5aWAaf.mjs +343 -0
  290. package/dist/renderer-CB5aWAaf.mjs.map +1 -0
  291. package/dist/renderer-CB7lH5K8.mjs +3 -0
  292. package/dist/renderer-CDLrNgfo.mjs +3 -0
  293. package/dist/renderer-CDOUAN7X.mjs +454 -0
  294. package/dist/renderer-CDOUAN7X.mjs.map +1 -0
  295. package/dist/renderer-CH8sdfYX.mjs +387 -0
  296. package/dist/renderer-CH8sdfYX.mjs.map +1 -0
  297. package/dist/renderer-CIvaRnP_.mjs +261 -0
  298. package/dist/renderer-CIvaRnP_.mjs.map +1 -0
  299. package/dist/renderer-CMzEjdzi.mjs +369 -0
  300. package/dist/renderer-CMzEjdzi.mjs.map +1 -0
  301. package/dist/renderer-COkcU3db.mjs +3302 -0
  302. package/dist/renderer-COkcU3db.mjs.map +1 -0
  303. package/dist/renderer-CQCoggIa.mjs +3 -0
  304. package/dist/renderer-CQdVj2JS.mjs +3 -0
  305. package/dist/renderer-CQiTodg9.mjs +337 -0
  306. package/dist/renderer-CQiTodg9.mjs.map +1 -0
  307. package/dist/renderer-CV2m6k1V.mjs +3 -0
  308. package/dist/renderer-CYY-poLe.mjs +3 -0
  309. package/dist/renderer-CZgB5st8.mjs +3 -0
  310. package/dist/renderer-C_Ki91kc.mjs +3 -0
  311. package/dist/renderer-CclIvsLO.mjs +3 -0
  312. package/dist/renderer-Cj-whdVr.mjs +655 -0
  313. package/dist/renderer-Cj-whdVr.mjs.map +1 -0
  314. package/dist/renderer-CkykdR_D.mjs +3 -0
  315. package/dist/renderer-Cl1oUXMi.mjs +1143 -0
  316. package/dist/renderer-Cl1oUXMi.mjs.map +1 -0
  317. package/dist/renderer-CmApuKjS.mjs +3 -0
  318. package/dist/renderer-CpkiHRhh.mjs +269 -0
  319. package/dist/renderer-CpkiHRhh.mjs.map +1 -0
  320. package/dist/renderer-CszOjcRW.mjs +3 -0
  321. package/dist/renderer-CtVkU_GA.mjs +44 -0
  322. package/dist/renderer-CtVkU_GA.mjs.map +1 -0
  323. package/dist/renderer-Cu074POw.mjs +3 -0
  324. package/dist/renderer-CwQhzcUn.mjs +644 -0
  325. package/dist/renderer-CwQhzcUn.mjs.map +1 -0
  326. package/dist/renderer-CzPWB0Ss.mjs +273 -0
  327. package/dist/renderer-CzPWB0Ss.mjs.map +1 -0
  328. package/dist/renderer-D4qLmox-.mjs +3 -0
  329. package/dist/renderer-D6bWQtr-.mjs +3 -0
  330. package/dist/renderer-D6cJ6MSq.mjs +3 -0
  331. package/dist/renderer-D7EX8IjU.mjs +240 -0
  332. package/dist/renderer-D7EX8IjU.mjs.map +1 -0
  333. package/dist/renderer-DDp7_TUi.d.mts +10 -0
  334. package/dist/renderer-DDp7_TUi.d.mts.map +1 -0
  335. package/dist/renderer-DFKsLrUs.mjs +256 -0
  336. package/dist/renderer-DFKsLrUs.mjs.map +1 -0
  337. package/dist/renderer-DPSsf8-t.mjs +3 -0
  338. package/dist/renderer-DQLGnEFc.mjs +3 -0
  339. package/dist/renderer-DY2SVYUW.mjs +3 -0
  340. package/dist/renderer-DZGtBUCx.mjs +792 -0
  341. package/dist/renderer-DZGtBUCx.mjs.map +1 -0
  342. package/dist/renderer-DabG62XS.mjs +406 -0
  343. package/dist/renderer-DabG62XS.mjs.map +1 -0
  344. package/dist/renderer-DbaQLI4z.mjs +771 -0
  345. package/dist/renderer-DbaQLI4z.mjs.map +1 -0
  346. package/dist/renderer-DjI45OYC.mjs +71 -0
  347. package/dist/renderer-DjI45OYC.mjs.map +1 -0
  348. package/dist/renderer-Dm08-hAU.mjs +323 -0
  349. package/dist/renderer-Dm08-hAU.mjs.map +1 -0
  350. package/dist/renderer-DoAY5JbB.mjs +4 -0
  351. package/dist/renderer-Dp_FfvF-.mjs +401 -0
  352. package/dist/renderer-Dp_FfvF-.mjs.map +1 -0
  353. package/dist/renderer-Dt6fzgX5.mjs +756 -0
  354. package/dist/renderer-Dt6fzgX5.mjs.map +1 -0
  355. package/dist/renderer-DuplLRbp.mjs +3 -0
  356. package/dist/renderer-DvfUbZ31.mjs +3 -0
  357. package/dist/renderer-DxjVQV6f.mjs +311 -0
  358. package/dist/renderer-DxjVQV6f.mjs.map +1 -0
  359. package/dist/renderer-Fco4EmAu.mjs +23868 -0
  360. package/dist/renderer-Fco4EmAu.mjs.map +1 -0
  361. package/dist/renderer-HFfcJlmR.mjs +981 -0
  362. package/dist/renderer-HFfcJlmR.mjs.map +1 -0
  363. package/dist/renderer-I-Sw3JBB.mjs +145 -0
  364. package/dist/renderer-I-Sw3JBB.mjs.map +1 -0
  365. package/dist/renderer-OWQmmg4Z.mjs +697 -0
  366. package/dist/renderer-OWQmmg4Z.mjs.map +1 -0
  367. package/dist/renderer-Q_uUQipO.mjs +3 -0
  368. package/dist/renderer-Ryo2CEFD.mjs +586 -0
  369. package/dist/renderer-Ryo2CEFD.mjs.map +1 -0
  370. package/dist/renderer-Tp6OXWNZ.mjs +257 -0
  371. package/dist/renderer-Tp6OXWNZ.mjs.map +1 -0
  372. package/dist/renderer-UQFCgeNx.mjs +3 -0
  373. package/dist/renderer-WkVrkCVA.mjs +83 -0
  374. package/dist/renderer-WkVrkCVA.mjs.map +1 -0
  375. package/dist/renderer-XcmYTd6P.mjs +3818 -0
  376. package/dist/renderer-XcmYTd6P.mjs.map +1 -0
  377. package/dist/renderer-_uvdg48N.mjs +333 -0
  378. package/dist/renderer-_uvdg48N.mjs.map +1 -0
  379. package/dist/renderer-bZU_ndxf.mjs +8 -0
  380. package/dist/renderer-bZU_ndxf.mjs.map +1 -0
  381. package/dist/renderer-eMsnzJg9.mjs +3 -0
  382. package/dist/renderer-ho_jXJ0H.mjs +254 -0
  383. package/dist/renderer-ho_jXJ0H.mjs.map +1 -0
  384. package/dist/renderer-k2JL79kM.mjs +306 -0
  385. package/dist/renderer-k2JL79kM.mjs.map +1 -0
  386. package/dist/renderer-pHiz78e0.mjs +3 -0
  387. package/dist/renderer-pxXf9dvk.mjs +394 -0
  388. package/dist/renderer-pxXf9dvk.mjs.map +1 -0
  389. package/dist/renderer-vCFTm0oe.mjs +226 -0
  390. package/dist/renderer-vCFTm0oe.mjs.map +1 -0
  391. package/dist/renderer-vvpdx1vk.mjs +379 -0
  392. package/dist/renderer-vvpdx1vk.mjs.map +1 -0
  393. package/dist/renderer-x2s9LmVL.mjs +1121 -0
  394. package/dist/renderer-x2s9LmVL.mjs.map +1 -0
  395. package/dist/renderers-BWg16W-V-BXG_cjhM.mjs +49 -0
  396. package/dist/renderers-BWg16W-V-BXG_cjhM.mjs.map +1 -0
  397. package/dist/signals/index.d.mts +7 -0
  398. package/dist/signals/index.mjs +10 -0
  399. package/dist/signals-BwbdO3AN.mjs +224 -0
  400. package/dist/signals-BwbdO3AN.mjs.map +1 -0
  401. package/dist/signin-CZj4Oc5s.mjs +865 -0
  402. package/dist/signin-CZj4Oc5s.mjs.map +1 -0
  403. package/dist/sso-oidc-C0_31ThY.mjs +1051 -0
  404. package/dist/sso-oidc-C0_31ThY.mjs.map +1 -0
  405. package/dist/sts-DD4ggEXC.mjs +6 -0
  406. package/dist/sts-nXw8RDJI.mjs +1395 -0
  407. package/dist/sts-nXw8RDJI.mjs.map +1 -0
  408. package/package.json +173 -0
@@ -0,0 +1,2117 @@
1
+ import { An as ProgrammaticSignal, Cn as NormalizedLandmarkList, Ct as DeflickerOptions, Dr as VisionNodeSpec, Er as VisionConfig, Et as Effect, Nn as SegmentationOptions, Nt as FaceLandmarksOptions, Or as VisionTask, Ot as EffectConfigValue, Rt as FrameContext, Tn as OpticalFlowOptions, Tt as DetectedObject, Zt as Landmark3D, ct as CannyOptions, dr as TrackedObject, er as TensorData, ir as TensorPipelineConfig, kn as PoseSkeletonOptions, kr as VisionVariant, pt as ControlNetConditioningOutputs, rr as TensorNode, wn as ObjectBoundingBox, wt as DepthNormalsOptions } from "./index-D2jDC7O5.mjs";
2
+ import { n as NodeRendererPlugin, r as WebGPUNodeRenderer } from "./index-BMVVmc4G.mjs";
3
+ import { n as AudioSignalOptions, r as ExtractedAudioSignalsBundle } from "./audio-Dvwwz8xU.mjs";
4
+
5
+ //#region ../../nodes/node-blur/dist/renderer.d.mts
6
+ //#region src/renderers/index.d.ts
7
+ declare const _default$29: Readonly<NodeRendererPlugin>;
8
+ //#endregion
9
+
10
+ //#endregion
11
+ //#region ../../nodes/node-color-balance/dist/index-DtnEFgTT.d.mts
12
+ //#endregion
13
+ //#region src/renderers/index.d.ts
14
+ declare const _default$28: {
15
+ WebGPURenderer: WebGPUNodeRenderer;
16
+ };
17
+ //#endregion
18
+ //#endregion
19
+ //#region ../../nodes/node-colorkey/dist/renderer.d.mts
20
+ //#region src/renderers/index.d.ts
21
+ declare const _default$27: Readonly<NodeRendererPlugin>;
22
+ //#endregion
23
+ //#endregion
24
+ //#region ../../nodes/node-corner-pin/dist/renderer.d.mts
25
+ //#region src/renderers/index.d.ts
26
+ declare const _default$26: Readonly<NodeRendererPlugin>;
27
+ //#endregion
28
+ //#endregion
29
+ //#region ../../nodes/node-crop/dist/renderer.d.mts
30
+ //#region src/renderers/index.d.ts
31
+ declare const _default$25: Readonly<NodeRendererPlugin>;
32
+ //#endregion
33
+ //#endregion
34
+ //#region ../../nodes/node-curves/dist/renderer.d.mts
35
+ //#region src/renderers/index.d.ts
36
+ declare const rendererNode: Readonly<NodeRendererPlugin>;
37
+ //#endregion
38
+ //#endregion
39
+ //#region ../../nodes/node-deflicker/dist/renderer.d.mts
40
+ //#region src/renderers/index.d.ts
41
+ declare const _default$24: Readonly<NodeRendererPlugin>;
42
+ //#endregion
43
+ //#endregion
44
+ //#region ../../nodes/node-displacement-map/dist/renderer.d.mts
45
+ //#region src/renderers/index.d.ts
46
+ declare const _default$23: Readonly<NodeRendererPlugin>;
47
+ //#endregion
48
+ //#endregion
49
+ //#region ../../nodes/node-film-grain/dist/renderer.d.mts
50
+ //#region src/renderers/index.d.ts
51
+ declare const _default$22: Readonly<NodeRendererPlugin>;
52
+ //#endregion
53
+ //#endregion
54
+ //#region ../../nodes/node-flip/dist/renderer.d.mts
55
+ //#region src/renderers/index.d.ts
56
+ declare const _default$21: Readonly<NodeRendererPlugin>;
57
+ //#endregion
58
+
59
+ //#endregion
60
+ //#region ../../nodes/node-gradient-map/dist/index-CwsP0R_D.d.mts
61
+ //#endregion
62
+ //#region src/renderers/index.d.ts
63
+ declare const _default$20: {
64
+ WebGPURenderer: WebGPUNodeRenderer;
65
+ };
66
+ //#endregion
67
+ //#endregion
68
+ //#region ../../nodes/node-halftone-screen/dist/renderer.d.mts
69
+ //#region src/renderers/index.d.ts
70
+ declare const _default$19: Readonly<NodeRendererPlugin>;
71
+ //#endregion
72
+ //#endregion
73
+ //#region ../../nodes/node-high-pass/dist/renderer.d.mts
74
+ //#region src/renderers/index.d.ts
75
+ declare const _default$18: Readonly<NodeRendererPlugin>;
76
+ //#endregion
77
+ //#endregion
78
+ //#region ../../nodes/node-kenburns/dist/renderer.d.mts
79
+ //#region src/renderers/index.d.ts
80
+ declare const _default$17: Readonly<NodeRendererPlugin>;
81
+ //#endregion
82
+ //#endregion
83
+ //#region ../../nodes/node-layer-style/dist/renderer.d.mts
84
+ //#region src/renderers/index.d.ts
85
+ declare const _default$16: Readonly<NodeRendererPlugin>;
86
+ //#endregion
87
+ //#endregion
88
+ //#region ../../nodes/node-levels/dist/renderer.d.mts
89
+ //#region src/renderers/index.d.ts
90
+ declare const _default$15: Readonly<NodeRendererPlugin>;
91
+ //#endregion
92
+
93
+ //#endregion
94
+ //#region ../../nodes/node-liquify/dist/index-nLEHoail.d.mts
95
+ //#endregion
96
+ //#region src/renderers/index.d.ts
97
+ declare const _default$14: Readonly<NodeRendererPlugin>;
98
+ //#endregion
99
+ //#endregion
100
+ //#region ../../nodes/node-apply-lut/dist/renderer.d.mts
101
+ //#region src/renderers/index.d.ts
102
+ declare const _default$13: Readonly<NodeRendererPlugin>;
103
+ //#endregion
104
+
105
+ //#endregion
106
+ //#region ../../nodes/node-mask-math/dist/index-DaeM7Wai.d.mts
107
+ //#endregion
108
+ //#region src/renderers/index.d.ts
109
+ declare const _default$12: Readonly<NodeRendererPlugin>;
110
+ //#endregion
111
+ //#endregion
112
+ //#region ../../nodes/node-mesh-warp/dist/renderer.d.mts
113
+ //#region src/renderers/index.d.ts
114
+ declare const _default$11: Readonly<NodeRendererPlugin>;
115
+ //#endregion
116
+ //#endregion
117
+ //#region ../../nodes/node-paint/dist/renderer.d.mts
118
+ //#region src/renderers/index.d.ts
119
+ declare const _default$10: Readonly<NodeRendererPlugin>;
120
+ //#endregion
121
+
122
+ //#endregion
123
+ //#region ../../nodes/node-patch-heal/dist/index-CD55q9I2.d.mts
124
+ //#endregion
125
+ //#region src/renderers/index.d.ts
126
+ declare const _default$9: Readonly<NodeRendererPlugin>;
127
+ //#endregion
128
+ //#endregion
129
+ //#region ../../nodes/node-refine-edge/dist/index-DaeM7Wai.d.mts
130
+ //#endregion
131
+ //#region src/renderers/index.d.ts
132
+ declare const _default$8: Readonly<NodeRendererPlugin>;
133
+ //#endregion
134
+ //#endregion
135
+ //#region ../../nodes/node-refraction-caustics/dist/index-UMBw6e-q.d.mts
136
+ //#endregion
137
+ //#region src/renderers/index.d.ts
138
+ declare const _default$7: Readonly<NodeRendererPlugin>;
139
+ //#endregion
140
+ //#endregion
141
+ //#region ../../nodes/node-relight-3d/dist/renderer.d.mts
142
+ //#region src/renderers/index.d.ts
143
+ declare const _default$6: Readonly<NodeRendererPlugin>;
144
+ //#endregion
145
+ //#endregion
146
+ //#region ../../nodes/node-selective-color/dist/renderer.d.mts
147
+ //#region src/renderers/index.d.ts
148
+ declare const _default$5: Readonly<NodeRendererPlugin>;
149
+ //#endregion
150
+
151
+ //#endregion
152
+ //#region ../../nodes/node-shadows-highlights/dist/index-B_GL0b2Y.d.mts
153
+ //#endregion
154
+ //#region src/renderers/index.d.ts
155
+ declare const _default$4: {
156
+ WebGPURenderer: WebGPUNodeRenderer;
157
+ };
158
+ //#endregion
159
+ //#endregion
160
+ //#region ../../nodes/node-tile-offset/dist/renderer.d.mts
161
+ //#region src/renderers/index.d.ts
162
+ declare const _default$3: Readonly<NodeRendererPlugin>;
163
+ //#endregion
164
+ //#endregion
165
+ //#region ../../nodes/node-unsharp-mask/dist/renderer.d.mts
166
+ //#region src/renderers/index.d.ts
167
+ declare const _default$2: Readonly<NodeRendererPlugin>;
168
+ //#endregion
169
+ //#endregion
170
+ //#region ../../nodes/node-vignette/dist/renderer.d.mts
171
+ //#region src/renderers/index.d.ts
172
+ declare const _default$1: Readonly<NodeRendererPlugin>;
173
+ //#endregion
174
+ //#endregion
175
+ //#region ../../nodes/node-vision/dist/renderer.d.mts
176
+ //#region src/renderers/index.d.ts
177
+ declare const _default: Readonly<NodeRendererPlugin>;
178
+ //#endregion
179
+ //#endregion
180
+ //#region src/effects/types.d.ts
181
+ /** A prop that accepts a plain value, a reactive signal, or a frame signal. */
182
+ type EffectProp<T> = EffectConfigValue<T>;
183
+ //#endregion
184
+ //#region ../tensor-webgpu/dist/index.d.mts
185
+ //#region src/types.d.ts
186
+ type TensorSource = GPUTexture | {
187
+ inputHandleId?: string;
188
+ id?: string;
189
+ [key: string]: unknown;
190
+ } | string;
191
+ interface TensorViewExport {
192
+ readonly texture: GPUTexture;
193
+ readonly width: number;
194
+ readonly height: number;
195
+ readonly format: GPUTextureFormat;
196
+ }
197
+ //#endregion
198
+ //#region src/multiplexer/controlnet-multiplexer.d.ts
199
+ declare class ControlNetMultiplexer {
200
+ private textures;
201
+ set(type: keyof ControlNetConditioningOutputs, texture: GPUTexture): void;
202
+ get(type: keyof ControlNetConditioningOutputs): GPUTexture | undefined;
203
+ has(type: keyof ControlNetConditioningOutputs): boolean;
204
+ getOutputs(): ControlNetConditioningOutputs;
205
+ createBindGroupEntry(type: keyof ControlNetConditioningOutputs, bindingIndex: number): GPUBindGroupEntry;
206
+ exportTensorView(type: keyof ControlNetConditioningOutputs): TensorViewExport;
207
+ readPixelsAsync(device: GPUDevice, type: keyof ControlNetConditioningOutputs): Promise<{
208
+ width: number;
209
+ height: number;
210
+ format: GPUTextureFormat;
211
+ data: Uint8Array;
212
+ }>;
213
+ destroy(): void;
214
+ }
215
+ //#endregion
216
+ //#region src/pipeline/tensor-pipeline.d.ts
217
+ declare class TensorPipeline {
218
+ readonly source: TensorSource;
219
+ readonly id: string;
220
+ private cannyOptions?;
221
+ private depthNormalsOptions?;
222
+ private poseSkeletonOptions?;
223
+ private faceLandmarksOptions?;
224
+ private segmentationOptions?;
225
+ private opticalFlowOptions?;
226
+ private deflickerOptions?;
227
+ private multiplexer;
228
+ private cannyPipeline?;
229
+ private depthNormalsPipeline?;
230
+ private posePipeline?;
231
+ private facePipeline?;
232
+ private segmentationPipeline?;
233
+ private opticalFlowPipeline?;
234
+ private deflickerPipeline?;
235
+ private prevInputTexture?;
236
+ constructor(source: TensorSource);
237
+ static from(source: TensorSource): TensorPipeline;
238
+ canny(options?: CannyOptions): this;
239
+ depthNormals(options?: DepthNormalsOptions): this;
240
+ poseSkeleton(options?: PoseSkeletonOptions): this;
241
+ pose(landmarks: NormalizedLandmarkList, options?: Omit<PoseSkeletonOptions, "landmarks">): this;
242
+ faceLandmarks(options?: FaceLandmarksOptions): this;
243
+ face(landmarks: NormalizedLandmarkList, options?: Omit<FaceLandmarksOptions, "landmarks">): this;
244
+ segmentation(options?: SegmentationOptions): this;
245
+ opticalFlow(options?: OpticalFlowOptions): this;
246
+ deflicker(options?: DeflickerOptions): this;
247
+ getMultiplexer(): ControlNetMultiplexer;
248
+ execute(device: GPUDevice, overrideSourceTexture?: GPUTexture): Promise<ControlNetConditioningOutputs>;
249
+ toConfig(): TensorPipelineConfig;
250
+ toNode(): TensorNode;
251
+ destroy(): void;
252
+ }
253
+ //#endregion
254
+ //#region src/pipelines/canny-pipeline.d.ts
255
+ declare class CannyComputePipeline {
256
+ private device;
257
+ private sobelPipeline;
258
+ private nmsRgba8Pipeline;
259
+ private nmsR32fPipeline;
260
+ private uniformBuffer;
261
+ private cachedIntermediateTexture?;
262
+ private cachedOutputTexture?;
263
+ constructor(device: GPUDevice);
264
+ execute(inputTexture: GPUTexture, options?: CannyOptions): GPUTexture;
265
+ destroy(): void;
266
+ }
267
+ //#endregion
268
+ //#region src/pipelines/depth-normals-pipeline.d.ts
269
+ declare class DepthNormalsComputePipeline {
270
+ private device;
271
+ private normalRgba16fPipeline;
272
+ private normalRgba8Pipeline;
273
+ private uniformBuffer;
274
+ private cachedOutputTexture?;
275
+ constructor(device: GPUDevice);
276
+ execute(depthTexture: GPUTexture, options?: DepthNormalsOptions): GPUTexture;
277
+ destroy(): void;
278
+ }
279
+ //#endregion
280
+ //#region src/pipelines/face-landmarks-pipeline.d.ts
281
+
282
+ //#endregion
283
+ //#region src/pipelines/optical-flow-pipeline.d.ts
284
+ declare class OpticalFlowComputePipeline {
285
+ private device;
286
+ private directPipeline;
287
+ private refinePipeline;
288
+ private directUniformBuffer;
289
+ private refineUniformBuffer;
290
+ private bilinearSampler;
291
+ private cachedCoarseTexture?;
292
+ private cachedOutputTexture?;
293
+ constructor(device: GPUDevice);
294
+ execute(prevTexture: GPUTexture, currTexture: GPUTexture, options?: OpticalFlowOptions, customEncoder?: GPUCommandEncoder): GPUTexture;
295
+ destroy(): void;
296
+ }
297
+ //#endregion
298
+ //#region src/pipelines/pose-skeleton-pipeline.d.ts
299
+
300
+ //#endregion
301
+ //#region src/pipelines/temporal-deflicker-pipeline.d.ts
302
+ declare class TemporalDeflickerPipeline {
303
+ private device;
304
+ private flowPipeline;
305
+ private rgba8Pipeline;
306
+ private rgba16fPipeline;
307
+ private uniformBuffer;
308
+ private bilinearSampler;
309
+ private historyTexture?;
310
+ private cachedOutputTexture?;
311
+ constructor(device: GPUDevice);
312
+ execute(currTexture: GPUTexture, options?: DeflickerOptions, customEncoder?: GPUCommandEncoder): GPUTexture;
313
+ reset(): void;
314
+ destroy(): void;
315
+ }
316
+ //#endregion
317
+ //#region src/shaders/canny.wgsl.d.ts
318
+ /**
319
+ * @file canny.wgsl.ts
320
+ * High-performance WebGPU Canny Edge Compute Shaders
321
+ * Pass 1: Sobel gradient magnitude & quantized angle
322
+ * Pass 2: Non-Maximum Suppression (NMS) & Dual-Threshold Hysteresis
323
+ */
324
+ //#endregion
325
+ //#region ../vision/dist/index-DwGxgTRf.d.mts
326
+ type VisionModelKey = "rtmdet-ins-t" | "rtmdet-ins-s" | "rtmdet-ins-m" | "rtmo-t" | "rtmo-s" | "rtmo-m" | "selfie-square" | "selfie-landscape";
327
+ /** Which decoder a model's outputs feed (see runner/vision-runner.ts). */
328
+ type VisionModelFamily = "rtmdet-ins" | "rtmo" | "selfie";
329
+ interface VisionModelDescriptor {
330
+ readonly key: VisionModelKey;
331
+ readonly family: VisionModelFamily;
332
+ /** Cache filename (also the path appended to a custom `baseUrl`). */
333
+ readonly filename: string;
334
+ /** Pinned download URL (immutable revision). */
335
+ readonly url: string;
336
+ /** Exact byte size of the pinned file. */
337
+ readonly bytes: number;
338
+ /** Hex SHA-256 of the pinned file. */
339
+ readonly sha256: string;
340
+ /** Model input size, `[width, height]` — must match the ONNX graph's input shape. */
341
+ readonly input: readonly [number, number];
342
+ /** Upstream project and license, surfaced in docs and errors. */
343
+ readonly source: string;
344
+ }
345
+ /** COCO 80 class names — index order matches the RTMDet-Ins `labels` output. */
346
+ declare const COCO_CLASSES: readonly ["person", "bicycle", "car", "motorcycle", "airplane", "bus", "train", "truck", "boat", "traffic light", "fire hydrant", "stop sign", "parking meter", "bench", "bird", "cat", "dog", "horse", "sheep", "cow", "elephant", "bear", "zebra", "giraffe", "backpack", "umbrella", "handbag", "tie", "suitcase", "frisbee", "skis", "snowboard", "sports ball", "kite", "baseball bat", "baseball glove", "skateboard", "surfboard", "tennis racket", "bottle", "wine glass", "cup", "fork", "knife", "spoon", "bowl", "banana", "apple", "sandwich", "orange", "broccoli", "carrot", "hot dog", "pizza", "donut", "cake", "chair", "couch", "potted plant", "bed", "dining table", "toilet", "tv", "laptop", "mouse", "remote", "keyboard", "cell phone", "microwave", "oven", "toaster", "sink", "refrigerator", "book", "clock", "vase", "scissors", "teddy bear", "hair drier", "toothbrush"];
347
+ //#endregion
348
+ //#region src/model/model-store.d.ts
349
+ type ModelDownloadStatus = "pending" | "downloading" | "ready" | "error";
350
+ interface VisionModelStoreOptions {
351
+ readonly modelsDir?: string;
352
+ /**
353
+ * Mirror origin: models are fetched from `<baseUrl>/<filename>` instead of their pinned
354
+ * Hugging Face URLs. Defaults to `$FRAMEFIELDS_MODELS_BASE_URL` when set.
355
+ */
356
+ readonly baseUrl?: string;
357
+ readonly timeoutMs?: number;
358
+ /** Extra attempts after a network error, HTTP 429 or 5xx. Default 2. */
359
+ readonly retries?: number;
360
+ /** Base backoff between attempts (doubles each retry). Default 1000 ms. */
361
+ readonly retryDelayMs?: number;
362
+ /**
363
+ * Verify byte size + SHA-256 against the registry (default true). Only offline tests
364
+ * that serve fake bytes should turn this off.
365
+ */
366
+ readonly verify?: boolean;
367
+ /** Injectable fetch — offline unit tests inject a mock. */
368
+ readonly fetchImpl?: typeof fetch;
369
+ readonly onProgress?: (key: VisionModelKey, bytesLoaded: number, totalBytes: number) => void;
370
+ }
371
+ /**
372
+ * Resolves the default model cache directory:
373
+ * 1. `FRAMEFIELDS_MODELS_DIR`
374
+ * 2. `~/.cache/framefields/models`
375
+ */
376
+
377
+ /**
378
+ * Lazy model store. The constructor performs ZERO I/O; the only entry that can hit the
379
+ * network is `ensure(key)`, called by an inference function the first time it runs.
380
+ * Concurrent callers of the same key share a single in-flight download (promise dedupe),
381
+ * downloads are written atomically (temp + rename), and verified files on disk are reused
382
+ * across processes.
383
+ */
384
+ declare class VisionModelStore {
385
+ private readonly _modelsDir;
386
+ private readonly _baseUrl?;
387
+ private readonly _timeoutMs?;
388
+ private readonly _retries;
389
+ private readonly _retryDelayMs;
390
+ private readonly _verify;
391
+ private readonly _fetch;
392
+ private readonly _onProgress?;
393
+ private _inflight;
394
+ private _buffers;
395
+ private _status;
396
+ constructor(options?: VisionModelStoreOptions);
397
+ get modelsDir(): string;
398
+ pathFor(key: VisionModelKey): string;
399
+ descriptor(key: VisionModelKey): VisionModelDescriptor;
400
+ /** The URL `ensure(key)` downloads from (mirror when `baseUrl` is set). */
401
+ urlFor(key: VisionModelKey): string;
402
+ /** True when a complete cached file exists (exact registry size when verifying). */
403
+ has(key: VisionModelKey): boolean;
404
+ /** Drops a cached model (file + memory) so the next `ensure` re-downloads it. */
405
+ evict(key: VisionModelKey): Promise<void>;
406
+ status(key: VisionModelKey): ModelDownloadStatus;
407
+ /** Snapshot of every tracked model's status (empty until anything is fetched). */
408
+ statuses(): ReadonlyMap<VisionModelKey, ModelDownloadStatus>;
409
+ /** True when the model is resident in memory (loaded or downloaded this process). */
410
+ isLoaded(key: VisionModelKey): boolean;
411
+ /**
412
+ * THE only download entry point. Returns the model bytes from memory (cached),
413
+ * loading from disk or fetching from the registry URL as needed.
414
+ */
415
+ ensure(key: VisionModelKey): Promise<Uint8Array>;
416
+ /** Explicit warm-up — fetch multiple models ahead of use (agents, renderers). */
417
+ preload(keys: readonly VisionModelKey[]): Promise<void>;
418
+ private load;
419
+ /** Fetches with retries on transient failures (network errors, HTTP 429/5xx). */
420
+ private download;
421
+ private verifyBytes;
422
+ private readBuffer;
423
+ /** Drops in-memory buffers (model stays on disk for the next run). */
424
+ clearMemoryCache(): void;
425
+ }
426
+ //#endregion
427
+ //#region src/runtime/session-provider.d.ts
428
+ /**
429
+ * Minimal ONNX Runtime surface — isolates the ORT API to exactly two files so the decode
430
+ * and signals layers never touch it. Node path uses onnxruntime-node (CPU EP); the web
431
+ * entry can swap in a WebGPU-backed provider with the same interface.
432
+ */
433
+ /** Model output tensor. Integer outputs (e.g. RTMDet-Ins `labels`) arrive as BigInt64Array. */
434
+ interface VisionTensor {
435
+ readonly data: Float32Array | BigInt64Array | Int32Array;
436
+ readonly dims: readonly number[];
437
+ }
438
+ interface VisionTensorInput {
439
+ readonly name: string;
440
+ readonly data: Float32Array;
441
+ readonly dims: readonly number[];
442
+ }
443
+ type VisionTensorOutputs = Readonly<Record<string, VisionTensor>>;
444
+ interface VisionSession {
445
+ run(input: VisionTensorInput): Promise<VisionTensorOutputs>;
446
+ release(): void;
447
+ }
448
+ interface SessionProvider {
449
+ readonly kind: "node" | "webgpu";
450
+ createSession(modelBytes: Uint8Array): Promise<VisionSession>;
451
+ }
452
+ /**
453
+ * Sets the provider runners use when none is passed, for hosts that create
454
+ * runners indirectly (e.g. a browser player rendering vision nodes). `undefined`
455
+ * restores the default, onnxruntime-node.
456
+ */
457
+
458
+ declare namespace types_d_exports {
459
+ export { InstanceMask, LandmarkCoordinateSignals, ObjectAnchorName, PersonMatte, PinToLandmarkOptions, PinToObjectOptions, PoseKeypoint, PosePerson, PoseResult, SegmentationResult, VisionAnalysisClassSummary, VisionAnalysisReport, VisionAnalysisTrackSummary, VisionImageInput, VisionInputSource, VisionSummary };
460
+ }
461
+ type VisionInputSource = string | {
462
+ inputHandleId?: string;
463
+ id?: string;
464
+ [key: string]: unknown;
465
+ };
466
+ /** RGBA pixel buffer accepted by the runner. */
467
+ interface VisionImageInput {
468
+ readonly data: Uint8ClampedArray | Uint8Array;
469
+ readonly width: number;
470
+ readonly height: number;
471
+ }
472
+ /** Instance segmentation mask aligned to the ORIGINAL source frame. */
473
+ interface InstanceMask {
474
+ readonly category: string;
475
+ readonly mask: Uint8Array;
476
+ readonly width: number;
477
+ readonly height: number;
478
+ readonly area: number;
479
+ readonly coverage: number;
480
+ /** Index of the detection this mask belongs to (see segmentation result detections). */
481
+ readonly detectionIndex: number;
482
+ /** Assigned by the caller (renderer) after temporal tracking — matches TrackedObject.trackId. */
483
+ readonly trackId?: number;
484
+ }
485
+ interface SegmentationResult {
486
+ readonly detections: readonly DetectedObject[];
487
+ readonly masks: readonly InstanceMask[];
488
+ }
489
+ /** Person-vs-background alpha (Selfie Segmenter), aligned to the ORIGINAL source frame. */
490
+ interface PersonMatte {
491
+ readonly mask: Uint8Array;
492
+ readonly width: number;
493
+ readonly height: number;
494
+ readonly coverage: number;
495
+ }
496
+ interface PoseKeypoint {
497
+ readonly x: number;
498
+ readonly y: number;
499
+ readonly visibility: number;
500
+ }
501
+ interface PosePerson {
502
+ readonly score: number;
503
+ readonly boundingBox: ObjectBoundingBox;
504
+ /** 17 keypoints in COCO-17 order (see COCO17_KEYPOINTS). */
505
+ readonly keypoints: readonly PoseKeypoint[];
506
+ readonly trackId?: number;
507
+ }
508
+ interface PoseResult {
509
+ readonly people: readonly PosePerson[];
510
+ }
511
+ /**
512
+ * Deterministic, serializable snapshot of one frame's signals.
513
+ * Built synchronously from the per-frame caches, so it is safe to call inside a frame hook.
514
+ */
515
+ interface VisionSummary {
516
+ readonly frame: number;
517
+ readonly objects: ReadonlyArray<{
518
+ readonly trackId: number;
519
+ readonly category: string;
520
+ readonly score: number;
521
+ /** Source-space pixel center, `[x, y]`. */
522
+ readonly center: readonly [number, number];
523
+ readonly speed: number;
524
+ readonly active: boolean;
525
+ }>;
526
+ readonly classes: readonly string[];
527
+ /** Per-class instance count for the frame (only non-zero classes present). */
528
+ readonly masks: Readonly<Record<string, number>>;
529
+ }
530
+ /** Per-track aggregate in an analysis report. */
531
+ interface VisionAnalysisTrackSummary {
532
+ readonly trackId: number;
533
+ readonly category: string;
534
+ /** Inclusive frame range the track was active over, `[start, end]`. */
535
+ readonly frames: readonly [number, number];
536
+ readonly speedMeanPxS: number;
537
+ /** Center path sampled every `pathStride` frames, `[x, y]` pairs. */
538
+ readonly centerPath: ReadonlyArray<readonly [number, number]>;
539
+ }
540
+ interface VisionAnalysisClassSummary {
541
+ readonly framesPresent: number;
542
+ readonly totalFrames: number;
543
+ readonly maxConfidence: number;
544
+ readonly tracks: number;
545
+ }
546
+ interface VisionAnalysisReport {
547
+ readonly source: string;
548
+ readonly totalFrames: number;
549
+ readonly fps: number;
550
+ readonly durationSec: number;
551
+ readonly tasks: readonly string[];
552
+ /** What was fetched, and how long it took — surfaced so agents can budget cold starts. */
553
+ readonly modelDownloads: Readonly<Record<string, {
554
+ readonly bytes: number;
555
+ readonly ms: number;
556
+ }>>;
557
+ readonly inferenceMs: number;
558
+ readonly trackCount: number;
559
+ readonly classes: Readonly<Record<string, VisionAnalysisClassSummary>>;
560
+ readonly tracks: readonly VisionAnalysisTrackSummary[];
561
+ readonly masks: Readonly<Record<string, {
562
+ readonly meanCoverage: number;
563
+ }>>;
564
+ }
565
+ interface PinToLandmarkOptions {
566
+ readonly offsetX?: number;
567
+ readonly offsetY?: number;
568
+ readonly offsetZ?: number;
569
+ readonly trackRotation?: boolean;
570
+ readonly scaleWithPerspective?: boolean;
571
+ }
572
+ interface LandmarkCoordinateSignals {
573
+ readonly x: ProgrammaticSignal;
574
+ readonly y: ProgrammaticSignal;
575
+ readonly z: ProgrammaticSignal;
576
+ readonly screenX: ProgrammaticSignal;
577
+ readonly screenY: ProgrammaticSignal;
578
+ }
579
+ type ObjectAnchorName = "center" | "topCenter" | "bottomCenter" | "topLeft" | "topRight" | "centerLeft" | "centerRight" | "bottomLeft" | "bottomRight";
580
+ interface PinToObjectOptions extends PinToLandmarkOptions {
581
+ readonly anchor?: ObjectAnchorName;
582
+ readonly matchWidth?: boolean;
583
+ readonly matchHeight?: boolean;
584
+ readonly smoothFrames?: number;
585
+ readonly hideWhenLost?: boolean;
586
+ }
587
+ //#endregion
588
+ //#region src/runner/vision-runner.d.ts
589
+ interface VisionRunnerOptions {
590
+ /** Model size for detect/segment/pose. Default "s". */
591
+ readonly variant?: VisionVariant;
592
+ /** Minimum detection / person score, 0..1. Default 0.3. */
593
+ readonly confidence?: number;
594
+ /** COCO class-name filter for detect/segment (all classes when omitted). */
595
+ readonly classes?: readonly string[];
596
+ readonly maskThreshold?: number;
597
+ readonly featherRadius?: number;
598
+ readonly modelsDir?: string;
599
+ /** Mirror origin for model downloads (see VisionModelStore). */
600
+ readonly baseUrl?: string;
601
+ readonly timeoutMs?: number;
602
+ /** Session backend. Default: onnxruntime-node (CPU). Browser: `createWebGPUProvider()`. */
603
+ readonly provider?: SessionProvider;
604
+ /** Inject a model store (tests, shared caches). Overrides modelsDir/baseUrl/timeoutMs. */
605
+ readonly store?: VisionModelStore;
606
+ readonly onProgress?: (key: VisionModelKey, bytesLoaded: number, totalBytes: number) => void;
607
+ }
608
+ /**
609
+ * Lazy vision runner.
610
+ *
611
+ * `create()` performs ZERO I/O: no downloads, no sessions. Each inference method downloads
612
+ * its model and warms its session on FIRST USE ONLY, then reuses them for the process
613
+ * lifetime. `detect()` and `segment()` share one RTMDet-Ins forward pass per frame.
614
+ * Call `close()` to release sessions.
615
+ */
616
+ declare class VisionRunner {
617
+ readonly variant: VisionVariant;
618
+ readonly confidence: number;
619
+ readonly classes?: readonly string[];
620
+ readonly maskThreshold: number;
621
+ readonly featherRadius?: number;
622
+ private readonly _store;
623
+ private readonly _provider;
624
+ private readonly _sessions;
625
+ private readonly _tensorScratch;
626
+ /** One RTMDet-Ins pass per frame buffer, shared by detect() and segment(). */
627
+ private _instancePass?;
628
+ private constructor();
629
+ /** Cheap: no downloads, no sessions, no side effects. */
630
+ static create(options?: VisionRunnerOptions): VisionRunner;
631
+ get modelsDir(): string;
632
+ /** Every registry model keyed to its current download state (downloaded → "ready"). */
633
+ get downloadStatus(): ReadonlyMap<VisionModelKey, ModelDownloadStatus>;
634
+ /** The model serving `task` (matte depends on frame aspect; defaults to square). */
635
+ modelKeyFor(task: VisionTask, aspect?: number): VisionModelKey;
636
+ /**
637
+ * Explicit warm-up: downloads + sessions for the given tasks, ahead of first use.
638
+ * `matte` warms both aspect variants (the frame aspect is unknown until inference).
639
+ */
640
+ preload(tasks?: readonly VisionTask[]): Promise<void>;
641
+ /** COCO-80 boxes (sorted by score, source pixels). Masks are not decoded. */
642
+ detect(image: VisionImageInput): Promise<readonly DetectedObject[]>;
643
+ /** COCO-80 boxes plus a frame-aligned soft mask per instance. */
644
+ segment(image: VisionImageInput): Promise<SegmentationResult>;
645
+ /** COCO-17 keypoints per person (source pixels), highest score first. */
646
+ pose(image: VisionImageInput): Promise<PoseResult>;
647
+ /** Person-vs-background alpha for the whole frame (Selfie Segmenter). */
648
+ matte(image: VisionImageInput): Promise<PersonMatte>;
649
+ close(): void;
650
+ private instancePass;
651
+ private instanceDecodeOptions;
652
+ private infer;
653
+ private session;
654
+ }
655
+ //#endregion
656
+ //#region src/analysis/analyze-sequence.d.ts
657
+ /**
658
+ * One-shot, ffmpeg-free sequence analysis.
659
+ *
660
+ * Pure frame-iterable analyzer: it never decodes media itself, so it stays engine-only and
661
+ * offline-testable. Callers (e.g. the framefields ingestion adapter) supply decoded frames.
662
+ * Model loading remains lazy — the runner downloads each task's model on the first frame
663
+ * that actually runs that task, and only the tasks requested here are ever touched.
664
+ */
665
+ interface AnalyzeSequenceOptions {
666
+ readonly runner: VisionRunner;
667
+ /** Label for the report ("clip.mp4" or similar). Defaults to "frames". */
668
+ readonly source?: string;
669
+ readonly fps?: number;
670
+ /** Tasks to run. Defaults to `["detect"]`. Only these models are ever downloaded. */
671
+ readonly tasks?: readonly VisionTask[];
672
+ /** Restrict class summaries to these categories (all when omitted). */
673
+ readonly categories?: readonly string[];
674
+ /** Tracker box-association IoU. Default 0.25. */
675
+ readonly iouThreshold?: number;
676
+ readonly maxMissedFrames?: number;
677
+ /** Sample the per-track center path every N frames. Default: ~50 points across the clip. */
678
+ readonly pathStride?: number;
679
+ /** Also aggregate instance-mask coverage (requires the `segment` task). Default false. */
680
+ readonly includeMasks?: boolean;
681
+ }
682
+ declare function analyzeSequence(frames: AsyncIterable<VisionImageInput> | Iterable<VisionImageInput>, options: AnalyzeSequenceOptions): Promise<VisionAnalysisReport>;
683
+ //#endregion
684
+ //#region src/decode/preprocess.d.ts
685
+ /**
686
+ * Image → NCHW float tensor preprocessing, plus the inverse mapping back to source pixels.
687
+ *
688
+ * Each model family was exported with its own preprocessing contract:
689
+ *
690
+ * | Model | Resize | Pad | Channels | Values |
691
+ * | ----------- | ---------------------------- | ---- | -------- | -------------------------- |
692
+ * | RTMDet-Ins | keep ratio, content top-left | 114 | BGR | (v − mean) / std (ImageNet) |
693
+ * | RTMO | keep ratio, content centered | 114 | BGR | raw 0..255 |
694
+ * | Selfie | stretch to input | — | RGB | v / 255 |
695
+ *
696
+ * Getting any of these wrong does not crash — it silently degrades accuracy — so the specs
697
+ * live here and every runner path goes through `imageToTensor`. Input sizes differ per model
698
+ * (RTMO-t is 416², the rest of RTMO 640²), so they come from the registry, never from here.
699
+ */
700
+
701
+ //#endregion
702
+ //#region src/gpu/pose-skeleton-renderer.d.ts
703
+ /**
704
+ * WebGPU skeleton renderer for pose results.
705
+ *
706
+ * Rasterizes the primary person's COCO-17 keypoints into an OpenPose-style
707
+ * conditioning texture natively in VRAM, using the COCO-17 bone set.
708
+ */
709
+ declare class PoseSkeletonRenderer {
710
+ private pipeline;
711
+ constructor(device: GPUDevice);
712
+ renderToTexture(keypoints: readonly PoseKeypoint[], options: PoseSkeletonOptions, bones?: readonly [{
713
+ readonly from: 0;
714
+ readonly to: 5;
715
+ readonly color: readonly [0, 1, 1, 1];
716
+ }, {
717
+ readonly from: 0;
718
+ readonly to: 6;
719
+ readonly color: readonly [0, 1, 1, 1];
720
+ }, {
721
+ readonly from: 5;
722
+ readonly to: 6;
723
+ readonly color: readonly [1, 0, 0, 1];
724
+ }, {
725
+ readonly from: 5;
726
+ readonly to: 7;
727
+ readonly color: readonly [1, 0.333, 0, 1];
728
+ }, {
729
+ readonly from: 7;
730
+ readonly to: 9;
731
+ readonly color: readonly [1, 0.667, 0, 1];
732
+ }, {
733
+ readonly from: 6;
734
+ readonly to: 8;
735
+ readonly color: readonly [1, 1, 0, 1];
736
+ }, {
737
+ readonly from: 8;
738
+ readonly to: 10;
739
+ readonly color: readonly [0.667, 1, 0, 1];
740
+ }, {
741
+ readonly from: 5;
742
+ readonly to: 11;
743
+ readonly color: readonly [0.333, 1, 0, 1];
744
+ }, {
745
+ readonly from: 6;
746
+ readonly to: 12;
747
+ readonly color: readonly [0, 1, 0, 1];
748
+ }, {
749
+ readonly from: 11;
750
+ readonly to: 12;
751
+ readonly color: readonly [0, 1, 0.333, 1];
752
+ }, {
753
+ readonly from: 11;
754
+ readonly to: 13;
755
+ readonly color: readonly [0, 1, 0.667, 1];
756
+ }, {
757
+ readonly from: 13;
758
+ readonly to: 15;
759
+ readonly color: readonly [0, 1, 1, 1];
760
+ }, {
761
+ readonly from: 12;
762
+ readonly to: 14;
763
+ readonly color: readonly [0, 0.667, 1, 1];
764
+ }, {
765
+ readonly from: 14;
766
+ readonly to: 16;
767
+ readonly color: readonly [0, 0.333, 1, 1];
768
+ }]): GPUTexture;
769
+ destroy(): void;
770
+ }
771
+ //#endregion
772
+ //#region src/gpu/segmentation-texture-pool.d.ts
773
+ interface SegmentationTextureOptions {
774
+ readonly width: number;
775
+ readonly height: number;
776
+ readonly format?: "r8unorm" | "rgba8unorm";
777
+ readonly label?: string;
778
+ }
779
+ declare class SegmentationTexturePool {
780
+ private device;
781
+ private pool;
782
+ constructor(device: GPUDevice);
783
+ getOrCreateTexture(key: string, options: SegmentationTextureOptions): GPUTexture;
784
+ uploadMask(key: string, maskData: Uint8Array | Float32Array, width: number, height: number): GPUTexture;
785
+ destroy(): void;
786
+ }
787
+ //#endregion
788
+ //#region src/pose/keypoints.d.ts
789
+ /** COCO-17 keypoint indices (RTMO output order). */
790
+ declare const COCO17_KEYPOINTS: {
791
+ readonly NOSE: 0;
792
+ readonly LEFT_EYE: 1;
793
+ readonly RIGHT_EYE: 2;
794
+ readonly LEFT_EAR: 3;
795
+ readonly RIGHT_EAR: 4;
796
+ readonly LEFT_SHOULDER: 5;
797
+ readonly RIGHT_SHOULDER: 6;
798
+ readonly LEFT_ELBOW: 7;
799
+ readonly RIGHT_ELBOW: 8;
800
+ readonly LEFT_WRIST: 9;
801
+ readonly RIGHT_WRIST: 10;
802
+ readonly LEFT_HIP: 11;
803
+ readonly RIGHT_HIP: 12;
804
+ readonly LEFT_KNEE: 13;
805
+ readonly RIGHT_KNEE: 14;
806
+ readonly LEFT_ANKLE: 15;
807
+ readonly RIGHT_ANKLE: 16;
808
+ };
809
+ declare const COCO17_KEYPOINT_NAMES: readonly ["nose", "leftEye", "rightEye", "leftEar", "rightEar", "leftShoulder", "rightShoulder", "leftElbow", "rightElbow", "leftWrist", "rightWrist", "leftHip", "rightHip", "leftKnee", "rightKnee", "leftAnkle", "rightAnkle"];
810
+ /** COCO-17 skeleton bones for the WebGPU skeleton renderer (indices above). */
811
+ declare const COCO17_BONES: readonly [{
812
+ readonly from: 0;
813
+ readonly to: 5;
814
+ readonly color: readonly [0, 1, 1, 1];
815
+ }, {
816
+ readonly from: 0;
817
+ readonly to: 6;
818
+ readonly color: readonly [0, 1, 1, 1];
819
+ }, {
820
+ readonly from: 5;
821
+ readonly to: 6;
822
+ readonly color: readonly [1, 0, 0, 1];
823
+ }, {
824
+ readonly from: 5;
825
+ readonly to: 7;
826
+ readonly color: readonly [1, 0.333, 0, 1];
827
+ }, {
828
+ readonly from: 7;
829
+ readonly to: 9;
830
+ readonly color: readonly [1, 0.667, 0, 1];
831
+ }, {
832
+ readonly from: 6;
833
+ readonly to: 8;
834
+ readonly color: readonly [1, 1, 0, 1];
835
+ }, {
836
+ readonly from: 8;
837
+ readonly to: 10;
838
+ readonly color: readonly [0.667, 1, 0, 1];
839
+ }, {
840
+ readonly from: 5;
841
+ readonly to: 11;
842
+ readonly color: readonly [0.333, 1, 0, 1];
843
+ }, {
844
+ readonly from: 6;
845
+ readonly to: 12;
846
+ readonly color: readonly [0, 1, 0, 1];
847
+ }, {
848
+ readonly from: 11;
849
+ readonly to: 12;
850
+ readonly color: readonly [0, 1, 0.333, 1];
851
+ }, {
852
+ readonly from: 11;
853
+ readonly to: 13;
854
+ readonly color: readonly [0, 1, 0.667, 1];
855
+ }, {
856
+ readonly from: 13;
857
+ readonly to: 15;
858
+ readonly color: readonly [0, 1, 1, 1];
859
+ }, {
860
+ readonly from: 12;
861
+ readonly to: 14;
862
+ readonly color: readonly [0, 0.667, 1, 1];
863
+ }, {
864
+ readonly from: 14;
865
+ readonly to: 16;
866
+ readonly color: readonly [0, 0.333, 1, 1];
867
+ }];
868
+ //#endregion
869
+ //#region src/runner/canonical-baselines.d.ts
870
+ /** Neutral fallbacks so signal evaluators always have a well-formed frame to read. */
871
+
872
+ //#endregion
873
+ //#region src/signals/vision-bundle.d.ts
874
+ interface VisionBundleOptions {
875
+ readonly totalFrames?: number;
876
+ readonly fps?: number;
877
+ readonly width?: number;
878
+ readonly height?: number;
879
+ readonly cameraFov?: number;
880
+ readonly config?: types_d_exports.VisionConfig;
881
+ }
882
+ /** Named pose landmarks (COCO-17) plus numeric proxy access to any of the 17 keypoints. */
883
+ interface PoseLandmarkSignals {
884
+ readonly shoulder: LandmarkCoordinateSignals;
885
+ readonly leftShoulder: LandmarkCoordinateSignals;
886
+ readonly rightShoulder: LandmarkCoordinateSignals;
887
+ readonly leftElbow: LandmarkCoordinateSignals;
888
+ readonly rightElbow: LandmarkCoordinateSignals;
889
+ readonly leftWrist: LandmarkCoordinateSignals;
890
+ readonly rightWrist: LandmarkCoordinateSignals;
891
+ readonly leftHip: LandmarkCoordinateSignals;
892
+ readonly rightHip: LandmarkCoordinateSignals;
893
+ readonly leftKnee: LandmarkCoordinateSignals;
894
+ readonly rightKnee: LandmarkCoordinateSignals;
895
+ readonly leftAnkle: LandmarkCoordinateSignals;
896
+ readonly rightAnkle: LandmarkCoordinateSignals;
897
+ readonly nose: LandmarkCoordinateSignals;
898
+ readonly leftEye: LandmarkCoordinateSignals;
899
+ readonly rightEye: LandmarkCoordinateSignals;
900
+ readonly leftEar: LandmarkCoordinateSignals;
901
+ readonly rightEar: LandmarkCoordinateSignals;
902
+ get(keypointIndex: number): LandmarkCoordinateSignals;
903
+ }
904
+ interface TrackPoseSignals extends PoseLandmarkSignals {
905
+ readonly hasPose: ProgrammaticSignal;
906
+ readonly wristSpeed: ProgrammaticSignal;
907
+ readonly handRaised: ProgrammaticSignal;
908
+ readonly bodyTiltAngle: ProgrammaticSignal;
909
+ }
910
+ interface ObjectBoundingBoxSignals {
911
+ readonly x: ProgrammaticSignal;
912
+ readonly y: ProgrammaticSignal;
913
+ readonly width: ProgrammaticSignal;
914
+ readonly height: ProgrammaticSignal;
915
+ readonly screenX: ProgrammaticSignal;
916
+ readonly screenY: ProgrammaticSignal;
917
+ readonly screenWidth: ProgrammaticSignal;
918
+ readonly screenHeight: ProgrammaticSignal;
919
+ readonly aspectRatio: ProgrammaticSignal;
920
+ readonly area: ProgrammaticSignal;
921
+ }
922
+ interface ObjectAnchorsSignals {
923
+ readonly topLeft: LandmarkCoordinateSignals;
924
+ readonly topCenter: LandmarkCoordinateSignals;
925
+ readonly topRight: LandmarkCoordinateSignals;
926
+ readonly centerLeft: LandmarkCoordinateSignals;
927
+ readonly center: LandmarkCoordinateSignals;
928
+ readonly centerRight: LandmarkCoordinateSignals;
929
+ readonly bottomLeft: LandmarkCoordinateSignals;
930
+ readonly bottomCenter: LandmarkCoordinateSignals;
931
+ readonly bottomRight: LandmarkCoordinateSignals;
932
+ }
933
+ interface ObjectKinematicsSignals {
934
+ readonly vx: ProgrammaticSignal;
935
+ readonly vy: ProgrammaticSignal;
936
+ readonly speed: ProgrammaticSignal;
937
+ readonly acceleration: ProgrammaticSignal;
938
+ readonly headingRad: ProgrammaticSignal;
939
+ readonly headingDeg: ProgrammaticSignal;
940
+ }
941
+ interface ObjectTrackSignals {
942
+ readonly trackId: number;
943
+ readonly category: string;
944
+ readonly bounds: ObjectBoundingBoxSignals;
945
+ readonly anchors: ObjectAnchorsSignals;
946
+ readonly kinematics: ObjectKinematicsSignals;
947
+ readonly confidence: ProgrammaticSignal;
948
+ readonly active: ProgrammaticSignal;
949
+ readonly isCoasting: ProgrammaticSignal;
950
+ readonly age: ProgrammaticSignal;
951
+ readonly pose: TrackPoseSignals;
952
+ readonly center: LandmarkCoordinateSignals;
953
+ readonly topCenter: LandmarkCoordinateSignals;
954
+ readonly bottomCenter: LandmarkCoordinateSignals;
955
+ readonly topLeft: LandmarkCoordinateSignals;
956
+ readonly bottomLeft: LandmarkCoordinateSignals;
957
+ readonly [key: string]: unknown;
958
+ }
959
+ interface MaskTrackSignals {
960
+ readonly trackId: number;
961
+ readonly category: string;
962
+ readonly area: ProgrammaticSignal;
963
+ readonly coverage: ProgrammaticSignal;
964
+ readonly solidity: ProgrammaticSignal;
965
+ readonly bboxFill: ProgrammaticSignal;
966
+ /** Frame-sized {0,255} mask for the current frame (renderer-populated). */
967
+ data?: Uint8Array;
968
+ /** GPU-resident silhouette texture (renderer-populated via SegmentationTexturePool). */
969
+ texture?: GPUTexture;
970
+ }
971
+ interface MaskCollectionSignals {
972
+ get(trackId: number): MaskTrackSignals;
973
+ /** Largest instance of the current frame (person preferred when present). */
974
+ readonly subject: MaskTrackSignals;
975
+ readonly count: ProgrammaticSignal;
976
+ }
977
+ interface SegmentationSignals {
978
+ readonly humanSilhouette: MaskTrackSignals;
979
+ readonly subject: MaskTrackSignals;
980
+ readonly instanceMasks: MaskCollectionSignals;
981
+ /** Person-vs-background alpha from the Selfie Segmenter (`enableMatte`). */
982
+ readonly matte: PersonMatteSignals;
983
+ readonly stencilTexture?: GPUTexture;
984
+ }
985
+ interface PersonMatteSignals {
986
+ /** Mean person alpha over the frame, 0..1 (0 when no matte has run). */
987
+ readonly coverage: ProgrammaticSignal;
988
+ /** Frame-sized 0..255 alpha for the given frame, if a matte has run. */
989
+ at(frame: number): PersonMatte | undefined;
990
+ }
991
+ interface ClassSignals {
992
+ readonly count: ProgrammaticSignal;
993
+ readonly maxConfidence: ProgrammaticSignal;
994
+ readonly present: ProgrammaticSignal;
995
+ readonly primary: ObjectTrackSignals;
996
+ }
997
+ interface ClassCollectionSignals {
998
+ /** Cached per-class signals (stable identity). */
999
+ get(name: string): ClassSignals;
1000
+ /** Sorted active category names for the current frame. */
1001
+ readonly names: readonly string[];
1002
+ readonly histogram: {
1003
+ get(ctx?: FrameContext): TensorData;
1004
+ readonly value: TensorData;
1005
+ };
1006
+ }
1007
+ interface ObjectCollectionSignals {
1008
+ get(trackId: number): ObjectTrackSignals;
1009
+ byCategory(category: string, rank?: number): ObjectTrackSignals;
1010
+ readonly primary: ObjectTrackSignals;
1011
+ readonly count: ProgrammaticSignal;
1012
+ hasCategory(category: string): ProgrammaticSignal;
1013
+ getActiveTracks(frame: number): readonly TrackedObject[];
1014
+ readonly detectedCategories: readonly string[];
1015
+ }
1016
+ declare class VisionBundle {
1017
+ readonly objects: ObjectCollectionSignals;
1018
+ readonly poseLandmarks: PoseLandmarkSignals;
1019
+ readonly masks: MaskCollectionSignals;
1020
+ readonly segmentation: SegmentationSignals;
1021
+ readonly classes: ClassCollectionSignals;
1022
+ readonly poseLandmarksTensor: {
1023
+ get(ctx?: FrameContext): TensorData;
1024
+ readonly value: TensorData;
1025
+ };
1026
+ readonly objectsTensor: {
1027
+ get(ctx?: FrameContext): TensorData;
1028
+ readonly value: TensorData;
1029
+ };
1030
+ readonly masksTensor: {
1031
+ get(ctx?: FrameContext): TensorData;
1032
+ readonly value: TensorData;
1033
+ };
1034
+ /** Per-class detection histogram [nc] — top-level convenience mirror of `classes.histogram`. */
1035
+ readonly histogramTensor: {
1036
+ get(ctx?: FrameContext): TensorData;
1037
+ readonly value: TensorData;
1038
+ };
1039
+ private _totalFrames;
1040
+ private _fps;
1041
+ private _width;
1042
+ private _height;
1043
+ private _transformer;
1044
+ private _stencilTexture?;
1045
+ private _poseCache;
1046
+ private _objectCache;
1047
+ private _maskCache;
1048
+ private _matteCache;
1049
+ private _poseLmCache;
1050
+ private _trackCache;
1051
+ private _categoryCache;
1052
+ private _classCache;
1053
+ private _maskTrackCache;
1054
+ private _registeredSignals;
1055
+ constructor(options?: VisionBundleOptions);
1056
+ setStencilTexture(texture: GPUTexture): void;
1057
+ get stencilTexture(): GPUTexture | undefined;
1058
+ /**
1059
+ * Reads the most recent result at or before `frame`. Vision results are written one
1060
+ * frame behind the plate (the node renderer reads back the previous frame to infer),
1061
+ * and pinned-signal layout runs before the current frame's inference, so a strict
1062
+ * per-frame lookup would always miss. Walking back a few frames keeps signals live at
1063
+ * a stable one-frame lag instead of snapping to neutral defaults.
1064
+ */
1065
+ private latestAtOrBefore;
1066
+ invalidateSignals(): void;
1067
+ setPoseResult(frame: number, result: PoseResult): void;
1068
+ getPoseResult(frame: number): PoseResult;
1069
+ setObjectResult(frame: number, result: {
1070
+ objects: readonly TrackedObject[];
1071
+ rawDetections?: readonly DetectedObject[];
1072
+ } | readonly TrackedObject[]): void;
1073
+ getObjectResult(frame: number): {
1074
+ objects: readonly TrackedObject[];
1075
+ rawDetections: readonly DetectedObject[];
1076
+ };
1077
+ setMaskResult(frame: number, masks: readonly InstanceMask[]): void;
1078
+ getMaskResult(frame: number): readonly InstanceMask[];
1079
+ setMatteResult(frame: number, matte: PersonMatte): void;
1080
+ getMatteResult(frame: number): PersonMatte | undefined;
1081
+ /**
1082
+ * Serializable snapshot of one frame's object / class / mask signals.
1083
+ * Synchronous — reads only the per-frame caches, never triggers inference.
1084
+ */
1085
+ summary(frame?: number): VisionSummary;
1086
+ /** Primary person's 17 keypoints as a [17, 3] float32 tensor. */
1087
+ getPoseLandmarksTensor(frame: number): TensorData;
1088
+ /** Up to 16 active tracks as [16, 8]: [active, categoryHash, x, y, w, h, vx, vy]. */
1089
+ getObjectsTensor(frame: number, maxObjects?: number): TensorData;
1090
+ /** Per-mask coverage + solidity as [16, 2]. */
1091
+ getMasksTensor(frame: number, maxMasks?: number): TensorData;
1092
+ /** Per-class detection histogram for the frame as [nc] float32 (COCO 80 by default). */
1093
+ getClassHistogramTensor(frame: number, nc?: number): TensorData;
1094
+ private clamp;
1095
+ }
1096
+ //#endregion
1097
+ //#region src/spatial/camera-space-transformer.d.ts
1098
+ interface Camera3DSpec {
1099
+ readonly width: number;
1100
+ readonly height: number;
1101
+ readonly fov?: number;
1102
+ readonly cameraDistance?: number;
1103
+ }
1104
+ interface ProjectedScreenCoordinate {
1105
+ readonly x: number;
1106
+ readonly y: number;
1107
+ readonly z: number;
1108
+ readonly scale: number;
1109
+ }
1110
+ declare class SpatialLandmarkTransformer {
1111
+ private width;
1112
+ private height;
1113
+ private fovRad;
1114
+ private focalDistance;
1115
+ constructor(camera: Camera3DSpec);
1116
+ /**
1117
+ * Projects a normalized landmark [0, 1] into 2D/3D canvas coordinates.
1118
+ */
1119
+ projectNormalizedLandmark(landmark: Landmark3D, offsetZ?: number): ProjectedScreenCoordinate;
1120
+ /**
1121
+ * Projects a metric world landmark [X_w, Y_w, Z_w] in meters into canvas space.
1122
+ */
1123
+ projectWorldLandmark(worldLandmark: Landmark3D, subjectDistanceMeters?: number, scaleMetersToPixels?: number): ProjectedScreenCoordinate;
1124
+ }
1125
+ //#endregion
1126
+ //#region src/spatial/spatial-pin.d.ts
1127
+ declare function pinNodeToLandmark<T extends {
1128
+ x?: unknown;
1129
+ y?: unknown;
1130
+ z?: unknown;
1131
+ [key: string]: unknown;
1132
+ }>(node: T, target: LandmarkCoordinateSignals | {
1133
+ x: number;
1134
+ y: number;
1135
+ z?: number;
1136
+ screenX?: number;
1137
+ screenY?: number;
1138
+ }, options?: PinToLandmarkOptions): T;
1139
+ declare function pinNodeToObject<T extends {
1140
+ x?: unknown;
1141
+ y?: unknown;
1142
+ z?: unknown;
1143
+ width?: unknown;
1144
+ height?: unknown;
1145
+ opacity?: unknown;
1146
+ [key: string]: unknown;
1147
+ }>(node: T, target: ObjectTrackSignals | LandmarkCoordinateSignals | {
1148
+ x: number;
1149
+ y: number;
1150
+ z?: number;
1151
+ screenX?: number;
1152
+ screenY?: number;
1153
+ }, options?: PinToObjectOptions): T;
1154
+ //#endregion
1155
+ //#region src/tracking/temporal-object-tracker.d.ts
1156
+ interface TemporalTrackerOptions {
1157
+ /** Minimum Intersection-over-Union to associate a detection with an existing track. Default: 0.25 */
1158
+ readonly iouThreshold?: number;
1159
+ /** Number of frames a lost track is coasted via velocity extrapolation before deletion. Default: 15 */
1160
+ readonly maxMissedFrames?: number;
1161
+ /** Minimum consecutive hits before a tentative track is confirmed active. Default: 1 */
1162
+ readonly minHits?: number;
1163
+ /** Position smoothing weight [0, 1] where 1.0 is instantaneous and 0.0 is fully damped. Default: 0.75 */
1164
+ readonly positionSmoothing?: number;
1165
+ /** Whether tracks remain marked active during coasting frames. Default: true */
1166
+ readonly activeDuringCoast?: boolean;
1167
+ }
1168
+ /** Axis-aligned box in any consistent unit (pixels or normalized). */
1169
+
1170
+ declare class TemporalObjectTracker {
1171
+ private _nextTrackId;
1172
+ private _tracks;
1173
+ private _iouThreshold;
1174
+ private _maxMissedFrames;
1175
+ private _minHits;
1176
+ private _positionSmoothing;
1177
+ private _activeDuringCoast;
1178
+ constructor(options?: TemporalTrackerOptions);
1179
+ /**
1180
+ * Updates the multi-object tracker with new detections for the current frame.
1181
+ *
1182
+ * @param detections Raw detections found on the current frame
1183
+ * @param frame Current frame index
1184
+ * @param fps Video framerate (used for physical velocity estimation)
1185
+ * @returns Stable, temporal list of TrackedObjects
1186
+ */
1187
+ update(detections: readonly DetectedObject[], _frame: number, fps?: number): TrackedObject[];
1188
+ /**
1189
+ * Tracks objects across a full sequence of frames with gap interpolation,
1190
+ * boundary extrapolation (ensuring frame 0 through end are tracked),
1191
+ * and temporal Gaussian smoothing.
1192
+ *
1193
+ * Guarantees zero flicker, zero drift, and frame-accurate stability across the entire video.
1194
+ */
1195
+ trackSequence(perFrameDetections: readonly (readonly DetectedObject[])[], totalFrames: number, fps?: number): TrackedObject[][];
1196
+ /**
1197
+ * Resets all internal track state.
1198
+ */
1199
+ reset(): void;
1200
+ }
1201
+ //#endregion
1202
+ //#region src/tracking/pose-track-matcher.d.ts
1203
+
1204
+ //#endregion
1205
+ //#region src/vision-node.d.ts
1206
+ /**
1207
+ * Bundle returned by `VisionNode.attach()`: the reactive signals surface plus the lazy lifecycle
1208
+ * helpers (all zero-I/O until `runner()` really needs a model).
1209
+ */
1210
+ interface VisionAttachedBundle extends VisionBundle {
1211
+ readonly node: VisionNodeSpec;
1212
+ /** Warm the enabled tasks' models/sessions ahead of first use. */
1213
+ ready(): Promise<VisionRunner>;
1214
+ /** Lazily-created runner (downloads happen on first real inference). */
1215
+ runner(): VisionRunner;
1216
+ /** Release this node's runner/sessions. */
1217
+ close(): void;
1218
+ }
1219
+ /**
1220
+ * Vision node.
1221
+ *
1222
+ * LAZY BY CONSTRUCTION: creating a VisionNode performs ZERO I/O — no model downloads, no
1223
+ * sessions, no file probes. The first inference call (or an explicit `await vision.ready()`)
1224
+ * downloads the required models.
1225
+ */
1226
+ declare class VisionNode {
1227
+ readonly id: string;
1228
+ readonly kind: "vision";
1229
+ readonly source: VisionInputSource;
1230
+ readonly config: VisionConfig;
1231
+ readonly vision: VisionBundle;
1232
+ private _runner?;
1233
+ /** Runner construction options (modelsDir, provider, store, …) — injectable for tests/agents. */
1234
+ private readonly _runnerOptions;
1235
+ constructor(source: VisionInputSource, config?: VisionConfig, bundleOptions?: VisionBundleOptions, runnerOptions?: VisionRunnerOptions);
1236
+ /** Lazily-created runner; downloads happen on its first inference. */
1237
+ runner(): VisionRunner;
1238
+ /** Explicit warm-up — downloads the models for the enabled tasks, ahead of first inference. */
1239
+ ready(): Promise<VisionRunner>;
1240
+ close(): void;
1241
+ static attach(source: VisionInputSource, config?: VisionConfig, bundleOptions?: VisionBundleOptions): VisionAttachedBundle;
1242
+ toNode(): VisionNodeSpec;
1243
+ }
1244
+ //#endregion
1245
+ //#region src/effects/generated/classes.d.ts
1246
+ interface TonalShift {
1247
+ /**
1248
+ * Range -100 to 100.
1249
+ * @default 0
1250
+ */
1251
+ cyanRed: number;
1252
+ /**
1253
+ * Range -100 to 100.
1254
+ * @default 0
1255
+ */
1256
+ magentaGreen: number;
1257
+ /**
1258
+ * Range -100 to 100.
1259
+ * @default 0
1260
+ */
1261
+ yellowBlue: number;
1262
+ }
1263
+ interface BlurBaseProps {
1264
+ /**
1265
+ * Blur Type
1266
+ * @default "Gaussian"
1267
+ */
1268
+ blurType?: "Gaussian" | "Box" | "Median" | "Motion" | "Bilateral" | "Edge-preserving" | "Radial" | "Zoom";
1269
+ /**
1270
+ * The intensity of the blur. 0 = no blur. Can be modulated by a static number or a dynamic signal.
1271
+ * Range 0 to 100. Accepts a signal.
1272
+ * @default 5
1273
+ */
1274
+ strength?: EffectProp<number>;
1275
+ /**
1276
+ * Direction of a Motion blur, in degrees.
1277
+ * Range 0 to 360. Accepts a signal.
1278
+ * @default 0
1279
+ */
1280
+ angle?: EffectProp<number>;
1281
+ /**
1282
+ * Sigma value for color space in Bilateral / Edge-preserving blurs. Can be modulated by a static number or a dynamic signal.
1283
+ * Range 0.01 to 1. Accepts a signal.
1284
+ * @default 0.1
1285
+ */
1286
+ sigmaColor?: EffectProp<number>;
1287
+ /**
1288
+ * The X coordinate of the blur center (0.0 to 1.0). Can be modulated by a static number or a dynamic signal.
1289
+ * Range 0 to 1. Accepts a signal.
1290
+ * @default 0.5
1291
+ */
1292
+ centerX?: EffectProp<number>;
1293
+ /**
1294
+ * The Y coordinate of the blur center (0.0 to 1.0). Can be modulated by a static number or a dynamic signal.
1295
+ * Range 0 to 1. Accepts a signal.
1296
+ * @default 0.5
1297
+ */
1298
+ centerY?: EffectProp<number>;
1299
+ /**
1300
+ * Blurs only a specific circular area around center point.
1301
+ * Accepts a signal.
1302
+ * @default false
1303
+ */
1304
+ partialBlur?: EffectProp<boolean>;
1305
+ /**
1306
+ * Radius of the partial blur region (0.01 to 1.0). Can be modulated by a static number or a dynamic signal.
1307
+ * Range 0.01 to 1. Accepts a signal.
1308
+ * @default 0.3
1309
+ */
1310
+ radius?: EffectProp<number>;
1311
+ /**
1312
+ * Vertical radius of the partial blur region (0 to 1.0). 0 reuses the horizontal radius.
1313
+ * Range 0 to 1. Accepts a signal.
1314
+ * @default 0
1315
+ */
1316
+ radiusY?: EffectProp<number>;
1317
+ /**
1318
+ * Shape of the partial blur region.
1319
+ * @default "circle"
1320
+ */
1321
+ shape?: "ellipse" | "circle" | "rect";
1322
+ }
1323
+ /** @internal Extended by `effects/custom/blur.ts`, which exports `Blur`. */
1324
+ declare class BlurBase extends Effect<BlurBaseProps> {
1325
+ readonly op = "Blur";
1326
+ blurType: "Gaussian" | "Box" | "Median" | "Motion" | "Bilateral" | "Edge-preserving" | "Radial" | "Zoom";
1327
+ strength: number;
1328
+ angle: number;
1329
+ sigmaColor: number;
1330
+ centerX: number;
1331
+ centerY: number;
1332
+ partialBlur: boolean;
1333
+ radius: number;
1334
+ radiusY: number;
1335
+ shape: "ellipse" | "circle" | "rect";
1336
+ constructor(config?: BlurBaseProps);
1337
+ }
1338
+ interface ColorBalanceProps {
1339
+ /**
1340
+ * @default {"cyanRed":0,"magentaGreen":0,"yellowBlue":0}
1341
+ */
1342
+ shadows?: Partial<TonalShift>;
1343
+ /**
1344
+ * @default {"cyanRed":0,"magentaGreen":0,"yellowBlue":0}
1345
+ */
1346
+ midtones?: Partial<TonalShift>;
1347
+ /**
1348
+ * @default {"cyanRed":0,"magentaGreen":0,"yellowBlue":0}
1349
+ */
1350
+ highlights?: Partial<TonalShift>;
1351
+ /**
1352
+ * @default true
1353
+ */
1354
+ preserveLuminosity?: boolean;
1355
+ }
1356
+ declare class ColorBalance extends Effect<ColorBalanceProps> {
1357
+ readonly op = "ColorBalance";
1358
+ shadows: Partial<TonalShift>;
1359
+ midtones: Partial<TonalShift>;
1360
+ highlights: Partial<TonalShift>;
1361
+ preserveLuminosity: boolean;
1362
+ constructor(config?: ColorBalanceProps);
1363
+ }
1364
+ interface ColorKeyProps {
1365
+ /**
1366
+ * Key Color
1367
+ * @default "#00ff00"
1368
+ */
1369
+ keyColor?: string;
1370
+ /**
1371
+ * How close the color must be to the Key Color to be removed.
1372
+ * Range 0 to 1. Accepts a signal.
1373
+ * @default 0.4
1374
+ */
1375
+ similarity?: EffectProp<number>;
1376
+ /**
1377
+ * The softness of the transparency edge.
1378
+ * Range 0 to 1. Accepts a signal.
1379
+ * @default 0.1
1380
+ */
1381
+ smoothness?: EffectProp<number>;
1382
+ /**
1383
+ * Amount of key color spill to remove from foreground edges.
1384
+ * Range 0 to 1. Accepts a signal.
1385
+ * @default 0.2
1386
+ */
1387
+ spillSuppression?: EffectProp<number>;
1388
+ /**
1389
+ * Color space used to calculate similarity distance.
1390
+ * @default "YUV"
1391
+ */
1392
+ colorSpace?: "YUV" | "RGB";
1393
+ /**
1394
+ * How key color spill is suppressed on foreground edges.
1395
+ * @default "Desaturate"
1396
+ */
1397
+ spillSuppressionType?: "Desaturate" | "Neutralize" | "None";
1398
+ }
1399
+ declare class ColorKey extends Effect<ColorKeyProps> {
1400
+ readonly op = "ColorKey";
1401
+ keyColor: string;
1402
+ similarity: number;
1403
+ smoothness: number;
1404
+ spillSuppression: number;
1405
+ colorSpace: "YUV" | "RGB";
1406
+ spillSuppressionType: "Desaturate" | "Neutralize" | "None";
1407
+ constructor(config?: ColorKeyProps);
1408
+ }
1409
+ interface VignetteProps {
1410
+ /**
1411
+ * The intensity of the vignette darkening effect. 0 = no vignette.
1412
+ * Range 0 to 100. Accepts a signal.
1413
+ * @default 50
1414
+ */
1415
+ strength?: EffectProp<number>;
1416
+ /**
1417
+ * The extent/size of the vignette.
1418
+ * Range 0.1 to 2. Accepts a signal.
1419
+ * @default 1
1420
+ */
1421
+ radius?: EffectProp<number>;
1422
+ /**
1423
+ * The softness of the vignette transition edge.
1424
+ * Range 0 to 1. Accepts a signal.
1425
+ * @default 0.5
1426
+ */
1427
+ softness?: EffectProp<number>;
1428
+ /**
1429
+ * 0.0 matches the image aspect ratio, 1.0 is a perfect circle.
1430
+ * Range 0 to 1. Accepts a signal.
1431
+ * @default 0.5
1432
+ */
1433
+ roundness?: EffectProp<number>;
1434
+ /**
1435
+ * The X coordinate of the vignette center.
1436
+ * Range 0 to 1. Accepts a signal.
1437
+ * @default 0.5
1438
+ */
1439
+ centerX?: EffectProp<number>;
1440
+ /**
1441
+ * The Y coordinate of the vignette center.
1442
+ * Range 0 to 1. Accepts a signal.
1443
+ * @default 0.5
1444
+ */
1445
+ centerY?: EffectProp<number>;
1446
+ }
1447
+ declare class Vignette extends Effect<VignetteProps> {
1448
+ readonly op = "Vignette";
1449
+ strength: number;
1450
+ radius: number;
1451
+ softness: number;
1452
+ roundness: number;
1453
+ centerX: number;
1454
+ centerY: number;
1455
+ constructor(config?: VignetteProps);
1456
+ }
1457
+ //#endregion
1458
+ //#region src/effects/custom/blur.d.ts
1459
+ interface BlurProps extends BlurBaseProps {
1460
+ /**
1461
+ * Follow a tracked object. Turns on `partialBlur` and derives the region
1462
+ * (`centerX`, `centerY`, `radius`, `radiusY`, `shape`) and `strength` from
1463
+ * the track. Any of those passed explicitly wins over the track.
1464
+ */
1465
+ track?: ObjectTrackSignals;
1466
+ }
1467
+ /**
1468
+ * Blur effect. Props, defaults and ranges are generated from `node-blur`'s
1469
+ * schema ({@link BlurBase}); this subclass only adds `track`.
1470
+ */
1471
+ declare class Blur extends BlurBase {
1472
+ constructor(config?: BlurProps);
1473
+ }
1474
+ //#endregion
1475
+ //#region src/effects/generated/meta.d.ts
1476
+ /** Ranges and allowed values per effect prop, used by `withDefaults()` checks. */
1477
+ declare const effectMeta: {
1478
+ readonly Blur: {
1479
+ readonly blurType: {
1480
+ readonly enum: readonly ["Gaussian", "Box", "Median", "Motion", "Bilateral", "Edge-preserving", "Radial", "Zoom"];
1481
+ };
1482
+ readonly strength: {
1483
+ readonly min: 0;
1484
+ readonly max: 100;
1485
+ };
1486
+ readonly angle: {
1487
+ readonly min: 0;
1488
+ readonly max: 360;
1489
+ };
1490
+ readonly sigmaColor: {
1491
+ readonly min: 0.01;
1492
+ readonly max: 1;
1493
+ };
1494
+ readonly centerX: {
1495
+ readonly min: 0;
1496
+ readonly max: 1;
1497
+ };
1498
+ readonly centerY: {
1499
+ readonly min: 0;
1500
+ readonly max: 1;
1501
+ };
1502
+ readonly partialBlur: {};
1503
+ readonly radius: {
1504
+ readonly min: 0.01;
1505
+ readonly max: 1;
1506
+ };
1507
+ readonly radiusY: {
1508
+ readonly min: 0;
1509
+ readonly max: 1;
1510
+ };
1511
+ readonly shape: {
1512
+ readonly enum: readonly ["ellipse", "circle", "rect"];
1513
+ };
1514
+ };
1515
+ readonly ColorBalance: {
1516
+ readonly shadows: {
1517
+ readonly props: {
1518
+ readonly cyanRed: {
1519
+ readonly min: -100;
1520
+ readonly max: 100;
1521
+ };
1522
+ readonly magentaGreen: {
1523
+ readonly min: -100;
1524
+ readonly max: 100;
1525
+ };
1526
+ readonly yellowBlue: {
1527
+ readonly min: -100;
1528
+ readonly max: 100;
1529
+ };
1530
+ };
1531
+ };
1532
+ readonly midtones: {
1533
+ readonly props: {
1534
+ readonly cyanRed: {
1535
+ readonly min: -100;
1536
+ readonly max: 100;
1537
+ };
1538
+ readonly magentaGreen: {
1539
+ readonly min: -100;
1540
+ readonly max: 100;
1541
+ };
1542
+ readonly yellowBlue: {
1543
+ readonly min: -100;
1544
+ readonly max: 100;
1545
+ };
1546
+ };
1547
+ };
1548
+ readonly highlights: {
1549
+ readonly props: {
1550
+ readonly cyanRed: {
1551
+ readonly min: -100;
1552
+ readonly max: 100;
1553
+ };
1554
+ readonly magentaGreen: {
1555
+ readonly min: -100;
1556
+ readonly max: 100;
1557
+ };
1558
+ readonly yellowBlue: {
1559
+ readonly min: -100;
1560
+ readonly max: 100;
1561
+ };
1562
+ };
1563
+ };
1564
+ readonly preserveLuminosity: {};
1565
+ };
1566
+ readonly ColorKey: {
1567
+ readonly keyColor: {};
1568
+ readonly similarity: {
1569
+ readonly min: 0;
1570
+ readonly max: 1;
1571
+ };
1572
+ readonly smoothness: {
1573
+ readonly min: 0;
1574
+ readonly max: 1;
1575
+ };
1576
+ readonly spillSuppression: {
1577
+ readonly min: 0;
1578
+ readonly max: 1;
1579
+ };
1580
+ readonly colorSpace: {
1581
+ readonly enum: readonly ["YUV", "RGB"];
1582
+ };
1583
+ readonly spillSuppressionType: {
1584
+ readonly enum: readonly ["Desaturate", "Neutralize", "None"];
1585
+ };
1586
+ };
1587
+ readonly Vignette: {
1588
+ readonly strength: {
1589
+ readonly min: 0;
1590
+ readonly max: 100;
1591
+ };
1592
+ readonly radius: {
1593
+ readonly min: 0.1;
1594
+ readonly max: 2;
1595
+ };
1596
+ readonly softness: {
1597
+ readonly min: 0;
1598
+ readonly max: 1;
1599
+ };
1600
+ readonly roundness: {
1601
+ readonly min: 0;
1602
+ readonly max: 1;
1603
+ };
1604
+ readonly centerX: {
1605
+ readonly min: 0;
1606
+ readonly max: 1;
1607
+ };
1608
+ readonly centerY: {
1609
+ readonly min: 0;
1610
+ readonly max: 1;
1611
+ };
1612
+ };
1613
+ };
1614
+ //#endregion
1615
+ //#region src/effects/generated/registry.d.ts
1616
+ /** `Effect.<factory>(config)` helpers, one per generated effect class. */
1617
+ declare const effectFactories: {
1618
+ readonly blur: (config?: BlurProps) => Blur;
1619
+ readonly colorBalance: (config?: ColorBalanceProps) => ColorBalance;
1620
+ readonly colorKey: (config?: ColorKeyProps) => ColorKey;
1621
+ readonly vignette: (config?: VignetteProps) => Vignette;
1622
+ };
1623
+ //#endregion
1624
+ //#region src/effects/classes.d.ts
1625
+ interface LevelChannel {
1626
+ inBlack?: number;
1627
+ inWhite?: number;
1628
+ outBlack?: number;
1629
+ outWhite?: number;
1630
+ }
1631
+ interface LevelsProps {
1632
+ master?: LevelChannel;
1633
+ red?: LevelChannel;
1634
+ green?: LevelChannel;
1635
+ blue?: LevelChannel;
1636
+ }
1637
+ declare class Levels extends Effect<LevelsProps> {
1638
+ readonly op = "Levels";
1639
+ master: LevelChannel;
1640
+ red: LevelChannel;
1641
+ green: LevelChannel;
1642
+ blue: LevelChannel;
1643
+ constructor(config?: LevelsProps);
1644
+ }
1645
+ interface FilmGrainProps {
1646
+ strength?: EffectProp<number>;
1647
+ size?: EffectProp<number>;
1648
+ monochrome?: boolean;
1649
+ animated?: boolean;
1650
+ speed?: EffectProp<number>;
1651
+ shadows?: EffectProp<number>;
1652
+ midtones?: EffectProp<number>;
1653
+ highlights?: EffectProp<number>;
1654
+ }
1655
+ declare class FilmGrain extends Effect<FilmGrainProps> {
1656
+ readonly op = "FilmGrain";
1657
+ strength: number;
1658
+ size: number;
1659
+ monochrome: boolean;
1660
+ animated: boolean;
1661
+ speed: number;
1662
+ shadows: number;
1663
+ midtones: number;
1664
+ highlights: number;
1665
+ constructor(config?: FilmGrainProps);
1666
+ }
1667
+ declare class CustomEffect extends Effect<Record<string, unknown>> {
1668
+ readonly op: string;
1669
+ constructor(opName: string, config?: Record<string, unknown>);
1670
+ }
1671
+ interface AudioSignalExtractorProps {
1672
+ extractionMode?: "rms_envelope" | "transient_beat" | "sub_bass" | "bass" | "mid" | "high" | "spectral_flux";
1673
+ attackMs?: number;
1674
+ releaseMs?: number;
1675
+ sensitivity?: number;
1676
+ noiseFloorDb?: number;
1677
+ dynamicRangeDb?: number;
1678
+ autoRange?: boolean;
1679
+ smoothing?: number;
1680
+ curve?: "linear" | "exponential" | "logarithmic" | "square" | "smoothstep";
1681
+ beatThreshold?: number;
1682
+ beatDecayMs?: number;
1683
+ previewMode?: "waveform" | "envelope" | "beat_markers" | "spectrum";
1684
+ nodeId?: string;
1685
+ }
1686
+ declare class AudioSignalExtractor extends Effect<AudioSignalExtractorProps> {
1687
+ readonly op = "AudioSignalExtractor";
1688
+ extractionMode: AudioSignalExtractorProps["extractionMode"];
1689
+ attackMs: number;
1690
+ releaseMs: number;
1691
+ sensitivity: number;
1692
+ noiseFloorDb: number;
1693
+ dynamicRangeDb: number;
1694
+ autoRange: boolean;
1695
+ smoothing: number;
1696
+ curve: AudioSignalExtractorProps["curve"];
1697
+ beatThreshold: number;
1698
+ beatDecayMs: number;
1699
+ previewMode: AudioSignalExtractorProps["previewMode"];
1700
+ nodeId: string;
1701
+ constructor(config?: AudioSignalExtractorProps);
1702
+ extract(source: string, options?: Partial<AudioSignalOptions>): Promise<ExtractedAudioSignalsBundle>;
1703
+ }
1704
+ interface CurvesChannelPoint {
1705
+ x: number;
1706
+ y: number;
1707
+ }
1708
+ interface CurvesProps {
1709
+ curveType?: "rgb" | "hue-vs-hue" | "hue-vs-sat" | "lum-vs-sat" | "sat-vs-sat";
1710
+ master?: CurvesChannelPoint[];
1711
+ red?: CurvesChannelPoint[];
1712
+ green?: CurvesChannelPoint[];
1713
+ blue?: CurvesChannelPoint[];
1714
+ hueVsHue?: CurvesChannelPoint[];
1715
+ hueVsSat?: CurvesChannelPoint[];
1716
+ lumVsSat?: CurvesChannelPoint[];
1717
+ satVsSat?: CurvesChannelPoint[];
1718
+ }
1719
+ declare class Curves extends Effect<CurvesProps> {
1720
+ readonly op = "Curves";
1721
+ curveType: CurvesProps["curveType"];
1722
+ master: CurvesChannelPoint[];
1723
+ red: CurvesChannelPoint[];
1724
+ green: CurvesChannelPoint[];
1725
+ blue: CurvesChannelPoint[];
1726
+ hueVsHue: CurvesChannelPoint[];
1727
+ hueVsSat: CurvesChannelPoint[];
1728
+ lumVsSat: CurvesChannelPoint[];
1729
+ satVsSat: CurvesChannelPoint[];
1730
+ constructor(config?: CurvesProps);
1731
+ }
1732
+ interface SelectiveColorAdjustment {
1733
+ cyan: number;
1734
+ magenta: number;
1735
+ yellow: number;
1736
+ black: number;
1737
+ }
1738
+ interface SelectiveColorProps {
1739
+ method?: "Relative" | "Absolute";
1740
+ reds?: Partial<SelectiveColorAdjustment>;
1741
+ yellows?: Partial<SelectiveColorAdjustment>;
1742
+ greens?: Partial<SelectiveColorAdjustment>;
1743
+ cyans?: Partial<SelectiveColorAdjustment>;
1744
+ blues?: Partial<SelectiveColorAdjustment>;
1745
+ magentas?: Partial<SelectiveColorAdjustment>;
1746
+ whites?: Partial<SelectiveColorAdjustment>;
1747
+ neutrals?: Partial<SelectiveColorAdjustment>;
1748
+ blacks?: Partial<SelectiveColorAdjustment>;
1749
+ }
1750
+ declare class SelectiveColor extends Effect<SelectiveColorProps> {
1751
+ readonly op = "SelectiveColor";
1752
+ method: "Relative" | "Absolute";
1753
+ reds: SelectiveColorAdjustment;
1754
+ yellows: SelectiveColorAdjustment;
1755
+ greens: SelectiveColorAdjustment;
1756
+ cyans: SelectiveColorAdjustment;
1757
+ blues: SelectiveColorAdjustment;
1758
+ magentas: SelectiveColorAdjustment;
1759
+ whites: SelectiveColorAdjustment;
1760
+ neutrals: SelectiveColorAdjustment;
1761
+ blacks: SelectiveColorAdjustment;
1762
+ constructor(config?: SelectiveColorProps);
1763
+ }
1764
+ interface GradientMapStop {
1765
+ position: number;
1766
+ color: string;
1767
+ }
1768
+ interface GradientMapProps {
1769
+ stops?: GradientMapStop[];
1770
+ smooth?: boolean;
1771
+ dither?: boolean;
1772
+ opacity?: EffectProp<number>;
1773
+ }
1774
+ declare class GradientMap extends Effect<GradientMapProps> {
1775
+ readonly op = "GradientMap";
1776
+ stops: GradientMapStop[];
1777
+ smooth: boolean;
1778
+ dither: boolean;
1779
+ opacity: number;
1780
+ constructor(config?: GradientMapProps);
1781
+ }
1782
+ interface ShadowsHighlightsProps {
1783
+ shadowAmount?: EffectProp<number>;
1784
+ shadowTonalWidth?: EffectProp<number>;
1785
+ shadowRadius?: EffectProp<number>;
1786
+ highlightAmount?: EffectProp<number>;
1787
+ highlightTonalWidth?: EffectProp<number>;
1788
+ highlightRadius?: EffectProp<number>;
1789
+ colorCorrection?: EffectProp<number>;
1790
+ midtoneContrast?: EffectProp<number>;
1791
+ }
1792
+ declare class ShadowsHighlights extends Effect<ShadowsHighlightsProps> {
1793
+ readonly op = "ShadowsHighlights";
1794
+ shadowAmount: number;
1795
+ shadowTonalWidth: number;
1796
+ shadowRadius: number;
1797
+ highlightAmount: number;
1798
+ highlightTonalWidth: number;
1799
+ highlightRadius: number;
1800
+ colorCorrection: number;
1801
+ midtoneContrast: number;
1802
+ constructor(config?: ShadowsHighlightsProps);
1803
+ }
1804
+ interface ApplyLUTProps {
1805
+ lutUrl?: string;
1806
+ intensity?: EffectProp<number>;
1807
+ }
1808
+ declare class ApplyLUT extends Effect<ApplyLUTProps> {
1809
+ readonly op = "ApplyLUT";
1810
+ lutUrl: string;
1811
+ intensity: number;
1812
+ constructor(config?: ApplyLUTProps);
1813
+ }
1814
+ interface UnsharpMaskProps {
1815
+ amount?: EffectProp<number>;
1816
+ radius?: EffectProp<number>;
1817
+ threshold?: EffectProp<number>;
1818
+ }
1819
+ declare class UnsharpMask extends Effect<UnsharpMaskProps> {
1820
+ readonly op = "UnsharpMask";
1821
+ amount: number;
1822
+ radius: number;
1823
+ threshold: number;
1824
+ constructor(config?: UnsharpMaskProps);
1825
+ }
1826
+ interface HighPassProps {
1827
+ radius?: EffectProp<number>;
1828
+ contrastBoost?: EffectProp<number>;
1829
+ monochrome?: boolean;
1830
+ }
1831
+ declare class HighPass extends Effect<HighPassProps> {
1832
+ readonly op = "HighPass";
1833
+ radius: number;
1834
+ contrastBoost: number;
1835
+ monochrome: boolean;
1836
+ constructor(config?: HighPassProps);
1837
+ }
1838
+ type HalftoneDotShape = "Circle" | "Diamond" | "Line" | "Square";
1839
+ type HalftoneMode = "Monochrome" | "CMYK";
1840
+ interface HalftoneScreenProps {
1841
+ mode?: HalftoneMode;
1842
+ dotShape?: HalftoneDotShape;
1843
+ frequency?: EffectProp<number>;
1844
+ angle?: EffectProp<number>;
1845
+ contrast?: EffectProp<number>;
1846
+ dotColor?: string;
1847
+ paperColor?: string;
1848
+ smooth?: boolean;
1849
+ invert?: boolean;
1850
+ cyanAngle?: EffectProp<number>;
1851
+ magentaAngle?: EffectProp<number>;
1852
+ yellowAngle?: EffectProp<number>;
1853
+ blackAngle?: EffectProp<number>;
1854
+ opacity?: EffectProp<number>;
1855
+ }
1856
+ declare class HalftoneScreen extends Effect<HalftoneScreenProps> {
1857
+ readonly op = "HalftoneScreen";
1858
+ mode: HalftoneMode;
1859
+ dotShape: HalftoneDotShape;
1860
+ frequency: number;
1861
+ angle: number;
1862
+ contrast: number;
1863
+ dotColor: string;
1864
+ paperColor: string;
1865
+ smooth: boolean;
1866
+ invert: boolean;
1867
+ cyanAngle: number;
1868
+ magentaAngle: number;
1869
+ yellowAngle: number;
1870
+ blackAngle: number;
1871
+ opacity: number;
1872
+ constructor(config?: HalftoneScreenProps);
1873
+ }
1874
+ type TileOffsetEdgeMode = "wrap" | "clamp" | "transparent" | "mirror";
1875
+ interface TileOffsetProps {
1876
+ offsetX?: EffectProp<number>;
1877
+ offsetY?: EffectProp<number>;
1878
+ wrap?: boolean;
1879
+ edgeMode?: TileOffsetEdgeMode;
1880
+ }
1881
+ declare class TileOffset extends Effect<TileOffsetProps> {
1882
+ readonly op = "TileOffset";
1883
+ offsetX: number;
1884
+ offsetY: number;
1885
+ wrap: boolean;
1886
+ edgeMode: TileOffsetEdgeMode;
1887
+ constructor(config?: TileOffsetProps);
1888
+ }
1889
+ interface MotionBlurProps {
1890
+ shutterAngle?: EffectProp<number>;
1891
+ samples?: EffectProp<number>;
1892
+ maxVelocity?: EffectProp<number>;
1893
+ shutterCurve?: "box" | "gaussian" | "triangle";
1894
+ depthAware?: boolean;
1895
+ }
1896
+ declare class MotionBlur extends Effect<MotionBlurProps> {
1897
+ readonly op = "MotionBlur";
1898
+ shutterAngle: number;
1899
+ samples: number;
1900
+ maxVelocity: number;
1901
+ shutterCurve: "box" | "gaussian" | "triangle";
1902
+ depthAware: boolean;
1903
+ constructor(config?: MotionBlurProps);
1904
+ }
1905
+ interface SSAOProps {
1906
+ radius?: EffectProp<number>;
1907
+ bias?: EffectProp<number>;
1908
+ intensity?: EffectProp<number>;
1909
+ kernelSamples?: EffectProp<number>;
1910
+ blurRadius?: EffectProp<number>;
1911
+ }
1912
+ declare class SSAO extends Effect<SSAOProps> {
1913
+ readonly op = "SSAO";
1914
+ radius: number;
1915
+ bias: number;
1916
+ intensity: number;
1917
+ kernelSamples: number;
1918
+ blurRadius: number;
1919
+ constructor(config?: SSAOProps);
1920
+ }
1921
+ interface PBRGlassProps {
1922
+ ior?: EffectProp<number>;
1923
+ roughness?: EffectProp<number>;
1924
+ transmission?: EffectProp<number>;
1925
+ dispersion?: EffectProp<number>;
1926
+ fresnelPower?: EffectProp<number>;
1927
+ tintColor?: EffectProp<string>;
1928
+ }
1929
+ declare class PBRGlass extends Effect<PBRGlassProps> {
1930
+ readonly op = "PBRGlass";
1931
+ ior: number;
1932
+ roughness: number;
1933
+ transmission: number;
1934
+ dispersion: number;
1935
+ fresnelPower: number;
1936
+ tintColor: string;
1937
+ constructor(config?: PBRGlassProps);
1938
+ }
1939
+ interface DepthOfFieldProps {
1940
+ focusDistance?: EffectProp<number>;
1941
+ focalLength?: EffectProp<number>;
1942
+ aperture?: EffectProp<number>;
1943
+ maxBlur?: EffectProp<number>;
1944
+ quality?: "low" | "medium" | "high" | "ultra";
1945
+ }
1946
+ declare class DepthOfField extends Effect<DepthOfFieldProps> {
1947
+ readonly op = "DepthOfField";
1948
+ focusDistance: number;
1949
+ focalLength: number;
1950
+ aperture: number;
1951
+ maxBlur: number;
1952
+ quality: string;
1953
+ constructor(config?: DepthOfFieldProps);
1954
+ }
1955
+ interface CropProps {
1956
+ cropType?: "rect" | "path";
1957
+ leftPercentage?: EffectProp<number>;
1958
+ topPercentage?: EffectProp<number>;
1959
+ widthPercentage?: EffectProp<number>;
1960
+ heightPercentage?: EffectProp<number>;
1961
+ roundness?: EffectProp<number>;
1962
+ pathPoints?: {
1963
+ x: number;
1964
+ y: number;
1965
+ }[];
1966
+ mode?: "cropped" | "rest";
1967
+ }
1968
+ declare class Crop extends Effect<CropProps> {
1969
+ readonly op = "Crop";
1970
+ cropType: "rect" | "path";
1971
+ leftPercentage: number;
1972
+ topPercentage: number;
1973
+ widthPercentage: number;
1974
+ heightPercentage: number;
1975
+ roundness: number;
1976
+ pathPoints?: {
1977
+ x: number;
1978
+ y: number;
1979
+ }[];
1980
+ mode?: "cropped" | "rest";
1981
+ constructor(config?: CropProps);
1982
+ }
1983
+ interface VisionProps {
1984
+ /** Track COCO-80 objects (RTMDet-Ins boxes). Default true. */
1985
+ enableDetection?: boolean;
1986
+ /** Per-instance masks (RTMDet-Ins). Shares the detection pass. */
1987
+ enableSegmentation?: boolean;
1988
+ /** COCO-17 keypoints per person (RTMO). */
1989
+ enablePose?: boolean;
1990
+ /** Fast person-vs-background alpha (Selfie Segmenter). */
1991
+ enableMatte?: boolean;
1992
+ /** COCO class-name filter (all classes when omitted). */
1993
+ classes?: readonly string[];
1994
+ /** Minimum detection score, 0..1. Default 0.3. */
1995
+ confidence?: number;
1996
+ /** Model size: `t` fastest · `s` default · `m` most accurate. */
1997
+ variant?: "t" | "s" | "m";
1998
+ mode?: "passthrough" | "mask" | "matte" | "crop" | "skeleton" | "boxes" | "tracking";
1999
+ /**
2000
+ * Subject alpha for mask/matte/crop: instance masks (default; any COCO class) or the
2001
+ * selfie matte (fastest, but only reliable when a person fills much of the frame).
2002
+ */
2003
+ matteSource?: "instance" | "selfie";
2004
+ /** Frames a track may go unseen before it is dropped. Default 15. */
2005
+ maxMissedFrames?: number;
2006
+ modelsDir?: string;
2007
+ baseUrl?: string;
2008
+ maskThreshold?: number;
2009
+ featherRadius?: number;
2010
+ /** Grow the subject into connected pixels that stand out from the backdrop. */
2011
+ keyBackground?: boolean;
2012
+ /** Colour-distance threshold for the background key (lower → more growth). Default 70. */
2013
+ backgroundKeyThreshold?: number;
2014
+ visionBundle?: unknown;
2015
+ }
2016
+ /**
2017
+ * On-device vision: tracks objects, segments instances, estimates pose and mattes people on
2018
+ * the rendered frame, feeding reactive signals. Models download lazily on first use.
2019
+ */
2020
+ declare class Vision extends Effect<VisionProps> {
2021
+ readonly op = "Vision";
2022
+ enableDetection?: boolean;
2023
+ enableSegmentation?: boolean;
2024
+ enablePose?: boolean;
2025
+ enableMatte?: boolean;
2026
+ classes?: readonly string[];
2027
+ confidence?: number;
2028
+ variant?: VisionProps["variant"];
2029
+ mode?: VisionProps["mode"];
2030
+ matteSource?: VisionProps["matteSource"];
2031
+ maxMissedFrames?: number;
2032
+ modelsDir?: string;
2033
+ baseUrl?: string;
2034
+ maskThreshold?: number;
2035
+ featherRadius?: number;
2036
+ keyBackground?: boolean;
2037
+ backgroundKeyThreshold?: number;
2038
+ visionBundle?: unknown;
2039
+ constructor(config?: VisionProps);
2040
+ }
2041
+ interface Relight3DProps {
2042
+ lightType?: "Point" | "Spot" | "Directional" | "Rim";
2043
+ intensity?: EffectProp<number>;
2044
+ lightPosX?: EffectProp<number>;
2045
+ lightPosY?: EffectProp<number>;
2046
+ lightPosZ?: EffectProp<number>;
2047
+ lightRadius?: EffectProp<number>;
2048
+ spotConeAngle?: EffectProp<number>;
2049
+ specularRoughness?: EffectProp<number>;
2050
+ specularStrength?: EffectProp<number>;
2051
+ metallic?: EffectProp<number>;
2052
+ ambientIntensity?: EffectProp<number>;
2053
+ volumetricDensity?: EffectProp<number>;
2054
+ depthScale?: EffectProp<number>;
2055
+ depthInvert?: boolean;
2056
+ lightColor?: string;
2057
+ ambientColor?: string;
2058
+ normalMap?: unknown;
2059
+ }
2060
+ declare class Relight3D extends Effect<Relight3DProps> {
2061
+ readonly op = "Relight3D";
2062
+ lightType: Relight3DProps["lightType"];
2063
+ intensity: number;
2064
+ lightPosX: number;
2065
+ lightPosY: number;
2066
+ lightPosZ: number;
2067
+ lightRadius: number;
2068
+ spotConeAngle: number;
2069
+ specularRoughness: number;
2070
+ specularStrength: number;
2071
+ metallic: number;
2072
+ ambientIntensity: number;
2073
+ volumetricDensity: number;
2074
+ depthScale: number;
2075
+ depthInvert: boolean;
2076
+ lightColor: string;
2077
+ ambientColor: string;
2078
+ normalMap: unknown;
2079
+ constructor(config?: Relight3DProps);
2080
+ }
2081
+ interface DeflickerProps {
2082
+ blendWeight?: EffectProp<number>;
2083
+ disocclusionThreshold?: EffectProp<number>;
2084
+ maxMotionPixels?: EffectProp<number>;
2085
+ scale?: number;
2086
+ windowSize?: number;
2087
+ }
2088
+ declare class TemporalDeflicker extends Effect<DeflickerProps> {
2089
+ readonly op = "TemporalDeflicker";
2090
+ blendWeight: number;
2091
+ disocclusionThreshold: number;
2092
+ maxMotionPixels: number;
2093
+ scale: number;
2094
+ windowSize: number;
2095
+ constructor(config?: DeflickerProps);
2096
+ }
2097
+ interface ModulateProps {
2098
+ hue?: EffectProp<number>;
2099
+ brightness?: EffectProp<number>;
2100
+ contrast?: EffectProp<number>;
2101
+ exposure?: EffectProp<number>;
2102
+ saturation?: EffectProp<number>;
2103
+ sepia?: EffectProp<number>;
2104
+ }
2105
+ declare class Modulate extends Effect<ModulateProps> {
2106
+ readonly op = "Modulate";
2107
+ hue: number;
2108
+ brightness: number;
2109
+ contrast: number;
2110
+ exposure: number;
2111
+ saturation: number;
2112
+ sepia: number;
2113
+ constructor(config?: ModulateProps);
2114
+ }
2115
+ //#endregion
2116
+ export { Blur as $, _default$6 as $t, MotionBlur as A, TemporalObjectTracker as At, SelectiveColorProps as B, DepthNormalsComputePipeline as Bt, HighPass as C, _default$29 as Cn, PinToObjectOptions as Ct, LevelsProps as D, SegmentationResult as Dt, Levels as E, PoseSkeletonRenderer as Et, Relight3DProps as F, analyzeSequence as Ft, TileOffsetEdgeMode as G, TensorViewExport as Gt, ShadowsHighlightsProps as H, TemporalDeflickerPipeline as Ht, SSAO as I, pinNodeToLandmark as It, UnsharpMaskProps as J, _default$1 as Jt, TileOffsetProps as K, EffectProp as Kt, SSAOProps as L, pinNodeToObject as Lt, PBRGlass as M, VisionBundle as Mt, PBRGlassProps as N, VisionNode as Nt, Modulate as O, SegmentationTexturePool as Ot, Relight3D as P, VisionRunner as Pt, effectMeta as Q, _default$5 as Qt, SelectiveColor as R, CannyComputePipeline as Rt, HalftoneScreenProps as S, _default$28 as Sn, PinToLandmarkOptions as St, LevelChannel as T, PoseResult as Tt, TemporalDeflicker as U, TensorPipeline as Ut, ShadowsHighlights as V, OpticalFlowComputePipeline as Vt, TileOffset as W, TensorSource as Wt, VisionProps as X, _default$3 as Xt, Vision as Y, _default$2 as Yt, effectFactories as Z, _default$4 as Zt, GradientMapProps as _, _default$24 as _n, ObjectBoundingBoxSignals as _t, Crop as a, _default$12 as an, TonalShift as at, HalftoneMode as b, _default$26 as bn, ObjectTrackSignals as bt, CurvesChannelPoint as c, _default$15 as cn, COCO17_BONES as ct, DeflickerProps as d, _default$18 as dn, COCO_CLASSES as dt, _default$7 as en, BlurProps as et, DepthOfField as f, _default$19 as fn, InstanceMask as ft, GradientMap as g, _default$23 as gn, ObjectAnchorsSignals as gt, FilmGrainProps as h, _default$22 as hn, ObjectAnchorName as ht, AudioSignalExtractorProps as i, _default$11 as in, ColorKeyProps as it, MotionBlurProps as j, VisionAnalysisReport as jt, ModulateProps as k, SpatialLandmarkTransformer as kt, CurvesProps as l, _default$16 as ln, COCO17_KEYPOINTS as lt, FilmGrain as m, _default$21 as mn, MaskTrackSignals as mt, ApplyLUTProps as n, _default$9 as nn, ColorBalanceProps as nt, CropProps as o, _default$13 as on, Vignette as ot, DepthOfFieldProps as p, _default$20 as pn, LandmarkCoordinateSignals as pt, UnsharpMask as q, _default as qt, AudioSignalExtractor as r, _default$10 as rn, ColorKey as rt, Curves as s, _default$14 as sn, VignetteProps as st, ApplyLUT as t, _default$8 as tn, ColorBalance as tt, CustomEffect as u, _default$17 as un, COCO17_KEYPOINT_NAMES as ut, GradientMapStop as v, rendererNode as vn, ObjectCollectionSignals as vt, HighPassProps as w, PoseLandmarkSignals as wt, HalftoneScreen as x, _default$27 as xn, PersonMatte as xt, HalftoneDotShape as y, _default$25 as yn, ObjectKinematicsSignals as yt, SelectiveColorAdjustment as z, ControlNetMultiplexer as zt };
2117
+ //# sourceMappingURL=index-B0BNPEoH.d.mts.map