framefields 2.8.1 → 2.9.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/README.md +30 -1
- package/dist/audio/index.mjs +10 -10
- package/dist/{audio-vatRe308.mjs → audio-BfQg37MW.mjs} +3 -3
- package/dist/{audio-vatRe308.mjs.map → audio-BfQg37MW.mjs.map} +1 -1
- package/dist/cli/check-worker.mjs +44 -44
- package/dist/components/index.d.mts +2 -2
- package/dist/components/index.mjs +43 -43
- package/dist/{dist-CFe1fC9l.mjs → dist-C1cCW7Bt.mjs} +8 -1
- package/dist/{dist-CFe1fC9l.mjs.map → dist-C1cCW7Bt.mjs.map} +1 -1
- package/dist/{dist-BbwtlSZO.mjs → dist-C8Xq3zgx.mjs} +2 -2
- package/dist/{dist-BbwtlSZO.mjs.map → dist-C8Xq3zgx.mjs.map} +1 -1
- package/dist/effects/index.d.mts +1 -1
- package/dist/effects/index.mjs +35 -35
- package/dist/{effects-CCyfjbhZ.mjs → effects-CemgqEPv.mjs} +2 -2
- package/dist/{effects-CCyfjbhZ.mjs.map → effects-CemgqEPv.mjs.map} +1 -1
- package/dist/fonts/index.mjs +2 -2
- package/dist/{fonts-C1mgtkCa.mjs → fonts-BW0pPcvJ.mjs} +2 -2
- package/dist/{fonts-C1mgtkCa.mjs.map → fonts-BW0pPcvJ.mjs.map} +1 -1
- package/dist/{gpu-CU2tEKJJ.mjs → gpu-CMaa63nz.mjs} +2 -2
- package/dist/{gpu-CU2tEKJJ.mjs.map → gpu-CMaa63nz.mjs.map} +1 -1
- package/dist/{index-BwRrsP_V.d.mts → index-Bnh42ouE.d.mts} +71 -10
- package/dist/index-Bnh42ouE.d.mts.map +1 -0
- package/dist/index-CFoAmh7q.d.mts.map +1 -1
- package/dist/{index-UDDAfHAF.d.mts → index-CQ-bbZk3.d.mts} +64 -13
- package/dist/index-CQ-bbZk3.d.mts.map +1 -0
- package/dist/index-D5UDyVMb.d.mts.map +1 -1
- package/dist/index.d.mts +3 -3
- package/dist/index.mjs +50 -50
- package/dist/preview/index.mjs +10 -10
- package/dist/{preview-WXbsf6Dv.mjs → preview-DvP8AZuV.mjs} +2 -2
- package/dist/{preview-WXbsf6Dv.mjs.map → preview-DvP8AZuV.mjs.map} +1 -1
- package/dist/preview-engine/audio.mjs +1 -1
- package/dist/preview-engine/{chunk-JGDZQCNU.mjs → chunk-2B722GXM.mjs} +1 -1
- package/dist/preview-engine/{chunk-GFW3D464.mjs → chunk-2DWY7UBV.mjs} +1 -1
- package/dist/preview-engine/{chunk-72DYOIMP.mjs → chunk-2PYTDN2C.mjs} +1 -1
- package/dist/preview-engine/{chunk-PF3SXQNV.mjs → chunk-34DL53D5.mjs} +1 -1
- package/dist/preview-engine/{chunk-GLXJOXBE.mjs → chunk-34RJ7GAS.mjs} +1 -1
- package/dist/preview-engine/{chunk-6OY4YLTC.mjs → chunk-35HMRW4I.mjs} +1 -1
- package/dist/preview-engine/{chunk-W26U6BP2.mjs → chunk-4WYM72ZN.mjs} +1 -1
- package/dist/preview-engine/{chunk-EQ4VBUWM.mjs → chunk-5AWAOMBR.mjs} +1 -1
- package/dist/preview-engine/{chunk-J4SHMCTG.mjs → chunk-6R3UJBL5.mjs} +1 -1
- package/dist/preview-engine/{chunk-VHGC72XP.mjs → chunk-73CNXGAK.mjs} +1 -1
- package/dist/preview-engine/{chunk-KYOPOCO5.mjs → chunk-AHQCDTD6.mjs} +1 -1
- package/dist/preview-engine/{chunk-ADV2TIKA.mjs → chunk-BEYA25UZ.mjs} +1 -1
- package/dist/preview-engine/{chunk-RBDIRBEI.mjs → chunk-BJV2LBII.mjs} +1 -1
- package/dist/preview-engine/{chunk-LBJBBEKP.mjs → chunk-BVDWS3D2.mjs} +1 -1
- package/dist/preview-engine/chunk-BXPM5SJ3.mjs +1 -0
- package/dist/preview-engine/{chunk-NIPWL6Z5.mjs → chunk-C4M3B2Q2.mjs} +1 -1
- package/dist/preview-engine/{chunk-LLUFOFF4.mjs → chunk-CC4NNNIY.mjs} +1 -1
- package/dist/preview-engine/{chunk-NX66555S.mjs → chunk-CN2VLYLB.mjs} +1 -1
- package/dist/preview-engine/chunk-D73ZKPFN.mjs +138 -0
- package/dist/preview-engine/{chunk-SK7PUBTC.mjs → chunk-DMSZXG56.mjs} +1 -1
- package/dist/preview-engine/{chunk-WC257OBY.mjs → chunk-DVZITDQS.mjs} +1 -1
- package/dist/preview-engine/{chunk-LLB3AGBQ.mjs → chunk-EJJITH6U.mjs} +1 -1
- package/dist/preview-engine/{chunk-COZG35ZR.mjs → chunk-FTCEG3SF.mjs} +1 -1
- package/dist/preview-engine/{chunk-57LES7TL.mjs → chunk-GA4HNR44.mjs} +1 -1
- package/dist/preview-engine/{chunk-S4WNCEMO.mjs → chunk-GIICZZQI.mjs} +1 -1
- package/dist/preview-engine/{chunk-RTHU7REC.mjs → chunk-GRJJVSOV.mjs} +1 -1
- package/dist/preview-engine/{chunk-RGDM6PQ5.mjs → chunk-GZWA5QJS.mjs} +1 -1
- package/dist/preview-engine/{chunk-LZNNM5OB.mjs → chunk-H7BSN7V7.mjs} +1 -1
- package/dist/preview-engine/{chunk-JXUENEQO.mjs → chunk-HOV6DDBZ.mjs} +1 -1
- package/dist/preview-engine/{chunk-C6XLAJLL.mjs → chunk-JSYG6OWZ.mjs} +1 -1
- package/dist/preview-engine/{chunk-GZVPVOHB.mjs → chunk-K3C6GUQD.mjs} +1 -1
- package/dist/preview-engine/chunk-KOVN277Z.mjs +1 -0
- package/dist/preview-engine/chunk-KXLXP66K.mjs +1974 -0
- package/dist/preview-engine/{chunk-Y6TWMUJC.mjs → chunk-LVYVXVZO.mjs} +1 -1
- package/dist/preview-engine/{chunk-NKAVHU7H.mjs → chunk-MIEH74UH.mjs} +7 -7
- package/dist/preview-engine/{chunk-AVDHZNIZ.mjs → chunk-OH5W5EL6.mjs} +1 -1
- package/dist/preview-engine/{chunk-22F33PPP.mjs → chunk-P5FKRQFU.mjs} +1 -1
- package/dist/preview-engine/{chunk-7X2AUKTU.mjs → chunk-PM2W4VLT.mjs} +1 -1
- package/dist/preview-engine/{chunk-PYX6Q2EJ.mjs → chunk-QCSVT73T.mjs} +1 -1
- package/dist/preview-engine/{chunk-523CTDOC.mjs → chunk-RJIAES3X.mjs} +1 -1
- package/dist/preview-engine/{chunk-DPQN7WYQ.mjs → chunk-S2ABWY5G.mjs} +1 -1
- package/dist/preview-engine/{chunk-G7JJ6HVL.mjs → chunk-SF37HXAH.mjs} +1 -1
- package/dist/preview-engine/{chunk-OKLYIQ5F.mjs → chunk-SPJPM43P.mjs} +1 -1
- package/dist/preview-engine/{chunk-UOTMBWBJ.mjs → chunk-TNJEZKXM.mjs} +1 -1
- package/dist/preview-engine/chunk-ULOFDFHJ.mjs +1 -0
- package/dist/preview-engine/{chunk-DISKQ5MH.mjs → chunk-UXYM2G6J.mjs} +1 -1
- package/dist/preview-engine/{chunk-U5YNECNG.mjs → chunk-VN36PRVD.mjs} +1 -1
- package/dist/preview-engine/{chunk-PMOKPVSD.mjs → chunk-VVE2QHVG.mjs} +1 -1
- package/dist/preview-engine/chunk-XYGDTPO7.mjs +39 -0
- package/dist/preview-engine/{chunk-PEUQRSIM.mjs → chunk-Y5K5LVOR.mjs} +1 -1
- package/dist/preview-engine/chunk-YGKO4NIU.mjs +1 -0
- package/dist/preview-engine/{chunk-PSEMCJBH.mjs → chunk-ZJ5SWTCW.mjs} +1 -1
- package/dist/preview-engine/chunk-ZY47XIRK.mjs +5 -0
- package/dist/preview-engine/components.mjs +1 -1
- package/dist/preview-engine/effects.mjs +1 -1
- package/dist/preview-engine/framefields.mjs +1 -1
- package/dist/preview-engine/player.mjs +1 -1
- package/dist/preview-engine/renderers-3BOQOUEU.mjs +1 -0
- package/dist/preview-engine/renderers-3M2FESR2.mjs +1 -0
- package/dist/preview-engine/{renderers-FEEIDQF3.mjs → renderers-4F7WLQD5.mjs} +1 -1
- package/dist/preview-engine/{renderers-OP6MKYRM.mjs → renderers-5KANN7XF.mjs} +1 -1
- package/dist/preview-engine/{renderers-TVRR7PGN.mjs → renderers-5TO2SXFR.mjs} +1 -1
- package/dist/preview-engine/{renderers-DR7UZ3QR.mjs → renderers-5UZ3YFBD.mjs} +1 -1
- package/dist/preview-engine/renderers-6LHIWKMZ.mjs +1 -0
- package/dist/preview-engine/{renderers-7F2KF5RE.mjs → renderers-6Z7DWAPH.mjs} +1 -1
- package/dist/preview-engine/renderers-77PDUMYI.mjs +1 -0
- package/dist/preview-engine/{renderers-3J3NCOAI.mjs → renderers-7C5RA3R5.mjs} +1 -1
- package/dist/preview-engine/{renderers-KPCQGBIY.mjs → renderers-7XHO6M3B.mjs} +1 -1
- package/dist/preview-engine/{renderers-KJAOPYAU.mjs → renderers-A24KZK2Q.mjs} +1 -1
- package/dist/preview-engine/renderers-A43VCJ7X.mjs +1 -0
- package/dist/preview-engine/renderers-AKY464RY.mjs +1 -0
- package/dist/preview-engine/renderers-C5UO6PL5.mjs +1 -0
- package/dist/preview-engine/renderers-C64QSZO4.mjs +1 -0
- package/dist/preview-engine/renderers-CIRCR6NG.mjs +1 -0
- package/dist/preview-engine/renderers-CIWOPETY.mjs +1 -0
- package/dist/preview-engine/renderers-CUMVIVHI.mjs +1 -0
- package/dist/preview-engine/renderers-CZEZCELP.mjs +1 -0
- package/dist/preview-engine/{renderers-R3YVLWKV.mjs → renderers-ENMY4DKF.mjs} +1 -1
- package/dist/preview-engine/{renderers-AAENCA7X.mjs → renderers-FSI5KNGZ.mjs} +1 -1
- package/dist/preview-engine/renderers-FSQMWHQM.mjs +1 -0
- package/dist/preview-engine/renderers-FZEW5C23.mjs +1 -0
- package/dist/preview-engine/renderers-HCET2IML.mjs +1 -0
- package/dist/preview-engine/{renderers-LBX7GPDU.mjs → renderers-IHGAWLUF.mjs} +1 -1
- package/dist/preview-engine/renderers-IUOOC6K7.mjs +1 -0
- package/dist/preview-engine/{renderers-VXMR47WZ.mjs → renderers-KC6ZSKCW.mjs} +1 -1
- package/dist/preview-engine/renderers-KYYJLVIJ.mjs +1 -0
- package/dist/preview-engine/renderers-L4GE7WV3.mjs +1 -0
- package/dist/preview-engine/renderers-L6YDX6GS.mjs +1 -0
- package/dist/preview-engine/renderers-LRAFWKCO.mjs +1 -0
- package/dist/preview-engine/renderers-LU3XZWEB.mjs +1 -0
- package/dist/preview-engine/{renderers-4YYGKLDK.mjs → renderers-MD3PRFZL.mjs} +1 -1
- package/dist/preview-engine/renderers-MDHPQY6D.mjs +1 -0
- package/dist/preview-engine/renderers-MOEC2XZZ.mjs +1 -0
- package/dist/preview-engine/{renderers-RGDTRVZM.mjs → renderers-NCGH2WWJ.mjs} +1 -1
- package/dist/preview-engine/renderers-ND2WV4K3.mjs +1 -0
- package/dist/preview-engine/renderers-NJ5CWVVH.mjs +1 -0
- package/dist/preview-engine/renderers-NKXYPR3V.mjs +1 -0
- package/dist/preview-engine/{renderers-WVQQZQ6Y.mjs → renderers-NUAI4TO5.mjs} +1 -1
- package/dist/preview-engine/renderers-NWR66CGK.mjs +1 -0
- package/dist/preview-engine/renderers-O22WTBRM.mjs +1 -0
- package/dist/preview-engine/renderers-PBBA7LQB.mjs +1 -0
- package/dist/preview-engine/{renderers-BL7Z3FTF.mjs → renderers-PIIEUKFE.mjs} +1 -1
- package/dist/preview-engine/renderers-PPZK6VEW.mjs +1 -0
- package/dist/preview-engine/renderers-Q6LJRZ7R.mjs +1 -0
- package/dist/preview-engine/{renderers-7TNEKJZS.mjs → renderers-QA2HKUJJ.mjs} +1 -1
- package/dist/preview-engine/renderers-RMEACSRL.mjs +1 -0
- package/dist/preview-engine/{renderers-AWRIELVX.mjs → renderers-RN2MHIFK.mjs} +1 -1
- package/dist/preview-engine/renderers-SEIAUKJF.mjs +1 -0
- package/dist/preview-engine/renderers-SP42LCSI.mjs +1 -0
- package/dist/preview-engine/{renderers-OE55O27K.mjs → renderers-T74CQCEN.mjs} +1 -1
- package/dist/preview-engine/renderers-T7SZA3BX.mjs +1 -0
- package/dist/preview-engine/{renderers-ZUQ2ZBYY.mjs → renderers-TGJSOKDY.mjs} +1 -1
- package/dist/preview-engine/renderers-TSBV4KPE.mjs +1 -0
- package/dist/preview-engine/{renderers-2SE5BLLB.mjs → renderers-U4M7ZCV4.mjs} +1 -1
- package/dist/preview-engine/{renderers-YEI4K4W4.mjs → renderers-V3AQO7AR.mjs} +1 -1
- package/dist/preview-engine/renderers-VADTDAHD.mjs +1 -0
- package/dist/preview-engine/renderers-VNNWI5C3.mjs +1 -0
- package/dist/preview-engine/{renderers-YYMRKHAA.mjs → renderers-WEYAHOBK.mjs} +1 -1
- package/dist/preview-engine/renderers-WZ75MLP3.mjs +1 -0
- package/dist/preview-engine/renderers-XB5R4UQA.mjs +1 -0
- package/dist/preview-engine/{renderers-YIVPMPQS.mjs → renderers-Y22VSOXF.mjs} +1 -1
- package/dist/preview-engine/{renderers-Y53D5CQ7.mjs → renderers-YBIUZDGQ.mjs} +1 -1
- package/dist/preview-engine/renderers-YESJR4O7.mjs +1 -0
- package/dist/preview-engine/renderers-YKSRZRRT.mjs +1 -0
- package/dist/preview-engine/{renderers-V4VML5IG.mjs → renderers-ZACSHGNZ.mjs} +1 -1
- package/dist/preview-engine/signals.mjs +1 -1
- package/dist/preview-engine/src-4IUYUKIZ.mjs +8 -0
- package/dist/{program-Cq4gP9Dd.mjs → program-CKpKkllV.mjs} +2 -2
- package/dist/{program-Cq4gP9Dd.mjs.map → program-CKpKkllV.mjs.map} +1 -1
- package/dist/renderer/index.mjs +2 -2
- package/dist/renderer--Ac-dg4A.mjs +5 -0
- package/dist/renderer--N7TMqzU.mjs +5 -0
- package/dist/{renderer-CXWAdRqn.mjs → renderer--fkmiVjl.mjs} +2 -2
- package/dist/{renderer-CXWAdRqn.mjs.map → renderer--fkmiVjl.mjs.map} +1 -1
- package/dist/{renderer-CZyJ72JZ.mjs → renderer-1r-Uq-Ae.mjs} +2 -2
- package/dist/{renderer-CZyJ72JZ.mjs.map → renderer-1r-Uq-Ae.mjs.map} +1 -1
- package/dist/renderer-2ecmdOae.mjs +5 -0
- package/dist/{renderer-D8CMakyz.mjs → renderer-8QIwXh7O.mjs} +3 -3
- package/dist/{renderer-D8CMakyz.mjs.map → renderer-8QIwXh7O.mjs.map} +1 -1
- package/dist/{renderer-B4iCFvJh.mjs → renderer-B-ur0Ej8.mjs} +3 -3
- package/dist/{renderer-B4iCFvJh.mjs.map → renderer-B-ur0Ej8.mjs.map} +1 -1
- package/dist/{renderer-BD25uND8.mjs → renderer-B2P1vgb7.mjs} +418 -187
- package/dist/renderer-B2P1vgb7.mjs.map +1 -0
- package/dist/{renderer-BZKkT-6Q.mjs → renderer-B2jjxsjO.mjs} +2 -2
- package/dist/{renderer-BZKkT-6Q.mjs.map → renderer-B2jjxsjO.mjs.map} +1 -1
- package/dist/{renderer-DEcbSNQd.mjs → renderer-B39I6CQw.mjs} +3 -3
- package/dist/{renderer-DEcbSNQd.mjs.map → renderer-B39I6CQw.mjs.map} +1 -1
- package/dist/{renderer-DIPyUVX2.mjs → renderer-B522Dkdk.mjs} +3 -3
- package/dist/{renderer-DIPyUVX2.mjs.map → renderer-B522Dkdk.mjs.map} +1 -1
- package/dist/renderer-B5RJp5g-.mjs +5 -0
- package/dist/renderer-B7xyT1Vb.mjs +5 -0
- package/dist/{renderer-CeX7uUXB.mjs → renderer-BAYTI6jj.mjs} +2 -2
- package/dist/{renderer-CeX7uUXB.mjs.map → renderer-BAYTI6jj.mjs.map} +1 -1
- package/dist/{renderer-DoRazdp_.mjs → renderer-BAusZ6Vu.mjs} +2 -2
- package/dist/{renderer-DoRazdp_.mjs.map → renderer-BAusZ6Vu.mjs.map} +1 -1
- package/dist/renderer-BBeArN_x.mjs +5 -0
- package/dist/renderer-BCAZDu-r.mjs +5 -0
- package/dist/{renderer-D41gHat4.mjs → renderer-BF0hx_iJ.mjs} +3 -3
- package/dist/{renderer-D41gHat4.mjs.map → renderer-BF0hx_iJ.mjs.map} +1 -1
- package/dist/renderer-BJnhik7Y.mjs +5 -0
- package/dist/{renderer-BeQrWrOa.mjs → renderer-BPWDsufX.mjs} +2 -2
- package/dist/{renderer-BeQrWrOa.mjs.map → renderer-BPWDsufX.mjs.map} +1 -1
- package/dist/{renderer-CxEBV-w0.mjs → renderer-BXJXziIt.mjs} +2 -2
- package/dist/{renderer-CxEBV-w0.mjs.map → renderer-BXJXziIt.mjs.map} +1 -1
- package/dist/{renderer-Ce8VPaog.mjs → renderer-BdyopiLC.mjs} +2 -2
- package/dist/{renderer-Ce8VPaog.mjs.map → renderer-BdyopiLC.mjs.map} +1 -1
- package/dist/{renderer-Bkqg-U2F.mjs → renderer-Bfk6A7UO.mjs} +3 -3
- package/dist/{renderer-Bkqg-U2F.mjs.map → renderer-Bfk6A7UO.mjs.map} +1 -1
- package/dist/{renderer-CAagaRag.mjs → renderer-BgO6BA_z.mjs} +2 -2
- package/dist/{renderer-CAagaRag.mjs.map → renderer-BgO6BA_z.mjs.map} +1 -1
- package/dist/{renderer-DlZwbO-A.mjs → renderer-BlPqTEii.mjs} +2 -2
- package/dist/{renderer-DlZwbO-A.mjs.map → renderer-BlPqTEii.mjs.map} +1 -1
- package/dist/{renderer-BEuU7qlG.mjs → renderer-BlvGcyAN.mjs} +2 -2
- package/dist/{renderer-BEuU7qlG.mjs.map → renderer-BlvGcyAN.mjs.map} +1 -1
- package/dist/{renderer-BrWOcJ9Q.mjs → renderer-BpIF1QIE.mjs} +3 -3
- package/dist/{renderer-BrWOcJ9Q.mjs.map → renderer-BpIF1QIE.mjs.map} +1 -1
- package/dist/renderer-BxRW8MZO.mjs +5 -0
- package/dist/renderer-C-lfsEAN.mjs +5 -0
- package/dist/{renderer-eAVNsuX8.mjs → renderer-C41U1tK6.mjs} +5 -5
- package/dist/{renderer-eAVNsuX8.mjs.map → renderer-C41U1tK6.mjs.map} +1 -1
- package/dist/renderer-C6nOFN4-.mjs +5 -0
- package/dist/{renderer-CjklM-KD.mjs → renderer-C7L8Ceqr.mjs} +2 -2
- package/dist/{renderer-CjklM-KD.mjs.map → renderer-C7L8Ceqr.mjs.map} +1 -1
- package/dist/{renderer-xLQ_nkmy.mjs → renderer-C7eFJf0_.mjs} +3 -3
- package/dist/{renderer-xLQ_nkmy.mjs.map → renderer-C7eFJf0_.mjs.map} +1 -1
- package/dist/renderer-C84TSQmS.mjs +5 -0
- package/dist/renderer-C8_6YofT.mjs +5 -0
- package/dist/{renderer-DsAoxQ8O.mjs → renderer-CCycwCEB.mjs} +2 -2
- package/dist/{renderer-DsAoxQ8O.mjs.map → renderer-CCycwCEB.mjs.map} +1 -1
- package/dist/{renderer-Cjx3x7xM.mjs → renderer-CHr7MiYW.mjs} +3 -3
- package/dist/{renderer-Cjx3x7xM.mjs.map → renderer-CHr7MiYW.mjs.map} +1 -1
- package/dist/renderer-COb3tOPG.mjs +5 -0
- package/dist/{renderer-DSpTGqUU.mjs → renderer-CQvmbRQ5.mjs} +3 -3
- package/dist/{renderer-DSpTGqUU.mjs.map → renderer-CQvmbRQ5.mjs.map} +1 -1
- package/dist/renderer-CSCIzaLy.mjs +5 -0
- package/dist/{renderer-D7Kk7VxM.mjs → renderer-CYC32bDW.mjs} +3 -3
- package/dist/{renderer-D7Kk7VxM.mjs.map → renderer-CYC32bDW.mjs.map} +1 -1
- package/dist/{renderer-Ci9x2WUd.mjs → renderer-CcvvoKiZ.mjs} +3 -3
- package/dist/{renderer-Ci9x2WUd.mjs.map → renderer-CcvvoKiZ.mjs.map} +1 -1
- package/dist/{renderer-DTgO5LPf.mjs → renderer-CiQhD8Gg.mjs} +3 -3
- package/dist/{renderer-DTgO5LPf.mjs.map → renderer-CiQhD8Gg.mjs.map} +1 -1
- package/dist/renderer-CmI4c8MS.mjs +5 -0
- package/dist/{renderer-BlVmbzPs.mjs → renderer-CpUJBOfb.mjs} +2 -2
- package/dist/renderer-CqVltdX9.mjs +5 -0
- package/dist/{renderer-LY2MiIj0.mjs → renderer-CwFqqpWY.mjs} +3 -3
- package/dist/{renderer-LY2MiIj0.mjs.map → renderer-CwFqqpWY.mjs.map} +1 -1
- package/dist/renderer-D-FpMzLY.mjs +5 -0
- package/dist/renderer-D-Oyn9mG.mjs +5 -0
- package/dist/renderer-D2QrkA8_.mjs +5 -0
- package/dist/{renderer-D7Cu9OZx.mjs → renderer-D47AEJE_.mjs} +2 -2
- package/dist/{renderer-D7Cu9OZx.mjs.map → renderer-D47AEJE_.mjs.map} +1 -1
- package/dist/renderer-D5bjOx83.mjs +3 -0
- package/dist/{renderer-DPn2DhMU.mjs → renderer-D61B9bXF.mjs} +2 -2
- package/dist/{renderer-DPn2DhMU.mjs.map → renderer-D61B9bXF.mjs.map} +1 -1
- package/dist/renderer-D64r4iN-.mjs +5 -0
- package/dist/{renderer-CUq2qgyc.mjs → renderer-D7Al3_-5.mjs} +3 -3
- package/dist/{renderer-CUq2qgyc.mjs.map → renderer-D7Al3_-5.mjs.map} +1 -1
- package/dist/{renderer-CyWRvKUI.mjs → renderer-D7r6onRT.mjs} +2 -2
- package/dist/{renderer-CyWRvKUI.mjs.map → renderer-D7r6onRT.mjs.map} +1 -1
- package/dist/{renderer-DxHICEk3.mjs → renderer-D8bBHrWC.mjs} +3 -3
- package/dist/{renderer-DxHICEk3.mjs.map → renderer-D8bBHrWC.mjs.map} +1 -1
- package/dist/renderer-DCq6YkgP.mjs +5 -0
- package/dist/{renderer-Dk45W8Zd.mjs → renderer-DDEkFbVI.mjs} +3 -3
- package/dist/{renderer-Dk45W8Zd.mjs.map → renderer-DDEkFbVI.mjs.map} +1 -1
- package/dist/renderer-DDHG3GdR.mjs +5 -0
- package/dist/{renderer-BWlMAacF.mjs → renderer-DEmYyaqj.mjs} +2 -2
- package/dist/{renderer-BWlMAacF.mjs.map → renderer-DEmYyaqj.mjs.map} +1 -1
- package/dist/{renderer-DRGa6tlX.mjs → renderer-DF-yvIrV.mjs} +2 -2
- package/dist/{renderer-DRGa6tlX.mjs.map → renderer-DF-yvIrV.mjs.map} +1 -1
- package/dist/{renderer-C-5RNIeX.mjs → renderer-DFzI3yI_.mjs} +2 -2
- package/dist/{renderer-C-5RNIeX.mjs.map → renderer-DFzI3yI_.mjs.map} +1 -1
- package/dist/{renderer-AMBVtZ_G.mjs → renderer-DIw3UtEU.mjs} +3 -3
- package/dist/{renderer-AMBVtZ_G.mjs.map → renderer-DIw3UtEU.mjs.map} +1 -1
- package/dist/renderer-DMdNfcud.mjs +6 -0
- package/dist/{renderer-DnPzvIHK.mjs → renderer-DMvmf3T2.mjs} +2 -2
- package/dist/{renderer-Gw1ICOJ3.mjs → renderer-DNQvOrkY.mjs} +3 -3
- package/dist/{renderer-Gw1ICOJ3.mjs.map → renderer-DNQvOrkY.mjs.map} +1 -1
- package/dist/{renderer-CP2FOWyJ.mjs → renderer-DO-KbpYZ.mjs} +3 -3
- package/dist/{renderer-CP2FOWyJ.mjs.map → renderer-DO-KbpYZ.mjs.map} +1 -1
- package/dist/{renderer-BeFiQfzV.mjs → renderer-DPAD6fL1.mjs} +70 -70
- package/dist/{renderer-BeFiQfzV.mjs.map → renderer-DPAD6fL1.mjs.map} +1 -1
- package/dist/{renderer-cg06hb82.mjs → renderer-DTqDy2m9.mjs} +3 -3
- package/dist/{renderer-cg06hb82.mjs.map → renderer-DTqDy2m9.mjs.map} +1 -1
- package/dist/{renderer-BXAgUuAq.mjs → renderer-DVCJjVn7.mjs} +2 -2
- package/dist/{renderer-BXAgUuAq.mjs.map → renderer-DVCJjVn7.mjs.map} +1 -1
- package/dist/{renderer-D6X9vWkN.mjs → renderer-DX41niRU.mjs} +2 -2
- package/dist/{renderer-D6X9vWkN.mjs.map → renderer-DX41niRU.mjs.map} +1 -1
- package/dist/{renderer-D3K9FEQk.mjs → renderer-DXEWbnRF.mjs} +3 -3
- package/dist/{renderer-D3K9FEQk.mjs.map → renderer-DXEWbnRF.mjs.map} +1 -1
- package/dist/renderer-DZQXZ4lK.mjs +5 -0
- package/dist/{renderer-CiMIftlS.mjs → renderer-DbRZe0Re.mjs} +3 -3
- package/dist/{renderer-CiMIftlS.mjs.map → renderer-DbRZe0Re.mjs.map} +1 -1
- package/dist/renderer-DczJJLA1.mjs +5 -0
- package/dist/renderer-DfqJj9oe.mjs +5 -0
- package/dist/renderer-DgO9ihVJ.mjs +5 -0
- package/dist/renderer-DhgnQZYb.mjs +5 -0
- package/dist/{renderer-CrgfMDbh.mjs → renderer-DiY70S8S.mjs} +3 -3
- package/dist/{renderer-CrgfMDbh.mjs.map → renderer-DiY70S8S.mjs.map} +1 -1
- package/dist/renderer-DjxKjHMf.mjs +5 -0
- package/dist/{renderer-Br4UZvfL.mjs → renderer-DkRSZg5g.mjs} +3 -3
- package/dist/{renderer-Br4UZvfL.mjs.map → renderer-DkRSZg5g.mjs.map} +1 -1
- package/dist/{renderer-CCSzKnvs.mjs → renderer-DmkWrWAk.mjs} +2 -2
- package/dist/{renderer-CCSzKnvs.mjs.map → renderer-DmkWrWAk.mjs.map} +1 -1
- package/dist/{renderer-D2JOseb1.mjs → renderer-DpruWmZU.mjs} +2 -2
- package/dist/{renderer-D2JOseb1.mjs.map → renderer-DpruWmZU.mjs.map} +1 -1
- package/dist/renderer-DqLA5cdR.mjs +5 -0
- package/dist/{renderer-DxbFjINv.mjs → renderer-DqvoMLca.mjs} +3 -3
- package/dist/{renderer-DxbFjINv.mjs.map → renderer-DqvoMLca.mjs.map} +1 -1
- package/dist/renderer-Dudp6ZlH.mjs +5 -0
- package/dist/{renderer-COQc1jn6.mjs → renderer-EaLUCobW.mjs} +2 -2
- package/dist/{renderer-COQc1jn6.mjs.map → renderer-EaLUCobW.mjs.map} +1 -1
- package/dist/{renderer-BioUC9zE.mjs → renderer-GBmWjBvy.mjs} +2 -2
- package/dist/{renderer-BioUC9zE.mjs.map → renderer-GBmWjBvy.mjs.map} +1 -1
- package/dist/{renderer-BNzT34UV.mjs → renderer-Lth37j17.mjs} +2 -2
- package/dist/{renderer-D-17HVPb.mjs → renderer-SSBL4M1o.mjs} +3 -3
- package/dist/{renderer-D-17HVPb.mjs.map → renderer-SSBL4M1o.mjs.map} +1 -1
- package/dist/{renderer-C8rxyjaE.mjs → renderer-SWr3vbrV.mjs} +2 -2
- package/dist/{renderer-C8rxyjaE.mjs.map → renderer-SWr3vbrV.mjs.map} +1 -1
- package/dist/{renderer-LwrcnEtI.mjs → renderer-WCZu2Rf5.mjs} +3 -3
- package/dist/{renderer-LwrcnEtI.mjs.map → renderer-WCZu2Rf5.mjs.map} +1 -1
- package/dist/{renderer-BIGILDEA.mjs → renderer-Xv6GfNUI.mjs} +2 -2
- package/dist/{renderer-BIGILDEA.mjs.map → renderer-Xv6GfNUI.mjs.map} +1 -1
- package/dist/renderer-_jC5KIT1.mjs +5 -0
- package/dist/{renderer-DveQQCi8.mjs → renderer-bAKUeHF3.mjs} +3 -3
- package/dist/{renderer-DveQQCi8.mjs.map → renderer-bAKUeHF3.mjs.map} +1 -1
- package/dist/renderer-cTgAuVmJ.mjs +5 -0
- package/dist/{renderer-DGPaKIFf.mjs → renderer-cod5Ona9.mjs} +2 -2
- package/dist/{renderer-DgLt0TPo.mjs → renderer-g_vrrAQU.mjs} +2 -2
- package/dist/{renderer-DgLt0TPo.mjs.map → renderer-g_vrrAQU.mjs.map} +1 -1
- package/dist/{renderer-uorPCWdC.mjs → renderer-hSCfnvaK.mjs} +3 -3
- package/dist/{renderer-uorPCWdC.mjs.map → renderer-hSCfnvaK.mjs.map} +1 -1
- package/dist/{renderer-BGPnCRFI.mjs → renderer-ktWXVYka.mjs} +3 -3
- package/dist/{renderer-BGPnCRFI.mjs.map → renderer-ktWXVYka.mjs.map} +1 -1
- package/dist/renderer-nVKDvDLO.mjs +5 -0
- package/dist/{renderer-U-12BOhe.mjs → renderer-oKRF4A0M.mjs} +2 -2
- package/dist/{renderer-U-12BOhe.mjs.map → renderer-oKRF4A0M.mjs.map} +1 -1
- package/dist/{renderer-CsilJwL-.mjs → renderer-pHWEHDnM.mjs} +3 -3
- package/dist/{renderer-CsilJwL-.mjs.map → renderer-pHWEHDnM.mjs.map} +1 -1
- package/dist/renderer-pZ6_pUo1.mjs +5 -0
- package/dist/{renderer-BD00i68i.mjs → renderer-sCovEubT.mjs} +3 -3
- package/dist/{renderer-BD00i68i.mjs.map → renderer-sCovEubT.mjs.map} +1 -1
- package/dist/{renderer-BdbGTz7z.mjs → renderer-sYSkIUfo.mjs} +3 -3
- package/dist/{renderer-BdbGTz7z.mjs.map → renderer-sYSkIUfo.mjs.map} +1 -1
- package/dist/{renderer-BLU0PQTB.mjs → renderer-zXPVLRlD.mjs} +3 -3
- package/dist/{renderer-BLU0PQTB.mjs.map → renderer-zXPVLRlD.mjs.map} +1 -1
- package/dist/{renderers-CP8CFWDs-ywy4xljX.mjs → renderers-CP8CFWDs-DH2oktaC.mjs} +2 -2
- package/dist/{renderers-CP8CFWDs-ywy4xljX.mjs.map → renderers-CP8CFWDs-DH2oktaC.mjs.map} +1 -1
- package/dist/signals/index.mjs +4 -4
- package/dist/{src-B0KFNjj4.mjs → src-DFEqficI.mjs} +445 -35
- package/dist/src-DFEqficI.mjs.map +1 -0
- package/package.json +67 -58
- package/dist/index-BwRrsP_V.d.mts.map +0 -1
- package/dist/index-UDDAfHAF.d.mts.map +0 -1
- package/dist/preview-engine/chunk-3U2A3RW4.mjs +0 -5
- package/dist/preview-engine/chunk-6E3JSPJN.mjs +0 -1
- package/dist/preview-engine/chunk-F4F2UDRX.mjs +0 -1
- package/dist/preview-engine/chunk-KFNVUGNN.mjs +0 -1974
- package/dist/preview-engine/chunk-PYSBWKIJ.mjs +0 -1
- package/dist/preview-engine/chunk-U2IFQMS3.mjs +0 -174
- package/dist/preview-engine/renderers-2GMY2ZNK.mjs +0 -1
- package/dist/preview-engine/renderers-2QJNKL7Q.mjs +0 -1
- package/dist/preview-engine/renderers-3OYU6O6F.mjs +0 -1
- package/dist/preview-engine/renderers-433Y2PCK.mjs +0 -1
- package/dist/preview-engine/renderers-4AGPGEL4.mjs +0 -1
- package/dist/preview-engine/renderers-54DBHGUW.mjs +0 -1
- package/dist/preview-engine/renderers-5M2O55U3.mjs +0 -1
- package/dist/preview-engine/renderers-6FVMDEAY.mjs +0 -1
- package/dist/preview-engine/renderers-6R7ZJ7DU.mjs +0 -1
- package/dist/preview-engine/renderers-75GCMFOD.mjs +0 -1
- package/dist/preview-engine/renderers-7LWLUCVQ.mjs +0 -1
- package/dist/preview-engine/renderers-BLDENIEV.mjs +0 -1
- package/dist/preview-engine/renderers-CDB3YK3R.mjs +0 -1
- package/dist/preview-engine/renderers-D6D4XDFY.mjs +0 -1
- package/dist/preview-engine/renderers-DJVFQZYU.mjs +0 -1
- package/dist/preview-engine/renderers-DMXSV7VO.mjs +0 -1
- package/dist/preview-engine/renderers-EBMASIOE.mjs +0 -1
- package/dist/preview-engine/renderers-F262HDFS.mjs +0 -1
- package/dist/preview-engine/renderers-FMXKIF22.mjs +0 -1
- package/dist/preview-engine/renderers-GJKSZ6DR.mjs +0 -1
- package/dist/preview-engine/renderers-GR3RLYDZ.mjs +0 -1
- package/dist/preview-engine/renderers-GT3W2QIA.mjs +0 -1
- package/dist/preview-engine/renderers-IHC7HUK3.mjs +0 -1
- package/dist/preview-engine/renderers-J56ZGEVM.mjs +0 -1
- package/dist/preview-engine/renderers-KYM6352U.mjs +0 -1
- package/dist/preview-engine/renderers-LFXX6TWI.mjs +0 -1
- package/dist/preview-engine/renderers-NAHUPFPU.mjs +0 -1
- package/dist/preview-engine/renderers-NM3FZLHH.mjs +0 -1
- package/dist/preview-engine/renderers-NNB4BTJA.mjs +0 -1
- package/dist/preview-engine/renderers-OYVQW6QI.mjs +0 -1
- package/dist/preview-engine/renderers-P5RIFU3C.mjs +0 -1
- package/dist/preview-engine/renderers-QB7HJUTS.mjs +0 -1
- package/dist/preview-engine/renderers-QRQVOCDC.mjs +0 -1
- package/dist/preview-engine/renderers-QVFHJTZA.mjs +0 -1
- package/dist/preview-engine/renderers-R3WQIE4L.mjs +0 -1
- package/dist/preview-engine/renderers-SQBVOLG7.mjs +0 -1
- package/dist/preview-engine/renderers-TLXMYEDI.mjs +0 -1
- package/dist/preview-engine/renderers-X4S3WELJ.mjs +0 -1
- package/dist/preview-engine/renderers-XT7U25I7.mjs +0 -1
- package/dist/preview-engine/renderers-XVGLMBB3.mjs +0 -1
- package/dist/preview-engine/renderers-YUWU3TQZ.mjs +0 -1
- package/dist/preview-engine/renderers-ZNUD5OVO.mjs +0 -1
- package/dist/renderer-01zxT4CK.mjs +0 -5
- package/dist/renderer-35LHkj36.mjs +0 -5
- package/dist/renderer-B0OIdCGj.mjs +0 -5
- package/dist/renderer-B3IPtkK9.mjs +0 -5
- package/dist/renderer-BD25uND8.mjs.map +0 -1
- package/dist/renderer-BMC39abo.mjs +0 -5
- package/dist/renderer-BQj3nlAI.mjs +0 -5
- package/dist/renderer-BnBvSmp_.mjs +0 -5
- package/dist/renderer-BsDSpTpL.mjs +0 -5
- package/dist/renderer-BtW6_gvE.mjs +0 -5
- package/dist/renderer-By8U44Rt.mjs +0 -5
- package/dist/renderer-C3lDmxuX.mjs +0 -5
- package/dist/renderer-C6SZAE_x.mjs +0 -5
- package/dist/renderer-CA3IVeZj.mjs +0 -5
- package/dist/renderer-CFoCH_mO.mjs +0 -5
- package/dist/renderer-CLhZqJF8.mjs +0 -6
- package/dist/renderer-CYJXQS8E.mjs +0 -5
- package/dist/renderer-C_vj6_WJ.mjs +0 -5
- package/dist/renderer-CeqfC6OR.mjs +0 -5
- package/dist/renderer-CkZCGMAc.mjs +0 -5
- package/dist/renderer-Clxju1r9.mjs +0 -5
- package/dist/renderer-Cvz22ZSh.mjs +0 -3
- package/dist/renderer-CyWtKBF7.mjs +0 -5
- package/dist/renderer-D27STGoB.mjs +0 -5
- package/dist/renderer-D78Aq9YK.mjs +0 -5
- package/dist/renderer-DHEffABL.mjs +0 -5
- package/dist/renderer-DUuNCgzW.mjs +0 -5
- package/dist/renderer-DVD5pzRq.mjs +0 -5
- package/dist/renderer-Dsp6xDw5.mjs +0 -5
- package/dist/renderer-DuC-BFXR.mjs +0 -5
- package/dist/renderer-DuWs_Wsv.mjs +0 -5
- package/dist/renderer-OSgsiIrW.mjs +0 -5
- package/dist/renderer-OZaMFYtZ.mjs +0 -5
- package/dist/renderer-T79TmHET.mjs +0 -5
- package/dist/renderer-UhsC9oTU.mjs +0 -5
- package/dist/renderer-WYZV1jWf.mjs +0 -5
- package/dist/renderer-Y7evDjHH.mjs +0 -5
- package/dist/renderer-mcePkmUe.mjs +0 -5
- package/dist/src-B0KFNjj4.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-Gw1ICOJ3.mjs","names":[],"sources":["../../../nodes/node-camera-parallax-3d/dist/renderers-3w0EgvnV.mjs"],"sourcesContent":["import { defineRenderer } from \"@framefields/node-sdk/renderer\";\nimport { resolveSignalField } from \"@framefields/node-sdk\";\nimport { FULLSCREEN_QUAD_WGSL, createFullscreenPipeline, drawChildToTexture, drawFullscreenPass, drawTextureToTarget, fragmentBindGroupLayout, perDevice, texturesLayout } from \"@framefields/node-sdk/gpu\";\nimport { signalRegistry } from \"@framefields/webgpu-renderers\";\n\n//#region src/renderers/webgpu-renderer.ts\nconst CAMERA_PARALLAX_SHADER = `\nstruct CameraParallaxUniforms {\n // vec4 0\n motionPreset : f32, // 0=Custom, 1=DollyZoom, 2=Orbit, 3=FlyThrough, 4=HandheldShake, 5=RackFocus\n panX : f32,\n panY : f32,\n dollyZ : f32,\n\n // vec4 1\n fov : f32,\n parallaxAmount : f32,\n dofAperture : f32,\n focusPlane : f32,\n\n // vec4 2\n edgeDilation : f32,\n depthInvert : f32,\n hasDepthMap : f32,\n timeProgress : f32, // normalized 0.0 - 1.0 (or continuous)\n\n // vec4 3\n aspect : f32,\n _pad1 : f32,\n _pad2 : f32,\n _pad3 : f32,\n\n // vec4 4: signal flags\n hasSigPanX : f32,\n hasSigPanY : f32,\n hasSigDollyZ : f32,\n hasSigFocusPlane : f32,\n\n // vec4 5: signal flags\n hasSigParallax : f32,\n hasSigAperture : f32,\n hasSigFOV : f32,\n hasSigEdgeDilation : f32,\n};\n\n@group(0) @binding(0) var<uniform> u : CameraParallaxUniforms;\n\n@group(1) @binding(0) var srcTex : texture_2d<f32>;\n@group(1) @binding(1) var srcSamp : sampler;\n\n@group(2) @binding(0) var depthTex : texture_2d<f32>;\n@group(2) @binding(1) var depthSamp : sampler;\n\n@group(3) @binding(0) var panXSigTex : texture_2d<f32>;\n@group(3) @binding(1) var panYSigTex : texture_2d<f32>;\n@group(3) @binding(2) var dollyZSigTex : texture_2d<f32>;\n@group(3) @binding(3) var focusPlaneSigTex : texture_2d<f32>;\n@group(3) @binding(4) var parallaxSigTex : texture_2d<f32>;\n@group(3) @binding(5) var apertureSigTex : texture_2d<f32>;\n@group(3) @binding(6) var fovSigTex : texture_2d<f32>;\n@group(3) @binding(7) var edgeDilationSigTex : texture_2d<f32>;\n@group(3) @binding(8) var sigSamp : sampler;\n${FULLSCREEN_QUAD_WGSL}\n\nfn sampleDepth(uv: vec2<f32>) -> f32 {\n let clampedUV = clamp(uv, vec2<f32>(0.0), vec2<f32>(1.0));\n var raw: f32 = 0.0;\n if (u.hasDepthMap > 0.5) {\n let dSample = textureSampleLevel(depthTex, depthSamp, clampedUV, 0.0);\n raw = dot(dSample.rgb, vec3<f32>(0.299, 0.587, 0.114));\n } else {\n let c = textureSampleLevel(srcTex, srcSamp, clampedUV, 0.0);\n raw = dot(c.rgb, vec3<f32>(0.299, 0.587, 0.114));\n }\n if (u.depthInvert > 0.5) {\n raw = 1.0 - raw;\n }\n return clamp(raw, 0.0, 1.0);\n}\n\nfn sampleAlbedo(uv: vec2<f32>) -> vec4<f32> {\n if (uv.x >= 0.0 && uv.x <= 1.0 && uv.y >= 0.0 && uv.y <= 1.0) {\n return textureSampleLevel(srcTex, srcSamp, uv, 0.0);\n }\n // Mirror with subtle fade for border inpainting\n let mirroredUV = abs(fract(uv * 0.5 + 0.5) * 2.0 - 1.0);\n let clampedUV = clamp(mirroredUV, vec2<f32>(0.001), vec2<f32>(0.999));\n return textureSampleLevel(srcTex, srcSamp, clampedUV, 0.0);\n}\n\n@fragment fn fs(in: VSOut) -> @location(0) vec4<f32> {\n let dims = vec2<f32>(textureDimensions(srcTex));\n let texelSize = vec2<f32>(1.0 / dims.x, 1.0 / dims.y);\n let aspect = select(u.aspect, dims.x / max(1.0, dims.y), u.aspect <= 0.0);\n\n // Resolve signals\n var panX = u.panX;\n if (u.hasSigPanX > 0.5) {\n panX = textureSampleLevel(panXSigTex, sigSamp, in.uv, 0.0).r;\n }\n\n var panY = u.panY;\n if (u.hasSigPanY > 0.5) {\n panY = textureSampleLevel(panYSigTex, sigSamp, in.uv, 0.0).r;\n }\n\n var dollyZ = u.dollyZ;\n if (u.hasSigDollyZ > 0.5) {\n dollyZ = textureSampleLevel(dollyZSigTex, sigSamp, in.uv, 0.0).r;\n }\n\n var focusPlane = u.focusPlane;\n if (u.hasSigFocusPlane > 0.5) {\n focusPlane = clamp(textureSampleLevel(focusPlaneSigTex, sigSamp, in.uv, 0.0).r, 0.0, 1.0);\n }\n\n var parallaxAmount = u.parallaxAmount;\n if (u.hasSigParallax > 0.5) {\n parallaxAmount = max(0.0, textureSampleLevel(parallaxSigTex, sigSamp, in.uv, 0.0).r);\n }\n\n var dofAperture = u.dofAperture;\n if (u.hasSigAperture > 0.5) {\n dofAperture = clamp(textureSampleLevel(apertureSigTex, sigSamp, in.uv, 0.0).r, 0.0, 1.0);\n }\n\n var fov = u.fov;\n if (u.hasSigFOV > 0.5) {\n fov = clamp(textureSampleLevel(fovSigTex, sigSamp, in.uv, 0.0).r, 15.0, 120.0);\n }\n\n var edgeDilation = u.edgeDilation;\n if (u.hasSigEdgeDilation > 0.5) {\n edgeDilation = clamp(textureSampleLevel(edgeDilationSigTex, sigSamp, in.uv, 0.0).r, 0.0, 1.0);\n }\n\n // Motion Presets Computation\n let t = u.timeProgress;\n let twoPi = 6.2831853;\n let pi = 3.14159265;\n\n var motionPanX: f32 = 0.0;\n var motionPanY: f32 = 0.0;\n var motionDollyZ: f32 = 0.0;\n var motionFocus: f32 = 0.0;\n\n let preset = u.motionPreset;\n\n if (preset > 0.5 && preset < 1.5) {\n // DollyZoom (Vertigo effect)\n let s = sin(t * pi);\n motionDollyZ = (s * 2.0 - 1.0) * 0.45;\n motionPanX = sin(t * twoPi) * 0.06;\n motionPanY = cos(t * twoPi) * 0.03;\n } else if (preset > 1.5 && preset < 2.5) {\n // Orbit\n let angle = t * twoPi;\n motionPanX = cos(angle) * 0.32;\n motionPanY = sin(angle) * 0.18;\n motionDollyZ = sin(angle * 2.0) * 0.12;\n } else if (preset > 2.5 && preset < 3.5) {\n // FlyThrough\n let phase = sin(t * pi);\n motionDollyZ = phase * 0.65;\n motionPanX = sin(t * twoPi) * 0.12;\n motionPanY = cos(t * pi) * 0.08;\n motionFocus = (phase - 0.5) * 0.6;\n } else if (preset > 3.5 && preset < 4.5) {\n // HandheldShake\n motionPanX = (sin(t * twoPi * 1.6) * 0.06 + sin(t * twoPi * 3.7) * 0.03);\n motionPanY = (cos(t * twoPi * 1.3) * 0.05 + sin(t * twoPi * 4.2) * 0.025);\n motionDollyZ = sin(t * twoPi * 0.8) * 0.04;\n } else if (preset > 4.5) {\n // RackFocus\n let focusWave = sin(t * pi);\n motionFocus = (focusWave - 0.5) * 0.8;\n motionPanX = sin(t * twoPi) * 0.04;\n motionPanY = cos(t * twoPi) * 0.02;\n motionDollyZ = sin(t * pi) * 0.06;\n }\n\n // Cumulative camera parameters\n let effectivePanX = clamp(panX + motionPanX, -1.0, 1.0);\n let effectivePanY = clamp(panY + motionPanY, -1.0, 1.0);\n let effectiveDollyZ = clamp(dollyZ + motionDollyZ, -1.0, 1.0);\n let effectiveFocusPlane = clamp(focusPlane + motionFocus, 0.0, 1.0);\n\n // FOV & perspective distortion factor\n let fovRad = (fov * pi) / 180.0;\n let fovScale = tan(fovRad * 0.5) / tan(50.0 * pi / 360.0);\n\n // 3D Camera Raymarch Offset\n let camOffset = vec2<f32>(effectivePanX * aspect, -effectivePanY) * (parallaxAmount * 0.15 * fovScale);\n let zoomFactor = max(0.5, 1.0 + effectiveDollyZ * 0.4);\n\n let centeredUV = (in.uv - 0.5) / zoomFactor + 0.5;\n\n // Steep Relief Raymarching (16 linear steps + 4 binary refinement steps)\n let numSteps = 16.0;\n let stepSize = 1.0 / numSteps;\n var currentRayZ: f32 = 1.0;\n var currentUV = centeredUV;\n var lastUV = centeredUV;\n var lastRayZ: f32 = 1.0;\n var lastDepth: f32 = sampleDepth(centeredUV);\n var foundHit = false;\n\n for (var i = 0; i < 16; i = i + 1) {\n let sampleUV = centeredUV + camOffset * (currentRayZ - effectiveFocusPlane);\n let sceneDepth = sampleDepth(sampleUV);\n\n if (sceneDepth >= currentRayZ) {\n foundHit = true;\n lastUV = sampleUV;\n break;\n }\n\n lastRayZ = currentRayZ;\n lastDepth = sceneDepth;\n currentRayZ = currentRayZ - stepSize;\n }\n\n // Binary refinement search for sub-pixel surface accuracy\n var hitUV = lastUV;\n var hitDepth = lastDepth;\n var minZ = currentRayZ;\n var maxZ = lastRayZ;\n\n for (var b = 0; b < 4; b = b + 1) {\n let midZ = (minZ + maxZ) * 0.5;\n let testUV = centeredUV + camOffset * (midZ - effectiveFocusPlane);\n let testDepth = sampleDepth(testUV);\n if (testDepth >= midZ) {\n minZ = midZ;\n hitUV = testUV;\n hitDepth = testDepth;\n } else {\n maxZ = midZ;\n }\n }\n\n // Edge inpainting / dilation clamping\n var finalUV = hitUV;\n if (hitUV.x < 0.0 || hitUV.x > 1.0 || hitUV.y < 0.0 || hitUV.y > 1.0) {\n let clampedBorderUV = clamp(hitUV, vec2<f32>(0.0), vec2<f32>(1.0));\n finalUV = mix(hitUV, clampedBorderUV, edgeDilation);\n }\n\n // Circle of Confusion (Physical Bokeh Blur)\n let coc = abs(hitDepth - effectiveFocusPlane) * dofAperture * 0.04;\n\n if (coc < 0.0008) {\n return sampleAlbedo(finalUV);\n }\n\n // Multi-tap Golden Spiral Bokeh Disk Blur (16 taps)\n var accumColor = vec4<f32>(0.0);\n var totalWeight: f32 = 0.0;\n let goldenAngle = 2.39996323;\n\n for (var tap = 0; tap < 16; tap = tap + 1) {\n let fTap = f32(tap);\n let r = sqrt((fTap + 0.5) / 16.0);\n let theta = fTap * goldenAngle;\n let offset = vec2<f32>(cos(theta), sin(theta) * aspect) * (r * coc);\n\n let tapUV = finalUV + offset;\n let tapColor = sampleAlbedo(tapUV);\n let tapDepth = sampleDepth(tapUV);\n\n // Bokeh depth weighting: prevents foreground blur from bleeding into background\n let depthDelta = tapDepth - hitDepth;\n let bokehWeight = select(1.0, smoothstep(-0.08, 0.04, depthDelta), depthDelta < 0.0) / (1.0 + r * r * 0.5);\n\n accumColor = accumColor + tapColor * bokehWeight;\n totalWeight = totalWeight + bokehWeight;\n }\n\n let finalColor = accumColor / max(totalWeight, 0.0001);\n return vec4<f32>(clamp(finalColor.rgb, vec3<f32>(0.0), vec3<f32>(1.0)), finalColor.a);\n}\n`;\nconst getDeviceLayouts = perDevice((device) => ({\n\tuniformLayout: fragmentBindGroupLayout(device, [\"uniform\"]),\n\tsrcTextureLayout: fragmentBindGroupLayout(device, [\"texture\", \"sampler\"]),\n\tdepthTextureLayout: fragmentBindGroupLayout(device, [\"texture\", \"sampler\"]),\n\tsignalTextureLayout: texturesLayout(device, 8),\n\tpipelineCache: /* @__PURE__ */ new Map()\n}));\nfunction getCameraParallaxResources(device, format) {\n\tconst layouts = getDeviceLayouts(device);\n\tconst cacheKey = `camera_parallax_${format}`;\n\tlet pipeline = layouts.pipelineCache.get(cacheKey);\n\tif (!pipeline) {\n\t\tconst module = device.createShaderModule({\n\t\t\tlabel: `camera_parallax_${format}.wgsl`,\n\t\t\tcode: CAMERA_PARALLAX_SHADER\n\t\t});\n\t\tpipeline = createFullscreenPipeline(device, {\n\t\t\tlabel: `CameraParallaxPipeline_${format}`,\n\t\t\tmodule,\n\t\t\tlayouts: [\n\t\t\t\tlayouts.uniformLayout,\n\t\t\t\tlayouts.srcTextureLayout,\n\t\t\t\tlayouts.depthTextureLayout,\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\tpipeline,\n\t\tuniformLayout: layouts.uniformLayout,\n\t\tsrcTextureLayout: layouts.srcTextureLayout,\n\t\tdepthTextureLayout: layouts.depthTextureLayout,\n\t\tsignalTextureLayout: layouts.signalTextureLayout\n\t};\n}\nconst CameraParallax3DWebGPURenderer = 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 || 60;\n\tconst op = props.virtualMedia?.operation;\n\tif (op?.op !== \"CameraParallax3D\" || !op) return;\n\tconst sourceMedia = props.virtualMedia.children?.[0];\n\tif (!sourceMedia) return;\n\tpass.end();\n\tconst width = targetWidth;\n\tconst height = targetHeight;\n\tconst { texture: srcTex } = await drawChildToTexture(args, sourceMedia, { props: {\n\t\t...props,\n\t\tvirtualMedia: sourceMedia,\n\t\tcontainerWidth: width,\n\t\tcontainerHeight: height\n\t} });\n\targs.pass.end();\n\tconst depthMedia = op.depthMedia;\n\tlet depthTex;\n\tlet hasDepthMap = false;\n\tif (depthMedia) {\n\t\t({texture: depthTex} = await drawChildToTexture(args, depthMedia, {\n\t\t\tprops: {\n\t\t\t\t...props,\n\t\t\t\tvirtualMedia: depthMedia,\n\t\t\t\tcontainerWidth: width,\n\t\t\t\tcontainerHeight: height\n\t\t\t},\n\t\t\texclude: [srcTex]\n\t\t}));\n\t\targs.pass.end();\n\t\thasDepthMap = true;\n\t} else {\n\t\tdepthTex = srcTex;\n\t\thasDepthMap = false;\n\t}\n\tconst { pipeline, uniformLayout: uLayout, srcTextureLayout: srcLayout, depthTextureLayout: depthLayout, signalTextureLayout: sigLayout } = getCameraParallaxResources(ctx.device, ctx.renderer.format);\n\tconst sampler = ctx.renderer.samplerCache.getSampler(ctx.device);\n\tconst elapsedSeconds = props.elapsedMs !== void 0 ? props.elapsedMs / 1e3 : compositionFrame / fps;\n\tconst durationSeconds = props.virtualMedia?.metadata?.durationMs ? props.virtualMedia.metadata.durationMs / 1e3 : props.durationMs !== void 0 ? props.durationMs / 1e3 : 4;\n\tconst timeProgress = durationSeconds > 0 ? elapsedSeconds % durationSeconds / durationSeconds : 0;\n\tconst panXInfo = resolveSignalField(op, \"panX\", 0, -1, 1);\n\tconst panYInfo = resolveSignalField(op, \"panY\", 0, -1, 1);\n\tconst dollyZInfo = resolveSignalField(op, \"dollyZ\", 0, -1, 1);\n\tconst fovInfo = resolveSignalField(op, \"fov\", 50, 15, 120);\n\tconst parallaxInfo = resolveSignalField(op, \"parallaxAmount\", .6, 0, 2);\n\tconst apertureInfo = resolveSignalField(op, \"dofAperture\", .3, 0, 1);\n\tconst focusPlaneInfo = resolveSignalField(op, \"focusPlane\", .4, 0, 1);\n\tconst edgeDilationInfo = resolveSignalField(op, \"edgeDilation\", .5, 0, 1);\n\tconst getSigTextureView = (info, fallbackId) => {\n\t\tif (info.hasSignal && info.sd) return signalRegistry.getOrCreate2DTextureView(ctx.device, encoder, info.sd.nodeId ?? fallbackId, elapsedSeconds, durationSeconds, info.sd, width, height, props.renderId, frame, fps);\n\t\treturn signalRegistry.getDummy1x1TextureView(ctx.device);\n\t};\n\tconst sigPanXView = getSigTextureView(panXInfo, \"cam_panx_sig\");\n\tconst sigPanYView = getSigTextureView(panYInfo, \"cam_pany_sig\");\n\tconst sigDollyZView = getSigTextureView(dollyZInfo, \"cam_dollyz_sig\");\n\tconst sigFocusPlaneView = getSigTextureView(focusPlaneInfo, \"cam_focus_sig\");\n\tconst sigParallaxView = getSigTextureView(parallaxInfo, \"cam_plax_sig\");\n\tconst sigApertureView = getSigTextureView(apertureInfo, \"cam_ap_sig\");\n\tconst sigFOVView = getSigTextureView(fovInfo, \"cam_fov_sig\");\n\tconst sigEdgeDilationView = getSigTextureView(edgeDilationInfo, \"cam_edge_sig\");\n\tconst uniformData = new Float32Array(24);\n\tuniformData[0] = op.motionPreset === \"DollyZoom\" ? 1 : op.motionPreset === \"Orbit\" ? 2 : op.motionPreset === \"FlyThrough\" ? 3 : op.motionPreset === \"HandheldShake\" ? 4 : op.motionPreset === \"RackFocus\" ? 5 : 0;\n\tuniformData[1] = panXInfo.value;\n\tuniformData[2] = panYInfo.value;\n\tuniformData[3] = dollyZInfo.value;\n\tuniformData[4] = fovInfo.value;\n\tuniformData[5] = parallaxInfo.value;\n\tuniformData[6] = apertureInfo.value;\n\tuniformData[7] = focusPlaneInfo.value;\n\tuniformData[8] = edgeDilationInfo.value;\n\tuniformData[9] = op.depthInvert ? 1 : 0;\n\tuniformData[10] = hasDepthMap ? 1 : 0;\n\tuniformData[11] = timeProgress;\n\tuniformData[12] = width / Math.max(1, height);\n\tuniformData[13] = 0;\n\tuniformData[14] = 0;\n\tuniformData[15] = 0;\n\tuniformData[16] = panXInfo.hasSignal ? 1 : 0;\n\tuniformData[17] = panYInfo.hasSignal ? 1 : 0;\n\tuniformData[18] = dollyZInfo.hasSignal ? 1 : 0;\n\tuniformData[19] = focusPlaneInfo.hasSignal ? 1 : 0;\n\tuniformData[20] = parallaxInfo.hasSignal ? 1 : 0;\n\tuniformData[21] = apertureInfo.hasSignal ? 1 : 0;\n\tuniformData[22] = fovInfo.hasSignal ? 1 : 0;\n\tuniformData[23] = edgeDilationInfo.hasSignal ? 1 : 0;\n\tconst uniformBuffer = ctx.renderer.getTemporaryBuffer(uniformData);\n\tconst outTex = ctx.renderer.getTemporaryTexture(width, height, [\n\t\tsrcTex,\n\t\tdepthTex,\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, srcLayout, srcTex, sampler),\n\t\tctx.renderer.bindGroupCache.getBindGroup(ctx.device, depthLayout, depthTex, 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: sigPanXView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 1,\n\t\t\t\t\tresource: sigPanYView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 2,\n\t\t\t\t\tresource: sigDollyZView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 3,\n\t\t\t\t\tresource: sigFocusPlaneView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 4,\n\t\t\t\t\tresource: sigParallaxView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 5,\n\t\t\t\t\tresource: sigApertureView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 6,\n\t\t\t\t\tresource: sigFOVView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 7,\n\t\t\t\t\tresource: sigEdgeDilationView\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, op.opacity ?? 1);\n};\n\n//#endregion\n//#region src/renderers/index.ts\nvar renderers_default = defineRenderer({ WebGPURenderer: CameraParallax3DWebGPURenderer });\n\n//#endregion\nexport { renderers_default as t };\n//# sourceMappingURL=renderers-3w0EgvnV.mjs.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"renderer-DNQvOrkY.mjs","names":[],"sources":["../../../nodes/node-camera-parallax-3d/dist/renderers-3w0EgvnV.mjs"],"sourcesContent":["import { defineRenderer } from \"@framefields/node-sdk/renderer\";\nimport { resolveSignalField } from \"@framefields/node-sdk\";\nimport { FULLSCREEN_QUAD_WGSL, createFullscreenPipeline, drawChildToTexture, drawFullscreenPass, drawTextureToTarget, fragmentBindGroupLayout, perDevice, texturesLayout } from \"@framefields/node-sdk/gpu\";\nimport { signalRegistry } from \"@framefields/webgpu-renderers\";\n\n//#region src/renderers/webgpu-renderer.ts\nconst CAMERA_PARALLAX_SHADER = `\nstruct CameraParallaxUniforms {\n // vec4 0\n motionPreset : f32, // 0=Custom, 1=DollyZoom, 2=Orbit, 3=FlyThrough, 4=HandheldShake, 5=RackFocus\n panX : f32,\n panY : f32,\n dollyZ : f32,\n\n // vec4 1\n fov : f32,\n parallaxAmount : f32,\n dofAperture : f32,\n focusPlane : f32,\n\n // vec4 2\n edgeDilation : f32,\n depthInvert : f32,\n hasDepthMap : f32,\n timeProgress : f32, // normalized 0.0 - 1.0 (or continuous)\n\n // vec4 3\n aspect : f32,\n _pad1 : f32,\n _pad2 : f32,\n _pad3 : f32,\n\n // vec4 4: signal flags\n hasSigPanX : f32,\n hasSigPanY : f32,\n hasSigDollyZ : f32,\n hasSigFocusPlane : f32,\n\n // vec4 5: signal flags\n hasSigParallax : f32,\n hasSigAperture : f32,\n hasSigFOV : f32,\n hasSigEdgeDilation : f32,\n};\n\n@group(0) @binding(0) var<uniform> u : CameraParallaxUniforms;\n\n@group(1) @binding(0) var srcTex : texture_2d<f32>;\n@group(1) @binding(1) var srcSamp : sampler;\n\n@group(2) @binding(0) var depthTex : texture_2d<f32>;\n@group(2) @binding(1) var depthSamp : sampler;\n\n@group(3) @binding(0) var panXSigTex : texture_2d<f32>;\n@group(3) @binding(1) var panYSigTex : texture_2d<f32>;\n@group(3) @binding(2) var dollyZSigTex : texture_2d<f32>;\n@group(3) @binding(3) var focusPlaneSigTex : texture_2d<f32>;\n@group(3) @binding(4) var parallaxSigTex : texture_2d<f32>;\n@group(3) @binding(5) var apertureSigTex : texture_2d<f32>;\n@group(3) @binding(6) var fovSigTex : texture_2d<f32>;\n@group(3) @binding(7) var edgeDilationSigTex : texture_2d<f32>;\n@group(3) @binding(8) var sigSamp : sampler;\n${FULLSCREEN_QUAD_WGSL}\n\nfn sampleDepth(uv: vec2<f32>) -> f32 {\n let clampedUV = clamp(uv, vec2<f32>(0.0), vec2<f32>(1.0));\n var raw: f32 = 0.0;\n if (u.hasDepthMap > 0.5) {\n let dSample = textureSampleLevel(depthTex, depthSamp, clampedUV, 0.0);\n raw = dot(dSample.rgb, vec3<f32>(0.299, 0.587, 0.114));\n } else {\n let c = textureSampleLevel(srcTex, srcSamp, clampedUV, 0.0);\n raw = dot(c.rgb, vec3<f32>(0.299, 0.587, 0.114));\n }\n if (u.depthInvert > 0.5) {\n raw = 1.0 - raw;\n }\n return clamp(raw, 0.0, 1.0);\n}\n\nfn sampleAlbedo(uv: vec2<f32>) -> vec4<f32> {\n if (uv.x >= 0.0 && uv.x <= 1.0 && uv.y >= 0.0 && uv.y <= 1.0) {\n return textureSampleLevel(srcTex, srcSamp, uv, 0.0);\n }\n // Mirror with subtle fade for border inpainting\n let mirroredUV = abs(fract(uv * 0.5 + 0.5) * 2.0 - 1.0);\n let clampedUV = clamp(mirroredUV, vec2<f32>(0.001), vec2<f32>(0.999));\n return textureSampleLevel(srcTex, srcSamp, clampedUV, 0.0);\n}\n\n@fragment fn fs(in: VSOut) -> @location(0) vec4<f32> {\n let dims = vec2<f32>(textureDimensions(srcTex));\n let texelSize = vec2<f32>(1.0 / dims.x, 1.0 / dims.y);\n let aspect = select(u.aspect, dims.x / max(1.0, dims.y), u.aspect <= 0.0);\n\n // Resolve signals\n var panX = u.panX;\n if (u.hasSigPanX > 0.5) {\n panX = textureSampleLevel(panXSigTex, sigSamp, in.uv, 0.0).r;\n }\n\n var panY = u.panY;\n if (u.hasSigPanY > 0.5) {\n panY = textureSampleLevel(panYSigTex, sigSamp, in.uv, 0.0).r;\n }\n\n var dollyZ = u.dollyZ;\n if (u.hasSigDollyZ > 0.5) {\n dollyZ = textureSampleLevel(dollyZSigTex, sigSamp, in.uv, 0.0).r;\n }\n\n var focusPlane = u.focusPlane;\n if (u.hasSigFocusPlane > 0.5) {\n focusPlane = clamp(textureSampleLevel(focusPlaneSigTex, sigSamp, in.uv, 0.0).r, 0.0, 1.0);\n }\n\n var parallaxAmount = u.parallaxAmount;\n if (u.hasSigParallax > 0.5) {\n parallaxAmount = max(0.0, textureSampleLevel(parallaxSigTex, sigSamp, in.uv, 0.0).r);\n }\n\n var dofAperture = u.dofAperture;\n if (u.hasSigAperture > 0.5) {\n dofAperture = clamp(textureSampleLevel(apertureSigTex, sigSamp, in.uv, 0.0).r, 0.0, 1.0);\n }\n\n var fov = u.fov;\n if (u.hasSigFOV > 0.5) {\n fov = clamp(textureSampleLevel(fovSigTex, sigSamp, in.uv, 0.0).r, 15.0, 120.0);\n }\n\n var edgeDilation = u.edgeDilation;\n if (u.hasSigEdgeDilation > 0.5) {\n edgeDilation = clamp(textureSampleLevel(edgeDilationSigTex, sigSamp, in.uv, 0.0).r, 0.0, 1.0);\n }\n\n // Motion Presets Computation\n let t = u.timeProgress;\n let twoPi = 6.2831853;\n let pi = 3.14159265;\n\n var motionPanX: f32 = 0.0;\n var motionPanY: f32 = 0.0;\n var motionDollyZ: f32 = 0.0;\n var motionFocus: f32 = 0.0;\n\n let preset = u.motionPreset;\n\n if (preset > 0.5 && preset < 1.5) {\n // DollyZoom (Vertigo effect)\n let s = sin(t * pi);\n motionDollyZ = (s * 2.0 - 1.0) * 0.45;\n motionPanX = sin(t * twoPi) * 0.06;\n motionPanY = cos(t * twoPi) * 0.03;\n } else if (preset > 1.5 && preset < 2.5) {\n // Orbit\n let angle = t * twoPi;\n motionPanX = cos(angle) * 0.32;\n motionPanY = sin(angle) * 0.18;\n motionDollyZ = sin(angle * 2.0) * 0.12;\n } else if (preset > 2.5 && preset < 3.5) {\n // FlyThrough\n let phase = sin(t * pi);\n motionDollyZ = phase * 0.65;\n motionPanX = sin(t * twoPi) * 0.12;\n motionPanY = cos(t * pi) * 0.08;\n motionFocus = (phase - 0.5) * 0.6;\n } else if (preset > 3.5 && preset < 4.5) {\n // HandheldShake\n motionPanX = (sin(t * twoPi * 1.6) * 0.06 + sin(t * twoPi * 3.7) * 0.03);\n motionPanY = (cos(t * twoPi * 1.3) * 0.05 + sin(t * twoPi * 4.2) * 0.025);\n motionDollyZ = sin(t * twoPi * 0.8) * 0.04;\n } else if (preset > 4.5) {\n // RackFocus\n let focusWave = sin(t * pi);\n motionFocus = (focusWave - 0.5) * 0.8;\n motionPanX = sin(t * twoPi) * 0.04;\n motionPanY = cos(t * twoPi) * 0.02;\n motionDollyZ = sin(t * pi) * 0.06;\n }\n\n // Cumulative camera parameters\n let effectivePanX = clamp(panX + motionPanX, -1.0, 1.0);\n let effectivePanY = clamp(panY + motionPanY, -1.0, 1.0);\n let effectiveDollyZ = clamp(dollyZ + motionDollyZ, -1.0, 1.0);\n let effectiveFocusPlane = clamp(focusPlane + motionFocus, 0.0, 1.0);\n\n // FOV & perspective distortion factor\n let fovRad = (fov * pi) / 180.0;\n let fovScale = tan(fovRad * 0.5) / tan(50.0 * pi / 360.0);\n\n // 3D Camera Raymarch Offset\n let camOffset = vec2<f32>(effectivePanX * aspect, -effectivePanY) * (parallaxAmount * 0.15 * fovScale);\n let zoomFactor = max(0.5, 1.0 + effectiveDollyZ * 0.4);\n\n let centeredUV = (in.uv - 0.5) / zoomFactor + 0.5;\n\n // Steep Relief Raymarching (16 linear steps + 4 binary refinement steps)\n let numSteps = 16.0;\n let stepSize = 1.0 / numSteps;\n var currentRayZ: f32 = 1.0;\n var currentUV = centeredUV;\n var lastUV = centeredUV;\n var lastRayZ: f32 = 1.0;\n var lastDepth: f32 = sampleDepth(centeredUV);\n var foundHit = false;\n\n for (var i = 0; i < 16; i = i + 1) {\n let sampleUV = centeredUV + camOffset * (currentRayZ - effectiveFocusPlane);\n let sceneDepth = sampleDepth(sampleUV);\n\n if (sceneDepth >= currentRayZ) {\n foundHit = true;\n lastUV = sampleUV;\n break;\n }\n\n lastRayZ = currentRayZ;\n lastDepth = sceneDepth;\n currentRayZ = currentRayZ - stepSize;\n }\n\n // Binary refinement search for sub-pixel surface accuracy\n var hitUV = lastUV;\n var hitDepth = lastDepth;\n var minZ = currentRayZ;\n var maxZ = lastRayZ;\n\n for (var b = 0; b < 4; b = b + 1) {\n let midZ = (minZ + maxZ) * 0.5;\n let testUV = centeredUV + camOffset * (midZ - effectiveFocusPlane);\n let testDepth = sampleDepth(testUV);\n if (testDepth >= midZ) {\n minZ = midZ;\n hitUV = testUV;\n hitDepth = testDepth;\n } else {\n maxZ = midZ;\n }\n }\n\n // Edge inpainting / dilation clamping\n var finalUV = hitUV;\n if (hitUV.x < 0.0 || hitUV.x > 1.0 || hitUV.y < 0.0 || hitUV.y > 1.0) {\n let clampedBorderUV = clamp(hitUV, vec2<f32>(0.0), vec2<f32>(1.0));\n finalUV = mix(hitUV, clampedBorderUV, edgeDilation);\n }\n\n // Circle of Confusion (Physical Bokeh Blur)\n let coc = abs(hitDepth - effectiveFocusPlane) * dofAperture * 0.04;\n\n if (coc < 0.0008) {\n return sampleAlbedo(finalUV);\n }\n\n // Multi-tap Golden Spiral Bokeh Disk Blur (16 taps)\n var accumColor = vec4<f32>(0.0);\n var totalWeight: f32 = 0.0;\n let goldenAngle = 2.39996323;\n\n for (var tap = 0; tap < 16; tap = tap + 1) {\n let fTap = f32(tap);\n let r = sqrt((fTap + 0.5) / 16.0);\n let theta = fTap * goldenAngle;\n let offset = vec2<f32>(cos(theta), sin(theta) * aspect) * (r * coc);\n\n let tapUV = finalUV + offset;\n let tapColor = sampleAlbedo(tapUV);\n let tapDepth = sampleDepth(tapUV);\n\n // Bokeh depth weighting: prevents foreground blur from bleeding into background\n let depthDelta = tapDepth - hitDepth;\n let bokehWeight = select(1.0, smoothstep(-0.08, 0.04, depthDelta), depthDelta < 0.0) / (1.0 + r * r * 0.5);\n\n accumColor = accumColor + tapColor * bokehWeight;\n totalWeight = totalWeight + bokehWeight;\n }\n\n let finalColor = accumColor / max(totalWeight, 0.0001);\n return vec4<f32>(clamp(finalColor.rgb, vec3<f32>(0.0), vec3<f32>(1.0)), finalColor.a);\n}\n`;\nconst getDeviceLayouts = perDevice((device) => ({\n\tuniformLayout: fragmentBindGroupLayout(device, [\"uniform\"]),\n\tsrcTextureLayout: fragmentBindGroupLayout(device, [\"texture\", \"sampler\"]),\n\tdepthTextureLayout: fragmentBindGroupLayout(device, [\"texture\", \"sampler\"]),\n\tsignalTextureLayout: texturesLayout(device, 8),\n\tpipelineCache: /* @__PURE__ */ new Map()\n}));\nfunction getCameraParallaxResources(device, format) {\n\tconst layouts = getDeviceLayouts(device);\n\tconst cacheKey = `camera_parallax_${format}`;\n\tlet pipeline = layouts.pipelineCache.get(cacheKey);\n\tif (!pipeline) {\n\t\tconst module = device.createShaderModule({\n\t\t\tlabel: `camera_parallax_${format}.wgsl`,\n\t\t\tcode: CAMERA_PARALLAX_SHADER\n\t\t});\n\t\tpipeline = createFullscreenPipeline(device, {\n\t\t\tlabel: `CameraParallaxPipeline_${format}`,\n\t\t\tmodule,\n\t\t\tlayouts: [\n\t\t\t\tlayouts.uniformLayout,\n\t\t\t\tlayouts.srcTextureLayout,\n\t\t\t\tlayouts.depthTextureLayout,\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\tpipeline,\n\t\tuniformLayout: layouts.uniformLayout,\n\t\tsrcTextureLayout: layouts.srcTextureLayout,\n\t\tdepthTextureLayout: layouts.depthTextureLayout,\n\t\tsignalTextureLayout: layouts.signalTextureLayout\n\t};\n}\nconst CameraParallax3DWebGPURenderer = 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 || 60;\n\tconst op = props.virtualMedia?.operation;\n\tif (op?.op !== \"CameraParallax3D\" || !op) return;\n\tconst sourceMedia = props.virtualMedia.children?.[0];\n\tif (!sourceMedia) return;\n\tpass.end();\n\tconst width = targetWidth;\n\tconst height = targetHeight;\n\tconst { texture: srcTex } = await drawChildToTexture(args, sourceMedia, { props: {\n\t\t...props,\n\t\tvirtualMedia: sourceMedia,\n\t\tcontainerWidth: width,\n\t\tcontainerHeight: height\n\t} });\n\targs.pass.end();\n\tconst depthMedia = op.depthMedia;\n\tlet depthTex;\n\tlet hasDepthMap = false;\n\tif (depthMedia) {\n\t\t({texture: depthTex} = await drawChildToTexture(args, depthMedia, {\n\t\t\tprops: {\n\t\t\t\t...props,\n\t\t\t\tvirtualMedia: depthMedia,\n\t\t\t\tcontainerWidth: width,\n\t\t\t\tcontainerHeight: height\n\t\t\t},\n\t\t\texclude: [srcTex]\n\t\t}));\n\t\targs.pass.end();\n\t\thasDepthMap = true;\n\t} else {\n\t\tdepthTex = srcTex;\n\t\thasDepthMap = false;\n\t}\n\tconst { pipeline, uniformLayout: uLayout, srcTextureLayout: srcLayout, depthTextureLayout: depthLayout, signalTextureLayout: sigLayout } = getCameraParallaxResources(ctx.device, ctx.renderer.format);\n\tconst sampler = ctx.renderer.samplerCache.getSampler(ctx.device);\n\tconst elapsedSeconds = props.elapsedMs !== void 0 ? props.elapsedMs / 1e3 : compositionFrame / fps;\n\tconst durationSeconds = props.virtualMedia?.metadata?.durationMs ? props.virtualMedia.metadata.durationMs / 1e3 : props.durationMs !== void 0 ? props.durationMs / 1e3 : 4;\n\tconst timeProgress = durationSeconds > 0 ? elapsedSeconds % durationSeconds / durationSeconds : 0;\n\tconst panXInfo = resolveSignalField(op, \"panX\", 0, -1, 1);\n\tconst panYInfo = resolveSignalField(op, \"panY\", 0, -1, 1);\n\tconst dollyZInfo = resolveSignalField(op, \"dollyZ\", 0, -1, 1);\n\tconst fovInfo = resolveSignalField(op, \"fov\", 50, 15, 120);\n\tconst parallaxInfo = resolveSignalField(op, \"parallaxAmount\", .6, 0, 2);\n\tconst apertureInfo = resolveSignalField(op, \"dofAperture\", .3, 0, 1);\n\tconst focusPlaneInfo = resolveSignalField(op, \"focusPlane\", .4, 0, 1);\n\tconst edgeDilationInfo = resolveSignalField(op, \"edgeDilation\", .5, 0, 1);\n\tconst getSigTextureView = (info, fallbackId) => {\n\t\tif (info.hasSignal && info.sd) return signalRegistry.getOrCreate2DTextureView(ctx.device, encoder, info.sd.nodeId ?? fallbackId, elapsedSeconds, durationSeconds, info.sd, width, height, props.renderId, frame, fps);\n\t\treturn signalRegistry.getDummy1x1TextureView(ctx.device);\n\t};\n\tconst sigPanXView = getSigTextureView(panXInfo, \"cam_panx_sig\");\n\tconst sigPanYView = getSigTextureView(panYInfo, \"cam_pany_sig\");\n\tconst sigDollyZView = getSigTextureView(dollyZInfo, \"cam_dollyz_sig\");\n\tconst sigFocusPlaneView = getSigTextureView(focusPlaneInfo, \"cam_focus_sig\");\n\tconst sigParallaxView = getSigTextureView(parallaxInfo, \"cam_plax_sig\");\n\tconst sigApertureView = getSigTextureView(apertureInfo, \"cam_ap_sig\");\n\tconst sigFOVView = getSigTextureView(fovInfo, \"cam_fov_sig\");\n\tconst sigEdgeDilationView = getSigTextureView(edgeDilationInfo, \"cam_edge_sig\");\n\tconst uniformData = new Float32Array(24);\n\tuniformData[0] = op.motionPreset === \"DollyZoom\" ? 1 : op.motionPreset === \"Orbit\" ? 2 : op.motionPreset === \"FlyThrough\" ? 3 : op.motionPreset === \"HandheldShake\" ? 4 : op.motionPreset === \"RackFocus\" ? 5 : 0;\n\tuniformData[1] = panXInfo.value;\n\tuniformData[2] = panYInfo.value;\n\tuniformData[3] = dollyZInfo.value;\n\tuniformData[4] = fovInfo.value;\n\tuniformData[5] = parallaxInfo.value;\n\tuniformData[6] = apertureInfo.value;\n\tuniformData[7] = focusPlaneInfo.value;\n\tuniformData[8] = edgeDilationInfo.value;\n\tuniformData[9] = op.depthInvert ? 1 : 0;\n\tuniformData[10] = hasDepthMap ? 1 : 0;\n\tuniformData[11] = timeProgress;\n\tuniformData[12] = width / Math.max(1, height);\n\tuniformData[13] = 0;\n\tuniformData[14] = 0;\n\tuniformData[15] = 0;\n\tuniformData[16] = panXInfo.hasSignal ? 1 : 0;\n\tuniformData[17] = panYInfo.hasSignal ? 1 : 0;\n\tuniformData[18] = dollyZInfo.hasSignal ? 1 : 0;\n\tuniformData[19] = focusPlaneInfo.hasSignal ? 1 : 0;\n\tuniformData[20] = parallaxInfo.hasSignal ? 1 : 0;\n\tuniformData[21] = apertureInfo.hasSignal ? 1 : 0;\n\tuniformData[22] = fovInfo.hasSignal ? 1 : 0;\n\tuniformData[23] = edgeDilationInfo.hasSignal ? 1 : 0;\n\tconst uniformBuffer = ctx.renderer.getTemporaryBuffer(uniformData);\n\tconst outTex = ctx.renderer.getTemporaryTexture(width, height, [\n\t\tsrcTex,\n\t\tdepthTex,\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, srcLayout, srcTex, sampler),\n\t\tctx.renderer.bindGroupCache.getBindGroup(ctx.device, depthLayout, depthTex, 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: sigPanXView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 1,\n\t\t\t\t\tresource: sigPanYView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 2,\n\t\t\t\t\tresource: sigDollyZView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 3,\n\t\t\t\t\tresource: sigFocusPlaneView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 4,\n\t\t\t\t\tresource: sigParallaxView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 5,\n\t\t\t\t\tresource: sigApertureView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 6,\n\t\t\t\t\tresource: sigFOVView\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tbinding: 7,\n\t\t\t\t\tresource: sigEdgeDilationView\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, op.opacity ?? 1);\n};\n\n//#endregion\n//#region src/renderers/index.ts\nvar renderers_default = defineRenderer({ WebGPURenderer: CameraParallax3DWebGPURenderer });\n\n//#endregion\nexport { renderers_default as t };\n//# sourceMappingURL=renderers-3w0EgvnV.mjs.map"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as defineRenderer } from "./renderer-mNSyac1V.mjs";
|
|
2
2
|
import { i as VideoResultSchema, n as ImageResultSchema } from "./dist-DVMepKaO.mjs";
|
|
3
|
-
import { b as colorMatrixWgsl } from "./dist-
|
|
4
|
-
import { a as createFullscreenPipeline, c as drawTextureToTarget, l as fragmentBindGroupLayout, o as drawChildToTexture, s as drawFullscreenPass } from "./gpu-
|
|
3
|
+
import { b as colorMatrixWgsl } from "./dist-C1cCW7Bt.mjs";
|
|
4
|
+
import { a as createFullscreenPipeline, c as drawTextureToTarget, l as fragmentBindGroupLayout, o as drawChildToTexture, s as drawFullscreenPass } from "./gpu-CMaa63nz.mjs";
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
|
|
7
7
|
//#region ../../nodes/node-levels/dist/renderers-DdSgwTj2.mjs
|
|
@@ -173,4 +173,4 @@ var renderers_default = defineRenderer({ WebGPURenderer: LevelsWebGPURenderer })
|
|
|
173
173
|
|
|
174
174
|
//#endregion
|
|
175
175
|
export { renderers_default as t };
|
|
176
|
-
//# sourceMappingURL=renderer-
|
|
176
|
+
//# sourceMappingURL=renderer-DO-KbpYZ.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-
|
|
1
|
+
{"version":3,"file":"renderer-DO-KbpYZ.mjs","names":[],"sources":["../../../nodes/node-levels/dist/renderers-DdSgwTj2.mjs"],"sourcesContent":["import { ImageResultSchema, VideoResultSchema } from \"@framefields/node-sdk\";\nimport { z } from \"zod\";\nimport { defineRenderer } from \"@framefields/node-sdk/renderer\";\nimport { createFullscreenPipeline, drawChildToTexture, drawFullscreenPass, drawTextureToTarget, fragmentBindGroupLayout } from \"@framefields/node-sdk/gpu\";\nimport { colorMatrixWgsl } from \"@framefields/webgpu-renderers\";\n\n//#region src/shared/config.ts\nconst LevelChannelSchema = z.object({\n\tinBlack: z.number().min(0).max(1).default(0),\n\tinWhite: z.number().min(0).max(1).default(1),\n\toutBlack: z.number().min(0).max(1).default(0),\n\toutWhite: z.number().min(0).max(1).default(1)\n}).strict().superRefine((val, ctx) => {\n\tif (val.inBlack >= val.inWhite) ctx.addIssue({\n\t\tcode: z.ZodIssueCode.custom,\n\t\tpath: [\"inWhite\"],\n\t\tmessage: \"inWhite must be greater than inBlack\"\n\t});\n\tif (val.outBlack >= val.outWhite) ctx.addIssue({\n\t\tcode: z.ZodIssueCode.custom,\n\t\tpath: [\"outWhite\"],\n\t\tmessage: \"outWhite must be greater than outBlack\"\n\t});\n});\nconst LevelsNodeConfigSchema = z.object({\n\tmaster: LevelChannelSchema.default({\n\t\tinBlack: 0,\n\t\tinWhite: 1,\n\t\toutBlack: 0,\n\t\toutWhite: 1\n\t}),\n\tred: LevelChannelSchema.default({\n\t\tinBlack: 0,\n\t\tinWhite: 1,\n\t\toutBlack: 0,\n\t\toutWhite: 1\n\t}),\n\tgreen: LevelChannelSchema.default({\n\t\tinBlack: 0,\n\t\tinWhite: 1,\n\t\toutBlack: 0,\n\t\toutWhite: 1\n\t}),\n\tblue: LevelChannelSchema.default({\n\t\tinBlack: 0,\n\t\tinWhite: 1,\n\t\toutBlack: 0,\n\t\toutWhite: 1\n\t})\n}).strict();\nconst LevelsResultSchema = z.union([ImageResultSchema, VideoResultSchema]);\nconst LevelsOperationSchema = LevelsNodeConfigSchema.extend({\n\top: z.literal(\"Levels\"),\n\tmetadata: z.unknown().optional()\n});\nconst defaultLevelChannel = {\n\tinBlack: 0,\n\tinWhite: 1,\n\toutBlack: 0,\n\toutWhite: 1\n};\nconst defaultLevelsConfig = {\n\tmaster: { ...defaultLevelChannel },\n\tred: { ...defaultLevelChannel },\n\tgreen: { ...defaultLevelChannel },\n\tblue: { ...defaultLevelChannel }\n};\nconst LEVELS_OUTPUT_TYPE_MAP = {\n\tVideo: \"Video\",\n\tLottie: \"Video\",\n\tGIF: \"GIF\",\n\tImage: \"Image\",\n\tSVG: \"Image\"\n};\n\n//#endregion\n//#region src/renderers/webgpu-renderer.ts\nconst deviceResourceCache = /* @__PURE__ */ new WeakMap();\nconst colorMatrixData = new Float32Array(20);\nfunction getColorMatrixResources(device, format) {\n\tlet res = deviceResourceCache.get(device);\n\tif (!res) {\n\t\tconst colorMatrixUniformLayout = fragmentBindGroupLayout(device, [\"uniform\"]);\n\t\tconst singleTextureLayout = fragmentBindGroupLayout(device, [\"texture\", \"sampler\"]);\n\t\tres = {\n\t\t\tcolorMatrixPipeline: createFullscreenPipeline(device, {\n\t\t\t\tlabel: \"ColorMatrixPipeline\",\n\t\t\t\tmodule: device.createShaderModule({\n\t\t\t\t\tlabel: \"color-matrix.wgsl\",\n\t\t\t\t\tcode: colorMatrixWgsl\n\t\t\t\t}),\n\t\t\t\tlayouts: [colorMatrixUniformLayout, singleTextureLayout],\n\t\t\t\tformat\n\t\t\t}),\n\t\t\tcolorMatrixUniformLayout,\n\t\t\tsingleTextureLayout\n\t\t};\n\t\tdeviceResourceCache.set(device, res);\n\t}\n\treturn res;\n}\nfunction getTransform(ch) {\n\tconst inRange = Math.max(ch.inWhite - ch.inBlack, 1e-5);\n\tconst scale = (ch.outWhite - ch.outBlack) / inRange;\n\treturn {\n\t\tscale,\n\t\tbias: ch.outBlack - ch.inBlack * scale\n\t};\n}\nconst LevelsWebGPURenderer = async (args) => {\n\tconst { ctx, encoder, pass, targetTexture, targetWidth, targetHeight, props } = args;\n\tconst op = props.virtualMedia?.operation;\n\tif (op?.op !== \"Levels\" || !props.virtualMedia?.children?.[0]) return;\n\tpass.end();\n\tconst childMedia = props.virtualMedia.children[0];\n\tconst m = getTransform(op.master ?? defaultLevelChannel);\n\tconst r = getTransform(op.red ?? defaultLevelChannel);\n\tconst g = getTransform(op.green ?? defaultLevelChannel);\n\tconst b = getTransform(op.blue ?? defaultLevelChannel);\n\tconst matrix = [\n\t\tr.scale * m.scale,\n\t\t0,\n\t\t0,\n\t\t0,\n\t\tr.bias * m.scale + m.bias,\n\t\t0,\n\t\tg.scale * m.scale,\n\t\t0,\n\t\t0,\n\t\tg.bias * m.scale + m.bias,\n\t\t0,\n\t\t0,\n\t\tb.scale * m.scale,\n\t\t0,\n\t\tb.bias * m.scale + m.bias,\n\t\t0,\n\t\t0,\n\t\t0,\n\t\t1,\n\t\t0\n\t];\n\tconst width = targetWidth;\n\tconst height = targetHeight;\n\tconst { texture: tmpTex } = await drawChildToTexture(args, childMedia);\n\tconst { colorMatrixPipeline: pipeline, colorMatrixUniformLayout: uLayout, singleTextureLayout: tLayout } = getColorMatrixResources(ctx.device, ctx.renderer.format);\n\tconst sampler = ctx.renderer.samplerCache.getSampler(ctx.device);\n\tcolorMatrixData[0] = matrix[0];\n\tcolorMatrixData[1] = matrix[1];\n\tcolorMatrixData[2] = matrix[2];\n\tcolorMatrixData[3] = matrix[3];\n\tcolorMatrixData[4] = matrix[5];\n\tcolorMatrixData[5] = matrix[6];\n\tcolorMatrixData[6] = matrix[7];\n\tcolorMatrixData[7] = matrix[8];\n\tcolorMatrixData[8] = matrix[10];\n\tcolorMatrixData[9] = matrix[11];\n\tcolorMatrixData[10] = matrix[12];\n\tcolorMatrixData[11] = matrix[13];\n\tcolorMatrixData[12] = matrix[15];\n\tcolorMatrixData[13] = matrix[16];\n\tcolorMatrixData[14] = matrix[17];\n\tcolorMatrixData[15] = matrix[18];\n\tcolorMatrixData[16] = matrix[4];\n\tcolorMatrixData[17] = matrix[9];\n\tcolorMatrixData[18] = matrix[14];\n\tcolorMatrixData[19] = matrix[19];\n\tconst buffer = ctx.renderer.getTemporaryBuffer(colorMatrixData);\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, [ctx.device.createBindGroup({\n\t\tlayout: uLayout,\n\t\tentries: [{\n\t\t\tbinding: 0,\n\t\t\tresource: { buffer }\n\t\t}]\n\t}), ctx.renderer.bindGroupCache.getBindGroup(ctx.device, tLayout, tmpTex, sampler)]);\n\tdrawTextureToTarget(args, outTex, props.opacity ?? 1);\n};\n\n//#endregion\n//#region src/renderers/index.ts\nvar renderers_default = defineRenderer({ WebGPURenderer: LevelsWebGPURenderer });\n\n//#endregion\nexport { LevelsOperationSchema as a, defaultLevelsConfig as c, LevelsNodeConfigSchema as i, LEVELS_OUTPUT_TYPE_MAP as n, LevelsResultSchema as o, LevelChannelSchema as r, defaultLevelChannel as s, renderers_default as t };\n//# sourceMappingURL=renderers-DdSgwTj2.mjs.map"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Bt as getMediaType, In as takeRenderDiagnostics, Nt as frameCount, Rn as updateClockSignals, mt as assertFps, yn as resolveFrameRequest } from "./dist-BlIrsfcn.mjs";
|
|
2
2
|
import { a as registerWebGPURenderer, t as audioRegistry } from "./renderer-mNSyac1V.mjs";
|
|
3
|
-
import { K as mediaDecoderCache, L as getRenderer2D, R as initHeadlessWebGPU, W as lutStore, g as WebGPUAudioProcessor, it as shaderStore, j as ensureDevice, p as SlugFontCache, s as NodeSurfaceProvider, st as textureCache, v as clearAllVideoCache, y as clearHeadlessFonts, z as inputStore } from "./dist-
|
|
4
|
-
import { a as preflightMediaTime, h as preloadCompositionFonts, i as mixAudioTracks, r as drawCompositionTree, t as compositionStateStore } from "./dist-
|
|
3
|
+
import { K as mediaDecoderCache, L as getRenderer2D, R as initHeadlessWebGPU, W as lutStore, g as WebGPUAudioProcessor, it as shaderStore, j as ensureDevice, p as SlugFontCache, s as NodeSurfaceProvider, st as textureCache, v as clearAllVideoCache, y as clearHeadlessFonts, z as inputStore } from "./dist-C1cCW7Bt.mjs";
|
|
4
|
+
import { a as preflightMediaTime, h as preloadCompositionFonts, i as mixAudioTracks, r as drawCompositionTree, t as compositionStateStore } from "./dist-C8Xq3zgx.mjs";
|
|
5
5
|
import { createRequire } from "node:module";
|
|
6
6
|
import { AudioSample, AudioSampleSource, FilePathTarget, Mp3OutputFormat, Mp4OutputFormat, Output, QUALITY_HIGH, QUALITY_LOW, QUALITY_VERY_HIGH, QUALITY_VERY_LOW, VideoSample, VideoSampleSource, WebMOutputFormat } from "mediabunny";
|
|
7
7
|
import fs from "node:fs";
|
|
@@ -277,237 +277,237 @@ const BUILTIN_NODE_RENDERERS = [
|
|
|
277
277
|
{
|
|
278
278
|
packageName: "@framefields/node-lut",
|
|
279
279
|
ops: ["ApplyLUT"],
|
|
280
|
-
load: () => import("./renderer-
|
|
280
|
+
load: () => import("./renderer-BCAZDu-r.mjs")
|
|
281
281
|
},
|
|
282
282
|
{
|
|
283
283
|
packageName: "@framefields/node-ascii",
|
|
284
284
|
ops: ["Ascii"],
|
|
285
|
-
load: () => import("./renderer-
|
|
285
|
+
load: () => import("./renderer-bAKUeHF3.mjs")
|
|
286
286
|
},
|
|
287
287
|
{
|
|
288
288
|
packageName: "@framefields/node-audio-compressor",
|
|
289
289
|
ops: ["AudioCompressor"],
|
|
290
|
-
load: () => import("./renderer-
|
|
290
|
+
load: () => import("./renderer-2ecmdOae.mjs")
|
|
291
291
|
},
|
|
292
292
|
{
|
|
293
293
|
packageName: "@framefields/node-audio-delay",
|
|
294
294
|
ops: ["AudioDelay"],
|
|
295
|
-
load: () => import("./renderer-
|
|
295
|
+
load: () => import("./renderer-C-lfsEAN.mjs")
|
|
296
296
|
},
|
|
297
297
|
{
|
|
298
298
|
packageName: "@framefields/node-audio-fade",
|
|
299
299
|
ops: ["AudioFade"],
|
|
300
|
-
load: () => import("./renderer
|
|
300
|
+
load: () => import("./renderer--N7TMqzU.mjs")
|
|
301
301
|
},
|
|
302
302
|
{
|
|
303
303
|
packageName: "@framefields/node-audio-noise-gate",
|
|
304
304
|
ops: ["AudioNoiseGate"],
|
|
305
|
-
load: () => import("./renderer-
|
|
305
|
+
load: () => import("./renderer-B7xyT1Vb.mjs")
|
|
306
306
|
},
|
|
307
307
|
{
|
|
308
308
|
packageName: "@framefields/node-audio-parametric-eq",
|
|
309
309
|
ops: ["AudioParametricEq"],
|
|
310
|
-
load: () => import("./renderer-
|
|
310
|
+
load: () => import("./renderer-DfqJj9oe.mjs")
|
|
311
311
|
},
|
|
312
312
|
{
|
|
313
313
|
packageName: "@framefields/node-audio-reverb",
|
|
314
314
|
ops: ["AudioReverb"],
|
|
315
|
-
load: () => import("./renderer-
|
|
315
|
+
load: () => import("./renderer-BxRW8MZO.mjs")
|
|
316
316
|
},
|
|
317
317
|
{
|
|
318
318
|
packageName: "@framefields/node-audio-signal-extractor",
|
|
319
319
|
ops: ["AudioSignalExtractor"],
|
|
320
|
-
load: () => import("./renderer-
|
|
320
|
+
load: () => import("./renderer-DMdNfcud.mjs")
|
|
321
321
|
},
|
|
322
322
|
{
|
|
323
323
|
packageName: "@framefields/node-blur",
|
|
324
324
|
ops: ["Blur"],
|
|
325
|
-
load: () => import("./renderer-
|
|
325
|
+
load: () => import("./renderer-D-FpMzLY.mjs")
|
|
326
326
|
},
|
|
327
327
|
{
|
|
328
328
|
packageName: "@framefields/node-camera-parallax-3d",
|
|
329
329
|
ops: ["CameraParallax3D"],
|
|
330
|
-
load: () => import("./renderer-
|
|
330
|
+
load: () => import("./renderer-DNQvOrkY.mjs")
|
|
331
331
|
},
|
|
332
332
|
{
|
|
333
333
|
packageName: "@framefields/node-canvas-generator",
|
|
334
334
|
ops: ["CanvasGenerator"],
|
|
335
|
-
load: () => import("./renderer-
|
|
335
|
+
load: () => import("./renderer-CcvvoKiZ.mjs")
|
|
336
336
|
},
|
|
337
337
|
{
|
|
338
338
|
packageName: "@framefields/node-channel-merger",
|
|
339
339
|
ops: ["ChannelMerger"],
|
|
340
|
-
load: () => import("./renderer-
|
|
340
|
+
load: () => import("./renderer-D7Al3_-5.mjs")
|
|
341
341
|
},
|
|
342
342
|
{
|
|
343
343
|
packageName: "@framefields/node-channel-splitter",
|
|
344
344
|
ops: ["ChannelSplitter"],
|
|
345
|
-
load: () => import("./renderer-
|
|
345
|
+
load: () => import("./renderer-zXPVLRlD.mjs")
|
|
346
346
|
},
|
|
347
347
|
{
|
|
348
348
|
packageName: "@framefields/node-color-balance",
|
|
349
349
|
ops: ["ColorBalance"],
|
|
350
|
-
load: () => import("./renderer-
|
|
350
|
+
load: () => import("./renderer-DMvmf3T2.mjs")
|
|
351
351
|
},
|
|
352
352
|
{
|
|
353
353
|
packageName: "@framefields/node-colorkey",
|
|
354
354
|
ops: ["ColorKey"],
|
|
355
|
-
load: () => import("./renderer-
|
|
355
|
+
load: () => import("./renderer-DjxKjHMf.mjs")
|
|
356
356
|
},
|
|
357
357
|
{
|
|
358
358
|
packageName: "@framefields/node-compositor",
|
|
359
359
|
ops: ["Compositor"],
|
|
360
|
-
load: () => import("./renderer-
|
|
360
|
+
load: () => import("./renderer-C41U1tK6.mjs")
|
|
361
361
|
},
|
|
362
362
|
{
|
|
363
363
|
packageName: "@framefields/node-contour",
|
|
364
364
|
ops: ["Contour"],
|
|
365
|
-
load: () => import("./renderer-
|
|
365
|
+
load: () => import("./renderer-hSCfnvaK.mjs")
|
|
366
366
|
},
|
|
367
367
|
{
|
|
368
368
|
packageName: "@framefields/node-corner-pin",
|
|
369
369
|
ops: ["CornerPin"],
|
|
370
|
-
load: () => import("./renderer-
|
|
370
|
+
load: () => import("./renderer-DczJJLA1.mjs")
|
|
371
371
|
},
|
|
372
372
|
{
|
|
373
373
|
packageName: "@framefields/node-crop",
|
|
374
374
|
ops: ["Crop"],
|
|
375
|
-
load: () => import("./renderer-
|
|
375
|
+
load: () => import("./renderer-DqLA5cdR.mjs")
|
|
376
376
|
},
|
|
377
377
|
{
|
|
378
378
|
packageName: "@framefields/node-crt",
|
|
379
379
|
ops: ["CRT"],
|
|
380
|
-
load: () => import("./renderer-
|
|
380
|
+
load: () => import("./renderer-C7eFJf0_.mjs")
|
|
381
381
|
},
|
|
382
382
|
{
|
|
383
383
|
packageName: "@framefields/node-curves",
|
|
384
384
|
ops: ["Curves"],
|
|
385
|
-
load: () => import("./renderer-
|
|
385
|
+
load: () => import("./renderer-_jC5KIT1.mjs")
|
|
386
386
|
},
|
|
387
387
|
{
|
|
388
388
|
packageName: "@framefields/node-datamosh",
|
|
389
389
|
ops: ["Datamosh"],
|
|
390
|
-
load: () => import("./renderer-
|
|
390
|
+
load: () => import("./renderer-8QIwXh7O.mjs")
|
|
391
391
|
},
|
|
392
392
|
{
|
|
393
393
|
packageName: "@framefields/node-deflicker",
|
|
394
394
|
ops: ["TemporalDeflicker", "Deflicker"],
|
|
395
|
-
load: () => import("./renderer-
|
|
395
|
+
load: () => import("./renderer-cTgAuVmJ.mjs")
|
|
396
396
|
},
|
|
397
397
|
{
|
|
398
398
|
packageName: "@framefields/node-displacement-map",
|
|
399
399
|
ops: ["DisplacementMap"],
|
|
400
|
-
load: () => import("./renderer-
|
|
400
|
+
load: () => import("./renderer-D-Oyn9mG.mjs")
|
|
401
401
|
},
|
|
402
402
|
{
|
|
403
403
|
packageName: "@framefields/node-dither",
|
|
404
404
|
ops: ["Dither"],
|
|
405
|
-
load: () => import("./renderer-
|
|
405
|
+
load: () => import("./renderer-DqvoMLca.mjs")
|
|
406
406
|
},
|
|
407
407
|
{
|
|
408
408
|
packageName: "@framefields/node-extract-frame",
|
|
409
409
|
ops: ["ExtractFrame"],
|
|
410
|
-
load: () => import("./renderer-
|
|
410
|
+
load: () => import("./renderer-CiQhD8Gg.mjs")
|
|
411
411
|
},
|
|
412
412
|
{
|
|
413
413
|
packageName: "@framefields/node-extract-lut",
|
|
414
414
|
ops: ["ExtractLUT"],
|
|
415
|
-
load: () => import("./renderer-
|
|
415
|
+
load: () => import("./renderer-DVCJjVn7.mjs")
|
|
416
416
|
},
|
|
417
417
|
{
|
|
418
418
|
packageName: "@framefields/node-film-grain",
|
|
419
419
|
ops: ["FilmGrain"],
|
|
420
|
-
load: () => import("./renderer-
|
|
420
|
+
load: () => import("./renderer-DDHG3GdR.mjs")
|
|
421
421
|
},
|
|
422
422
|
{
|
|
423
423
|
packageName: "@framefields/node-flip",
|
|
424
424
|
ops: ["Flip"],
|
|
425
|
-
load: () => import("./renderer-
|
|
425
|
+
load: () => import("./renderer-nVKDvDLO.mjs")
|
|
426
426
|
},
|
|
427
427
|
{
|
|
428
428
|
packageName: "@framefields/node-gooey",
|
|
429
429
|
ops: ["Gooey"],
|
|
430
|
-
load: () => import("./renderer-
|
|
430
|
+
load: () => import("./renderer-CYC32bDW.mjs")
|
|
431
431
|
},
|
|
432
432
|
{
|
|
433
433
|
packageName: "@framefields/node-gradient-map",
|
|
434
434
|
ops: ["GradientMap"],
|
|
435
|
-
load: () => import("./renderer-
|
|
435
|
+
load: () => import("./renderer-cod5Ona9.mjs")
|
|
436
436
|
},
|
|
437
437
|
{
|
|
438
438
|
packageName: "@framefields/node-halftone-screen",
|
|
439
439
|
ops: ["HalftoneScreen"],
|
|
440
|
-
load: () => import("./renderer-
|
|
440
|
+
load: () => import("./renderer-pZ6_pUo1.mjs")
|
|
441
441
|
},
|
|
442
442
|
{
|
|
443
443
|
packageName: "@framefields/node-high-pass",
|
|
444
444
|
ops: ["HighPass"],
|
|
445
|
-
load: () => import("./renderer-
|
|
445
|
+
load: () => import("./renderer-D64r4iN-.mjs")
|
|
446
446
|
},
|
|
447
447
|
{
|
|
448
448
|
packageName: "@framefields/node-iridescence",
|
|
449
449
|
ops: ["Iridescence"],
|
|
450
|
-
load: () => import("./renderer-
|
|
450
|
+
load: () => import("./renderer-DIw3UtEU.mjs")
|
|
451
451
|
},
|
|
452
452
|
{
|
|
453
453
|
packageName: "@framefields/node-kaleidoscope",
|
|
454
454
|
ops: ["Kaleidoscope"],
|
|
455
|
-
load: () => import("./renderer-
|
|
455
|
+
load: () => import("./renderer-DkRSZg5g.mjs")
|
|
456
456
|
},
|
|
457
457
|
{
|
|
458
458
|
packageName: "@framefields/node-kenburns",
|
|
459
459
|
ops: ["KenBurns"],
|
|
460
|
-
load: () => import("./renderer-
|
|
460
|
+
load: () => import("./renderer-DhgnQZYb.mjs")
|
|
461
461
|
},
|
|
462
462
|
{
|
|
463
463
|
packageName: "@framefields/node-layer-style",
|
|
464
464
|
ops: ["LayerStyle"],
|
|
465
|
-
load: () => import("./renderer-
|
|
465
|
+
load: () => import("./renderer-DgO9ihVJ.mjs")
|
|
466
466
|
},
|
|
467
467
|
{
|
|
468
468
|
packageName: "@framefields/node-levels",
|
|
469
469
|
ops: ["Levels"],
|
|
470
|
-
load: () => import("./renderer-
|
|
470
|
+
load: () => import("./renderer-C8_6YofT.mjs")
|
|
471
471
|
},
|
|
472
472
|
{
|
|
473
473
|
packageName: "@framefields/node-liquify",
|
|
474
474
|
ops: ["Liquify"],
|
|
475
|
-
load: () => import("./renderer-
|
|
475
|
+
load: () => import("./renderer-B5RJp5g-.mjs")
|
|
476
476
|
},
|
|
477
477
|
{
|
|
478
478
|
packageName: "@framefields/node-mask-math",
|
|
479
479
|
ops: ["MaskMath"],
|
|
480
|
-
load: () => import("./renderer-
|
|
480
|
+
load: () => import("./renderer-CSCIzaLy.mjs")
|
|
481
481
|
},
|
|
482
482
|
{
|
|
483
483
|
packageName: "@framefields/node-mesh-warp",
|
|
484
484
|
ops: ["MeshWarp"],
|
|
485
|
-
load: () => import("./renderer-
|
|
485
|
+
load: () => import("./renderer-D2QrkA8_.mjs")
|
|
486
486
|
},
|
|
487
487
|
{
|
|
488
488
|
packageName: "@framefields/node-modulate",
|
|
489
489
|
ops: ["Modulate"],
|
|
490
|
-
load: () => import("./renderer-
|
|
490
|
+
load: () => import("./renderer-BJnhik7Y.mjs")
|
|
491
491
|
},
|
|
492
492
|
{
|
|
493
493
|
packageName: "@framefields/node-noise-generator",
|
|
494
494
|
ops: ["NoiseGenerator"],
|
|
495
|
-
load: () => import("./renderer-
|
|
495
|
+
load: () => import("./renderer-BF0hx_iJ.mjs")
|
|
496
496
|
},
|
|
497
497
|
{
|
|
498
498
|
packageName: "@framefields/node-op-art",
|
|
499
499
|
ops: ["OpArt"],
|
|
500
|
-
load: () => import("./renderer-
|
|
500
|
+
load: () => import("./renderer-BpIF1QIE.mjs")
|
|
501
501
|
},
|
|
502
502
|
{
|
|
503
503
|
packageName: "@framefields/node-paint",
|
|
504
504
|
ops: ["Paint"],
|
|
505
|
-
load: () => import("./renderer-
|
|
505
|
+
load: () => import("./renderer--Ac-dg4A.mjs")
|
|
506
506
|
},
|
|
507
507
|
{
|
|
508
508
|
packageName: "@framefields/node-painterly",
|
|
509
509
|
ops: ["Painterly"],
|
|
510
|
-
load: () => import("./renderer-
|
|
510
|
+
load: () => import("./renderer-Bfk6A7UO.mjs")
|
|
511
511
|
},
|
|
512
512
|
{
|
|
513
513
|
packageName: "@framefields/node-particles",
|
|
@@ -517,67 +517,67 @@ const BUILTIN_NODE_RENDERERS = [
|
|
|
517
517
|
{
|
|
518
518
|
packageName: "@framefields/node-patch-heal",
|
|
519
519
|
ops: ["PatchHeal"],
|
|
520
|
-
load: () => import("./renderer-
|
|
520
|
+
load: () => import("./renderer-CpUJBOfb.mjs")
|
|
521
521
|
},
|
|
522
522
|
{
|
|
523
523
|
packageName: "@framefields/node-pixelate",
|
|
524
524
|
ops: ["Pixelate"],
|
|
525
|
-
load: () => import("./renderer-
|
|
525
|
+
load: () => import("./renderer-CQvmbRQ5.mjs")
|
|
526
526
|
},
|
|
527
527
|
{
|
|
528
528
|
packageName: "@framefields/node-posterize",
|
|
529
529
|
ops: ["Posterize"],
|
|
530
|
-
load: () => import("./renderer-
|
|
530
|
+
load: () => import("./renderer-pHWEHDnM.mjs")
|
|
531
531
|
},
|
|
532
532
|
{
|
|
533
533
|
packageName: "@framefields/node-procedural-vfx",
|
|
534
534
|
ops: ["ProceduralVFX"],
|
|
535
|
-
load: () => import("./renderer-
|
|
535
|
+
load: () => import("./renderer-DbRZe0Re.mjs")
|
|
536
536
|
},
|
|
537
537
|
{
|
|
538
538
|
packageName: "@framefields/node-refine-edge",
|
|
539
539
|
ops: ["RefineEdge"],
|
|
540
|
-
load: () => import("./renderer-
|
|
540
|
+
load: () => import("./renderer-C6nOFN4-.mjs")
|
|
541
541
|
},
|
|
542
542
|
{
|
|
543
543
|
packageName: "@framefields/node-refraction-caustics",
|
|
544
544
|
ops: ["RefractionCaustics3D"],
|
|
545
|
-
load: () => import("./renderer-
|
|
545
|
+
load: () => import("./renderer-Lth37j17.mjs")
|
|
546
546
|
},
|
|
547
547
|
{
|
|
548
548
|
packageName: "@framefields/node-relight-3d",
|
|
549
549
|
ops: ["Relight3D"],
|
|
550
|
-
load: () => import("./renderer-
|
|
550
|
+
load: () => import("./renderer-BBeArN_x.mjs")
|
|
551
551
|
},
|
|
552
552
|
{
|
|
553
553
|
packageName: "@framefields/node-resizer-scaler",
|
|
554
554
|
ops: ["ResizerScaler"],
|
|
555
|
-
load: () => import("./renderer-
|
|
555
|
+
load: () => import("./renderer-ktWXVYka.mjs")
|
|
556
556
|
},
|
|
557
557
|
{
|
|
558
558
|
packageName: "@framefields/node-rgb-split",
|
|
559
559
|
ops: ["RGBSplit"],
|
|
560
|
-
load: () => import("./renderer-
|
|
560
|
+
load: () => import("./renderer-D8bBHrWC.mjs")
|
|
561
561
|
},
|
|
562
562
|
{
|
|
563
563
|
packageName: "@framefields/node-rotate",
|
|
564
564
|
ops: ["Rotate"],
|
|
565
|
-
load: () => import("./renderer-
|
|
565
|
+
load: () => import("./renderer-Dudp6ZlH.mjs")
|
|
566
566
|
},
|
|
567
567
|
{
|
|
568
568
|
packageName: "@framefields/node-selective-color",
|
|
569
569
|
ops: ["SelectiveColor"],
|
|
570
|
-
load: () => import("./renderer-
|
|
570
|
+
load: () => import("./renderer-COb3tOPG.mjs")
|
|
571
571
|
},
|
|
572
572
|
{
|
|
573
573
|
packageName: "@framefields/node-shadows-highlights",
|
|
574
574
|
ops: ["ShadowsHighlights"],
|
|
575
|
-
load: () => import("./renderer-
|
|
575
|
+
load: () => import("./renderer-CqVltdX9.mjs")
|
|
576
576
|
},
|
|
577
577
|
{
|
|
578
578
|
packageName: "@framefields/node-shape-generator",
|
|
579
579
|
ops: ["ShapeGenerator"],
|
|
580
|
-
load: () => import("./renderer-
|
|
580
|
+
load: () => import("./renderer-BdyopiLC.mjs")
|
|
581
581
|
},
|
|
582
582
|
{
|
|
583
583
|
packageName: "@framefields/node-signal-gate",
|
|
@@ -587,37 +587,37 @@ const BUILTIN_NODE_RENDERERS = [
|
|
|
587
587
|
{
|
|
588
588
|
packageName: "@framefields/node-stereo-panning",
|
|
589
589
|
ops: ["StereoPanning"],
|
|
590
|
-
load: () => import("./renderer-
|
|
590
|
+
load: () => import("./renderer-CmI4c8MS.mjs")
|
|
591
591
|
},
|
|
592
592
|
{
|
|
593
593
|
packageName: "@framefields/node-tile-offset",
|
|
594
594
|
ops: ["TileOffset"],
|
|
595
|
-
load: () => import("./renderer-
|
|
595
|
+
load: () => import("./renderer-C84TSQmS.mjs")
|
|
596
596
|
},
|
|
597
597
|
{
|
|
598
598
|
packageName: "@framefields/node-toon",
|
|
599
599
|
ops: ["Toon"],
|
|
600
|
-
load: () => import("./renderer-
|
|
600
|
+
load: () => import("./renderer-CHr7MiYW.mjs")
|
|
601
601
|
},
|
|
602
602
|
{
|
|
603
603
|
packageName: "@framefields/node-trails",
|
|
604
604
|
ops: ["Trails"],
|
|
605
|
-
load: () => import("./renderer-
|
|
605
|
+
load: () => import("./renderer-DDEkFbVI.mjs")
|
|
606
606
|
},
|
|
607
607
|
{
|
|
608
608
|
packageName: "@framefields/node-unsharp-mask",
|
|
609
609
|
ops: ["UnsharpMask"],
|
|
610
|
-
load: () => import("./renderer-
|
|
610
|
+
load: () => import("./renderer-DZQXZ4lK.mjs")
|
|
611
611
|
},
|
|
612
612
|
{
|
|
613
613
|
packageName: "@framefields/node-vignette",
|
|
614
614
|
ops: ["Vignette"],
|
|
615
|
-
load: () => import("./renderer-
|
|
615
|
+
load: () => import("./renderer-DCq6YkgP.mjs")
|
|
616
616
|
},
|
|
617
617
|
{
|
|
618
618
|
packageName: "@framefields/node-vision",
|
|
619
619
|
ops: ["Vision"],
|
|
620
|
-
load: () => import("./renderer-
|
|
620
|
+
load: () => import("./renderer-D5bjOx83.mjs")
|
|
621
621
|
}
|
|
622
622
|
];
|
|
623
623
|
/**
|
|
@@ -2734,4 +2734,4 @@ async function renderFrameGrid(target, options$1 = {}) {
|
|
|
2734
2734
|
|
|
2735
2735
|
//#endregion
|
|
2736
2736
|
export { HeadlessMediaRenderer as a, renderSemaphore as c, resetRenderCaches as i, renderFrameGrid as n, HeadlessWebGPURenderer as o, resolveSamplePoints as r, formatQaReport as s, computeGridLayout as t };
|
|
2737
|
-
//# sourceMappingURL=renderer-
|
|
2737
|
+
//# sourceMappingURL=renderer-DPAD6fL1.mjs.map
|