framefields 2.0.11 → 2.1.1
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.
- package/README.md +22 -5
- package/dist/audio/index.d.mts +4 -4
- package/dist/audio/index.mjs +13 -12
- package/dist/{audio-BHanw8Jb.d.mts → audio-CfBpzxn9.d.mts} +3 -3
- package/dist/{audio-BHanw8Jb.d.mts.map → audio-CfBpzxn9.d.mts.map} +1 -1
- package/dist/{audio-TAvPwzLR.mjs → audio-DJeVoE8b.mjs} +1 -1
- package/dist/{audio-TAvPwzLR.mjs.map → audio-DJeVoE8b.mjs.map} +1 -1
- package/dist/{audio-COOMNwL5.mjs → audio-GGuQ_JI0.mjs} +4 -4
- package/dist/{audio-COOMNwL5.mjs.map → audio-GGuQ_JI0.mjs.map} +1 -1
- package/dist/{chunk-GMkBE123.mjs → chunk-GBe2k3y8.mjs} +1 -4
- package/dist/{dist-C_hjvkdN.mjs → dist-0QGroRYZ.mjs} +1 -1
- package/dist/{dist-C_hjvkdN.mjs.map → dist-0QGroRYZ.mjs.map} +1 -1
- package/dist/{dist-BYqNNwsl.mjs → dist-BY0bIWgr.mjs} +10 -2
- package/dist/dist-BY0bIWgr.mjs.map +1 -0
- package/dist/{dist-BAVZdFEJ.mjs → dist-Bb8BoMiw.mjs} +76 -626
- package/dist/dist-Bb8BoMiw.mjs.map +1 -0
- package/dist/{dist-Cxi68OuY.mjs → dist-DkuDAIrG.mjs} +26862 -25638
- package/dist/dist-DkuDAIrG.mjs.map +1 -0
- package/dist/{dist-CbG3QxDw.mjs → dist-fjKpBYkc.mjs} +12 -27
- package/dist/dist-fjKpBYkc.mjs.map +1 -0
- package/dist/effects/index.d.mts +4 -4
- package/dist/effects/index.mjs +36 -34
- package/dist/{effects-DzbjFhyA.mjs → effects-D6wFg2FR.mjs} +3 -3
- package/dist/{effects-DzbjFhyA.mjs.map → effects-D6wFg2FR.mjs.map} +1 -1
- package/dist/fonts/index.d.mts +1 -1
- package/dist/fonts/index.mjs +3 -1
- package/dist/{fonts-C0W6TgJk.mjs → fonts-CZMYtbP7.mjs} +24 -11
- package/dist/fonts-CZMYtbP7.mjs.map +1 -0
- package/dist/gpu-DG3gI88-.mjs +215 -0
- package/dist/gpu-DG3gI88-.mjs.map +1 -0
- package/dist/{index-DRZu3ezy.d.mts → index--0vVZDPM.d.mts} +3 -3
- package/dist/{index-DRZu3ezy.d.mts.map → index--0vVZDPM.d.mts.map} +1 -1
- package/dist/{index-DnWsbbuZ.d.mts → index-BcA8rep0.d.mts} +7 -2
- package/dist/index-BcA8rep0.d.mts.map +1 -0
- package/dist/{index-DGJp1d30.d.mts → index-BzQc812z.d.mts} +3 -3
- package/dist/{index-DGJp1d30.d.mts.map → index-BzQc812z.d.mts.map} +1 -1
- package/dist/{index-DDEPvMww.d.mts → index-Cpkzy5XR.d.mts} +3452 -1675
- package/dist/index-Cpkzy5XR.d.mts.map +1 -0
- package/dist/{index-CDoTrMs1.d.mts → index-D__HdInU.d.mts} +8 -8
- package/dist/{index-CDoTrMs1.d.mts.map → index-D__HdInU.d.mts.map} +1 -1
- package/dist/{index-CYGpSVsf.d.mts → index-DpWia6iH.d.mts} +4 -11
- package/dist/index-DpWia6iH.d.mts.map +1 -0
- package/dist/{index-9B8CJowc.d.mts → index-Fciq8bcC.d.mts} +10 -2
- package/dist/index-Fciq8bcC.d.mts.map +1 -0
- package/dist/index.d.mts +29 -1842
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +79 -66
- package/dist/index.mjs.map +1 -1
- package/dist/preview/index.d.mts +2 -2
- package/dist/preview/index.mjs +12 -13
- package/dist/{preview-BV2C4Fk6.mjs → preview--rOXbBxl.mjs} +3 -4
- package/dist/preview--rOXbBxl.mjs.map +1 -0
- package/dist/preview-engine/audio.mjs +1 -1
- package/dist/preview-engine/chunk-2MZXSWVT.mjs +118 -0
- package/dist/preview-engine/{chunk-Y6HWYPKX.mjs → chunk-3GNP7TJH.mjs} +3 -3
- package/dist/preview-engine/chunk-3UPI4EPV.mjs +69 -0
- package/dist/preview-engine/{chunk-6JW37VJA.mjs → chunk-5AUB4Y3L.mjs} +3 -23
- package/dist/preview-engine/chunk-5DOD2NVY.mjs +26 -0
- package/dist/preview-engine/chunk-5FC7GOWW.mjs +474 -0
- package/dist/preview-engine/chunk-5W4AFQP7.mjs +97 -0
- package/dist/preview-engine/chunk-63SFBHEH.mjs +1 -0
- package/dist/preview-engine/{chunk-25IW7NYO.mjs → chunk-7EPDVSCL.mjs} +1 -1
- package/dist/preview-engine/chunk-7EPIRODI.mjs +91 -0
- package/dist/preview-engine/chunk-7J2FWGVD.mjs +1 -0
- package/dist/preview-engine/chunk-AXHB4J37.mjs +147 -0
- package/dist/preview-engine/chunk-AXQZX3TC.mjs +450 -0
- package/dist/preview-engine/chunk-B43Z3J7J.mjs +5 -0
- package/dist/preview-engine/chunk-BWJS6G7R.mjs +314 -0
- package/dist/preview-engine/{chunk-ECPP3UG6.mjs → chunk-E3HC4GRQ.mjs} +3 -23
- package/dist/preview-engine/{chunk-AEK5BO3J.mjs → chunk-E4RAFHZM.mjs} +1 -1
- package/dist/preview-engine/chunk-ENKKLU7B.mjs +22 -0
- package/dist/preview-engine/{chunk-IYVN2QEL.mjs → chunk-FLPSWDX4.mjs} +1 -1
- package/dist/preview-engine/{chunk-24DXIKXL.mjs → chunk-FPRXK2WD.mjs} +2 -2
- package/dist/preview-engine/chunk-FU7AIAMM.mjs +88 -0
- package/dist/preview-engine/{chunk-CBM7B7EW.mjs → chunk-GMGGDADT.mjs} +1 -1
- package/dist/preview-engine/chunk-GSFN4WCH.mjs +62 -0
- package/dist/preview-engine/chunk-IQC2I5A5.mjs +1 -0
- package/dist/preview-engine/chunk-IUPDOATX.mjs +114 -0
- package/dist/preview-engine/{chunk-GHMCGTJ2.mjs → chunk-J2R5R7YY.mjs} +3 -23
- package/dist/preview-engine/chunk-JAJOZG5P.mjs +1 -0
- package/dist/preview-engine/{chunk-XLFYM7KH.mjs → chunk-K773AOF3.mjs} +2 -2
- package/dist/preview-engine/{chunk-RJUAM52F.mjs → chunk-L3CHEZMZ.mjs} +3 -23
- package/dist/preview-engine/chunk-LBRVQ4GE.mjs +84 -0
- package/dist/preview-engine/chunk-LGVEFPOG.mjs +3 -0
- package/dist/preview-engine/{chunk-AMBSW6OA.mjs → chunk-NEE3KQTX.mjs} +2 -2
- package/dist/preview-engine/chunk-NPD6W3RP.mjs +1 -0
- package/dist/preview-engine/{chunk-V6VU46ZG.mjs → chunk-O2RNIQXT.mjs} +1 -1
- package/dist/preview-engine/{server-utils-2FAIV45N.mjs → chunk-OCX5AD23.mjs} +1 -1
- package/dist/preview-engine/chunk-OJ2PKBXE.mjs +40 -0
- package/dist/preview-engine/chunk-OKH2VU2U.mjs +97 -0
- package/dist/preview-engine/chunk-PAQNDZQB.mjs +83 -0
- package/dist/preview-engine/chunk-PEWYB6WP.mjs +43 -0
- package/dist/preview-engine/{chunk-MDDF2GCF.mjs → chunk-PFA427ZC.mjs} +3 -23
- package/dist/preview-engine/chunk-PL4IH5V4.mjs +89 -0
- package/dist/preview-engine/chunk-PNB3ERR3.mjs +1 -0
- package/dist/preview-engine/{chunk-PQD5UPHG.mjs → chunk-PR2BUYCL.mjs} +1 -1
- package/dist/preview-engine/{chunk-QYRDQMNB.mjs → chunk-PXT52LEH.mjs} +3 -23
- package/dist/preview-engine/{chunk-ZSIJB76A.mjs → chunk-Q2DPNVIA.mjs} +2 -2
- package/dist/preview-engine/chunk-Q4Z54DQ7.mjs +1 -0
- package/dist/preview-engine/{chunk-6256GQFP.mjs → chunk-QY7MHWZW.mjs} +1 -1
- package/dist/preview-engine/chunk-RQLMW6MA.mjs +4 -0
- package/dist/preview-engine/chunk-RSMO7NPN.mjs +1 -0
- package/dist/preview-engine/chunk-RW2F3XLQ.mjs +90 -0
- package/dist/preview-engine/chunk-SGPRLTNF.mjs +52 -0
- package/dist/preview-engine/{chunk-Y6FEU4TV.mjs → chunk-SZW5J72T.mjs} +3 -23
- package/dist/preview-engine/{chunk-LIHUEYI5.mjs → chunk-VO2R3DWV.mjs} +2 -2
- package/dist/preview-engine/{chunk-BJKH76OM.mjs → chunk-VXS5SIEC.mjs} +3 -23
- package/dist/preview-engine/chunk-WFGJXCZT.mjs +53 -0
- package/dist/preview-engine/chunk-WH5Q2NFN.mjs +32 -0
- package/dist/preview-engine/chunk-WSIURGP2.mjs +121 -0
- package/dist/preview-engine/{chunk-AWTH2WZO.mjs → chunk-WUKH7BD7.mjs} +1 -1
- package/dist/preview-engine/chunk-XC5WZNOY.mjs +1448 -0
- package/dist/preview-engine/chunk-YQZOGEPZ.mjs +186 -0
- package/dist/preview-engine/{chunk-D3TETPLI.mjs → chunk-ZH5MZQTZ.mjs} +1 -1
- package/dist/preview-engine/chunk-ZIIFTWDH.mjs +58 -0
- package/dist/preview-engine/{chunk-EQ4QZRXB.mjs → chunk-ZNL4W4DK.mjs} +2 -2
- package/dist/preview-engine/effects.mjs +1 -1
- package/dist/preview-engine/fonts.mjs +1 -1
- package/dist/preview-engine/framefields.mjs +127 -130
- package/dist/preview-engine/player.mjs +6 -6
- package/dist/preview-engine/renderers-2H7YEUTD.mjs +1 -0
- package/dist/preview-engine/renderers-2P6KXWEZ.mjs +1 -0
- package/dist/preview-engine/renderers-2SVWAB42.mjs +1 -0
- package/dist/preview-engine/renderers-3RC5FDWX.mjs +1 -0
- package/dist/preview-engine/renderers-3T7Q4SPP.mjs +1 -0
- package/dist/preview-engine/renderers-4DV4REGM.mjs +1 -0
- package/dist/preview-engine/renderers-57WDL6XN.mjs +1 -0
- package/dist/preview-engine/renderers-6WH7NZCC.mjs +1 -0
- package/dist/preview-engine/renderers-7JTNJE7M.mjs +1 -0
- package/dist/preview-engine/renderers-7VJN5L3Z.mjs +1 -0
- package/dist/preview-engine/{renderers-WLH4HRUE.mjs → renderers-A7VH3ON5.mjs} +1 -1
- package/dist/preview-engine/renderers-CQXQHOW2.mjs +1 -0
- package/dist/preview-engine/{renderers-2US2NIUG.mjs → renderers-D2EJULOJ.mjs} +3 -23
- package/dist/preview-engine/renderers-DXHJAMZR.mjs +1 -0
- package/dist/preview-engine/{renderers-W5CVDJVH.mjs → renderers-F55XFVMP.mjs} +1 -1
- package/dist/preview-engine/renderers-FWGMNPYB.mjs +1 -0
- package/dist/preview-engine/renderers-HXFRTIJD.mjs +1 -0
- package/dist/preview-engine/renderers-IWQ3V6AJ.mjs +1 -0
- package/dist/preview-engine/renderers-IXGM55XK.mjs +1 -0
- package/dist/preview-engine/renderers-KVHUVWSN.mjs +1 -0
- package/dist/preview-engine/renderers-KZWGSKRF.mjs +1 -0
- package/dist/preview-engine/renderers-LVDUZZ75.mjs +1 -0
- package/dist/preview-engine/renderers-M7R2ZJUP.mjs +1 -0
- package/dist/preview-engine/renderers-NWHS7N2L.mjs +1 -0
- package/dist/preview-engine/{renderers-CAUWP4XH.mjs → renderers-O2DZPBOJ.mjs} +3 -23
- package/dist/preview-engine/renderers-OT7D3BUA.mjs +1 -0
- package/dist/preview-engine/renderers-P4S7GL64.mjs +104 -0
- package/dist/preview-engine/renderers-PMOO7DLX.mjs +1 -0
- package/dist/preview-engine/renderers-Q4OFCMXI.mjs +1 -0
- package/dist/preview-engine/renderers-QCCPCH73.mjs +1 -0
- package/dist/preview-engine/renderers-RJO6H4FC.mjs +1 -0
- package/dist/preview-engine/renderers-RRXFJRGI.mjs +1 -0
- package/dist/preview-engine/renderers-SCJ6OKTB.mjs +1 -0
- package/dist/preview-engine/renderers-T4JMJXWL.mjs +1 -0
- package/dist/preview-engine/renderers-TAWT3ZSS.mjs +1 -0
- package/dist/preview-engine/{renderers-JQHUBWLL.mjs → renderers-TFZST6WW.mjs} +3 -23
- package/dist/preview-engine/renderers-UHTO6BQA.mjs +1 -0
- package/dist/preview-engine/renderers-UPKB5OLS.mjs +100 -0
- package/dist/preview-engine/renderers-UPTJJE5F.mjs +1 -0
- package/dist/preview-engine/renderers-VLMQR3DW.mjs +1 -0
- package/dist/preview-engine/renderers-WVTTRCVI.mjs +1 -0
- package/dist/preview-engine/renderers-X5PUIPU5.mjs +1 -0
- package/dist/preview-engine/renderers-XCMVZ2XG.mjs +35 -0
- package/dist/preview-engine/renderers-XHTMRXC5.mjs +1 -0
- package/dist/preview-engine/renderers-YDCDY3BR.mjs +1 -0
- package/dist/preview-engine/renderers-YECY2YFT.mjs +1 -0
- package/dist/preview-engine/renderers-YJNQ4B7B.mjs +1 -0
- package/dist/preview-engine/renderers-YMN6QXK7.mjs +1 -0
- package/dist/preview-engine/renderers-YZEVPHPQ.mjs +228 -0
- package/dist/preview-engine/renderers-Z7YQUFAY.mjs +1 -0
- package/dist/preview-engine/renderers-ZANPE3OK.mjs +1 -0
- package/dist/preview-engine/renderers-ZJTRANIX.mjs +1 -0
- package/dist/preview-engine/signals.mjs +1 -1
- package/dist/preview-engine/skia-canvas-QBXAOGPB.mjs +1 -0
- package/dist/{program-BmNKgzja.mjs → program-Cc5AsBHz.mjs} +93 -2335
- package/dist/program-Cc5AsBHz.mjs.map +1 -0
- package/dist/renderer/index.d.mts +2 -2
- package/dist/renderer/index.mjs +3 -4
- package/dist/renderer-1VSi7Vum.mjs +5 -0
- package/dist/renderer-4BlpUHQT.mjs +5 -0
- package/dist/{renderer-Bv21DbWy.mjs → renderer-9L0p8IT3.mjs} +3 -1
- package/dist/renderer-AzSX2-mZ.mjs +5 -0
- package/dist/renderer-B-cxK24t.mjs +5 -0
- package/dist/{renderer-DxTs4Iyi.mjs → renderer-B1Zn91xt.mjs} +40 -142
- package/dist/renderer-B1Zn91xt.mjs.map +1 -0
- package/dist/renderer-B5d5oM_D.mjs +5 -0
- package/dist/renderer-B8BdNjaN.mjs +5 -0
- package/dist/{renderer-Bhdf90Zq.mjs → renderer-BI5rvAyo.mjs} +51 -163
- package/dist/renderer-BI5rvAyo.mjs.map +1 -0
- package/dist/renderer-BKEfeg-4.mjs +5 -0
- package/dist/{renderer-CI7sG_cv.mjs → renderer-BKf1qDwL.mjs} +83 -266
- package/dist/renderer-BKf1qDwL.mjs.map +1 -0
- package/dist/renderer-BLLOkeFB.mjs +5 -0
- package/dist/renderer-BSitV56h.mjs +268 -0
- package/dist/renderer-BSitV56h.mjs.map +1 -0
- package/dist/renderer-BTvov1NH.mjs +5 -0
- package/dist/renderer-BVun05IK.mjs +5 -0
- package/dist/{renderer-B2ieylQ3.mjs → renderer-BWVsBB3t.mjs} +56 -167
- package/dist/renderer-BWVsBB3t.mjs.map +1 -0
- package/dist/{renderer-ChdLYS-G.mjs → renderer-BXQQxeNC.mjs} +20 -87
- package/dist/renderer-BXQQxeNC.mjs.map +1 -0
- package/dist/renderer-B_3h5nhy.mjs +5 -0
- package/dist/renderer-BaZjoFYK.mjs +5 -0
- package/dist/{renderer-CfC_aiew.mjs → renderer-BaaOR3Ao.mjs} +57 -192
- package/dist/renderer-BaaOR3Ao.mjs.map +1 -0
- package/dist/{renderer-bZU_ndxf.mjs → renderer-BajIOuZH.mjs} +2 -2
- package/dist/{renderer-bZU_ndxf.mjs.map → renderer-BajIOuZH.mjs.map} +1 -1
- package/dist/{renderer-CWTpc4ff.mjs → renderer-Bb8T5eRX.mjs} +76 -210
- package/dist/renderer-Bb8T5eRX.mjs.map +1 -0
- package/dist/{renderer-D2nCGcjv.mjs → renderer-Bc6J0iVG.mjs} +3 -3
- package/dist/{renderer-D2nCGcjv.mjs.map → renderer-Bc6J0iVG.mjs.map} +1 -1
- package/dist/renderer-BcApaCVe.mjs +5 -0
- package/dist/{renderer-D_1oDOCP.mjs → renderer-Bg7647VN.mjs} +14 -69
- package/dist/renderer-Bg7647VN.mjs.map +1 -0
- package/dist/{renderer-ho_jXJ0H.mjs → renderer-BhKIZDsm.mjs} +23 -117
- package/dist/renderer-BhKIZDsm.mjs.map +1 -0
- package/dist/{renderer-dncoIVdd.mjs → renderer-BhhSyHKF.mjs} +3 -1
- package/dist/{renderer-CXn5HAnK.mjs → renderer-Br9BOkQs.mjs} +10 -16
- package/dist/renderer-Br9BOkQs.mjs.map +1 -0
- package/dist/{renderer-BTdOMMEx.d.mts → renderer-Bs_f_App.d.mts} +2 -2
- package/dist/{renderer-BTdOMMEx.d.mts.map → renderer-Bs_f_App.d.mts.map} +1 -1
- package/dist/{renderer-DZGtBUCx.mjs → renderer-BygIYH8s.mjs} +35 -185
- package/dist/renderer-BygIYH8s.mjs.map +1 -0
- package/dist/{renderer-Bv6q84TU.mjs → renderer-C--Dqe-3.mjs} +61 -208
- package/dist/renderer-C--Dqe-3.mjs.map +1 -0
- package/dist/renderer-C14mKYCw.mjs +5 -0
- package/dist/{renderer-CnXW28b9.mjs → renderer-C27RfwXN.mjs} +85 -279
- package/dist/renderer-C27RfwXN.mjs.map +1 -0
- package/dist/{renderer-Dy0utCl7.mjs → renderer-C5caYAA3.mjs} +10 -17
- package/dist/renderer-C5caYAA3.mjs.map +1 -0
- package/dist/{renderer-Bfgd4N0O.mjs → renderer-C5zpaQed.mjs} +9 -16
- package/dist/renderer-C5zpaQed.mjs.map +1 -0
- package/dist/{renderer-cgxO2xN6.mjs → renderer-C7UZLOYk.mjs} +10 -17
- package/dist/renderer-C7UZLOYk.mjs.map +1 -0
- package/dist/{renderer-BJ1aTkZf.mjs → renderer-C92mwhZz.mjs} +99 -282
- package/dist/renderer-C92mwhZz.mjs.map +1 -0
- package/dist/{renderer-CepMDQ06.mjs → renderer-CAJe9eLS.mjs} +19 -106
- package/dist/renderer-CAJe9eLS.mjs.map +1 -0
- package/dist/renderer-CFqhAXkH.mjs +5 -0
- package/dist/renderer-CK-spD4j.mjs +5 -0
- package/dist/renderer-CLLzQTIk.mjs +5 -0
- package/dist/{renderer-CtyD_Xju.mjs → renderer-CMsjnZ0G.mjs} +59 -194
- package/dist/renderer-CMsjnZ0G.mjs.map +1 -0
- package/dist/renderer-COwa6xlF.mjs +5 -0
- package/dist/renderer-CQPuuoVf.mjs +6 -0
- package/dist/renderer-CRd-cDqZ.mjs +5 -0
- package/dist/renderer-CTVnQAUm.mjs +5 -0
- package/dist/renderer-CbiEBSGx.mjs +5 -0
- package/dist/renderer-Cl7PruQ1.mjs +5 -0
- package/dist/renderer-CmuGGUDR.mjs +5 -0
- package/dist/renderer-CoGP4Mvf.mjs +148 -0
- package/dist/renderer-CoGP4Mvf.mjs.map +1 -0
- package/dist/renderer-CoNRrfqx.mjs +5 -0
- package/dist/{renderer-BREIjsUU.mjs → renderer-CrAqu3Rg.mjs} +14 -40
- package/dist/renderer-CrAqu3Rg.mjs.map +1 -0
- package/dist/renderer-CvIGa0mE.mjs +5 -0
- package/dist/renderer-CwMDPv0p.mjs +5 -0
- package/dist/{renderer-BIIWCg_J.mjs → renderer-CydWqyf0.mjs} +11 -18
- package/dist/renderer-CydWqyf0.mjs.map +1 -0
- package/dist/{renderer-bsWnRNpJ.mjs → renderer-CzBQgGD2.mjs} +29 -98
- package/dist/renderer-CzBQgGD2.mjs.map +1 -0
- package/dist/{renderer-CdciwwMI.mjs → renderer-D0aZNkQE.mjs} +161 -457
- package/dist/renderer-D0aZNkQE.mjs.map +1 -0
- package/dist/{renderer-B8UaFNqb.mjs → renderer-D2BRlqof.mjs} +62 -209
- package/dist/renderer-D2BRlqof.mjs.map +1 -0
- package/dist/{renderer-B8-kzZdP.mjs → renderer-D2FFvxsq.mjs} +41 -140
- package/dist/renderer-D2FFvxsq.mjs.map +1 -0
- package/dist/{renderer-Ctk2zzfy.mjs → renderer-D8-zNjyz.mjs} +57 -197
- package/dist/renderer-D8-zNjyz.mjs.map +1 -0
- package/dist/{renderer-DML9qpmS.mjs → renderer-DDqwds9R.mjs} +52 -202
- package/dist/renderer-DDqwds9R.mjs.map +1 -0
- package/dist/{renderer-BSaYG8aw.mjs → renderer-DGtBOdst.mjs} +3 -1
- package/dist/{renderer-CzPWB0Ss.mjs → renderer-DKqG9Lek.mjs} +13 -45
- package/dist/renderer-DKqG9Lek.mjs.map +1 -0
- package/dist/renderer-DOHbhGPu.mjs +5 -0
- package/dist/renderer-DOmA6IKc.mjs +5 -0
- package/dist/{renderer-DirxsOjq.mjs → renderer-DUhXH5Tz.mjs} +80 -258
- package/dist/renderer-DUhXH5Tz.mjs.map +1 -0
- package/dist/{renderer-kwmlLQOO.mjs → renderer-DVnVnS3c.mjs} +4 -4
- package/dist/{renderer-kwmlLQOO.mjs.map → renderer-DVnVnS3c.mjs.map} +1 -1
- package/dist/{renderer-CaaOKMSd.mjs → renderer-DWEvQ-hQ.mjs} +63 -190
- package/dist/renderer-DWEvQ-hQ.mjs.map +1 -0
- package/dist/renderer-DX2qEJTL.mjs +2173 -0
- package/dist/renderer-DX2qEJTL.mjs.map +1 -0
- package/dist/{renderer-1VuQTY1Z.mjs → renderer-DX8aBDqR.mjs} +236 -96
- package/dist/renderer-DX8aBDqR.mjs.map +1 -0
- package/dist/{renderer-DEJwPRkR.mjs → renderer-DYIPWN_B.mjs} +15 -51
- package/dist/renderer-DYIPWN_B.mjs.map +1 -0
- package/dist/{renderer-Djlb4TLO.mjs → renderer-DZD2G76E.mjs} +8 -15
- package/dist/renderer-DZD2G76E.mjs.map +1 -0
- package/dist/{renderer-WSGuj_V6.mjs → renderer-Da06_9FZ.mjs} +4 -3
- package/dist/{renderer-WSGuj_V6.mjs.map → renderer-Da06_9FZ.mjs.map} +1 -1
- package/dist/{renderer-BM05sB8m.mjs → renderer-DkyXqrQ6.mjs} +11 -74
- package/dist/renderer-DkyXqrQ6.mjs.map +1 -0
- package/dist/renderer-DmCWc4JL.mjs +5 -0
- package/dist/{renderer-BDbTWSpP.mjs → renderer-Dno-fujw.mjs} +58 -234
- package/dist/renderer-Dno-fujw.mjs.map +1 -0
- package/dist/{renderer-D2XD4QYk.mjs → renderer-DoYdfDEA.mjs} +34 -147
- package/dist/renderer-DoYdfDEA.mjs.map +1 -0
- package/dist/{renderer-_uvdg48N.mjs → renderer-DqjITuT-.mjs} +24 -93
- package/dist/renderer-DqjITuT-.mjs.map +1 -0
- package/dist/renderer-DuuOlYIG.mjs +3 -0
- package/dist/{renderer-DIgsilTw.mjs → renderer-Dy-DBU0X.mjs} +5 -4
- package/dist/{renderer-DIgsilTw.mjs.map → renderer-Dy-DBU0X.mjs.map} +1 -1
- package/dist/{renderer-CpkiHRhh.mjs → renderer-DyzNM721.mjs} +17 -99
- package/dist/renderer-DyzNM721.mjs.map +1 -0
- package/dist/{renderer-C_TPMHiH.mjs → renderer-DzrM1KMN.mjs} +81 -221
- package/dist/renderer-DzrM1KMN.mjs.map +1 -0
- package/dist/{renderer-Bc04fivZ.mjs → renderer-FHyZn0em.mjs} +99 -287
- package/dist/renderer-FHyZn0em.mjs.map +1 -0
- package/dist/renderer-GSFP7v2z.mjs +3 -0
- package/dist/{renderer-DpGc-N3G.mjs → renderer-NXdm6HLb.mjs} +24 -104
- package/dist/renderer-NXdm6HLb.mjs.map +1 -0
- package/dist/renderer-OLaYikwi.mjs +5 -0
- package/dist/renderer-Q75RC5Uz.mjs +5 -0
- package/dist/renderer-T0LJ4Po3.mjs +5 -0
- package/dist/renderer-VuXt1hfq.mjs +5 -0
- package/dist/{renderer-BfAWZziM.mjs → renderer-_1xGBbxn.mjs} +58 -225
- package/dist/renderer-_1xGBbxn.mjs.map +1 -0
- package/dist/{renderer-B1YMwl2B.mjs → renderer-c4AorKyw.mjs} +3 -1
- package/dist/renderer-hY_2WLt3.mjs +5 -0
- package/dist/{renderer-BhZZEyFX.mjs → renderer-mp1NN5zk.mjs} +4 -4
- package/dist/{renderer-BhZZEyFX.mjs.map → renderer-mp1NN5zk.mjs.map} +1 -1
- package/dist/{renderer-D7zvPHKn.mjs → renderer-qsg-JMuN.mjs} +18 -28
- package/dist/renderer-qsg-JMuN.mjs.map +1 -0
- package/dist/{renderer-vqkKWqa5.mjs → renderer-timEC0Gl.mjs} +23 -107
- package/dist/renderer-timEC0Gl.mjs.map +1 -0
- package/dist/renderer-y4EqE06a.mjs +5 -0
- package/dist/{renderers-CP8CFWDs-DwQTx8S7.mjs → renderers-CP8CFWDs-CMYe4kvZ.mjs} +4 -4
- package/dist/{renderers-CP8CFWDs-DwQTx8S7.mjs.map → renderers-CP8CFWDs-CMYe4kvZ.mjs.map} +1 -1
- package/dist/signals/index.d.mts +6 -6
- package/dist/signals/index.mjs +8 -8
- package/dist/{signals-Bv1OweKd.mjs → signals-DGRs6ddH.mjs} +4 -4
- package/dist/{signals-Bv1OweKd.mjs.map → signals-DGRs6ddH.mjs.map} +1 -1
- package/package.json +55 -55
- package/dist/client-CwRhflHE.mjs +0 -66
- package/dist/client-CwRhflHE.mjs.map +0 -1
- package/dist/dist-BAVZdFEJ.mjs.map +0 -1
- package/dist/dist-BYqNNwsl.mjs.map +0 -1
- package/dist/dist-CbG3QxDw.mjs.map +0 -1
- package/dist/dist-Cxi68OuY.mjs.map +0 -1
- package/dist/dist-cjs--lfMLs3U.mjs +0 -66
- package/dist/dist-cjs--lfMLs3U.mjs.map +0 -1
- package/dist/dist-cjs--pxyGFw2.mjs +0 -43
- package/dist/dist-cjs--pxyGFw2.mjs.map +0 -1
- package/dist/dist-cjs-3pon9kTt.mjs +0 -6
- package/dist/dist-cjs-BDpO-TH_.mjs +0 -51
- package/dist/dist-cjs-BDpO-TH_.mjs.map +0 -1
- package/dist/dist-cjs-BiKQozdJ.mjs +0 -64
- package/dist/dist-cjs-BiKQozdJ.mjs.map +0 -1
- package/dist/dist-cjs-BmyyWYWv.mjs +0 -153
- package/dist/dist-cjs-BmyyWYWv.mjs.map +0 -1
- package/dist/dist-cjs-CND_ghfH.mjs +0 -98
- package/dist/dist-cjs-CND_ghfH.mjs.map +0 -1
- package/dist/dist-cjs-CQwmMllY.mjs +0 -137
- package/dist/dist-cjs-CQwmMllY.mjs.map +0 -1
- package/dist/dist-cjs-CgFzrgj8.mjs +0 -85
- package/dist/dist-cjs-CgFzrgj8.mjs.map +0 -1
- package/dist/dist-cjs-CsU2sZoX.mjs +0 -323
- package/dist/dist-cjs-CsU2sZoX.mjs.map +0 -1
- package/dist/dist-cjs-DJ8fcQEe.mjs +0 -9069
- package/dist/dist-cjs-DJ8fcQEe.mjs.map +0 -1
- package/dist/dist-cjs-DT2jJlcK.mjs +0 -181
- package/dist/dist-cjs-DT2jJlcK.mjs.map +0 -1
- package/dist/dist-cjs-DjzmP0-x.mjs +0 -1091
- package/dist/dist-cjs-DjzmP0-x.mjs.map +0 -1
- package/dist/dist-cjs-DzjrlfbE.mjs +0 -437
- package/dist/dist-cjs-DzjrlfbE.mjs.map +0 -1
- package/dist/dist-cjs-M-8QOgS_.mjs +0 -209
- package/dist/dist-cjs-M-8QOgS_.mjs.map +0 -1
- package/dist/dist-cjs-TsA8LFXC.mjs +0 -48
- package/dist/dist-cjs-TsA8LFXC.mjs.map +0 -1
- package/dist/dist-cjs-agQl9T8M.mjs +0 -5015
- package/dist/dist-cjs-agQl9T8M.mjs.map +0 -1
- package/dist/event-streams-BaNGaLxh.mjs +0 -204
- package/dist/event-streams-BaNGaLxh.mjs.map +0 -1
- package/dist/fonts-C0W6TgJk.mjs.map +0 -1
- package/dist/index-9B8CJowc.d.mts.map +0 -1
- package/dist/index-CYGpSVsf.d.mts.map +0 -1
- package/dist/index-DDEPvMww.d.mts.map +0 -1
- package/dist/index-DnWsbbuZ.d.mts.map +0 -1
- package/dist/package-XpCRbTOA.mjs +0 -6
- package/dist/package-XpCRbTOA.mjs.map +0 -1
- package/dist/preview-BV2C4Fk6.mjs.map +0 -1
- package/dist/preview-engine/chunk-36YGYLKD.mjs +0 -58
- package/dist/preview-engine/chunk-7O24H4YT.mjs +0 -117
- package/dist/preview-engine/chunk-AUFSM5KI.mjs +0 -141
- package/dist/preview-engine/chunk-BHFI3Y4T.mjs +0 -1
- package/dist/preview-engine/chunk-BQ65MU6H.mjs +0 -138
- package/dist/preview-engine/chunk-BWDARDO6.mjs +0 -117
- package/dist/preview-engine/chunk-DLXQDDIN.mjs +0 -46
- package/dist/preview-engine/chunk-EJGLUZMW.mjs +0 -1
- package/dist/preview-engine/chunk-FE6RSVKZ.mjs +0 -73
- package/dist/preview-engine/chunk-FGHOHCFG.mjs +0 -110
- package/dist/preview-engine/chunk-HPIULG7P.mjs +0 -111
- package/dist/preview-engine/chunk-HRIKNYPF.mjs +0 -60
- package/dist/preview-engine/chunk-IMV5SBQV.mjs +0 -1
- package/dist/preview-engine/chunk-JPXQPP6J.mjs +0 -1
- package/dist/preview-engine/chunk-K52S5DJX.mjs +0 -109
- package/dist/preview-engine/chunk-L3IEJZ5S.mjs +0 -474
- package/dist/preview-engine/chunk-M7NMFDJ3.mjs +0 -3
- package/dist/preview-engine/chunk-MJM3NFEC.mjs +0 -315
- package/dist/preview-engine/chunk-NFAGEP43.mjs +0 -1448
- package/dist/preview-engine/chunk-NRHSNPZV.mjs +0 -182
- package/dist/preview-engine/chunk-OWOSYNMF.mjs +0 -104
- package/dist/preview-engine/chunk-Q66QQI6N.mjs +0 -8
- package/dist/preview-engine/chunk-QGBSLNFI.mjs +0 -52
- package/dist/preview-engine/chunk-QM3XFEJN.mjs +0 -63
- package/dist/preview-engine/chunk-R3ZH7YF3.mjs +0 -89
- package/dist/preview-engine/chunk-R6YNSBKL.mjs +0 -108
- package/dist/preview-engine/chunk-S4CSX6K5.mjs +0 -610
- package/dist/preview-engine/chunk-SNYAHQ25.mjs +0 -186
- package/dist/preview-engine/chunk-SRT2OCQW.mjs +0 -1
- package/dist/preview-engine/chunk-SUUUYXXT.mjs +0 -1
- package/dist/preview-engine/chunk-T6COGNOW.mjs +0 -134
- package/dist/preview-engine/chunk-XFYXT76H.mjs +0 -52
- package/dist/preview-engine/chunk-XUM42I4R.mjs +0 -1
- package/dist/preview-engine/chunk-YITWSOG4.mjs +0 -103
- package/dist/preview-engine/chunk-ZDCA6NVT.mjs +0 -82
- package/dist/preview-engine/chunk-ZNGOAGAI.mjs +0 -1
- package/dist/preview-engine/renderers-27Q5X3U6.mjs +0 -1
- package/dist/preview-engine/renderers-4AHH6BHF.mjs +0 -1
- package/dist/preview-engine/renderers-5BV6JGTU.mjs +0 -248
- package/dist/preview-engine/renderers-6PRVCTYV.mjs +0 -1
- package/dist/preview-engine/renderers-76PQY2SO.mjs +0 -1
- package/dist/preview-engine/renderers-7X2W6QWX.mjs +0 -1
- package/dist/preview-engine/renderers-B52QT6MT.mjs +0 -55
- package/dist/preview-engine/renderers-BE6RVJSE.mjs +0 -1
- package/dist/preview-engine/renderers-BMM2BH56.mjs +0 -1
- package/dist/preview-engine/renderers-CHOGQHVQ.mjs +0 -1
- package/dist/preview-engine/renderers-CRKRWR2Y.mjs +0 -1
- package/dist/preview-engine/renderers-DEYDSGJX.mjs +0 -1
- package/dist/preview-engine/renderers-DZTNRCR7.mjs +0 -1
- package/dist/preview-engine/renderers-ELO3KWTK.mjs +0 -1
- package/dist/preview-engine/renderers-EOJMPPAQ.mjs +0 -1
- package/dist/preview-engine/renderers-F2KJNDWA.mjs +0 -124
- package/dist/preview-engine/renderers-FCV4COVB.mjs +0 -1
- package/dist/preview-engine/renderers-G5KQISVL.mjs +0 -1
- package/dist/preview-engine/renderers-GJSUN5HU.mjs +0 -1
- package/dist/preview-engine/renderers-GMX2ZQDG.mjs +0 -1
- package/dist/preview-engine/renderers-GXCRINGC.mjs +0 -1
- package/dist/preview-engine/renderers-IHKORHMT.mjs +0 -1
- package/dist/preview-engine/renderers-JA4SLMG3.mjs +0 -1
- package/dist/preview-engine/renderers-JLN77CFZ.mjs +0 -1
- package/dist/preview-engine/renderers-KBFW7B5F.mjs +0 -1
- package/dist/preview-engine/renderers-LJRJMFCR.mjs +0 -1
- package/dist/preview-engine/renderers-LPAPZ5QS.mjs +0 -1
- package/dist/preview-engine/renderers-NQUDQEHY.mjs +0 -1
- package/dist/preview-engine/renderers-NS3AIJVG.mjs +0 -1
- package/dist/preview-engine/renderers-NSY2SDIE.mjs +0 -1
- package/dist/preview-engine/renderers-PW4OJWHF.mjs +0 -120
- package/dist/preview-engine/renderers-PWLWOZY4.mjs +0 -1
- package/dist/preview-engine/renderers-Q3MD34JN.mjs +0 -1
- package/dist/preview-engine/renderers-RXGNA2Q7.mjs +0 -1
- package/dist/preview-engine/renderers-TVTQ2R74.mjs +0 -1
- package/dist/preview-engine/renderers-VTTGFO55.mjs +0 -1
- package/dist/preview-engine/renderers-W3VVM5HB.mjs +0 -1
- package/dist/preview-engine/renderers-WG7QBD4D.mjs +0 -1
- package/dist/preview-engine/renderers-WLLJFZTF.mjs +0 -1
- package/dist/preview-engine/renderers-WN4SYFCU.mjs +0 -1
- package/dist/preview-engine/renderers-WSMLLSWX.mjs +0 -1
- package/dist/preview-engine/renderers-XFBSGTHU.mjs +0 -1
- package/dist/preview-engine/renderers-XFC6ZPO5.mjs +0 -1
- package/dist/preview-engine/renderers-XUHRY3XH.mjs +0 -1
- package/dist/preview-engine/renderers-YAOB5XU6.mjs +0 -1
- package/dist/preview-engine/renderers-YTB4FOHT.mjs +0 -1
- package/dist/preview-engine/renderers-ZIMBODX6.mjs +0 -1
- package/dist/program-BmNKgzja.mjs.map +0 -1
- package/dist/renderer-1VuQTY1Z.mjs.map +0 -1
- package/dist/renderer-6oMSare3.mjs +0 -3
- package/dist/renderer-B1ComPb2.mjs +0 -3
- package/dist/renderer-B2XzjK0z.mjs +0 -3
- package/dist/renderer-B2ieylQ3.mjs.map +0 -1
- package/dist/renderer-B8-kzZdP.mjs.map +0 -1
- package/dist/renderer-B8UaFNqb.mjs.map +0 -1
- package/dist/renderer-BDbTWSpP.mjs.map +0 -1
- package/dist/renderer-BIIWCg_J.mjs.map +0 -1
- package/dist/renderer-BJ1aTkZf.mjs.map +0 -1
- package/dist/renderer-BM05sB8m.mjs.map +0 -1
- package/dist/renderer-BQ5Bz5D0.mjs +0 -3
- package/dist/renderer-BREIjsUU.mjs.map +0 -1
- package/dist/renderer-BTu2EVhF.mjs +0 -3
- package/dist/renderer-BZcn_iBl.mjs +0 -3
- package/dist/renderer-Bc04fivZ.mjs.map +0 -1
- package/dist/renderer-BfAWZziM.mjs.map +0 -1
- package/dist/renderer-BfJSUjPN.mjs +0 -3
- package/dist/renderer-Bfgd4N0O.mjs.map +0 -1
- package/dist/renderer-Bhdf90Zq.mjs.map +0 -1
- package/dist/renderer-Bp6sDMa6.mjs +0 -3
- package/dist/renderer-Bt7_sb_Y.mjs +0 -3
- package/dist/renderer-Bv6q84TU.mjs.map +0 -1
- package/dist/renderer-C-H680_l.mjs +0 -3
- package/dist/renderer-C606ZPUn.mjs +0 -3
- package/dist/renderer-C9jyKn1i.mjs +0 -3
- package/dist/renderer-CDLrNgfo.mjs +0 -3
- package/dist/renderer-CERfcxgv.mjs +0 -3
- package/dist/renderer-CG5PzNkv.mjs +0 -3
- package/dist/renderer-CI7sG_cv.mjs.map +0 -1
- package/dist/renderer-CPoIMVdk.mjs +0 -3
- package/dist/renderer-CQdVj2JS.mjs +0 -3
- package/dist/renderer-CQiTodg9.mjs +0 -337
- package/dist/renderer-CQiTodg9.mjs.map +0 -1
- package/dist/renderer-CWTpc4ff.mjs.map +0 -1
- package/dist/renderer-CXn5HAnK.mjs.map +0 -1
- package/dist/renderer-CZgB5st8.mjs +0 -3
- package/dist/renderer-C_TPMHiH.mjs.map +0 -1
- package/dist/renderer-Ca7L1EOp.mjs +0 -3
- package/dist/renderer-CaaOKMSd.mjs.map +0 -1
- package/dist/renderer-CdciwwMI.mjs.map +0 -1
- package/dist/renderer-CepMDQ06.mjs.map +0 -1
- package/dist/renderer-CfC_aiew.mjs.map +0 -1
- package/dist/renderer-ChdLYS-G.mjs.map +0 -1
- package/dist/renderer-CkykdR_D.mjs +0 -3
- package/dist/renderer-Cl6GkeHx.mjs +0 -3
- package/dist/renderer-ClcjrFyo.mjs +0 -3
- package/dist/renderer-CnXW28b9.mjs.map +0 -1
- package/dist/renderer-CpkiHRhh.mjs.map +0 -1
- package/dist/renderer-CtVkU_GA.mjs +0 -44
- package/dist/renderer-CtVkU_GA.mjs.map +0 -1
- package/dist/renderer-Ctk2zzfy.mjs.map +0 -1
- package/dist/renderer-CtyD_Xju.mjs.map +0 -1
- package/dist/renderer-CySUP_wk.mjs +0 -3
- package/dist/renderer-CzPWB0Ss.mjs.map +0 -1
- package/dist/renderer-D2XD4QYk.mjs.map +0 -1
- package/dist/renderer-D2l_Odyg.mjs +0 -3
- package/dist/renderer-D7zvPHKn.mjs.map +0 -1
- package/dist/renderer-D9NnIx7o.mjs +0 -3
- package/dist/renderer-DCPCYySt.mjs +0 -3
- package/dist/renderer-DEJwPRkR.mjs.map +0 -1
- package/dist/renderer-DIkpJEOZ.mjs +0 -3
- package/dist/renderer-DML9qpmS.mjs.map +0 -1
- package/dist/renderer-DNSXPkf_.mjs +0 -3
- package/dist/renderer-DP-CvZ_Z.mjs +0 -3
- package/dist/renderer-DZGtBUCx.mjs.map +0 -1
- package/dist/renderer-D_1oDOCP.mjs.map +0 -1
- package/dist/renderer-DeXb8R6h.mjs +0 -3
- package/dist/renderer-DezO-ZaP.mjs +0 -4
- package/dist/renderer-DhXe04fC.mjs +0 -3
- package/dist/renderer-DirxsOjq.mjs.map +0 -1
- package/dist/renderer-Djlb4TLO.mjs.map +0 -1
- package/dist/renderer-DnH3SI7w.mjs +0 -3
- package/dist/renderer-DpGc-N3G.mjs.map +0 -1
- package/dist/renderer-Dpw4oi33.mjs +0 -3
- package/dist/renderer-DxTs4Iyi.mjs.map +0 -1
- package/dist/renderer-Dy0utCl7.mjs.map +0 -1
- package/dist/renderer-Md-ytU0v.mjs +0 -3
- package/dist/renderer-RKsXlF_0.mjs +0 -23900
- package/dist/renderer-RKsXlF_0.mjs.map +0 -1
- package/dist/renderer-U-bhWO9Q.mjs +0 -3
- package/dist/renderer-_uvdg48N.mjs.map +0 -1
- package/dist/renderer-bsWnRNpJ.mjs.map +0 -1
- package/dist/renderer-cgxO2xN6.mjs.map +0 -1
- package/dist/renderer-d5-F_48R.mjs +0 -3
- package/dist/renderer-ho_jXJ0H.mjs.map +0 -1
- package/dist/renderer-vqkKWqa5.mjs.map +0 -1
- package/dist/renderer-zA5okHds.mjs +0 -3
- package/dist/signin-Db08vl-g.mjs +0 -865
- package/dist/signin-Db08vl-g.mjs.map +0 -1
- package/dist/sso-oidc-CpLz_lIu.mjs +0 -1051
- package/dist/sso-oidc-CpLz_lIu.mjs.map +0 -1
- package/dist/sts-BQefGuml.mjs +0 -6
- package/dist/sts-Dgl0kH-t.mjs +0 -1395
- package/dist/sts-Dgl0kH-t.mjs.map +0 -1
- /package/dist/{renderer-C2n-EHxg.mjs → renderer-B-BcgA6d.mjs} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as E}from"./chunk-
|
|
1
|
+
import{a as B,d as R,e as E,f as O,g as $,h as Y,j as k,m as K}from"./chunk-ENKKLU7B.mjs";import{d as A}from"./chunk-6YJP57MZ.mjs";import{u as T,z as W}from"./chunk-63SFBHEH.mjs";import{a as X}from"./chunk-IQC2I5A5.mjs";import{e as D}from"./chunk-BVF64D6H.mjs";D();D();var ye=`
|
|
2
2
|
struct RelightUniforms {
|
|
3
3
|
// vec4 0
|
|
4
4
|
lightType : f32, // 0=Point, 1=Spot, 2=Directional, 3=Rim
|
|
@@ -58,27 +58,7 @@ struct RelightUniforms {
|
|
|
58
58
|
@group(3) @binding(6) var specularSigTex : texture_2d<f32>;
|
|
59
59
|
@group(3) @binding(7) var volumetricSigTex : texture_2d<f32>;
|
|
60
60
|
@group(3) @binding(8) var sigSamp : sampler;
|
|
61
|
-
|
|
62
|
-
struct VSOut {
|
|
63
|
-
@builtin(position) pos : vec4<f32>,
|
|
64
|
-
@location(0) uv : vec2<f32>,
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
@vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
|
|
68
|
-
var pos = array<vec2<f32>, 4>(
|
|
69
|
-
vec2<f32>(-1.0, 1.0),
|
|
70
|
-
vec2<f32>(1.0, 1.0),
|
|
71
|
-
vec2<f32>(-1.0, -1.0),
|
|
72
|
-
vec2<f32>(1.0, -1.0)
|
|
73
|
-
);
|
|
74
|
-
var uv = array<vec2<f32>, 4>(
|
|
75
|
-
vec2<f32>(0.0, 0.0),
|
|
76
|
-
vec2<f32>(1.0, 0.0),
|
|
77
|
-
vec2<f32>(0.0, 1.0),
|
|
78
|
-
vec2<f32>(1.0, 1.0)
|
|
79
|
-
);
|
|
80
|
-
return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
|
|
81
|
-
}
|
|
61
|
+
${B}
|
|
82
62
|
|
|
83
63
|
fn sampleDepth(uv: vec2<f32>) -> f32 {
|
|
84
64
|
var raw: f32 = 0.0;
|
|
@@ -234,4 +214,4 @@ fn computeNormal(uv: vec2<f32>, texelSize: vec2<f32>) -> vec3<f32> {
|
|
|
234
214
|
|
|
235
215
|
return vec4<f32>(clamp(litRgb, vec3<f32>(0.0), vec3<f32>(1.0)), albedo.a);
|
|
236
216
|
}
|
|
237
|
-
|
|
217
|
+
`,be=O(r=>({uniformLayout:R(r,["uniform"]),srcTextureLayout:R(r,["texture","sampler"]),depthTextureLayout:R(r,["texture","sampler"]),signalTextureLayout:E(r,8),pipelineCache:new Map}));function Le(r,n){let a=be(r),p=`relight_${n}`,u=a.pipelineCache.get(p);if(!u){let h=r.createShaderModule({label:`relight_${n}.wgsl`,code:ye});u=$(r,{label:`RelightPipeline_${n}`,module:h,layouts:[a.uniformLayout,a.srcTextureLayout,a.depthTextureLayout,a.signalTextureLayout],format:n}),a.pipelineCache.set(p,u)}return{pipeline:u,uniformLayout:a.uniformLayout,srcTextureLayout:a.srcTextureLayout,depthTextureLayout:a.depthTextureLayout,signalTextureLayout:a.signalTextureLayout}}function o(r,n,a,p,u,h=0,m=30){let l=`${n}HandleId`,f=r[l],i=f?r.inputs?.[f]:null,s=!!(i?.connectionValid&&(i.outputItem?.type==="Signal"||i.outputItem?.type==="Numeric")),t=s&&i?.outputItem?.data?i.outputItem.data:null,d=a;if(s){if(t){let g=T(t.offset,a,h,m);d=Math.max(p,Math.min(u,g))}}else if(i?.connectionValid&&i.outputItem?.type==="Number"){let g=T(i.outputItem.data,a,h,m);d=Math.max(p,Math.min(u,g))}else{let g=T(r[n],a,h,m);d=Math.max(p,Math.min(u,g))}return{hasSignal:s,sd:t,value:d}}var Q=async r=>{let{ctx:n,encoder:a,pass:p,targetTexture:u,targetWidth:h,targetHeight:m,props:l}=r,f=l.frame??0,i=l.compositionFrame??f,s=l.fps||30,t=l.virtualMedia?.operation;if(t?.op!=="Relight3D"||!t)return;let d=l.virtualMedia.children?.[0];if(!d)return;p.end();let g=h,v=m,{texture:S}=await Y(r,d,{props:{...l,virtualMedia:d,containerWidth:g,containerHeight:v}});r.pass.end();let Z=t.normalMedia??(t.inputs?.normalMap?.connectionValid?t.inputs.normalMap.outputItem?.data:null),I=Z??t.depthMedia,x,P=!1,U=!!Z;I?({texture:x}=await Y(r,I,{props:{...l,virtualMedia:I,containerWidth:g,containerHeight:v},exclude:[S]}),r.pass.end(),P=!0):(x=S,P=!1);let{pipeline:j,uniformLayout:q,srcTextureLayout:J,depthTextureLayout:ee,signalTextureLayout:te}=Le(n.device,n.renderer.format),M=n.renderer.samplerCache.getSampler(n.device),ie=l.elapsedMs!==void 0?l.elapsedMs/1e3:i/s,ne=l.virtualMedia?.metadata?.durationMs?l.virtualMedia.metadata.durationMs/1e3:l.durationMs!==void 0?l.durationMs/1e3:4,w=o(t,"intensity",1,0,10,i,s),C=o(t,"lightPosX",.5,0,1,i,s),_=o(t,"lightPosY",.5,0,1,i,s),H=o(t,"lightPosZ",.3,-2,2,i,s),N=o(t,"lightRadius",.8,.05,5,i,s),re=o(t,"spotConeAngle",45,5,90,i,s),z=o(t,"specularRoughness",.35,.01,1,i,s),G=o(t,"specularStrength",.7,0,3,i,s),ae=o(t,"metallic",0,0,1,i,s),se=o(t,"ambientIntensity",.4,0,2,i,s),V=o(t,"volumetricDensity",.2,0,1,i,s),le=o(t,"depthScale",1,.1,10,i,s),c=(L,Se)=>L.hasSignal&&L.sd?A.getOrCreate2DTextureView(n.device,a,L.sd.nodeId??Se,ie,ne,L.sd,g,v,l.renderId,i,s):A.getDummy1x1TextureView(n.device),oe=c(w,"relight_int_sig"),ue=c(C,"relight_posx_sig"),ge=c(_,"relight_posy_sig"),pe=c(H,"relight_posz_sig"),de=c(N,"relight_rad_sig"),ce=c(z,"relight_rough_sig"),he=c(G,"relight_spec_sig"),me=c(V,"relight_vol_sig"),e=new Float32Array(32),y=X(t.lightColor??"#ffffff"),b=X(t.ambientColor??"#ffffff"),fe=t.lightType==="Spot"?1:t.lightType==="Directional"?2:t.lightType==="Rim"?3:0;e[0]=fe,e[1]=w.value,e[2]=C.value,e[3]=_.value,e[4]=H.value,e[5]=N.value,e[6]=re.value*Math.PI/180,e[7]=z.value,e[8]=G.value,e[9]=ae.value,e[10]=se.value,e[11]=V.value,e[12]=le.value,e[13]=t.depthInvert?1:0,e[14]=P||U?1:0,e[15]=U?1:0,e[16]=w.hasSignal?1:0,e[17]=C.hasSignal?1:0,e[18]=_.hasSignal?1:0,e[19]=H.hasSignal?1:0,e[20]=N.hasSignal?1:0,e[21]=z.hasSignal?1:0,e[22]=G.hasSignal?1:0,e[23]=V.hasSignal?1:0,e[24]=y.r,e[25]=y.g,e[26]=y.b,e[27]=y.a,e[28]=b.r,e[29]=b.g,e[30]=b.b,e[31]=b.a;let ve=n.renderer.getTemporaryBuffer(e),F=n.renderer.getTemporaryTexture(g,v,[S,x,u,...l.excludeTextures||[]]);K(a,F.createView(),j,[n.device.createBindGroup({layout:q,entries:[{binding:0,resource:{buffer:ve}}]}),n.renderer.bindGroupCache.getBindGroup(n.device,J,S,M),n.renderer.bindGroupCache.getBindGroup(n.device,ee,x,M),n.device.createBindGroup({layout:te,entries:[{binding:0,resource:oe},{binding:1,resource:ue},{binding:2,resource:ge},{binding:3,resource:pe},{binding:4,resource:de},{binding:5,resource:ce},{binding:6,resource:he},{binding:7,resource:me},{binding:8,resource:M}]})]),k(r,F,t.opacity??1)};var Ce=W({WebGPURenderer:Q});export{Ce as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as l}from"./chunk-
|
|
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 +1 @@
|
|
|
1
|
-
import{I as
|
|
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};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as p}from"./chunk-ZH5MZQTZ.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
|
-
`,
|
|
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};
|
|
@@ -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-
|
|
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 @@
|
|
|
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};
|
|
@@ -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};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as le}from"./chunk-XOEEGC4Z.mjs";import{b as se,c as ue}from"./chunk-FLPSWDX4.mjs";import{a as r}from"./chunk-NQZKBFC6.mjs";import{a as te,d as ae,e as G,g as ie,h as _,j as ne,k as re,l as oe,m as L}from"./chunk-ENKKLU7B.mjs";import{w as Z,z as ee}from"./chunk-63SFBHEH.mjs";import{e as n}from"./chunk-BVF64D6H.mjs";n();n();n();n();var N=0,U=1,V=.5,O=50,P=0,F=100,B=0,W=50,H=-100,z=100,ye=r.enum(["Alpha","Luminance","Red","Green","Blue"]),De=r.enum(["Composite","MatteOnly","DecontaminatedRGB"]),we=le().field("decontaminateAmount",r.number().multipleOf(.01).min(N).max(U).default(.7),{bindable:!0,dataTypes:["Number","Signal"],label:"Decontaminate Colors",description:"Amount of edge color spill decontamination/defringing (0.0\u20131.0)."}).field("radius",r.number().multipleOf(.1).min(V).max(O).default(2),{bindable:!0,dataTypes:["Number","Signal"],label:"Edge Detection Radius (px)",description:"Radius in pixels around alpha transitions to refine and decontaminate."}).field("smooth",r.number().min(P).max(F).default(5),{bindable:!0,dataTypes:["Number","Signal"],label:"Smoothness",description:"Matte edge smoothing curve intensity (0\u2013100)."}).field("feather",r.number().multipleOf(.1).min(B).max(W).default(.5),{bindable:!0,dataTypes:["Number","Signal"],label:"Feather (px)",description:"Sub-pixel gaussian softness along the matte boundary."}).field("shiftEdge",r.number().min(H).max(z).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Shift Edge (%)",description:"Contract (<0) or expand (>0) the edge boundary (-100% to +100%)."}).field("matteChannel",ye.default("Alpha"),{label:"Matte Channel",description:"Channel to extract matte from (Alpha, Luminance, Red, Green, Blue)."}).field("outputMode",De.default("Composite"),{label:"Output Mode",description:"Composite (decontaminated RGB + refined alpha), MatteOnly (grayscale mask), DecontaminatedRGB (clean RGB with full alpha)."}).build(),Oe=we.schema,Pe=r.union([se,ue]);n();var Ge={Alpha:0,Luminance:1,Red:2,Green:3,Blue:4},_e={Composite:0,MatteOnly:1,DecontaminatedRGB:2},Le=`
|
|
2
2
|
struct RefineEdgeUniforms {
|
|
3
3
|
dirX : f32,
|
|
4
4
|
dirY : f32,
|
|
@@ -39,27 +39,7 @@ struct RefineEdgeUniforms {
|
|
|
39
39
|
@group(2) @binding(3) var featherSigTex : texture_2d<f32>;
|
|
40
40
|
@group(2) @binding(4) var shiftEdgeSigTex : texture_2d<f32>;
|
|
41
41
|
@group(2) @binding(5) var signalSamp : sampler;
|
|
42
|
-
|
|
43
|
-
struct VSOut {
|
|
44
|
-
@builtin(position) pos : vec4<f32>,
|
|
45
|
-
@location(0) uv : vec2<f32>,
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
@vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
|
|
49
|
-
var pos = array<vec2<f32>, 4>(
|
|
50
|
-
vec2<f32>(-1.0, 1.0),
|
|
51
|
-
vec2<f32>(1.0, 1.0),
|
|
52
|
-
vec2<f32>(-1.0, -1.0),
|
|
53
|
-
vec2<f32>(1.0, -1.0)
|
|
54
|
-
);
|
|
55
|
-
var uv = array<vec2<f32>, 4>(
|
|
56
|
-
vec2<f32>(0.0, 0.0),
|
|
57
|
-
vec2<f32>(1.0, 0.0),
|
|
58
|
-
vec2<f32>(0.0, 1.0),
|
|
59
|
-
vec2<f32>(1.0, 1.0)
|
|
60
|
-
);
|
|
61
|
-
return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
|
|
62
|
-
}
|
|
42
|
+
${te}
|
|
63
43
|
|
|
64
44
|
fn extractChannel(color : vec4<f32>, chCode : f32) -> f32 {
|
|
65
45
|
if (chCode < 0.5) {
|
|
@@ -289,4 +269,4 @@ fn extractChannel(color : vec4<f32>, chCode : f32) -> f32 {
|
|
|
289
269
|
return vec4<f32>(decontaminatedColor, 1.0);
|
|
290
270
|
}
|
|
291
271
|
}
|
|
292
|
-
`,de=new WeakMap;function
|
|
272
|
+
`,de=new WeakMap;function Ne(i,a){let s=de.get(i);if(s)return s;let f=ae(i,["uniform"]),u=G(i,3),g=G(i,5),b=i.createShaderModule({code:Le}),t=i.createPipelineLayout({bindGroupLayouts:[f,u,g]}),e=ie(i,{module:b,layouts:t,format:a}),l={uniformLayout:f,textureLayout:u,signalTextureLayout:g,pipeline:e};return de.set(i,l),l}var me=async i=>{let{ctx:a,encoder:s,pass:f,targetTexture:u,targetWidth:g,targetHeight:b,props:t}=i,e=t.virtualMedia?.operation;if(e?.op!=="RefineEdge"||!e)return;let l=t.virtualMedia?.children?.[0];if(!l)return;f.end();let X=t.frame??0,k=t.fps||30,M=g,E=b,d=(x,w,Ie=0,Te=1e3)=>Z(e.inputs,x,w,Ie,Te),R=d(e.decontaminateAmountHandleId,Number(e.decontaminateAmount??.7),N,U),A=d(e.radiusHandleId,Number(e.radius??2),V,O),C=d(e.smoothHandleId,Number(e.smooth??5),P,F),I=d(e.featherHandleId,Number(e.feather??.5),B,W),T=d(e.shiftEdgeHandleId,Number(e.shiftEdge??0),H,z),{texture:h,view:S}=await _(i,l,{props:{...t,virtualMedia:l,renderId:`${t.renderId}-input`}}),o=null;e.matteMedia&&({texture:o}=await _(i,e.matteMedia,{props:{...t,virtualMedia:e.matteMedia,renderId:`${t.renderId}-matte`,excludeTextures:[...t.excludeTextures||[],h]},exclude:[h]}));let{pipeline:$,uniformLayout:Y,textureLayout:j,signalTextureLayout:pe}=Ne(a.device,a.renderer.format),y=a.renderer.samplerCache.getSampler(a.device),{elapsedSeconds:ce,durationSeconds:fe}=re(t,X,k),ge={args:i,width:M,height:E,frame:X,fps:k,elapsedSeconds:ce,durationSeconds:fe},m=(x,w)=>oe(ge,x,x.handleId??`${t.renderId??"refineedge"}_${w}`),he=m(R,"decontam_sig"),Se=m(A,"radius_sig"),xe=m(C,"smooth_sig"),ve=m(I,"feather_sig"),be=m(T,"shiftEdge_sig"),q=a.device.createBindGroup({layout:pe,entries:[{binding:0,resource:he},{binding:1,resource:Se},{binding:2,resource:xe},{binding:3,resource:ve},{binding:4,resource:be},{binding:5,resource:y}]}),Me=Ge[e.matteChannel??"Alpha"]??0,Ee=_e[e.outputMode??"Composite"]??0,Q=o?o.createView():S,p=new Float32Array(20),c=new Float32Array(20),J=[0,0,R.val,A.val,C.val,I.val,T.val,Me,Ee,o?1:0,R.hasStaticSig?1:0,A.hasStaticSig?1:0,C.hasStaticSig?1:0,I.hasStaticSig?1:0,T.hasStaticSig?1:0,0,0,0,0,0];p.set(J),p[0]=1,p[1]=0,p[15]=0,c.set(J),c[0]=0,c[1]=1,c[15]=1;let D=a.renderer.getTemporaryTexture(M,E,[h,...o?[o]:[],u,...t.excludeTextures||[]]),K=a.renderer.getTemporaryTexture(M,E,[h,...o?[o]:[],D,u,...t.excludeTextures||[]]),Re=a.renderer.getTemporaryBuffer(p);L(s,D.createView(),$,[a.device.createBindGroup({layout:Y,entries:[{binding:0,resource:{buffer:Re}}]}),a.device.createBindGroup({layout:j,entries:[{binding:0,resource:S},{binding:1,resource:Q},{binding:2,resource:S},{binding:3,resource:y}]}),q]);let Ae=a.renderer.getTemporaryBuffer(c);L(s,K.createView(),$,[a.device.createBindGroup({layout:Y,entries:[{binding:0,resource:{buffer:Ae}}]}),a.device.createBindGroup({layout:j,entries:[{binding:0,resource:D.createView()},{binding:1,resource:Q},{binding:2,resource:S},{binding:3,resource:y}]}),q]);let Ce=t.opacity??e.opacity??1;ne(i,K,Ce)};var Ze=ee({WebGPURenderer:me});export{me as a,Ze as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as L}from"./chunk-Q4Z54DQ7.mjs";import{e as G}from"./chunk-BVF64D6H.mjs";G();var T=class{deviceCaches=new WeakMap;devicePromises=new WeakMap;rawDataCache=new Map;rawDataPromises=new Map;listeners=new Set;onChange(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}emit(e){for(let t of this.listeners)try{t(e)}catch{}}getAnyMatching(e,t){let a=this.getCache(t),r=Array.from(a.keys());for(let o=r.length-1;o>=0;o--){let u=r[o];if(u.startsWith(e))return a.get(u)}}getOrCreateRawDataPromise(e){let t=this.rawDataPromises.get(e);if(!t){let a,r;t={promise:new Promise((u,f)=>{a=u,r=f}),resolve:a,reject:r},this.rawDataPromises.set(e,t)}return t}rejectRawDataPromise(e,t){let a=this.rawDataPromises.get(e);a&&(a.reject(t),this.rawDataPromises.delete(e)),this.emit(e)}getCache(e){let t=this.deviceCaches.get(e);return t||(t=new Map,this.deviceCaches.set(e,t)),t}getPromises(e){let t=this.devicePromises.get(e);return t||(t=new Map,this.devicePromises.set(e,t)),t}get(e,t){return this.getCache(t).get(e)}set(e,t,a){let r=this.getCache(t),o=r.get(e);if(o&&o!==a){if(o.texture!==a.texture){let u=o.texture;t.queue.onSubmittedWorkDone().then(()=>{try{u.destroy()}catch{}}).catch(()=>{})}if(o.vertexBuffer!==a.vertexBuffer){let u=o.vertexBuffer;t.queue.onSubmittedWorkDone().then(()=>{try{u.destroy()}catch{}}).catch(()=>{})}}r.set(e,a)}getRawData(e){return this.rawDataCache.get(e)}getAnyRawData(){let e=Array.from(this.rawDataCache.values());return e[e.length-1]}createOrUpdate(e,t,a,r,o){let u={points:a,size:r,type:o};this.rawDataCache.set(e,u);let f=this.rawDataPromises.get(e);f&&(f.resolve(u),this.rawDataPromises.delete(e));let D=[];if(o==="3D"){let s=0;for(let i=0;i<r;i++)for(let n=0;n<r;n++)for(let d=0;d<r;d++){let c=d/(r-1||1),h=n/(r-1||1),g=i/(r-1||1),x=a[s]||[c,h,g];s++,D.push(c-.5,h-.5,g-.5),D.push(x[0],x[1],x[2])}}else for(let s=0;s<a.length;s++){let i=s/(a.length-1||1),n=a[s];D.push(i-.5,0,0),D.push(n[0],n[1],n[2])}let y=new Float32Array(D),l=this.get(e,t),m=l?.texture;if(!m||l?.size!==r||l?.type!==o){if(l){let s=l.texture;t.queue.onSubmittedWorkDone().then(()=>{try{s.destroy()}catch{}}).catch(()=>{})}o==="3D"?m=t.createTexture({size:[r,r,r],dimension:"3d",format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST}):m=t.createTexture({size:[r,1,1],dimension:"1d",format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST})}if(o==="3D"){let i=Math.ceil(r*4/256)*256,n=new Uint8Array(i*r*r),d=0;for(let c=0;c<r;c++)for(let h=0;h<r;h++)for(let g=0;g<r;g++){let x=g/(r-1||1),w=h/(r-1||1),C=c/(r-1||1),U=a[d]||[x,w,C];d++;let b=g*4+h*i+c*i*r;n[b]=Math.max(0,Math.min(255,Math.round(U[0]*255))),n[b+1]=Math.max(0,Math.min(255,Math.round(U[1]*255))),n[b+2]=Math.max(0,Math.min(255,Math.round(U[2]*255))),n[b+3]=255}t.queue.writeTexture({texture:m},n,{bytesPerRow:i,rowsPerImage:r},[r,r,r])}else{let i=new Uint8Array(r*4);for(let n=0;n<r;n++){let d=a[n]||[n/(r-1||1),0,0],c=n*4;i[c]=Math.max(0,Math.min(255,Math.round(d[0]*255))),i[c+1]=Math.max(0,Math.min(255,Math.round(d[1]*255))),i[c+2]=Math.max(0,Math.min(255,Math.round(d[2]*255))),i[c+3]=255}t.queue.writeTexture({texture:m},i,{},[r,1,1])}let P=l?.vertexBuffer;if(!P||P.size<y.byteLength){if(l){let s=l.vertexBuffer;t.queue.onSubmittedWorkDone().then(()=>{try{s.destroy()}catch{}}).catch(()=>{})}P=t.createBuffer({size:y.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST})}t.queue.writeBuffer(P,0,y);let p={texture:m,type:o,size:r,vertexBuffer:P,vertexCount:a.length};return this.set(e,t,p),this.emit(e),p}async getOrLoad(e,t,a){if(a?.aborted)throw new DOMException("The operation was aborted.","AbortError");let r=this.get(e,t);if(r)return r;let o=this.rawDataCache.get(e);if(o)return this.createOrUpdate(e,t,o.points,o.size,o.type);let u=this.getPromises(t),f=u.get(e);return f||(f=(async()=>{if(e.startsWith("runtime://")){let p=this.getOrCreateRawDataPromise(e),s,i=new Promise((c,h)=>{let g=()=>{s=setTimeout(()=>{(()=>{if(typeof window<"u"){let w=window.renderer_delayRenderHandles;if(Array.isArray(w)&&w.length>0)return!0}if(typeof globalThis<"u"){let w=globalThis.__GATEWAI_DELAYS__;if(w instanceof Set&&w.size>0)return!0}return!1})()?g():h(new Error(`Timeout waiting for runtime LUT "${e}" after 5000ms.`))},5e3)};g()}),n,d;a&&(d=new Promise((c,h)=>{n=()=>{h(new DOMException("The operation was aborted.","AbortError"))},a.addEventListener("abort",n)}));try{let c=[p.promise,i];d&&c.push(d);let h=await Promise.race(c);return this.createOrUpdate(e,t,h.points,h.size,h.type)}finally{clearTimeout(s),n&&a&&a.removeEventListener("abort",n)}}let y=(await A(e,a)).split(/\r?\n/),l=33,m="3D",P=[];for(let p of y){let s=p.trim();if(!s||s.startsWith("#"))continue;if(s.startsWith("LUT_3D_SIZE")){let n=s.split(/\s+/);l=parseInt(n[1],10),m="3D";continue}if(s.startsWith("LUT_1D_SIZE")){let n=s.split(/\s+/);l=parseInt(n[1],10),m="1D";continue}if(s.match(/^[a-zA-Z]/))continue;let i=s.split(/\s+/).map(Number);i.length===3&&i.every(n=>!isNaN(n))&&P.push([i[0],i[1],i[2]])}if(P.length===0)throw new Error("No valid color mappings found in LUT file.");return this.createOrUpdate(e,t,P,l,m)})(),u.set(e,f),f.catch(()=>{u.delete(e)})),f}evict(e,t){let a=this.getCache(t),r=a.get(e);if(r){let o=r.texture,u=r.vertexBuffer;t.queue.onSubmittedWorkDone().then(()=>{try{o.destroy()}catch{}try{u.destroy()}catch{}}).catch(()=>{}),a.delete(e)}this.getPromises(t).delete(e)}hasPending(e){let t=this.devicePromises.get(e);return t!==void 0&&t.size>0||this.rawDataPromises.size>0}async awaitAllPending(e){let t=Array.from(this.getPromises(e).values());await Promise.all(t)}destroy(){this.deviceCaches=new WeakMap,this.devicePromises=new WeakMap,this.rawDataCache.clear(),this.rawDataPromises.clear()}},M="__GATEWAI_LUT_STORE__",E=(globalThis[M]||(globalThis[M]=new T),globalThis[M]);async function A(v,e){let t=await L(v);if(t!==null){let{readFile:r}=await import("./shims/fs-promises.mjs");return r(t,{encoding:"utf8",signal:e})}let a=await fetch(v,{signal:e});if(!a.ok)throw new Error(`Failed to load LUT file: ${a.statusText}`);return a.text()}export{E as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as _}from"./chunk-ZH5MZQTZ.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],
|
|
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};
|