framefields 2.9.0 → 2.9.3
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/NOTICE.md +14 -0
- package/README.md +1 -5
- package/dist/audio/index.d.mts +5 -4
- package/dist/audio/index.mjs +13 -13
- package/dist/{audio-BfQg37MW.mjs → audio-B6RmYOPe.mjs} +4 -4
- package/dist/{audio-BfQg37MW.mjs.map → audio-B6RmYOPe.mjs.map} +1 -1
- package/dist/{audio-a0MFkK6J.mjs → audio-BlDbnteH.mjs} +1 -1
- package/dist/{audio-a0MFkK6J.mjs.map → audio-BlDbnteH.mjs.map} +1 -1
- package/dist/{audio-Ccpl9mjV.d.mts → audio-D6tBMbHh.d.mts} +4 -3
- package/dist/audio-D6tBMbHh.d.mts.map +1 -0
- package/dist/{check-result-C3jlgV2i.mjs → check-result-Bj7g62ka.mjs} +1 -1
- package/dist/{check-result-C3jlgV2i.mjs.map → check-result-Bj7g62ka.mjs.map} +1 -1
- package/dist/cli/check-worker.mjs +50 -50
- package/dist/cli.mjs +1 -1
- package/dist/components/index.d.mts +14 -11
- package/dist/components/index.mjs +47 -47
- package/dist/dist-BlulwErl.mjs +3 -0
- package/dist/{dist-BlIrsfcn.mjs → dist-ByxHoMQI.mjs} +1 -1
- package/dist/{dist-BlIrsfcn.mjs.map → dist-ByxHoMQI.mjs.map} +1 -1
- package/dist/{dist-Buaaj-Ul.mjs → dist-Cn8bDsQF.mjs} +1 -1
- package/dist/{dist-Buaaj-Ul.mjs.map → dist-Cn8bDsQF.mjs.map} +1 -1
- package/dist/{dist-C1cCW7Bt.mjs → dist-D12-a3-x.mjs} +3 -3
- package/dist/{dist-C1cCW7Bt.mjs.map → dist-D12-a3-x.mjs.map} +1 -1
- package/dist/{dist-C8Xq3zgx.mjs → dist-DEUU6sNe.mjs} +4 -4
- package/dist/{dist-C8Xq3zgx.mjs.map → dist-DEUU6sNe.mjs.map} +1 -1
- package/dist/{dist-DVMepKaO.mjs → dist-DL1GwJvs.mjs} +2 -2
- package/dist/{dist-DVMepKaO.mjs.map → dist-DL1GwJvs.mjs.map} +1 -1
- package/dist/dist-Dq5TkNDI.mjs +1434 -0
- package/dist/dist-Dq5TkNDI.mjs.map +1 -0
- package/dist/effects/index.d.mts +6 -4
- package/dist/effects/index.mjs +36 -36
- package/dist/{effects-CemgqEPv.mjs → effects-CViUoQSV.mjs} +3 -3
- package/dist/{effects-CemgqEPv.mjs.map → effects-CViUoQSV.mjs.map} +1 -1
- package/dist/fonts/index.d.mts +1 -1
- package/dist/fonts/index.mjs +3 -3
- package/dist/{fonts-BW0pPcvJ.mjs → fonts-B0U2KO5I.mjs} +2 -2
- package/dist/{fonts-BW0pPcvJ.mjs.map → fonts-B0U2KO5I.mjs.map} +1 -1
- package/dist/{gpu-CMaa63nz.mjs → gpu-zFNrvhV9.mjs} +2 -2
- package/dist/{gpu-CMaa63nz.mjs.map → gpu-zFNrvhV9.mjs.map} +1 -1
- package/dist/index-9_4X2ro1.d.mts +2402 -0
- package/dist/index-9_4X2ro1.d.mts.map +1 -0
- package/dist/{index-CZjrnylh.d.mts → index-B9Lm1x8i.d.mts} +662 -640
- package/dist/index-B9Lm1x8i.d.mts.map +1 -0
- package/dist/{index-BfDFmIBE.d.mts → index-BuYtrhzL.d.mts} +1 -1
- package/dist/{index-BfDFmIBE.d.mts.map → index-BuYtrhzL.d.mts.map} +1 -1
- package/dist/{index-D5UDyVMb.d.mts → index-Bzo1uj8h.d.mts} +4 -2401
- package/dist/index-Bzo1uj8h.d.mts.map +1 -0
- package/dist/{index-Du5YgdzM.d.mts → index-C6GcuYVA.d.mts} +6 -1151
- package/dist/index-C6GcuYVA.d.mts.map +1 -0
- package/dist/{index-BIjMAW1h.d.mts → index-CgGM31I9.d.mts} +2 -2
- package/dist/{index-BIjMAW1h.d.mts.map → index-CgGM31I9.d.mts.map} +1 -1
- package/dist/index-DBhswLMO.d.mts +330 -0
- package/dist/index-DBhswLMO.d.mts.map +1 -0
- package/dist/{index-CJL0JAU8.d.mts → index-V0ZQ4JN6.d.mts} +2 -2
- package/dist/{index-CJL0JAU8.d.mts.map → index-V0ZQ4JN6.d.mts.map} +1 -1
- package/dist/{index-7Z9_a_iB.d.mts → index-f4IF1vRH.d.mts} +3 -3
- package/dist/{index-7Z9_a_iB.d.mts.map → index-f4IF1vRH.d.mts.map} +1 -1
- package/dist/index-svAgwTY_.d.mts +1163 -0
- package/dist/index-svAgwTY_.d.mts.map +1 -0
- package/dist/{index-CFoAmh7q.d.mts → index-w28KUM9A.d.mts} +3 -3
- package/dist/{index-CFoAmh7q.d.mts.map → index-w28KUM9A.d.mts.map} +1 -1
- package/dist/index.d.mts +15 -12
- package/dist/index.mjs +58 -57
- package/dist/preview/index.d.mts +4 -3
- package/dist/preview/index.mjs +12 -12
- package/dist/{preview-BQVgn6Ho.mjs → preview-ZKJ_zTmd.mjs} +3 -3
- package/dist/{preview-BQVgn6Ho.mjs.map → preview-ZKJ_zTmd.mjs.map} +1 -1
- package/dist/preview-engine/{chunk-GEUUXTDL.mjs → chunk-D73ZKPFN.mjs} +4 -4
- package/dist/preview-engine/{chunk-UQKPDGEH.mjs → chunk-EJJITH6U.mjs} +1 -1
- package/dist/preview-engine/{chunk-374QY63R.mjs → chunk-Q62GPWGD.mjs} +23 -23
- package/dist/preview-engine/chunk-XYGDTPO7.mjs +39 -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-O55BEDQZ.mjs → renderers-MDHPQY6D.mjs} +1 -1
- package/dist/preview-engine/src-4IUYUKIZ.mjs +8 -0
- package/dist/{program-CKpKkllV.mjs → program-xjIwjKb6.mjs} +4 -4
- package/dist/{program-CKpKkllV.mjs.map → program-xjIwjKb6.mjs.map} +1 -1
- package/dist/renderer/index.d.mts +3 -2
- package/dist/renderer/index.mjs +3 -3
- package/dist/renderer-129U3pc9.mjs +5 -0
- package/dist/renderer-2phFTFxQ.mjs +5 -0
- package/dist/{renderer-Bfk6A7UO.mjs → renderer-5qJPGvVL.mjs} +5 -5
- package/dist/{renderer-Bfk6A7UO.mjs.map → renderer-5qJPGvVL.mjs.map} +1 -1
- package/dist/renderer-9muKpDeE.mjs +5 -0
- package/dist/{renderer-B522Dkdk.mjs → renderer-AUK_ZS3p.mjs} +4 -4
- package/dist/{renderer-B522Dkdk.mjs.map → renderer-AUK_ZS3p.mjs.map} +1 -1
- package/dist/{renderer-DKgPVOLL.d.mts → renderer-B-inTgyb.d.mts} +2 -2
- package/dist/{renderer-DKgPVOLL.d.mts.map → renderer-B-inTgyb.d.mts.map} +1 -1
- package/dist/{renderer-BF0hx_iJ.mjs → renderer-B3IRvukr.mjs} +5 -5
- package/dist/{renderer-BF0hx_iJ.mjs.map → renderer-B3IRvukr.mjs.map} +1 -1
- package/dist/renderer-B5Dhv6j9.mjs +5 -0
- package/dist/{renderer-DO-KbpYZ.mjs → renderer-B6TjJi1g.mjs} +5 -5
- package/dist/{renderer-DO-KbpYZ.mjs.map → renderer-B6TjJi1g.mjs.map} +1 -1
- package/dist/{renderer-D61B9bXF.mjs → renderer-B78W9uad.mjs} +4 -4
- package/dist/{renderer-D61B9bXF.mjs.map → renderer-B78W9uad.mjs.map} +1 -1
- package/dist/{renderer-BPWDsufX.mjs → renderer-B7kOF_Az.mjs} +3 -3
- package/dist/{renderer-BPWDsufX.mjs.map → renderer-B7kOF_Az.mjs.map} +1 -1
- package/dist/renderer-BBUgCS3C.mjs +5 -0
- package/dist/{renderer-C7eFJf0_.mjs → renderer-BG6bkKtY.mjs} +5 -5
- package/dist/{renderer-C7eFJf0_.mjs.map → renderer-BG6bkKtY.mjs.map} +1 -1
- package/dist/{renderer-B39I6CQw.mjs → renderer-BJKzZwyn.mjs} +4 -4
- package/dist/{renderer-B39I6CQw.mjs.map → renderer-BJKzZwyn.mjs.map} +1 -1
- package/dist/{renderer-DqvoMLca.mjs → renderer-BJQt0RiZ.mjs} +5 -5
- package/dist/{renderer-DqvoMLca.mjs.map → renderer-BJQt0RiZ.mjs.map} +1 -1
- package/dist/renderer-BKXM28Mx.mjs +5 -0
- package/dist/renderer-BKqm6xdf.mjs +5 -0
- package/dist/{renderer-DiY70S8S.mjs → renderer-BMP_lYMk.mjs} +4 -4
- package/dist/{renderer-DiY70S8S.mjs.map → renderer-BMP_lYMk.mjs.map} +1 -1
- package/dist/renderer-BMfMMf0R.mjs +5 -0
- package/dist/{renderer-DkRSZg5g.mjs → renderer-BNbMi9CI.mjs} +5 -5
- package/dist/{renderer-DkRSZg5g.mjs.map → renderer-BNbMi9CI.mjs.map} +1 -1
- package/dist/{renderer-D7Al3_-5.mjs → renderer-BPYIqtNg.mjs} +5 -5
- package/dist/{renderer-D7Al3_-5.mjs.map → renderer-BPYIqtNg.mjs.map} +1 -1
- package/dist/renderer-BPsjEnnl.mjs +5 -0
- package/dist/{renderer-DDEkFbVI.mjs → renderer-BQOeeXTr.mjs} +5 -5
- package/dist/{renderer-DDEkFbVI.mjs.map → renderer-BQOeeXTr.mjs.map} +1 -1
- package/dist/{renderer-GBmWjBvy.mjs → renderer-BRWjLiHX.mjs} +3 -3
- package/dist/{renderer-GBmWjBvy.mjs.map → renderer-BRWjLiHX.mjs.map} +1 -1
- package/dist/{renderer-_iMAO698.mjs → renderer-BVql26Ay.mjs} +2 -2
- package/dist/{renderer-_iMAO698.mjs.map → renderer-BVql26Ay.mjs.map} +1 -1
- package/dist/{renderer-CHr7MiYW.mjs → renderer-BWMzjSgf.mjs} +5 -5
- package/dist/{renderer-CHr7MiYW.mjs.map → renderer-BWMzjSgf.mjs.map} +1 -1
- package/dist/{renderer-pHWEHDnM.mjs → renderer-BYqrtBvd.mjs} +5 -5
- package/dist/{renderer-pHWEHDnM.mjs.map → renderer-BYqrtBvd.mjs.map} +1 -1
- package/dist/{renderer-CwFqqpWY.mjs → renderer-BZmmekE8.mjs} +4 -4
- package/dist/{renderer-CwFqqpWY.mjs.map → renderer-BZmmekE8.mjs.map} +1 -1
- package/dist/{renderer-D47AEJE_.mjs → renderer-BcO7LUla.mjs} +3 -3
- package/dist/{renderer-D47AEJE_.mjs.map → renderer-BcO7LUla.mjs.map} +1 -1
- package/dist/{renderer-BlvGcyAN.mjs → renderer-BdbI_u9w.mjs} +3 -3
- package/dist/{renderer-BlvGcyAN.mjs.map → renderer-BdbI_u9w.mjs.map} +1 -1
- package/dist/{renderer-DsEyjwfT.mjs → renderer-Be5hfwSd.mjs} +74 -74
- package/dist/{renderer-DsEyjwfT.mjs.map → renderer-Be5hfwSd.mjs.map} +1 -1
- package/dist/{renderer-BAYTI6jj.mjs → renderer-BfbSvElt.mjs} +4 -4
- package/dist/{renderer-BAYTI6jj.mjs.map → renderer-BfbSvElt.mjs.map} +1 -1
- package/dist/{renderer-BpIF1QIE.mjs → renderer-BgDLCCuq.mjs} +5 -5
- package/dist/{renderer-BpIF1QIE.mjs.map → renderer-BgDLCCuq.mjs.map} +1 -1
- package/dist/renderer-Bofr6f88.mjs +6 -0
- package/dist/renderer-BqoGcujR.mjs +5 -0
- package/dist/renderer-BvuBt2aH.mjs +5 -0
- package/dist/renderer-BxTgXHu1.mjs +5 -0
- package/dist/renderer-Bz2Rrz60.mjs +5 -0
- package/dist/{renderer-g_vrrAQU.mjs → renderer-C06U4c9k.mjs} +3 -3
- package/dist/{renderer-g_vrrAQU.mjs.map → renderer-C06U4c9k.mjs.map} +1 -1
- package/dist/{renderer-D7r6onRT.mjs → renderer-C3Iev6zu.mjs} +4 -4
- package/dist/{renderer-D7r6onRT.mjs.map → renderer-C3Iev6zu.mjs.map} +1 -1
- package/dist/{renderer-CpUJBOfb.mjs → renderer-C3tVrzyT.mjs} +3 -3
- package/dist/{renderer-SWr3vbrV.mjs → renderer-C4yKI8MT.mjs} +3 -3
- package/dist/{renderer-SWr3vbrV.mjs.map → renderer-C4yKI8MT.mjs.map} +1 -1
- package/dist/{renderer-Xv6GfNUI.mjs → renderer-C6st34I6.mjs} +3 -3
- package/dist/{renderer-Xv6GfNUI.mjs.map → renderer-C6st34I6.mjs.map} +1 -1
- package/dist/{renderer-sCovEubT.mjs → renderer-C7MAqpIS.mjs} +4 -4
- package/dist/{renderer-sCovEubT.mjs.map → renderer-C7MAqpIS.mjs.map} +1 -1
- package/dist/renderer-CBjG8rjE.mjs +5 -0
- package/dist/{renderer-BAusZ6Vu.mjs → renderer-CCFHnafT.mjs} +4 -4
- package/dist/{renderer-BAusZ6Vu.mjs.map → renderer-CCFHnafT.mjs.map} +1 -1
- package/dist/{renderer-DVCJjVn7.mjs → renderer-CDVb4OfJ.mjs} +5 -5
- package/dist/{renderer-DVCJjVn7.mjs.map → renderer-CDVb4OfJ.mjs.map} +1 -1
- package/dist/{renderer-DpruWmZU.mjs → renderer-CEfVvcw-.mjs} +4 -4
- package/dist/{renderer-DpruWmZU.mjs.map → renderer-CEfVvcw-.mjs.map} +1 -1
- package/dist/{renderer-DbRZe0Re.mjs → renderer-CIB5L_C4.mjs} +5 -5
- package/dist/{renderer-DbRZe0Re.mjs.map → renderer-CIB5L_C4.mjs.map} +1 -1
- package/dist/{renderer-ktWXVYka.mjs → renderer-CPTXJs0n.mjs} +6 -6
- package/dist/{renderer-ktWXVYka.mjs.map → renderer-CPTXJs0n.mjs.map} +1 -1
- package/dist/renderer-CS2zyPyZ.mjs +5 -0
- package/dist/{renderer-CcvvoKiZ.mjs → renderer-CUBDxuxh.mjs} +5 -5
- package/dist/{renderer-CcvvoKiZ.mjs.map → renderer-CUBDxuxh.mjs.map} +1 -1
- package/dist/renderer-CWLF6cAz.mjs +1008 -0
- package/dist/renderer-CWLF6cAz.mjs.map +1 -0
- package/dist/{renderer-EaLUCobW.mjs → renderer-CXLugAe8.mjs} +4 -4
- package/dist/{renderer-EaLUCobW.mjs.map → renderer-CXLugAe8.mjs.map} +1 -1
- package/dist/renderer-CXnbl_jR.mjs +5 -0
- package/dist/{renderer-C7L8Ceqr.mjs → renderer-CYX9vKZ-.mjs} +4 -4
- package/dist/{renderer-C7L8Ceqr.mjs.map → renderer-CYX9vKZ-.mjs.map} +1 -1
- package/dist/{renderer-8QIwXh7O.mjs → renderer-C_2UDMEG.mjs} +6 -6
- package/dist/{renderer-8QIwXh7O.mjs.map → renderer-C_2UDMEG.mjs.map} +1 -1
- package/dist/renderer-CaF9vod_.mjs +5 -0
- package/dist/renderer-CbSBH3lp.mjs +5 -0
- package/dist/{renderer-B2jjxsjO.mjs → renderer-CbhnJi_8.mjs} +4 -4
- package/dist/{renderer-B2jjxsjO.mjs.map → renderer-CbhnJi_8.mjs.map} +1 -1
- package/dist/{renderer-BdyopiLC.mjs → renderer-CcJyD9Q5.mjs} +4 -4
- package/dist/{renderer-BdyopiLC.mjs.map → renderer-CcJyD9Q5.mjs.map} +1 -1
- package/dist/renderer-CdjuGRbO.mjs +5 -0
- package/dist/{renderer-DF-yvIrV.mjs → renderer-Cl8r1LJe.mjs} +4 -4
- package/dist/{renderer-DF-yvIrV.mjs.map → renderer-Cl8r1LJe.mjs.map} +1 -1
- package/dist/renderer-CoLbxC13.mjs +5 -0
- package/dist/{renderer-BgO6BA_z.mjs → renderer-CpedZNEG.mjs} +3 -3
- package/dist/{renderer-BgO6BA_z.mjs.map → renderer-CpedZNEG.mjs.map} +1 -1
- package/dist/renderer-Cr9G0dXB.mjs +5 -0
- package/dist/{renderer-bAKUeHF3.mjs → renderer-CwVbHki6.mjs} +5 -5
- package/dist/{renderer-bAKUeHF3.mjs.map → renderer-CwVbHki6.mjs.map} +1 -1
- package/dist/{renderer-DTqDy2m9.mjs → renderer-CyCtm0UV.mjs} +3 -3
- package/dist/{renderer-DTqDy2m9.mjs.map → renderer-CyCtm0UV.mjs.map} +1 -1
- package/dist/{renderer-CYC32bDW.mjs → renderer-D1VsqFf4.mjs} +5 -5
- package/dist/{renderer-CYC32bDW.mjs.map → renderer-D1VsqFf4.mjs.map} +1 -1
- package/dist/{renderer-CCycwCEB.mjs → renderer-D2TTDcgh.mjs} +3 -3
- package/dist/{renderer-CCycwCEB.mjs.map → renderer-D2TTDcgh.mjs.map} +1 -1
- package/dist/renderer-D63l6_UC.mjs +5 -0
- package/dist/renderer-DCJqnzER.mjs +5 -0
- package/dist/{renderer-cod5Ona9.mjs → renderer-DEQeONTd.mjs} +3 -3
- package/dist/renderer-DFBOR5J3.mjs +5 -0
- package/dist/renderer-DGAZSzw6.mjs +5 -0
- package/dist/{renderer-oKRF4A0M.mjs → renderer-DH7l5WFr.mjs} +4 -4
- package/dist/{renderer-oKRF4A0M.mjs.map → renderer-DH7l5WFr.mjs.map} +1 -1
- package/dist/{renderer-DNQvOrkY.mjs → renderer-DIEmK57T.mjs} +5 -5
- package/dist/{renderer-DNQvOrkY.mjs.map → renderer-DIEmK57T.mjs.map} +1 -1
- package/dist/{renderer-DEmYyaqj.mjs → renderer-DIqkhsLI.mjs} +4 -4
- package/dist/{renderer-DEmYyaqj.mjs.map → renderer-DIqkhsLI.mjs.map} +1 -1
- package/dist/{renderer-DX41niRU.mjs → renderer-DOKHd37M.mjs} +4 -4
- package/dist/{renderer-DX41niRU.mjs.map → renderer-DOKHd37M.mjs.map} +1 -1
- package/dist/renderer-DPLGk1Qk.mjs +5 -0
- package/dist/renderer-DTCUzByS.mjs +5 -0
- package/dist/{renderer-BXJXziIt.mjs → renderer-DW7hbluw.mjs} +3 -3
- package/dist/{renderer-BXJXziIt.mjs.map → renderer-DW7hbluw.mjs.map} +1 -1
- package/dist/{renderer--fkmiVjl.mjs → renderer-Dat8opUZ.mjs} +4 -4
- package/dist/{renderer--fkmiVjl.mjs.map → renderer-Dat8opUZ.mjs.map} +1 -1
- package/dist/renderer-DdGahYi1.mjs +5 -0
- package/dist/{renderer-DmkWrWAk.mjs → renderer-Dee8ksIV.mjs} +3 -3
- package/dist/{renderer-DmkWrWAk.mjs.map → renderer-Dee8ksIV.mjs.map} +1 -1
- package/dist/renderer-DhL4nNPk.mjs +5 -0
- package/dist/renderer-DkyTbiVz.mjs +3 -0
- package/dist/renderer-DnAZweRX.mjs +5 -0
- package/dist/{renderer-BX7jS14r.d.mts → renderer-DoPEPlbG.d.mts} +3 -2
- package/dist/{renderer-BX7jS14r.d.mts.map → renderer-DoPEPlbG.d.mts.map} +1 -1
- package/dist/renderer-DpisVnT2.mjs +5 -0
- package/dist/{renderer-mNSyac1V.mjs → renderer-DrWeb39d.mjs} +1 -1
- package/dist/{renderer-mNSyac1V.mjs.map → renderer-DrWeb39d.mjs.map} +1 -1
- package/dist/renderer-Ds7pAKnE.mjs +3 -0
- package/dist/{renderer-CiQhD8Gg.mjs → renderer-Dss7T71q.mjs} +5 -5
- package/dist/{renderer-CiQhD8Gg.mjs.map → renderer-Dss7T71q.mjs.map} +1 -1
- package/dist/{renderer-C41U1tK6.mjs → renderer-Du-GnKLb.mjs} +9 -9
- package/dist/{renderer-C41U1tK6.mjs.map → renderer-Du-GnKLb.mjs.map} +1 -1
- package/dist/renderer-DxZD5B54.mjs +5 -0
- package/dist/{renderer-WCZu2Rf5.mjs → renderer-ESkPj6pk.mjs} +4 -4
- package/dist/{renderer-WCZu2Rf5.mjs.map → renderer-ESkPj6pk.mjs.map} +1 -1
- package/dist/{renderer-DMvmf3T2.mjs → renderer-F1D9ZJ8I.mjs} +3 -3
- package/dist/{renderer-BlPqTEii.mjs → renderer-HnSiwSW8.mjs} +4 -4
- package/dist/{renderer-BlPqTEii.mjs.map → renderer-HnSiwSW8.mjs.map} +1 -1
- package/dist/{renderer-1r-Uq-Ae.mjs → renderer-IQ97z2rw.mjs} +3 -3
- package/dist/{renderer-1r-Uq-Ae.mjs.map → renderer-IQ97z2rw.mjs.map} +1 -1
- package/dist/{renderer-DFzI3yI_.mjs → renderer-NTCk1Srf.mjs} +3 -3
- package/dist/{renderer-DFzI3yI_.mjs.map → renderer-NTCk1Srf.mjs.map} +1 -1
- package/dist/{renderer-D8bBHrWC.mjs → renderer-OsQRvOle.mjs} +5 -5
- package/dist/{renderer-D8bBHrWC.mjs.map → renderer-OsQRvOle.mjs.map} +1 -1
- package/dist/renderer-PMHOnbnA.mjs +5 -0
- package/dist/renderer-STufNpMx.mjs +5 -0
- package/dist/renderer-SdrgfCxH.mjs +5 -0
- package/dist/{renderer-Lth37j17.mjs → renderer-US4GsamT.mjs} +3 -3
- package/dist/{renderer-zXPVLRlD.mjs → renderer-VhkubIx_.mjs} +5 -5
- package/dist/{renderer-zXPVLRlD.mjs.map → renderer-VhkubIx_.mjs.map} +1 -1
- package/dist/{renderer-DIw3UtEU.mjs → renderer-bbaMOD4I.mjs} +5 -5
- package/dist/{renderer-DIw3UtEU.mjs.map → renderer-bbaMOD4I.mjs.map} +1 -1
- package/dist/{renderer-hSCfnvaK.mjs → renderer-eT7Gp7FS.mjs} +5 -5
- package/dist/{renderer-hSCfnvaK.mjs.map → renderer-eT7Gp7FS.mjs.map} +1 -1
- package/dist/{renderer-CQvmbRQ5.mjs → renderer-g7fF2AYk.mjs} +5 -5
- package/dist/{renderer-CQvmbRQ5.mjs.map → renderer-g7fF2AYk.mjs.map} +1 -1
- package/dist/{renderer-B-ur0Ej8.mjs → renderer-mLlgfM7X.mjs} +4 -4
- package/dist/{renderer-B-ur0Ej8.mjs.map → renderer-mLlgfM7X.mjs.map} +1 -1
- package/dist/{renderer-SSBL4M1o.mjs → renderer-mQt-y49D.mjs} +5 -5
- package/dist/{renderer-SSBL4M1o.mjs.map → renderer-mQt-y49D.mjs.map} +1 -1
- package/dist/{renderer-BIGFP1cF.mjs → renderer-q4zMFfnY.mjs} +2 -2
- package/dist/{renderer-BIGFP1cF.mjs.map → renderer-q4zMFfnY.mjs.map} +1 -1
- package/dist/{renderer-DXEWbnRF.mjs → renderer-sPI7aY6c.mjs} +4 -4
- package/dist/{renderer-DXEWbnRF.mjs.map → renderer-sPI7aY6c.mjs.map} +1 -1
- package/dist/{renderer-sYSkIUfo.mjs → renderer-xDV2cCkX.mjs} +5 -5
- package/dist/{renderer-sYSkIUfo.mjs.map → renderer-xDV2cCkX.mjs.map} +1 -1
- package/dist/{renderers-CP8CFWDs-DH2oktaC.mjs → renderers-CP8CFWDs-BH1gUTYa.mjs} +4 -4
- package/dist/{renderers-CP8CFWDs-DH2oktaC.mjs.map → renderers-CP8CFWDs-BH1gUTYa.mjs.map} +1 -1
- package/dist/sam/index.d.mts +4 -0
- package/dist/sam/index.mjs +3 -0
- package/dist/signals/index.d.mts +7 -6
- package/dist/signals/index.mjs +8 -8
- package/dist/{signals-CXwgAUp-.mjs → signals-gOd0Ui9B.mjs} +4 -4
- package/dist/{signals-CXwgAUp-.mjs.map → signals-gOd0Ui9B.mjs.map} +1 -1
- package/dist/{src-CK5rGVbh.mjs → src-BU1VOWSk.mjs} +81 -39
- package/dist/src-BU1VOWSk.mjs.map +1 -0
- package/dist/{renderer-B0piZg9r.mjs → src-Bnr8DUC--DzkRGA62.mjs} +12 -993
- package/dist/src-Bnr8DUC--DzkRGA62.mjs.map +1 -0
- package/package.json +69 -69
- package/dist/audio-Ccpl9mjV.d.mts.map +0 -1
- package/dist/index-CZjrnylh.d.mts.map +0 -1
- package/dist/index-D5UDyVMb.d.mts.map +0 -1
- package/dist/index-Du5YgdzM.d.mts.map +0 -1
- package/dist/preview-engine/chunk-CCB3VTY2.mjs +0 -39
- package/dist/preview-engine/src-NGVAJYHC.mjs +0 -8
- package/dist/renderer--Ac-dg4A.mjs +0 -5
- package/dist/renderer--N7TMqzU.mjs +0 -5
- package/dist/renderer-2ecmdOae.mjs +0 -5
- package/dist/renderer-B0piZg9r.mjs.map +0 -1
- package/dist/renderer-B5RJp5g-.mjs +0 -5
- package/dist/renderer-B7xyT1Vb.mjs +0 -5
- package/dist/renderer-BBeArN_x.mjs +0 -5
- package/dist/renderer-BCAZDu-r.mjs +0 -5
- package/dist/renderer-BJnhik7Y.mjs +0 -5
- package/dist/renderer-BxRW8MZO.mjs +0 -5
- package/dist/renderer-C-lfsEAN.mjs +0 -5
- package/dist/renderer-C6nOFN4-.mjs +0 -5
- package/dist/renderer-C84TSQmS.mjs +0 -5
- package/dist/renderer-C8_6YofT.mjs +0 -5
- package/dist/renderer-COR66Sby.mjs +0 -3
- package/dist/renderer-COb3tOPG.mjs +0 -5
- package/dist/renderer-CSCIzaLy.mjs +0 -5
- package/dist/renderer-CmI4c8MS.mjs +0 -5
- package/dist/renderer-CqVltdX9.mjs +0 -5
- package/dist/renderer-D-FpMzLY.mjs +0 -5
- package/dist/renderer-D-Oyn9mG.mjs +0 -5
- package/dist/renderer-D2QrkA8_.mjs +0 -5
- package/dist/renderer-D64r4iN-.mjs +0 -5
- package/dist/renderer-DCq6YkgP.mjs +0 -5
- package/dist/renderer-DDHG3GdR.mjs +0 -5
- package/dist/renderer-DMdNfcud.mjs +0 -6
- package/dist/renderer-DZQXZ4lK.mjs +0 -5
- package/dist/renderer-DczJJLA1.mjs +0 -5
- package/dist/renderer-DfqJj9oe.mjs +0 -5
- package/dist/renderer-DgO9ihVJ.mjs +0 -5
- package/dist/renderer-DhgnQZYb.mjs +0 -5
- package/dist/renderer-DjxKjHMf.mjs +0 -5
- package/dist/renderer-DnRDW2Oz.mjs +0 -3
- package/dist/renderer-DqLA5cdR.mjs +0 -5
- package/dist/renderer-Dudp6ZlH.mjs +0 -5
- package/dist/renderer-_jC5KIT1.mjs +0 -5
- package/dist/renderer-cTgAuVmJ.mjs +0 -5
- package/dist/renderer-nVKDvDLO.mjs +0 -5
- package/dist/renderer-pZ6_pUo1.mjs +0 -5
- package/dist/src-CK5rGVbh.mjs.map +0 -1
- /package/dist/{chunk-BcJoO4Nm.mjs → chunk-D8S17ehY.mjs} +0 -0
- /package/dist/{renderer-COqFNSfV.mjs → renderer-Cputd36d.mjs} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-mNSyac1V.mjs","names":[],"sources":["../../node-sdk/dist/renderer.mjs"],"sourcesContent":["import { isSignal, resolveBoolean, resolveNumber, resolveParam, resolveString } from \"@framefields/core\";\n\n//#region renderer/homography.ts\n/**\n* Computes an 8-parameter 3x3 homography matrix mapping destination coordinates (quad)\n* to normalized source coordinates (unit square [0, 1]^2).\n*\n* The homography H maps destination (x, y) to source (u, v):\n* u = (h00*x + h01*y + h02) / (h20*x + h21*y + h22)\n* v = (h10*x + h11*y + h12) / (h20*x + h21*y + h22)\n*\n* Resulting array: [h00, h01, h02, h10, h11, h12, h20, h21, 1.0]\n*/\nfunction solveHomography(dstPoints, srcPoints = [\n\t{\n\t\tx: 0,\n\t\ty: 0\n\t},\n\t{\n\t\tx: 1,\n\t\ty: 0\n\t},\n\t{\n\t\tx: 0,\n\t\ty: 1\n\t},\n\t{\n\t\tx: 1,\n\t\ty: 1\n\t}\n]) {\n\tconst A = [];\n\tconst B = [];\n\tfor (let i = 0; i < 4; i++) {\n\t\tconst xi = dstPoints[i]?.x ?? 0;\n\t\tconst yi = dstPoints[i]?.y ?? 0;\n\t\tconst ui = srcPoints[i]?.x ?? 0;\n\t\tconst vi = srcPoints[i]?.y ?? 0;\n\t\tA.push([\n\t\t\txi,\n\t\t\tyi,\n\t\t\t1,\n\t\t\t0,\n\t\t\t0,\n\t\t\t0,\n\t\t\t-xi * ui,\n\t\t\t-yi * ui\n\t\t]);\n\t\tB.push(ui);\n\t\tA.push([\n\t\t\t0,\n\t\t\t0,\n\t\t\t0,\n\t\t\txi,\n\t\t\tyi,\n\t\t\t1,\n\t\t\t-xi * vi,\n\t\t\t-yi * vi\n\t\t]);\n\t\tB.push(vi);\n\t}\n\tconst n = 8;\n\tfor (let i = 0; i < n; i++) {\n\t\tlet maxRow = i;\n\t\tlet maxVal = Math.abs(A[i][i]);\n\t\tfor (let k = i + 1; k < n; k++) if (Math.abs(A[k][i]) > maxVal) {\n\t\t\tmaxVal = Math.abs(A[k][i]);\n\t\t\tmaxRow = k;\n\t\t}\n\t\tconst tempRow = A[i];\n\t\tA[i] = A[maxRow];\n\t\tA[maxRow] = tempRow;\n\t\tconst tempB = B[i];\n\t\tB[i] = B[maxRow];\n\t\tB[maxRow] = tempB;\n\t\tconst pivot = A[i][i];\n\t\tif (Math.abs(pivot) < 1e-12) A[i][i] = pivot < 0 ? -1e-12 : 1e-12;\n\t\tfor (let k = i + 1; k < n; k++) {\n\t\t\tconst factor = A[k][i] / A[i][i];\n\t\t\tfor (let j = i; j < n; j++) A[k][j] -= factor * A[i][j];\n\t\t\tB[k] -= factor * B[i];\n\t\t}\n\t}\n\tconst h = new Array(8).fill(0);\n\tfor (let i = n - 1; i >= 0; i--) {\n\t\tlet sum = B[i];\n\t\tfor (let j = i + 1; j < n; j++) sum -= A[i][j] * h[j];\n\t\th[i] = sum / A[i][i];\n\t}\n\treturn [\n\t\th[0],\n\t\th[1],\n\t\th[2],\n\t\th[3],\n\t\th[4],\n\t\th[5],\n\t\th[6],\n\t\th[7],\n\t\t1\n\t];\n}\n\n//#endregion\n//#region renderer/index.ts\n/**\n* A numeric node parameter at `frame`: a number, a signal-like `get(ctx)` or\n* `{ value }`, a `(ctx) => number` function, or anything `Number()` accepts;\n* `fallback` when none of those yields a finite number.\n*/\nfunction resolveFrameNumber(val, fallback, frame, fps) {\n\tif (val === void 0 || val === null) return fallback;\n\tif (typeof val === \"number\") return Number.isFinite(val) ? val : fallback;\n\tif (typeof val === \"object\" && val !== null) {\n\t\tif (\"get\" in val && typeof val.get === \"function\") try {\n\t\t\tconst res = val.get({\n\t\t\t\tframe,\n\t\t\t\tfps,\n\t\t\t\ttime: fps > 0 ? frame / fps : 0,\n\t\t\t\tduration: 0,\n\t\t\t\tdurationMs: 0,\n\t\t\t\tprogress: 0,\n\t\t\t\tdeltaTime: fps > 0 ? 1 / fps : 0\n\t\t\t});\n\t\t\tconst n$1 = Number(res);\n\t\t\tif (Number.isFinite(n$1)) return n$1;\n\t\t} catch {}\n\t\tif (\"value\" in val) {\n\t\t\tconst n$1 = Number(val.value);\n\t\t\tif (Number.isFinite(n$1)) return n$1;\n\t\t}\n\t}\n\tif (typeof val === \"function\") try {\n\t\tconst n$1 = Number(val({\n\t\t\tframe,\n\t\t\tfps,\n\t\t\ttime: fps > 0 ? frame / fps : 0\n\t\t}));\n\t\tif (Number.isFinite(n$1)) return n$1;\n\t} catch {}\n\tconst n = Number(val);\n\treturn Number.isFinite(n) ? n : fallback;\n}\n/**\n* A static node parameter at `frame`: calls `get(ctx)` / `(frame, fps)`\n* functions and reads `{ value }` wrappers, keeping a signal's GPU texture\n* binding when it has one. Anything else is returned as-is.\n*/\nfunction unwrapFrameParam(raw, frame, fps) {\n\tif (raw === void 0 || raw === null) return { value: raw };\n\tif (typeof raw === \"function\") return { value: raw(frame, fps) };\n\tif (typeof raw !== \"object\") return { value: raw };\n\tconst obj = raw;\n\tif (typeof obj.get === \"function\") return { value: obj.get({\n\t\tframe,\n\t\tfps\n\t}) };\n\tif (\"value\" in obj) {\n\t\tconst sig = raw;\n\t\treturn {\n\t\t\tvalue: sig.value,\n\t\t\tgpuTextureView: sig.gpuBinding?.textureView\n\t\t};\n\t}\n\treturn { value: raw };\n}\n/**\n* A numeric parameter fed through `handleId`: a connected Number (clamped), a\n* connected Signal (sampled on the GPU, `val` stays `fallbackVal`), or else\n* `fallbackVal` clamped to [clampMin, clampMax].\n*/\nfunction resolveHandleParam(inputs, handleId, fallbackVal, clampMin, clampMax) {\n\tconst clamp = (v) => Math.max(clampMin, Math.min(clampMax, v));\n\tconst input = handleId ? inputs?.[handleId] : void 0;\n\tif (input?.connectionValid) {\n\t\tconst outputItem = input.outputItem;\n\t\tif (outputItem?.type === \"Number\") return {\n\t\t\tval: clamp(typeof outputItem.data === \"number\" ? outputItem.data : outputItem.data?.value ?? fallbackVal),\n\t\t\thasStaticSig: false,\n\t\t\tsd: null,\n\t\t\thandleId\n\t\t};\n\t\tif (outputItem?.type === \"Signal\" && outputItem.data) return {\n\t\t\tval: fallbackVal,\n\t\t\thasStaticSig: true,\n\t\t\tsd: outputItem.data,\n\t\t\thandleId\n\t\t};\n\t}\n\treturn {\n\t\tval: clamp(fallbackVal),\n\t\thasStaticSig: false,\n\t\tsd: null,\n\t\thandleId\n\t};\n}\n/**\n* A numeric field `fieldName` of a node operation, fed through its\n* `${fieldName}HandleId` input: a connected Signal/Numeric (`sd`, sampled on\n* the GPU; `value` is its offset), a connected Number, or the operation's own\n* value — each clamped to [minVal, maxVal].\n*/\nfunction resolveSignalField(op, fieldName, defaultValue, minVal = Number.NEGATIVE_INFINITY, maxVal = Number.POSITIVE_INFINITY) {\n\tconst clamp = (v) => Math.max(minVal, Math.min(maxVal, v));\n\tconst fields = op;\n\tconst handleId = fields[`${fieldName}HandleId`];\n\tconst signalInput = handleId ? op.inputs?.[handleId] : null;\n\tconst outputType = signalInput?.connectionValid ? signalInput.outputItem?.type : void 0;\n\tconst hasSignal = outputType === \"Signal\" || outputType === \"Numeric\";\n\tconst sd = hasSignal && signalInput?.outputItem?.data ? signalInput.outputItem.data : null;\n\tlet value = defaultValue;\n\tif (!hasSignal) {\n\t\tconst raw = outputType === \"Number\" ? signalInput?.outputItem?.data : fields[fieldName];\n\t\tvalue = clamp(Number(raw ?? defaultValue));\n\t} else if (sd) value = clamp(Number(sd.offset ?? defaultValue));\n\treturn {\n\t\thasSignal,\n\t\tsd,\n\t\tvalue\n\t};\n}\n/**\n* Whether the handle whose id is stored at `op[handleIdKey]` has a valid\n* Signal or Number connection.\n*/\nfunction isHandleConnected(op, handleIdKey) {\n\tconst handleId = op[handleIdKey];\n\tif (typeof handleId !== \"string\" || !handleId) return false;\n\tconst input = op.inputs?.[handleId];\n\treturn Boolean(input?.connectionValid && input.outputItem && (input.outputItem.type === \"Signal\" || input.outputItem.type === \"Number\"));\n}\nfunction defineRenderer(plugin) {\n\treturn Object.freeze(plugin);\n}\nconst GLOBAL_WEBGPU_REGISTRY_KEY = Symbol.for(\"framefields.webgpuRegistry\");\nvar WebGPURegistry = class {\n\trenderers = /* @__PURE__ */ new Map();\n\tregister(op, renderer) {\n\t\tthis.renderers.set(op, renderer);\n\t}\n\tget(op) {\n\t\treturn this.renderers.get(op);\n\t}\n\thas(op) {\n\t\treturn this.renderers.has(op);\n\t}\n};\nconst webgpuRegistry = (() => {\n\tconst g = globalThis;\n\tif (!g[GLOBAL_WEBGPU_REGISTRY_KEY]) g[GLOBAL_WEBGPU_REGISTRY_KEY] = new WebGPURegistry();\n\treturn g[GLOBAL_WEBGPU_REGISTRY_KEY];\n})();\nfunction registerWebGPURenderer(op, renderer) {\n\twebgpuRegistry.register(op, renderer);\n}\n/**\n* How far an operation's effect draws past its pixels, from its registered\n* renderer; `null` when unknown: no renderer, no `reach`, or no answer.\n*/\nfunction effectReach(operation) {\n\tconst op = operation.op;\n\tif (typeof op !== \"string\") return null;\n\treturn webgpuRegistry.get(op)?.reach?.(operation) ?? null;\n}\nregisterWebGPURenderer(\"TextureSource\", (args) => {\n\tconst op = args.props.virtualMedia.operation;\n\tif (op?.sourceTexture) args.ctx.renderer.drawTexture(args.pass, op.sourceTexture, {\n\t\tx: 0,\n\t\ty: 0,\n\t\twidth: args.targetWidth,\n\t\theight: args.targetHeight\n\t}, { opacity: Number(op.opacity ?? 1) });\n});\nvar AudioProcessorRegistry = class {\n\tprocessors = /* @__PURE__ */ new Map();\n\tregister(opType, processor) {\n\t\tthis.processors.set(opType, processor);\n\t}\n\tget(opType) {\n\t\treturn this.processors.get(opType) || null;\n\t}\n};\nconst GLOBAL_AUDIO_KEY = Symbol.for(\"framefields.audioRegistry\");\nconst audioRegistry = (() => {\n\tconst g = globalThis;\n\tif (!g[GLOBAL_AUDIO_KEY]) g[GLOBAL_AUDIO_KEY] = new AudioProcessorRegistry();\n\treturn g[GLOBAL_AUDIO_KEY];\n})();\n\n//#endregion\nexport { WebGPURegistry, audioRegistry, defineRenderer, effectReach, isHandleConnected, isSignal, registerWebGPURenderer, resolveBoolean, resolveFrameNumber, resolveHandleParam, resolveNumber, resolveParam, resolveSignalField, resolveString, solveHomography, unwrapFrameParam, webgpuRegistry };\n//# sourceMappingURL=renderer.mjs.map"],"mappings":";;;;;;;;;;;AAaA,SAAS,gBAAgB,WAAW,YAAY;CAC/C;EACC,GAAG;EACH,GAAG;EACH;CACD;EACC,GAAG;EACH,GAAG;EACH;CACD;EACC,GAAG;EACH,GAAG;EACH;CACD;EACC,GAAG;EACH,GAAG;EACH;CACD,EAAE;CACF,MAAM,IAAI,EAAE;CACZ,MAAM,IAAI,EAAE;AACZ,MAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK;EAC3B,MAAM,KAAK,UAAU,IAAI,KAAK;EAC9B,MAAM,KAAK,UAAU,IAAI,KAAK;EAC9B,MAAM,KAAK,UAAU,IAAI,KAAK;EAC9B,MAAM,KAAK,UAAU,IAAI,KAAK;AAC9B,IAAE,KAAK;GACN;GACA;GACA;GACA;GACA;GACA;GACA,CAAC,KAAK;GACN,CAAC,KAAK;GACN,CAAC;AACF,IAAE,KAAK,GAAG;AACV,IAAE,KAAK;GACN;GACA;GACA;GACA;GACA;GACA;GACA,CAAC,KAAK;GACN,CAAC,KAAK;GACN,CAAC;AACF,IAAE,KAAK,GAAG;;CAEX,MAAM,IAAI;AACV,MAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK;EAC3B,IAAI,SAAS;EACb,IAAI,SAAS,KAAK,IAAI,EAAE,GAAG,GAAG;AAC9B,OAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAK,KAAI,KAAK,IAAI,EAAE,GAAG,GAAG,GAAG,QAAQ;AAC/D,YAAS,KAAK,IAAI,EAAE,GAAG,GAAG;AAC1B,YAAS;;EAEV,MAAM,UAAU,EAAE;AAClB,IAAE,KAAK,EAAE;AACT,IAAE,UAAU;EACZ,MAAM,QAAQ,EAAE;AAChB,IAAE,KAAK,EAAE;AACT,IAAE,UAAU;EACZ,MAAM,QAAQ,EAAE,GAAG;AACnB,MAAI,KAAK,IAAI,MAAM,GAAG,MAAO,GAAE,GAAG,KAAK,QAAQ,IAAI,SAAS;AAC5D,OAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK;GAC/B,MAAM,SAAS,EAAE,GAAG,KAAK,EAAE,GAAG;AAC9B,QAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAK,GAAE,GAAG,MAAM,SAAS,EAAE,GAAG;AACrD,KAAE,MAAM,SAAS,EAAE;;;CAGrB,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC,KAAK,EAAE;AAC9B,MAAK,IAAI,IAAI,IAAI,GAAG,KAAK,GAAG,KAAK;EAChC,IAAI,MAAM,EAAE;AACZ,OAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAK,QAAO,EAAE,GAAG,KAAK,EAAE;AACnD,IAAE,KAAK,MAAM,EAAE,GAAG;;AAEnB,QAAO;EACN,EAAE;EACF,EAAE;EACF,EAAE;EACF,EAAE;EACF,EAAE;EACF,EAAE;EACF,EAAE;EACF,EAAE;EACF;EACA;;;;;;;AAUF,SAAS,mBAAmB,KAAK,UAAU,OAAO,KAAK;AACtD,KAAI,QAAQ,KAAK,KAAK,QAAQ,KAAM,QAAO;AAC3C,KAAI,OAAO,QAAQ,SAAU,QAAO,OAAO,SAAS,IAAI,GAAG,MAAM;AACjE,KAAI,OAAO,QAAQ,YAAY,QAAQ,MAAM;AAC5C,MAAI,SAAS,OAAO,OAAO,IAAI,QAAQ,WAAY,KAAI;GACtD,MAAM,MAAM,IAAI,IAAI;IACnB;IACA;IACA,MAAM,MAAM,IAAI,QAAQ,MAAM;IAC9B,UAAU;IACV,YAAY;IACZ,UAAU;IACV,WAAW,MAAM,IAAI,IAAI,MAAM;IAC/B,CAAC;GACF,MAAM,MAAM,OAAO,IAAI;AACvB,OAAI,OAAO,SAAS,IAAI,CAAE,QAAO;UAC1B;AACR,MAAI,WAAW,KAAK;GACnB,MAAM,MAAM,OAAO,IAAI,MAAM;AAC7B,OAAI,OAAO,SAAS,IAAI,CAAE,QAAO;;;AAGnC,KAAI,OAAO,QAAQ,WAAY,KAAI;EAClC,MAAM,MAAM,OAAO,IAAI;GACtB;GACA;GACA,MAAM,MAAM,IAAI,QAAQ,MAAM;GAC9B,CAAC,CAAC;AACH,MAAI,OAAO,SAAS,IAAI,CAAE,QAAO;SAC1B;CACR,MAAM,IAAI,OAAO,IAAI;AACrB,QAAO,OAAO,SAAS,EAAE,GAAG,IAAI;;;;;;;AAOjC,SAAS,iBAAiB,KAAK,OAAO,KAAK;AAC1C,KAAI,QAAQ,KAAK,KAAK,QAAQ,KAAM,QAAO,EAAE,OAAO,KAAK;AACzD,KAAI,OAAO,QAAQ,WAAY,QAAO,EAAE,OAAO,IAAI,OAAO,IAAI,EAAE;AAChE,KAAI,OAAO,QAAQ,SAAU,QAAO,EAAE,OAAO,KAAK;CAClD,MAAM,MAAM;AACZ,KAAI,OAAO,IAAI,QAAQ,WAAY,QAAO,EAAE,OAAO,IAAI,IAAI;EAC1D;EACA;EACA,CAAC,EAAE;AACJ,KAAI,WAAW,KAAK;EACnB,MAAM,MAAM;AACZ,SAAO;GACN,OAAO,IAAI;GACX,gBAAgB,IAAI,YAAY;GAChC;;AAEF,QAAO,EAAE,OAAO,KAAK;;;;;;;AAOtB,SAAS,mBAAmB,QAAQ,UAAU,aAAa,UAAU,UAAU;CAC9E,MAAM,SAAS,MAAM,KAAK,IAAI,UAAU,KAAK,IAAI,UAAU,EAAE,CAAC;CAC9D,MAAM,QAAQ,WAAW,SAAS,YAAY,KAAK;AACnD,KAAI,OAAO,iBAAiB;EAC3B,MAAM,aAAa,MAAM;AACzB,MAAI,YAAY,SAAS,SAAU,QAAO;GACzC,KAAK,MAAM,OAAO,WAAW,SAAS,WAAW,WAAW,OAAO,WAAW,MAAM,SAAS,YAAY;GACzG,cAAc;GACd,IAAI;GACJ;GACA;AACD,MAAI,YAAY,SAAS,YAAY,WAAW,KAAM,QAAO;GAC5D,KAAK;GACL,cAAc;GACd,IAAI,WAAW;GACf;GACA;;AAEF,QAAO;EACN,KAAK,MAAM,YAAY;EACvB,cAAc;EACd,IAAI;EACJ;EACA;;;;;;;;AAQF,SAAS,mBAAmB,IAAI,WAAW,cAAc,SAAS,OAAO,mBAAmB,SAAS,OAAO,mBAAmB;CAC9H,MAAM,SAAS,MAAM,KAAK,IAAI,QAAQ,KAAK,IAAI,QAAQ,EAAE,CAAC;CAC1D,MAAM,SAAS;CACf,MAAM,WAAW,OAAO,GAAG,UAAU;CACrC,MAAM,cAAc,WAAW,GAAG,SAAS,YAAY;CACvD,MAAM,aAAa,aAAa,kBAAkB,YAAY,YAAY,OAAO,KAAK;CACtF,MAAM,YAAY,eAAe,YAAY,eAAe;CAC5D,MAAM,KAAK,aAAa,aAAa,YAAY,OAAO,YAAY,WAAW,OAAO;CACtF,IAAI,QAAQ;AACZ,KAAI,CAAC,WAAW;EACf,MAAM,MAAM,eAAe,WAAW,aAAa,YAAY,OAAO,OAAO;AAC7E,UAAQ,MAAM,OAAO,OAAO,aAAa,CAAC;YAChC,GAAI,SAAQ,MAAM,OAAO,GAAG,UAAU,aAAa,CAAC;AAC/D,QAAO;EACN;EACA;EACA;EACA;;;;;;AAMF,SAAS,kBAAkB,IAAI,aAAa;CAC3C,MAAM,WAAW,GAAG;AACpB,KAAI,OAAO,aAAa,YAAY,CAAC,SAAU,QAAO;CACtD,MAAM,QAAQ,GAAG,SAAS;AAC1B,QAAO,QAAQ,OAAO,mBAAmB,MAAM,eAAe,MAAM,WAAW,SAAS,YAAY,MAAM,WAAW,SAAS,UAAU;;AAEzI,SAAS,eAAe,QAAQ;AAC/B,QAAO,OAAO,OAAO,OAAO;;AAE7B,MAAM,6BAA6B,OAAO,IAAI,6BAA6B;AAC3E,IAAI,iBAAiB,MAAM;CAC1B,4BAA4B,IAAI,KAAK;CACrC,SAAS,IAAI,UAAU;AACtB,OAAK,UAAU,IAAI,IAAI,SAAS;;CAEjC,IAAI,IAAI;AACP,SAAO,KAAK,UAAU,IAAI,GAAG;;CAE9B,IAAI,IAAI;AACP,SAAO,KAAK,UAAU,IAAI,GAAG;;;AAG/B,MAAM,wBAAwB;CAC7B,MAAM,IAAI;AACV,KAAI,CAAC,EAAE,4BAA6B,GAAE,8BAA8B,IAAI,gBAAgB;AACxF,QAAO,EAAE;IACN;AACJ,SAAS,uBAAuB,IAAI,UAAU;AAC7C,gBAAe,SAAS,IAAI,SAAS;;;;;;AAMtC,SAAS,YAAY,WAAW;CAC/B,MAAM,KAAK,UAAU;AACrB,KAAI,OAAO,OAAO,SAAU,QAAO;AACnC,QAAO,eAAe,IAAI,GAAG,EAAE,QAAQ,UAAU,IAAI;;AAEtD,uBAAuB,kBAAkB,SAAS;CACjD,MAAM,KAAK,KAAK,MAAM,aAAa;AACnC,KAAI,IAAI,cAAe,MAAK,IAAI,SAAS,YAAY,KAAK,MAAM,GAAG,eAAe;EACjF,GAAG;EACH,GAAG;EACH,OAAO,KAAK;EACZ,QAAQ,KAAK;EACb,EAAE,EAAE,SAAS,OAAO,GAAG,WAAW,EAAE,EAAE,CAAC;EACvC;AACF,IAAI,yBAAyB,MAAM;CAClC,6BAA6B,IAAI,KAAK;CACtC,SAAS,QAAQ,WAAW;AAC3B,OAAK,WAAW,IAAI,QAAQ,UAAU;;CAEvC,IAAI,QAAQ;AACX,SAAO,KAAK,WAAW,IAAI,OAAO,IAAI;;;AAGxC,MAAM,mBAAmB,OAAO,IAAI,4BAA4B;AAChE,MAAM,uBAAuB;CAC5B,MAAM,IAAI;AACV,KAAI,CAAC,EAAE,kBAAmB,GAAE,oBAAoB,IAAI,wBAAwB;AAC5E,QAAO,EAAE;IACN"}
|
|
1
|
+
{"version":3,"file":"renderer-DrWeb39d.mjs","names":[],"sources":["../../node-sdk/dist/renderer.mjs"],"sourcesContent":["import { isSignal, resolveBoolean, resolveNumber, resolveParam, resolveString } from \"@framefields/core\";\n\n//#region renderer/homography.ts\n/**\n* Computes an 8-parameter 3x3 homography matrix mapping destination coordinates (quad)\n* to normalized source coordinates (unit square [0, 1]^2).\n*\n* The homography H maps destination (x, y) to source (u, v):\n* u = (h00*x + h01*y + h02) / (h20*x + h21*y + h22)\n* v = (h10*x + h11*y + h12) / (h20*x + h21*y + h22)\n*\n* Resulting array: [h00, h01, h02, h10, h11, h12, h20, h21, 1.0]\n*/\nfunction solveHomography(dstPoints, srcPoints = [\n\t{\n\t\tx: 0,\n\t\ty: 0\n\t},\n\t{\n\t\tx: 1,\n\t\ty: 0\n\t},\n\t{\n\t\tx: 0,\n\t\ty: 1\n\t},\n\t{\n\t\tx: 1,\n\t\ty: 1\n\t}\n]) {\n\tconst A = [];\n\tconst B = [];\n\tfor (let i = 0; i < 4; i++) {\n\t\tconst xi = dstPoints[i]?.x ?? 0;\n\t\tconst yi = dstPoints[i]?.y ?? 0;\n\t\tconst ui = srcPoints[i]?.x ?? 0;\n\t\tconst vi = srcPoints[i]?.y ?? 0;\n\t\tA.push([\n\t\t\txi,\n\t\t\tyi,\n\t\t\t1,\n\t\t\t0,\n\t\t\t0,\n\t\t\t0,\n\t\t\t-xi * ui,\n\t\t\t-yi * ui\n\t\t]);\n\t\tB.push(ui);\n\t\tA.push([\n\t\t\t0,\n\t\t\t0,\n\t\t\t0,\n\t\t\txi,\n\t\t\tyi,\n\t\t\t1,\n\t\t\t-xi * vi,\n\t\t\t-yi * vi\n\t\t]);\n\t\tB.push(vi);\n\t}\n\tconst n = 8;\n\tfor (let i = 0; i < n; i++) {\n\t\tlet maxRow = i;\n\t\tlet maxVal = Math.abs(A[i][i]);\n\t\tfor (let k = i + 1; k < n; k++) if (Math.abs(A[k][i]) > maxVal) {\n\t\t\tmaxVal = Math.abs(A[k][i]);\n\t\t\tmaxRow = k;\n\t\t}\n\t\tconst tempRow = A[i];\n\t\tA[i] = A[maxRow];\n\t\tA[maxRow] = tempRow;\n\t\tconst tempB = B[i];\n\t\tB[i] = B[maxRow];\n\t\tB[maxRow] = tempB;\n\t\tconst pivot = A[i][i];\n\t\tif (Math.abs(pivot) < 1e-12) A[i][i] = pivot < 0 ? -1e-12 : 1e-12;\n\t\tfor (let k = i + 1; k < n; k++) {\n\t\t\tconst factor = A[k][i] / A[i][i];\n\t\t\tfor (let j = i; j < n; j++) A[k][j] -= factor * A[i][j];\n\t\t\tB[k] -= factor * B[i];\n\t\t}\n\t}\n\tconst h = new Array(8).fill(0);\n\tfor (let i = n - 1; i >= 0; i--) {\n\t\tlet sum = B[i];\n\t\tfor (let j = i + 1; j < n; j++) sum -= A[i][j] * h[j];\n\t\th[i] = sum / A[i][i];\n\t}\n\treturn [\n\t\th[0],\n\t\th[1],\n\t\th[2],\n\t\th[3],\n\t\th[4],\n\t\th[5],\n\t\th[6],\n\t\th[7],\n\t\t1\n\t];\n}\n\n//#endregion\n//#region renderer/index.ts\n/**\n* A numeric node parameter at `frame`: a number, a signal-like `get(ctx)` or\n* `{ value }`, a `(ctx) => number` function, or anything `Number()` accepts;\n* `fallback` when none of those yields a finite number.\n*/\nfunction resolveFrameNumber(val, fallback, frame, fps) {\n\tif (val === void 0 || val === null) return fallback;\n\tif (typeof val === \"number\") return Number.isFinite(val) ? val : fallback;\n\tif (typeof val === \"object\" && val !== null) {\n\t\tif (\"get\" in val && typeof val.get === \"function\") try {\n\t\t\tconst res = val.get({\n\t\t\t\tframe,\n\t\t\t\tfps,\n\t\t\t\ttime: fps > 0 ? frame / fps : 0,\n\t\t\t\tduration: 0,\n\t\t\t\tdurationMs: 0,\n\t\t\t\tprogress: 0,\n\t\t\t\tdeltaTime: fps > 0 ? 1 / fps : 0\n\t\t\t});\n\t\t\tconst n$1 = Number(res);\n\t\t\tif (Number.isFinite(n$1)) return n$1;\n\t\t} catch {}\n\t\tif (\"value\" in val) {\n\t\t\tconst n$1 = Number(val.value);\n\t\t\tif (Number.isFinite(n$1)) return n$1;\n\t\t}\n\t}\n\tif (typeof val === \"function\") try {\n\t\tconst n$1 = Number(val({\n\t\t\tframe,\n\t\t\tfps,\n\t\t\ttime: fps > 0 ? frame / fps : 0\n\t\t}));\n\t\tif (Number.isFinite(n$1)) return n$1;\n\t} catch {}\n\tconst n = Number(val);\n\treturn Number.isFinite(n) ? n : fallback;\n}\n/**\n* A static node parameter at `frame`: calls `get(ctx)` / `(frame, fps)`\n* functions and reads `{ value }` wrappers, keeping a signal's GPU texture\n* binding when it has one. Anything else is returned as-is.\n*/\nfunction unwrapFrameParam(raw, frame, fps) {\n\tif (raw === void 0 || raw === null) return { value: raw };\n\tif (typeof raw === \"function\") return { value: raw(frame, fps) };\n\tif (typeof raw !== \"object\") return { value: raw };\n\tconst obj = raw;\n\tif (typeof obj.get === \"function\") return { value: obj.get({\n\t\tframe,\n\t\tfps\n\t}) };\n\tif (\"value\" in obj) {\n\t\tconst sig = raw;\n\t\treturn {\n\t\t\tvalue: sig.value,\n\t\t\tgpuTextureView: sig.gpuBinding?.textureView\n\t\t};\n\t}\n\treturn { value: raw };\n}\n/**\n* A numeric parameter fed through `handleId`: a connected Number (clamped), a\n* connected Signal (sampled on the GPU, `val` stays `fallbackVal`), or else\n* `fallbackVal` clamped to [clampMin, clampMax].\n*/\nfunction resolveHandleParam(inputs, handleId, fallbackVal, clampMin, clampMax) {\n\tconst clamp = (v) => Math.max(clampMin, Math.min(clampMax, v));\n\tconst input = handleId ? inputs?.[handleId] : void 0;\n\tif (input?.connectionValid) {\n\t\tconst outputItem = input.outputItem;\n\t\tif (outputItem?.type === \"Number\") return {\n\t\t\tval: clamp(typeof outputItem.data === \"number\" ? outputItem.data : outputItem.data?.value ?? fallbackVal),\n\t\t\thasStaticSig: false,\n\t\t\tsd: null,\n\t\t\thandleId\n\t\t};\n\t\tif (outputItem?.type === \"Signal\" && outputItem.data) return {\n\t\t\tval: fallbackVal,\n\t\t\thasStaticSig: true,\n\t\t\tsd: outputItem.data,\n\t\t\thandleId\n\t\t};\n\t}\n\treturn {\n\t\tval: clamp(fallbackVal),\n\t\thasStaticSig: false,\n\t\tsd: null,\n\t\thandleId\n\t};\n}\n/**\n* A numeric field `fieldName` of a node operation, fed through its\n* `${fieldName}HandleId` input: a connected Signal/Numeric (`sd`, sampled on\n* the GPU; `value` is its offset), a connected Number, or the operation's own\n* value — each clamped to [minVal, maxVal].\n*/\nfunction resolveSignalField(op, fieldName, defaultValue, minVal = Number.NEGATIVE_INFINITY, maxVal = Number.POSITIVE_INFINITY) {\n\tconst clamp = (v) => Math.max(minVal, Math.min(maxVal, v));\n\tconst fields = op;\n\tconst handleId = fields[`${fieldName}HandleId`];\n\tconst signalInput = handleId ? op.inputs?.[handleId] : null;\n\tconst outputType = signalInput?.connectionValid ? signalInput.outputItem?.type : void 0;\n\tconst hasSignal = outputType === \"Signal\" || outputType === \"Numeric\";\n\tconst sd = hasSignal && signalInput?.outputItem?.data ? signalInput.outputItem.data : null;\n\tlet value = defaultValue;\n\tif (!hasSignal) {\n\t\tconst raw = outputType === \"Number\" ? signalInput?.outputItem?.data : fields[fieldName];\n\t\tvalue = clamp(Number(raw ?? defaultValue));\n\t} else if (sd) value = clamp(Number(sd.offset ?? defaultValue));\n\treturn {\n\t\thasSignal,\n\t\tsd,\n\t\tvalue\n\t};\n}\n/**\n* Whether the handle whose id is stored at `op[handleIdKey]` has a valid\n* Signal or Number connection.\n*/\nfunction isHandleConnected(op, handleIdKey) {\n\tconst handleId = op[handleIdKey];\n\tif (typeof handleId !== \"string\" || !handleId) return false;\n\tconst input = op.inputs?.[handleId];\n\treturn Boolean(input?.connectionValid && input.outputItem && (input.outputItem.type === \"Signal\" || input.outputItem.type === \"Number\"));\n}\nfunction defineRenderer(plugin) {\n\treturn Object.freeze(plugin);\n}\nconst GLOBAL_WEBGPU_REGISTRY_KEY = Symbol.for(\"framefields.webgpuRegistry\");\nvar WebGPURegistry = class {\n\trenderers = /* @__PURE__ */ new Map();\n\tregister(op, renderer) {\n\t\tthis.renderers.set(op, renderer);\n\t}\n\tget(op) {\n\t\treturn this.renderers.get(op);\n\t}\n\thas(op) {\n\t\treturn this.renderers.has(op);\n\t}\n};\nconst webgpuRegistry = (() => {\n\tconst g = globalThis;\n\tif (!g[GLOBAL_WEBGPU_REGISTRY_KEY]) g[GLOBAL_WEBGPU_REGISTRY_KEY] = new WebGPURegistry();\n\treturn g[GLOBAL_WEBGPU_REGISTRY_KEY];\n})();\nfunction registerWebGPURenderer(op, renderer) {\n\twebgpuRegistry.register(op, renderer);\n}\n/**\n* How far an operation's effect draws past its pixels, from its registered\n* renderer; `null` when unknown: no renderer, no `reach`, or no answer.\n*/\nfunction effectReach(operation) {\n\tconst op = operation.op;\n\tif (typeof op !== \"string\") return null;\n\treturn webgpuRegistry.get(op)?.reach?.(operation) ?? null;\n}\nregisterWebGPURenderer(\"TextureSource\", (args) => {\n\tconst op = args.props.virtualMedia.operation;\n\tif (op?.sourceTexture) args.ctx.renderer.drawTexture(args.pass, op.sourceTexture, {\n\t\tx: 0,\n\t\ty: 0,\n\t\twidth: args.targetWidth,\n\t\theight: args.targetHeight\n\t}, { opacity: Number(op.opacity ?? 1) });\n});\nvar AudioProcessorRegistry = class {\n\tprocessors = /* @__PURE__ */ new Map();\n\tregister(opType, processor) {\n\t\tthis.processors.set(opType, processor);\n\t}\n\tget(opType) {\n\t\treturn this.processors.get(opType) || null;\n\t}\n};\nconst GLOBAL_AUDIO_KEY = Symbol.for(\"framefields.audioRegistry\");\nconst audioRegistry = (() => {\n\tconst g = globalThis;\n\tif (!g[GLOBAL_AUDIO_KEY]) g[GLOBAL_AUDIO_KEY] = new AudioProcessorRegistry();\n\treturn g[GLOBAL_AUDIO_KEY];\n})();\n\n//#endregion\nexport { WebGPURegistry, audioRegistry, defineRenderer, effectReach, isHandleConnected, isSignal, registerWebGPURenderer, resolveBoolean, resolveFrameNumber, resolveHandleParam, resolveNumber, resolveParam, resolveSignalField, resolveString, solveHomography, unwrapFrameParam, webgpuRegistry };\n//# sourceMappingURL=renderer.mjs.map"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import "./chunk-
|
|
2
|
-
import { n as defineRenderer } from "./renderer-
|
|
3
|
-
import "./dist-
|
|
4
|
-
import { o as drawChildToTexture } from "./gpu-
|
|
1
|
+
import "./chunk-D8S17ehY.mjs";
|
|
2
|
+
import { n as defineRenderer } from "./renderer-DrWeb39d.mjs";
|
|
3
|
+
import "./dist-D12-a3-x.mjs";
|
|
4
|
+
import { o as drawChildToTexture } from "./gpu-zFNrvhV9.mjs";
|
|
5
5
|
|
|
6
6
|
//#region ../../nodes/node-extract-frame/dist/renderers-ByS_lnbu.mjs
|
|
7
7
|
/**
|
|
@@ -58,4 +58,4 @@ var renderers_default = defineRenderer({ WebGPURenderer: ExtractFrameWebGPURende
|
|
|
58
58
|
|
|
59
59
|
//#endregion
|
|
60
60
|
export { renderers_default as default };
|
|
61
|
-
//# sourceMappingURL=renderer-
|
|
61
|
+
//# sourceMappingURL=renderer-Dss7T71q.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-
|
|
1
|
+
{"version":3,"file":"renderer-Dss7T71q.mjs","names":[],"sources":["../../../nodes/node-extract-frame/dist/renderers-ByS_lnbu.mjs"],"sourcesContent":["import { defineRenderer } from \"@framefields/node-sdk/renderer\";\nimport { drawChildToTexture } from \"@framefields/node-sdk/gpu\";\n\n//#region src/renderers/webgpu-renderer.ts\n/**\n* WebGPU renderer for the ExtractFrame operation.\n*\n* Renders the child media (Video/Lottie/GIF) at a specific frame number,\n* producing a static image output. The frame number is stored in the operation\n* and the child is rendered at the corresponding timestamp.\n*/\nconst ExtractFrameWebGPURenderer = async (args) => {\n\tconst { ctx, props, targetView, targetWidth, targetHeight, encoder } = args;\n\tconst { virtualMedia, opacity = 1 } = props;\n\tconst op = virtualMedia?.operation;\n\tif (!op || op.op !== \"ExtractFrame\") return;\n\tconst childMedia = virtualMedia.children?.[0];\n\tif (!childMedia) return;\n\tconst frame = op.frame ?? 0;\n\tconst childMeta = childMedia.metadata;\n\tconst childFps = childMeta?.fps ?? 24;\n\tconst timestampSec = frame / childFps;\n\targs.pass.end();\n\tconst sourceWidth = childMeta?.width ?? props.containerWidth ?? targetWidth;\n\tconst sourceHeight = childMeta?.height ?? props.containerHeight ?? targetHeight;\n\tconst containerWidth = props.containerWidth ?? ctx.surface.width;\n\tconst containerHeight = props.containerHeight ?? ctx.surface.height;\n\tconst { texture: childTex } = await drawChildToTexture(args, childMedia, {\n\t\twidth: sourceWidth,\n\t\theight: sourceHeight,\n\t\tprops: {\n\t\t\t...props,\n\t\t\tcontainerWidth: sourceWidth,\n\t\t\tcontainerHeight: sourceHeight,\n\t\t\tframe,\n\t\t\tfps: childFps,\n\t\t\ttimestampSec,\n\t\t\tforceWait: true\n\t\t}\n\t});\n\tconst outPass = ctx.renderer.beginFrame(encoder, targetView, {\n\t\tr: 0,\n\t\tg: 0,\n\t\tb: 0,\n\t\ta: 0\n\t}, targetWidth, targetHeight, \"load\");\n\tctx.renderer.drawTexture(outPass, childTex, {\n\t\tx: 0,\n\t\ty: 0,\n\t\twidth: containerWidth,\n\t\theight: containerHeight\n\t}, { opacity });\n\targs.pass = outPass;\n};\n\n//#endregion\n//#region src/renderers/index.ts\nvar renderers_default = defineRenderer({ WebGPURenderer: ExtractFrameWebGPURenderer });\n\n//#endregion\nexport { renderers_default as t };\n//# sourceMappingURL=renderers-ByS_lnbu.mjs.map"],"mappings":";;;;;;;;;;;;;AAWA,MAAM,6BAA6B,OAAO,SAAS;CAClD,MAAM,EAAE,KAAK,OAAO,YAAY,aAAa,cAAc,YAAY;CACvE,MAAM,EAAE,cAAc,UAAU,MAAM;CACtC,MAAM,KAAK,cAAc;AACzB,KAAI,CAAC,MAAM,GAAG,OAAO,eAAgB;CACrC,MAAM,aAAa,aAAa,WAAW;AAC3C,KAAI,CAAC,WAAY;CACjB,MAAM,QAAQ,GAAG,SAAS;CAC1B,MAAM,YAAY,WAAW;CAC7B,MAAM,WAAW,WAAW,OAAO;CACnC,MAAM,eAAe,QAAQ;AAC7B,MAAK,KAAK,KAAK;CACf,MAAM,cAAc,WAAW,SAAS,MAAM,kBAAkB;CAChE,MAAM,eAAe,WAAW,UAAU,MAAM,mBAAmB;CACnE,MAAM,iBAAiB,MAAM,kBAAkB,IAAI,QAAQ;CAC3D,MAAM,kBAAkB,MAAM,mBAAmB,IAAI,QAAQ;CAC7D,MAAM,EAAE,SAAS,aAAa,MAAM,mBAAmB,MAAM,YAAY;EACxE,OAAO;EACP,QAAQ;EACR,OAAO;GACN,GAAG;GACH,gBAAgB;GAChB,iBAAiB;GACjB;GACA,KAAK;GACL;GACA,WAAW;GACX;EACD,CAAC;CACF,MAAM,UAAU,IAAI,SAAS,WAAW,SAAS,YAAY;EAC5D,GAAG;EACH,GAAG;EACH,GAAG;EACH,GAAG;EACH,EAAE,aAAa,cAAc,OAAO;AACrC,KAAI,SAAS,YAAY,SAAS,UAAU;EAC3C,GAAG;EACH,GAAG;EACH,OAAO;EACP,QAAQ;EACR,EAAE,EAAE,SAAS,CAAC;AACf,MAAK,OAAO;;AAKb,IAAI,oBAAoB,eAAe,EAAE,gBAAgB,4BAA4B,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import "./chunk-
|
|
2
|
-
import { It as getActiveMediaMetadata, _n as reportRenderDiagnostic, p as DEFAULT_DURATION_MS, rn as mediaSourceTime, vn as resolveBoolean, xn as resolveNumber } from "./dist-
|
|
3
|
-
import { l as solveHomography, n as defineRenderer, o as resolveFrameNumber, r as effectReach, t as audioRegistry } from "./renderer-
|
|
4
|
-
import { B as jointMatrices, F as getPrimitiveGeometry, G as measureMaxCaptionHeight, M as fitSpansToText, N as generateExtrudedTextGeometry, Q as poseNodes, _t as Vector3Math, at as spansText, d as ScreenSpaceRelightPipeline, ht as Matrix4Math, l as Renderer3D, lt as resolveMediaSourceUrl, n as AudioLatentTrackCache, nt as sampleMorphWeights, ot as srtLoader, p as SlugFontCache, pt as Light3D, q as parseColor, tt as resolveTextSpans, ut as Camera3D } from "./dist-
|
|
5
|
-
import { a as createFullscreenPipeline, l as fragmentBindGroupLayout, n as PREMULTIPLIED_BLEND, t as FULLSCREEN_QUAD_WGSL } from "./gpu-
|
|
6
|
-
import { n as decodeAudioSource, o as resolveLayerDuration, p as measureText } from "./dist-
|
|
7
|
-
import { o as TemporalDeflickerPipeline } from "./dist-
|
|
8
|
-
import { B as evaluateKeyframes, I as computeLayout, N as collectNodeOps, U as initLayout, V as evaluateTrackAtFrame } from "./program-
|
|
1
|
+
import "./chunk-D8S17ehY.mjs";
|
|
2
|
+
import { It as getActiveMediaMetadata, _n as reportRenderDiagnostic, p as DEFAULT_DURATION_MS, rn as mediaSourceTime, vn as resolveBoolean, xn as resolveNumber } from "./dist-ByxHoMQI.mjs";
|
|
3
|
+
import { l as solveHomography, n as defineRenderer, o as resolveFrameNumber, r as effectReach, t as audioRegistry } from "./renderer-DrWeb39d.mjs";
|
|
4
|
+
import { B as jointMatrices, F as getPrimitiveGeometry, G as measureMaxCaptionHeight, M as fitSpansToText, N as generateExtrudedTextGeometry, Q as poseNodes, _t as Vector3Math, at as spansText, d as ScreenSpaceRelightPipeline, ht as Matrix4Math, l as Renderer3D, lt as resolveMediaSourceUrl, n as AudioLatentTrackCache, nt as sampleMorphWeights, ot as srtLoader, p as SlugFontCache, pt as Light3D, q as parseColor, tt as resolveTextSpans, ut as Camera3D } from "./dist-D12-a3-x.mjs";
|
|
5
|
+
import { a as createFullscreenPipeline, l as fragmentBindGroupLayout, n as PREMULTIPLIED_BLEND, t as FULLSCREEN_QUAD_WGSL } from "./gpu-zFNrvhV9.mjs";
|
|
6
|
+
import { n as decodeAudioSource, o as resolveLayerDuration, p as measureText } from "./dist-DEUU6sNe.mjs";
|
|
7
|
+
import { o as TemporalDeflickerPipeline } from "./dist-Cn8bDsQF.mjs";
|
|
8
|
+
import { B as evaluateKeyframes, I as computeLayout, N as collectNodeOps, U as initLayout, V as evaluateTrackAtFrame } from "./program-xjIwjKb6.mjs";
|
|
9
9
|
import gsapModule from "gsap";
|
|
10
10
|
|
|
11
11
|
//#region ../../nodes/node-compositor/dist/renderers-X4CI4wde.mjs
|
|
@@ -4593,4 +4593,4 @@ var renderers_default = defineRenderer({ WebGPURenderer: CompositorWebGPURendere
|
|
|
4593
4593
|
|
|
4594
4594
|
//#endregion
|
|
4595
4595
|
export { Transform3DMath, renderers_default as default, has3DTransform };
|
|
4596
|
-
//# sourceMappingURL=renderer-
|
|
4596
|
+
//# sourceMappingURL=renderer-Du-GnKLb.mjs.map
|