framefields 2.0.11 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (559) hide show
  1. package/README.md +22 -5
  2. package/dist/audio/index.d.mts +4 -4
  3. package/dist/audio/index.mjs +13 -12
  4. package/dist/{audio-BHanw8Jb.d.mts → audio-C2fLC3Tx.d.mts} +3 -3
  5. package/dist/{audio-BHanw8Jb.d.mts.map → audio-C2fLC3Tx.d.mts.map} +1 -1
  6. package/dist/{audio-TAvPwzLR.mjs → audio-DJeVoE8b.mjs} +1 -1
  7. package/dist/{audio-TAvPwzLR.mjs.map → audio-DJeVoE8b.mjs.map} +1 -1
  8. package/dist/{audio-COOMNwL5.mjs → audio-D_4SeMRK.mjs} +4 -4
  9. package/dist/{audio-COOMNwL5.mjs.map → audio-D_4SeMRK.mjs.map} +1 -1
  10. package/dist/{client-CwRhflHE.mjs → client-dVxUnmHz.mjs} +1 -1
  11. package/dist/{client-CwRhflHE.mjs.map → client-dVxUnmHz.mjs.map} +1 -1
  12. package/dist/{dist-C_hjvkdN.mjs → dist-0QGroRYZ.mjs} +1 -1
  13. package/dist/{dist-C_hjvkdN.mjs.map → dist-0QGroRYZ.mjs.map} +1 -1
  14. package/dist/{dist-BYqNNwsl.mjs → dist-BY0bIWgr.mjs} +10 -2
  15. package/dist/dist-BY0bIWgr.mjs.map +1 -0
  16. package/dist/{dist-Cxi68OuY.mjs → dist-Bun_TUvZ.mjs} +26862 -25638
  17. package/dist/dist-Bun_TUvZ.mjs.map +1 -0
  18. package/dist/{dist-BAVZdFEJ.mjs → dist-DlzqyRar.mjs} +75 -618
  19. package/dist/dist-DlzqyRar.mjs.map +1 -0
  20. package/dist/{dist-cjs-TsA8LFXC.mjs → dist-cjs-91nR6B7Z.mjs} +3 -3
  21. package/dist/{dist-cjs-TsA8LFXC.mjs.map → dist-cjs-91nR6B7Z.mjs.map} +1 -1
  22. package/dist/{dist-cjs-DJ8fcQEe.mjs → dist-cjs-BAIenEMC.mjs} +11 -11
  23. package/dist/{dist-cjs-DJ8fcQEe.mjs.map → dist-cjs-BAIenEMC.mjs.map} +1 -1
  24. package/dist/{dist-cjs-BmyyWYWv.mjs → dist-cjs-BEQhh76X.mjs} +2 -2
  25. package/dist/{dist-cjs-BmyyWYWv.mjs.map → dist-cjs-BEQhh76X.mjs.map} +1 -1
  26. package/dist/{dist-cjs--pxyGFw2.mjs → dist-cjs-BYPq7pfw.mjs} +1 -1
  27. package/dist/{dist-cjs--pxyGFw2.mjs.map → dist-cjs-BYPq7pfw.mjs.map} +1 -1
  28. package/dist/{dist-cjs--lfMLs3U.mjs → dist-cjs-BocDqSCX.mjs} +4 -4
  29. package/dist/{dist-cjs--lfMLs3U.mjs.map → dist-cjs-BocDqSCX.mjs.map} +1 -1
  30. package/dist/{dist-cjs-CsU2sZoX.mjs → dist-cjs-CWiNggTl.mjs} +4 -4
  31. package/dist/{dist-cjs-CsU2sZoX.mjs.map → dist-cjs-CWiNggTl.mjs.map} +1 -1
  32. package/dist/{dist-cjs-DjzmP0-x.mjs → dist-cjs-CwabutT6.mjs} +13 -13
  33. package/dist/{dist-cjs-DjzmP0-x.mjs.map → dist-cjs-CwabutT6.mjs.map} +1 -1
  34. package/dist/{dist-cjs-BDpO-TH_.mjs → dist-cjs-D-EE4Ahy.mjs} +1 -1
  35. package/dist/{dist-cjs-BDpO-TH_.mjs.map → dist-cjs-D-EE4Ahy.mjs.map} +1 -1
  36. package/dist/{dist-cjs-CQwmMllY.mjs → dist-cjs-DNtDUWfk.mjs} +6 -6
  37. package/dist/{dist-cjs-CQwmMllY.mjs.map → dist-cjs-DNtDUWfk.mjs.map} +1 -1
  38. package/dist/{dist-cjs-CND_ghfH.mjs → dist-cjs-DbZhsgS0.mjs} +1 -1
  39. package/dist/{dist-cjs-CND_ghfH.mjs.map → dist-cjs-DbZhsgS0.mjs.map} +1 -1
  40. package/dist/{dist-cjs-CgFzrgj8.mjs → dist-cjs-Dh7REKcN.mjs} +1 -1
  41. package/dist/{dist-cjs-CgFzrgj8.mjs.map → dist-cjs-Dh7REKcN.mjs.map} +1 -1
  42. package/dist/{dist-cjs-DT2jJlcK.mjs → dist-cjs-Dobx0Nz-.mjs} +5 -5
  43. package/dist/{dist-cjs-DT2jJlcK.mjs.map → dist-cjs-Dobx0Nz-.mjs.map} +1 -1
  44. package/dist/{dist-cjs-DzjrlfbE.mjs → dist-cjs-Du0UpNof.mjs} +14 -14
  45. package/dist/{dist-cjs-DzjrlfbE.mjs.map → dist-cjs-Du0UpNof.mjs.map} +1 -1
  46. package/dist/dist-cjs-DyHiUfsr.mjs +6 -0
  47. package/dist/{dist-cjs-M-8QOgS_.mjs → dist-cjs-HHMfMF5a.mjs} +2 -2
  48. package/dist/{dist-cjs-M-8QOgS_.mjs.map → dist-cjs-HHMfMF5a.mjs.map} +1 -1
  49. package/dist/{dist-cjs-BiKQozdJ.mjs → dist-cjs-UJYQzLNT.mjs} +3 -3
  50. package/dist/{dist-cjs-BiKQozdJ.mjs.map → dist-cjs-UJYQzLNT.mjs.map} +1 -1
  51. package/dist/{dist-cjs-agQl9T8M.mjs → dist-cjs-UKxm5cFR.mjs} +6 -6
  52. package/dist/{dist-cjs-agQl9T8M.mjs.map → dist-cjs-UKxm5cFR.mjs.map} +1 -1
  53. package/dist/{dist-CbG3QxDw.mjs → dist-fjKpBYkc.mjs} +12 -27
  54. package/dist/dist-fjKpBYkc.mjs.map +1 -0
  55. package/dist/effects/index.d.mts +4 -4
  56. package/dist/effects/index.mjs +36 -34
  57. package/dist/{effects-DzbjFhyA.mjs → effects-FTlu0dri.mjs} +3 -3
  58. package/dist/{effects-DzbjFhyA.mjs.map → effects-FTlu0dri.mjs.map} +1 -1
  59. package/dist/{event-streams-BaNGaLxh.mjs → event-streams-DnRe8uwT.mjs} +2 -2
  60. package/dist/{event-streams-BaNGaLxh.mjs.map → event-streams-DnRe8uwT.mjs.map} +1 -1
  61. package/dist/fonts/index.d.mts +1 -1
  62. package/dist/fonts/index.mjs +3 -1
  63. package/dist/{fonts-C0W6TgJk.mjs → fonts-UM5xaBOx.mjs} +24 -11
  64. package/dist/fonts-UM5xaBOx.mjs.map +1 -0
  65. package/dist/gpu-RkpiFGOA.mjs +215 -0
  66. package/dist/gpu-RkpiFGOA.mjs.map +1 -0
  67. package/dist/{index-CYGpSVsf.d.mts → index-CHQ39_Oe.d.mts} +2 -2
  68. package/dist/{index-CYGpSVsf.d.mts.map → index-CHQ39_Oe.d.mts.map} +1 -1
  69. package/dist/{index-CDoTrMs1.d.mts → index-CzQseCtg.d.mts} +8 -8
  70. package/dist/{index-CDoTrMs1.d.mts.map → index-CzQseCtg.d.mts.map} +1 -1
  71. package/dist/{index-DDEPvMww.d.mts → index-D67p-rHX.d.mts} +3452 -1675
  72. package/dist/index-D67p-rHX.d.mts.map +1 -0
  73. package/dist/{index-9B8CJowc.d.mts → index-DPicEt8H.d.mts} +10 -2
  74. package/dist/index-DPicEt8H.d.mts.map +1 -0
  75. package/dist/{index-DGJp1d30.d.mts → index-Db8Z3AtX.d.mts} +3 -3
  76. package/dist/{index-DGJp1d30.d.mts.map → index-Db8Z3AtX.d.mts.map} +1 -1
  77. package/dist/{index-DRZu3ezy.d.mts → index-DsOqONsj.d.mts} +3 -3
  78. package/dist/{index-DRZu3ezy.d.mts.map → index-DsOqONsj.d.mts.map} +1 -1
  79. package/dist/{index-DnWsbbuZ.d.mts → index-l03NV8JS.d.mts} +7 -2
  80. package/dist/index-l03NV8JS.d.mts.map +1 -0
  81. package/dist/index.d.mts +28 -1841
  82. package/dist/index.d.mts.map +1 -1
  83. package/dist/index.mjs +79 -65
  84. package/dist/index.mjs.map +1 -1
  85. package/dist/{package-XpCRbTOA.mjs → package-CudzAF-n.mjs} +1 -1
  86. package/dist/{package-XpCRbTOA.mjs.map → package-CudzAF-n.mjs.map} +1 -1
  87. package/dist/preview/index.d.mts +2 -2
  88. package/dist/preview/index.mjs +13 -12
  89. package/dist/{preview-BV2C4Fk6.mjs → preview-DwClLMlU.mjs} +3 -3
  90. package/dist/{preview-BV2C4Fk6.mjs.map → preview-DwClLMlU.mjs.map} +1 -1
  91. package/dist/preview-engine/audio.mjs +1 -1
  92. package/dist/preview-engine/{chunk-Y6HWYPKX.mjs → chunk-3GNP7TJH.mjs} +3 -3
  93. package/dist/preview-engine/{chunk-LIHUEYI5.mjs → chunk-44CQSOYE.mjs} +2 -2
  94. package/dist/preview-engine/{chunk-6JW37VJA.mjs → chunk-5AUB4Y3L.mjs} +3 -23
  95. package/dist/preview-engine/chunk-5DOD2NVY.mjs +26 -0
  96. package/dist/preview-engine/chunk-5FC7GOWW.mjs +474 -0
  97. package/dist/preview-engine/chunk-5W4AFQP7.mjs +97 -0
  98. package/dist/preview-engine/chunk-63SFBHEH.mjs +1 -0
  99. package/dist/preview-engine/chunk-7EPIRODI.mjs +91 -0
  100. package/dist/preview-engine/{chunk-PQD5UPHG.mjs → chunk-7G3XIOP7.mjs} +1 -1
  101. package/dist/preview-engine/chunk-7J2FWGVD.mjs +1 -0
  102. package/dist/preview-engine/chunk-AXHB4J37.mjs +147 -0
  103. package/dist/preview-engine/chunk-AY7UX37L.mjs +450 -0
  104. package/dist/preview-engine/chunk-B43Z3J7J.mjs +5 -0
  105. package/dist/preview-engine/chunk-BWJS6G7R.mjs +314 -0
  106. package/dist/preview-engine/{chunk-24DXIKXL.mjs → chunk-DIGIQ5MJ.mjs} +2 -2
  107. package/dist/preview-engine/{chunk-AEK5BO3J.mjs → chunk-E4RAFHZM.mjs} +1 -1
  108. package/dist/preview-engine/chunk-ENKKLU7B.mjs +22 -0
  109. package/dist/preview-engine/{chunk-XLFYM7KH.mjs → chunk-EVXWDOCL.mjs} +2 -2
  110. package/dist/preview-engine/{chunk-EQ4QZRXB.mjs → chunk-EYWPOCZW.mjs} +2 -2
  111. package/dist/preview-engine/{chunk-IYVN2QEL.mjs → chunk-FLPSWDX4.mjs} +1 -1
  112. package/dist/preview-engine/chunk-FU7AIAMM.mjs +88 -0
  113. package/dist/preview-engine/{chunk-CBM7B7EW.mjs → chunk-GMGGDADT.mjs} +1 -1
  114. package/dist/preview-engine/chunk-GSFN4WCH.mjs +62 -0
  115. package/dist/preview-engine/chunk-HE4R7EZM.mjs +121 -0
  116. package/dist/preview-engine/chunk-IQC2I5A5.mjs +1 -0
  117. package/dist/preview-engine/{chunk-RJUAM52F.mjs → chunk-IR5DNNWR.mjs} +3 -23
  118. package/dist/preview-engine/chunk-IUPDOATX.mjs +114 -0
  119. package/dist/preview-engine/{chunk-GHMCGTJ2.mjs → chunk-J2R5R7YY.mjs} +3 -23
  120. package/dist/preview-engine/chunk-JAJOZG5P.mjs +1 -0
  121. package/dist/preview-engine/chunk-JXNG2ACR.mjs +118 -0
  122. package/dist/preview-engine/{chunk-V6VU46ZG.mjs → chunk-L6BH5J4P.mjs} +1 -1
  123. package/dist/preview-engine/chunk-LGVEFPOG.mjs +3 -0
  124. package/dist/preview-engine/{chunk-MDDF2GCF.mjs → chunk-MLY5M7Y5.mjs} +3 -23
  125. package/dist/preview-engine/chunk-NPD6W3RP.mjs +1 -0
  126. package/dist/preview-engine/chunk-OCX5AD23.mjs +1 -0
  127. package/dist/preview-engine/{chunk-D3TETPLI.mjs → chunk-OG62XGCT.mjs} +1 -1
  128. package/dist/preview-engine/chunk-OJ2PKBXE.mjs +40 -0
  129. package/dist/preview-engine/chunk-OKH2VU2U.mjs +97 -0
  130. package/dist/preview-engine/chunk-PAQNDZQB.mjs +83 -0
  131. package/dist/preview-engine/chunk-PEWYB6WP.mjs +43 -0
  132. package/dist/preview-engine/chunk-PL4IH5V4.mjs +89 -0
  133. package/dist/preview-engine/chunk-PSRQA3QW.mjs +84 -0
  134. package/dist/preview-engine/{chunk-QYRDQMNB.mjs → chunk-PXT52LEH.mjs} +3 -23
  135. package/dist/preview-engine/chunk-Q22PJXFJ.mjs +69 -0
  136. package/dist/preview-engine/chunk-Q4Z54DQ7.mjs +1 -0
  137. package/dist/preview-engine/{chunk-BHFI3Y4T.mjs → chunk-QBEUICZD.mjs} +1 -1
  138. package/dist/preview-engine/chunk-RQLMW6MA.mjs +4 -0
  139. package/dist/preview-engine/chunk-RSMO7NPN.mjs +1 -0
  140. package/dist/preview-engine/chunk-RW2F3XLQ.mjs +90 -0
  141. package/dist/preview-engine/{chunk-25IW7NYO.mjs → chunk-S2CTIJSI.mjs} +1 -1
  142. package/dist/preview-engine/chunk-SGPRLTNF.mjs +52 -0
  143. package/dist/preview-engine/{chunk-Y6FEU4TV.mjs → chunk-SZW5J72T.mjs} +3 -23
  144. package/dist/preview-engine/{chunk-ECPP3UG6.mjs → chunk-T2FE5VOW.mjs} +3 -23
  145. package/dist/preview-engine/{chunk-ZSIJB76A.mjs → chunk-TS3JI3BH.mjs} +2 -2
  146. package/dist/preview-engine/{chunk-AMBSW6OA.mjs → chunk-U4JIFQRR.mjs} +2 -2
  147. package/dist/preview-engine/{chunk-BJKH76OM.mjs → chunk-VXS5SIEC.mjs} +3 -23
  148. package/dist/preview-engine/chunk-WFGJXCZT.mjs +53 -0
  149. package/dist/preview-engine/chunk-WH5Q2NFN.mjs +32 -0
  150. package/dist/preview-engine/{chunk-AWTH2WZO.mjs → chunk-WUKH7BD7.mjs} +1 -1
  151. package/dist/preview-engine/chunk-XC5WZNOY.mjs +1448 -0
  152. package/dist/preview-engine/chunk-YQZOGEPZ.mjs +186 -0
  153. package/dist/preview-engine/{chunk-6256GQFP.mjs → chunk-ZDQF3OTC.mjs} +1 -1
  154. package/dist/preview-engine/chunk-ZIIFTWDH.mjs +58 -0
  155. package/dist/preview-engine/effects.mjs +1 -1
  156. package/dist/preview-engine/fonts.mjs +1 -1
  157. package/dist/preview-engine/framefields.mjs +127 -130
  158. package/dist/preview-engine/player.mjs +6 -6
  159. package/dist/preview-engine/renderers-2H7YEUTD.mjs +1 -0
  160. package/dist/preview-engine/renderers-2ILG23ED.mjs +1 -0
  161. package/dist/preview-engine/renderers-2P6KXWEZ.mjs +1 -0
  162. package/dist/preview-engine/renderers-2SVWAB42.mjs +1 -0
  163. package/dist/preview-engine/renderers-2VN3AH45.mjs +104 -0
  164. package/dist/preview-engine/renderers-3RC5FDWX.mjs +1 -0
  165. package/dist/preview-engine/renderers-57WDL6XN.mjs +1 -0
  166. package/dist/preview-engine/{renderers-CAUWP4XH.mjs → renderers-6OGFUSH6.mjs} +3 -23
  167. package/dist/preview-engine/renderers-6WH7NZCC.mjs +1 -0
  168. package/dist/preview-engine/renderers-7VJN5L3Z.mjs +1 -0
  169. package/dist/preview-engine/renderers-A6HM64UZ.mjs +1 -0
  170. package/dist/preview-engine/{renderers-WLH4HRUE.mjs → renderers-A7VH3ON5.mjs} +1 -1
  171. package/dist/preview-engine/renderers-B7DSGUMI.mjs +1 -0
  172. package/dist/preview-engine/renderers-BFNJ7VCI.mjs +1 -0
  173. package/dist/preview-engine/renderers-BSKZXITT.mjs +35 -0
  174. package/dist/preview-engine/renderers-CGYIDAVV.mjs +1 -0
  175. package/dist/preview-engine/renderers-CRRLV7IO.mjs +1 -0
  176. package/dist/preview-engine/{renderers-JQHUBWLL.mjs → renderers-D6T6IPER.mjs} +3 -23
  177. package/dist/preview-engine/renderers-DXHJAMZR.mjs +1 -0
  178. package/dist/preview-engine/renderers-ECA3P4ON.mjs +1 -0
  179. package/dist/preview-engine/{renderers-W5CVDJVH.mjs → renderers-F55XFVMP.mjs} +1 -1
  180. package/dist/preview-engine/renderers-FWGMNPYB.mjs +1 -0
  181. package/dist/preview-engine/renderers-H46TS3IG.mjs +228 -0
  182. package/dist/preview-engine/renderers-HXFRTIJD.mjs +1 -0
  183. package/dist/preview-engine/renderers-IWQ3V6AJ.mjs +1 -0
  184. package/dist/preview-engine/renderers-JHFT27YU.mjs +1 -0
  185. package/dist/preview-engine/renderers-KZWGSKRF.mjs +1 -0
  186. package/dist/preview-engine/renderers-MON4QFRF.mjs +1 -0
  187. package/dist/preview-engine/renderers-NQXMYNSY.mjs +1 -0
  188. package/dist/preview-engine/renderers-NWHS7N2L.mjs +1 -0
  189. package/dist/preview-engine/renderers-ORAIXUL3.mjs +1 -0
  190. package/dist/preview-engine/renderers-OT7D3BUA.mjs +1 -0
  191. package/dist/preview-engine/renderers-Q4OFCMXI.mjs +1 -0
  192. package/dist/preview-engine/renderers-QVZVEYP5.mjs +1 -0
  193. package/dist/preview-engine/renderers-RJO6H4FC.mjs +1 -0
  194. package/dist/preview-engine/renderers-RKDPX5JU.mjs +1 -0
  195. package/dist/preview-engine/{renderers-2US2NIUG.mjs → renderers-RLHTNLRE.mjs} +3 -23
  196. package/dist/preview-engine/renderers-SBFF7JP5.mjs +1 -0
  197. package/dist/preview-engine/renderers-SCJ6OKTB.mjs +1 -0
  198. package/dist/preview-engine/renderers-T4JMJXWL.mjs +1 -0
  199. package/dist/preview-engine/renderers-TAWT3ZSS.mjs +1 -0
  200. package/dist/preview-engine/renderers-U6KY34TP.mjs +100 -0
  201. package/dist/preview-engine/renderers-UHTO6BQA.mjs +1 -0
  202. package/dist/preview-engine/renderers-UNK6I4JJ.mjs +1 -0
  203. package/dist/preview-engine/renderers-UPTJJE5F.mjs +1 -0
  204. package/dist/preview-engine/renderers-W773SBPV.mjs +1 -0
  205. package/dist/preview-engine/renderers-XHTMRXC5.mjs +1 -0
  206. package/dist/preview-engine/renderers-YECY2YFT.mjs +1 -0
  207. package/dist/preview-engine/renderers-YMN6QXK7.mjs +1 -0
  208. package/dist/preview-engine/renderers-ZANPE3OK.mjs +1 -0
  209. package/dist/preview-engine/renderers-ZHTX73PR.mjs +1 -0
  210. package/dist/preview-engine/renderers-ZJTRANIX.mjs +1 -0
  211. package/dist/preview-engine/signals.mjs +1 -1
  212. package/dist/preview-engine/skia-canvas-QBXAOGPB.mjs +1 -0
  213. package/dist/{program-BmNKgzja.mjs → program-BqFVw5Mu.mjs} +93 -2335
  214. package/dist/program-BqFVw5Mu.mjs.map +1 -0
  215. package/dist/renderer/index.d.mts +2 -2
  216. package/dist/renderer/index.mjs +3 -3
  217. package/dist/{renderer-CnXW28b9.mjs → renderer-2Nf9ypST.mjs} +85 -279
  218. package/dist/renderer-2Nf9ypST.mjs.map +1 -0
  219. package/dist/{renderer-BREIjsUU.mjs → renderer-2uN2cd0y.mjs} +14 -40
  220. package/dist/renderer-2uN2cd0y.mjs.map +1 -0
  221. package/dist/renderer-31jAuNzF.mjs +5 -0
  222. package/dist/renderer-36EI7Rsz.mjs +5 -0
  223. package/dist/renderer-3io-cjTt.mjs +5 -0
  224. package/dist/renderer-9_zWTHbg.mjs +5 -0
  225. package/dist/{renderer-WSGuj_V6.mjs → renderer-B12_76qk.mjs} +4 -3
  226. package/dist/{renderer-WSGuj_V6.mjs.map → renderer-B12_76qk.mjs.map} +1 -1
  227. package/dist/{renderer-bsWnRNpJ.mjs → renderer-B4oS8ZFO.mjs} +29 -98
  228. package/dist/renderer-B4oS8ZFO.mjs.map +1 -0
  229. package/dist/renderer-B6KnbfdA.mjs +5 -0
  230. package/dist/renderer-B7Y2bmRc.mjs +5 -0
  231. package/dist/renderer-BA6miaaI.mjs +5 -0
  232. package/dist/{renderer-Bv6q84TU.mjs → renderer-BGr_cBKV.mjs} +61 -208
  233. package/dist/renderer-BGr_cBKV.mjs.map +1 -0
  234. package/dist/renderer-BHi-Q6Z_.mjs +5 -0
  235. package/dist/{renderer-Bv21DbWy.mjs → renderer-BLcu9RDt.mjs} +3 -1
  236. package/dist/{renderer-D2XD4QYk.mjs → renderer-BO2lYmtE.mjs} +34 -147
  237. package/dist/renderer-BO2lYmtE.mjs.map +1 -0
  238. package/dist/renderer-BOlN9HeG.mjs +5 -0
  239. package/dist/renderer-BSitV56h.mjs +268 -0
  240. package/dist/renderer-BSitV56h.mjs.map +1 -0
  241. package/dist/renderer-BTOW-ceB.mjs +5 -0
  242. package/dist/{renderer-Bhdf90Zq.mjs → renderer-BYqfkwLf.mjs} +51 -163
  243. package/dist/renderer-BYqfkwLf.mjs.map +1 -0
  244. package/dist/{renderer-bZU_ndxf.mjs → renderer-BajIOuZH.mjs} +2 -2
  245. package/dist/{renderer-bZU_ndxf.mjs.map → renderer-BajIOuZH.mjs.map} +1 -1
  246. package/dist/{renderer-DirxsOjq.mjs → renderer-BgnJUx24.mjs} +80 -258
  247. package/dist/renderer-BgnJUx24.mjs.map +1 -0
  248. package/dist/renderer-BiQ0PYOp.mjs +5 -0
  249. package/dist/{renderer-DIgsilTw.mjs → renderer-BjTq3a0L.mjs} +5 -4
  250. package/dist/{renderer-DIgsilTw.mjs.map → renderer-BjTq3a0L.mjs.map} +1 -1
  251. package/dist/{renderer-DEJwPRkR.mjs → renderer-BkN20ZKO.mjs} +15 -51
  252. package/dist/renderer-BkN20ZKO.mjs.map +1 -0
  253. package/dist/renderer-Bla7GDyV.mjs +5 -0
  254. package/dist/renderer-BoYyLVKy.mjs +5 -0
  255. package/dist/{renderer-D7zvPHKn.mjs → renderer-BpZaHFRc.mjs} +18 -28
  256. package/dist/renderer-BpZaHFRc.mjs.map +1 -0
  257. package/dist/renderer-BqOgb7bM.mjs +5 -0
  258. package/dist/{renderer-cgxO2xN6.mjs → renderer-Bq_dO0LG.mjs} +10 -17
  259. package/dist/renderer-Bq_dO0LG.mjs.map +1 -0
  260. package/dist/renderer-BqeM8yTJ.mjs +5 -0
  261. package/dist/{renderer-dncoIVdd.mjs → renderer-BqsV75Ml.mjs} +3 -1
  262. package/dist/{renderer-ChdLYS-G.mjs → renderer-Bs4tz_pw.mjs} +20 -87
  263. package/dist/renderer-Bs4tz_pw.mjs.map +1 -0
  264. package/dist/{renderer-DpGc-N3G.mjs → renderer-Bsaokil3.mjs} +24 -104
  265. package/dist/renderer-Bsaokil3.mjs.map +1 -0
  266. package/dist/{renderer-CXn5HAnK.mjs → renderer-BvG1GF1c.mjs} +10 -16
  267. package/dist/renderer-BvG1GF1c.mjs.map +1 -0
  268. package/dist/{renderer-CI7sG_cv.mjs → renderer-BvpSIFkw.mjs} +83 -266
  269. package/dist/renderer-BvpSIFkw.mjs.map +1 -0
  270. package/dist/{renderer-B8UaFNqb.mjs → renderer-BwAqwTQq.mjs} +62 -209
  271. package/dist/renderer-BwAqwTQq.mjs.map +1 -0
  272. package/dist/{renderer-CzPWB0Ss.mjs → renderer-BwVfhrEx.mjs} +13 -45
  273. package/dist/renderer-BwVfhrEx.mjs.map +1 -0
  274. package/dist/renderer-BzpRe50i.mjs +5 -0
  275. package/dist/renderer-C0eAPwpr.mjs +5 -0
  276. package/dist/{renderer-CtyD_Xju.mjs → renderer-C3RfT8Gv.mjs} +59 -194
  277. package/dist/renderer-C3RfT8Gv.mjs.map +1 -0
  278. package/dist/{renderer-B1YMwl2B.mjs → renderer-C3cYDT3m.mjs} +3 -1
  279. package/dist/{renderer-1VuQTY1Z.mjs → renderer-CEGbqT2m.mjs} +236 -96
  280. package/dist/renderer-CEGbqT2m.mjs.map +1 -0
  281. package/dist/{renderer-DxTs4Iyi.mjs → renderer-CGldH-Zx.mjs} +40 -142
  282. package/dist/renderer-CGldH-Zx.mjs.map +1 -0
  283. package/dist/renderer-CGn8V63v.mjs +5 -0
  284. package/dist/{renderer-kwmlLQOO.mjs → renderer-CH9Qtpy7.mjs} +4 -4
  285. package/dist/{renderer-kwmlLQOO.mjs.map → renderer-CH9Qtpy7.mjs.map} +1 -1
  286. package/dist/{renderer-ho_jXJ0H.mjs → renderer-CLyuu_19.mjs} +23 -117
  287. package/dist/renderer-CLyuu_19.mjs.map +1 -0
  288. package/dist/renderer-CM5Syo9r.mjs +5 -0
  289. package/dist/{renderer-D2nCGcjv.mjs → renderer-CRIM_XRK.mjs} +3 -3
  290. package/dist/{renderer-D2nCGcjv.mjs.map → renderer-CRIM_XRK.mjs.map} +1 -1
  291. package/dist/{renderer-BTdOMMEx.d.mts → renderer-CTGe8SqQ.d.mts} +2 -2
  292. package/dist/{renderer-BTdOMMEx.d.mts.map → renderer-CTGe8SqQ.d.mts.map} +1 -1
  293. package/dist/renderer-CWCEW6Wv.mjs +5 -0
  294. package/dist/{renderer-Dy0utCl7.mjs → renderer-CgyOylPO.mjs} +10 -17
  295. package/dist/renderer-CgyOylPO.mjs.map +1 -0
  296. package/dist/{renderer-C_TPMHiH.mjs → renderer-CjT5Zy-J.mjs} +81 -221
  297. package/dist/renderer-CjT5Zy-J.mjs.map +1 -0
  298. package/dist/{renderer-_uvdg48N.mjs → renderer-Cjq1s3br.mjs} +24 -93
  299. package/dist/renderer-Cjq1s3br.mjs.map +1 -0
  300. package/dist/renderer-Cl70zxkP.mjs +5 -0
  301. package/dist/renderer-ClJjoVpB.mjs +6 -0
  302. package/dist/{renderer-BSaYG8aw.mjs → renderer-CpKNqciR.mjs} +3 -1
  303. package/dist/{renderer-Bfgd4N0O.mjs → renderer-Cwhux4VX.mjs} +9 -16
  304. package/dist/renderer-Cwhux4VX.mjs.map +1 -0
  305. package/dist/{renderer-BJ1aTkZf.mjs → renderer-D0nWLogn.mjs} +99 -282
  306. package/dist/renderer-D0nWLogn.mjs.map +1 -0
  307. package/dist/{renderer-vqkKWqa5.mjs → renderer-D1lynYuy.mjs} +23 -107
  308. package/dist/renderer-D1lynYuy.mjs.map +1 -0
  309. package/dist/{renderer-B8-kzZdP.mjs → renderer-D4sYVV-I.mjs} +41 -140
  310. package/dist/renderer-D4sYVV-I.mjs.map +1 -0
  311. package/dist/{renderer-Bc04fivZ.mjs → renderer-D5z3WDkm.mjs} +99 -287
  312. package/dist/renderer-D5z3WDkm.mjs.map +1 -0
  313. package/dist/renderer-D8C-pamu.mjs +148 -0
  314. package/dist/renderer-D8C-pamu.mjs.map +1 -0
  315. package/dist/{renderer-D_1oDOCP.mjs → renderer-DAtBnNGC.mjs} +14 -69
  316. package/dist/renderer-DAtBnNGC.mjs.map +1 -0
  317. package/dist/{renderer-DZGtBUCx.mjs → renderer-DG1NFsSV.mjs} +35 -185
  318. package/dist/renderer-DG1NFsSV.mjs.map +1 -0
  319. package/dist/{renderer-BM05sB8m.mjs → renderer-DHAErBtJ.mjs} +11 -74
  320. package/dist/renderer-DHAErBtJ.mjs.map +1 -0
  321. package/dist/{renderer-RKsXlF_0.mjs → renderer-DIDSmoFA.mjs} +73 -73
  322. package/dist/{renderer-RKsXlF_0.mjs.map → renderer-DIDSmoFA.mjs.map} +1 -1
  323. package/dist/{renderer-BDbTWSpP.mjs → renderer-DKtP7-fr.mjs} +58 -234
  324. package/dist/renderer-DKtP7-fr.mjs.map +1 -0
  325. package/dist/renderer-DLnF-V_h.mjs +5 -0
  326. package/dist/renderer-DN1rjmcL.mjs +5 -0
  327. package/dist/{renderer-CfC_aiew.mjs → renderer-DOEsFT7Q.mjs} +57 -192
  328. package/dist/renderer-DOEsFT7Q.mjs.map +1 -0
  329. package/dist/{renderer-Ctk2zzfy.mjs → renderer-DPYB6ZcB.mjs} +57 -197
  330. package/dist/renderer-DPYB6ZcB.mjs.map +1 -0
  331. package/dist/{renderer-CWTpc4ff.mjs → renderer-DRsPCkxr.mjs} +76 -210
  332. package/dist/renderer-DRsPCkxr.mjs.map +1 -0
  333. package/dist/renderer-DXTw9Oqb.mjs +5 -0
  334. package/dist/{renderer-CaaOKMSd.mjs → renderer-DZLJnnU2.mjs} +63 -190
  335. package/dist/renderer-DZLJnnU2.mjs.map +1 -0
  336. package/dist/{renderer-B2ieylQ3.mjs → renderer-DZrQffIP.mjs} +56 -167
  337. package/dist/renderer-DZrQffIP.mjs.map +1 -0
  338. package/dist/renderer-DbAVSBNI.mjs +5 -0
  339. package/dist/renderer-Dg8rD--8.mjs +5 -0
  340. package/dist/{renderer-DML9qpmS.mjs → renderer-DhEyjn6Q.mjs} +52 -202
  341. package/dist/renderer-DhEyjn6Q.mjs.map +1 -0
  342. package/dist/{renderer-CdciwwMI.mjs → renderer-Dmv_Aj6x.mjs} +161 -457
  343. package/dist/renderer-Dmv_Aj6x.mjs.map +1 -0
  344. package/dist/renderer-DnFxegGu.mjs +5 -0
  345. package/dist/renderer-DnfmelHn.mjs +5 -0
  346. package/dist/{renderer-BIIWCg_J.mjs → renderer-Dpj68gTn.mjs} +11 -18
  347. package/dist/renderer-Dpj68gTn.mjs.map +1 -0
  348. package/dist/renderer-DuOjzggd.mjs +5 -0
  349. package/dist/renderer-DuuOlYIG.mjs +3 -0
  350. package/dist/renderer-DvYql0Cl.mjs +5 -0
  351. package/dist/{renderer-BfAWZziM.mjs → renderer-DzhRNdBS.mjs} +58 -225
  352. package/dist/renderer-DzhRNdBS.mjs.map +1 -0
  353. package/dist/renderer-GSFP7v2z.mjs +3 -0
  354. package/dist/renderer-LfUdjgjF.mjs +5 -0
  355. package/dist/{renderer-Djlb4TLO.mjs → renderer-Q63y7HP_.mjs} +8 -15
  356. package/dist/renderer-Q63y7HP_.mjs.map +1 -0
  357. package/dist/renderer-SecCv3U8.mjs +5 -0
  358. package/dist/{renderer-BhZZEyFX.mjs → renderer-mp1NN5zk.mjs} +4 -4
  359. package/dist/{renderer-BhZZEyFX.mjs.map → renderer-mp1NN5zk.mjs.map} +1 -1
  360. package/dist/renderer-oZyoB4CT.mjs +5 -0
  361. package/dist/renderer-rzci_kTy.mjs +5 -0
  362. package/dist/{renderer-CpkiHRhh.mjs → renderer-to9DwqXK.mjs} +17 -99
  363. package/dist/renderer-to9DwqXK.mjs.map +1 -0
  364. package/dist/{renderer-CepMDQ06.mjs → renderer-v0vuUUUI.mjs} +19 -106
  365. package/dist/renderer-v0vuUUUI.mjs.map +1 -0
  366. package/dist/renderer-vLaZuZbX.mjs +5 -0
  367. package/dist/{renderers-CP8CFWDs-DwQTx8S7.mjs → renderers-CP8CFWDs-DlFq8jmz.mjs} +4 -4
  368. package/dist/{renderers-CP8CFWDs-DwQTx8S7.mjs.map → renderers-CP8CFWDs-DlFq8jmz.mjs.map} +1 -1
  369. package/dist/signals/index.d.mts +5 -5
  370. package/dist/signals/index.mjs +7 -7
  371. package/dist/{signals-Bv1OweKd.mjs → signals-BDkO0xcZ.mjs} +3 -3
  372. package/dist/{signals-Bv1OweKd.mjs.map → signals-BDkO0xcZ.mjs.map} +1 -1
  373. package/dist/{signin-Db08vl-g.mjs → signin-SVSXQw9i.mjs} +9 -9
  374. package/dist/{signin-Db08vl-g.mjs.map → signin-SVSXQw9i.mjs.map} +1 -1
  375. package/dist/{sso-oidc-CpLz_lIu.mjs → sso-oidc-B3Sagl43.mjs} +9 -9
  376. package/dist/{sso-oidc-CpLz_lIu.mjs.map → sso-oidc-B3Sagl43.mjs.map} +1 -1
  377. package/dist/{sts-BQefGuml.mjs → sts-CYeWec9i.mjs} +2 -2
  378. package/dist/{sts-Dgl0kH-t.mjs → sts-ClVtt-bV.mjs} +9 -9
  379. package/dist/{sts-Dgl0kH-t.mjs.map → sts-ClVtt-bV.mjs.map} +1 -1
  380. package/package.json +55 -55
  381. package/dist/dist-BAVZdFEJ.mjs.map +0 -1
  382. package/dist/dist-BYqNNwsl.mjs.map +0 -1
  383. package/dist/dist-CbG3QxDw.mjs.map +0 -1
  384. package/dist/dist-Cxi68OuY.mjs.map +0 -1
  385. package/dist/dist-cjs-3pon9kTt.mjs +0 -6
  386. package/dist/fonts-C0W6TgJk.mjs.map +0 -1
  387. package/dist/index-9B8CJowc.d.mts.map +0 -1
  388. package/dist/index-DDEPvMww.d.mts.map +0 -1
  389. package/dist/index-DnWsbbuZ.d.mts.map +0 -1
  390. package/dist/preview-engine/chunk-36YGYLKD.mjs +0 -58
  391. package/dist/preview-engine/chunk-7O24H4YT.mjs +0 -117
  392. package/dist/preview-engine/chunk-AUFSM5KI.mjs +0 -141
  393. package/dist/preview-engine/chunk-BQ65MU6H.mjs +0 -138
  394. package/dist/preview-engine/chunk-BWDARDO6.mjs +0 -117
  395. package/dist/preview-engine/chunk-DLXQDDIN.mjs +0 -46
  396. package/dist/preview-engine/chunk-EJGLUZMW.mjs +0 -1
  397. package/dist/preview-engine/chunk-FE6RSVKZ.mjs +0 -73
  398. package/dist/preview-engine/chunk-FGHOHCFG.mjs +0 -110
  399. package/dist/preview-engine/chunk-HPIULG7P.mjs +0 -111
  400. package/dist/preview-engine/chunk-HRIKNYPF.mjs +0 -60
  401. package/dist/preview-engine/chunk-IMV5SBQV.mjs +0 -1
  402. package/dist/preview-engine/chunk-JPXQPP6J.mjs +0 -1
  403. package/dist/preview-engine/chunk-K52S5DJX.mjs +0 -109
  404. package/dist/preview-engine/chunk-L3IEJZ5S.mjs +0 -474
  405. package/dist/preview-engine/chunk-M7NMFDJ3.mjs +0 -3
  406. package/dist/preview-engine/chunk-MJM3NFEC.mjs +0 -315
  407. package/dist/preview-engine/chunk-NFAGEP43.mjs +0 -1448
  408. package/dist/preview-engine/chunk-NRHSNPZV.mjs +0 -182
  409. package/dist/preview-engine/chunk-OWOSYNMF.mjs +0 -104
  410. package/dist/preview-engine/chunk-Q66QQI6N.mjs +0 -8
  411. package/dist/preview-engine/chunk-QGBSLNFI.mjs +0 -52
  412. package/dist/preview-engine/chunk-QM3XFEJN.mjs +0 -63
  413. package/dist/preview-engine/chunk-R3ZH7YF3.mjs +0 -89
  414. package/dist/preview-engine/chunk-R6YNSBKL.mjs +0 -108
  415. package/dist/preview-engine/chunk-S4CSX6K5.mjs +0 -610
  416. package/dist/preview-engine/chunk-SNYAHQ25.mjs +0 -186
  417. package/dist/preview-engine/chunk-SRT2OCQW.mjs +0 -1
  418. package/dist/preview-engine/chunk-SUUUYXXT.mjs +0 -1
  419. package/dist/preview-engine/chunk-T6COGNOW.mjs +0 -134
  420. package/dist/preview-engine/chunk-XFYXT76H.mjs +0 -52
  421. package/dist/preview-engine/chunk-XUM42I4R.mjs +0 -1
  422. package/dist/preview-engine/chunk-YITWSOG4.mjs +0 -103
  423. package/dist/preview-engine/chunk-ZDCA6NVT.mjs +0 -82
  424. package/dist/preview-engine/chunk-ZNGOAGAI.mjs +0 -1
  425. package/dist/preview-engine/renderers-27Q5X3U6.mjs +0 -1
  426. package/dist/preview-engine/renderers-4AHH6BHF.mjs +0 -1
  427. package/dist/preview-engine/renderers-5BV6JGTU.mjs +0 -248
  428. package/dist/preview-engine/renderers-6PRVCTYV.mjs +0 -1
  429. package/dist/preview-engine/renderers-76PQY2SO.mjs +0 -1
  430. package/dist/preview-engine/renderers-7X2W6QWX.mjs +0 -1
  431. package/dist/preview-engine/renderers-B52QT6MT.mjs +0 -55
  432. package/dist/preview-engine/renderers-BE6RVJSE.mjs +0 -1
  433. package/dist/preview-engine/renderers-BMM2BH56.mjs +0 -1
  434. package/dist/preview-engine/renderers-CHOGQHVQ.mjs +0 -1
  435. package/dist/preview-engine/renderers-CRKRWR2Y.mjs +0 -1
  436. package/dist/preview-engine/renderers-DEYDSGJX.mjs +0 -1
  437. package/dist/preview-engine/renderers-DZTNRCR7.mjs +0 -1
  438. package/dist/preview-engine/renderers-ELO3KWTK.mjs +0 -1
  439. package/dist/preview-engine/renderers-EOJMPPAQ.mjs +0 -1
  440. package/dist/preview-engine/renderers-F2KJNDWA.mjs +0 -124
  441. package/dist/preview-engine/renderers-FCV4COVB.mjs +0 -1
  442. package/dist/preview-engine/renderers-G5KQISVL.mjs +0 -1
  443. package/dist/preview-engine/renderers-GJSUN5HU.mjs +0 -1
  444. package/dist/preview-engine/renderers-GMX2ZQDG.mjs +0 -1
  445. package/dist/preview-engine/renderers-GXCRINGC.mjs +0 -1
  446. package/dist/preview-engine/renderers-IHKORHMT.mjs +0 -1
  447. package/dist/preview-engine/renderers-JA4SLMG3.mjs +0 -1
  448. package/dist/preview-engine/renderers-JLN77CFZ.mjs +0 -1
  449. package/dist/preview-engine/renderers-KBFW7B5F.mjs +0 -1
  450. package/dist/preview-engine/renderers-LJRJMFCR.mjs +0 -1
  451. package/dist/preview-engine/renderers-LPAPZ5QS.mjs +0 -1
  452. package/dist/preview-engine/renderers-NQUDQEHY.mjs +0 -1
  453. package/dist/preview-engine/renderers-NS3AIJVG.mjs +0 -1
  454. package/dist/preview-engine/renderers-NSY2SDIE.mjs +0 -1
  455. package/dist/preview-engine/renderers-PW4OJWHF.mjs +0 -120
  456. package/dist/preview-engine/renderers-PWLWOZY4.mjs +0 -1
  457. package/dist/preview-engine/renderers-Q3MD34JN.mjs +0 -1
  458. package/dist/preview-engine/renderers-RXGNA2Q7.mjs +0 -1
  459. package/dist/preview-engine/renderers-TVTQ2R74.mjs +0 -1
  460. package/dist/preview-engine/renderers-VTTGFO55.mjs +0 -1
  461. package/dist/preview-engine/renderers-W3VVM5HB.mjs +0 -1
  462. package/dist/preview-engine/renderers-WG7QBD4D.mjs +0 -1
  463. package/dist/preview-engine/renderers-WLLJFZTF.mjs +0 -1
  464. package/dist/preview-engine/renderers-WN4SYFCU.mjs +0 -1
  465. package/dist/preview-engine/renderers-WSMLLSWX.mjs +0 -1
  466. package/dist/preview-engine/renderers-XFBSGTHU.mjs +0 -1
  467. package/dist/preview-engine/renderers-XFC6ZPO5.mjs +0 -1
  468. package/dist/preview-engine/renderers-XUHRY3XH.mjs +0 -1
  469. package/dist/preview-engine/renderers-YAOB5XU6.mjs +0 -1
  470. package/dist/preview-engine/renderers-YTB4FOHT.mjs +0 -1
  471. package/dist/preview-engine/renderers-ZIMBODX6.mjs +0 -1
  472. package/dist/program-BmNKgzja.mjs.map +0 -1
  473. package/dist/renderer-1VuQTY1Z.mjs.map +0 -1
  474. package/dist/renderer-6oMSare3.mjs +0 -3
  475. package/dist/renderer-B1ComPb2.mjs +0 -3
  476. package/dist/renderer-B2XzjK0z.mjs +0 -3
  477. package/dist/renderer-B2ieylQ3.mjs.map +0 -1
  478. package/dist/renderer-B8-kzZdP.mjs.map +0 -1
  479. package/dist/renderer-B8UaFNqb.mjs.map +0 -1
  480. package/dist/renderer-BDbTWSpP.mjs.map +0 -1
  481. package/dist/renderer-BIIWCg_J.mjs.map +0 -1
  482. package/dist/renderer-BJ1aTkZf.mjs.map +0 -1
  483. package/dist/renderer-BM05sB8m.mjs.map +0 -1
  484. package/dist/renderer-BQ5Bz5D0.mjs +0 -3
  485. package/dist/renderer-BREIjsUU.mjs.map +0 -1
  486. package/dist/renderer-BTu2EVhF.mjs +0 -3
  487. package/dist/renderer-BZcn_iBl.mjs +0 -3
  488. package/dist/renderer-Bc04fivZ.mjs.map +0 -1
  489. package/dist/renderer-BfAWZziM.mjs.map +0 -1
  490. package/dist/renderer-BfJSUjPN.mjs +0 -3
  491. package/dist/renderer-Bfgd4N0O.mjs.map +0 -1
  492. package/dist/renderer-Bhdf90Zq.mjs.map +0 -1
  493. package/dist/renderer-Bp6sDMa6.mjs +0 -3
  494. package/dist/renderer-Bt7_sb_Y.mjs +0 -3
  495. package/dist/renderer-Bv6q84TU.mjs.map +0 -1
  496. package/dist/renderer-C-H680_l.mjs +0 -3
  497. package/dist/renderer-C606ZPUn.mjs +0 -3
  498. package/dist/renderer-C9jyKn1i.mjs +0 -3
  499. package/dist/renderer-CDLrNgfo.mjs +0 -3
  500. package/dist/renderer-CERfcxgv.mjs +0 -3
  501. package/dist/renderer-CG5PzNkv.mjs +0 -3
  502. package/dist/renderer-CI7sG_cv.mjs.map +0 -1
  503. package/dist/renderer-CPoIMVdk.mjs +0 -3
  504. package/dist/renderer-CQdVj2JS.mjs +0 -3
  505. package/dist/renderer-CQiTodg9.mjs +0 -337
  506. package/dist/renderer-CQiTodg9.mjs.map +0 -1
  507. package/dist/renderer-CWTpc4ff.mjs.map +0 -1
  508. package/dist/renderer-CXn5HAnK.mjs.map +0 -1
  509. package/dist/renderer-CZgB5st8.mjs +0 -3
  510. package/dist/renderer-C_TPMHiH.mjs.map +0 -1
  511. package/dist/renderer-Ca7L1EOp.mjs +0 -3
  512. package/dist/renderer-CaaOKMSd.mjs.map +0 -1
  513. package/dist/renderer-CdciwwMI.mjs.map +0 -1
  514. package/dist/renderer-CepMDQ06.mjs.map +0 -1
  515. package/dist/renderer-CfC_aiew.mjs.map +0 -1
  516. package/dist/renderer-ChdLYS-G.mjs.map +0 -1
  517. package/dist/renderer-CkykdR_D.mjs +0 -3
  518. package/dist/renderer-Cl6GkeHx.mjs +0 -3
  519. package/dist/renderer-ClcjrFyo.mjs +0 -3
  520. package/dist/renderer-CnXW28b9.mjs.map +0 -1
  521. package/dist/renderer-CpkiHRhh.mjs.map +0 -1
  522. package/dist/renderer-CtVkU_GA.mjs +0 -44
  523. package/dist/renderer-CtVkU_GA.mjs.map +0 -1
  524. package/dist/renderer-Ctk2zzfy.mjs.map +0 -1
  525. package/dist/renderer-CtyD_Xju.mjs.map +0 -1
  526. package/dist/renderer-CySUP_wk.mjs +0 -3
  527. package/dist/renderer-CzPWB0Ss.mjs.map +0 -1
  528. package/dist/renderer-D2XD4QYk.mjs.map +0 -1
  529. package/dist/renderer-D2l_Odyg.mjs +0 -3
  530. package/dist/renderer-D7zvPHKn.mjs.map +0 -1
  531. package/dist/renderer-D9NnIx7o.mjs +0 -3
  532. package/dist/renderer-DCPCYySt.mjs +0 -3
  533. package/dist/renderer-DEJwPRkR.mjs.map +0 -1
  534. package/dist/renderer-DIkpJEOZ.mjs +0 -3
  535. package/dist/renderer-DML9qpmS.mjs.map +0 -1
  536. package/dist/renderer-DNSXPkf_.mjs +0 -3
  537. package/dist/renderer-DP-CvZ_Z.mjs +0 -3
  538. package/dist/renderer-DZGtBUCx.mjs.map +0 -1
  539. package/dist/renderer-D_1oDOCP.mjs.map +0 -1
  540. package/dist/renderer-DeXb8R6h.mjs +0 -3
  541. package/dist/renderer-DezO-ZaP.mjs +0 -4
  542. package/dist/renderer-DhXe04fC.mjs +0 -3
  543. package/dist/renderer-DirxsOjq.mjs.map +0 -1
  544. package/dist/renderer-Djlb4TLO.mjs.map +0 -1
  545. package/dist/renderer-DnH3SI7w.mjs +0 -3
  546. package/dist/renderer-DpGc-N3G.mjs.map +0 -1
  547. package/dist/renderer-Dpw4oi33.mjs +0 -3
  548. package/dist/renderer-DxTs4Iyi.mjs.map +0 -1
  549. package/dist/renderer-Dy0utCl7.mjs.map +0 -1
  550. package/dist/renderer-Md-ytU0v.mjs +0 -3
  551. package/dist/renderer-U-bhWO9Q.mjs +0 -3
  552. package/dist/renderer-_uvdg48N.mjs.map +0 -1
  553. package/dist/renderer-bsWnRNpJ.mjs.map +0 -1
  554. package/dist/renderer-cgxO2xN6.mjs.map +0 -1
  555. package/dist/renderer-d5-F_48R.mjs +0 -3
  556. package/dist/renderer-ho_jXJ0H.mjs.map +0 -1
  557. package/dist/renderer-vqkKWqa5.mjs.map +0 -1
  558. package/dist/renderer-zA5okHds.mjs +0 -3
  559. /package/dist/{renderer-C2n-EHxg.mjs → renderer-B-BcgA6d.mjs} +0 -0
