framefields 2.13.0 → 2.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -4
- package/dist/audio/index.d.mts +3 -3
- package/dist/audio/index.mjs +10 -10
- package/dist/{audio-CHV33Od9.d.mts → audio-C4B9p_yq.d.mts} +2 -2
- package/dist/{audio-CHV33Od9.d.mts.map → audio-C4B9p_yq.d.mts.map} +1 -1
- package/dist/{audio-DHzLQ_RG.mjs → audio-DIvi6hTD.mjs} +3 -3
- package/dist/{audio-DHzLQ_RG.mjs.map → audio-DIvi6hTD.mjs.map} +1 -1
- package/dist/cli/check-worker.mjs +43 -43
- package/dist/cloud/index.d.mts.map +1 -1
- package/dist/components/index.d.mts +7 -7
- package/dist/components/index.mjs +42 -42
- package/dist/{dist-CUNvNDS3.mjs → dist-CCrYOkcc.mjs} +18 -4
- package/dist/dist-CCrYOkcc.mjs.map +1 -0
- package/dist/{dist-D3BeAZ7X.mjs → dist-DtPPPsZV.mjs} +314 -137
- package/dist/dist-DtPPPsZV.mjs.map +1 -0
- package/dist/effects/index.d.mts +3 -3
- package/dist/effects/index.mjs +34 -34
- package/dist/{effects-BiDgCK1L.mjs → effects-B-L3rLs6.mjs} +2 -2
- package/dist/{effects-BiDgCK1L.mjs.map → effects-B-L3rLs6.mjs.map} +1 -1
- package/dist/fonts/index.mjs +2 -2
- package/dist/{fonts-DeDPWdvJ.mjs → fonts-k5ll8NTE.mjs} +2 -2
- package/dist/{fonts-DeDPWdvJ.mjs.map → fonts-k5ll8NTE.mjs.map} +1 -1
- package/dist/{gpu-CWjgql4C.mjs → gpu-D2HT3KcE.mjs} +2 -2
- package/dist/{gpu-CWjgql4C.mjs.map → gpu-D2HT3KcE.mjs.map} +1 -1
- package/dist/{index-D68eGFNE.d.mts → index-B08eSpaI.d.mts} +2 -2
- package/dist/{index-D68eGFNE.d.mts.map → index-B08eSpaI.d.mts.map} +1 -1
- package/dist/index-BFTtXosj.d.mts.map +1 -1
- package/dist/{index-YB9j9KUx.d.mts → index-BGlaws7-.d.mts} +2 -2
- package/dist/{index-YB9j9KUx.d.mts.map → index-BGlaws7-.d.mts.map} +1 -1
- package/dist/{index-Dibc_xpC.d.mts → index-ByhlTwxh.d.mts} +3 -3
- package/dist/{index-Dibc_xpC.d.mts.map → index-ByhlTwxh.d.mts.map} +1 -1
- package/dist/{index-X2u96TEo.d.mts → index-C2yaponf.d.mts} +2 -3
- package/dist/index-C2yaponf.d.mts.map +1 -0
- package/dist/{index-E2IXX0Cz.d.mts → index-CtKUQ2VG.d.mts} +4 -4
- package/dist/{index-E2IXX0Cz.d.mts.map → index-CtKUQ2VG.d.mts.map} +1 -1
- package/dist/index.d.mts +7 -7
- package/dist/index.mjs +49 -49
- package/dist/preview/index.d.mts +1 -1
- package/dist/preview/index.mjs +10 -10
- package/dist/preview-engine/audio.mjs +1 -1
- package/dist/preview-engine/{chunk-IEEV5RB3.mjs → chunk-3C2XT64C.mjs} +1 -1
- package/dist/preview-engine/chunk-52X7SURQ.mjs +494 -0
- package/dist/preview-engine/{chunk-77WWW75O.mjs → chunk-5ZS46EFB.mjs} +1 -1
- package/dist/preview-engine/{chunk-4P3MMJWD.mjs → chunk-FZ4RD7HV.mjs} +1 -1
- package/dist/preview-engine/{chunk-UFPA36D2.mjs → chunk-N3XTDAL6.mjs} +18 -18
- package/dist/preview-engine/chunk-OBIJIQCZ.mjs +1 -0
- package/dist/preview-engine/{chunk-SMHEMYCV.mjs → chunk-UBY2UYEL.mjs} +1 -1
- package/dist/preview-engine/{chunk-XYCR3STG.mjs → chunk-XCPRRMMW.mjs} +31 -31
- 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-ZMMQ7S2A.mjs +228 -0
- package/dist/preview-engine/signals.mjs +1 -1
- package/dist/{preview-PDz7o2xg.mjs → preview-lHH8Tv4j.mjs} +3 -3
- package/dist/{preview-PDz7o2xg.mjs.map → preview-lHH8Tv4j.mjs.map} +1 -1
- package/dist/{program-Bn6ko_I4.mjs → program-BfiB9ttP.mjs} +15 -2
- package/dist/program-BfiB9ttP.mjs.map +1 -0
- package/dist/renderer/index.d.mts +1 -1
- package/dist/renderer/index.mjs +2 -2
- package/dist/renderer-0rLmztAv.mjs +5 -0
- package/dist/{renderer-BjgFpwVK.mjs → renderer-4nsuReW2.mjs} +3 -3
- package/dist/{renderer-BjgFpwVK.mjs.map → renderer-4nsuReW2.mjs.map} +1 -1
- package/dist/{renderer-DJPZs_zV.mjs → renderer-7xQmXXMH.mjs} +3 -3
- package/dist/{renderer-DJPZs_zV.mjs.map → renderer-7xQmXXMH.mjs.map} +1 -1
- package/dist/renderer-B0pjOXFY.mjs +5 -0
- package/dist/{renderer-C_1eqfI0.mjs → renderer-B10HDC13.mjs} +3 -3
- package/dist/{renderer-C_1eqfI0.mjs.map → renderer-B10HDC13.mjs.map} +1 -1
- package/dist/{renderer-DRal7Goa.mjs → renderer-B2IUPjhw.mjs} +3 -3
- package/dist/{renderer-DRal7Goa.mjs.map → renderer-B2IUPjhw.mjs.map} +1 -1
- package/dist/{renderer-Br8km655.mjs → renderer-B3_GddgJ.mjs} +2 -2
- package/dist/{renderer-Br8km655.mjs.map → renderer-B3_GddgJ.mjs.map} +1 -1
- package/dist/{renderer-DOZPZTxe.mjs → renderer-B3un4Pdi.mjs} +3 -3
- package/dist/{renderer-DOZPZTxe.mjs.map → renderer-B3un4Pdi.mjs.map} +1 -1
- package/dist/{renderer-Dp5ChuOs.mjs → renderer-B6bK9rXm.mjs} +2 -2
- package/dist/{renderer-Dp5ChuOs.mjs.map → renderer-B6bK9rXm.mjs.map} +1 -1
- package/dist/renderer-B7J13reL.mjs +5 -0
- package/dist/{renderer-Nnu32rqg.mjs → renderer-BEhZiOT4.mjs} +2 -2
- package/dist/{renderer-Nnu32rqg.mjs.map → renderer-BEhZiOT4.mjs.map} +1 -1
- package/dist/{renderer-C7m7Yxgc.mjs → renderer-BEuXJY-C.mjs} +3 -3
- package/dist/{renderer-C7m7Yxgc.mjs.map → renderer-BEuXJY-C.mjs.map} +1 -1
- package/dist/{renderer-D-fzEZfX.mjs → renderer-BGchUBW_.mjs} +2 -2
- package/dist/{renderer-D-fzEZfX.mjs.map → renderer-BGchUBW_.mjs.map} +1 -1
- package/dist/{renderer--Q0pM9Vh.mjs → renderer-BIKkxw_Z.mjs} +3 -3
- package/dist/{renderer--Q0pM9Vh.mjs.map → renderer-BIKkxw_Z.mjs.map} +1 -1
- package/dist/{renderer-Dz6P-rPI.mjs → renderer-BM19iK8v.mjs} +2 -2
- package/dist/{renderer-Dz6P-rPI.mjs.map → renderer-BM19iK8v.mjs.map} +1 -1
- package/dist/{renderer-CE4535aW.mjs → renderer-BOlHW3Mi.mjs} +2 -2
- package/dist/{renderer-CE4535aW.mjs.map → renderer-BOlHW3Mi.mjs.map} +1 -1
- package/dist/renderer-BPGIKGgl.mjs +5 -0
- package/dist/{renderer-C9dqx3U7.mjs → renderer-BTwuM9u-.mjs} +3 -3
- package/dist/{renderer-C9dqx3U7.mjs.map → renderer-BTwuM9u-.mjs.map} +1 -1
- package/dist/{renderer-BqUAyzCZ.mjs → renderer-BZMh2io2.mjs} +2 -2
- package/dist/{renderer-BqUAyzCZ.mjs.map → renderer-BZMh2io2.mjs.map} +1 -1
- package/dist/{renderer-BZgJj8Cl.mjs → renderer-BZX932Lj.mjs} +2 -2
- package/dist/{renderer-BZgJj8Cl.mjs.map → renderer-BZX932Lj.mjs.map} +1 -1
- package/dist/{renderer-BgjPbgbn.mjs → renderer-BhcTYhaP.mjs} +3 -3
- package/dist/{renderer-BgjPbgbn.mjs.map → renderer-BhcTYhaP.mjs.map} +1 -1
- package/dist/{renderer-CyUiXLRa.mjs → renderer-BmyFfvVA.mjs} +3 -3
- package/dist/{renderer-CyUiXLRa.mjs.map → renderer-BmyFfvVA.mjs.map} +1 -1
- package/dist/{renderer-opVuiAQR.mjs → renderer-BrEeUw7T.mjs} +2 -2
- package/dist/{renderer-opVuiAQR.mjs.map → renderer-BrEeUw7T.mjs.map} +1 -1
- package/dist/{renderer-CMnlgAGs.mjs → renderer-BsrKj6Td.mjs} +2 -2
- package/dist/{renderer-CMnlgAGs.mjs.map → renderer-BsrKj6Td.mjs.map} +1 -1
- package/dist/renderer-Bv-Artj1.mjs +5 -0
- package/dist/{renderer-BO_wuUKA.mjs → renderer-BvBqTAtk.mjs} +3 -3
- package/dist/{renderer-BO_wuUKA.mjs.map → renderer-BvBqTAtk.mjs.map} +1 -1
- package/dist/renderer-BvLjbhcL.mjs +5 -0
- package/dist/{renderer-D8gN7aqk.mjs → renderer-Bw-_GZVw.mjs} +3 -3
- package/dist/{renderer-D8gN7aqk.mjs.map → renderer-Bw-_GZVw.mjs.map} +1 -1
- package/dist/{renderer-LXhEPCmy.mjs → renderer-Bw0O--gW.mjs} +3 -3
- package/dist/{renderer-LXhEPCmy.mjs.map → renderer-Bw0O--gW.mjs.map} +1 -1
- package/dist/renderer-By6awWaf.mjs +5 -0
- package/dist/renderer-C0rvsz7m.mjs +5 -0
- package/dist/{renderer-SJyp9-62.mjs → renderer-C4hd6Cqi.mjs} +2 -2
- package/dist/{renderer-SJyp9-62.mjs.map → renderer-C4hd6Cqi.mjs.map} +1 -1
- package/dist/{renderer-CnL8Cmmr.mjs → renderer-C64_B8It.mjs} +2 -2
- package/dist/{renderer-FPiLBwj5.mjs → renderer-C98XwEIr.mjs} +2 -2
- package/dist/{renderer-FPiLBwj5.mjs.map → renderer-C98XwEIr.mjs.map} +1 -1
- package/dist/{renderer-CL-vyXgX.mjs → renderer-CC22Djgi.mjs} +3 -3
- package/dist/{renderer-CL-vyXgX.mjs.map → renderer-CC22Djgi.mjs.map} +1 -1
- package/dist/renderer-CDgud_HB.mjs +5 -0
- package/dist/renderer-CDiRF3bG.mjs +6 -0
- package/dist/{renderer-CwlY8Tb-.mjs → renderer-CHCRcCKw.mjs} +2 -2
- package/dist/{renderer-CwlY8Tb-.mjs.map → renderer-CHCRcCKw.mjs.map} +1 -1
- package/dist/renderer-CIIEQd4B.mjs +5 -0
- package/dist/renderer-CJblwOA9.mjs +5 -0
- package/dist/renderer-CNMOXtXE.mjs +5 -0
- package/dist/{renderer-S9tVGneU.mjs → renderer-CO4NGvAh.mjs} +69 -69
- package/dist/{renderer-S9tVGneU.mjs.map → renderer-CO4NGvAh.mjs.map} +1 -1
- package/dist/{renderer-CxSFvKd1.mjs → renderer-CO9vE3sd.mjs} +2 -2
- package/dist/{renderer-CxSFvKd1.mjs.map → renderer-CO9vE3sd.mjs.map} +1 -1
- package/dist/renderer-COeSeNGg.mjs +5 -0
- package/dist/{renderer-NBMmvqWl.mjs → renderer-CQ4h8n7p.mjs} +3 -3
- package/dist/{renderer-NBMmvqWl.mjs.map → renderer-CQ4h8n7p.mjs.map} +1 -1
- package/dist/{renderer-BsMZ5Iaq.mjs → renderer-CRhEGqW4.mjs} +3 -3
- package/dist/{renderer-BsMZ5Iaq.mjs.map → renderer-CRhEGqW4.mjs.map} +1 -1
- package/dist/{renderer-RzkU_O1i.mjs → renderer-CSu_vYPn.mjs} +3 -3
- package/dist/{renderer-RzkU_O1i.mjs.map → renderer-CSu_vYPn.mjs.map} +1 -1
- package/dist/{renderer-BCTUqJG7.mjs → renderer-CU6WT5jW.mjs} +3 -3
- package/dist/{renderer-BCTUqJG7.mjs.map → renderer-CU6WT5jW.mjs.map} +1 -1
- package/dist/renderer-CUfElmtZ.mjs +5 -0
- package/dist/{renderer-Cp_HOmp7.mjs → renderer-CXrnzihz.mjs} +3 -3
- package/dist/{renderer-Cp_HOmp7.mjs.map → renderer-CXrnzihz.mjs.map} +1 -1
- package/dist/renderer-CYh2lFoJ.mjs +5 -0
- package/dist/renderer-CYtVZYMH.mjs +5 -0
- package/dist/{renderer-C-GTxnfv.mjs → renderer-CdXBRdFf.mjs} +2 -2
- package/dist/{renderer-C-GTxnfv.mjs.map → renderer-CdXBRdFf.mjs.map} +1 -1
- package/dist/{renderer-puQhVfDS.mjs → renderer-Cfx_FCSf.mjs} +3 -3
- package/dist/{renderer-puQhVfDS.mjs.map → renderer-Cfx_FCSf.mjs.map} +1 -1
- package/dist/renderer-CjxZlkjb.mjs +5 -0
- package/dist/{renderer-DGb_wgTW.mjs → renderer-CkTehyRX.mjs} +3 -3
- package/dist/{renderer-DGb_wgTW.mjs.map → renderer-CkTehyRX.mjs.map} +1 -1
- package/dist/{renderer-CgK7Q1G8.mjs → renderer-CldjJmRR.mjs} +2 -2
- package/dist/{renderer-BlZgyBSo.mjs → renderer-CoC64eam.mjs} +3 -3
- package/dist/{renderer-BlZgyBSo.mjs.map → renderer-CoC64eam.mjs.map} +1 -1
- package/dist/renderer-Cpd6TvTC.mjs +5 -0
- package/dist/{renderer-BPOh9x5X.mjs → renderer-Cv9CKKWG.mjs} +2 -2
- package/dist/{renderer-BPOh9x5X.mjs.map → renderer-Cv9CKKWG.mjs.map} +1 -1
- package/dist/{renderer-Cu3iKMSJ.mjs → renderer-D-mX1EVA.mjs} +3 -3
- package/dist/{renderer-Cu3iKMSJ.mjs.map → renderer-D-mX1EVA.mjs.map} +1 -1
- package/dist/{renderer-BMpmmYOq.mjs → renderer-D0h1hTOo.mjs} +2 -2
- package/dist/{renderer-BMpmmYOq.mjs.map → renderer-D0h1hTOo.mjs.map} +1 -1
- package/dist/{renderer-DpZballM.mjs → renderer-D0xM67cK.mjs} +2 -2
- package/dist/{renderer-DpZballM.mjs.map → renderer-D0xM67cK.mjs.map} +1 -1
- package/dist/renderer-D3ziOPhX.mjs +5 -0
- package/dist/{renderer-549d94qG.mjs → renderer-DCrKEVjb.mjs} +3 -3
- package/dist/{renderer-549d94qG.mjs.map → renderer-DCrKEVjb.mjs.map} +1 -1
- package/dist/renderer-DL-phtL5.mjs +5 -0
- package/dist/{renderer-CQFMyC_c.mjs → renderer-DNynPM6X.mjs} +2 -2
- package/dist/{renderer-CQFMyC_c.mjs.map → renderer-DNynPM6X.mjs.map} +1 -1
- package/dist/renderer-DSnmYnHg.mjs +5 -0
- package/dist/renderer-DUGfsT-E.mjs +5 -0
- package/dist/renderer-DW5af9x1.mjs +5 -0
- package/dist/{renderer-B-LUGB9h.mjs → renderer-DWYmJSrl.mjs} +2 -2
- package/dist/{renderer-B-LUGB9h.mjs.map → renderer-DWYmJSrl.mjs.map} +1 -1
- package/dist/renderer-DYMrol1t.mjs +5 -0
- package/dist/{renderer-CciiDHuU.mjs → renderer-DYeNNc_G.mjs} +3 -3
- package/dist/{renderer-CciiDHuU.mjs.map → renderer-DYeNNc_G.mjs.map} +1 -1
- package/dist/{renderer-CYwVNbUh.mjs → renderer-DYlx7VHo.mjs} +2 -2
- package/dist/{renderer-CYwVNbUh.mjs.map → renderer-DYlx7VHo.mjs.map} +1 -1
- package/dist/{renderer-CZ5mwBW1.mjs → renderer-D_m6Qbsi.mjs} +2 -2
- package/dist/{renderer-CZ5mwBW1.mjs.map → renderer-D_m6Qbsi.mjs.map} +1 -1
- package/dist/renderer-DekeUHaz.mjs +5 -0
- package/dist/{renderer-BKi6jDi_.mjs → renderer-DhGZ41hQ.mjs} +3 -3
- package/dist/{renderer-BKi6jDi_.mjs.map → renderer-DhGZ41hQ.mjs.map} +1 -1
- package/dist/{renderer-KgsVk9c6.mjs → renderer-DiZkZ0Pr.mjs} +3 -3
- package/dist/{renderer-KgsVk9c6.mjs.map → renderer-DiZkZ0Pr.mjs.map} +1 -1
- package/dist/{renderer-BtgqTg2K.mjs → renderer-Dm57W73p.mjs} +2 -2
- package/dist/renderer-Dt5uyJdZ.mjs +5 -0
- package/dist/{renderer-g9SstkTz.mjs → renderer-DtFZbE1j.mjs} +2 -2
- package/dist/{renderer-C1ctHdXl.mjs → renderer-DvHi_wXE.mjs} +3 -3
- package/dist/{renderer-C1ctHdXl.mjs.map → renderer-DvHi_wXE.mjs.map} +1 -1
- package/dist/{renderer-vll8LX0I.mjs → renderer-Dv_iRIyx.mjs} +17 -17
- package/dist/renderer-Dv_iRIyx.mjs.map +1 -0
- package/dist/renderer-DwLQAnaK.mjs +5 -0
- package/dist/{renderer-DXFJv_e6.mjs → renderer-DzON3wDZ.mjs} +3 -3
- package/dist/{renderer-DXFJv_e6.mjs.map → renderer-DzON3wDZ.mjs.map} +1 -1
- package/dist/{renderer-RAq3LnNy.mjs → renderer-GIlQ9lZq.mjs} +2 -2
- package/dist/{renderer-RAq3LnNy.mjs.map → renderer-GIlQ9lZq.mjs.map} +1 -1
- package/dist/{renderer-DwGlDNOV.mjs → renderer-HKv5cBdp.mjs} +2 -2
- package/dist/{renderer-DwGlDNOV.mjs.map → renderer-HKv5cBdp.mjs.map} +1 -1
- package/dist/renderer-IXQP2CWM.mjs +5 -0
- package/dist/renderer-K-Pkw63O.mjs +5 -0
- package/dist/renderer-MPw2KH9P.mjs +5 -0
- package/dist/{renderer-BUj7jE6t.mjs → renderer-QbSrnPZU.mjs} +3 -3
- package/dist/{renderer-BUj7jE6t.mjs.map → renderer-QbSrnPZU.mjs.map} +1 -1
- package/dist/renderer-RPu8RMav.mjs +5 -0
- package/dist/{renderer-dRXP2dJU.mjs → renderer-TfeohPxt.mjs} +3 -3
- package/dist/{renderer-dRXP2dJU.mjs.map → renderer-TfeohPxt.mjs.map} +1 -1
- package/dist/{renderer-CuPAQjDK.mjs → renderer-Y1kjtOto.mjs} +3 -3
- package/dist/{renderer-CuPAQjDK.mjs.map → renderer-Y1kjtOto.mjs.map} +1 -1
- package/dist/{renderer-BIieU9pY.mjs → renderer-YONlI6W-.mjs} +3 -3
- package/dist/{renderer-BIieU9pY.mjs.map → renderer-YONlI6W-.mjs.map} +1 -1
- package/dist/{renderer-45ifiDkn.mjs → renderer-_J9JcCMR.mjs} +3 -3
- package/dist/{renderer-45ifiDkn.mjs.map → renderer-_J9JcCMR.mjs.map} +1 -1
- package/dist/renderer-dCqxd5N2.mjs +5 -0
- package/dist/{renderer-aRk849b3.d.mts → renderer-fG8Jy8Rx.d.mts} +2 -2
- package/dist/{renderer-aRk849b3.d.mts.map → renderer-fG8Jy8Rx.d.mts.map} +1 -1
- package/dist/renderer-lhjmE-Fp.mjs +5 -0
- package/dist/{renderer-_54hiCq0.mjs → renderer-mDBoz0zT.mjs} +3 -3
- package/dist/{renderer-_54hiCq0.mjs.map → renderer-mDBoz0zT.mjs.map} +1 -1
- package/dist/{renderer-BHPgkoEL.mjs → renderer-pn52dzZz.mjs} +2 -2
- package/dist/{renderer-BHPgkoEL.mjs.map → renderer-pn52dzZz.mjs.map} +1 -1
- package/dist/renderer-u9cmBuvM.mjs +5 -0
- package/dist/{renderer-BPiWsrC2.mjs → renderer-uER8kn7f.mjs} +2 -2
- package/dist/{renderer-BPiWsrC2.mjs.map → renderer-uER8kn7f.mjs.map} +1 -1
- package/dist/{renderer-B5b-ehRb.mjs → renderer-uzU6dsdR.mjs} +2 -2
- package/dist/{renderer-B5b-ehRb.mjs.map → renderer-uzU6dsdR.mjs.map} +1 -1
- package/dist/renderer-vH12jcpz.mjs +5 -0
- package/dist/{renderer-DxB_OfLs.mjs → renderer-yNWYqvvq.mjs} +2 -2
- package/dist/{renderer-DxB_OfLs.mjs.map → renderer-yNWYqvvq.mjs.map} +1 -1
- package/dist/{renderer-dGEMVaZ3.mjs → renderer-zLi2qFGT.mjs} +2 -2
- package/dist/{renderer-dGEMVaZ3.mjs.map → renderer-zLi2qFGT.mjs.map} +1 -1
- package/dist/{renderers-CP8CFWDs-BRQyvcut.mjs → renderers-CP8CFWDs-BufiCyn7.mjs} +2 -2
- package/dist/{renderers-CP8CFWDs-BRQyvcut.mjs.map → renderers-CP8CFWDs-BufiCyn7.mjs.map} +1 -1
- package/dist/signals/index.d.mts +4 -4
- package/dist/signals/index.mjs +4 -4
- package/dist/{src-BzFGotRc.mjs → src-DrP7fGJX.mjs} +37 -12
- package/dist/{src-BzFGotRc.mjs.map → src-DrP7fGJX.mjs.map} +1 -1
- package/package.json +60 -60
- package/dist/dist-CUNvNDS3.mjs.map +0 -1
- package/dist/dist-D3BeAZ7X.mjs.map +0 -1
- package/dist/index-X2u96TEo.d.mts.map +0 -1
- package/dist/preview-engine/chunk-7M5LE6EM.mjs +0 -483
- package/dist/preview-engine/chunk-FRJPXWAG.mjs +0 -1
- package/dist/preview-engine/renderers-TTXTV4PC.mjs +0 -228
- package/dist/program-Bn6ko_I4.mjs.map +0 -1
- package/dist/renderer-1aSF5BmY.mjs +0 -5
- package/dist/renderer-B2e4Gr9u.mjs +0 -5
- package/dist/renderer-B6fz4j50.mjs +0 -5
- package/dist/renderer-BEftIYw-.mjs +0 -5
- package/dist/renderer-BHTnO-7e.mjs +0 -5
- package/dist/renderer-BMlnQqTO.mjs +0 -5
- package/dist/renderer-BOzcFezY.mjs +0 -5
- package/dist/renderer-BVbjJIKJ.mjs +0 -5
- package/dist/renderer-BXsHKf4k.mjs +0 -5
- package/dist/renderer-Bks49NVl.mjs +0 -5
- package/dist/renderer-C-t7qFKr.mjs +0 -5
- package/dist/renderer-C24n-6CX.mjs +0 -6
- package/dist/renderer-CCReX-7M.mjs +0 -5
- package/dist/renderer-CIxFQrAm.mjs +0 -5
- package/dist/renderer-CLHBMIqJ.mjs +0 -5
- package/dist/renderer-CMJKi-Ye.mjs +0 -5
- package/dist/renderer-C_H3mHZa.mjs +0 -5
- package/dist/renderer-CfkTdR5B.mjs +0 -5
- package/dist/renderer-CnhkXJ0R.mjs +0 -5
- package/dist/renderer-CqpyVsq_.mjs +0 -5
- package/dist/renderer-CtWgIpTE.mjs +0 -5
- package/dist/renderer-CyuKr5ca.mjs +0 -5
- package/dist/renderer-D9ON_1Hf.mjs +0 -5
- package/dist/renderer-DAnTgh4o.mjs +0 -5
- package/dist/renderer-DWgpivA3.mjs +0 -5
- package/dist/renderer-Dh_qNNwR.mjs +0 -5
- package/dist/renderer-DkCpXPMP.mjs +0 -5
- package/dist/renderer-Dre-6cDR.mjs +0 -5
- package/dist/renderer-Ds5z4_HX.mjs +0 -5
- package/dist/renderer-HGSCOMyP.mjs +0 -5
- package/dist/renderer-KMY8W-cJ.mjs +0 -5
- package/dist/renderer-R21YvXz3.mjs +0 -5
- package/dist/renderer-RtzCz37W.mjs +0 -5
- package/dist/renderer-iMrqAjix.mjs +0 -5
- package/dist/renderer-sMed1u1O.mjs +0 -5
- package/dist/renderer-tsAuo46l.mjs +0 -5
- package/dist/renderer-vll8LX0I.mjs.map +0 -1
|
@@ -1537,15 +1537,15 @@ var SignalRegistry = class {
|
|
|
1537
1537
|
res.lastProcessedFrame = cacheFrame;
|
|
1538
1538
|
res.lastFingerprint = fingerprint;
|
|
1539
1539
|
if (isSamplesArray(rawSamples) && rawSamples.length > 0) {
|
|
1540
|
-
const flat = new Float32Array(numSamples);
|
|
1540
|
+
const flat$1 = new Float32Array(numSamples);
|
|
1541
1541
|
const total = rawSamples.length;
|
|
1542
1542
|
const srcFps = Number(normalizedSd?.fps) || 24;
|
|
1543
1543
|
for (let i = 0; i < numSamples; i++) {
|
|
1544
1544
|
const t = elapsedTime + i / sampleRate;
|
|
1545
1545
|
const sIdx = Math.min(total - 1, Math.max(0, Math.round(t * srcFps)));
|
|
1546
|
-
flat[i] = Number(rawSamples[sIdx]) || 0;
|
|
1546
|
+
flat$1[i] = Number(rawSamples[sIdx]) || 0;
|
|
1547
1547
|
}
|
|
1548
|
-
device.queue.writeBuffer(res.buffer, 0, flat);
|
|
1548
|
+
device.queue.writeBuffer(res.buffer, 0, flat$1);
|
|
1549
1549
|
} else if (normalizedSd?.type === "generator" && (normalizedSd.customWGSL || normalizedSd.fnBody)) {
|
|
1550
1550
|
const signalEncoder = device.createCommandEncoder({ label: `signal_1d_encoder_${nodeId}` });
|
|
1551
1551
|
this.dispatch1DGenerator(device, signalEncoder, res, elapsedTime, duration$2, normalizedSd, numSamples, sampleRate, frame, fps);
|
|
@@ -1560,8 +1560,8 @@ var SignalRegistry = class {
|
|
|
1560
1560
|
device.queue.submit([signalEncoder.finish()]);
|
|
1561
1561
|
} else {
|
|
1562
1562
|
const val = Number(normalizedSd?.offset ?? 0);
|
|
1563
|
-
const flat = new Float32Array(numSamples).fill(val);
|
|
1564
|
-
device.queue.writeBuffer(res.buffer, 0, flat);
|
|
1563
|
+
const flat$1 = new Float32Array(numSamples).fill(val);
|
|
1564
|
+
device.queue.writeBuffer(res.buffer, 0, flat$1);
|
|
1565
1565
|
}
|
|
1566
1566
|
} else if (normalizedSd?.type === "signal_math") {
|
|
1567
1567
|
const sigAId = normalizedSd.signalA?.nodeId ?? `${nodeId}_a`;
|
|
@@ -1582,8 +1582,8 @@ var SignalRegistry = class {
|
|
|
1582
1582
|
device.queue.submit([signalEncoder.finish()]);
|
|
1583
1583
|
} else {
|
|
1584
1584
|
const val = Number(normalizedSd?.offset ?? 0);
|
|
1585
|
-
const flat = new Float32Array(numSamples).fill(val);
|
|
1586
|
-
device.queue.writeBuffer(res.buffer, 0, flat);
|
|
1585
|
+
const flat$1 = new Float32Array(numSamples).fill(val);
|
|
1586
|
+
device.queue.writeBuffer(res.buffer, 0, flat$1);
|
|
1587
1587
|
}
|
|
1588
1588
|
return res.buffer;
|
|
1589
1589
|
}
|
|
@@ -1649,7 +1649,7 @@ var SignalRegistry = class {
|
|
|
1649
1649
|
device.queue.submit([signalEncoder.finish()]);
|
|
1650
1650
|
return res.textureView;
|
|
1651
1651
|
} else if (isSamplesArray(rawSamples) && rawSamples.length > 0) {
|
|
1652
|
-
const flat = new Float32Array(targetWidth * targetHeight * 4);
|
|
1652
|
+
const flat$1 = new Float32Array(targetWidth * targetHeight * 4);
|
|
1653
1653
|
const total = rawSamples.length;
|
|
1654
1654
|
const baseTime = frame !== void 0 && fps !== void 0 && fps > 0 ? frame / fps : elapsedTime;
|
|
1655
1655
|
for (let i = 0; i < targetWidth; i++) {
|
|
@@ -1659,13 +1659,13 @@ var SignalRegistry = class {
|
|
|
1659
1659
|
const val = Number(rawSamples[sIdx]) || 0;
|
|
1660
1660
|
for (let row = 0; row < targetHeight; row++) {
|
|
1661
1661
|
const idx = (row * targetWidth + i) * 4;
|
|
1662
|
-
flat[idx] = val;
|
|
1663
|
-
flat[idx + 1] = val;
|
|
1664
|
-
flat[idx + 2] = val;
|
|
1665
|
-
flat[idx + 3] = val;
|
|
1662
|
+
flat$1[idx] = val;
|
|
1663
|
+
flat$1[idx + 1] = val;
|
|
1664
|
+
flat$1[idx + 2] = val;
|
|
1665
|
+
flat$1[idx + 3] = val;
|
|
1666
1666
|
}
|
|
1667
1667
|
}
|
|
1668
|
-
const halfFlat = encodeFloat32ToFloat16(flat);
|
|
1668
|
+
const halfFlat = encodeFloat32ToFloat16(flat$1);
|
|
1669
1669
|
device.queue.writeTexture({ texture: res.texture }, halfFlat, {
|
|
1670
1670
|
bytesPerRow: targetWidth * 8,
|
|
1671
1671
|
rowsPerImage: targetHeight
|
|
@@ -1691,14 +1691,14 @@ var SignalRegistry = class {
|
|
|
1691
1691
|
device.queue.submit([signalEncoder.finish()]);
|
|
1692
1692
|
} else {
|
|
1693
1693
|
const val = Number(normalizedSd?.offset ?? 0);
|
|
1694
|
-
const flat = new Float32Array(targetWidth * targetHeight * 4);
|
|
1694
|
+
const flat$1 = new Float32Array(targetWidth * targetHeight * 4);
|
|
1695
1695
|
for (let i = 0; i < targetWidth * targetHeight; i++) {
|
|
1696
|
-
flat[i * 4] = val;
|
|
1697
|
-
flat[i * 4 + 1] = val;
|
|
1698
|
-
flat[i * 4 + 2] = val;
|
|
1699
|
-
flat[i * 4 + 3] = 1;
|
|
1696
|
+
flat$1[i * 4] = val;
|
|
1697
|
+
flat$1[i * 4 + 1] = val;
|
|
1698
|
+
flat$1[i * 4 + 2] = val;
|
|
1699
|
+
flat$1[i * 4 + 3] = 1;
|
|
1700
1700
|
}
|
|
1701
|
-
const halfFlat = encodeFloat32ToFloat16(flat);
|
|
1701
|
+
const halfFlat = encodeFloat32ToFloat16(flat$1);
|
|
1702
1702
|
device.queue.writeTexture({ texture: res.texture }, halfFlat, {
|
|
1703
1703
|
bytesPerRow: targetWidth * 8,
|
|
1704
1704
|
rowsPerImage: targetHeight
|
|
@@ -27990,6 +27990,118 @@ var ClipStack = class {
|
|
|
27990
27990
|
}
|
|
27991
27991
|
};
|
|
27992
27992
|
/**
|
|
27993
|
+
* Filling compound paths: every subpath is a contour, contours nest, and a
|
|
27994
|
+
* region is filled by SVG's nonzero rule (the windings of the contours
|
|
27995
|
+
* around it, summed, are not zero). Each filled contour is triangulated with
|
|
27996
|
+
* its direct children as holes, so a map's coastlines and islands, a
|
|
27997
|
+
* letter's counter or a ring fill as drawn instead of being bridged into
|
|
27998
|
+
* one polygon.
|
|
27999
|
+
*
|
|
28000
|
+
* Contours are taken not to cross each other (each pair is nested or
|
|
28001
|
+
* apart), which holds for maps, glyphs and icons; a contour that crosses
|
|
28002
|
+
* itself is still triangulated as well as earcut can.
|
|
28003
|
+
*/
|
|
28004
|
+
function signedArea(points) {
|
|
28005
|
+
let area = 0;
|
|
28006
|
+
for (let i = 0; i < points.length; i++) {
|
|
28007
|
+
const a = points[i];
|
|
28008
|
+
const b = points[(i + 1) % points.length];
|
|
28009
|
+
area += a.x * b.y - b.x * a.y;
|
|
28010
|
+
}
|
|
28011
|
+
return area / 2;
|
|
28012
|
+
}
|
|
28013
|
+
function flat(points) {
|
|
28014
|
+
const out = [];
|
|
28015
|
+
for (const p of points) out.push(p.x, p.y);
|
|
28016
|
+
return out;
|
|
28017
|
+
}
|
|
28018
|
+
function boxOf(points) {
|
|
28019
|
+
const box = {
|
|
28020
|
+
x0: Infinity,
|
|
28021
|
+
y0: Infinity,
|
|
28022
|
+
x1: -Infinity,
|
|
28023
|
+
y1: -Infinity
|
|
28024
|
+
};
|
|
28025
|
+
for (const p of points) {
|
|
28026
|
+
box.x0 = Math.min(box.x0, p.x);
|
|
28027
|
+
box.y0 = Math.min(box.y0, p.y);
|
|
28028
|
+
box.x1 = Math.max(box.x1, p.x);
|
|
28029
|
+
box.y1 = Math.max(box.y1, p.y);
|
|
28030
|
+
}
|
|
28031
|
+
return box;
|
|
28032
|
+
}
|
|
28033
|
+
/** The centroid of the contour's largest triangle: inside it, away from its edges. */
|
|
28034
|
+
function insidePoint(points) {
|
|
28035
|
+
const coords = flat(points);
|
|
28036
|
+
const tris = earcut(coords);
|
|
28037
|
+
const at = (k) => ({
|
|
28038
|
+
x: coords[k * 2],
|
|
28039
|
+
y: coords[k * 2 + 1]
|
|
28040
|
+
});
|
|
28041
|
+
let best = -1;
|
|
28042
|
+
let inside = points[0];
|
|
28043
|
+
for (let i = 0; i < tris.length; i += 3) {
|
|
28044
|
+
const a = at(tris[i]);
|
|
28045
|
+
const b = at(tris[i + 1]);
|
|
28046
|
+
const c = at(tris[i + 2]);
|
|
28047
|
+
const size = Math.abs((b.x - a.x) * (c.y - a.y) - (c.x - a.x) * (b.y - a.y));
|
|
28048
|
+
if (size > best) {
|
|
28049
|
+
best = size;
|
|
28050
|
+
inside = {
|
|
28051
|
+
x: (a.x + b.x + c.x) / 3,
|
|
28052
|
+
y: (a.y + b.y + c.y) / 3
|
|
28053
|
+
};
|
|
28054
|
+
}
|
|
28055
|
+
}
|
|
28056
|
+
return inside;
|
|
28057
|
+
}
|
|
28058
|
+
function contains(points, p) {
|
|
28059
|
+
let inside = false;
|
|
28060
|
+
for (let i = 0, j = points.length - 1; i < points.length; j = i++) {
|
|
28061
|
+
const a = points[i];
|
|
28062
|
+
const b = points[j];
|
|
28063
|
+
if (a.y > p.y !== b.y > p.y && p.x < (b.x - a.x) * (p.y - a.y) / (b.y - a.y) + a.x) inside = !inside;
|
|
28064
|
+
}
|
|
28065
|
+
return inside;
|
|
28066
|
+
}
|
|
28067
|
+
const encloses = (p, c) => p.box.x0 <= c.box.x0 && p.box.y0 <= c.box.y0 && p.box.x1 >= c.box.x1 && p.box.y1 >= c.box.y1 && contains(p.points, c.inside);
|
|
28068
|
+
/** Triangles filling closed `contours` by the nonzero rule, as flat [x, y, …] vertices. */
|
|
28069
|
+
function fillContours(contours) {
|
|
28070
|
+
const all = contours.map((points) => ({
|
|
28071
|
+
points,
|
|
28072
|
+
area: signedArea(points),
|
|
28073
|
+
box: boxOf(points),
|
|
28074
|
+
inside: insidePoint(points),
|
|
28075
|
+
parent: -1,
|
|
28076
|
+
winding: 0
|
|
28077
|
+
}));
|
|
28078
|
+
const order = all.map((_, i) => i).sort((a, b) => Math.abs(all[b].area) - Math.abs(all[a].area));
|
|
28079
|
+
order.forEach((ci, rank) => {
|
|
28080
|
+
const c = all[ci];
|
|
28081
|
+
for (let r = rank - 1; r >= 0; r--) {
|
|
28082
|
+
const pi = order[r];
|
|
28083
|
+
if (encloses(all[pi], c)) {
|
|
28084
|
+
c.parent = pi;
|
|
28085
|
+
break;
|
|
28086
|
+
}
|
|
28087
|
+
}
|
|
28088
|
+
c.winding = (c.parent >= 0 ? all[c.parent].winding : 0) + Math.sign(c.area);
|
|
28089
|
+
});
|
|
28090
|
+
const out = [];
|
|
28091
|
+
all.forEach((c, ci) => {
|
|
28092
|
+
if (c.winding === 0) return;
|
|
28093
|
+
const coords = flat(c.points);
|
|
28094
|
+
const holeStarts = [];
|
|
28095
|
+
for (const h of all) {
|
|
28096
|
+
if (h.parent !== ci) continue;
|
|
28097
|
+
holeStarts.push(coords.length / 2);
|
|
28098
|
+
for (const p of h.points) coords.push(p.x, p.y);
|
|
28099
|
+
}
|
|
28100
|
+
for (const k of earcut(coords, holeStarts)) out.push(coords[k * 2], coords[k * 2 + 1]);
|
|
28101
|
+
});
|
|
28102
|
+
return new Float32Array(out);
|
|
28103
|
+
}
|
|
28104
|
+
/**
|
|
27993
28105
|
* Sample a cubic bezier curve into linear segments.
|
|
27994
28106
|
*/
|
|
27995
28107
|
function sampleCubicBezier(p0, p1, p2, p3, steps = 24) {
|
|
@@ -28097,8 +28209,26 @@ function sampleSvgArc(p0, rxIn, ryIn, rotationDeg, largeArc, sweep, p1) {
|
|
|
28097
28209
|
* Parse an SVG path string (M, L, H, V, C, S, Q, T, A, Z) into line segments.
|
|
28098
28210
|
*/
|
|
28099
28211
|
function parseSvgPathToSegments(d) {
|
|
28212
|
+
return parseSvgPath(d).segments;
|
|
28213
|
+
}
|
|
28214
|
+
/**
|
|
28215
|
+
* The path's segments, and for each the subpath it belongs to (every M
|
|
28216
|
+
* starts one): fills need to know where each subpath begins.
|
|
28217
|
+
*/
|
|
28218
|
+
function parseSvgPath(d) {
|
|
28100
28219
|
const segments = [];
|
|
28101
|
-
|
|
28220
|
+
const subpaths = [];
|
|
28221
|
+
if (!d || typeof d !== "string") return {
|
|
28222
|
+
segments,
|
|
28223
|
+
subpaths
|
|
28224
|
+
};
|
|
28225
|
+
let subpath = -1;
|
|
28226
|
+
const emit = (...added) => {
|
|
28227
|
+
for (const seg of added) {
|
|
28228
|
+
segments.push(seg);
|
|
28229
|
+
subpaths.push(subpath);
|
|
28230
|
+
}
|
|
28231
|
+
};
|
|
28102
28232
|
const tokens = [];
|
|
28103
28233
|
const regex = /([a-df-z])|([-+]?(?:\d*\.\d+|\d+)(?:[eE][-+]?\d+)?)/gi;
|
|
28104
28234
|
let match;
|
|
@@ -28144,9 +28274,10 @@ function parseSvgPathToSegments(d) {
|
|
|
28144
28274
|
x,
|
|
28145
28275
|
y
|
|
28146
28276
|
};
|
|
28277
|
+
subpath++;
|
|
28147
28278
|
first = false;
|
|
28148
28279
|
} else {
|
|
28149
|
-
|
|
28280
|
+
emit({
|
|
28150
28281
|
p0: current,
|
|
28151
28282
|
p1: {
|
|
28152
28283
|
x,
|
|
@@ -28171,7 +28302,7 @@ function parseSvgPathToSegments(d) {
|
|
|
28171
28302
|
x += current.x;
|
|
28172
28303
|
y += current.y;
|
|
28173
28304
|
}
|
|
28174
|
-
|
|
28305
|
+
emit({
|
|
28175
28306
|
p0: current,
|
|
28176
28307
|
p1: {
|
|
28177
28308
|
x,
|
|
@@ -28194,7 +28325,7 @@ function parseSvgPathToSegments(d) {
|
|
|
28194
28325
|
x,
|
|
28195
28326
|
y: current.y
|
|
28196
28327
|
};
|
|
28197
|
-
|
|
28328
|
+
emit({
|
|
28198
28329
|
p0: current,
|
|
28199
28330
|
p1: next
|
|
28200
28331
|
});
|
|
@@ -28211,7 +28342,7 @@ function parseSvgPathToSegments(d) {
|
|
|
28211
28342
|
x: current.x,
|
|
28212
28343
|
y
|
|
28213
28344
|
};
|
|
28214
|
-
|
|
28345
|
+
emit({
|
|
28215
28346
|
p0: current,
|
|
28216
28347
|
p1: next
|
|
28217
28348
|
});
|
|
@@ -28248,7 +28379,7 @@ function parseSvgPathToSegments(d) {
|
|
|
28248
28379
|
x,
|
|
28249
28380
|
y
|
|
28250
28381
|
};
|
|
28251
|
-
|
|
28382
|
+
emit(...sampleCubicBezier(current, p1, p2, end));
|
|
28252
28383
|
current = end;
|
|
28253
28384
|
lastCubicControl = p2;
|
|
28254
28385
|
}
|
|
@@ -28283,7 +28414,7 @@ function parseSvgPathToSegments(d) {
|
|
|
28283
28414
|
x,
|
|
28284
28415
|
y
|
|
28285
28416
|
};
|
|
28286
|
-
|
|
28417
|
+
emit(...sampleCubicBezier(current, p1, p2, end));
|
|
28287
28418
|
current = end;
|
|
28288
28419
|
lastCubicControl = p2;
|
|
28289
28420
|
}
|
|
@@ -28309,7 +28440,7 @@ function parseSvgPathToSegments(d) {
|
|
|
28309
28440
|
x,
|
|
28310
28441
|
y
|
|
28311
28442
|
};
|
|
28312
|
-
|
|
28443
|
+
emit(...sampleQuadraticBezier(current, p1, end));
|
|
28313
28444
|
current = end;
|
|
28314
28445
|
lastQuadControl = p1;
|
|
28315
28446
|
}
|
|
@@ -28336,7 +28467,7 @@ function parseSvgPathToSegments(d) {
|
|
|
28336
28467
|
x,
|
|
28337
28468
|
y
|
|
28338
28469
|
};
|
|
28339
|
-
|
|
28470
|
+
emit(...sampleQuadraticBezier(current, p1, end));
|
|
28340
28471
|
current = end;
|
|
28341
28472
|
lastQuadControl = p1;
|
|
28342
28473
|
}
|
|
@@ -28359,14 +28490,14 @@ function parseSvgPathToSegments(d) {
|
|
|
28359
28490
|
x,
|
|
28360
28491
|
y
|
|
28361
28492
|
};
|
|
28362
|
-
|
|
28493
|
+
emit(...sampleSvgArc(current, rx, ry, rotation, largeArc, sweep, end));
|
|
28363
28494
|
current = end;
|
|
28364
28495
|
}
|
|
28365
28496
|
lastCubicControl = null;
|
|
28366
28497
|
lastQuadControl = null;
|
|
28367
28498
|
break;
|
|
28368
28499
|
case "Z":
|
|
28369
|
-
if (Math.hypot(current.x - subpathStart.x, current.y - subpathStart.y) > 1e-5)
|
|
28500
|
+
if (Math.hypot(current.x - subpathStart.x, current.y - subpathStart.y) > 1e-5) emit({
|
|
28370
28501
|
p0: current,
|
|
28371
28502
|
p1: subpathStart
|
|
28372
28503
|
});
|
|
@@ -28377,7 +28508,10 @@ function parseSvgPathToSegments(d) {
|
|
|
28377
28508
|
default: break;
|
|
28378
28509
|
}
|
|
28379
28510
|
}
|
|
28380
|
-
return
|
|
28511
|
+
return {
|
|
28512
|
+
segments,
|
|
28513
|
+
subpaths
|
|
28514
|
+
};
|
|
28381
28515
|
}
|
|
28382
28516
|
/**
|
|
28383
28517
|
* Trim linear path segments using arc-length parameterization.
|
|
@@ -28438,6 +28572,19 @@ function trimPathSegments(segments, trimStart, trimEnd, trimOffset = 0) {
|
|
|
28438
28572
|
}
|
|
28439
28573
|
}
|
|
28440
28574
|
/**
|
|
28575
|
+
* A dash pattern as SVG's `stroke-dasharray` writes it ("16 12", "4,8") or as
|
|
28576
|
+
* numbers, ready for {@link dashPathSegments}. Following SVG, an odd list is
|
|
28577
|
+
* repeated to make it even, and a negative or unreadable entry, or a pattern
|
|
28578
|
+
* of zero length, means a solid stroke (`undefined`).
|
|
28579
|
+
*/
|
|
28580
|
+
function parseDashArray(value) {
|
|
28581
|
+
if (value === void 0) return void 0;
|
|
28582
|
+
const parts = typeof value === "string" ? value.trim().split(/[\s,]+/).filter(Boolean).map(Number) : [...value];
|
|
28583
|
+
if (parts.length === 0 || parts.some((n) => !Number.isFinite(n) || n < 0)) return void 0;
|
|
28584
|
+
if (parts.reduce((sum, n) => sum + n, 0) <= 0) return void 0;
|
|
28585
|
+
return parts.length % 2 === 1 ? [...parts, ...parts] : parts;
|
|
28586
|
+
}
|
|
28587
|
+
/**
|
|
28441
28588
|
* Apply dash patterns along linear path segments.
|
|
28442
28589
|
*/
|
|
28443
28590
|
function dashPathSegments(segments, dashArray, dashOffset = 0) {
|
|
@@ -28649,6 +28796,44 @@ function triangulatePolygon(contour) {
|
|
|
28649
28796
|
if (rem.length === 3) triangles.push(rem[0], rem[1], rem[2]);
|
|
28650
28797
|
return triangles;
|
|
28651
28798
|
}
|
|
28799
|
+
/** A path's subpaths as closed point lists, degenerate ones dropped. */
|
|
28800
|
+
function pathContours(d) {
|
|
28801
|
+
const bySubpath = /* @__PURE__ */ new Map();
|
|
28802
|
+
const { segments, subpaths } = parseSvgPath(d);
|
|
28803
|
+
segments.forEach((seg, i) => {
|
|
28804
|
+
const id = subpaths[i] ?? 0;
|
|
28805
|
+
let points = bySubpath.get(id);
|
|
28806
|
+
if (!points) {
|
|
28807
|
+
points = [seg.p0];
|
|
28808
|
+
bySubpath.set(id, points);
|
|
28809
|
+
}
|
|
28810
|
+
points.push(seg.p1);
|
|
28811
|
+
});
|
|
28812
|
+
const contours = [];
|
|
28813
|
+
for (const points of bySubpath.values()) {
|
|
28814
|
+
const first = points[0];
|
|
28815
|
+
const last = points[points.length - 1];
|
|
28816
|
+
if (Math.hypot(last.x - first.x, last.y - first.y) < 1e-5) points.pop();
|
|
28817
|
+
if (points.length >= 3 && Math.abs(signedArea(points)) > 1e-6) contours.push(points);
|
|
28818
|
+
}
|
|
28819
|
+
return contours;
|
|
28820
|
+
}
|
|
28821
|
+
/** Path fills are redrawn every frame from the same data: keep the last few. */
|
|
28822
|
+
const PATH_FILL_CACHE = 64;
|
|
28823
|
+
const pathFills = /* @__PURE__ */ new Map();
|
|
28824
|
+
/** Triangles filling path `d` by the nonzero rule (see {@link fillContours}). */
|
|
28825
|
+
function cachedPathFill(d) {
|
|
28826
|
+
const hit = pathFills.get(d);
|
|
28827
|
+
if (hit) {
|
|
28828
|
+
pathFills.delete(d);
|
|
28829
|
+
pathFills.set(d, hit);
|
|
28830
|
+
return hit;
|
|
28831
|
+
}
|
|
28832
|
+
const tris = fillContours(pathContours(d));
|
|
28833
|
+
pathFills.set(d, tris);
|
|
28834
|
+
if (pathFills.size > PATH_FILL_CACHE) pathFills.delete(pathFills.keys().next().value);
|
|
28835
|
+
return tris;
|
|
28836
|
+
}
|
|
28652
28837
|
/**
|
|
28653
28838
|
* Triangulate a shape geometry into a flat Float32Array of 2D vertex pairs [x, y, x, y, ...].
|
|
28654
28839
|
*/
|
|
@@ -28773,19 +28958,16 @@ function triangulateShape(config$1) {
|
|
|
28773
28958
|
yBotHead
|
|
28774
28959
|
]);
|
|
28775
28960
|
}
|
|
28776
|
-
if (shapeType === "path" && config$1.path)
|
|
28777
|
-
const segments = parseSvgPathToSegments(config$1.path);
|
|
28778
|
-
if (segments.length === 0) return new Float32Array(0);
|
|
28779
|
-
const tris = triangulatePolygon(segments.map((s) => s.p0));
|
|
28780
|
-
const out = new Float32Array(tris.length * 2);
|
|
28781
|
-
for (let i = 0; i < tris.length; i++) {
|
|
28782
|
-
out[i * 2] = tris[i].x;
|
|
28783
|
-
out[i * 2 + 1] = tris[i].y;
|
|
28784
|
-
}
|
|
28785
|
-
return out;
|
|
28786
|
-
}
|
|
28961
|
+
if (shapeType === "path" && config$1.path) return cachedPathFill(config$1.path);
|
|
28787
28962
|
return new Float32Array(0);
|
|
28788
28963
|
}
|
|
28964
|
+
/**
|
|
28965
|
+
* Strokes a path in one instanced draw: each instance is one straight
|
|
28966
|
+
* segment (p0, p1), expanded by the vertex shader into a quad that covers it
|
|
28967
|
+
* plus half the stroke width and 2 px of antialiasing; the fragment shader
|
|
28968
|
+
* shades the segment's capped distance field. Everything shared by the
|
|
28969
|
+
* path (transform, colour, width, cap) is in the uniforms.
|
|
28970
|
+
*/
|
|
28789
28971
|
const pathWgsl = `
|
|
28790
28972
|
struct Uniforms {
|
|
28791
28973
|
transformCol0 : vec4<f32>,
|
|
@@ -28794,8 +28976,6 @@ struct Uniforms {
|
|
|
28794
28976
|
params : vec4<f32>, // x = opacity, y = surfaceWidth, z = surfaceHeight, w = strokeWidth
|
|
28795
28977
|
color : vec4<f32>,
|
|
28796
28978
|
style : vec4<f32>, // x = capType (0 = round, 1 = butt, 2 = square)
|
|
28797
|
-
p0 : vec2<f32>,
|
|
28798
|
-
p1 : vec2<f32>,
|
|
28799
28979
|
};
|
|
28800
28980
|
|
|
28801
28981
|
@group(0) @binding(0) var<uniform> u : Uniforms;
|
|
@@ -28803,17 +28983,30 @@ struct Uniforms {
|
|
|
28803
28983
|
struct VSOut {
|
|
28804
28984
|
@builtin(position) pos : vec4<f32>,
|
|
28805
28985
|
@location(0) localPos : vec2<f32>,
|
|
28986
|
+
@location(1) @interpolate(flat) p0 : vec2<f32>,
|
|
28987
|
+
@location(2) @interpolate(flat) p1 : vec2<f32>,
|
|
28806
28988
|
};
|
|
28807
28989
|
|
|
28808
|
-
@vertex fn vs(@location(0)
|
|
28990
|
+
@vertex fn vs(@builtin(vertex_index) corner : u32, @location(0) seg : vec4<f32>) -> VSOut {
|
|
28991
|
+
let p0 = seg.xy;
|
|
28992
|
+
let p1 = seg.zw;
|
|
28993
|
+
let d = p1 - p0;
|
|
28994
|
+
let len = max(length(d), 1e-6);
|
|
28995
|
+
let padding = u.params.w * 0.5 + 2.0;
|
|
28996
|
+
let along = (d / len) * padding;
|
|
28997
|
+
let across = vec2<f32>(-along.y, along.x);
|
|
28998
|
+
// Triangle strip: p0 −along ∓across, then p1 +along ∓across.
|
|
28999
|
+
let atEnd = corner >= 2u;
|
|
29000
|
+
let side = select(-1.0, 1.0, (corner & 1u) == 1u);
|
|
29001
|
+
let xy = select(p0 - along, p1 + along, atEnd) + across * side;
|
|
29002
|
+
|
|
28809
29003
|
let transform = mat3x3<f32>(u.transformCol0.xyz, u.transformCol1.xyz, u.transformCol2.xyz);
|
|
28810
29004
|
let p = transform * vec3<f32>(xy, 1.0);
|
|
28811
|
-
|
|
28812
29005
|
let surfaceSize = u.params.yz;
|
|
28813
29006
|
let clipX = (p.x / surfaceSize.x) * 2.0 - 1.0;
|
|
28814
29007
|
let clipY = 1.0 - (p.y / surfaceSize.y) * 2.0;
|
|
28815
29008
|
|
|
28816
|
-
return VSOut(vec4<f32>(clipX, clipY, 0.0, 1.0), xy);
|
|
29009
|
+
return VSOut(vec4<f32>(clipX, clipY, 0.0, 1.0), xy, p0, p1);
|
|
28817
29010
|
}
|
|
28818
29011
|
|
|
28819
29012
|
fn sdSegmentWithCap(p: vec2<f32>, a: vec2<f32>, b: vec2<f32>, radius: f32, capType: f32) -> f32 {
|
|
@@ -28825,10 +29018,10 @@ fn sdSegmentWithCap(p: vec2<f32>, a: vec2<f32>, b: vec2<f32>, radius: f32, capTy
|
|
|
28825
29018
|
let dir = ba / len;
|
|
28826
29019
|
let normal = vec2<f32>(-dir.y, dir.x);
|
|
28827
29020
|
let pa = p - a;
|
|
28828
|
-
|
|
29021
|
+
|
|
28829
29022
|
let proj = dot(pa, dir);
|
|
28830
29023
|
let perp = abs(dot(pa, normal));
|
|
28831
|
-
|
|
29024
|
+
|
|
28832
29025
|
if (capType > 0.5 && capType < 1.5) {
|
|
28833
29026
|
// Butt cap: terminates strictly at endpoints a and b
|
|
28834
29027
|
let dx = max(-proj, proj - len);
|
|
@@ -28852,15 +29045,15 @@ fn sdSegmentWithCap(p: vec2<f32>, a: vec2<f32>, b: vec2<f32>, radius: f32, capTy
|
|
|
28852
29045
|
|
|
28853
29046
|
@fragment fn fs(in : VSOut) -> @location(0) vec4<f32> {
|
|
28854
29047
|
let radius = u.params.w * 0.5;
|
|
28855
|
-
let d = sdSegmentWithCap(in.localPos,
|
|
28856
|
-
|
|
29048
|
+
let d = sdSegmentWithCap(in.localPos, in.p0, in.p1, radius, u.style.x);
|
|
29049
|
+
|
|
28857
29050
|
let fw = max(fwidth(d), 1e-5);
|
|
28858
29051
|
let edgeAlpha = clamp(0.5 - d / fw, 0.0, 1.0);
|
|
28859
29052
|
let alpha = u.color.a * u.params.x * edgeAlpha;
|
|
28860
29053
|
if (alpha <= 0.0) {
|
|
28861
29054
|
discard;
|
|
28862
29055
|
}
|
|
28863
|
-
|
|
29056
|
+
|
|
28864
29057
|
return vec4<f32>(u.color.rgb * alpha, alpha);
|
|
28865
29058
|
}
|
|
28866
29059
|
`;
|
|
@@ -28917,127 +29110,111 @@ function createVec2Pipeline(device, options) {
|
|
|
28917
29110
|
primitive: { topology: options.topology }
|
|
28918
29111
|
});
|
|
28919
29112
|
}
|
|
29113
|
+
/** A straight segment's two ends, the instance the stroke shader expands into a quad. */
|
|
29114
|
+
const SEGMENT_FLOATS = 4;
|
|
28920
29115
|
var PathPipeline = class {
|
|
28921
29116
|
device;
|
|
28922
29117
|
pipeline;
|
|
28923
29118
|
maxPipeline;
|
|
28924
29119
|
uniformLayout;
|
|
28925
29120
|
uniformPool;
|
|
28926
|
-
|
|
29121
|
+
segmentPool;
|
|
28927
29122
|
uniformBindGroupCache = new UniformBindGroupCache();
|
|
28928
|
-
scratchData = new Float32Array(
|
|
29123
|
+
scratchData = new Float32Array(24);
|
|
28929
29124
|
constructor(device, format) {
|
|
28930
29125
|
this.device = device;
|
|
28931
29126
|
this.uniformPool = new BufferPool(4096, GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST);
|
|
28932
|
-
this.
|
|
29127
|
+
this.segmentPool = new BufferPool(4096, GPUBufferUsage.VERTEX | GPUBufferUsage.COPY_DST);
|
|
28933
29128
|
const module$1 = device.createShaderModule({
|
|
28934
29129
|
label: "path.wgsl",
|
|
28935
29130
|
code: pathWgsl
|
|
28936
29131
|
});
|
|
28937
29132
|
this.uniformLayout = createUniformLayout(device);
|
|
28938
|
-
|
|
28939
|
-
label
|
|
28940
|
-
|
|
28941
|
-
|
|
28942
|
-
|
|
28943
|
-
|
|
29133
|
+
const create = (label, blend) => device.createRenderPipeline({
|
|
29134
|
+
label,
|
|
29135
|
+
layout: device.createPipelineLayout({ bindGroupLayouts: [this.uniformLayout] }),
|
|
29136
|
+
vertex: {
|
|
29137
|
+
module: module$1,
|
|
29138
|
+
entryPoint: "vs",
|
|
29139
|
+
buffers: [{
|
|
29140
|
+
arrayStride: SEGMENT_FLOATS * 4,
|
|
29141
|
+
stepMode: "instance",
|
|
29142
|
+
attributes: [{
|
|
29143
|
+
shaderLocation: 0,
|
|
29144
|
+
offset: 0,
|
|
29145
|
+
format: "float32x4"
|
|
29146
|
+
}]
|
|
29147
|
+
}]
|
|
29148
|
+
},
|
|
29149
|
+
fragment: {
|
|
29150
|
+
module: module$1,
|
|
29151
|
+
entryPoint: "fs",
|
|
29152
|
+
targets: [{
|
|
29153
|
+
format,
|
|
29154
|
+
blend
|
|
29155
|
+
}]
|
|
29156
|
+
},
|
|
29157
|
+
primitive: { topology: "triangle-strip" }
|
|
28944
29158
|
});
|
|
28945
|
-
this.
|
|
28946
|
-
|
|
28947
|
-
|
|
28948
|
-
|
|
28949
|
-
|
|
28950
|
-
|
|
28951
|
-
|
|
28952
|
-
|
|
28953
|
-
|
|
28954
|
-
|
|
28955
|
-
|
|
28956
|
-
},
|
|
28957
|
-
alpha: {
|
|
28958
|
-
srcFactor: "one",
|
|
28959
|
-
dstFactor: "one",
|
|
28960
|
-
operation: "max"
|
|
28961
|
-
}
|
|
29159
|
+
this.pipeline = create("PathPipeline", PREMULTIPLIED_OVER);
|
|
29160
|
+
this.maxPipeline = create("PathPipeline.max", {
|
|
29161
|
+
color: {
|
|
29162
|
+
srcFactor: "one",
|
|
29163
|
+
dstFactor: "one",
|
|
29164
|
+
operation: "max"
|
|
29165
|
+
},
|
|
29166
|
+
alpha: {
|
|
29167
|
+
srcFactor: "one",
|
|
29168
|
+
dstFactor: "one",
|
|
29169
|
+
operation: "max"
|
|
28962
29170
|
}
|
|
28963
29171
|
});
|
|
28964
29172
|
}
|
|
28965
29173
|
resetPools() {
|
|
28966
29174
|
this.uniformPool.reset();
|
|
28967
|
-
this.
|
|
29175
|
+
this.segmentPool.reset();
|
|
28968
29176
|
}
|
|
28969
29177
|
drawPath(pass, transformStack, pathStr, color, strokeWidth, surfaceWidth, surfaceHeight, opts) {
|
|
28970
|
-
|
|
28971
|
-
if (segments.length === 0) return;
|
|
28972
|
-
if (opts?.trimStart !== void 0 || opts?.trimEnd !== void 0 || opts?.trimOffset !== void 0) segments = trimPathSegments(segments, opts.trimStart ?? 0, opts.trimEnd ?? 1, opts.trimOffset ?? 0);
|
|
28973
|
-
if (opts?.strokeDashArray && opts.strokeDashArray.length > 0) segments = dashPathSegments(segments, opts.strokeDashArray, opts.strokeDashOffset ?? 0);
|
|
28974
|
-
if (segments.length === 0) return;
|
|
28975
|
-
const c = parseColor(color);
|
|
28976
|
-
const opacity = opts?.opacity ?? 1;
|
|
28977
|
-
let capType = 0;
|
|
28978
|
-
if (opts?.strokeLineCap === "butt") capType = 1;
|
|
28979
|
-
else if (opts?.strokeLineCap === "square") capType = 2;
|
|
28980
|
-
for (const segment of segments) this.drawSegment(pass, transformStack, segment.p0, segment.p1, c, strokeWidth, capType, surfaceWidth, surfaceHeight, opacity, opts);
|
|
29178
|
+
this.drawSegments(pass, transformStack, parseSvgPathToSegments(pathStr), color, strokeWidth, surfaceWidth, surfaceHeight, opts);
|
|
28981
29179
|
}
|
|
28982
29180
|
drawSegments(pass, transformStack, segments, color, strokeWidth, surfaceWidth, surfaceHeight, opts) {
|
|
28983
29181
|
let activeSegments = segments;
|
|
28984
29182
|
if (opts?.trimStart !== void 0 || opts?.trimEnd !== void 0 || opts?.trimOffset !== void 0) activeSegments = trimPathSegments(activeSegments, opts.trimStart ?? 0, opts.trimEnd ?? 1, opts.trimOffset ?? 0);
|
|
28985
29183
|
if (opts?.strokeDashArray && opts.strokeDashArray.length > 0) activeSegments = dashPathSegments(activeSegments, opts.strokeDashArray, opts.strokeDashOffset ?? 0);
|
|
28986
|
-
|
|
29184
|
+
const ends = new Float32Array(activeSegments.length * SEGMENT_FLOATS);
|
|
29185
|
+
let count = 0;
|
|
29186
|
+
for (const { p0, p1 } of activeSegments) {
|
|
29187
|
+
if (Math.hypot(p1.x - p0.x, p1.y - p0.y) < 1e-6) continue;
|
|
29188
|
+
const at = count++ * SEGMENT_FLOATS;
|
|
29189
|
+
ends[at] = p0.x;
|
|
29190
|
+
ends[at + 1] = p0.y;
|
|
29191
|
+
ends[at + 2] = p1.x;
|
|
29192
|
+
ends[at + 3] = p1.y;
|
|
29193
|
+
}
|
|
29194
|
+
if (count === 0) return;
|
|
28987
29195
|
const c = parseColor(color);
|
|
28988
|
-
const opacity = opts?.opacity ?? 1;
|
|
28989
|
-
let capType = 0;
|
|
28990
|
-
if (opts?.strokeLineCap === "butt") capType = 1;
|
|
28991
|
-
else if (opts?.strokeLineCap === "square") capType = 2;
|
|
28992
|
-
for (const segment of activeSegments) this.drawSegment(pass, transformStack, segment.p0, segment.p1, c, strokeWidth, capType, surfaceWidth, surfaceHeight, opacity, opts);
|
|
28993
|
-
}
|
|
28994
|
-
drawSegment(pass, transformStack, p0, p1, color, strokeWidth, capType, surfaceWidth, surfaceHeight, opacity, opts) {
|
|
28995
29196
|
const data = this.scratchData;
|
|
28996
|
-
transformStack.packIntoBuffer(data, opacity, surfaceWidth, surfaceHeight, opts?.transform);
|
|
29197
|
+
transformStack.packIntoBuffer(data, opts?.opacity ?? 1, surfaceWidth, surfaceHeight, opts?.transform);
|
|
28997
29198
|
data[15] = strokeWidth;
|
|
28998
|
-
data[16] =
|
|
28999
|
-
data[17] =
|
|
29000
|
-
data[18] =
|
|
29001
|
-
data[19] =
|
|
29002
|
-
data[20] =
|
|
29199
|
+
data[16] = c.r;
|
|
29200
|
+
data[17] = c.g;
|
|
29201
|
+
data[18] = c.b;
|
|
29202
|
+
data[19] = c.a;
|
|
29203
|
+
data[20] = opts?.strokeLineCap === "butt" ? 1 : opts?.strokeLineCap === "square" ? 2 : 0;
|
|
29003
29204
|
data[21] = 0;
|
|
29004
29205
|
data[22] = 0;
|
|
29005
29206
|
data[23] = 0;
|
|
29006
|
-
data[24] = p0.x;
|
|
29007
|
-
data[25] = p0.y;
|
|
29008
|
-
data[26] = p1.x;
|
|
29009
|
-
data[27] = p1.y;
|
|
29010
29207
|
const uniformBuffer = this.uniformPool.getBuffer(this.device, data);
|
|
29011
|
-
const
|
|
29012
|
-
const
|
|
29013
|
-
|
|
29014
|
-
|
|
29015
|
-
|
|
29016
|
-
|
|
29017
|
-
const ny = dy / len * padding;
|
|
29018
|
-
const px = -ny;
|
|
29019
|
-
const py = nx;
|
|
29020
|
-
const vertexData = new Float32Array([
|
|
29021
|
-
p0.x - nx - px,
|
|
29022
|
-
p0.y - ny - py,
|
|
29023
|
-
p0.x - nx + px,
|
|
29024
|
-
p0.y - ny + py,
|
|
29025
|
-
p1.x + nx - px,
|
|
29026
|
-
p1.y + ny - py,
|
|
29027
|
-
p1.x + nx + px,
|
|
29028
|
-
p1.y + ny + py
|
|
29029
|
-
]);
|
|
29030
|
-
const vertexBuffer = this.vertexPool.getBuffer(this.device, vertexData);
|
|
29031
|
-
const pipeline = opts?.blendMode === "max" ? this.maxPipeline : this.pipeline;
|
|
29032
|
-
pass.setPipeline(pipeline);
|
|
29033
|
-
const uniformBindGroup = this.uniformBindGroupCache.getBindGroup(this.device, this.uniformLayout, uniformBuffer);
|
|
29034
|
-
pass.setBindGroup(0, uniformBindGroup);
|
|
29035
|
-
pass.setVertexBuffer(0, vertexBuffer);
|
|
29036
|
-
pass.draw(4);
|
|
29208
|
+
const segmentBuffer = this.segmentPool.getBuffer(this.device, ends.subarray(0, count * SEGMENT_FLOATS));
|
|
29209
|
+
const useMax = opts?.blendMode === "max";
|
|
29210
|
+
pass.setPipeline(useMax ? this.maxPipeline : this.pipeline);
|
|
29211
|
+
pass.setBindGroup(0, this.uniformBindGroupCache.getBindGroup(this.device, this.uniformLayout, uniformBuffer));
|
|
29212
|
+
pass.setVertexBuffer(0, segmentBuffer);
|
|
29213
|
+
pass.draw(4, count);
|
|
29037
29214
|
}
|
|
29038
29215
|
destroy() {
|
|
29039
29216
|
this.uniformPool.destroy();
|
|
29040
|
-
this.
|
|
29217
|
+
this.segmentPool.destroy();
|
|
29041
29218
|
this.uniformBindGroupCache.destroy();
|
|
29042
29219
|
}
|
|
29043
29220
|
};
|
|
@@ -41608,5 +41785,5 @@ var NodeSurfaceProvider = class {
|
|
|
41608
41785
|
if (typeof globalThis !== "undefined") globalThis.__GATEWAI_DELAYS__ = globalThis.__GATEWAI_DELAYS__ || /* @__PURE__ */ new Set();
|
|
41609
41786
|
|
|
41610
41787
|
//#endregion
|
|
41611
|
-
export {
|
|
41612
|
-
//# sourceMappingURL=dist-
|
|
41788
|
+
export { poseNodes as $, TextAnchorConfigSchema as $t, emojiGraphemes as A, evaluateSkewMatrix as An, AnimatableGlyphPropsSchema as At, jointMatrices as B, sampleCurveGeometry as Bn, GlyphAnchorPointSchema as Bt, drawGifNode as C, distanceToCurveParameter as Cn, parseColorToRgb as Ct, drawSignalNode as D, evaluateExpressionSelector as Dn, AdvancedTextAnimatorSchema as Dt, drawParagraphNode as E, evaluateCubicBezierDerivative as En, AdvancedTextAnimatorBuilder as Et, getPrimitiveGeometry as F, generatePathSegments as Fn, DynamicStrokePropertiesSchema as Ft, measureMaxCaptionHeight as G, SelectorBasedOnSchema as Gt, loadModel3D as H, signalRegistry as Hn, LineSpacingDynamicsSchema as Ht, getRegisteredFontSource as I, getScramblePool as In, EnhancedTextNodeSchema as It, parseDashArray as J, SelectorUnitsSchema as Jt, mediaDecoderCache as K, SelectorModeSchema as Kt, getRenderer2D as L, getShuffledOrder as Ln, ExpressionSelectorSchema as Lt, fitSpansToText as M, evaluateTypewriterState as Mn, AudioSpectrumTypographySchema as Mt, generateExtrudedTextGeometry as N, evaluateVolumetricFormation as Nn, ChromaticGlitchConfigSchema as Nt, drawSvgNode as O, evaluateMarqueeOffset as On, AnchorGroupingSchema as Ot, getHeadlessFontPath as P, generateArcLengthLUT as Pn, CubicBezierSegmentSchema as Pt, parseSvgPathToSegments as Q, SpringPhysicsSchema as Qt, initHeadlessWebGPU as R, parseSvgPathToCubicBeziers as Rn, ExtendedGlyphPropertiesSchema as Rt, drawCaptionNode as S, deterministicWigglyNoise as Sn, linearRgb as St, drawLottieNode as T, evaluateCubicBezier as Tn, AETextAnimatorSchema as Tt, loadOBJ as U, waveToCubicBeziers as Un, LongShadowConfigSchema as Ut, loadFBX as V, samplePathChainGeometry as Vn, KineticMarqueeConfigSchema as Vt, lutStore as W, ParticleDissolveConfigSchema as Wt, parseMTL as X, SkewPropertiesSchema as Xt, parseFBX as Y, SignalRegistry as Yt, parseOBJ as Z, Spatial3DPropertiesSchema as Zt, buildShapeSvgPath as _, buildPathLUT as _n, Light3D as _t, GlassPipeline as a, TextPathSourceSchema as an, setRegisteredFontSource as at, colorMatrixWgsl as b, computeLineLeadingDisplacement as bn, Path3D as bt, Renderer2D as c, TextSelectorSchema as cn, srtLoader as ct, ScreenSpaceRelightPipeline as d, TypewriterAnimatorSchema as dn, transformScale as dt, TextAnimatorBuilder as en, probeVideoSize as et, ShadowPipeline as f, TypingCadenceSchema as fn, GetFontAssetUrl as ft, WebGPUAudioProcessor as g, VolumetricFormationModeSchema as gn, LIGHT_UNIFORM_SIZE_BYTES as gt, SlugPipeline as h, VolumetricFormationConfigSchema as hn, ENVIRONMENT_PRESETS as ht, EffectPipeline as i, TextPathOptionsSchema as in, sampleMorphWeights as it, ensureDevice as j, evaluateSpringProgress as jn, AudioSignalComputePipeline as jt, drawVideoNode as k, evaluateSelectorCombination as kn, AnchorPresetSchema as kt, Renderer3D as l, TextSignalSelectorSchema as ln, textureCache as lt, SlugGeometry as m, Vec2Schema as mn, Camera3D as mt, AudioLatentTrackCache as n, TextCursorStyleSchema as nn, resolveInputUrl as nt, MotionBlurPipeline as o, TextRangeSelectorSchema as on, shaderStore as ot, SlugFontCache as p, VariableFontAxesSchema as pn, resolveMediaSourceUrl as pt, parseColor as q, SelectorShapeSchema as qt, AudioMeshDeformPipeline as r, TextPathBuilder as rn, resolveTextSpans as rt, NodeSurfaceProvider as s, TextScrambleConfigSchema as sn, spansText as st, AudioLatentEngine as t, TextCursorConfigSchema as tn, registerHeadlessFont as tt, SSAOPipeline as u, TextWigglySelectorSchema as un, trackAudioPitch as ut, clearAllVideoCache as v, buildWGSLSignalFn as vn, MAX_LIGHTS as vt, drawImageNode as w, ellipseToCubicBeziers as wn, resolveEnvironment as wt, describeGpu as x, computeRangeSelectorWeight as xn, Vector3Math as xt, clearHeadlessFonts as y, computeAnchorPivotOffset as yn, Matrix4Math as yt, inputStore as z, sampleAudioSpectrumScale as zn, GlyphAnchorGroupingSchema as zt };
|
|
41789
|
+
//# sourceMappingURL=dist-DtPPPsZV.mjs.map
|