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,610 @@
1
+ import{a as le}from"./chunk-XOEEGC4Z.mjs";import{b as ue,c as oe}from"./chunk-IYVN2QEL.mjs";import{a as f}from"./chunk-NQZKBFC6.mjs";import{a as se}from"./chunk-YSTLMWCG.mjs";import{d as I}from"./chunk-6YJP57MZ.mjs";import{e as P}from"./chunk-BVF64D6H.mjs";P();P();P();var Q=100,Be=le().field("blurType",f.enum(["Gaussian","Box","Median","Motion","Bilateral","Edge-preserving","Radial","Zoom"]).default("Gaussian"),{bindable:!1,label:"Blur Type"}).field("strength",f.number().min(0).max(Q).default(5),{bindable:!0,dataTypes:["Number","Signal"],label:"Strength Signal",description:"The intensity of the blur. 0 = no blur. Can be modulated by a static number or a dynamic signal."}).field("angle",f.number().int().min(0).max(360).default(0),{bindable:!1,signal:!0,label:"Angle",description:"Direction of a Motion blur, in degrees."}).field("sigmaColor",f.number().min(.01).max(1).default(.1),{bindable:!0,dataTypes:["Number","Signal"],label:"Color Sigma Signal",description:"Sigma value for color space in Bilateral / Edge-preserving blurs. Can be modulated by a static number or a dynamic signal."}).field("centerX",f.number().min(0).max(1).default(.5),{bindable:!0,dataTypes:["Number","Signal"],label:"Center X Signal",description:"The X coordinate of the blur center (0.0 to 1.0). Can be modulated by a static number or a dynamic signal."}).field("centerY",f.number().min(0).max(1).default(.5),{bindable:!0,dataTypes:["Number","Signal"],label:"Center Y Signal",description:"The Y coordinate of the blur center (0.0 to 1.0). Can be modulated by a static number or a dynamic signal."}).field("partialBlur",f.boolean().default(!1),{bindable:!1,signal:!0,label:"Partial Blur",description:"Blurs only a specific circular area around center point."}).field("radius",f.number().min(.01).max(1).default(.3),{bindable:!0,dataTypes:["Number","Signal"],label:"Partial Radius Signal",description:"Radius of the partial blur region (0.01 to 1.0). Can be modulated by a static number or a dynamic signal."}).field("radiusY",f.number().min(0).max(1).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Partial Radius Y Signal",description:"Vertical radius of the partial blur region (0 to 1.0). 0 reuses the horizontal radius."}).field("shape",f.enum(["ellipse","circle","rect"]).default("circle"),{bindable:!1,label:"Partial Shape",description:"Shape of the partial blur region."}).build(),Xe=Be.schema,Ie=f.union([ue,oe]);var b=`
2
+ struct BlurUniforms {
3
+ dirX : f32,
4
+ dirY : f32,
5
+ strength : f32,
6
+ angle : f32,
7
+
8
+ sigmaColor : f32,
9
+ centerX : f32,
10
+ centerY : f32,
11
+ radius : f32,
12
+
13
+ partialBlur : f32,
14
+ hasStrengthSig : f32,
15
+ hasSigmaColorSig: f32,
16
+ hasCenterXSig : f32,
17
+
18
+ hasCenterYSig : f32,
19
+ hasRadiusSig : f32,
20
+ radiusY : f32,
21
+ shape : f32,
22
+ };
23
+
24
+ @group(0) @binding(0) var<uniform> u : BlurUniforms;
25
+ @group(1) @binding(0) var tex : texture_2d<f32>;
26
+ @group(1) @binding(1) var samp : sampler;
27
+ @group(1) @binding(2) var origTex : texture_2d<f32>;
28
+
29
+ @group(2) @binding(0) var strengthSigTex : texture_2d<f32>;
30
+ @group(2) @binding(1) var sigmaColorSigTex : texture_2d<f32>;
31
+ @group(2) @binding(2) var centerXSigTex : texture_2d<f32>;
32
+ @group(2) @binding(3) var centerYSigTex : texture_2d<f32>;
33
+ @group(2) @binding(4) var radiusSigTex : texture_2d<f32>;
34
+ @group(2) @binding(5) var signalSamp : sampler;
35
+
36
+ fn applyPartialBlur(blurred: vec4<f32>, uv: vec2<f32>, dimensions: vec2<f32>) -> vec4<f32> {
37
+ if (u.partialBlur <= 0.5) {
38
+ return blurred;
39
+ }
40
+ let orig = textureSampleLevel(origTex, samp, uv, 0.0);
41
+ var centerX = u.centerX;
42
+ if (u.hasCenterXSig > 0.5) {
43
+ centerX = textureSampleLevel(centerXSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
44
+ }
45
+ var centerY = u.centerY;
46
+ if (u.hasCenterYSig > 0.5) {
47
+ centerY = textureSampleLevel(centerYSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
48
+ }
49
+ var radiusX = u.radius;
50
+ if (u.hasRadiusSig > 0.5) {
51
+ radiusX = textureSampleLevel(radiusSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
52
+ }
53
+ var radiusY = u.radiusY;
54
+
55
+ var mask = 0.0;
56
+ if (radiusY <= 0.0) {
57
+ let aspect = dimensions.x / dimensions.y;
58
+ let diff = (uv - vec2<f32>(centerX, centerY)) * vec2<f32>(aspect, 1.0);
59
+ let dist = length(diff);
60
+ let feather = 0.05;
61
+ mask = 1.0 - smoothstep(radiusX - feather, radiusX + feather, dist);
62
+ } else {
63
+ let diff = abs(uv - vec2<f32>(centerX, centerY));
64
+ if (u.shape > 0.5) {
65
+ let feather = 0.02;
66
+ let edgeX = 1.0 - smoothstep(radiusX - feather, radiusX + feather, diff.x);
67
+ let edgeY = 1.0 - smoothstep(radiusY - feather, radiusY + feather, diff.y);
68
+ mask = edgeX * edgeY;
69
+ } else {
70
+ let normDist = length(vec2<f32>(diff.x / max(1e-4, radiusX), diff.y / max(1e-4, radiusY)));
71
+ let feather = 0.08;
72
+ mask = 1.0 - smoothstep(1.0 - feather, 1.0 + feather, normDist);
73
+ }
74
+ }
75
+ return mix(orig, blurred, mask);
76
+ }
77
+ `,Te=`
78
+ ${b}
79
+
80
+ struct VSOut {
81
+ @builtin(position) pos : vec4<f32>,
82
+ @location(0) uv : vec2<f32>,
83
+ };
84
+
85
+ @vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
86
+ var pos = array<vec2<f32>, 4>(
87
+ vec2<f32>(-1.0, 1.0),
88
+ vec2<f32>(1.0, 1.0),
89
+ vec2<f32>(-1.0, -1.0),
90
+ vec2<f32>(1.0, -1.0)
91
+ );
92
+ var uv = array<vec2<f32>, 4>(
93
+ vec2<f32>(0.0, 0.0),
94
+ vec2<f32>(1.0, 0.0),
95
+ vec2<f32>(0.0, 1.0),
96
+ vec2<f32>(1.0, 1.0)
97
+ );
98
+ return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
99
+ }
100
+
101
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
102
+ let c = textureSampleLevel(tex, samp, in.uv, 0.0);
103
+ var spatial_sigma = u.strength;
104
+ if (u.hasStrengthSig > 0.5) {
105
+ spatial_sigma = textureSampleLevel(strengthSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
106
+ }
107
+
108
+ let dimensions = vec2<f32>(textureDimensions(tex));
109
+ if (spatial_sigma <= 0.0) {
110
+ return applyPartialBlur(c, in.uv, dimensions);
111
+ }
112
+
113
+ let texelSize = 1.0 / dimensions;
114
+ let stepScale = max(1.0, spatial_sigma / 20.0);
115
+ let effectiveSigma = spatial_sigma / stepScale;
116
+ let radius = min(i32(ceil(3.0 * effectiveSigma)), 64);
117
+
118
+ let direction = vec2<f32>(u.dirX, u.dirY);
119
+
120
+ var color = vec4<f32>(0.0);
121
+ var totalWeight = 0.0;
122
+
123
+ for (var i = -radius; i <= radius; i++) {
124
+ let offset = vec2<f32>(f32(i) * stepScale) * direction * texelSize;
125
+ let x = f32(i) * stepScale;
126
+ let weight = exp(-0.5 * (x / spatial_sigma) * (x / spatial_sigma));
127
+ color += textureSampleLevel(tex, samp, in.uv + offset, 0.0) * weight;
128
+ totalWeight += weight;
129
+ }
130
+
131
+ let blurred = color / totalWeight;
132
+ return applyPartialBlur(blurred, in.uv, dimensions);
133
+ }
134
+ `,Pe=`
135
+ ${b}
136
+
137
+ struct VSOut {
138
+ @builtin(position) pos : vec4<f32>,
139
+ @location(0) uv : vec2<f32>,
140
+ };
141
+
142
+ @vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
143
+ var pos = array<vec2<f32>, 4>(
144
+ vec2<f32>(-1.0, 1.0),
145
+ vec2<f32>(1.0, 1.0),
146
+ vec2<f32>(-1.0, -1.0),
147
+ vec2<f32>(1.0, -1.0)
148
+ );
149
+ var uv = array<vec2<f32>, 4>(
150
+ vec2<f32>(0.0, 0.0),
151
+ vec2<f32>(1.0, 0.0),
152
+ vec2<f32>(0.0, 1.0),
153
+ vec2<f32>(1.0, 1.0)
154
+ );
155
+ return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
156
+ }
157
+
158
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
159
+ let c = textureSampleLevel(tex, samp, in.uv, 0.0);
160
+ var strength = u.strength;
161
+ if (u.hasStrengthSig > 0.5) {
162
+ strength = textureSampleLevel(strengthSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
163
+ }
164
+
165
+ let dimensions = vec2<f32>(textureDimensions(tex));
166
+ let radius = i32(round(strength));
167
+ if (radius <= 0) {
168
+ return applyPartialBlur(c, in.uv, dimensions);
169
+ }
170
+
171
+ let texelSize = 1.0 / dimensions;
172
+ let direction = vec2<f32>(u.dirX, u.dirY);
173
+
174
+ var color = vec4<f32>(0.0);
175
+ var count = 0.0;
176
+
177
+ for (var i = -radius; i <= radius; i++) {
178
+ let offset = vec2<f32>(f32(i)) * direction * texelSize;
179
+ color += textureSampleLevel(tex, samp, in.uv + offset, 0.0);
180
+ count += 1.0;
181
+ }
182
+
183
+ let blurred = color / count;
184
+ return applyPartialBlur(blurred, in.uv, dimensions);
185
+ }
186
+ `,Re=`
187
+ ${b}
188
+
189
+ struct VSOut {
190
+ @builtin(position) pos : vec4<f32>,
191
+ @location(0) uv : vec2<f32>,
192
+ };
193
+
194
+ struct Val {
195
+ luma : f32,
196
+ color : vec4<f32>,
197
+ };
198
+
199
+ @vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
200
+ var pos = array<vec2<f32>, 4>(
201
+ vec2<f32>(-1.0, 1.0),
202
+ vec2<f32>(1.0, 1.0),
203
+ vec2<f32>(-1.0, -1.0),
204
+ vec2<f32>(1.0, -1.0)
205
+ );
206
+ var uv = array<vec2<f32>, 4>(
207
+ vec2<f32>(0.0, 0.0),
208
+ vec2<f32>(1.0, 0.0),
209
+ vec2<f32>(0.0, 1.0),
210
+ vec2<f32>(1.0, 1.0)
211
+ );
212
+ return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
213
+ }
214
+
215
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
216
+ let centerCol = textureSampleLevel(tex, samp, in.uv, 0.0);
217
+ var strength = u.strength;
218
+ if (u.hasStrengthSig > 0.5) {
219
+ strength = textureSampleLevel(strengthSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
220
+ }
221
+
222
+ let dimensions = vec2<f32>(textureDimensions(tex));
223
+ let radius = min(i32(round(strength)), 16);
224
+ if (radius <= 0) {
225
+ return applyPartialBlur(centerCol, in.uv, dimensions);
226
+ }
227
+
228
+ let count = radius * 2 + 1;
229
+ let texelSize = 1.0 / dimensions;
230
+ let direction = vec2<f32>(u.dirX, u.dirY);
231
+
232
+ var values : array<Val, 33>;
233
+
234
+ for (var i = 0; i < 33; i++) {
235
+ if (i >= count) { break; }
236
+ let offset = vec2<f32>(f32(i - radius)) * direction * texelSize;
237
+ let col = textureSampleLevel(tex, samp, in.uv + offset, 0.0);
238
+ values[i] = Val(dot(col.rgb, vec3<f32>(0.299, 0.587, 0.114)), col);
239
+ }
240
+
241
+ // Selection sort
242
+ for (var i = 0; i < 33; i++) {
243
+ if (i >= count - 1) { break; }
244
+ var minIdx = i;
245
+ for (var j = 0; j < 33; j++) {
246
+ if (j <= i) { continue; }
247
+ if (j >= count) { break; }
248
+ if (values[j].luma < values[minIdx].luma) {
249
+ minIdx = j;
250
+ }
251
+ }
252
+ if (minIdx != i) {
253
+ let temp = values[i];
254
+ values[i] = values[minIdx];
255
+ values[minIdx] = temp;
256
+ }
257
+ }
258
+
259
+ let medianIdx = count / 2;
260
+ return applyPartialBlur(values[medianIdx].color, in.uv, dimensions);
261
+ }
262
+ `,Le=`
263
+ ${b}
264
+
265
+ struct VSOut {
266
+ @builtin(position) pos : vec4<f32>,
267
+ @location(0) uv : vec2<f32>,
268
+ };
269
+
270
+ @vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
271
+ var pos = array<vec2<f32>, 4>(
272
+ vec2<f32>(-1.0, 1.0),
273
+ vec2<f32>(1.0, 1.0),
274
+ vec2<f32>(-1.0, -1.0),
275
+ vec2<f32>(1.0, -1.0)
276
+ );
277
+ var uv = array<vec2<f32>, 4>(
278
+ vec2<f32>(0.0, 0.0),
279
+ vec2<f32>(1.0, 0.0),
280
+ vec2<f32>(0.0, 1.0),
281
+ vec2<f32>(1.0, 1.0)
282
+ );
283
+ return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
284
+ }
285
+
286
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
287
+ let c = textureSampleLevel(tex, samp, in.uv, 0.0);
288
+ var strength = u.strength;
289
+ if (u.hasStrengthSig > 0.5) {
290
+ strength = textureSampleLevel(strengthSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
291
+ }
292
+
293
+ let dimensions = vec2<f32>(textureDimensions(tex));
294
+ if (strength <= 0.0) {
295
+ return applyPartialBlur(c, in.uv, dimensions);
296
+ }
297
+
298
+ let PI = 3.14159265359;
299
+ let angleRad = u.angle * PI / 180.0;
300
+ let dir = vec2<f32>(cos(angleRad), sin(angleRad));
301
+
302
+ let texelSize = 1.0 / dimensions;
303
+ let step = dir * texelSize;
304
+
305
+ let numSamples = i32(clamp(strength, 1.0, 64.0));
306
+ var color = vec4<f32>(0.0);
307
+
308
+ for (var i = 0; i < 64; i++) {
309
+ if (i >= numSamples) { break; }
310
+ let offset = f32(i - numSamples / 2) * step;
311
+ color += textureSampleLevel(tex, samp, in.uv + offset, 0.0);
312
+ }
313
+
314
+ let blurred = color / f32(numSamples);
315
+ return applyPartialBlur(blurred, in.uv, dimensions);
316
+ }
317
+ `,Ve=`
318
+ ${b}
319
+
320
+ struct VSOut {
321
+ @builtin(position) pos : vec4<f32>,
322
+ @location(0) uv : vec2<f32>,
323
+ };
324
+
325
+ @vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
326
+ var pos = array<vec2<f32>, 4>(
327
+ vec2<f32>(-1.0, 1.0),
328
+ vec2<f32>(1.0, 1.0),
329
+ vec2<f32>(-1.0, -1.0),
330
+ vec2<f32>(1.0, -1.0)
331
+ );
332
+ var uv = array<vec2<f32>, 4>(
333
+ vec2<f32>(0.0, 0.0),
334
+ vec2<f32>(1.0, 0.0),
335
+ vec2<f32>(0.0, 1.0),
336
+ vec2<f32>(1.0, 1.0)
337
+ );
338
+ return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
339
+ }
340
+
341
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
342
+ let centerCol = textureSampleLevel(tex, samp, in.uv, 0.0);
343
+ var spatial_sigma = u.strength;
344
+ if (u.hasStrengthSig > 0.5) {
345
+ spatial_sigma = textureSampleLevel(strengthSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
346
+ }
347
+ var sigmaColor = u.sigmaColor;
348
+ if (u.hasSigmaColorSig > 0.5) {
349
+ sigmaColor = textureSampleLevel(sigmaColorSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
350
+ }
351
+
352
+ let dimensions = vec2<f32>(textureDimensions(tex));
353
+ if (spatial_sigma <= 0.0) {
354
+ return applyPartialBlur(centerCol, in.uv, dimensions);
355
+ }
356
+
357
+ let texelSize = 1.0 / dimensions;
358
+ let radius = min(i32(ceil(3.0 * spatial_sigma)), 32);
359
+ let direction = vec2<f32>(u.dirX, u.dirY);
360
+
361
+ var color = vec4<f32>(0.0);
362
+ var totalWeight = 0.0;
363
+
364
+ for (var i = -32; i <= 32; i++) {
365
+ if (i < -radius || i > radius) { continue; }
366
+ let offset = vec2<f32>(f32(i)) * direction * texelSize;
367
+ let sampleCol = textureSampleLevel(tex, samp, in.uv + offset, 0.0);
368
+
369
+ let spatialDistSq = f32(i * i);
370
+ let spatialWeight = exp(-0.5 * spatialDistSq / (spatial_sigma * spatial_sigma));
371
+
372
+ let diff = sampleCol - centerCol;
373
+ let colorDistSq = dot(diff, diff);
374
+ let rangeWeight = exp(-0.5 * colorDistSq / (sigmaColor * sigmaColor));
375
+
376
+ let weight = spatialWeight * rangeWeight;
377
+ color += sampleCol * weight;
378
+ totalWeight += weight;
379
+ }
380
+
381
+ var blurred = centerCol;
382
+ if (totalWeight > 0.0) {
383
+ blurred = color / totalWeight;
384
+ }
385
+ return applyPartialBlur(blurred, in.uv, dimensions);
386
+ }
387
+ `,Ge=`
388
+ ${b}
389
+
390
+ struct VSOut {
391
+ @builtin(position) pos : vec4<f32>,
392
+ @location(0) uv : vec2<f32>,
393
+ };
394
+
395
+ @vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
396
+ var pos = array<vec2<f32>, 4>(
397
+ vec2<f32>(-1.0, 1.0),
398
+ vec2<f32>(1.0, 1.0),
399
+ vec2<f32>(-1.0, -1.0),
400
+ vec2<f32>(1.0, -1.0)
401
+ );
402
+ var uv = array<vec2<f32>, 4>(
403
+ vec2<f32>(0.0, 0.0),
404
+ vec2<f32>(1.0, 0.0),
405
+ vec2<f32>(0.0, 1.0),
406
+ vec2<f32>(1.0, 1.0)
407
+ );
408
+ return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
409
+ }
410
+
411
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
412
+ let centerCol = textureSampleLevel(tex, samp, in.uv, 0.0);
413
+ var strength = u.strength;
414
+ if (u.hasStrengthSig > 0.5) {
415
+ strength = textureSampleLevel(strengthSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
416
+ }
417
+
418
+ // Map strength (1-10) to radius (1-6)
419
+ let radius = i32(clamp(round(strength * 5.0 / 10.0) + 1.0, 1.0, 6.0));
420
+
421
+ let dimensions = vec2<f32>(textureDimensions(tex));
422
+ let texelSize = 1.0 / dimensions;
423
+
424
+ var m0 = vec3<f32>(0.0); var m1 = vec3<f32>(0.0); var m2 = vec3<f32>(0.0); var m3 = vec3<f32>(0.0);
425
+ var s0 = vec3<f32>(0.0); var s1 = vec3<f32>(0.0); var s2 = vec3<f32>(0.0); var s3 = vec3<f32>(0.0);
426
+
427
+ let n = f32((radius + 1) * (radius + 1));
428
+
429
+ for (var j = -6; j <= 6; j++) {
430
+ if (j < -radius || j > radius) { continue; }
431
+ for (var i = -6; i <= 6; i++) {
432
+ if (i < -radius || i > radius) { continue; }
433
+
434
+ let c = textureSampleLevel(tex, samp, in.uv + vec2<f32>(f32(i), f32(j)) * texelSize, 0.0).rgb;
435
+
436
+ if (i <= 0 && j <= 0) {
437
+ m0 += c;
438
+ s0 += c * c;
439
+ }
440
+ if (i >= 0 && j <= 0) {
441
+ m1 += c;
442
+ s1 += c * c;
443
+ }
444
+ if (i <= 0 && j >= 0) {
445
+ m2 += c;
446
+ s2 += c * c;
447
+ }
448
+ if (i >= 0 && j >= 0) {
449
+ m3 += c;
450
+ s3 += c * c;
451
+ }
452
+ }
453
+ }
454
+
455
+ m0 = m0 / n; s0 = abs(s0 / n - m0 * m0);
456
+ m1 = m1 / n; s1 = abs(s1 / n - m1 * m1);
457
+ m2 = m2 / n; s2 = abs(s2 / n - m2 * m2);
458
+ m3 = m3 / n; s3 = abs(s3 / n - m3 * m3);
459
+
460
+ let v0 = s0.r + s0.g + s0.b;
461
+ let v1 = s1.r + s1.g + s1.b;
462
+ let v2 = s2.r + s2.g + s2.b;
463
+ let v3 = s3.r + s3.g + s3.b;
464
+
465
+ var minVar = v0;
466
+ var finalCol = m0;
467
+
468
+ if (v1 < minVar) {
469
+ minVar = v1;
470
+ finalCol = m1;
471
+ }
472
+ if (v2 < minVar) {
473
+ minVar = v2;
474
+ finalCol = m2;
475
+ }
476
+ if (v3 < minVar) {
477
+ minVar = v3;
478
+ finalCol = m3;
479
+ }
480
+
481
+ let blurred = vec4<f32>(finalCol, centerCol.a);
482
+ return applyPartialBlur(blurred, in.uv, dimensions);
483
+ }
484
+ `,we=`
485
+ ${b}
486
+
487
+ struct VSOut {
488
+ @builtin(position) pos : vec4<f32>,
489
+ @location(0) uv : vec2<f32>,
490
+ };
491
+
492
+ @vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
493
+ var pos = array<vec2<f32>, 4>(
494
+ vec2<f32>(-1.0, 1.0),
495
+ vec2<f32>(1.0, 1.0),
496
+ vec2<f32>(-1.0, -1.0),
497
+ vec2<f32>(1.0, -1.0)
498
+ );
499
+ var uv = array<vec2<f32>, 4>(
500
+ vec2<f32>(0.0, 0.0),
501
+ vec2<f32>(1.0, 0.0),
502
+ vec2<f32>(0.0, 1.0),
503
+ vec2<f32>(1.0, 1.0)
504
+ );
505
+ return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
506
+ }
507
+
508
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
509
+ let centerCol = textureSampleLevel(tex, samp, in.uv, 0.0);
510
+ var strength = u.strength;
511
+ if (u.hasStrengthSig > 0.5) {
512
+ strength = textureSampleLevel(strengthSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
513
+ }
514
+ var centerX = u.centerX;
515
+ if (u.hasCenterXSig > 0.5) {
516
+ centerX = textureSampleLevel(centerXSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
517
+ }
518
+ var centerY = u.centerY;
519
+ if (u.hasCenterYSig > 0.5) {
520
+ centerY = textureSampleLevel(centerYSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
521
+ }
522
+
523
+ let dimensions = vec2<f32>(textureDimensions(tex));
524
+ if (strength <= 0.0) {
525
+ return applyPartialBlur(centerCol, in.uv, dimensions);
526
+ }
527
+
528
+ let center = vec2<f32>(centerX, centerY);
529
+ let toPixel = in.uv - center;
530
+ let dist = length(toPixel);
531
+ if (dist <= 0.0) {
532
+ return applyPartialBlur(centerCol, in.uv, dimensions);
533
+ }
534
+
535
+ let dir = vec2<f32>(-toPixel.y, toPixel.x);
536
+ let blurAmount = (strength / 100.0) * 0.1 * dist;
537
+
538
+ let numSamples = 24;
539
+ var color = vec4<f32>(0.0);
540
+ let step = dir * (blurAmount / f32(numSamples));
541
+
542
+ for (var i = 0; i < 24; i++) {
543
+ let offset = step * f32(i - 12);
544
+ color += textureSampleLevel(tex, samp, in.uv + offset, 0.0);
545
+ }
546
+
547
+ let blurred = color / 24.0;
548
+ return applyPartialBlur(blurred, in.uv, dimensions);
549
+ }
550
+ `,Ce=`
551
+ ${b}
552
+
553
+ struct VSOut {
554
+ @builtin(position) pos : vec4<f32>,
555
+ @location(0) uv : vec2<f32>,
556
+ };
557
+
558
+ @vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
559
+ var pos = array<vec2<f32>, 4>(
560
+ vec2<f32>(-1.0, 1.0),
561
+ vec2<f32>(1.0, 1.0),
562
+ vec2<f32>(-1.0, -1.0),
563
+ vec2<f32>(1.0, -1.0)
564
+ );
565
+ var uv = array<vec2<f32>, 4>(
566
+ vec2<f32>(0.0, 0.0),
567
+ vec2<f32>(1.0, 0.0),
568
+ vec2<f32>(0.0, 1.0),
569
+ vec2<f32>(1.0, 1.0)
570
+ );
571
+ return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
572
+ }
573
+
574
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
575
+ let centerCol = textureSampleLevel(tex, samp, in.uv, 0.0);
576
+ var strength = u.strength;
577
+ if (u.hasStrengthSig > 0.5) {
578
+ strength = textureSampleLevel(strengthSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
579
+ }
580
+ var centerX = u.centerX;
581
+ if (u.hasCenterXSig > 0.5) {
582
+ centerX = textureSampleLevel(centerXSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
583
+ }
584
+ var centerY = u.centerY;
585
+ if (u.hasCenterYSig > 0.5) {
586
+ centerY = textureSampleLevel(centerYSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
587
+ }
588
+
589
+ let dimensions = vec2<f32>(textureDimensions(tex));
590
+ if (strength <= 0.0) {
591
+ return applyPartialBlur(centerCol, in.uv, dimensions);
592
+ }
593
+
594
+ let center = vec2<f32>(centerX, centerY);
595
+ let toPixel = in.uv - center;
596
+ let blurAmount = (strength / 100.0) * 0.15;
597
+
598
+ let numSamples = 24;
599
+ var color = vec4<f32>(0.0);
600
+ let step = toPixel * (blurAmount / f32(numSamples));
601
+
602
+ for (var i = 0; i < 24; i++) {
603
+ let offset = step * f32(i - 12);
604
+ color += textureSampleLevel(tex, samp, in.uv + offset, 0.0);
605
+ }
606
+
607
+ let blurred = color / 24.0;
608
+ return applyPartialBlur(blurred, in.uv, dimensions);
609
+ }
610
+ `,fe=new WeakMap;function _e(u){let e=fe.get(u);if(e)return e;let i=u.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),o=u.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}},{binding:2,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}}]}),y=u.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:2,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:3,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:4,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:5,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]});return e={blurUniformLayout:i,singleTextureLayout:o,signalTextureLayout:y,pipelineCache:new Map},fe.set(u,e),e}function Ye(u,e,i){let o=_e(u),y=`blur_${i}_${e}`,p=o.pipelineCache.get(y);if(!p){let c=Te;i==="Box"?c=Pe:i==="Median"?c=Re:i==="Motion"?c=Le:i==="Bilateral"?c=Ve:i==="Edge-preserving"?c=Ge:i==="Radial"?c=we:i==="Zoom"&&(c=Ce);let B=u.createShaderModule({label:`blur_${i}_${e}.wgsl`,code:c});p=u.createRenderPipeline({label:`BlurPipeline_${i}_${e}`,layout:u.createPipelineLayout({bindGroupLayouts:[o.blurUniformLayout,o.singleTextureLayout,o.signalTextureLayout]}),vertex:{module:B,entryPoint:"vs"},fragment:{module:B,entryPoint:"fs",targets:[{format:e}]},primitive:{topology:"triangle-strip"}}),o.pipelineCache.set(y,p)}return{blurPipeline:p,blurUniformLayout:o.blurUniformLayout,singleTextureLayout:o.singleTextureLayout,signalTextureLayout:o.signalTextureLayout}}var de=async u=>{let{ctx:e,encoder:i,pass:o,targetView:y,targetTexture:p,targetWidth:c,targetHeight:B,props:n,drawChild:ve}=u,C=n.frame??0,R=n.fps||30,l=n.virtualMedia?.operation;if(l?.op!=="Blur"||!l)return;let D=n.virtualMedia.children?.[0];if(!D)return;o.end();let t=new Float32Array(16),m=c,S=B,ge=n.containerWidth??e.surface.width/(typeof window<"u"?window.devicePixelRatio:1),A=m/ge,pe=l.inputs?Object.keys(l.inputs)[0]:"blur_node",T=(r,s,v,w,g=!1)=>{let ye=`${r}HandleId`,re=l[ye],x=re?l.inputs?.[re]:null,ie=!!(x?.connectionValid&&(x.outputItem?.type==="Signal"||x.outputItem?.type==="Numeric")),Z=ie&&x?.outputItem?.data?x.outputItem.data:null,h=s,K=!1,ne;if(ie){if(Z){let a=Number(Z.offset??0);h=Math.max(v,Math.min(w,a)),g&&(h*=A),K=!0}}else if(x?.connectionValid&&x.outputItem?.type==="Number"){let a=Number(x.outputItem.data??s);h=Math.max(v,Math.min(w,a)),g&&(h*=A)}else{let a=l[r];if(a!=null)if(typeof a=="object"){if("get"in a&&typeof a.get=="function")a=a.get({frame:C,fps:R});else if("value"in a){let J=a;J.gpuBinding?.textureView&&(ne=J.gpuBinding.textureView,K=!0),a=J.value}}else typeof a=="function"&&(a=a(C,R));let ae=Number(a??s);h=Math.max(v,Math.min(w,isNaN(ae)?s:ae)),g&&(h*=A)}return{val:h,hasStaticSig:K,sd:Z,gpuTextureView:ne}},_=T("strength",5,0,Q,!0),Y=T("sigmaColor",.1,.01,1,!1),U=T("centerX",.5,0,1,!1),O=T("centerY",.5,0,1,!1),M=T("radius",.3,.001,1,!1),me=T("radiusY",0,0,1,!1),d=e.renderer.getTemporaryTexture(m,S,[...n.excludeTextures||[],p]),ee=d.createView();e.renderer.beginFrame(i,ee,{r:0,g:0,b:0,a:0},m,S,"clear").end(),e.renderer.pushScissor({x:0,y:0,width:m,height:S}),e.renderer.pushIdentity(),await ve(D,{...n,virtualMedia:D},ee,d,m,S),e.renderer.popTransform(),e.renderer.popScissor();let L=l.blurType??"Gaussian",Se=L==="Gaussian"||L==="Box"||L==="Median"||L==="Bilateral",{blurPipeline:N,blurUniformLayout:E,singleTextureLayout:xe,signalTextureLayout:k}=Ye(e.device,e.renderer.format,L),X=e.renderer.samplerCache.getSampler(e.device),be=n.elapsedMs!==void 0?n.elapsedMs/1e3:C/R,he=n.virtualMedia?.metadata?.durationMs?n.virtualMedia.metadata.durationMs/1e3:n.durationMs!==void 0?n.durationMs/1e3:0;for(let r of[_,Y,U,O,M])r.hasStaticSig&&r.sd&&await I.ensureAudioSourcesExtracted(e.device,r.sd,R,n.renderId);let V=(r,s)=>r.gpuTextureView?r.gpuTextureView:r.hasStaticSig&&r.sd?I.getOrCreate2DTextureView(e.device,i,r.sd.nodeId??`${pe}_${s}`,be,he,r.sd,m,S,n.renderId,C,R):I.getDummy1x1TextureView(e.device),W=V(_,"strength_sig"),j=V(Y,"sigmacolor_sig"),F=V(U,"centerx_sig"),$=V(O,"centery_sig"),z=V(M,"radius_sig"),H=(r,s)=>e.device.createBindGroup({layout:xe,entries:[{binding:0,resource:r.createView()},{binding:1,resource:X},{binding:2,resource:s.createView()}]}),q=!!(l.partialBlur&&l.partialBlur!=="false"&&l.partialBlur!==0);t[2]=_.val,t[3]=Number(l.angle??0),t[4]=Y.val,t[5]=U.val,t[6]=O.val,t[7]=M.val,t[8]=q?1:0,t[9]=_.hasStaticSig?1:0,t[10]=Y.hasStaticSig?1:0,t[11]=U.hasStaticSig?1:0,t[12]=O.hasStaticSig?1:0,t[13]=M.hasStaticSig?1:0,t[14]=me.val,t[15]=l.shape==="rect"?1:0;let G;if(Se){let r=e.renderer.getTemporaryTexture(m,S,[d,p,...n.excludeTextures||[]]);G=e.renderer.getTemporaryTexture(m,S,[d,r,p,...n.excludeTextures||[]]),t[0]=1,t[1]=0,t[8]=0;let s=e.renderer.getTemporaryBuffer(t),v=i.beginRenderPass({colorAttachments:[{view:r.createView(),loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});v.setPipeline(N),v.setBindGroup(0,e.device.createBindGroup({layout:E,entries:[{binding:0,resource:{buffer:s}}]})),v.setBindGroup(1,H(d,d)),v.setBindGroup(2,e.device.createBindGroup({layout:k,entries:[{binding:0,resource:W},{binding:1,resource:j},{binding:2,resource:F},{binding:3,resource:$},{binding:4,resource:z},{binding:5,resource:X}]})),v.draw(4),v.end(),t[0]=0,t[1]=1,t[8]=q?1:0;let w=e.renderer.getTemporaryBuffer(t),g=i.beginRenderPass({colorAttachments:[{view:G.createView(),loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});g.setPipeline(N),g.setBindGroup(0,e.device.createBindGroup({layout:E,entries:[{binding:0,resource:{buffer:w}}]})),g.setBindGroup(1,H(r,d)),g.setBindGroup(2,e.device.createBindGroup({layout:k,entries:[{binding:0,resource:W},{binding:1,resource:j},{binding:2,resource:F},{binding:3,resource:$},{binding:4,resource:z},{binding:5,resource:X}]})),g.draw(4),g.end()}else{G=e.renderer.getTemporaryTexture(m,S,[d,p,...n.excludeTextures||[]]),t[0]=0,t[1]=0,t[8]=q?1:0;let r=e.renderer.getTemporaryBuffer(t),s=i.beginRenderPass({colorAttachments:[{view:G.createView(),loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});s.setPipeline(N),s.setBindGroup(0,e.device.createBindGroup({layout:E,entries:[{binding:0,resource:{buffer:r}}]})),s.setBindGroup(1,H(d,d)),s.setBindGroup(2,e.device.createBindGroup({layout:k,entries:[{binding:0,resource:W},{binding:1,resource:j},{binding:2,resource:F},{binding:3,resource:$},{binding:4,resource:z},{binding:5,resource:X}]})),s.draw(4),s.end()}let te=e.renderer.beginFrame(i,y,{r:0,g:0,b:0,a:0},c,B,"load");e.renderer.drawTexture(te,G,{x:0,y:0,width:c,height:B},{opacity:l.opacity??1}),u.pass=te};var $e=se({WebGPURenderer:de});export{$e as a};