@@ -1,4 +1,4 @@
1
- import{a as m}from"./chunk-D3TETPLI.mjs";import{c as n,t as g}from"./chunk-ZNGOAGAI.mjs";import{e as i}from"./chunk-BVF64D6H.mjs";i();i();var M=["threshold","ratio","attack","release","knee","makeupGain"],K=()=>`
1
+ import{a as p}from"./chunk-OG62XGCT.mjs";import{c as n,y as f,z as u}from"./chunk-63SFBHEH.mjs";import{e as t}from"./chunk-BVF64D6H.mjs";t();t();var P=["threshold","ratio","attack","release","knee","makeupGain"],y=()=>`
2
2
  struct Uniforms {
3
3
  sampleRate : f32,
4
4
  threshold : f32,
@@ -185,4 +185,4 @@ fn main(@builtin(global_invocation_id) gid : vec3<u32>) {
185
185
  state[0] = clamp(envelope, -120.0f, 0.0f);
186
186
  }
187
187
  }
188
- `,h=async(o,l,u,a)=>{if(!a?.device)throw new Error("GPUDevice is required for WebGPU Dynamics Compressor.");let e=u.operation||{},v=e.inputs||{},k=n(e.threshold,-24),S=n(e.ratio,4),R=n(e.attack,.003),x=n(e.release,.25),_=n(e.knee,6),G=n(e.makeupGain,0),f=r=>{let s=e[r];if(typeof s!="string"||!s)return!1;let t=v[s];return!!(t?.connectionValid&&t.outputItem&&(t.outputItem.type==="Signal"||t.outputItem.type==="Number"))},b=f("thresholdHandleId")?1:0,C=f("ratioHandleId")?1:0,B=f("attackHandleId")?1:0,A=f("releaseHandleId")?1:0,V=f("kneeHandleId")?1:0,y=f("makeupGainHandleId")?1:0,d=o.length;if(d===0)return;let p=o[0].length;if(p===0)return;let I=e.id||"audio-compressor",c=a.frame??0,T=a.fps??24;await m.process(a.device,I,o,l,u,c,T,K,r=>[l,k,S,R,x,_,G,b,C,B,A,V,y,r,c,p,d,0,0,0],20,1,a?.renderId,!0,a?.elapsedMs,a?.durationMs,void 0,void 0,M)};var L=g({audioProcessor:h});export{L as a};
188
+ `,g=async(i,o,r,a)=>{if(!a?.device)throw new Error("GPUDevice is required for WebGPU Dynamics Compressor.");let e=r.operation||{},c=n(e.threshold,-24),m=n(e.ratio,4),h=n(e.attack,.003),v=n(e.release,.25),k=n(e.knee,6),S=n(e.makeupGain,0),R=f(e,"thresholdHandleId")?1:0,x=f(e,"ratioHandleId")?1:0,_=f(e,"attackHandleId")?1:0,G=f(e,"releaseHandleId")?1:0,C=f(e,"kneeHandleId")?1:0,A=f(e,"makeupGainHandleId")?1:0,s=i.length;if(s===0)return;let l=i[0].length;if(l===0)return;let B=e.id||"audio-compressor",d=a.frame??0,b=a.fps??24;await p.process(a.device,B,i,o,r,d,b,y,V=>[o,c,m,h,v,k,S,R,x,_,G,C,A,V,d,l,s,0,0,0],20,1,a?.renderId,!0,a?.elapsedMs,a?.durationMs,void 0,void 0,P)};var D=u({audioProcessor:g});export{D as a};
@@ -1 +1 @@
1
- import{a as l}from"./chunk-MJM3NFEC.mjs";import{b as w}from"./chunk-HYBAPT6I.mjs";import{d as u,e as p}from"./chunk-BVF64D6H.mjs";p();var g=null,i=new Map,b=new Set,c=new Map,F=new Map;async function v(e,r){let t=r;if(r.startsWith("/"))if(w)t=`${w}${r}`;else{let s=await import("./shims/fs-promises.mjs");try{await s.access(r)}catch{throw new Error(`Relative font URL "${r}" cannot be resolved because BASE_URL is not configured.`)}}if(i.has(t))return i.get(t);if(t.startsWith("file://"))try{let s=new URL(t).pathname;return u.platform==="win32"&&s.startsWith("/")&&(s=s.slice(1)),i.set(t,s),s}catch{let s=t.replace(/^file:\/\//,"");return i.set(t,s),s}if(!t.startsWith("http://")&&!t.startsWith("https://"))return t;let n=await import("./shims/fs-promises.mjs"),a=await import("./shims/path.mjs"),o=await import("./shims/os.mjs");g||(g=a.join(o.tmpdir(),"gatewai-fonts"),await n.mkdir(g,{recursive:!0}).catch(()=>{}));let $=e.replace(/[^a-zA-Z0-9_-]/g,"_"),m=new URL(t),f=a.extname(m.pathname);(!f||f.length>5)&&(f=".ttf");let d=a.join(g,`${$}-${Date.now()}${f}`),h=await fetch(t);if(!h.ok)throw new Error(`Failed to fetch font from ${t}: ${h.statusText}`);let P=await h.arrayBuffer();return await n.writeFile(d,Buffer.from(P)),i.set(t,d),d}async function U(e,r){if(c.has(e))return c.get(e);let t=globalThis;try{let n=await v(e,r);c.set(e,n),l(n===r?`[registerHeadlessFont] Registered "${e}" from ${n}`:`[registerHeadlessFont] Registered "${e}" from ${r} (cached at ${n})`);try{t.OffscreenCanvas&&typeof t.OffscreenCanvas.registerFont=="function"&&(t.OffscreenCanvas.registerFont(n,{family:e}),b.add(e))}catch(a){console.warn(`[registerHeadlessFont] SkiaCanvas registration failed for "${e}" (non-fatal):`,a)}return n}catch(n){console.warn(`[registerHeadlessFont] Failed to download font "${e}" from ${r}:`,n)}}function C(e){return c.get(e)}async function L(e){let r=F.get(e);if(r)return r;let t=c.get(e);if(t)try{let a=await(await import("./shims/fs-promises.mjs")).readFile(t),o=new Uint8Array(a.length);return o.set(a),l(`[getHeadlessFontData] Read local font binary for "${e}" from: ${t} (${o.length} bytes)`),F.set(e,o),o}catch(n){console.warn(`[getHeadlessFontData] Failed to read font file from ${t}:`,n)}}export{U as a,C as b,L as c};
1
+ import{a as l}from"./chunk-BWJS6G7R.mjs";import{b as w}from"./chunk-HYBAPT6I.mjs";import{d as u,e as p}from"./chunk-BVF64D6H.mjs";p();var g=null,i=new Map,b=new Set,c=new Map,F=new Map;async function v(e,r){let t=r;if(r.startsWith("/"))if(w)t=`${w}${r}`;else{let s=await import("./shims/fs-promises.mjs");try{await s.access(r)}catch{throw new Error(`Relative font URL "${r}" cannot be resolved because BASE_URL is not configured.`)}}if(i.has(t))return i.get(t);if(t.startsWith("file://"))try{let s=new URL(t).pathname;return u.platform==="win32"&&s.startsWith("/")&&(s=s.slice(1)),i.set(t,s),s}catch{let s=t.replace(/^file:\/\//,"");return i.set(t,s),s}if(!t.startsWith("http://")&&!t.startsWith("https://"))return t;let n=await import("./shims/fs-promises.mjs"),a=await import("./shims/path.mjs"),o=await import("./shims/os.mjs");g||(g=a.join(o.tmpdir(),"gatewai-fonts"),await n.mkdir(g,{recursive:!0}).catch(()=>{}));let $=e.replace(/[^a-zA-Z0-9_-]/g,"_"),m=new URL(t),f=a.extname(m.pathname);(!f||f.length>5)&&(f=".ttf");let d=a.join(g,`${$}-${Date.now()}${f}`),h=await fetch(t);if(!h.ok)throw new Error(`Failed to fetch font from ${t}: ${h.statusText}`);let P=await h.arrayBuffer();return await n.writeFile(d,Buffer.from(P)),i.set(t,d),d}async function U(e,r){if(c.has(e))return c.get(e);let t=globalThis;try{let n=await v(e,r);c.set(e,n),l(n===r?`[registerHeadlessFont] Registered "${e}" from ${n}`:`[registerHeadlessFont] Registered "${e}" from ${r} (cached at ${n})`);try{t.OffscreenCanvas&&typeof t.OffscreenCanvas.registerFont=="function"&&(t.OffscreenCanvas.registerFont(n,{family:e}),b.add(e))}catch(a){console.warn(`[registerHeadlessFont] SkiaCanvas registration failed for "${e}" (non-fatal):`,a)}return n}catch(n){console.warn(`[registerHeadlessFont] Failed to download font "${e}" from ${r}:`,n)}}function C(e){return c.get(e)}async function L(e){let r=F.get(e);if(r)return r;let t=c.get(e);if(t)try{let a=await(await import("./shims/fs-promises.mjs")).readFile(t),o=new Uint8Array(a.length);return o.set(a),l(`[getHeadlessFontData] Read local font binary for "${e}" from: ${t} (${o.length} bytes)`),F.set(e,o),o}catch(n){console.warn(`[getHeadlessFontData] Failed to read font file from ${t}:`,n)}}export{U as a,C as b,L as c};
@@ -0,0 +1,22 @@
1
+ import{d as c}from"./chunk-6YJP57MZ.mjs";import{e as p}from"./chunk-BVF64D6H.mjs";p();var l={r:0,g:0,b:0,a:0},m=`
2
+ struct VSOut {
3
+ @builtin(position) pos : vec4<f32>,
4
+ @location(0) uv : vec2<f32>,
5
+ };
6
+
7
+ @vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
8
+ var pos = array<vec2<f32>, 4>(
9
+ vec2<f32>(-1.0, 1.0),
10
+ vec2<f32>(1.0, 1.0),
11
+ vec2<f32>(-1.0, -1.0),
12
+ vec2<f32>(1.0, -1.0)
13
+ );
14
+ var uv = array<vec2<f32>, 4>(
15
+ vec2<f32>(0.0, 0.0),
16
+ vec2<f32>(1.0, 0.0),
17
+ vec2<f32>(0.0, 1.0),
18
+ vec2<f32>(1.0, 1.0)
19
+ );
20
+ return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
21
+ }
22
+ `,G={color:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"}},y={color:{srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha",operation:"add"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"}};function P(e,r,n){return e.createBindGroupLayout({...n&&{label:n},entries:r.map((t,i)=>t==="uniform"?{binding:i,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}:t==="texture"?{binding:i,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}}:t==="sampler"?{binding:i,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}:{visibility:GPUShaderStage.FRAGMENT,...t,binding:i})})}function v(e,r){return P(e,[...Array(r).fill("texture"),"sampler"])}function T(e){let r=new WeakMap;return n=>{let t=r.get(n);return t===void 0&&(t=e(n),r.set(n,t)),t}}function h(e,r){let{module:n,format:t,blend:i}=r;return e.createRenderPipeline({...r.label&&{label:r.label},layout:Array.isArray(r.layouts)?e.createPipelineLayout({bindGroupLayouts:r.layouts}):r.layouts,vertex:{module:n,entryPoint:r.vertexEntryPoint??"vs"},fragment:{module:n,entryPoint:r.fragmentEntryPoint??"fs",targets:[i?{format:t,blend:i}:{format:t}]},primitive:{topology:"triangle-strip"}})}async function U(e,r,n={}){let{ctx:t,encoder:i,props:o}=e,a=n.width??e.targetWidth,d=n.height??e.targetHeight,u=t.renderer.getTemporaryTexture(a,d,[...o.excludeTextures||[],e.targetTexture,...n.exclude??[]]),s=u.createView();return t.renderer.beginFrame(i,s,l,a,d,"clear").end(),t.renderer.pushScissor({x:0,y:0,width:a,height:d}),t.renderer.pushIdentity(),await e.drawChild(r,n.props??{...o,virtualMedia:r},s,u,a,d),t.renderer.popTransform(),t.renderer.popScissor(),{texture:u,view:s}}function g(e,r=e.targetWidth,n=e.targetHeight){let t=e.ctx.renderer.beginFrame(e.encoder,e.targetView,l,r,n,"load");return e.pass=t,t}function b(e,r,n=1){let{targetWidth:t,targetHeight:i}=e;e.ctx.renderer.drawTexture(g(e),r,{x:0,y:0,width:t,height:i},{opacity:n})}function S(e,r,n,t=0){let i=e.virtualMedia?.metadata?.durationMs;return{elapsedSeconds:e.elapsedMs!==void 0?e.elapsedMs/1e3:r/n,durationSeconds:i?i/1e3:e.durationMs!==void 0?e.durationMs/1e3:t}}function w(e,r,n){let{args:t}=e;return r.gpuTextureView?r.gpuTextureView:r.hasStaticSig&&r.sd?c.getOrCreate2DTextureView(t.ctx.device,t.encoder,r.sd.nodeId??n,e.elapsedSeconds,e.durationSeconds,r.sd,e.width,e.height,t.props.renderId,e.frame,e.fps):c.getDummy1x1TextureView(t.ctx.device)}function R(e,r,n,t){let i=e.beginRenderPass({colorAttachments:[{view:r,loadOp:"clear",storeOp:"store",clearValue:l}]});i.setPipeline(n),t.forEach((o,a)=>{i.setBindGroup(a,o)}),i.draw(4),i.end()}export{m as a,G as b,y as c,P as d,v as e,T as f,h as g,U as h,g as i,b as j,S as k,w as l,R as m};
@@ -1,4 +1,4 @@
1
- import{a as I}from"./chunk-D3TETPLI.mjs";import{c as n,t as _}from"./chunk-ZNGOAGAI.mjs";import{e as o}from"./chunk-BVF64D6H.mjs";o();o();var T=["roomSize","damping","wet","dry","width"],k=()=>`
1
+ import{a as _}from"./chunk-OG62XGCT.mjs";import{c as a,y as n,z as O}from"./chunk-63SFBHEH.mjs";import{e as u}from"./chunk-BVF64D6H.mjs";u();u();var U=["roomSize","damping","wet","dry","width"],G=()=>`
2
2
  struct Uniforms {
3
3
  sampleRate : f32,
4
4
  roomSize : f32,
@@ -268,4 +268,4 @@ fn main(@builtin(global_invocation_id) gid : vec3<u32>) {
268
268
  state[metaOffset + 3u] = filterStores[f];
269
269
  }
270
270
  }
271
- `,R=[1116,1188,1277,1356,1422,1491,1557,1617],z=[556,441,341,225],y=async(l,d,c,t)=>{if(!t?.device)throw new Error("GPUDevice is required for WebGPU Reverb.");let e=c.operation||{},V=e.inputs||{},b=l.length;if(b===0)return;let v=l[0].length;if(v===0)return;let j=Math.max(0,Math.min(n(e.roomSize,.5),.98)),D=Math.max(0,Math.min(n(e.damping,.5),1)),L=Math.max(0,Math.min(n(e.wet,.3),1)),w=Math.max(0,Math.min(n(e.dry,1),1)),W=Math.max(0,Math.min(n(e.width,1),1)),r=f=>{let a=e[f];if(typeof a!="string"||!a)return!1;let s=V[a];return!!(s?.connectionValid&&s.outputItem&&(s.outputItem.type==="Signal"||s.outputItem.type==="Number"))},M=r("roomSizeHandleId")?1:0,C=r("dampingHandleId")?1:0,A=r("wetHandleId")?1:0,P=r("dryHandleId")?1:0,E=r("widthHandleId")?1:0,u=d/44100,H=e.id||"audio-reverb",S=t.frame??0,F=t.fps??24,m=[],p=[];R.forEach(f=>{m.push(Math.round(f*u))}),R.forEach(f=>{p.push(Math.round((f+23)*u))}),z.forEach(f=>{m.push(Math.round(f*u))}),z.forEach(f=>{p.push(Math.round((f+23)*u))});let g=96,x=0,h=[...m,...p];for(let f of h)x+=f;let U=g+x,i=new Float32Array(g),O=g;for(let f=0;f<24;f++){let a=h[f];i[f*4]=a,i[f*4+1]=O,i[f*4+2]=0,i[f*4+3]=0,O+=a}await I.process(t.device,H,l,d,c,S,F,k,()=>[d,j,D,L,w,W,M,C,A,P,E,0,S,v,b,0],16,U,t?.renderId,!0,t?.elapsedMs,t?.durationMs,i,void 0,T)};var X=_({audioProcessor:y});export{X as a};
271
+ `,R=[1116,1188,1277,1356,1422,1491,1557,1617],z=[556,441,341,225],I=async(s,o,p,t)=>{if(!t?.device)throw new Error("GPUDevice is required for WebGPU Reverb.");let e=p.operation||{},g=s.length;if(g===0)return;let c=s[0].length;if(c===0)return;let V=Math.max(0,Math.min(a(e.roomSize,.5),.98)),y=Math.max(0,Math.min(a(e.damping,.5),1)),j=Math.max(0,Math.min(a(e.wet,.3),1)),D=Math.max(0,Math.min(a(e.dry,1),1)),L=Math.max(0,Math.min(a(e.width,1),1)),w=n(e,"roomSizeHandleId")?1:0,W=n(e,"dampingHandleId")?1:0,M=n(e,"wetHandleId")?1:0,C=n(e,"dryHandleId")?1:0,A=n(e,"widthHandleId")?1:0,i=o/44100,P=e.id||"audio-reverb",v=t.frame??0,E=t.fps??24,l=[],d=[];R.forEach(f=>{l.push(Math.round(f*i))}),R.forEach(f=>{d.push(Math.round((f+23)*i))}),z.forEach(f=>{l.push(Math.round(f*i))}),z.forEach(f=>{d.push(Math.round((f+23)*i))});let m=96,b=0,x=[...l,...d];for(let f of x)b+=f;let H=m+b,r=new Float32Array(m),S=m;for(let f=0;f<24;f++){let h=x[f];r[f*4]=h,r[f*4+1]=S,r[f*4+2]=0,r[f*4+3]=0,S+=h}await _.process(t.device,P,s,o,p,v,E,G,()=>[o,V,y,j,D,L,w,W,M,C,A,0,v,c,g,0],16,H,t?.renderId,!0,t?.elapsedMs,t?.durationMs,r,void 0,U)};var K=O({audioProcessor:I});export{K as a};
@@ -1,4 +1,4 @@
1
- import{a as S}from"./chunk-D3TETPLI.mjs";import{c as t,t as c}from"./chunk-ZNGOAGAI.mjs";import{e as r}from"./chunk-BVF64D6H.mjs";r();r();var H=["threshold","attack","hold","release","range"],q=()=>`
1
+ import{a as p}from"./chunk-OG62XGCT.mjs";import{c as t,y as n,z as m}from"./chunk-63SFBHEH.mjs";import{e as s}from"./chunk-BVF64D6H.mjs";s();s();var C=["threshold","attack","hold","release","range"],I=()=>`
2
2
  struct Uniforms {
3
3
  sampleRate : f32,
4
4
  threshold : f32,
@@ -220,4 +220,4 @@ fn main(@builtin(global_invocation_id) gid : vec3<u32>) {
220
220
  state[6] = f32(writeIndex);
221
221
  state[7] = sumSquares;
222
222
  }
223
- `,h=async(i,f,l,a)=>{if(!a?.device)throw new Error("GPUDevice is required for WebGPU Noise Gate.");let e=l.operation||{},v=e.inputs||{},A=t(e.threshold,-40),R=t(e.attack,.005),k=t(e.hold,.05),x=t(e.release,.1),u=t(e.range,-80),w=u<=-96?0:10**(u/20),n=C=>{let o=e[C];if(typeof o!="string"||!o)return!1;let s=v[o];return!!(s?.connectionValid&&s.outputItem&&(s.outputItem.type==="Signal"||s.outputItem.type==="Number"))},L=n("thresholdHandleId")?1:0,_=n("attackHandleId")?1:0,b=n("holdHandleId")?1:0,T=n("releaseHandleId")?1:0,G=n("rangeHandleId")?1:0,d=i.length;if(d===0)return;let g=i[0].length;if(g===0)return;let p=Math.max(1,Math.round(.01*f)),I=e.id||"audio-noise-gate",m=a.frame??0,V=a.fps??24,P=8+p;await S.process(a.device,I,i,f,l,m,V,q,()=>[f,A,R,k,x,w,p,L,_,b,T,G,0,m,g,d],16,P,a?.renderId,!0,a?.elapsedMs,a?.durationMs,void 0,void 0,H)};var U=c({audioProcessor:h});export{U as a};
223
+ `,c=async(r,f,i,a)=>{if(!a?.device)throw new Error("GPUDevice is required for WebGPU Noise Gate.");let e=i.operation||{},S=t(e.threshold,-40),h=t(e.attack,.005),v=t(e.hold,.05),A=t(e.release,.1),l=t(e.range,-80),R=l<=-96?0:10**(l/20),k=n(e,"thresholdHandleId")?1:0,x=n(e,"attackHandleId")?1:0,w=n(e,"holdHandleId")?1:0,L=n(e,"releaseHandleId")?1:0,_=n(e,"rangeHandleId")?1:0,o=r.length;if(o===0)return;let u=r[0].length;if(u===0)return;let d=Math.max(1,Math.round(.01*f)),T=e.id||"audio-noise-gate",g=a.frame??0,G=a.fps??24,b=8+d;await p.process(a.device,T,r,f,i,g,G,I,()=>[f,S,h,v,A,R,d,k,x,w,L,_,0,g,u,o],16,b,a?.renderId,!0,a?.elapsedMs,a?.durationMs,void 0,void 0,C)};var M=m({audioProcessor:c});export{M as a};
@@ -1 +1 @@
1
- import{I as i,a as e,j as r,u as t,v as o}from"./chunk-NQZKBFC6.mjs";import{e as n}from"./chunk-BVF64D6H.mjs";n();var a=["source-over","source-in","source-out","source-atop","destination-over","destination-in","destination-out","destination-atop","lighter","copy","xor","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],p=e.enum(a),l=e.string().optional(),d=e.number().min(0).max(100),h=e.number().min(0).optional(),S=e.object({animations:e.array(e.object({id:e.string(),type:e.enum(["fade-in","fade-out","slide-in-left","slide-in-right","slide-in-top","slide-in-bottom","zoom-in","zoom-out","rotate-cw","rotate-ccw","bounce","shake"]),value:e.number()})).optional()}),x=e.object({stroke:l,strokeWidth:e.number().min(0).optional(),strokeAlign:e.enum(["inside","center","outside"]).optional().default("inside"),strokeRadius:e.number().min(0).optional()}),f=o(t(e.literal("Image"),r)),g=o(t(e.literal("Video"),i)),R=o(t(e.literal("Audio"),i)),y=o(t(e.literal("Text"),e.string())),b=o(t(e.literal("Number"),e.number())),z=o(t(e.literal("Signal"),e.unknown()));export{l as a,f as b,g as c,z as d};
1
+ import{I as n,a as e,j as r,u as t,v as o}from"./chunk-NQZKBFC6.mjs";import{e as i}from"./chunk-BVF64D6H.mjs";i();var a=["source-over","source-in","source-out","source-atop","destination-over","destination-in","destination-out","destination-atop","lighter","copy","xor","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],p=e.enum(a),l=e.string().optional(),d=e.number().min(0).max(100),h=e.number().min(0).optional(),S=e.object({animations:e.array(e.object({id:e.string(),type:e.enum(["fade-in","fade-out","slide-in-left","slide-in-right","slide-in-top","slide-in-bottom","zoom-in","zoom-out","rotate-cw","rotate-ccw","bounce","shake"]),value:e.number()})).optional()}),x=e.object({stroke:l,strokeWidth:e.number().min(0).optional(),strokeAlign:e.enum(["inside","center","outside"]).optional().default("inside"),strokeRadius:e.number().min(0).optional()}),g=o(t(e.literal("Image"),r)),b=o(t(e.literal("Video"),n)),f=o(t(e.literal("Audio"),n)),R=o(t(e.literal("Text"),e.string())),y=o(t(e.literal("Number"),e.number())),k=o(t(e.literal("Signal"),e.unknown())),z=e.record(e.string(),e.object({connectionValid:e.boolean(),outputItem:e.object({type:e.string(),data:e.unknown()}).nullable().optional()}));export{l as a,g as b,b as c,k as d};
@@ -0,0 +1,88 @@
1
+ import{a as X}from"./chunk-XOEEGC4Z.mjs";import{b as k,c as E}from"./chunk-FLPSWDX4.mjs";import{a as g}from"./chunk-NQZKBFC6.mjs";import{a as W,d as v,e as F,g as M,h as N,j as A,k as O,l as z,m as y}from"./chunk-ENKKLU7B.mjs";import{w as D,z as V}from"./chunk-63SFBHEH.mjs";import{e as s}from"./chunk-BVF64D6H.mjs";s();s();s();var R=250,ne=X().field("radius",g.number().min(.1).max(R).default(3),{bindable:!0,dataTypes:["Number","Signal"],label:"Radius Signal",description:"The cutoff radius in pixels. Frequencies smaller than this radius are preserved."}).field("contrastBoost",g.number().multipleOf(.01).min(1).max(10).default(1),{bindable:!0,dataTypes:["Number","Signal"],label:"Contrast Boost Signal",description:"Multiplier applied to the extracted high-frequency detail delta."}).field("monochrome",g.boolean().default(!0),{description:"When enabled, high-pass delta is converted to luminance before centering on 50% neutral gray."}).build(),ge=ne.schema,fe=g.union([k,E]);var ue=`
2
+ struct HighPassUniforms {
3
+ dirX : f32,
4
+ dirY : f32,
5
+ radius : f32,
6
+ contrastBoost : f32,
7
+
8
+ monochrome : f32,
9
+ hasRadiusSig : f32,
10
+ hasContrastSig : f32,
11
+ isSecondPass : f32,
12
+ };
13
+
14
+ @group(0) @binding(0) var<uniform> u : HighPassUniforms;
15
+ @group(1) @binding(0) var tex : texture_2d<f32>;
16
+ @group(1) @binding(1) var samp : sampler;
17
+ @group(1) @binding(2) var origTex : texture_2d<f32>;
18
+
19
+ @group(2) @binding(0) var radiusSigTex : texture_2d<f32>;
20
+ @group(2) @binding(1) var contrastSigTex : texture_2d<f32>;
21
+ @group(2) @binding(2) var signalSamp : sampler;
22
+ ${W}
23
+
24
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
25
+ let dimensions = vec2<f32>(textureDimensions(tex));
26
+ var radius = u.radius;
27
+ if (u.hasRadiusSig > 0.5) {
28
+ radius = textureSampleLevel(radiusSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
29
+ }
30
+ var contrastBoost = u.contrastBoost;
31
+ if (u.hasContrastSig > 0.5) {
32
+ contrastBoost = textureSampleLevel(contrastSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
33
+ }
34
+
35
+ let origCol = textureSampleLevel(origTex, samp, in.uv, 0.0);
36
+ if (radius <= 0.0) {
37
+ if (u.isSecondPass > 0.5) {
38
+ return vec4<f32>(vec3<f32>(0.5) * origCol.a, origCol.a);
39
+ }
40
+ return origCol;
41
+ }
42
+
43
+ let texelSize = 1.0 / dimensions;
44
+ let spatial_sigma = radius;
45
+ let stepScale = max(1.0, spatial_sigma / 20.0);
46
+ let effectiveSigma = spatial_sigma / stepScale;
47
+ let sampleRadius = min(i32(ceil(3.0 * effectiveSigma)), 64);
48
+ let direction = vec2<f32>(u.dirX, u.dirY);
49
+
50
+ var blurred = vec4<f32>(0.0);
51
+ var totalWeight = 0.0;
52
+
53
+ for (var i = -sampleRadius; i <= sampleRadius; i++) {
54
+ let offset = vec2<f32>(f32(i) * stepScale) * direction * texelSize;
55
+ let x = f32(i) * stepScale;
56
+ let weight = exp(-0.5 * (x / spatial_sigma) * (x / spatial_sigma));
57
+ blurred += textureSampleLevel(tex, samp, in.uv + offset, 0.0) * weight;
58
+ totalWeight += weight;
59
+ }
60
+
61
+ let blurResult = blurred / max(totalWeight, 1e-5);
62
+
63
+ if (u.isSecondPass <= 0.5) {
64
+ // Pass 1: Intermediate horizontal blur
65
+ return blurResult;
66
+ }
67
+
68
+ // Pass 2: Vertical blur complete -> Calculate High Pass difference against original
69
+ if (origCol.a < 1e-5) {
70
+ return vec4<f32>(0.0, 0.0, 0.0, 0.0);
71
+ }
72
+
73
+ let origUnpremult = origCol.rgb / origCol.a;
74
+ let blurUnpremult = blurResult.rgb / max(blurResult.a, 1e-5);
75
+ let diff = origUnpremult - blurUnpremult;
76
+
77
+ var highPassRgb : vec3<f32>;
78
+ if (u.monochrome > 0.5) {
79
+ let lumaDiff = dot(diff, vec3<f32>(0.2126, 0.7152, 0.0722));
80
+ highPassRgb = vec3<f32>(0.5) + vec3<f32>(lumaDiff * contrastBoost);
81
+ } else {
82
+ highPassRgb = vec3<f32>(0.5) + diff * contrastBoost;
83
+ }
84
+
85
+ let clampedRgb = clamp(highPassRgb, vec3<f32>(0.0), vec3<f32>(1.0));
86
+ return vec4<f32>(clampedRgb * origCol.a, origCol.a);
87
+ }
88
+ `,$=new WeakMap,t=new Float32Array(8);function le(r,e){let o=$.get(r);if(o)return o;let f=v(r,["uniform"]),n=v(r,["texture","sampler","texture"]),p=F(r,2),m=r.createShaderModule({code:ue}),a=r.createPipelineLayout({bindGroupLayouts:[f,n,p]}),i=M(r,{module:m,layouts:a,format:e}),u={highPassUniformLayout:f,singleTextureLayout:n,signalTextureLayout:p,highPassPipeline:i};return $.set(r,u),u}var q=async r=>{let{ctx:e,encoder:o,pass:f,targetTexture:n,targetWidth:p,targetHeight:m,props:a}=r,i=a.virtualMedia?.operation;if(i?.op!=="HighPass"||!i)return;let u=a.virtualMedia.children?.[0];if(!u)return;f.end();let T=a.frame??0,G=a.fps||30,h=p,x=m,j=i.inputs?Object.keys(i.inputs)[0]:"highpass_node",H=(c,d,se=0,oe=1e3)=>D(i.inputs,c,d,se,oe),b=H(i.radiusHandleId,Number(i.radius??3),.1,R),P=H(i.contrastBoostHandleId,Number(i.contrastBoost??1),1,10),{texture:l}=await N(r,u),{highPassPipeline:U,highPassUniformLayout:L,singleTextureLayout:Q,signalTextureLayout:J}=le(e.device,e.renderer.format),B=e.renderer.samplerCache.getSampler(e.device),{elapsedSeconds:K,durationSeconds:Z}=O(a,T,G),ee={args:r,width:h,height:x,frame:T,fps:G,elapsedSeconds:K,durationSeconds:Z},_=(c,d)=>z(ee,c,`${j}_${d}`),te=_(b,"radius_sig"),re=_(P,"contrast_sig"),C=(c,d)=>e.device.createBindGroup({layout:Q,entries:[{binding:0,resource:c.createView()},{binding:1,resource:B},{binding:2,resource:d.createView()}]});t[2]=b.val,t[3]=P.val,t[4]=i.monochrome??!0?1:0,t[5]=b.hasStaticSig?1:0,t[6]=P.hasStaticSig?1:0,t[7]=0;let S=e.renderer.getTemporaryTexture(h,x,[l,n,...a.excludeTextures||[]]),I=e.renderer.getTemporaryTexture(h,x,[l,S,n,...a.excludeTextures||[]]),w=e.device.createBindGroup({layout:J,entries:[{binding:0,resource:te},{binding:1,resource:re},{binding:2,resource:B}]});t[0]=1,t[1]=0,t[7]=0;let ie=e.renderer.getTemporaryBuffer(t);y(o,S.createView(),U,[e.device.createBindGroup({layout:L,entries:[{binding:0,resource:{buffer:ie}}]}),C(l,l),w]),t[0]=0,t[1]=1,t[7]=1;let ae=e.renderer.getTemporaryBuffer(t);y(o,I.createView(),U,[e.device.createBindGroup({layout:L,entries:[{binding:0,resource:{buffer:ae}}]}),C(S,l),w]),A(r,I,i.opacity??1)};var Re=V({WebGPURenderer:q});export{Re as a};
@@ -1,3 +1,3 @@
1
- import{d as l}from"./chunk-IYVN2QEL.mjs";import{a as e,q as m,u as n,w as o}from"./chunk-NQZKBFC6.mjs";import{b as i,e as t}from"./chunk-BVF64D6H.mjs";t();var s={};i(s,{AudioSignalExtractorConfigSchema:()=>M,AudioSignalExtractorResultSchema:()=>E,ExtractionModeEnum:()=>p,SignalCurveEnum:()=>f});t();t();t();var p=e.enum(["rms_envelope","transient_beat","sub_bass","bass","mid","high","spectral_flux"]),f=e.enum(["linear","exponential","logarithmic","square","smoothstep"]),M=e.object({extractionMode:p.default("rms_envelope"),attackMs:e.number().min(.5).max(1e3).default(10),releaseMs:e.number().min(1).max(5e3).default(120),sensitivity:e.number().min(.1).max(10).default(1),noiseFloorDb:e.number().min(-90).max(0).default(-48),dynamicRangeDb:e.number().min(6).max(80).default(48),autoRange:e.boolean().default(!0),smoothing:e.number().min(0).max(1).default(.15),curve:f.default("linear"),beatThreshold:e.number().min(.01).max(1).default(.08),beatDecayMs:e.number().min(10).max(1e3).default(80),previewMode:e.enum(["waveform","envelope","beat_markers","spectrum"]).default("envelope")}),E=o(n(e.literal("Signal"),e.any()));var S={};i(S,{FnParamSchema:()=>g,SignalNodeConfigSchema:()=>_,SignalResultSchema:()=>l,WGSL_OUTPUT_TYPES:()=>d,WGSL_PARAM_TYPES:()=>c});t();t();t();var d=["f32"],c=["f32","i32","u32","vec2f","vec3f","vec4f"],g=e.object({name:e.string().regex(/^[a-zA-Z_][a-zA-Z0-9_]*$/,"Must be a valid WGSL identifier"),type:e.enum(c),defaultValue:e.number()}),_=e.object({amplitude:e.number().min(0).default(1),frequency:e.number().min(0).default(1),phase:e.number().min(-2*Math.PI).max(2*Math.PI).default(0),offset:e.number().default(0),amplitudeMin:e.number().default(-1),amplitudeMax:e.number().default(1),spatialScale:e.number().min(0).default(1),spatialSpeed:e.number().default(1),fmAmplitude:e.number().min(0).default(1),fmFrequency:e.number().min(0).default(.5),gateEnabled:e.boolean().default(!1),gateStartFrame:e.number().int().min(0).default(0),gateEndFrame:e.number().int().min(0).default(100),gateIdleValue:e.number().default(0),envelopeUseFrame:e.boolean().default(!0),baseEnabled:e.boolean().default(!0),baseType:e.enum(["sine","triangle","sawtooth","square","constant","noise_smooth","noise_white","pulse","bounce","staircase","custom"]).default("sine"),fmEnabled:e.boolean().default(!1),envelopeEnabled:e.boolean().default(!1),envelopeFamily:e.enum(["linear","sine","quad","cubic","quart","quint","expo","circ","back","elastic","bounce","smoothstep","smootherstep"]).default("sine"),envelopeMode:e.enum(["in","out","in_out"]).default("in_out"),envelopePattern:e.enum(["ramp_up","ramp_down","bell","loop"]).default("ramp_up"),envelopeCycles:e.number().int().min(1).default(2),fnBody:e.string().default(["// Bindings: t: f32 | x y z: f32 | i n frame: u32","// Constants: PI, TAU, E","return u.amplitude * sin(t * u.frequency * TAU + u.phase) + u.offset;"].join(`
1
+ import{d as l}from"./chunk-FLPSWDX4.mjs";import{a as e,q as m,u as n,w as o}from"./chunk-NQZKBFC6.mjs";import{b as i,e as t}from"./chunk-BVF64D6H.mjs";t();var s={};i(s,{AudioSignalExtractorConfigSchema:()=>M,AudioSignalExtractorResultSchema:()=>E,ExtractionModeEnum:()=>p,SignalCurveEnum:()=>f});t();t();t();var p=e.enum(["rms_envelope","transient_beat","sub_bass","bass","mid","high","spectral_flux"]),f=e.enum(["linear","exponential","logarithmic","square","smoothstep"]),M=e.object({extractionMode:p.default("rms_envelope"),attackMs:e.number().min(.5).max(1e3).default(10),releaseMs:e.number().min(1).max(5e3).default(120),sensitivity:e.number().min(.1).max(10).default(1),noiseFloorDb:e.number().min(-90).max(0).default(-48),dynamicRangeDb:e.number().min(6).max(80).default(48),autoRange:e.boolean().default(!0),smoothing:e.number().min(0).max(1).default(.15),curve:f.default("linear"),beatThreshold:e.number().min(.01).max(1).default(.08),beatDecayMs:e.number().min(10).max(1e3).default(80),previewMode:e.enum(["waveform","envelope","beat_markers","spectrum"]).default("envelope")}),E=o(n(e.literal("Signal"),e.any()));var S={};i(S,{FnParamSchema:()=>g,SignalNodeConfigSchema:()=>_,SignalResultSchema:()=>l,WGSL_OUTPUT_TYPES:()=>d,WGSL_PARAM_TYPES:()=>c});t();t();t();var d=["f32"],c=["f32","i32","u32","vec2f","vec3f","vec4f"],g=e.object({name:e.string().regex(/^[a-zA-Z_][a-zA-Z0-9_]*$/,"Must be a valid WGSL identifier"),type:e.enum(c),defaultValue:e.number()}),_=e.object({amplitude:e.number().min(0).default(1),frequency:e.number().min(0).default(1),phase:e.number().min(-2*Math.PI).max(2*Math.PI).default(0),offset:e.number().default(0),amplitudeMin:e.number().default(-1),amplitudeMax:e.number().default(1),spatialScale:e.number().min(0).default(1),spatialSpeed:e.number().default(1),fmAmplitude:e.number().min(0).default(1),fmFrequency:e.number().min(0).default(.5),gateEnabled:e.boolean().default(!1),gateStartFrame:e.number().int().min(0).default(0),gateEndFrame:e.number().int().min(0).default(100),gateIdleValue:e.number().default(0),envelopeUseFrame:e.boolean().default(!0),baseEnabled:e.boolean().default(!0),baseType:e.enum(["sine","triangle","sawtooth","square","constant","noise_smooth","noise_white","pulse","bounce","staircase","custom"]).default("sine"),fmEnabled:e.boolean().default(!1),envelopeEnabled:e.boolean().default(!1),envelopeFamily:e.enum(["linear","sine","quad","cubic","quart","quint","expo","circ","back","elastic","bounce","smoothstep","smootherstep"]).default("sine"),envelopeMode:e.enum(["in","out","in_out"]).default("in_out"),envelopePattern:e.enum(["ramp_up","ramp_down","bell","loop"]).default("ramp_up"),envelopeCycles:e.number().int().min(1).default(2),fnBody:e.string().default(["// Bindings: t: f32 | x y z: f32 | i n frame: u32","// Constants: PI, TAU, E","return u.amplitude * sin(t * u.frequency * TAU + u.phase) + u.offset;"].join(`
2
2
  `)),fnOutputType:e.enum(d).default("f32"),fnParams:e.array(g).default([]),previewMode:e.enum(["pattern","cartesian","3d"]).default("cartesian")}).superRefine((r,u)=>{r.amplitudeMax<=r.amplitudeMin&&u.addIssue({code:e.ZodIssueCode.custom,path:["amplitudeMax"],message:"amplitudeMax must be greater than amplitudeMin"}),r.gateEndFrame<=r.gateStartFrame&&u.addIssue({code:e.ZodIssueCode.custom,path:["gateEndFrame"],message:"gateEndFrame must be greater than gateStartFrame"})});var b={};i(b,{GateModeSchema:()=>x,SignalGateConfigSchema:()=>v,SignalGateResultSchema:()=>A});t();t();t();var x=e.enum(["gate","trigger","toggle"]),v=e.object({threshold:e.number().min(0).max(1).default(.5),debounceMs:e.number().min(0).max(5e3).default(100),mode:x.default("gate"),holdFrames:e.number().min(1).max(120).default(4),invert:e.boolean().default(!1)}),A=o(n(e.literal("Signal"),m));var y={};i(y,{SignalMathConfigSchema:()=>C,SignalMathOperationEnum:()=>h,SignalMathResultSchema:()=>G});t();t();t();var h=e.enum(["remap","normalize","add","subtract","multiply","divide","invert","clamp","power","smoothstep","custom"]),C=e.object({operation:h.default("remap"),bValue:e.number().default(1),inMin:e.number().default(0),inMax:e.number().default(1),outMin:e.number().default(0),outMax:e.number().default(1),clampMin:e.number().default(0),clampMax:e.number().default(1),exponent:e.number().default(2),edge0:e.number().default(0),edge1:e.number().default(1),customWGSL:e.string().default(["// Variables in scope:","// a: f32 (Signal A)","// b: f32 (Signal B or uniform bValue)","// a_min: f32, a_max: f32 (Signal A min/max stats)","// t: f32 (seconds), t_norm: f32 [0..1], frame: u32","// Constants: PI, TAU, E","return a;"].join(`
3
3
  `))}),G=o(n(e.literal("Signal"),e.record(e.string(),e.unknown())));export{s as a,S as b,b as c,y as d};
@@ -0,0 +1,62 @@
1
+ import{a as F,d as L,e as N,f as W,g as C,h as V,j as B,k as H,l as $,m as E}from"./chunk-ENKKLU7B.mjs";import{v as U,z as D}from"./chunk-63SFBHEH.mjs";import{e as p}from"./chunk-BVF64D6H.mjs";p();p();var fe=`
2
+ struct TileOffsetUniforms {
3
+ offsetX : f32,
4
+ offsetY : f32,
5
+ hasOffsetXSig : f32,
6
+ hasOffsetYSig : f32,
7
+
8
+ layerWidth : f32,
9
+ layerHeight : f32,
10
+ edgeMode : f32,
11
+ pad : f32,
12
+ };
13
+
14
+ @group(0) @binding(0) var<uniform> u : TileOffsetUniforms;
15
+ @group(1) @binding(0) var tex : texture_2d<f32>;
16
+ @group(1) @binding(1) var samp : sampler;
17
+
18
+ @group(2) @binding(0) var offsetXSigTex : texture_2d<f32>;
19
+ @group(2) @binding(1) var offsetYSigTex : texture_2d<f32>;
20
+ @group(2) @binding(2) var signalSamp : sampler;
21
+ ${F}
22
+
23
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
24
+ var offX = u.offsetX;
25
+ if (u.hasOffsetXSig > 0.5) {
26
+ let sigX = textureSampleLevel(offsetXSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
27
+ offX = offX + sigX;
28
+ }
29
+
30
+ var offY = u.offsetY;
31
+ if (u.hasOffsetYSig > 0.5) {
32
+ let sigY = textureSampleLevel(offsetYSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;
33
+ offY = offY + sigY;
34
+ }
35
+
36
+ let normOffset = vec2<f32>(
37
+ offX / max(1.0, u.layerWidth),
38
+ offY / max(1.0, u.layerHeight)
39
+ );
40
+ var uv = in.uv - normOffset;
41
+
42
+ // Edge Modes:
43
+ // 0.0 = wrap (seamless modulo)
44
+ // 1.0 = clamp (edge smear)
45
+ // 2.0 = transparent (clear bounds)
46
+ // 3.0 = mirror (ping-pong reflection)
47
+ if (u.edgeMode < 0.5) {
48
+ uv = fract(uv);
49
+ } else if (u.edgeMode < 1.5) {
50
+ uv = clamp(uv, vec2<f32>(0.0), vec2<f32>(1.0));
51
+ } else if (u.edgeMode < 2.5) {
52
+ if (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0) {
53
+ return vec4<f32>(0.0);
54
+ }
55
+ } else {
56
+ uv = 1.0 - abs(fract(uv * 0.5) * 2.0 - 1.0);
57
+ }
58
+
59
+ let color = textureSampleLevel(tex, samp, uv, 0.0);
60
+ return color;
61
+ }
62
+ `,o=new Float32Array(8),ue=W(t=>({uniformLayout:L(t,["uniform"]),singleTextureLayout:L(t,["texture","sampler"]),signalTextureLayout:N(t,2),pipelineCache:new Map}));function le(t,e){let n=ue(t),u=`tile_offset_${e}`,s=n.pipelineCache.get(u);if(!s){let g=t.createShaderModule({label:`tile_offset_${e}.wgsl`,code:fe});s=C(t,{label:`TileOffsetPipeline_${e}`,module:g,layouts:[n.uniformLayout,n.singleTextureLayout,n.signalTextureLayout],format:e}),n.pipelineCache.set(u,s)}return{pipeline:s,uniformLayout:n.uniformLayout,singleTextureLayout:n.singleTextureLayout,signalTextureLayout:n.signalTextureLayout}}var de=async t=>{let{ctx:e,encoder:n,pass:u,targetTexture:s,targetWidth:g,targetHeight:A,props:a}=t,m=a.frame??0,j=a.compositionFrame??m,y=a.fps||30,r=a.virtualMedia?.operation;if(r?.op!=="TileOffset"||!r)return;let O=a.virtualMedia?.children?.[0];if(!O)return;u.end();let x=g,v=A,K=r.inputs?Object.keys(r.inputs)[0]:"tile_offset_node",w=(d,f)=>{let ie=`${d}HandleId`,G=r[ie],i=G?r.inputs?.[G]:null,M=!!(i?.connectionValid&&(i.outputItem?.type==="Signal"||i.outputItem?.type==="Numeric")),h=M&&i?.outputItem?.data?i.outputItem.data:null,c=f,P=!1;if(M)h&&(c=Number(h.offset??0),P=!0);else if(i?.connectionValid&&i.outputItem?.type==="Number")c=Number(i.outputItem.data??f);else{let ae=U(r[d],j,y).value,R=Number(ae??f);c=isNaN(R)?f:R}return{val:c,hasStaticSig:P,sd:h}},T=w("offsetX",0),S=w("offsetY",0),l=0,b=r.edgeMode??(r.wrap!==!1?"wrap":"transparent");b==="clamp"?l=1:b==="transparent"||r.wrap===!1?l=2:b==="mirror"&&(l=3);let{texture:X}=await V(t,O);t.pass.end();let{pipeline:Q,uniformLayout:q,singleTextureLayout:z,signalTextureLayout:J}=le(e.device,e.renderer.format),Y=e.renderer.samplerCache.getSampler(e.device),{elapsedSeconds:Z,durationSeconds:ee}=H(a,m,y),te={args:t,width:x,height:v,frame:m,fps:y,elapsedSeconds:Z,durationSeconds:ee},_=(d,f)=>$(te,d,`${K}_${f}`),re=_(T,"offsetX_sig"),ne=_(S,"offsetY_sig");o[0]=T.val,o[1]=S.val,o[2]=T.hasStaticSig?1:0,o[3]=S.hasStaticSig?1:0,o[4]=x,o[5]=v,o[6]=l,o[7]=0;let oe=e.renderer.getTemporaryBuffer(o),I=e.renderer.getTemporaryTexture(x,v,[X,s,...a.excludeTextures||[]]);E(n,I.createView(),Q,[e.device.createBindGroup({layout:q,entries:[{binding:0,resource:{buffer:oe}}]}),e.renderer.bindGroupCache.getBindGroup(e.device,z,X,Y),e.device.createBindGroup({layout:J,entries:[{binding:0,resource:re},{binding:1,resource:ne},{binding:2,resource:Y}]})]),B(t,I,r.opacity??1)},k=de;var ve=D({WebGPURenderer:k});export{ve as a};
@@ -0,0 +1,121 @@
1
+ import{a as P,d as h,f as V,g as _,h as C,j as B,k as M,m as k}from"./chunk-ENKKLU7B.mjs";import{z as U}from"./chunk-63SFBHEH.mjs";import{d as v}from"./chunk-6YJP57MZ.mjs";import{e as g}from"./chunk-BVF64D6H.mjs";g();g();var te=`
2
+ struct FilmUniforms {
3
+ strength : f32,
4
+ size : f32,
5
+ monochrome : f32,
6
+ animated : f32,
7
+
8
+ frameIndex : f32, // discrete per-output-frame counter (speed-scaled), NOT continuous time
9
+ shadows : f32,
10
+ midtones : f32,
11
+ highlights : f32,
12
+
13
+ hasSignal : f32,
14
+ _pad0 : f32,
15
+ _pad1 : f32,
16
+ _pad2 : f32,
17
+ };
18
+
19
+ @group(0) @binding(0) var<uniform> u : FilmUniforms;
20
+ @group(1) @binding(0) var tex : texture_2d<f32>;
21
+ @group(1) @binding(1) var samp : sampler;
22
+ @group(2) @binding(0) var signalTex : texture_2d<f32>;
23
+ @group(2) @binding(1) var signalSamp : sampler;
24
+ ${P}
25
+
26
+ fn hash2D(p: vec2<f32>) -> f32 {
27
+ var p3 = fract(vec3<f32>(p.xyx) * 0.1031);
28
+ p3 += dot(p3, p3.yzx + 33.33);
29
+ return fract((p3.x + p3.y) * p3.z);
30
+ }
31
+
32
+ fn smoothNoise(p: vec2<f32>) -> f32 {
33
+ let pi = floor(p);
34
+ let pf = fract(p);
35
+
36
+ // Quintic interpolation
37
+ let w = pf * pf * pf * (pf * (pf * 6.0 - 15.0) + 10.0);
38
+
39
+ let h00 = hash2D(pi + vec2<f32>(0.0, 0.0));
40
+ let h10 = hash2D(pi + vec2<f32>(1.0, 0.0));
41
+ let h01 = hash2D(pi + vec2<f32>(0.0, 1.0));
42
+ let h11 = hash2D(pi + vec2<f32>(1.0, 1.0));
43
+
44
+ let n0 = mix(h00, h10, w.x);
45
+ let n1 = mix(h01, h11, w.x);
46
+
47
+ return mix(n0, n1, w.y);
48
+ }
49
+
50
+ // Produces a pseudo-random, NON-directional offset that changes once per
51
+ // output frame. This replaces the old time * constant translation, which
52
+ // smoothly scrolled the noise lattice in a fixed direction (17.31, 43.19)
53
+ // every frame -- that's why grain visibly drifted instead of flickering.
54
+ //
55
+ // The frame index is wrapped into a bounded range before hashing so the
56
+ // pattern stays high quality over long renders (f32 precision degrades on
57
+ // very large hash inputs); the wrap period is long enough that any repeat
58
+ // is imperceptible in grain.
59
+ fn frameJitter(frameIndex: f32) -> vec2<f32> {
60
+ let raw = floor(frameIndex);
61
+ let n = raw - floor(raw / 4096.0) * 4096.0;
62
+ let hx = hash2D(vec2<f32>(n, n * 1.6180339887));
63
+ let hy = hash2D(vec2<f32>(n * 3.14159265, n + 91.7));
64
+ return vec2<f32>(hx, hy) * 1024.0;
65
+ }
66
+
67
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
68
+ var color = textureSampleLevel(tex, samp, in.uv, 0.0);
69
+
70
+ var strength = u.strength;
71
+ if (u.hasSignal > 0.5) {
72
+ let sigVal = textureSampleLevel(signalTex, signalSamp, in.uv, 0.0).r;
73
+ strength = sigVal;
74
+ }
75
+
76
+ if (strength <= 0.0) {
77
+ return color;
78
+ }
79
+
80
+ let dimensions = vec2<f32>(textureDimensions(tex));
81
+ let grainCoord = (in.uv * dimensions) / u.size;
82
+
83
+ let jitter = select(vec2<f32>(0.0), frameJitter(u.frameIndex), u.animated > 0.5);
84
+
85
+ let luminance = dot(color.rgb, vec3<f32>(0.2126, 0.7152, 0.0722));
86
+
87
+ // Luminance response curve logic
88
+ let shadowFactor = exp(-luminance * luminance / 0.1);
89
+ let highlightFactor = exp(-(1.0 - luminance) * (1.0 - luminance) / 0.1);
90
+ let midtoneFactor = max(0.0, 1.0 - shadowFactor - highlightFactor);
91
+
92
+ let response = (u.shadows * shadowFactor) + (u.midtones * midtoneFactor) + (u.highlights * highlightFactor);
93
+ let finalGrainStrength = (strength / 100.0) * response * 0.15; // Normalized scale
94
+
95
+ if (u.monochrome > 0.5) {
96
+ let seed = grainCoord + jitter;
97
+ let noiseVal = smoothNoise(seed);
98
+ let grain = (noiseVal - 0.5) * finalGrainStrength;
99
+ color.r += grain;
100
+ color.g += grain;
101
+ color.b += grain;
102
+ } else {
103
+ // Fixed per-channel spatial offsets (unrelated to time) keep the
104
+ // R/G/B lattices decorrelated from each other; temporal variation
105
+ // comes entirely from jitter now.
106
+ let seedR = grainCoord + jitter;
107
+ let seedG = grainCoord + jitter + vec2<f32>(173.3, 281.9);
108
+ let seedB = grainCoord + jitter + vec2<f32>(391.7, 127.1);
109
+
110
+ let noiseR = smoothNoise(seedR);
111
+ let noiseG = smoothNoise(seedG);
112
+ let noiseB = smoothNoise(seedB);
113
+
114
+ color.r += (noiseR - 0.5) * finalGrainStrength;
115
+ color.g += (noiseG - 0.5) * finalGrainStrength;
116
+ color.b += (noiseB - 0.5) * finalGrainStrength;
117
+ }
118
+
119
+ return clamp(color, vec4<f32>(0.0), vec4<f32>(1.0));
120
+ }
121
+ `,o=new Float32Array(12),ne=V(i=>({filmUniformLayout:h(i,["uniform"]),singleTextureLayout:h(i,["texture","sampler"]),signalTextureLayout:h(i,["texture","sampler"]),pipelineCache:new Map}));function ie(i,e){let r=ne(i),d=`filmgrain_${e}`,u=r.pipelineCache.get(d);if(!u){let x=i.createShaderModule({label:`filmgrain_${e}.wgsl`,code:te});u=_(i,{label:`FilmGrainPipeline_${e}`,module:x,layouts:[r.filmUniformLayout,r.singleTextureLayout,r.signalTextureLayout],format:e}),r.pipelineCache.set(d,u)}return{filmPipeline:u,filmUniformLayout:r.filmUniformLayout,singleTextureLayout:r.singleTextureLayout,signalTextureLayout:r.signalTextureLayout}}var W=async i=>{let{ctx:e,encoder:r,pass:d,targetTexture:u,targetWidth:x,targetHeight:z,props:a}=i,m=a.frame??0,G=a.compositionFrame??m,f=a.fps||30,n=a.virtualMedia?.operation;if(n?.op!=="FilmGrain"||!n)return;let T=a.virtualMedia.children?.[0];if(!T)return;d.end();let y=x,F=z,j=a.containerWidth??e.surface.width/(typeof window<"u"?window.devicePixelRatio:1),O=y/j,s=n.strengthHandleId?n.inputs?.[n.strengthHandleId]:null,S=!!(s?.connectionValid&&(s.outputItem?.type==="Signal"||s.outputItem?.type==="Numeric")),c=S&&s?.outputItem?.data?s.outputItem.data:null,l=(t,D)=>{if(t==null)return D;typeof t=="object"&&t!==null?"get"in t&&typeof t.get=="function"?t=t.get({frame:G,fps:f}):"value"in t&&(t=t.value):typeof t=="function"&&(t=t(G,f));let N=Number(t);return Number.isFinite(N)?N:D},p=0,b=!1;S?c&&(p=Math.max(0,Number(c.offset??0)),b=!0):s?.connectionValid&&s.outputItem?.type==="Number"?p=Math.max(0,Number(s.outputItem.data??0)):p=Math.max(0,l(n.strength,15));let{texture:L}=await C(i,T);i.pass.end();let{filmPipeline:H,filmUniformLayout:A,singleTextureLayout:$,signalTextureLayout:E}=ie(e.device,e.renderer.format),I=e.renderer.samplerCache.getSampler(e.device),w,{elapsedSeconds:J,durationSeconds:Q}=M(a,m,f);b&&c?w=v.getOrCreate2DTextureView(e.device,r,c.nodeId??"filmgrain_strength_sig",J,Q,c,y,F,a.renderId,m,f):w=v.getDummy1x1TextureView(e.device);let q=Math.max(.5,l(n.size,1.5))*O,K=n.animated??!0,X=l(n.speed,50),Y=m*(X/50);o[0]=p,o[1]=q,o[2]=n.monochrome??!0?1:0,o[3]=K?1:0,o[4]=Y,o[5]=l(n.shadows,.2),o[6]=l(n.midtones,1),o[7]=l(n.highlights,.2),o[8]=b?1:0;let Z=e.renderer.getTemporaryBuffer(o),R=e.renderer.getTemporaryTexture(y,F,[L,u,...a.excludeTextures||[]]);k(r,R.createView(),H,[e.device.createBindGroup({layout:A,entries:[{binding:0,resource:{buffer:Z}}]}),e.renderer.bindGroupCache.getBindGroup(e.device,$,L,I),e.device.createBindGroup({layout:E,entries:[{binding:0,resource:w},{binding:1,resource:I}]})]),B(i,R,l(n.opacity,1))};var ce=U({WebGPURenderer:W});export{ce as a};
@@ -0,0 +1 @@
1
+ import{c as o}from"./chunk-IQKIHFNZ.mjs";import{e}from"./chunk-BVF64D6H.mjs";e();function i(r){if(r==null)return{r:0,g:0,b:0,a:0};if(typeof r!="string")return r;let t=r.trim();if(t.length===0)return{r:0,g:0,b:0,a:0};let n=o(t);return n?{r:n[0],g:n[1],b:n[2],a:n[3]}:{r:0,g:0,b:0,a:0}}function f(r){for(let t=0;t<r.length;t+=4){let n=r[t+3];n!==255&&(r[t]=(r[t]*n+127)/255|0,r[t+1]=(r[t+1]*n+127)/255|0,r[t+2]=(r[t+2]*n+127)/255|0)}return r}export{i as a,f as b};
@@ -1,4 +1,4 @@
1
- import{a as E}from"./chunk-IMV5SBQV.mjs";import{t as Y}from"./chunk-ZNGOAGAI.mjs";import{d as H}from"./chunk-6YJP57MZ.mjs";import{e as w}from"./chunk-BVF64D6H.mjs";w();w();var he=`
1
+ import{a as z,d as x,e as Y,g as X,h as G,j as F,k as O,m as k}from"./chunk-ENKKLU7B.mjs";import{x as s,z as N}from"./chunk-63SFBHEH.mjs";import{d as U}from"./chunk-6YJP57MZ.mjs";import{a as W}from"./chunk-IQC2I5A5.mjs";import{e as S}from"./chunk-BVF64D6H.mjs";S();S();var ve=`
2
2
  struct RefractionCausticsUniforms {
3
3
  // vec4 0
4
4
  _pad0 : f32,
@@ -69,27 +69,7 @@ struct RefractionCausticsUniforms {
69
69
  @group(3) @binding(6) var lightPosXSigTex : texture_2d<f32>;
70
70
  @group(3) @binding(7) var lightPosYSigTex : texture_2d<f32>;
71
71
  @group(3) @binding(8) var sigSamp : sampler;
72
-
73
- struct VSOut {
74
- @builtin(position) pos : vec4<f32>,
75
- @location(0) uv : vec2<f32>,
76
- };
77
-
78
- @vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
79
- var pos = array<vec2<f32>, 4>(
80
- vec2<f32>(-1.0, 1.0),
81
- vec2<f32>(1.0, 1.0),
82
- vec2<f32>(-1.0, -1.0),
83
- vec2<f32>(1.0, -1.0)
84
- );
85
- var uv = array<vec2<f32>, 4>(
86
- vec2<f32>(0.0, 0.0),
87
- vec2<f32>(1.0, 0.0),
88
- vec2<f32>(0.0, 1.0),
89
- vec2<f32>(1.0, 1.0)
90
- );
91
- return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
92
- }
72
+ ${z}
93
73
 
94
74
  fn sampleDepth(uv: vec2<f32>) -> f32 {
95
75
  let clampedUV = clamp(uv, vec2<f32>(0.0), vec2<f32>(1.0));
@@ -364,4 +344,4 @@ fn spectralWavelength(t: f32) -> vec3<f32> {
364
344
 
365
345
  return vec4<f32>(clamp(finalRGB, vec3<f32>(0.0), vec3<f32>(1.0)), finalAlpha);
366
346
  }
367
- `,X=new WeakMap;function ve(r){let e=X.get(r);if(e)return e;let i=r.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),p=r.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]}),o=r.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]}),d=r.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,texture:{sampleType:"float"}},{binding:6,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:7,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:8,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]});return e={uniformLayout:i,srcTextureLayout:p,depthTextureLayout:o,signalTextureLayout:d,pipelineCache:new Map},X.set(r,e),e}function me(r,e){let i=ve(r),p=`refraction_caustics_${e}`,o=i.pipelineCache.get(p);if(!o){let d=r.createShaderModule({label:`refraction_caustics_${e}.wgsl`,code:he});o=r.createRenderPipeline({label:`RefractionCausticsPipeline_${e}`,layout:r.createPipelineLayout({bindGroupLayouts:[i.uniformLayout,i.srcTextureLayout,i.depthTextureLayout,i.signalTextureLayout]}),vertex:{module:d,entryPoint:"vs"},fragment:{module:d,entryPoint:"fs",targets:[{format:e}]},primitive:{topology:"triangle-strip"}}),i.pipelineCache.set(p,o)}return{pipeline:o,uniformLayout:i.uniformLayout,srcTextureLayout:i.srcTextureLayout,depthTextureLayout:i.depthTextureLayout,signalTextureLayout:i.signalTextureLayout}}function c(r,e,i,p,o){let d=`${e}HandleId`,m=r[d],u=m?r.inputs?.[m]:null,a=!!(u?.connectionValid&&(u.outputItem?.type==="Signal"||u.outputItem?.type==="Numeric")),S=a&&u?.outputItem?.data?u.outputItem.data:null,h=i;if(a){if(S){let f=Number(S.offset??i);h=Math.max(p,Math.min(o,f))}}else if(u?.connectionValid&&u.outputItem?.type==="Number"){let f=Number(u.outputItem.data??i);h=Math.max(p,Math.min(o,f))}else{let f=Number(r[e]??i);h=Math.max(p,Math.min(o,f))}return{hasSignal:a,sd:S,value:h}}var k=async r=>{let{ctx:e,encoder:i,pass:p,targetView:o,targetTexture:d,targetWidth:m,targetHeight:u,props:a,drawChild:S}=r,h=a.frame??0,f=a.fps||60,s=a.virtualMedia?.operation;if(s?.op!=="RefractionCaustics3D"||!s)return;let G=a.virtualMedia.children?.[0];if(!G)return;p.end();let n=m,l=u,x=e.renderer.getTemporaryTexture(n,l,[...a.excludeTextures||[],d]),L=x.createView();e.renderer.beginFrame(i,L,{r:0,g:0,b:0,a:0},n,l,"clear").end(),e.renderer.pushScissor({x:0,y:0,width:n,height:l}),e.renderer.pushIdentity(),await S(G,{...a,virtualMedia:G,containerWidth:n,containerHeight:l},L,x,n,l),e.renderer.popTransform(),e.renderer.popScissor(),r.pass.end();let I=s.depthMedia,y,R,V=!1;I?(y=e.renderer.getTemporaryTexture(n,l,[...a.excludeTextures||[],d,x]),R=y.createView(),e.renderer.beginFrame(i,R,{r:0,g:0,b:0,a:0},n,l,"clear").end(),e.renderer.pushScissor({x:0,y:0,width:n,height:l}),e.renderer.pushIdentity(),await S(I,{...a,virtualMedia:I,containerWidth:n,containerHeight:l},R,y,n,l),e.renderer.popTransform(),e.renderer.popScissor(),r.pass.end(),V=!0):(y=x,R=L,V=!1);let{pipeline:q,uniformLayout:j,srcTextureLayout:$,depthTextureLayout:K,signalTextureLayout:J}=me(e.device,e.renderer.format),C=e.renderer.samplerCache.getSampler(e.device),O=a.elapsedMs!==void 0?a.elapsedMs/1e3:h/f,T=a.virtualMedia?.metadata?.durationMs?a.virtualMedia.metadata.durationMs/1e3:a.durationMs!==void 0?a.durationMs/1e3:4,Q=T>0?O%T/T:0,D=c(s,"ior",1.52,1,2.5),M=c(s,"dispersion",.04,0,.2),U=c(s,"refractionScale",.5,0,2),_=c(s,"causticBrightness",.6,0,2),Z=c(s,"causticScale",1,.1,5),N=c(s,"fluidRipples",0,0,1),A=c(s,"roughness",0,0,1),B=c(s,"lightPosX",.5,0,1),F=c(s,"lightPosY",.2,0,1),ee=c(s,"specularIntensity",.8,0,2),te=c(s,"depthScale",1,.1,5),ie=c(s,"tintStrength",0,0,1),re=c(s,"rippleSpeed",1,0,5),g=(b,fe)=>b.hasSignal&&b.sd?H.getOrCreate2DTextureView(e.device,i,b.sd.nodeId??fe,O,T,b.sd,n,l,a.renderId,h,f):H.getDummy1x1TextureView(e.device),ae=g(D,"refr_ior_sig"),se=g(M,"refr_disp_sig"),ne=g(U,"refr_scale_sig"),le=g(_,"refr_caust_sig"),ce=g(N,"refr_rip_sig"),oe=g(A,"refr_rough_sig"),ue=g(B,"refr_lightx_sig"),pe=g(F,"refr_lighty_sig"),t=new Float32Array(36);t[0]=0,t[1]=D.value,t[2]=M.value,t[3]=U.value,t[4]=_.value,t[5]=Z.value,t[6]=N.value,t[7]=re.value,t[8]=A.value,t[9]=ee.value,t[10]=B.value,t[11]=F.value,t[12]=ie.value,t[13]=s.depthInvert?1:0,t[14]=te.value,t[15]=V?1:0,t[16]=Q,t[17]=n/Math.max(1,l),t[18]=0,t[19]=0,t[20]=D.hasSignal?1:0,t[21]=M.hasSignal?1:0,t[22]=U.hasSignal?1:0,t[23]=_.hasSignal?1:0,t[24]=N.hasSignal?1:0,t[25]=A.hasSignal?1:0,t[26]=B.hasSignal?1:0,t[27]=F.hasSignal?1:0,t[28]=0,t[29]=0,t[30]=0,t[31]=0;let P=E(s.tintColor??"#ffffff");t[32]=P.r,t[33]=P.g,t[34]=P.b,t[35]=P.a;let de=e.renderer.getTemporaryBuffer(t),W=e.renderer.getTemporaryTexture(n,l,[x,y,d,...a.excludeTextures||[]]),v=i.beginRenderPass({colorAttachments:[{view:W.createView(),loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});v.setPipeline(q),v.setBindGroup(0,e.device.createBindGroup({layout:j,entries:[{binding:0,resource:{buffer:de}}]})),v.setBindGroup(1,e.renderer.bindGroupCache.getBindGroup(e.device,$,x,C)),v.setBindGroup(2,e.renderer.bindGroupCache.getBindGroup(e.device,K,y,C)),v.setBindGroup(3,e.device.createBindGroup({layout:J,entries:[{binding:0,resource:ae},{binding:1,resource:se},{binding:2,resource:ne},{binding:3,resource:le},{binding:4,resource:ce},{binding:5,resource:oe},{binding:6,resource:ue},{binding:7,resource:pe},{binding:8,resource:C}]})),v.draw(4),v.end();let z=e.renderer.beginFrame(i,o,{r:0,g:0,b:0,a:0},m,u,"load");e.renderer.drawTexture(z,W,{x:0,y:0,width:m,height:u},{opacity:s.opacity??1}),r.pass=z};var Pe=Y({WebGPURenderer:k});export{k as a,Pe as b};
347
+ `,q=new WeakMap;function Se(a){let t=q.get(a);if(t)return t;let r=x(a,["uniform"]),o=x(a,["texture","sampler"]),n=x(a,["texture","sampler"]),u=Y(a,8);return t={uniformLayout:r,srcTextureLayout:o,depthTextureLayout:n,signalTextureLayout:u,pipelineCache:new Map},q.set(a,t),t}function xe(a,t){let r=Se(a),o=`refraction_caustics_${t}`,n=r.pipelineCache.get(o);if(!n){let u=a.createShaderModule({label:`refraction_caustics_${t}.wgsl`,code:ve});n=X(a,{label:`RefractionCausticsPipeline_${t}`,module:u,layouts:[r.uniformLayout,r.srcTextureLayout,r.depthTextureLayout,r.signalTextureLayout],format:t}),r.pipelineCache.set(o,n)}return{pipeline:n,uniformLayout:r.uniformLayout,srcTextureLayout:r.srcTextureLayout,depthTextureLayout:r.depthTextureLayout,signalTextureLayout:r.signalTextureLayout}}var j=async a=>{let{ctx:t,encoder:r,pass:o,targetTexture:n,targetWidth:u,targetHeight:E,props:l}=a,B=l.frame??0,A=l.fps||60,i=l.virtualMedia?.operation;if(i?.op!=="RefractionCaustics3D"||!i)return;let R=l.virtualMedia.children?.[0];if(!R)return;o.end();let p=u,f=E,{texture:d}=await G(a,R,{props:{...l,virtualMedia:R,containerWidth:p,containerHeight:f}});a.pass.end();let y=i.depthMedia,g,b=!1;y?({texture:g}=await G(a,y,{props:{...l,virtualMedia:y,containerWidth:p,containerHeight:f},exclude:[d]}),a.pass.end(),b=!0):(g=d,b=!1);let{pipeline:$,uniformLayout:K,srcTextureLayout:Q,depthTextureLayout:J,signalTextureLayout:Z}=xe(t.device,t.renderer.format),T=t.renderer.samplerCache.getSampler(t.device),{elapsedSeconds:H,durationSeconds:h}=O(l,B,A,4),ee=h>0?H%h/h:0,L=s(i,"ior",1.52,1,2.5),D=s(i,"dispersion",.04,0,.2),w=s(i,"refractionScale",.5,0,2),P=s(i,"causticBrightness",.6,0,2),te=s(i,"causticScale",1,.1,5),V=s(i,"fluidRipples",0,0,1),C=s(i,"roughness",0,0,1),I=s(i,"lightPosX",.5,0,1),_=s(i,"lightPosY",.2,0,1),ie=s(i,"specularIntensity",.8,0,2),ae=s(i,"depthScale",1,.1,5),re=s(i,"tintStrength",0,0,1),se=s(i,"rippleSpeed",1,0,5),c=(v,he)=>v.hasSignal&&v.sd?U.getOrCreate2DTextureView(t.device,r,v.sd.nodeId??he,H,h,v.sd,p,f,l.renderId,B,A):U.getDummy1x1TextureView(t.device),le=c(L,"refr_ior_sig"),ne=c(D,"refr_disp_sig"),ce=c(w,"refr_scale_sig"),oe=c(P,"refr_caust_sig"),ue=c(V,"refr_rip_sig"),pe=c(C,"refr_rough_sig"),fe=c(I,"refr_lightx_sig"),de=c(_,"refr_lighty_sig"),e=new Float32Array(36);e[0]=0,e[1]=L.value,e[2]=D.value,e[3]=w.value,e[4]=P.value,e[5]=te.value,e[6]=V.value,e[7]=se.value,e[8]=C.value,e[9]=ie.value,e[10]=I.value,e[11]=_.value,e[12]=re.value,e[13]=i.depthInvert?1:0,e[14]=ae.value,e[15]=b?1:0,e[16]=ee,e[17]=p/Math.max(1,f),e[18]=0,e[19]=0,e[20]=L.hasSignal?1:0,e[21]=D.hasSignal?1:0,e[22]=w.hasSignal?1:0,e[23]=P.hasSignal?1:0,e[24]=V.hasSignal?1:0,e[25]=C.hasSignal?1:0,e[26]=I.hasSignal?1:0,e[27]=_.hasSignal?1:0,e[28]=0,e[29]=0,e[30]=0,e[31]=0;let m=W(i.tintColor??"#ffffff");e[32]=m.r,e[33]=m.g,e[34]=m.b,e[35]=m.a;let ge=t.renderer.getTemporaryBuffer(e),M=t.renderer.getTemporaryTexture(p,f,[d,g,n,...l.excludeTextures||[]]);k(r,M.createView(),$,[t.device.createBindGroup({layout:K,entries:[{binding:0,resource:{buffer:ge}}]}),t.renderer.bindGroupCache.getBindGroup(t.device,Q,d,T),t.renderer.bindGroupCache.getBindGroup(t.device,J,g,T),t.device.createBindGroup({layout:Z,entries:[{binding:0,resource:le},{binding:1,resource:ne},{binding:2,resource:ce},{binding:3,resource:oe},{binding:4,resource:ue},{binding:5,resource:pe},{binding:6,resource:fe},{binding:7,resource:de},{binding:8,resource:T}]})]),F(a,M,i.opacity??1)};var Pe=N({WebGPURenderer:j});export{j as a,Pe as b};
@@ -0,0 +1,114 @@
1
+ import{a as V,d as p,g as D,h as I,j as k,k as W,l as F,m as O}from"./chunk-ENKKLU7B.mjs";import{w as U}from"./chunk-63SFBHEH.mjs";import{e as f}from"./chunk-BVF64D6H.mjs";f();f();var j=new WeakMap,me=`
2
+ struct ColorBalanceUniforms {
3
+ shadows : vec4<f32>,
4
+ midtones : vec4<f32>,
5
+ highlights : vec4<f32>,
6
+ preserveLuminosity : f32,
7
+ hasShadowsCyanRedSig : f32,
8
+ hasShadowsMagentaGreenSig : f32,
9
+ hasShadowsYellowBlueSig : f32,
10
+
11
+ hasMidtonesCyanRedSig : f32,
12
+ hasMidtonesMagentaGreenSig : f32,
13
+ hasMidtonesYellowBlueSig : f32,
14
+ hasHighlightsCyanRedSig : f32,
15
+
16
+ hasHighlightsMagentaGreenSig : f32,
17
+ hasHighlightsYellowBlueSig : f32,
18
+ _pad0 : f32,
19
+ _pad1 : f32,
20
+ };
21
+
22
+ @group(0) @binding(0) var<uniform> u : ColorBalanceUniforms;
23
+ @group(1) @binding(0) var tex : texture_2d<f32>;
24
+ @group(1) @binding(1) var samp : sampler;
25
+
26
+ @group(2) @binding(0) var shadowsCyanRedSigTex : texture_2d<f32>;
27
+ @group(2) @binding(1) var shadowsMagentaGreenSigTex : texture_2d<f32>;
28
+ @group(2) @binding(2) var shadowsYellowBlueSigTex : texture_2d<f32>;
29
+ @group(2) @binding(3) var midtonesCyanRedSigTex : texture_2d<f32>;
30
+ @group(2) @binding(4) var midtonesMagentaGreenSigTex: texture_2d<f32>;
31
+ @group(2) @binding(5) var midtonesYellowBlueSigTex : texture_2d<f32>;
32
+ @group(2) @binding(6) var highlightsCyanRedSigTex : texture_2d<f32>;
33
+ @group(2) @binding(7) var highlightsMagentaGreenSigTex: texture_2d<f32>;
34
+ @group(2) @binding(8) var highlightsYellowBlueSigTex: texture_2d<f32>;
35
+ @group(2) @binding(9) var signalSamp : sampler;
36
+ ${V}
37
+
38
+ fn get_luminance(c: vec3<f32>) -> f32 {
39
+ return dot(c, vec3<f32>(0.2126, 0.7152, 0.0722));
40
+ }
41
+
42
+ fn set_luminance(c: vec3<f32>, l: f32) -> vec3<f32> {
43
+ let d = l - get_luminance(c);
44
+ var res = c + vec3<f32>(d);
45
+ let min_c = min(res.r, min(res.g, res.b));
46
+ let max_c = max(res.r, max(res.g, res.b));
47
+ if (min_c < 0.0) {
48
+ res = l + ((res - vec3<f32>(l)) * l) / max(l - min_c, 1e-5);
49
+ }
50
+ if (max_c > 1.0) {
51
+ res = l + ((res - vec3<f32>(l)) * (1.0 - l)) / max(max_c - l, 1e-5);
52
+ }
53
+ return clamp(res, vec3<f32>(0.0), vec3<f32>(1.0));
54
+ }
55
+
56
+ @fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
57
+ let color = textureSampleLevel(tex, samp, in.uv, 0.0);
58
+ if (color.a <= 0.00001) {
59
+ return color;
60
+ }
61
+
62
+ let alpha = color.a;
63
+ let rgb = color.rgb / max(alpha, 0.0001);
64
+
65
+ var sShift = u.shadows.rgb;
66
+ if (u.hasShadowsCyanRedSig > 0.5) {
67
+ sShift.r = clamp(textureSampleLevel(shadowsCyanRedSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;
68
+ }
69
+ if (u.hasShadowsMagentaGreenSig > 0.5) {
70
+ sShift.g = clamp(textureSampleLevel(shadowsMagentaGreenSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;
71
+ }
72
+ if (u.hasShadowsYellowBlueSig > 0.5) {
73
+ sShift.b = clamp(textureSampleLevel(shadowsYellowBlueSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;
74
+ }
75
+
76
+ var mShift = u.midtones.rgb;
77
+ if (u.hasMidtonesCyanRedSig > 0.5) {
78
+ mShift.r = clamp(textureSampleLevel(midtonesCyanRedSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;
79
+ }
80
+ if (u.hasMidtonesMagentaGreenSig > 0.5) {
81
+ mShift.g = clamp(textureSampleLevel(midtonesMagentaGreenSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;
82
+ }
83
+ if (u.hasMidtonesYellowBlueSig > 0.5) {
84
+ mShift.b = clamp(textureSampleLevel(midtonesYellowBlueSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;
85
+ }
86
+
87
+ var hShift = u.highlights.rgb;
88
+ if (u.hasHighlightsCyanRedSig > 0.5) {
89
+ hShift.r = clamp(textureSampleLevel(highlightsCyanRedSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;
90
+ }
91
+ if (u.hasHighlightsMagentaGreenSig > 0.5) {
92
+ hShift.g = clamp(textureSampleLevel(highlightsMagentaGreenSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;
93
+ }
94
+ if (u.hasHighlightsYellowBlueSig > 0.5) {
95
+ hShift.b = clamp(textureSampleLevel(highlightsYellowBlueSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r, -100.0, 100.0) / 100.0;
96
+ }
97
+
98
+ let origLum = get_luminance(rgb);
99
+
100
+ // Tonal range weighting curves
101
+ let wShadows = clamp((1.0 - origLum) * (1.0 - origLum * 1.5), 0.0, 1.0);
102
+ let wMidtones = clamp(1.0 - 4.0 * (origLum - 0.5) * (origLum - 0.5), 0.0, 1.0);
103
+ let wHighlights = clamp(origLum * (origLum * 1.5 - 0.5), 0.0, 1.0);
104
+
105
+ let delta = wShadows * sShift + wMidtones * mShift + wHighlights * hShift;
106
+ var adjustedRgb = clamp(rgb + delta, vec3<f32>(0.0), vec3<f32>(1.0));
107
+
108
+ if (u.preserveLuminosity > 0.5) {
109
+ adjustedRgb = set_luminance(adjustedRgb, origLum);
110
+ }
111
+
112
+ return vec4<f32>(adjustedRgb * alpha, alpha);
113
+ }
114
+ `;function fe(t,i){let g=j.get(t);if(g)return g;let d=p(t,["uniform"],"ColorBalanceUniformLayout"),c=p(t,["texture","sampler"],"ColorBalanceTextureLayout"),h=p(t,["texture","texture","texture","texture","texture","texture","texture","texture","texture","sampler"],"ColorBalanceSignalTextureLayout"),S=t.createShaderModule({label:"ColorBalanceShaderModule",code:me});return g={pipeline:D(t,{label:"ColorBalancePipeline",module:S,layouts:[d,c,h],format:i}),uniformLayout:d,textureLayout:c,signalTextureLayout:h},j.set(t,g),g}var e=new Float32Array(24),N=async t=>{let{ctx:i,encoder:g,pass:d,targetTexture:c,targetWidth:h,targetHeight:S,props:r}=t,n=r.virtualMedia?.operation;if(n?.op!=="ColorBalance"||!r.virtualMedia?.children?.[0])return;d.end();let x=r.frame??0,L=r.compositionFrame??x,m=r.fps||30,A=r.virtualMedia.children[0],T=h,M=S,E=r.virtualMedia?.metadata?.id||(n.inputs?Object.keys(n.inputs)[0]:null)||r.renderId||"colorbalance_node",o=(a,u,de=-100,ce=100)=>U(n.inputs,a,u,de,ce),s=a=>{a!=null&&(typeof a=="object"&&a!==null?"get"in a&&typeof a.get=="function"?a=a.get({frame:L,fps:m}):"value"in a&&(a=a.value):typeof a=="function"&&(a=a(L,m)));let u=Number(a??0);return isNaN(u)?0:u},w=o(n.shadows_cyanRedHandleId,s(n.shadows?.cyanRed)),v=o(n.shadows_magentaGreenHandleId,s(n.shadows?.magentaGreen)),y=o(n.shadows_yellowBlueHandleId,s(n.shadows?.yellowBlue)),b=o(n.midtones_cyanRedHandleId,s(n.midtones?.cyanRed)),B=o(n.midtones_magentaGreenHandleId,s(n.midtones?.magentaGreen)),_=o(n.midtones_yellowBlueHandleId,s(n.midtones?.yellowBlue)),G=o(n.highlights_cyanRedHandleId,s(n.highlights?.cyanRed)),R=o(n.highlights_magentaGreenHandleId,s(n.highlights?.magentaGreen)),C=o(n.highlights_yellowBlueHandleId,s(n.highlights?.yellowBlue)),{texture:H}=await I(t,A),{pipeline:$,uniformLayout:Q,textureLayout:q,signalTextureLayout:z}=fe(i.device,i.renderer.format),Y=i.renderer.samplerCache.getSampler(i.device),{elapsedSeconds:J,durationSeconds:K}=W(r,x,m),X={args:t,width:T,height:M,frame:x,fps:m,elapsedSeconds:J,durationSeconds:K},l=(a,u)=>F(X,a,`${E}_${u}`),Z=l(w,"shadows_cyanRed_sig"),ee=l(v,"shadows_magentaGreen_sig"),ne=l(y,"shadows_yellowBlue_sig"),ae=l(b,"midtones_cyanRed_sig"),te=l(B,"midtones_magentaGreen_sig"),ie=l(_,"midtones_yellowBlue_sig"),re=l(G,"highlights_cyanRed_sig"),oe=l(R,"highlights_magentaGreen_sig"),se=l(C,"highlights_yellowBlue_sig"),le=n.preserveLuminosity===!1?0:1;e[0]=w.val/100,e[1]=v.val/100,e[2]=y.val/100,e[3]=0,e[4]=b.val/100,e[5]=B.val/100,e[6]=_.val/100,e[7]=0,e[8]=G.val/100,e[9]=R.val/100,e[10]=C.val/100,e[11]=0,e[12]=le,e[13]=w.hasStaticSig?1:0,e[14]=v.hasStaticSig?1:0,e[15]=y.hasStaticSig?1:0,e[16]=b.hasStaticSig?1:0,e[17]=B.hasStaticSig?1:0,e[18]=_.hasStaticSig?1:0,e[19]=G.hasStaticSig?1:0,e[20]=R.hasStaticSig?1:0,e[21]=C.hasStaticSig?1:0,e[22]=0,e[23]=0;let ge=i.renderer.getTemporaryBuffer(e),P=i.renderer.getTemporaryTexture(T,M,[H,c,...r.excludeTextures||[]]),ue=i.device.createBindGroup({layout:z,entries:[{binding:0,resource:Z},{binding:1,resource:ee},{binding:2,resource:ne},{binding:3,resource:ae},{binding:4,resource:te},{binding:5,resource:ie},{binding:6,resource:re},{binding:7,resource:oe},{binding:8,resource:se},{binding:9,resource:Y}]});O(g,P.createView(),$,[i.device.createBindGroup({layout:Q,entries:[{binding:0,resource:{buffer:ge}}]}),i.renderer.bindGroupCache.getBindGroup(i.device,q,H,Y),ue]),k(t,P,r.opacity??1)};var ye={WebGPURenderer:N};export{N as a,ye as b};