framefields 2.5.0 → 2.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/audio/index.d.mts +4 -4
- package/dist/audio/index.mjs +10 -10
- package/dist/{audio-CMHpfOoS.mjs → audio-CZwVENqB.mjs} +3 -3
- package/dist/{audio-CMHpfOoS.mjs.map → audio-CZwVENqB.mjs.map} +1 -1
- package/dist/{audio-C1A4N3Wh.d.mts → audio-pIgFoKQ2.d.mts} +3 -3
- package/dist/{audio-C1A4N3Wh.d.mts.map → audio-pIgFoKQ2.d.mts.map} +1 -1
- package/dist/components/index.d.mts +10 -10
- package/dist/components/index.mjs +42 -42
- package/dist/{dist-BBUrGwqd.mjs → dist-DBWkkSvJ.mjs} +90 -66
- package/dist/dist-DBWkkSvJ.mjs.map +1 -0
- package/dist/{dist-QMVy31gR.mjs → dist-DHQVWaV2.mjs} +32 -19
- package/dist/dist-DHQVWaV2.mjs.map +1 -0
- package/dist/effects/index.d.mts +4 -4
- package/dist/effects/index.mjs +34 -34
- package/dist/{effects-mRe-rLte.mjs → effects-DZvq-nWT.mjs} +2 -2
- package/dist/{effects-mRe-rLte.mjs.map → effects-DZvq-nWT.mjs.map} +1 -1
- package/dist/fonts/index.mjs +2 -2
- package/dist/{fonts-wI3CUYHM.mjs → fonts-DcsxFpyU.mjs} +3 -2
- package/dist/fonts-DcsxFpyU.mjs.map +1 -0
- package/dist/{gpu-I5fdrflL.mjs → gpu-Dq_uI_00.mjs} +2 -2
- package/dist/{gpu-I5fdrflL.mjs.map → gpu-Dq_uI_00.mjs.map} +1 -1
- package/dist/{index-BpdVOlsV.d.mts → index-BAXaZC6T.d.mts} +3 -3
- package/dist/{index-BpdVOlsV.d.mts.map → index-BAXaZC6T.d.mts.map} +1 -1
- package/dist/{index-C2f4Hm-p.d.mts → index-BE1KdTQ7.d.mts} +2 -2
- package/dist/{index-C2f4Hm-p.d.mts.map → index-BE1KdTQ7.d.mts.map} +1 -1
- package/dist/{index-BJe_GEyj.d.mts → index-BlPLU_a1.d.mts} +5 -5
- package/dist/index-BlPLU_a1.d.mts.map +1 -0
- package/dist/{index-fymoeGNW.d.mts → index-C6awQk4-.d.mts} +17 -17
- package/dist/index-C6awQk4-.d.mts.map +1 -0
- package/dist/{index-D6-lH1Mx.d.mts → index-CEsl2BcF.d.mts} +4 -4
- package/dist/{index-D6-lH1Mx.d.mts.map → index-CEsl2BcF.d.mts.map} +1 -1
- package/dist/index-CalU-mpZ.d.mts.map +1 -1
- package/dist/{index-B-KVpJMb.d.mts → index-DPP5g-Si.d.mts} +2 -2
- package/dist/{index-B-KVpJMb.d.mts.map → index-DPP5g-Si.d.mts.map} +1 -1
- package/dist/{index-DNKM3to5.d.mts → index-Dbwf24s4.d.mts} +3 -3
- package/dist/{index-DNKM3to5.d.mts.map → index-Dbwf24s4.d.mts.map} +1 -1
- package/dist/index.d.mts +10 -10
- package/dist/index.mjs +49 -49
- package/dist/preview/index.d.mts +3 -3
- package/dist/preview/index.mjs +10 -10
- package/dist/{preview--DEgW67P.mjs → preview-CYI4i4m3.mjs} +4 -3
- package/dist/preview-CYI4i4m3.mjs.map +1 -0
- package/dist/preview-engine/audio.mjs +1 -1
- package/dist/preview-engine/{chunk-4UI3S3UG.mjs → chunk-2QQQTZHS.mjs} +1 -1
- package/dist/preview-engine/{chunk-MZAAJXUL.mjs → chunk-2RZ6S4SW.mjs} +1 -1
- package/dist/preview-engine/{chunk-QVUT3QNF.mjs → chunk-3AYICEZ5.mjs} +1 -1
- package/dist/preview-engine/{chunk-A5OUYV3I.mjs → chunk-3I6B3YPF.mjs} +1 -1
- package/dist/preview-engine/{chunk-LQBDZSQD.mjs → chunk-6GMEF2QB.mjs} +1 -1
- package/dist/preview-engine/chunk-AB5VITYM.mjs +1974 -0
- package/dist/preview-engine/{chunk-OOJAQBS3.mjs → chunk-BNO5JAEZ.mjs} +1 -1
- package/dist/preview-engine/{chunk-7EHUT5A3.mjs → chunk-CE6CG5BH.mjs} +1 -1
- package/dist/preview-engine/{chunk-LQENNFBA.mjs → chunk-CT2WFPYG.mjs} +11 -11
- package/dist/preview-engine/{chunk-AJLPRIXB.mjs → chunk-DUEY7AXY.mjs} +1 -1
- package/dist/preview-engine/{chunk-NG5WSR3A.mjs → chunk-DWHQSNSJ.mjs} +1 -1
- package/dist/preview-engine/chunk-EU7CFSB5.mjs +1 -0
- package/dist/preview-engine/{chunk-NIRW77QA.mjs → chunk-KJGNTREI.mjs} +1 -1
- package/dist/preview-engine/{chunk-VZGDX7II.mjs → chunk-LNJYHSYX.mjs} +1 -1
- package/dist/preview-engine/{chunk-O6LGKH4S.mjs → chunk-LQVACZDE.mjs} +1 -1
- package/dist/preview-engine/{chunk-5N3GW3NE.mjs → chunk-M6ZKK6ZU.mjs} +1 -1
- package/dist/preview-engine/{chunk-KRVXRP5F.mjs → chunk-MA4YVA2E.mjs} +1 -1
- package/dist/preview-engine/{chunk-JAJOZG5P.mjs → chunk-MBJXS3D7.mjs} +1 -1
- package/dist/preview-engine/{chunk-QQJPPGH5.mjs → chunk-MCR7XMNQ.mjs} +1 -1
- package/dist/preview-engine/{chunk-CBQOJAIS.mjs → chunk-NAISBHLR.mjs} +3 -3
- package/dist/preview-engine/{chunk-TA5OBYRR.mjs → chunk-NHQR76WL.mjs} +1 -1
- package/dist/preview-engine/{chunk-MJN3LOZ7.mjs → chunk-NKGXINCU.mjs} +1 -1
- package/dist/preview-engine/{chunk-ZFURUTVW.mjs → chunk-P734GD7D.mjs} +1 -1
- package/dist/preview-engine/{chunk-2AV7HRRL.mjs → chunk-PDM3TJ45.mjs} +1 -1
- package/dist/preview-engine/{chunk-ANZDLSSM.mjs → chunk-PXWCGXTF.mjs} +1 -1
- package/dist/preview-engine/{chunk-5P764TTF.mjs → chunk-QJYAIQYU.mjs} +1 -1
- package/dist/preview-engine/{chunk-VUFDQJ2B.mjs → chunk-QKQYHPBK.mjs} +1 -1
- package/dist/preview-engine/{chunk-NVTPJUNG.mjs → chunk-QVW5METG.mjs} +1 -1
- package/dist/preview-engine/{chunk-MRDJNDYV.mjs → chunk-QYIKOOFI.mjs} +1 -1
- package/dist/preview-engine/{chunk-CEIOI4HO.mjs → chunk-SIXIF5QZ.mjs} +1 -1
- package/dist/preview-engine/chunk-SNASF7OM.mjs +3 -0
- package/dist/preview-engine/{chunk-7HTTYP6T.mjs → chunk-T4VP45AP.mjs} +1 -1
- package/dist/preview-engine/{chunk-HXHP3UHZ.mjs → chunk-TE2QAKKF.mjs} +1 -1
- package/dist/preview-engine/{chunk-VRNN6H6Y.mjs → chunk-UXCTWFKK.mjs} +1 -1
- package/dist/preview-engine/{chunk-V6DAD4S4.mjs → chunk-V3FODTPI.mjs} +2 -2
- package/dist/preview-engine/{chunk-ILKBHDFB.mjs → chunk-VH5V54RA.mjs} +1 -1
- package/dist/preview-engine/chunk-W4HIVUUA.mjs +4 -0
- package/dist/preview-engine/{chunk-YMQMPBTL.mjs → chunk-WUMVCQYI.mjs} +1 -1
- package/dist/preview-engine/{chunk-4EOS6ZWW.mjs → chunk-X6BJLPW6.mjs} +1 -1
- package/dist/preview-engine/{chunk-PJN7DD55.mjs → chunk-XUPZBI3Y.mjs} +6 -6
- package/dist/preview-engine/{chunk-Z4ZO4RVT.mjs → chunk-YJ24W73B.mjs} +1 -1
- package/dist/preview-engine/{chunk-DPIED3EG.mjs → chunk-Z4TKEI3I.mjs} +1 -1
- package/dist/preview-engine/{chunk-MLW6Y4RN.mjs → chunk-ZAIVXGSS.mjs} +1 -1
- package/dist/preview-engine/{chunk-C2TA65CH.mjs → chunk-ZVUTFXDR.mjs} +1 -1
- package/dist/preview-engine/components.mjs +1 -0
- package/dist/preview-engine/effects.mjs +1 -1
- package/dist/preview-engine/fonts.mjs +1 -1
- package/dist/preview-engine/framefields.mjs +1 -1973
- package/dist/preview-engine/player.mjs +5 -5
- package/dist/preview-engine/renderers-2S5ZWL2J.mjs +1 -0
- package/dist/preview-engine/renderers-37CN7O4S.mjs +1 -1
- package/dist/preview-engine/renderers-3UGG2IMP.mjs +1 -1
- package/dist/preview-engine/{renderers-RV62K5JC.mjs → renderers-4RFB2LG2.mjs} +1 -1
- package/dist/preview-engine/renderers-6NFRKHNO.mjs +1 -0
- package/dist/preview-engine/{renderers-BOT4H6KJ.mjs → renderers-6PVGRTXV.mjs} +1 -1
- package/dist/preview-engine/renderers-7MPBAHYA.mjs +1 -0
- package/dist/preview-engine/renderers-AFTYMS3H.mjs +1 -0
- package/dist/preview-engine/renderers-AKZAAGR7.mjs +1 -0
- package/dist/preview-engine/renderers-AYEWAW7F.mjs +1 -1
- package/dist/preview-engine/{renderers-EOIMH7UE.mjs → renderers-BNXTSIXJ.mjs} +1 -1
- package/dist/preview-engine/{renderers-6ZCFR7BL.mjs → renderers-BQLYS4TM.mjs} +1 -1
- package/dist/preview-engine/renderers-C7SJ3M6S.mjs +1 -0
- package/dist/preview-engine/{renderers-HE42AT5T.mjs → renderers-CEJP6Q7F.mjs} +1 -1
- package/dist/preview-engine/{renderers-C4G7X7LD.mjs → renderers-CLLR5MOQ.mjs} +1 -1
- package/dist/preview-engine/{renderers-DSICQMRF.mjs → renderers-DHKB5LI6.mjs} +1 -1
- package/dist/preview-engine/renderers-DUF2CTX6.mjs +1 -1
- package/dist/preview-engine/{renderers-SIHL5GLI.mjs → renderers-DZZFIYYA.mjs} +1 -1
- package/dist/preview-engine/renderers-EIJFIY6L.mjs +1 -0
- package/dist/preview-engine/renderers-EOMMSENQ.mjs +1 -1
- package/dist/preview-engine/{renderers-V67L3MCY.mjs → renderers-FOHW7RWH.mjs} +1 -1
- package/dist/preview-engine/{renderers-GSRKNT75.mjs → renderers-GF77N2KM.mjs} +1 -1
- package/dist/preview-engine/renderers-H3ZM2TOA.mjs +1 -0
- package/dist/preview-engine/{renderers-W6ZTVA2I.mjs → renderers-HJ6NO5ZD.mjs} +1 -1
- package/dist/preview-engine/renderers-JXBZPQKP.mjs +1 -0
- package/dist/preview-engine/renderers-KSQM7EM5.mjs +1 -0
- package/dist/preview-engine/{renderers-3ZYXHUSW.mjs → renderers-KV3TTCO6.mjs} +1 -1
- package/dist/preview-engine/renderers-LD3COS4X.mjs +1 -0
- package/dist/preview-engine/renderers-MCTBJEL7.mjs +1 -1
- package/dist/preview-engine/renderers-MKEXNBCW.mjs +1 -0
- package/dist/preview-engine/{renderers-PJGFJGJS.mjs → renderers-MPCYLXXU.mjs} +1 -1
- package/dist/preview-engine/{renderers-V5MJJH33.mjs → renderers-MS4HG3M4.mjs} +1 -1
- package/dist/preview-engine/{renderers-SD35PBEM.mjs → renderers-N7T34SCI.mjs} +1 -1
- package/dist/preview-engine/{renderers-QPHOG7QR.mjs → renderers-O56IOD7J.mjs} +1 -1
- package/dist/preview-engine/renderers-OZGEXW2X.mjs +1 -1
- package/dist/preview-engine/renderers-PSEDMUBV.mjs +1 -0
- package/dist/preview-engine/renderers-PVUROEGR.mjs +1 -1
- package/dist/preview-engine/renderers-QBVVTQV6.mjs +1 -1
- package/dist/preview-engine/{renderers-DBRC3SQE.mjs → renderers-QO2RHF7F.mjs} +1 -1
- package/dist/preview-engine/renderers-QPFZBLDI.mjs +1 -0
- package/dist/preview-engine/renderers-R4U2TK6P.mjs +1 -0
- package/dist/preview-engine/renderers-RBLNDAO4.mjs +1 -0
- package/dist/preview-engine/renderers-RM25AXWZ.mjs +1 -0
- package/dist/preview-engine/{renderers-ZAPIBQZC.mjs → renderers-ROSSJ7Y2.mjs} +1 -1
- package/dist/preview-engine/{renderers-ZVKXIQ3E.mjs → renderers-RRJ2DX2W.mjs} +1 -1
- package/dist/preview-engine/renderers-RYRFCEYT.mjs +1 -0
- package/dist/preview-engine/renderers-SIBP54WK.mjs +1 -0
- package/dist/preview-engine/renderers-SRU6QXLN.mjs +1 -0
- package/dist/preview-engine/{renderers-K6J77OI5.mjs → renderers-T62TXGVO.mjs} +1 -1
- package/dist/preview-engine/{renderers-SBX64ERA.mjs → renderers-TAMDNTEQ.mjs} +1 -1
- package/dist/preview-engine/{renderers-T3S7QVM4.mjs → renderers-TASYN62K.mjs} +1 -1
- package/dist/preview-engine/{renderers-C44CEIYB.mjs → renderers-TWZHTKW7.mjs} +1 -1
- package/dist/preview-engine/renderers-UQHKFGDX.mjs +1 -0
- package/dist/preview-engine/{renderers-PPGOYOID.mjs → renderers-UVABXXQF.mjs} +1 -1
- package/dist/preview-engine/{renderers-JM7JEVBN.mjs → renderers-W5CTR4B5.mjs} +1 -1
- package/dist/preview-engine/renderers-WDV7ENJA.mjs +1 -1
- package/dist/preview-engine/renderers-WNBDSSJ3.mjs +1 -0
- package/dist/preview-engine/renderers-WTC2RNGU.mjs +1 -0
- package/dist/preview-engine/{renderers-SPW4SWZ2.mjs → renderers-XLBHSQZJ.mjs} +1 -1
- package/dist/preview-engine/{renderers-JRU2GNPE.mjs → renderers-XSPU2BIQ.mjs} +1 -1
- package/dist/preview-engine/renderers-XVUOO7B6.mjs +1 -1
- package/dist/preview-engine/renderers-YHOQUEHD.mjs +1 -0
- package/dist/preview-engine/renderers-YPFM5UJO.mjs +1 -1
- package/dist/preview-engine/renderers-YW3LBALW.mjs +1 -1
- package/dist/preview-engine/signals.mjs +1 -1
- package/dist/{program-CEHCeDpG.mjs → program-BdPDtfVv.mjs} +2 -2
- package/dist/{program-CEHCeDpG.mjs.map → program-BdPDtfVv.mjs.map} +1 -1
- package/dist/renderer/index.d.mts +2 -2
- package/dist/renderer/index.mjs +2 -2
- package/dist/{renderer-BbdgwkDB.mjs → renderer-0cHsK6xR.mjs} +3 -3
- package/dist/{renderer-BbdgwkDB.mjs.map → renderer-0cHsK6xR.mjs.map} +1 -1
- package/dist/{renderer-JaSEubRQ.mjs → renderer-1VKN5j2C.mjs} +2 -2
- package/dist/{renderer-JaSEubRQ.mjs.map → renderer-1VKN5j2C.mjs.map} +1 -1
- package/dist/{renderer-BgOEqtZu.mjs → renderer-2bipMLqz.mjs} +2 -2
- package/dist/{renderer-BgOEqtZu.mjs.map → renderer-2bipMLqz.mjs.map} +1 -1
- package/dist/{renderer-DhQZiRL3.mjs → renderer-7DyjqxEj.mjs} +3 -3
- package/dist/{renderer-DhQZiRL3.mjs.map → renderer-7DyjqxEj.mjs.map} +1 -1
- package/dist/renderer-B-D_VZg3.mjs +5 -0
- package/dist/{renderer-3aLw-la1.mjs → renderer-B31zMDE8.mjs} +3 -3
- package/dist/{renderer-3aLw-la1.mjs.map → renderer-B31zMDE8.mjs.map} +1 -1
- package/dist/{renderer-CPmoA87K.mjs → renderer-B4blg067.mjs} +2 -2
- package/dist/{renderer-CPmoA87K.mjs.map → renderer-B4blg067.mjs.map} +1 -1
- package/dist/{renderer-ChNCtBMR.mjs → renderer-B5YYBBDq.mjs} +2 -2
- package/dist/{renderer-ChNCtBMR.mjs.map → renderer-B5YYBBDq.mjs.map} +1 -1
- package/dist/renderer-B64dhpDX.mjs +5 -0
- package/dist/{renderer-D8D7dKxq.mjs → renderer-B8LXXvHi.mjs} +2 -2
- package/dist/{renderer-D8D7dKxq.mjs.map → renderer-B8LXXvHi.mjs.map} +1 -1
- package/dist/{renderer-BG8jNTHr.mjs → renderer-BAkPq8qo.mjs} +2 -2
- package/dist/{renderer-BG8jNTHr.mjs.map → renderer-BAkPq8qo.mjs.map} +1 -1
- package/dist/{renderer-B5oJN3A5.mjs → renderer-BBTdHKH7.mjs} +3 -3
- package/dist/{renderer-B5oJN3A5.mjs.map → renderer-BBTdHKH7.mjs.map} +1 -1
- package/dist/{renderer-CHFUJyul.mjs → renderer-BBTkfhL8.mjs} +3 -3
- package/dist/{renderer-CHFUJyul.mjs.map → renderer-BBTkfhL8.mjs.map} +1 -1
- package/dist/renderer-BDL4jyrb.mjs +5 -0
- package/dist/{renderer-B5HG6Czb.mjs → renderer-BGNdwdCR.mjs} +2 -2
- package/dist/{renderer-B5HG6Czb.mjs.map → renderer-BGNdwdCR.mjs.map} +1 -1
- package/dist/{renderer-Bvhj-05p.mjs → renderer-BJwOM1Dq.mjs} +3 -3
- package/dist/{renderer-Bvhj-05p.mjs.map → renderer-BJwOM1Dq.mjs.map} +1 -1
- package/dist/renderer-BKCZGKkl.mjs +5 -0
- package/dist/renderer-BKs3jI7-.mjs +5 -0
- package/dist/{renderer-CKGOKBZi.mjs → renderer-BN_n6O6P.mjs} +3 -3
- package/dist/{renderer-CKGOKBZi.mjs.map → renderer-BN_n6O6P.mjs.map} +1 -1
- package/dist/renderer-BW74Zf-u.mjs +5 -0
- package/dist/{renderer-DVnrUnkh.mjs → renderer-BWa3CLK7.mjs} +2 -2
- package/dist/{renderer-DVnrUnkh.mjs.map → renderer-BWa3CLK7.mjs.map} +1 -1
- package/dist/{renderer-CrU0kbiB.mjs → renderer-BWnFh7NO.mjs} +3 -3
- package/dist/{renderer-CrU0kbiB.mjs.map → renderer-BWnFh7NO.mjs.map} +1 -1
- package/dist/renderer-BXuQN61O.mjs +5 -0
- package/dist/renderer-BY1pPvzx.mjs +6 -0
- package/dist/{renderer-BEmDSqXg.mjs → renderer-BYJS2lhn.mjs} +2 -2
- package/dist/{renderer-BEmDSqXg.mjs.map → renderer-BYJS2lhn.mjs.map} +1 -1
- package/dist/renderer-Bahthqvq.mjs +5 -0
- package/dist/renderer-BbaiQG8h.mjs +5 -0
- package/dist/{renderer-Baw30QRI.mjs → renderer-BfrzKmRh.mjs} +2 -2
- package/dist/{renderer-Baw30QRI.mjs.map → renderer-BfrzKmRh.mjs.map} +1 -1
- package/dist/renderer-BhHF-08y.mjs +5 -0
- package/dist/{renderer-CyhSWLKq.mjs → renderer-BhhweLr_.mjs} +3 -3
- package/dist/{renderer-CyhSWLKq.mjs.map → renderer-BhhweLr_.mjs.map} +1 -1
- package/dist/{renderer-DetTl6bQ.mjs → renderer-Bmj7AyJP.mjs} +3 -3
- package/dist/{renderer-DetTl6bQ.mjs.map → renderer-Bmj7AyJP.mjs.map} +1 -1
- package/dist/{renderer-CddpdCL3.mjs → renderer-BmoQJUJO.mjs} +3 -3
- package/dist/{renderer-CddpdCL3.mjs.map → renderer-BmoQJUJO.mjs.map} +1 -1
- package/dist/renderer-BnrMcw6C.mjs +5 -0
- package/dist/{renderer-CcS3Zntx.mjs → renderer-Bo1PY0zW.mjs} +2 -2
- package/dist/{renderer--wMbTRFg.mjs → renderer-Bo_d7h86.mjs} +2 -2
- package/dist/{renderer--wMbTRFg.mjs.map → renderer-Bo_d7h86.mjs.map} +1 -1
- package/dist/renderer-BsS61z5l.mjs +5 -0
- package/dist/renderer-Btuq2Eq8.mjs +5 -0
- package/dist/{renderer-pcpDwv3K.mjs → renderer-Bw5YP2Db.mjs} +2 -2
- package/dist/{renderer-pcpDwv3K.mjs.map → renderer-Bw5YP2Db.mjs.map} +1 -1
- package/dist/renderer-BxmsEl2x.mjs +5 -0
- package/dist/{renderer-DkS6cblv.mjs → renderer-CDX2f82b.mjs} +3 -3
- package/dist/{renderer-DkS6cblv.mjs.map → renderer-CDX2f82b.mjs.map} +1 -1
- package/dist/renderer-CGOyHdKs.mjs +5 -0
- package/dist/renderer-CJjmpmpu.mjs +5 -0
- package/dist/{renderer-wld_ZR0-.mjs → renderer-CJoa4H2G.mjs} +2 -2
- package/dist/{renderer-wld_ZR0-.mjs.map → renderer-CJoa4H2G.mjs.map} +1 -1
- package/dist/{renderer-DWtquP0s.mjs → renderer-CLO8QHWE.mjs} +2 -2
- package/dist/{renderer-DWtquP0s.mjs.map → renderer-CLO8QHWE.mjs.map} +1 -1
- package/dist/{renderer-DkeJefRk.mjs → renderer-CMEqUhrW.mjs} +2 -2
- package/dist/{renderer-DkeJefRk.mjs.map → renderer-CMEqUhrW.mjs.map} +1 -1
- package/dist/{renderer-DILjs1tz.mjs → renderer-COtZ315B.mjs} +2 -2
- package/dist/renderer-CQvDDAIu.mjs +5 -0
- package/dist/{renderer-mSlww_MA.mjs → renderer-CWSM0IGG.mjs} +2 -2
- package/dist/{renderer-mSlww_MA.mjs.map → renderer-CWSM0IGG.mjs.map} +1 -1
- package/dist/{renderer-DqdD8gzX.mjs → renderer-CXbXF7Dh.mjs} +3 -3
- package/dist/{renderer-DqdD8gzX.mjs.map → renderer-CXbXF7Dh.mjs.map} +1 -1
- package/dist/renderer-CYxigw7S.mjs +5 -0
- package/dist/{renderer-D86Y5YYi.mjs → renderer-CdUf7ZDJ.mjs} +3 -3
- package/dist/{renderer-D86Y5YYi.mjs.map → renderer-CdUf7ZDJ.mjs.map} +1 -1
- package/dist/renderer-CgDofO5z.mjs +5 -0
- package/dist/renderer-CgmQchab.mjs +5 -0
- package/dist/{renderer-DvIWhLnY.mjs → renderer-Ch7qwjH9.mjs} +3 -3
- package/dist/{renderer-DvIWhLnY.mjs.map → renderer-Ch7qwjH9.mjs.map} +1 -1
- package/dist/{renderer-CaUJlGoB.mjs → renderer-ChCUad83.mjs} +3 -3
- package/dist/{renderer-CaUJlGoB.mjs.map → renderer-ChCUad83.mjs.map} +1 -1
- package/dist/{renderer-vPJRRVNN.mjs → renderer-ChjkppUz.mjs} +3 -3
- package/dist/{renderer-vPJRRVNN.mjs.map → renderer-ChjkppUz.mjs.map} +1 -1
- package/dist/{renderer-DATAjI6x.mjs → renderer-Cj1giMd0.mjs} +2 -2
- package/dist/{renderer-DATAjI6x.mjs.map → renderer-Cj1giMd0.mjs.map} +1 -1
- package/dist/{renderer-B41jTHFs.mjs → renderer-Cjs1OeBu.mjs} +3 -3
- package/dist/{renderer-B41jTHFs.mjs.map → renderer-Cjs1OeBu.mjs.map} +1 -1
- package/dist/renderer-CjzrLwW_.mjs +5 -0
- package/dist/renderer-ClnYWADT.mjs +5 -0
- package/dist/{renderer-CF25oNd3.mjs → renderer-CmKdr2nA.mjs} +3 -3
- package/dist/{renderer-CF25oNd3.mjs.map → renderer-CmKdr2nA.mjs.map} +1 -1
- package/dist/renderer-CwAd71C6.mjs +5 -0
- package/dist/{renderer-DxLkZGUK.mjs → renderer-D0X7Eh-T.mjs} +3 -3
- package/dist/{renderer-DxLkZGUK.mjs.map → renderer-D0X7Eh-T.mjs.map} +1 -1
- package/dist/{renderer-DIyzKouj.mjs → renderer-D2ru2Afi.mjs} +2 -2
- package/dist/{renderer-DIyzKouj.mjs.map → renderer-D2ru2Afi.mjs.map} +1 -1
- package/dist/renderer-D3Z9t-xT.mjs +5 -0
- package/dist/{renderer-B1yPBJQc.mjs → renderer-D5u3GVtD.mjs} +69 -69
- package/dist/{renderer-B1yPBJQc.mjs.map → renderer-D5u3GVtD.mjs.map} +1 -1
- package/dist/{renderer-ZGJWn-_L.mjs → renderer-D6p8b6ql.mjs} +2 -2
- package/dist/{renderer-ZGJWn-_L.mjs.map → renderer-D6p8b6ql.mjs.map} +1 -1
- package/dist/{renderer-DfxwJVjW.mjs → renderer-DBjV6C2u.mjs} +2 -2
- package/dist/{renderer-C8KEfda3.mjs → renderer-DHqicGgT.mjs} +3 -3
- package/dist/{renderer-C8KEfda3.mjs.map → renderer-DHqicGgT.mjs.map} +1 -1
- package/dist/{renderer-aXwxbXcE.mjs → renderer-DK34NH92.mjs} +3 -3
- package/dist/{renderer-aXwxbXcE.mjs.map → renderer-DK34NH92.mjs.map} +1 -1
- package/dist/renderer-DKH1oSlW.mjs +5 -0
- package/dist/{renderer-Bv0-WmP4.mjs → renderer-DP41Fokp.mjs} +2 -2
- package/dist/{renderer-Bv0-WmP4.mjs.map → renderer-DP41Fokp.mjs.map} +1 -1
- package/dist/{renderer-D2tdNoM6.mjs → renderer-DQuKNgIx.mjs} +3 -3
- package/dist/{renderer-D2tdNoM6.mjs.map → renderer-DQuKNgIx.mjs.map} +1 -1
- package/dist/renderer-DTkf_hwG.mjs +5 -0
- package/dist/renderer-DU0bmOS7.mjs +5 -0
- package/dist/{renderer-C1XZ0fQ-.mjs → renderer-DWaqF7-6.mjs} +3 -3
- package/dist/{renderer-C1XZ0fQ-.mjs.map → renderer-DWaqF7-6.mjs.map} +1 -1
- package/dist/renderer-D_vJHQt5.mjs +5 -0
- package/dist/{renderer-Cg-d78nf.mjs → renderer-Db_wphHH.mjs} +5 -5
- package/dist/{renderer-Cg-d78nf.mjs.map → renderer-Db_wphHH.mjs.map} +1 -1
- package/dist/renderer-Dc5n0M6P.mjs +5 -0
- package/dist/renderer-Ddfn0Dha.mjs +5 -0
- package/dist/renderer-DeSoNQeG.mjs +5 -0
- package/dist/{renderer-Djn4BYtz.mjs → renderer-DkPDYtD3.mjs} +3 -3
- package/dist/{renderer-Djn4BYtz.mjs.map → renderer-DkPDYtD3.mjs.map} +1 -1
- package/dist/{renderer-CYZb9uoO.mjs → renderer-DqO9gBAi.mjs} +2 -2
- package/dist/{renderer-CYZb9uoO.mjs.map → renderer-DqO9gBAi.mjs.map} +1 -1
- package/dist/{renderer-BWtI3wKu.mjs → renderer-DuQMzR3v.mjs} +2 -2
- package/dist/{renderer-BWtI3wKu.mjs.map → renderer-DuQMzR3v.mjs.map} +1 -1
- package/dist/{renderer-DJ78Bgv7.mjs → renderer-DyMEAZIm.mjs} +3 -3
- package/dist/{renderer-DJ78Bgv7.mjs.map → renderer-DyMEAZIm.mjs.map} +1 -1
- package/dist/renderer-Dzca9Qba.mjs +5 -0
- package/dist/{renderer-mWfgWQy_.mjs → renderer-FCqOfN6n.mjs} +3 -3
- package/dist/{renderer-mWfgWQy_.mjs.map → renderer-FCqOfN6n.mjs.map} +1 -1
- package/dist/{renderer-D-bmSKv4.mjs → renderer-Fsdod0yZ.mjs} +3 -3
- package/dist/{renderer-D-bmSKv4.mjs.map → renderer-Fsdod0yZ.mjs.map} +1 -1
- package/dist/{renderer-BMnrBPh1.mjs → renderer-G3px5ODP.mjs} +2 -2
- package/dist/{renderer-BMnrBPh1.mjs.map → renderer-G3px5ODP.mjs.map} +1 -1
- package/dist/renderer-HRVvtc9c.mjs +5 -0
- package/dist/{renderer-AkRxGnFU.mjs → renderer-IMg0dK6K.mjs} +3 -3
- package/dist/{renderer-AkRxGnFU.mjs.map → renderer-IMg0dK6K.mjs.map} +1 -1
- package/dist/renderer-M3Qs4f1K.mjs +5 -0
- package/dist/renderer-NDHJt_Ae.mjs +5 -0
- package/dist/{renderer-GY7D1oAn.mjs → renderer-PLoGrFGz.mjs} +3 -3
- package/dist/{renderer-GY7D1oAn.mjs.map → renderer-PLoGrFGz.mjs.map} +1 -1
- package/dist/{renderer-DstROEvX.mjs → renderer-VdTs-dqH.mjs} +3 -3
- package/dist/{renderer-DstROEvX.mjs.map → renderer-VdTs-dqH.mjs.map} +1 -1
- package/dist/{renderer-COZCwiIr.mjs → renderer-VxVi_0c7.mjs} +2 -2
- package/dist/{renderer-COZCwiIr.mjs.map → renderer-VxVi_0c7.mjs.map} +1 -1
- package/dist/{renderer-gniIzAsk.mjs → renderer-WVrUeiLZ.mjs} +2 -2
- package/dist/{renderer-DqabtpGN.mjs → renderer-Z39F9QK5.mjs} +3 -3
- package/dist/{renderer-DqabtpGN.mjs.map → renderer-Z39F9QK5.mjs.map} +1 -1
- package/dist/{renderer-VcPoZAM2.mjs → renderer-ZjSP5jw6.mjs} +2 -2
- package/dist/{renderer-VcPoZAM2.mjs.map → renderer-ZjSP5jw6.mjs.map} +1 -1
- package/dist/{renderer-BORzpTQP.mjs → renderer-fH9SCJC2.mjs} +2 -2
- package/dist/{renderer-BORzpTQP.mjs.map → renderer-fH9SCJC2.mjs.map} +1 -1
- package/dist/{renderer-DuawUm8D.mjs → renderer-gjT5v76-.mjs} +2 -2
- package/dist/{renderer-DuawUm8D.mjs.map → renderer-gjT5v76-.mjs.map} +1 -1
- package/dist/{renderer-BxDhx8KM.mjs → renderer-kP5Y282J.mjs} +3 -3
- package/dist/{renderer-BxDhx8KM.mjs.map → renderer-kP5Y282J.mjs.map} +1 -1
- package/dist/{renderer-Dw2ZFwDT.mjs → renderer-kkDfQ56G.mjs} +3 -3
- package/dist/{renderer-Dw2ZFwDT.mjs.map → renderer-kkDfQ56G.mjs.map} +1 -1
- package/dist/{renderer-vQrX7Qsw.mjs → renderer-l_U6kA8K.mjs} +2 -2
- package/dist/{renderer-vQrX7Qsw.mjs.map → renderer-l_U6kA8K.mjs.map} +1 -1
- package/dist/{renderer-DGhCIVI4.mjs → renderer-o_JK4YfO.mjs} +3 -3
- package/dist/{renderer-DGhCIVI4.mjs.map → renderer-o_JK4YfO.mjs.map} +1 -1
- package/dist/{renderer-COXKPofU.d.mts → renderer-sg-ffvVd.d.mts} +2 -2
- package/dist/{renderer-COXKPofU.d.mts.map → renderer-sg-ffvVd.d.mts.map} +1 -1
- package/dist/{renderer-Dx28wTi1.d.mts → renderer-vTsc6CpO.d.mts} +2 -2
- package/dist/{renderer-Dx28wTi1.d.mts.map → renderer-vTsc6CpO.d.mts.map} +1 -1
- package/dist/{renderer-MrvH4L7b.mjs → renderer-vwoyR8pW.mjs} +2 -2
- package/dist/{renderer-MrvH4L7b.mjs.map → renderer-vwoyR8pW.mjs.map} +1 -1
- package/dist/{renderers-CP8CFWDs-DgKdGMvS.mjs → renderers-CP8CFWDs-DiX2Y4Qp.mjs} +2 -2
- package/dist/{renderers-CP8CFWDs-DgKdGMvS.mjs.map → renderers-CP8CFWDs-DiX2Y4Qp.mjs.map} +1 -1
- package/dist/signals/index.d.mts +5 -5
- package/dist/signals/index.mjs +4 -4
- package/dist/{src-CU_7ui4I.mjs → src-Ds9IAk5S.mjs} +7 -7
- package/dist/{src-CU_7ui4I.mjs.map → src-Ds9IAk5S.mjs.map} +1 -1
- package/package.json +58 -58
- package/dist/dist-BBUrGwqd.mjs.map +0 -1
- package/dist/dist-QMVy31gR.mjs.map +0 -1
- package/dist/fonts-wI3CUYHM.mjs.map +0 -1
- package/dist/index-BJe_GEyj.d.mts.map +0 -1
- package/dist/index-fymoeGNW.d.mts.map +0 -1
- package/dist/preview--DEgW67P.mjs.map +0 -1
- package/dist/preview-engine/chunk-3T4LB4ZH.mjs +0 -3
- package/dist/preview-engine/chunk-DKXKOUQR.mjs +0 -1
- package/dist/preview-engine/chunk-RQLMW6MA.mjs +0 -4
- package/dist/preview-engine/chunk-XN56POGE.mjs +0 -1
- package/dist/preview-engine/renderers-2CBJYNOC.mjs +0 -1
- package/dist/preview-engine/renderers-3AZ5PMGC.mjs +0 -1
- package/dist/preview-engine/renderers-3VXNHICC.mjs +0 -1
- package/dist/preview-engine/renderers-4FONYSBA.mjs +0 -1
- package/dist/preview-engine/renderers-54I5SFXR.mjs +0 -1
- package/dist/preview-engine/renderers-5LXALKB4.mjs +0 -1
- package/dist/preview-engine/renderers-5TICPV2K.mjs +0 -1
- package/dist/preview-engine/renderers-5YS5WHAV.mjs +0 -1
- package/dist/preview-engine/renderers-6UTRYW7Z.mjs +0 -1
- package/dist/preview-engine/renderers-CLCPP3TZ.mjs +0 -1
- package/dist/preview-engine/renderers-DTZ2AER5.mjs +0 -1
- package/dist/preview-engine/renderers-GUJTPO37.mjs +0 -1
- package/dist/preview-engine/renderers-LGUHDWWB.mjs +0 -1
- package/dist/preview-engine/renderers-LGXD24IJ.mjs +0 -1
- package/dist/preview-engine/renderers-OBXNUQMP.mjs +0 -1
- package/dist/preview-engine/renderers-PUJRHBUW.mjs +0 -1
- package/dist/preview-engine/renderers-SCJTTOEJ.mjs +0 -1
- package/dist/preview-engine/renderers-SNUVYUDE.mjs +0 -1
- package/dist/preview-engine/renderers-SRKCF3LD.mjs +0 -1
- package/dist/preview-engine/renderers-UN6YLFHW.mjs +0 -1
- package/dist/preview-engine/renderers-UTWKTBZI.mjs +0 -1
- package/dist/preview-engine/renderers-W6762MNW.mjs +0 -1
- package/dist/preview-engine/renderers-XP7YFWBV.mjs +0 -1
- package/dist/preview-engine/renderers-ZRR4TUVQ.mjs +0 -1
- package/dist/renderer-7vCBWQVP.mjs +0 -5
- package/dist/renderer-B-XgGMCq.mjs +0 -5
- package/dist/renderer-B0yabPlf.mjs +0 -5
- package/dist/renderer-B9MYevrF.mjs +0 -5
- package/dist/renderer-BCGosndi.mjs +0 -5
- package/dist/renderer-BXTHDEnd.mjs +0 -5
- package/dist/renderer-BbJoZ-zL.mjs +0 -5
- package/dist/renderer-BxAZKOQy.mjs +0 -5
- package/dist/renderer-BxgkH__7.mjs +0 -5
- package/dist/renderer-CFEvikBH.mjs +0 -5
- package/dist/renderer-C_u9B-_7.mjs +0 -5
- package/dist/renderer-Cgx_qzGT.mjs +0 -5
- package/dist/renderer-ClOkY1Ny.mjs +0 -5
- package/dist/renderer-CtDub_ig.mjs +0 -5
- package/dist/renderer-D0duAhCo.mjs +0 -5
- package/dist/renderer-D4wM1dqg.mjs +0 -6
- package/dist/renderer-D5U3d09T.mjs +0 -5
- package/dist/renderer-DKqFxYfP.mjs +0 -5
- package/dist/renderer-DQZNI1zf.mjs +0 -5
- package/dist/renderer-DXITcVbS.mjs +0 -5
- package/dist/renderer-DY1QgdDC.mjs +0 -5
- package/dist/renderer-DYEz06xn.mjs +0 -5
- package/dist/renderer-D_2OrSMc.mjs +0 -5
- package/dist/renderer-DcCl9CO6.mjs +0 -5
- package/dist/renderer-DotZXhrh.mjs +0 -5
- package/dist/renderer-DpYDVTzs.mjs +0 -5
- package/dist/renderer-DpZxLVQF.mjs +0 -5
- package/dist/renderer-DvJbouz0.mjs +0 -5
- package/dist/renderer-S305xm67.mjs +0 -5
- package/dist/renderer-TgUloP-y.mjs +0 -5
- package/dist/renderer-gZ5SMvbU.mjs +0 -5
- package/dist/renderer-kEpx7pUy.mjs +0 -5
- package/dist/renderer-oPWZmzua.mjs +0 -5
- package/dist/renderer-qCNOffLy.mjs +0 -5
- package/dist/renderer-xEVoeq12.mjs +0 -5
- package/dist/renderer-ypw8fzVD.mjs +0 -5
- /package/dist/preview-engine/{chunk-Q4Z54DQ7.mjs → chunk-LXHECDOB.mjs} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { l as unwrapFrameParam, n as defineRenderer } from "./renderer-C9r0-KY4.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import { a as createFullscreenPipeline, c as drawTextureToTarget, d as signalTextureView, f as signalTiming, l as fragmentBindGroupLayout, o as drawChildToTexture, p as texturesLayout, s as drawFullscreenPass, t as FULLSCREEN_QUAD_WGSL, u as perDevice } from "./gpu-
|
|
2
|
+
import { K as parseColor } from "./dist-DBWkkSvJ.mjs";
|
|
3
|
+
import { a as createFullscreenPipeline, c as drawTextureToTarget, d as signalTextureView, f as signalTiming, l as fragmentBindGroupLayout, o as drawChildToTexture, p as texturesLayout, s as drawFullscreenPass, t as FULLSCREEN_QUAD_WGSL, u as perDevice } from "./gpu-Dq_uI_00.mjs";
|
|
4
4
|
|
|
5
5
|
//#region ../../nodes/node-halftone-screen/dist/renderers-CvluQiq3.mjs
|
|
6
6
|
const WGSL_HALFTONE_SHADER = `
|
|
@@ -456,4 +456,4 @@ var renderers_default = defineRenderer({ WebGPURenderer: HalftoneScreenWebGPURen
|
|
|
456
456
|
|
|
457
457
|
//#endregion
|
|
458
458
|
export { renderers_default as t };
|
|
459
|
-
//# sourceMappingURL=renderer-
|
|
459
|
+
//# sourceMappingURL=renderer-DWaqF7-6.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-C1XZ0fQ-.mjs","names":[],"sources":["../../../nodes/node-halftone-screen/dist/renderers-CvluQiq3.mjs"],"sourcesContent":["import { defineRenderer } from \"@framefields/node-sdk/renderer\";\nimport { unwrapFrameParam } from \"@framefields/node-sdk\";\nimport { FULLSCREEN_QUAD_WGSL, createFullscreenPipeline, drawChildToTexture, drawFullscreenPass, drawTextureToTarget, fragmentBindGroupLayout, perDevice, signalTextureView, signalTiming, texturesLayout } from \"@framefields/node-sdk/gpu\";\nimport { parseColor } from \"@framefields/webgpu-renderers\";\n\n//#region src/renderers/webgpu-renderer.ts\nconst WGSL_HALFTONE_SHADER = `\nstruct HalftoneUniforms {\n mode : f32, // 0 = Monochrome, 1 = CMYK\n dotShape : f32, // 0 = Circle, 1 = Diamond, 2 = Line, 3 = Square\n frequency : f32,\n angle : f32,\n\n contrast : f32,\n invert : f32,\n isSmooth : f32,\n opacity : f32,\n\n dotColor : vec4<f32>,\n paperColor : vec4<f32>,\n\n cyanAngle : f32,\n magentaAngle : f32,\n yellowAngle : f32,\n blackAngle : f32,\n\n hasFreqSig : f32,\n hasAngleSig : f32,\n hasContrastSig : f32,\n hasCyanSig : f32,\n\n hasMagSig : f32,\n hasYelSig : f32,\n hasBlkSig : f32,\n hasOpacitySig : f32,\n};\n\n@group(0) @binding(0) var<uniform> u : HalftoneUniforms;\n@group(1) @binding(0) var tex : texture_2d<f32>;\n@group(1) @binding(1) var samp : sampler;\n\n@group(2) @binding(0) var freqSigTex : texture_2d<f32>;\n@group(2) @binding(1) var angleSigTex : texture_2d<f32>;\n@group(2) @binding(2) var contrastSigTex : texture_2d<f32>;\n@group(2) @binding(3) var cyanSigTex : texture_2d<f32>;\n@group(2) @binding(4) var magSigTex : texture_2d<f32>;\n@group(2) @binding(5) var yelSigTex : texture_2d<f32>;\n@group(2) @binding(6) var blkSigTex : texture_2d<f32>;\n@group(2) @binding(7) var opacitySigTex : texture_2d<f32>;\n@group(2) @binding(8) var signalSamp : sampler;\n${FULLSCREEN_QUAD_WGSL}\n\nconst PI: f32 = 3.141592653589793;\n\nfn getCellCenterUV(\n uv: vec2<f32>,\n dimensions: vec2<f32>,\n screenAngleDeg: f32,\n freq: f32\n) -> vec2<f32> {\n let rad = screenAngleDeg * PI / 180.0;\n let cosA = cos(rad);\n let sinA = sin(rad);\n let rot = mat2x2<f32>(cosA, -sinA, sinA, cosA);\n let invRot = mat2x2<f32>(cosA, sinA, -sinA, cosA);\n\n let minDim = min(dimensions.x, dimensions.y);\n let cellSize = max(minDim / max(freq, 1.0), 1.0);\n\n let center = dimensions * 0.5;\n let pixelPos = (uv * dimensions) - center;\n let rotPos = rot * pixelPos;\n\n let cellIndex = floor(rotPos / cellSize) + vec2<f32>(0.5);\n let cellCenterRot = cellIndex * cellSize;\n let cellCenterPixelPos = invRot * cellCenterRot;\n let cellCenterUV = (cellCenterPixelPos + center) / dimensions;\n return clamp(cellCenterUV, vec2<f32>(0.0), vec2<f32>(1.0));\n}\n\nfn evalDotCoverage(\n uv: vec2<f32>,\n dimensions: vec2<f32>,\n screenAngleDeg: f32,\n freq: f32,\n shape: f32,\n density: f32,\n contrastMultiplier: f32,\n isSmooth: f32\n) -> f32 {\n var d = clamp((density - 0.5) * contrastMultiplier + 0.5, 0.0, 1.0);\n if (d <= 0.0001) { return 0.0; }\n if (d >= 0.9999) { return 1.0; }\n\n let rad = screenAngleDeg * PI / 180.0;\n let cosA = cos(rad);\n let sinA = sin(rad);\n let rot = mat2x2<f32>(cosA, -sinA, sinA, cosA);\n\n let minDim = min(dimensions.x, dimensions.y);\n let cellSize = max(minDim / max(freq, 1.0), 1.0);\n\n let center = dimensions * 0.5;\n let pixelPos = (uv * dimensions) - center;\n let rotPos = rot * pixelPos;\n\n let cellUV = fract(rotPos / cellSize) - vec2<f32>(0.5);\n\n var spot: f32 = 0.0;\n\n if (shape < 0.5) {\n // 0: Euclidean Round Dot\n spot = 0.5 * (1.0 - (cos(cellUV.x * 2.0 * PI) + cos(cellUV.y * 2.0 * PI)) * 0.5);\n } else if (shape < 1.5) {\n // 1: Diamond\n spot = abs(cellUV.x) + abs(cellUV.y);\n } else if (shape < 2.5) {\n // 2: Line\n spot = abs(cellUV.y) * 2.0;\n } else {\n // 3: Square\n spot = max(abs(cellUV.x), abs(cellUV.y)) * 2.0;\n }\n\n let edgeWidth = select(0.001, max(1.5 / cellSize, 0.003), isSmooth > 0.5);\n\n return select(\n step(spot, d),\n smoothstep(d + edgeWidth, d - edgeWidth, spot),\n isSmooth > 0.5\n );\n}\n\n@fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {\n let sourceCol = textureSampleLevel(tex, samp, in.uv, 0.0);\n if (sourceCol.a < 1e-5) {\n return sourceCol;\n }\n\n // Resolve parameter overrides or dynamic signals\n var frequency = u.frequency;\n if (u.hasFreqSig > 0.5) {\n frequency = textureSampleLevel(freqSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;\n }\n\n var baseAngle = u.angle;\n if (u.hasAngleSig > 0.5) {\n baseAngle = textureSampleLevel(angleSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;\n }\n\n var contrast = u.contrast;\n if (u.hasContrastSig > 0.5) {\n contrast = textureSampleLevel(contrastSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;\n }\n\n var cyanAngle = u.cyanAngle;\n if (u.hasCyanSig > 0.5) {\n cyanAngle = textureSampleLevel(cyanSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;\n }\n\n var magentaAngle = u.magentaAngle;\n if (u.hasMagSig > 0.5) {\n magentaAngle = textureSampleLevel(magSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;\n }\n\n var yellowAngle = u.yellowAngle;\n if (u.hasYelSig > 0.5) {\n yellowAngle = textureSampleLevel(yelSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;\n }\n\n var blackAngle = u.blackAngle;\n if (u.hasBlkSig > 0.5) {\n blackAngle = textureSampleLevel(blkSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;\n }\n\n var effectOpacity = u.opacity;\n if (u.hasOpacitySig > 0.5) {\n effectOpacity = textureSampleLevel(opacitySigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;\n }\n\n let dimensions = vec2<f32>(textureDimensions(tex));\n let unpremult = sourceCol.rgb / sourceCol.a;\n\n var screenedRgb: vec3<f32>;\n\n if (u.mode < 0.5) {\n // --- Monochrome Mode ---\n let cellCenterUV = getCellCenterUV(in.uv, dimensions, baseAngle, frequency);\n let cellCol = textureSampleLevel(tex, samp, cellCenterUV, 0.0);\n let cellRgb = select(cellCol.rgb, cellCol.rgb / cellCol.a, cellCol.a > 1e-5);\n let luminance = dot(cellRgb, vec3<f32>(0.2126, 0.7152, 0.0722));\n var inkDensity = 1.0 - luminance;\n if (u.invert > 0.5) {\n inkDensity = luminance;\n }\n\n let coverage = evalDotCoverage(\n in.uv,\n dimensions,\n baseAngle,\n frequency,\n u.dotShape,\n inkDensity,\n contrast,\n u.isSmooth\n );\n\n screenedRgb = mix(u.paperColor.rgb, u.dotColor.rgb, coverage);\n } else {\n // --- CMYK Mode ---\n let cellCenterUVC = getCellCenterUV(in.uv, dimensions, baseAngle + cyanAngle, frequency);\n let colC = textureSampleLevel(tex, samp, cellCenterUVC, 0.0);\n let rgbC = select(colC.rgb, colC.rgb / colC.a, colC.a > 1e-5);\n let kC = 1.0 - max(max(rgbC.r, rgbC.g), rgbC.b);\n let invKC = 1.0 - kC;\n var densC = select(0.0, clamp((1.0 - rgbC.r - kC) / max(invKC, 0.0001), 0.0, 1.0), invKC > 0.0001);\n\n let cellCenterUVM = getCellCenterUV(in.uv, dimensions, baseAngle + magentaAngle, frequency);\n let colM = textureSampleLevel(tex, samp, cellCenterUVM, 0.0);\n let rgbM = select(colM.rgb, colM.rgb / colM.a, colM.a > 1e-5);\n let kM = 1.0 - max(max(rgbM.r, rgbM.g), rgbM.b);\n let invKM = 1.0 - kM;\n var densM = select(0.0, clamp((1.0 - rgbM.g - kM) / max(invKM, 0.0001), 0.0, 1.0), invKM > 0.0001);\n\n let cellCenterUVY = getCellCenterUV(in.uv, dimensions, baseAngle + yellowAngle, frequency);\n let colY = textureSampleLevel(tex, samp, cellCenterUVY, 0.0);\n let rgbY = select(colY.rgb, colY.rgb / colY.a, colY.a > 1e-5);\n let kY = 1.0 - max(max(rgbY.r, rgbY.g), rgbY.b);\n let invKY = 1.0 - kY;\n var densY = select(0.0, clamp((1.0 - rgbY.b - kY) / max(invKY, 0.0001), 0.0, 1.0), invKY > 0.0001);\n\n let cellCenterUVK = getCellCenterUV(in.uv, dimensions, baseAngle + blackAngle, frequency);\n let colK = textureSampleLevel(tex, samp, cellCenterUVK, 0.0);\n let rgbK = select(colK.rgb, colK.rgb / colK.a, colK.a > 1e-5);\n var densK = 1.0 - max(max(rgbK.r, rgbK.g), rgbK.b);\n\n if (u.invert > 0.5) {\n densC = 1.0 - densC;\n densM = 1.0 - densM;\n densY = 1.0 - densY;\n densK = 1.0 - densK;\n }\n\n let covC = evalDotCoverage(in.uv, dimensions, baseAngle + cyanAngle, frequency, u.dotShape, densC, contrast, u.isSmooth);\n let covM = evalDotCoverage(in.uv, dimensions, baseAngle + magentaAngle, frequency, u.dotShape, densM, contrast, u.isSmooth);\n let covY = evalDotCoverage(in.uv, dimensions, baseAngle + yellowAngle, frequency, u.dotShape, densY, contrast, u.isSmooth);\n let covK = evalDotCoverage(in.uv, dimensions, baseAngle + blackAngle, frequency, u.dotShape, densK, contrast, u.isSmooth);\n\n // Subtractive synthesis onto paper substrate\n let outR = u.paperColor.r * (1.0 - covC) * (1.0 - covK);\n let outG = u.paperColor.g * (1.0 - covM) * (1.0 - covK);\n let outB = u.paperColor.b * (1.0 - covY) * (1.0 - covK);\n\n screenedRgb = clamp(vec3<f32>(outR, outG, outB), vec3<f32>(0.0), vec3<f32>(1.0));\n }\n\n // Apply effect opacity blend\n let finalRgb = mix(unpremult, screenedRgb, clamp(effectOpacity, 0.0, 1.0));\n return vec4<f32>(finalRgb * sourceCol.a, sourceCol.a);\n}\n`;\nconst getDeviceLayouts = perDevice((device) => ({\n\tuniformLayout: fragmentBindGroupLayout(device, [\"uniform\"]),\n\tsingleTextureLayout: fragmentBindGroupLayout(device, [\"texture\", \"sampler\"]),\n\tsignalTextureLayout: texturesLayout(device, 8),\n\tpipelineCache: /* @__PURE__ */ new Map()\n}));\nfunction getHalftoneResources(device, format) {\n\tconst layouts = getDeviceLayouts(device);\n\tconst cacheKey = `halftone_${format}`;\n\tlet pipeline = layouts.pipelineCache.get(cacheKey);\n\tif (!pipeline) {\n\t\tconst halftoneModule = device.createShaderModule({\n\t\t\tlabel: `halftone_${format}.wgsl`,\n\t\t\tcode: WGSL_HALFTONE_SHADER\n\t\t});\n\t\tpipeline = createFullscreenPipeline(device, {\n\t\t\tlabel: `HalftonePipeline_${format}`,\n\t\t\tmodule: halftoneModule,\n\t\t\tlayouts: [\n\t\t\t\tlayouts.uniformLayout,\n\t\t\t\tlayouts.singleTextureLayout,\n\t\t\t\tlayouts.signalTextureLayout\n\t\t\t],\n\t\t\tformat\n\t\t});\n\t\tlayouts.pipelineCache.set(cacheKey, pipeline);\n\t}\n\treturn {\n\t\thalftonePipeline: pipeline,\n\t\tuniformLayout: layouts.uniformLayout,\n\t\tsingleTextureLayout: layouts.singleTextureLayout,\n\t\tsignalTextureLayout: layouts.signalTextureLayout\n\t};\n}\nconst HalftoneScreenWebGPURenderer = async (args) => {\n\tconst { ctx, encoder, pass, targetTexture, targetWidth, targetHeight, props } = args;\n\tconst frame = props.frame ?? 0;\n\tconst compositionFrame = props.compositionFrame ?? frame;\n\tconst fps = props.fps || 30;\n\tconst op = props.virtualMedia?.operation;\n\tif (op?.op !== \"HalftoneScreen\" || !op) return;\n\tconst childMedia = props.virtualMedia.children?.[0];\n\tif (!childMedia) return;\n\tpass.end();\n\tconst width = targetWidth;\n\tconst height = targetHeight;\n\tconst nodeId = op.inputs ? Object.keys(op.inputs)[0] : \"halftone_node\";\n\tconst resolveBindable = (configKey, defaultValue, minVal, maxVal) => {\n\t\tconst handleId = op[`${configKey}HandleId`];\n\t\tconst input = handleId ? op.inputs?.[handleId] : null;\n\t\tconst hasSignal = !!(input?.connectionValid && input.outputItem?.type === \"Signal\");\n\t\tconst sd = hasSignal && input?.outputItem?.data ? input.outputItem.data : null;\n\t\tlet val = defaultValue;\n\t\tlet hasStaticSig = false;\n\t\tif (!hasSignal) if (input?.connectionValid && input.outputItem?.type === \"Number\") val = Math.max(minVal, Math.min(maxVal, Number(input.outputItem.data ?? defaultValue)));\n\t\telse {\n\t\t\tconst rawVal = unwrapFrameParam(op[configKey], compositionFrame, fps).value;\n\t\t\tval = Math.max(minVal, Math.min(maxVal, Number(rawVal ?? defaultValue)));\n\t\t}\n\t\telse if (sd) {\n\t\t\tval = Math.max(minVal, Math.min(maxVal, Number(sd.offset ?? 0)));\n\t\t\thasStaticSig = true;\n\t\t}\n\t\treturn {\n\t\t\tval,\n\t\t\thasStaticSig,\n\t\t\tsd\n\t\t};\n\t};\n\tconst freqRes = resolveBindable(\"frequency\", 30, 1, 200);\n\tconst angleRes = resolveBindable(\"angle\", 45, 0, 360);\n\tconst contrastRes = resolveBindable(\"contrast\", 1, .1, 5);\n\tconst cyanRes = resolveBindable(\"cyanAngle\", 15, 0, 360);\n\tconst magRes = resolveBindable(\"magentaAngle\", 75, 0, 360);\n\tconst yelRes = resolveBindable(\"yellowAngle\", 0, 0, 360);\n\tconst blkRes = resolveBindable(\"blackAngle\", 45, 0, 360);\n\tconst opacityRes = resolveBindable(\"opacity\", 1, 0, 1);\n\tconst { texture: tmpTex } = await drawChildToTexture(args, childMedia);\n\tconst { halftonePipeline: pipeline, uniformLayout: uLayout, singleTextureLayout: tLayout, signalTextureLayout: sigLayout } = getHalftoneResources(ctx.device, ctx.renderer.format);\n\tconst sampler = ctx.renderer.samplerCache.getSampler(ctx.device);\n\tconst { elapsedSeconds, durationSeconds } = signalTiming(props, frame, fps);\n\tconst signalContext = {\n\t\targs,\n\t\twidth,\n\t\theight,\n\t\tframe,\n\t\tfps,\n\t\telapsedSeconds,\n\t\tdurationSeconds\n\t};\n\tconst getSignalView = (res, suffix) => signalTextureView(signalContext, res, `${nodeId}_${suffix}`);\n\tconst freqView = getSignalView(freqRes, \"freq_sig\");\n\tconst angleView = getSignalView(angleRes, \"angle_sig\");\n\tconst contrastView = getSignalView(contrastRes, \"contrast_sig\");\n\tconst cyanView = getSignalView(cyanRes, \"cyan_sig\");\n\tconst magView = getSignalView(magRes, \"mag_sig\");\n\tconst yelView = getSignalView(yelRes, \"yel_sig\");\n\tconst blkView = getSignalView(blkRes, \"blk_sig\");\n\tconst opacityView = getSignalView(opacityRes, \"opacity_sig\");\n\tconst modeVal = op.mode === \"CMYK\" ? 1 : 0;\n\tlet dotShapeVal = 0;\n\tif (op.dotShape === \"Diamond\") dotShapeVal = 1;\n\telse if (op.dotShape === \"Line\") dotShapeVal = 2;\n\telse if (op.dotShape === \"Square\") dotShapeVal = 3;\n\tconst dotCol = parseColor(op.dotColor ?? \"#000000\");\n\tconst paperCol = parseColor(op.paperColor ?? \"#ffffff\");\n\tconst halftoneUniformData = new Float32Array(28);\n\thalftoneUniformData[0] = modeVal;\n\thalftoneUniformData[1] = dotShapeVal;\n\thalftoneUniformData[2] = freqRes.val;\n\thalftoneUniformData[3] = angleRes.val;\n\thalftoneUniformData[4] = contrastRes.val;\n\thalftoneUniformData[5] = op.invert ? 1 : 0;\n\thalftoneUniformData[6] = op.smooth !== false ? 1 : 0;\n\thalftoneUniformData[7] = opacityRes.val;\n\thalftoneUniformData[8] = dotCol.r;\n\thalftoneUniformData[9] = dotCol.g;\n\thalftoneUniformData[10] = dotCol.b;\n\thalftoneUniformData[11] = dotCol.a;\n\thalftoneUniformData[12] = paperCol.r;\n\thalftoneUniformData[13] = paperCol.g;\n\thalftoneUniformData[14] = paperCol.b;\n\thalftoneUniformData[15] = paperCol.a;\n\thalftoneUniformData[16] = cyanRes.val;\n\thalftoneUniformData[17] = magRes.val;\n\thalftoneUniformData[18] = yelRes.val;\n\thalftoneUniformData[19] = blkRes.val;\n\thalftoneUniformData[20] = freqRes.hasStaticSig ? 1 : 0;\n\thalftoneUniformData[21] = angleRes.hasStaticSig ? 1 : 0;\n\thalftoneUniformData[22] = contrastRes.hasStaticSig ? 1 : 0;\n\thalftoneUniformData[23] = cyanRes.hasStaticSig ? 1 : 0;\n\thalftoneUniformData[24] = magRes.hasStaticSig ? 1 : 0;\n\thalftoneUniformData[25] = yelRes.hasStaticSig ? 1 : 0;\n\thalftoneUniformData[26] = blkRes.hasStaticSig ? 1 : 0;\n\thalftoneUniformData[27] = opacityRes.hasStaticSig ? 1 : 0;\n\tconst uniformBuffer = ctx.renderer.getTemporaryBuffer(halftoneUniformData);\n\tconst outTex = ctx.renderer.getTemporaryTexture(width, height, [\n\t\ttmpTex,\n\t\ttargetTexture,\n\t\t...props.excludeTextures || []\n\t]);\n\tdrawFullscreenPass(encoder, outTex.createView(), pipeline, [\n\t\tctx.device.createBindGroup({\n\t\t\tlayout: uLayout,\n\t\t\tentries: [{\n\t\t\t\tbinding: 0,\n\t\t\t\tresource: { buffer: uniformBuffer }\n\t\t\t}]\n\t\t}),\n\t\tctx.renderer.bindGroupCache.getBindGroup(ctx.device, tLayout, tmpTex, sampler),\n\t\tctx.device.createBindGroup({\n\t\t\tlayout: sigLayout,\n\t\t\tentries: [\n\t\t\t\t{\n\t\t\t\t\tbinding: 0,\n\t\t\t\t\tresource: freqView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 1,\n\t\t\t\t\tresource: angleView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 2,\n\t\t\t\t\tresource: contrastView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 3,\n\t\t\t\t\tresource: cyanView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 4,\n\t\t\t\t\tresource: magView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 5,\n\t\t\t\t\tresource: yelView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 6,\n\t\t\t\t\tresource: blkView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 7,\n\t\t\t\t\tresource: opacityView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 8,\n\t\t\t\t\tresource: sampler\n\t\t\t\t}\n\t\t\t]\n\t\t})\n\t]);\n\tdrawTextureToTarget(args, outTex);\n};\n\n//#endregion\n//#region src/renderers/index.ts\nvar renderers_default = defineRenderer({ WebGPURenderer: HalftoneScreenWebGPURenderer });\n\n//#endregion\nexport { renderers_default as t };\n//# sourceMappingURL=renderers-CvluQiq3.mjs.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"renderer-DWaqF7-6.mjs","names":[],"sources":["../../../nodes/node-halftone-screen/dist/renderers-CvluQiq3.mjs"],"sourcesContent":["import { defineRenderer } from \"@framefields/node-sdk/renderer\";\nimport { unwrapFrameParam } from \"@framefields/node-sdk\";\nimport { FULLSCREEN_QUAD_WGSL, createFullscreenPipeline, drawChildToTexture, drawFullscreenPass, drawTextureToTarget, fragmentBindGroupLayout, perDevice, signalTextureView, signalTiming, texturesLayout } from \"@framefields/node-sdk/gpu\";\nimport { parseColor } from \"@framefields/webgpu-renderers\";\n\n//#region src/renderers/webgpu-renderer.ts\nconst WGSL_HALFTONE_SHADER = `\nstruct HalftoneUniforms {\n mode : f32, // 0 = Monochrome, 1 = CMYK\n dotShape : f32, // 0 = Circle, 1 = Diamond, 2 = Line, 3 = Square\n frequency : f32,\n angle : f32,\n\n contrast : f32,\n invert : f32,\n isSmooth : f32,\n opacity : f32,\n\n dotColor : vec4<f32>,\n paperColor : vec4<f32>,\n\n cyanAngle : f32,\n magentaAngle : f32,\n yellowAngle : f32,\n blackAngle : f32,\n\n hasFreqSig : f32,\n hasAngleSig : f32,\n hasContrastSig : f32,\n hasCyanSig : f32,\n\n hasMagSig : f32,\n hasYelSig : f32,\n hasBlkSig : f32,\n hasOpacitySig : f32,\n};\n\n@group(0) @binding(0) var<uniform> u : HalftoneUniforms;\n@group(1) @binding(0) var tex : texture_2d<f32>;\n@group(1) @binding(1) var samp : sampler;\n\n@group(2) @binding(0) var freqSigTex : texture_2d<f32>;\n@group(2) @binding(1) var angleSigTex : texture_2d<f32>;\n@group(2) @binding(2) var contrastSigTex : texture_2d<f32>;\n@group(2) @binding(3) var cyanSigTex : texture_2d<f32>;\n@group(2) @binding(4) var magSigTex : texture_2d<f32>;\n@group(2) @binding(5) var yelSigTex : texture_2d<f32>;\n@group(2) @binding(6) var blkSigTex : texture_2d<f32>;\n@group(2) @binding(7) var opacitySigTex : texture_2d<f32>;\n@group(2) @binding(8) var signalSamp : sampler;\n${FULLSCREEN_QUAD_WGSL}\n\nconst PI: f32 = 3.141592653589793;\n\nfn getCellCenterUV(\n uv: vec2<f32>,\n dimensions: vec2<f32>,\n screenAngleDeg: f32,\n freq: f32\n) -> vec2<f32> {\n let rad = screenAngleDeg * PI / 180.0;\n let cosA = cos(rad);\n let sinA = sin(rad);\n let rot = mat2x2<f32>(cosA, -sinA, sinA, cosA);\n let invRot = mat2x2<f32>(cosA, sinA, -sinA, cosA);\n\n let minDim = min(dimensions.x, dimensions.y);\n let cellSize = max(minDim / max(freq, 1.0), 1.0);\n\n let center = dimensions * 0.5;\n let pixelPos = (uv * dimensions) - center;\n let rotPos = rot * pixelPos;\n\n let cellIndex = floor(rotPos / cellSize) + vec2<f32>(0.5);\n let cellCenterRot = cellIndex * cellSize;\n let cellCenterPixelPos = invRot * cellCenterRot;\n let cellCenterUV = (cellCenterPixelPos + center) / dimensions;\n return clamp(cellCenterUV, vec2<f32>(0.0), vec2<f32>(1.0));\n}\n\nfn evalDotCoverage(\n uv: vec2<f32>,\n dimensions: vec2<f32>,\n screenAngleDeg: f32,\n freq: f32,\n shape: f32,\n density: f32,\n contrastMultiplier: f32,\n isSmooth: f32\n) -> f32 {\n var d = clamp((density - 0.5) * contrastMultiplier + 0.5, 0.0, 1.0);\n if (d <= 0.0001) { return 0.0; }\n if (d >= 0.9999) { return 1.0; }\n\n let rad = screenAngleDeg * PI / 180.0;\n let cosA = cos(rad);\n let sinA = sin(rad);\n let rot = mat2x2<f32>(cosA, -sinA, sinA, cosA);\n\n let minDim = min(dimensions.x, dimensions.y);\n let cellSize = max(minDim / max(freq, 1.0), 1.0);\n\n let center = dimensions * 0.5;\n let pixelPos = (uv * dimensions) - center;\n let rotPos = rot * pixelPos;\n\n let cellUV = fract(rotPos / cellSize) - vec2<f32>(0.5);\n\n var spot: f32 = 0.0;\n\n if (shape < 0.5) {\n // 0: Euclidean Round Dot\n spot = 0.5 * (1.0 - (cos(cellUV.x * 2.0 * PI) + cos(cellUV.y * 2.0 * PI)) * 0.5);\n } else if (shape < 1.5) {\n // 1: Diamond\n spot = abs(cellUV.x) + abs(cellUV.y);\n } else if (shape < 2.5) {\n // 2: Line\n spot = abs(cellUV.y) * 2.0;\n } else {\n // 3: Square\n spot = max(abs(cellUV.x), abs(cellUV.y)) * 2.0;\n }\n\n let edgeWidth = select(0.001, max(1.5 / cellSize, 0.003), isSmooth > 0.5);\n\n return select(\n step(spot, d),\n smoothstep(d + edgeWidth, d - edgeWidth, spot),\n isSmooth > 0.5\n );\n}\n\n@fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {\n let sourceCol = textureSampleLevel(tex, samp, in.uv, 0.0);\n if (sourceCol.a < 1e-5) {\n return sourceCol;\n }\n\n // Resolve parameter overrides or dynamic signals\n var frequency = u.frequency;\n if (u.hasFreqSig > 0.5) {\n frequency = textureSampleLevel(freqSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;\n }\n\n var baseAngle = u.angle;\n if (u.hasAngleSig > 0.5) {\n baseAngle = textureSampleLevel(angleSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;\n }\n\n var contrast = u.contrast;\n if (u.hasContrastSig > 0.5) {\n contrast = textureSampleLevel(contrastSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;\n }\n\n var cyanAngle = u.cyanAngle;\n if (u.hasCyanSig > 0.5) {\n cyanAngle = textureSampleLevel(cyanSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;\n }\n\n var magentaAngle = u.magentaAngle;\n if (u.hasMagSig > 0.5) {\n magentaAngle = textureSampleLevel(magSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;\n }\n\n var yellowAngle = u.yellowAngle;\n if (u.hasYelSig > 0.5) {\n yellowAngle = textureSampleLevel(yelSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;\n }\n\n var blackAngle = u.blackAngle;\n if (u.hasBlkSig > 0.5) {\n blackAngle = textureSampleLevel(blkSigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;\n }\n\n var effectOpacity = u.opacity;\n if (u.hasOpacitySig > 0.5) {\n effectOpacity = textureSampleLevel(opacitySigTex, signalSamp, vec2<f32>(0.5, 0.5), 0.0).r;\n }\n\n let dimensions = vec2<f32>(textureDimensions(tex));\n let unpremult = sourceCol.rgb / sourceCol.a;\n\n var screenedRgb: vec3<f32>;\n\n if (u.mode < 0.5) {\n // --- Monochrome Mode ---\n let cellCenterUV = getCellCenterUV(in.uv, dimensions, baseAngle, frequency);\n let cellCol = textureSampleLevel(tex, samp, cellCenterUV, 0.0);\n let cellRgb = select(cellCol.rgb, cellCol.rgb / cellCol.a, cellCol.a > 1e-5);\n let luminance = dot(cellRgb, vec3<f32>(0.2126, 0.7152, 0.0722));\n var inkDensity = 1.0 - luminance;\n if (u.invert > 0.5) {\n inkDensity = luminance;\n }\n\n let coverage = evalDotCoverage(\n in.uv,\n dimensions,\n baseAngle,\n frequency,\n u.dotShape,\n inkDensity,\n contrast,\n u.isSmooth\n );\n\n screenedRgb = mix(u.paperColor.rgb, u.dotColor.rgb, coverage);\n } else {\n // --- CMYK Mode ---\n let cellCenterUVC = getCellCenterUV(in.uv, dimensions, baseAngle + cyanAngle, frequency);\n let colC = textureSampleLevel(tex, samp, cellCenterUVC, 0.0);\n let rgbC = select(colC.rgb, colC.rgb / colC.a, colC.a > 1e-5);\n let kC = 1.0 - max(max(rgbC.r, rgbC.g), rgbC.b);\n let invKC = 1.0 - kC;\n var densC = select(0.0, clamp((1.0 - rgbC.r - kC) / max(invKC, 0.0001), 0.0, 1.0), invKC > 0.0001);\n\n let cellCenterUVM = getCellCenterUV(in.uv, dimensions, baseAngle + magentaAngle, frequency);\n let colM = textureSampleLevel(tex, samp, cellCenterUVM, 0.0);\n let rgbM = select(colM.rgb, colM.rgb / colM.a, colM.a > 1e-5);\n let kM = 1.0 - max(max(rgbM.r, rgbM.g), rgbM.b);\n let invKM = 1.0 - kM;\n var densM = select(0.0, clamp((1.0 - rgbM.g - kM) / max(invKM, 0.0001), 0.0, 1.0), invKM > 0.0001);\n\n let cellCenterUVY = getCellCenterUV(in.uv, dimensions, baseAngle + yellowAngle, frequency);\n let colY = textureSampleLevel(tex, samp, cellCenterUVY, 0.0);\n let rgbY = select(colY.rgb, colY.rgb / colY.a, colY.a > 1e-5);\n let kY = 1.0 - max(max(rgbY.r, rgbY.g), rgbY.b);\n let invKY = 1.0 - kY;\n var densY = select(0.0, clamp((1.0 - rgbY.b - kY) / max(invKY, 0.0001), 0.0, 1.0), invKY > 0.0001);\n\n let cellCenterUVK = getCellCenterUV(in.uv, dimensions, baseAngle + blackAngle, frequency);\n let colK = textureSampleLevel(tex, samp, cellCenterUVK, 0.0);\n let rgbK = select(colK.rgb, colK.rgb / colK.a, colK.a > 1e-5);\n var densK = 1.0 - max(max(rgbK.r, rgbK.g), rgbK.b);\n\n if (u.invert > 0.5) {\n densC = 1.0 - densC;\n densM = 1.0 - densM;\n densY = 1.0 - densY;\n densK = 1.0 - densK;\n }\n\n let covC = evalDotCoverage(in.uv, dimensions, baseAngle + cyanAngle, frequency, u.dotShape, densC, contrast, u.isSmooth);\n let covM = evalDotCoverage(in.uv, dimensions, baseAngle + magentaAngle, frequency, u.dotShape, densM, contrast, u.isSmooth);\n let covY = evalDotCoverage(in.uv, dimensions, baseAngle + yellowAngle, frequency, u.dotShape, densY, contrast, u.isSmooth);\n let covK = evalDotCoverage(in.uv, dimensions, baseAngle + blackAngle, frequency, u.dotShape, densK, contrast, u.isSmooth);\n\n // Subtractive synthesis onto paper substrate\n let outR = u.paperColor.r * (1.0 - covC) * (1.0 - covK);\n let outG = u.paperColor.g * (1.0 - covM) * (1.0 - covK);\n let outB = u.paperColor.b * (1.0 - covY) * (1.0 - covK);\n\n screenedRgb = clamp(vec3<f32>(outR, outG, outB), vec3<f32>(0.0), vec3<f32>(1.0));\n }\n\n // Apply effect opacity blend\n let finalRgb = mix(unpremult, screenedRgb, clamp(effectOpacity, 0.0, 1.0));\n return vec4<f32>(finalRgb * sourceCol.a, sourceCol.a);\n}\n`;\nconst getDeviceLayouts = perDevice((device) => ({\n\tuniformLayout: fragmentBindGroupLayout(device, [\"uniform\"]),\n\tsingleTextureLayout: fragmentBindGroupLayout(device, [\"texture\", \"sampler\"]),\n\tsignalTextureLayout: texturesLayout(device, 8),\n\tpipelineCache: /* @__PURE__ */ new Map()\n}));\nfunction getHalftoneResources(device, format) {\n\tconst layouts = getDeviceLayouts(device);\n\tconst cacheKey = `halftone_${format}`;\n\tlet pipeline = layouts.pipelineCache.get(cacheKey);\n\tif (!pipeline) {\n\t\tconst halftoneModule = device.createShaderModule({\n\t\t\tlabel: `halftone_${format}.wgsl`,\n\t\t\tcode: WGSL_HALFTONE_SHADER\n\t\t});\n\t\tpipeline = createFullscreenPipeline(device, {\n\t\t\tlabel: `HalftonePipeline_${format}`,\n\t\t\tmodule: halftoneModule,\n\t\t\tlayouts: [\n\t\t\t\tlayouts.uniformLayout,\n\t\t\t\tlayouts.singleTextureLayout,\n\t\t\t\tlayouts.signalTextureLayout\n\t\t\t],\n\t\t\tformat\n\t\t});\n\t\tlayouts.pipelineCache.set(cacheKey, pipeline);\n\t}\n\treturn {\n\t\thalftonePipeline: pipeline,\n\t\tuniformLayout: layouts.uniformLayout,\n\t\tsingleTextureLayout: layouts.singleTextureLayout,\n\t\tsignalTextureLayout: layouts.signalTextureLayout\n\t};\n}\nconst HalftoneScreenWebGPURenderer = async (args) => {\n\tconst { ctx, encoder, pass, targetTexture, targetWidth, targetHeight, props } = args;\n\tconst frame = props.frame ?? 0;\n\tconst compositionFrame = props.compositionFrame ?? frame;\n\tconst fps = props.fps || 30;\n\tconst op = props.virtualMedia?.operation;\n\tif (op?.op !== \"HalftoneScreen\" || !op) return;\n\tconst childMedia = props.virtualMedia.children?.[0];\n\tif (!childMedia) return;\n\tpass.end();\n\tconst width = targetWidth;\n\tconst height = targetHeight;\n\tconst nodeId = op.inputs ? Object.keys(op.inputs)[0] : \"halftone_node\";\n\tconst resolveBindable = (configKey, defaultValue, minVal, maxVal) => {\n\t\tconst handleId = op[`${configKey}HandleId`];\n\t\tconst input = handleId ? op.inputs?.[handleId] : null;\n\t\tconst hasSignal = !!(input?.connectionValid && input.outputItem?.type === \"Signal\");\n\t\tconst sd = hasSignal && input?.outputItem?.data ? input.outputItem.data : null;\n\t\tlet val = defaultValue;\n\t\tlet hasStaticSig = false;\n\t\tif (!hasSignal) if (input?.connectionValid && input.outputItem?.type === \"Number\") val = Math.max(minVal, Math.min(maxVal, Number(input.outputItem.data ?? defaultValue)));\n\t\telse {\n\t\t\tconst rawVal = unwrapFrameParam(op[configKey], compositionFrame, fps).value;\n\t\t\tval = Math.max(minVal, Math.min(maxVal, Number(rawVal ?? defaultValue)));\n\t\t}\n\t\telse if (sd) {\n\t\t\tval = Math.max(minVal, Math.min(maxVal, Number(sd.offset ?? 0)));\n\t\t\thasStaticSig = true;\n\t\t}\n\t\treturn {\n\t\t\tval,\n\t\t\thasStaticSig,\n\t\t\tsd\n\t\t};\n\t};\n\tconst freqRes = resolveBindable(\"frequency\", 30, 1, 200);\n\tconst angleRes = resolveBindable(\"angle\", 45, 0, 360);\n\tconst contrastRes = resolveBindable(\"contrast\", 1, .1, 5);\n\tconst cyanRes = resolveBindable(\"cyanAngle\", 15, 0, 360);\n\tconst magRes = resolveBindable(\"magentaAngle\", 75, 0, 360);\n\tconst yelRes = resolveBindable(\"yellowAngle\", 0, 0, 360);\n\tconst blkRes = resolveBindable(\"blackAngle\", 45, 0, 360);\n\tconst opacityRes = resolveBindable(\"opacity\", 1, 0, 1);\n\tconst { texture: tmpTex } = await drawChildToTexture(args, childMedia);\n\tconst { halftonePipeline: pipeline, uniformLayout: uLayout, singleTextureLayout: tLayout, signalTextureLayout: sigLayout } = getHalftoneResources(ctx.device, ctx.renderer.format);\n\tconst sampler = ctx.renderer.samplerCache.getSampler(ctx.device);\n\tconst { elapsedSeconds, durationSeconds } = signalTiming(props, frame, fps);\n\tconst signalContext = {\n\t\targs,\n\t\twidth,\n\t\theight,\n\t\tframe,\n\t\tfps,\n\t\telapsedSeconds,\n\t\tdurationSeconds\n\t};\n\tconst getSignalView = (res, suffix) => signalTextureView(signalContext, res, `${nodeId}_${suffix}`);\n\tconst freqView = getSignalView(freqRes, \"freq_sig\");\n\tconst angleView = getSignalView(angleRes, \"angle_sig\");\n\tconst contrastView = getSignalView(contrastRes, \"contrast_sig\");\n\tconst cyanView = getSignalView(cyanRes, \"cyan_sig\");\n\tconst magView = getSignalView(magRes, \"mag_sig\");\n\tconst yelView = getSignalView(yelRes, \"yel_sig\");\n\tconst blkView = getSignalView(blkRes, \"blk_sig\");\n\tconst opacityView = getSignalView(opacityRes, \"opacity_sig\");\n\tconst modeVal = op.mode === \"CMYK\" ? 1 : 0;\n\tlet dotShapeVal = 0;\n\tif (op.dotShape === \"Diamond\") dotShapeVal = 1;\n\telse if (op.dotShape === \"Line\") dotShapeVal = 2;\n\telse if (op.dotShape === \"Square\") dotShapeVal = 3;\n\tconst dotCol = parseColor(op.dotColor ?? \"#000000\");\n\tconst paperCol = parseColor(op.paperColor ?? \"#ffffff\");\n\tconst halftoneUniformData = new Float32Array(28);\n\thalftoneUniformData[0] = modeVal;\n\thalftoneUniformData[1] = dotShapeVal;\n\thalftoneUniformData[2] = freqRes.val;\n\thalftoneUniformData[3] = angleRes.val;\n\thalftoneUniformData[4] = contrastRes.val;\n\thalftoneUniformData[5] = op.invert ? 1 : 0;\n\thalftoneUniformData[6] = op.smooth !== false ? 1 : 0;\n\thalftoneUniformData[7] = opacityRes.val;\n\thalftoneUniformData[8] = dotCol.r;\n\thalftoneUniformData[9] = dotCol.g;\n\thalftoneUniformData[10] = dotCol.b;\n\thalftoneUniformData[11] = dotCol.a;\n\thalftoneUniformData[12] = paperCol.r;\n\thalftoneUniformData[13] = paperCol.g;\n\thalftoneUniformData[14] = paperCol.b;\n\thalftoneUniformData[15] = paperCol.a;\n\thalftoneUniformData[16] = cyanRes.val;\n\thalftoneUniformData[17] = magRes.val;\n\thalftoneUniformData[18] = yelRes.val;\n\thalftoneUniformData[19] = blkRes.val;\n\thalftoneUniformData[20] = freqRes.hasStaticSig ? 1 : 0;\n\thalftoneUniformData[21] = angleRes.hasStaticSig ? 1 : 0;\n\thalftoneUniformData[22] = contrastRes.hasStaticSig ? 1 : 0;\n\thalftoneUniformData[23] = cyanRes.hasStaticSig ? 1 : 0;\n\thalftoneUniformData[24] = magRes.hasStaticSig ? 1 : 0;\n\thalftoneUniformData[25] = yelRes.hasStaticSig ? 1 : 0;\n\thalftoneUniformData[26] = blkRes.hasStaticSig ? 1 : 0;\n\thalftoneUniformData[27] = opacityRes.hasStaticSig ? 1 : 0;\n\tconst uniformBuffer = ctx.renderer.getTemporaryBuffer(halftoneUniformData);\n\tconst outTex = ctx.renderer.getTemporaryTexture(width, height, [\n\t\ttmpTex,\n\t\ttargetTexture,\n\t\t...props.excludeTextures || []\n\t]);\n\tdrawFullscreenPass(encoder, outTex.createView(), pipeline, [\n\t\tctx.device.createBindGroup({\n\t\t\tlayout: uLayout,\n\t\t\tentries: [{\n\t\t\t\tbinding: 0,\n\t\t\t\tresource: { buffer: uniformBuffer }\n\t\t\t}]\n\t\t}),\n\t\tctx.renderer.bindGroupCache.getBindGroup(ctx.device, tLayout, tmpTex, sampler),\n\t\tctx.device.createBindGroup({\n\t\t\tlayout: sigLayout,\n\t\t\tentries: [\n\t\t\t\t{\n\t\t\t\t\tbinding: 0,\n\t\t\t\t\tresource: freqView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 1,\n\t\t\t\t\tresource: angleView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 2,\n\t\t\t\t\tresource: contrastView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 3,\n\t\t\t\t\tresource: cyanView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 4,\n\t\t\t\t\tresource: magView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 5,\n\t\t\t\t\tresource: yelView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 6,\n\t\t\t\t\tresource: blkView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 7,\n\t\t\t\t\tresource: opacityView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 8,\n\t\t\t\t\tresource: sampler\n\t\t\t\t}\n\t\t\t]\n\t\t})\n\t]);\n\tdrawTextureToTarget(args, outTex);\n};\n\n//#endregion\n//#region src/renderers/index.ts\nvar renderers_default = defineRenderer({ WebGPURenderer: HalftoneScreenWebGPURenderer });\n\n//#endregion\nexport { renderers_default as t };\n//# sourceMappingURL=renderers-CvluQiq3.mjs.map"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import "./chunk-D7gtBK74.mjs";
|
|
2
2
|
import { Ot as getActiveMediaMetadata, an as reportRenderDiagnostic, cn as resolveNumber, on as resolveBoolean, p as DEFAULT_DURATION_MS } from "./dist-DFeF-ygz.mjs";
|
|
3
3
|
import { a as resolveFrameNumber, c as solveHomography, n as defineRenderer, t as audioRegistry } from "./renderer-C9r0-KY4.mjs";
|
|
4
|
-
import {
|
|
5
|
-
import { a as createFullscreenPipeline, l as fragmentBindGroupLayout, n as PREMULTIPLIED_BLEND, t as FULLSCREEN_QUAD_WGSL } from "./gpu-
|
|
6
|
-
import { a as resolveLayerDuration, f as measureText, n as decodeAudioSource } from "./dist-
|
|
4
|
+
import { K as parseColor, M as generateExtrudedTextGeometry, P as getPrimitiveGeometry, W as measureMaxCaptionHeight, Z as poseNodes, ct as Camera3D, d as ScreenSpaceRelightPipeline, dt as Light3D, et as resolveTextSpans, ht as Vector3Math, it as srtLoader, j as fitSpansToText, l as Renderer3D, n as AudioLatentTrackCache, p as SlugFontCache, pt as Matrix4Math, rt as spansText, st as resolveMediaSourceUrl, z as jointMatrices } from "./dist-DBWkkSvJ.mjs";
|
|
5
|
+
import { a as createFullscreenPipeline, l as fragmentBindGroupLayout, n as PREMULTIPLIED_BLEND, t as FULLSCREEN_QUAD_WGSL } from "./gpu-Dq_uI_00.mjs";
|
|
6
|
+
import { a as resolveLayerDuration, f as measureText, n as decodeAudioSource } from "./dist-DHQVWaV2.mjs";
|
|
7
7
|
import { o as TemporalDeflickerPipeline } from "./dist-C_SMBmHr.mjs";
|
|
8
|
-
import { B as evaluateTrackAtFrame, F as computeLayout, H as initLayout, M as collectNodeOps, z as evaluateKeyframes } from "./program-
|
|
8
|
+
import { B as evaluateTrackAtFrame, F as computeLayout, H as initLayout, M as collectNodeOps, z as evaluateKeyframes } from "./program-BdPDtfVv.mjs";
|
|
9
9
|
import gsapModule from "gsap";
|
|
10
10
|
|
|
11
11
|
//#region ../../nodes/node-compositor/dist/renderers-1O3UOrUy.mjs
|
|
@@ -3530,4 +3530,4 @@ var renderers_default = defineRenderer({ WebGPURenderer: CompositorWebGPURendere
|
|
|
3530
3530
|
|
|
3531
3531
|
//#endregion
|
|
3532
3532
|
export { Transform3DMath, renderers_default as default, has3DTransform };
|
|
3533
|
-
//# sourceMappingURL=renderer-
|
|
3533
|
+
//# sourceMappingURL=renderer-Db_wphHH.mjs.map
|