framefields 2.5.3 → 2.6.0
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 +11 -0
- package/dist/audio/index.d.mts +4 -4
- package/dist/audio/index.mjs +10 -10
- package/dist/{audio-2ew5y0Bl.d.mts → audio-B5mdR8vv.d.mts} +3 -3
- package/dist/{audio-2ew5y0Bl.d.mts.map → audio-B5mdR8vv.d.mts.map} +1 -1
- package/dist/{audio-DrUskzwZ.mjs → audio-QBA2VogL.mjs} +3 -3
- package/dist/{audio-DrUskzwZ.mjs.map → audio-QBA2VogL.mjs.map} +1 -1
- package/dist/cli.mjs +866 -16
- package/dist/cli.mjs.map +1 -1
- package/dist/components/index.d.mts +11 -11
- package/dist/components/index.mjs +45 -45
- package/dist/dist-BPOi5xb_.mjs.map +1 -1
- package/dist/{dist-Bf0H4lp1.mjs → dist-CDwWQYg3.mjs} +12 -4
- package/dist/dist-CDwWQYg3.mjs.map +1 -0
- package/dist/{dist-DG65RDhc.mjs → dist-nHCqVk-e.mjs} +6 -7
- package/dist/dist-nHCqVk-e.mjs.map +1 -0
- package/dist/effects/index.d.mts +4 -4
- package/dist/effects/index.mjs +35 -35
- package/dist/{effects-Z-brb-n7.mjs → effects-C-6I4iYW.mjs} +2 -2
- package/dist/{effects-Z-brb-n7.mjs.map → effects-C-6I4iYW.mjs.map} +1 -1
- package/dist/fonts/index.d.mts +1 -1
- package/dist/fonts/index.mjs +2 -2
- package/dist/{fonts-DqYgk_1a.mjs → fonts-BieW3VWV.mjs} +7 -3
- package/dist/fonts-BieW3VWV.mjs.map +1 -0
- package/dist/{gpu-CevnCkZC.mjs → gpu-Bb4WmYYH.mjs} +2 -2
- package/dist/{gpu-CevnCkZC.mjs.map → gpu-Bb4WmYYH.mjs.map} +1 -1
- package/dist/{index-D1C735Wp.d.mts → index-3Vdef2KE.d.mts} +3 -3
- package/dist/{index-D1C735Wp.d.mts.map → index-3Vdef2KE.d.mts.map} +1 -1
- package/dist/{index-COQTaniR.d.mts → index-B4o6F1JC.d.mts} +2 -2
- package/dist/{index-COQTaniR.d.mts.map → index-B4o6F1JC.d.mts.map} +1 -1
- package/dist/{index-KqW22NHL.d.mts → index-BhzlG_1Q.d.mts} +2 -2
- package/dist/{index-KqW22NHL.d.mts.map → index-BhzlG_1Q.d.mts.map} +1 -1
- package/dist/{index-DSGFMpwL.d.mts → index-D-Gnyffj.d.mts} +4 -4
- package/dist/{index-DSGFMpwL.d.mts.map → index-D-Gnyffj.d.mts.map} +1 -1
- package/dist/{index-tCKz9Tku.d.mts → index-E1IrPAm4.d.mts} +825 -399
- package/dist/index-E1IrPAm4.d.mts.map +1 -0
- package/dist/{index-CalU-mpZ.d.mts → index-j5LGVVbm.d.mts} +3 -1
- package/dist/index-j5LGVVbm.d.mts.map +1 -0
- package/dist/{index-CfMylY3O.d.mts → index-o8LxWdwz.d.mts} +3 -3
- package/dist/{index-CfMylY3O.d.mts.map → index-o8LxWdwz.d.mts.map} +1 -1
- package/dist/{index-CZK6CFLy.d.mts → index-ocZc12ZS.d.mts} +17 -17
- package/dist/index-ocZc12ZS.d.mts.map +1 -0
- package/dist/index.d.mts +12 -12
- package/dist/index.mjs +52 -52
- package/dist/preview/index.d.mts +3 -3
- package/dist/preview/index.mjs +10 -10
- package/dist/{preview-DVw2jLDh.mjs → preview-D6jS38Di.mjs} +2 -2
- package/dist/{preview-DVw2jLDh.mjs.map → preview-D6jS38Di.mjs.map} +1 -1
- package/dist/preview-engine/audio.mjs +1 -1
- package/dist/preview-engine/{chunk-MCFYUKAJ.mjs → chunk-2LQCQ3OT.mjs} +8 -8
- package/dist/preview-engine/{chunk-JMOJKT5W.mjs → chunk-2YGR5YCN.mjs} +1 -1
- package/dist/preview-engine/{chunk-LNJYHSYX.mjs → chunk-3KHD67Q3.mjs} +1 -1
- package/dist/preview-engine/chunk-3SR6BI4B.mjs +1 -0
- package/dist/preview-engine/{chunk-NXKXOSE6.mjs → chunk-4INGTMZ5.mjs} +1 -1
- package/dist/preview-engine/{chunk-T4VP45AP.mjs → chunk-4JX5LBE2.mjs} +1 -1
- package/dist/preview-engine/{chunk-7JYMNGNK.mjs → chunk-5NT7WWJR.mjs} +1 -1
- package/dist/preview-engine/{chunk-NB55FW7D.mjs → chunk-6PMATELR.mjs} +1 -1
- package/dist/preview-engine/{chunk-45XGWIOY.mjs → chunk-AKT4YQWL.mjs} +1 -1
- package/dist/preview-engine/{chunk-RNFYEZLL.mjs → chunk-ALSOO22Q.mjs} +1 -1
- package/dist/preview-engine/{chunk-5FTCPTOX.mjs → chunk-AYTP6OGO.mjs} +8 -8
- package/dist/preview-engine/{chunk-3AYICEZ5.mjs → chunk-B7J72YSP.mjs} +1 -1
- package/dist/preview-engine/{chunk-I3ZTDIVM.mjs → chunk-BBHRXV75.mjs} +1 -1
- package/dist/preview-engine/{chunk-NHQR76WL.mjs → chunk-DDFWN7DI.mjs} +1 -1
- package/dist/preview-engine/{chunk-ZVUTFXDR.mjs → chunk-DOCFOSA6.mjs} +1 -1
- package/dist/preview-engine/{chunk-YJ24W73B.mjs → chunk-FZLKPBKS.mjs} +1 -1
- package/dist/preview-engine/{chunk-EU7CFSB5.mjs → chunk-GQIRV466.mjs} +1 -1
- package/dist/preview-engine/{chunk-DWHQSNSJ.mjs → chunk-IIOHF7MH.mjs} +1 -1
- package/dist/preview-engine/{chunk-WUMVCQYI.mjs → chunk-J24VHZS6.mjs} +1 -1
- package/dist/preview-engine/{chunk-2WOCQNZX.mjs → chunk-JD4TBC6Z.mjs} +8 -8
- package/dist/preview-engine/{chunk-X6BJLPW6.mjs → chunk-JTT3YX7W.mjs} +1 -1
- package/dist/preview-engine/{chunk-XJ4CQIZZ.mjs → chunk-KWTTANYN.mjs} +1 -1
- package/dist/preview-engine/{chunk-QCUGWPYP.mjs → chunk-LN3YAWUD.mjs} +1 -1
- package/dist/preview-engine/{chunk-M6ZKK6ZU.mjs → chunk-LYSU6S4O.mjs} +1 -1
- package/dist/preview-engine/{chunk-TE2QAKKF.mjs → chunk-MJCK5FLZ.mjs} +1 -1
- package/dist/preview-engine/chunk-MLAIEIUF.mjs +1974 -0
- package/dist/preview-engine/{chunk-24H3QVYB.mjs → chunk-MMVFX42U.mjs} +1 -1
- package/dist/preview-engine/{chunk-25T3M6MI.mjs → chunk-MUOJMF7M.mjs} +1 -1
- package/dist/preview-engine/{chunk-B555EGEU.mjs → chunk-NQZRPPUU.mjs} +1 -1
- package/dist/preview-engine/{chunk-VTE3IISK.mjs → chunk-OXXRKNHW.mjs} +1 -1
- package/dist/preview-engine/{chunk-DUEY7AXY.mjs → chunk-PJMX2GFY.mjs} +1 -1
- package/dist/preview-engine/{chunk-MA4YVA2E.mjs → chunk-Q7JN4EHX.mjs} +1 -1
- package/dist/preview-engine/{chunk-UXCTWFKK.mjs → chunk-QPBTLJ5W.mjs} +1 -1
- package/dist/preview-engine/{chunk-LQVACZDE.mjs → chunk-QRYCB6E3.mjs} +1 -1
- package/dist/preview-engine/{chunk-2QQQTZHS.mjs → chunk-RDEQ4LQU.mjs} +1 -1
- package/dist/preview-engine/{chunk-KKBJ7X3T.mjs → chunk-RF62TV3G.mjs} +1 -1
- package/dist/preview-engine/{chunk-CE6CG5BH.mjs → chunk-RHXZXWJ4.mjs} +1 -1
- package/dist/preview-engine/{chunk-BNO5JAEZ.mjs → chunk-RKNV5N7D.mjs} +1 -1
- package/dist/preview-engine/{chunk-PXWCGXTF.mjs → chunk-SP22JWN2.mjs} +1 -1
- package/dist/preview-engine/{chunk-NYEDWUFS.mjs → chunk-SQ52PBF3.mjs} +1 -1
- package/dist/preview-engine/{chunk-QYIKOOFI.mjs → chunk-SVE3XWO7.mjs} +1 -1
- package/dist/preview-engine/{chunk-QJYAIQYU.mjs → chunk-SXNCNG4L.mjs} +1 -1
- package/dist/preview-engine/{chunk-VH5V54RA.mjs → chunk-TPFDAOW7.mjs} +1 -1
- package/dist/preview-engine/{chunk-ENS4KUJV.mjs → chunk-UEQIO6AH.mjs} +1 -1
- package/dist/preview-engine/{chunk-XYRBFLFF.mjs → chunk-ULPLHKM2.mjs} +1 -1
- package/dist/preview-engine/{chunk-MCR7XMNQ.mjs → chunk-ULVX4VYT.mjs} +1 -1
- package/dist/preview-engine/{chunk-ZAIVXGSS.mjs → chunk-UQD2UE6I.mjs} +1 -1
- package/dist/preview-engine/{chunk-QP24X77K.mjs → chunk-VY6ST4QX.mjs} +1 -1
- package/dist/preview-engine/{chunk-7BUKVFWB.mjs → chunk-W2EZFV4Q.mjs} +1 -1
- package/dist/preview-engine/chunk-W3I7LKDV.mjs +5 -0
- package/dist/preview-engine/{chunk-P734GD7D.mjs → chunk-WDWHOXSA.mjs} +1 -1
- package/dist/preview-engine/{chunk-2RZ6S4SW.mjs → chunk-YEPYVASB.mjs} +1 -1
- package/dist/preview-engine/chunk-ZMMNN77R.mjs +3 -0
- package/dist/preview-engine/components.mjs +1 -1
- package/dist/preview-engine/effects.mjs +1 -1
- package/dist/preview-engine/fonts.mjs +1 -1
- package/dist/preview-engine/framefields.mjs +1 -1
- package/dist/preview-engine/player.mjs +1 -1
- package/dist/preview-engine/renderers-4CRXZJ5G.mjs +1 -0
- package/dist/preview-engine/renderers-4G3UOPA7.mjs +228 -0
- package/dist/preview-engine/{renderers-WPBTAU2E.mjs → renderers-4RVSLTCX.mjs} +1 -1
- package/dist/preview-engine/{renderers-W5CTR4B5.mjs → renderers-56TGEFDK.mjs} +1 -1
- package/dist/preview-engine/renderers-5QF4OLFQ.mjs +1 -0
- package/dist/preview-engine/renderers-5SOW6OVE.mjs +1 -0
- package/dist/preview-engine/renderers-6M2HPY2J.mjs +1 -0
- package/dist/preview-engine/{renderers-DZZFIYYA.mjs → renderers-7GMW52G3.mjs} +1 -1
- package/dist/preview-engine/renderers-7HT5NW7W.mjs +1 -0
- package/dist/preview-engine/{renderers-KV3TTCO6.mjs → renderers-7SW2AHM2.mjs} +1 -1
- package/dist/preview-engine/{renderers-BNXTSIXJ.mjs → renderers-ART3EGSZ.mjs} +1 -1
- package/dist/preview-engine/{renderers-6NFRKHNO.mjs → renderers-ATTGUTYY.mjs} +1 -1
- package/dist/preview-engine/renderers-AYWCRBQC.mjs +1 -0
- package/dist/preview-engine/renderers-BA6ZCPI5.mjs +1 -0
- package/dist/preview-engine/{renderers-AKZAAGR7.mjs → renderers-BAS7RXTC.mjs} +1 -1
- package/dist/preview-engine/{renderers-CLLR5MOQ.mjs → renderers-BWRNCXR6.mjs} +1 -1
- package/dist/preview-engine/{renderers-N7T34SCI.mjs → renderers-C3YXNKNM.mjs} +1 -1
- package/dist/preview-engine/renderers-CZTCW4FC.mjs +1 -0
- package/dist/preview-engine/{renderers-C7SJ3M6S.mjs → renderers-D2XEQ2YY.mjs} +1 -1
- package/dist/preview-engine/renderers-DFIJYBW2.mjs +1 -0
- package/dist/preview-engine/{renderers-DHKB5LI6.mjs → renderers-EJGF3PYQ.mjs} +1 -1
- package/dist/preview-engine/renderers-EJN6M6DO.mjs +1 -0
- package/dist/preview-engine/{renderers-MKEXNBCW.mjs → renderers-EK3HQUUF.mjs} +1 -1
- package/dist/preview-engine/{renderers-O56IOD7J.mjs → renderers-EQDINUMT.mjs} +1 -1
- package/dist/preview-engine/{renderers-VYK2BJID.mjs → renderers-FC7G7KU7.mjs} +1 -1
- package/dist/preview-engine/{renderers-BQLYS4TM.mjs → renderers-FD3ZT73R.mjs} +1 -1
- package/dist/preview-engine/{renderers-TASYN62K.mjs → renderers-FYI6QNUH.mjs} +1 -1
- package/dist/preview-engine/renderers-G34C5J27.mjs +1 -0
- package/dist/preview-engine/{renderers-ROSSJ7Y2.mjs → renderers-GHP7SL5M.mjs} +1 -1
- package/dist/preview-engine/renderers-GKVTNDVH.mjs +1 -0
- package/dist/preview-engine/{renderers-MPCYLXXU.mjs → renderers-GY4R467B.mjs} +1 -1
- package/dist/preview-engine/{renderers-TAMDNTEQ.mjs → renderers-H2UI7YEO.mjs} +1 -1
- package/dist/preview-engine/{renderers-6PVGRTXV.mjs → renderers-HBIBRZD7.mjs} +1 -1
- package/dist/preview-engine/{renderers-GF77N2KM.mjs → renderers-HMNCIEU3.mjs} +1 -1
- package/dist/preview-engine/{renderers-SIBP54WK.mjs → renderers-HZBYQKIQ.mjs} +1 -1
- package/dist/preview-engine/renderers-IK7ZJJKJ.mjs +1 -0
- package/dist/preview-engine/renderers-ISASPH6T.mjs +1 -0
- package/dist/preview-engine/renderers-IW5MWDBI.mjs +1 -0
- package/dist/preview-engine/renderers-K2PI4WJS.mjs +1 -0
- package/dist/preview-engine/renderers-KESHVFL2.mjs +1 -0
- package/dist/preview-engine/renderers-KTZZVAB2.mjs +1 -0
- package/dist/preview-engine/renderers-KY5CJEOV.mjs +1 -0
- package/dist/preview-engine/{renderers-MS4HG3M4.mjs → renderers-LTV5RFDJ.mjs} +1 -1
- package/dist/preview-engine/{renderers-CEJP6Q7F.mjs → renderers-LV6LLULR.mjs} +1 -1
- package/dist/preview-engine/renderers-M5W6SUQD.mjs +1 -0
- package/dist/preview-engine/{renderers-H3ZM2TOA.mjs → renderers-MEM3REMI.mjs} +1 -1
- package/dist/preview-engine/{renderers-EJATUIUP.mjs → renderers-N36R42RL.mjs} +1 -1
- package/dist/preview-engine/{renderers-UVABXXQF.mjs → renderers-NTKSN32T.mjs} +1 -1
- package/dist/preview-engine/renderers-O5XMWFPY.mjs +1 -0
- package/dist/preview-engine/{renderers-QO2RHF7F.mjs → renderers-P2FTCDZ7.mjs} +1 -1
- package/dist/preview-engine/{renderers-L7EITUCD.mjs → renderers-PYDOSDEY.mjs} +1 -1
- package/dist/preview-engine/renderers-QJA35PKC.mjs +1 -0
- package/dist/preview-engine/{renderers-TWZHTKW7.mjs → renderers-RDHHVXRE.mjs} +1 -1
- package/dist/preview-engine/{renderers-RRJ2DX2W.mjs → renderers-SY435YU3.mjs} +1 -1
- package/dist/preview-engine/renderers-TJIFTQHV.mjs +1 -0
- package/dist/preview-engine/renderers-TN4XN436.mjs +1 -0
- package/dist/preview-engine/renderers-UDYLCYCB.mjs +1 -0
- package/dist/preview-engine/renderers-WZ7SFIBZ.mjs +1 -0
- package/dist/preview-engine/renderers-X6QNDC6R.mjs +1 -0
- package/dist/preview-engine/renderers-X6RNTJOV.mjs +1 -0
- package/dist/preview-engine/{renderers-QPFZBLDI.mjs → renderers-Y3N7236P.mjs} +1 -1
- package/dist/preview-engine/{renderers-XSPU2BIQ.mjs → renderers-YBTWN76S.mjs} +1 -1
- package/dist/preview-engine/{renderers-T62TXGVO.mjs → renderers-YK74777T.mjs} +1 -1
- package/dist/preview-engine/renderers-YP3ASXIJ.mjs +1 -0
- package/dist/preview-engine/renderers-YVJAG3PD.mjs +1 -0
- package/dist/preview-engine/{renderers-4RFB2LG2.mjs → renderers-ZAMSS7QN.mjs} +1 -1
- package/dist/preview-engine/{renderers-FOHW7RWH.mjs → renderers-ZDMDDWLN.mjs} +1 -1
- package/dist/preview-engine/renderers-ZPPZNMKJ.mjs +1 -0
- package/dist/preview-engine/signals.mjs +1 -1
- package/dist/{program-4mAVgg3c.mjs → program-Bf4yHbHC.mjs} +19 -3
- package/dist/program-Bf4yHbHC.mjs.map +1 -0
- package/dist/registry/annotate.json +1 -1
- package/dist/registry/app-frame.json +1 -1
- package/dist/registry/backdrop.json +3 -3
- package/dist/registry/before-after.json +1 -1
- package/dist/registry/callout.json +1 -1
- package/dist/registry/captions.json +7 -1
- package/dist/registry/card-stack.json +5 -4
- package/dist/registry/chat-thread.json +10 -3
- package/dist/registry/code-block.json +8 -2
- package/dist/registry/confetti.json +1 -1
- package/dist/registry/device-frame.json +2 -1
- package/dist/registry/focus-zoom.json +1 -1
- package/dist/registry/index.json +3 -2
- package/dist/registry/logo-reveal.json +1 -1
- package/dist/registry/lower-third.json +1 -1
- package/dist/registry/meter.json +1 -1
- package/dist/registry/mouse-pointer.json +1 -1
- package/dist/registry/selection.json +3 -3
- package/dist/registry/spotlight.json +1 -1
- package/dist/registry/terminal.json +7 -1
- package/dist/registry/text-reveal.json +2 -1
- package/dist/registry/title-card.json +1 -1
- package/dist/registry/toasts.json +1 -1
- package/dist/registry/touch-point.json +4 -4
- package/dist/registry/waveform.json +3 -3
- package/dist/registry/word-cycle.json +2 -2
- package/dist/renderer/index.d.mts +2 -2
- package/dist/renderer/index.mjs +2 -2
- package/dist/renderer-4FQmduPw.mjs +5 -0
- package/dist/{renderer-Cjw6lyaK.mjs → renderer-4v6XYAiX.mjs} +4 -4
- package/dist/{renderer-Cjw6lyaK.mjs.map → renderer-4v6XYAiX.mjs.map} +1 -1
- package/dist/{renderer-CXa6SWXy.mjs → renderer-79mO0b9Y.mjs} +4 -4
- package/dist/{renderer-CXa6SWXy.mjs.map → renderer-79mO0b9Y.mjs.map} +1 -1
- package/dist/{renderer-wEXBnlr1.mjs → renderer-AOZWHGT3.mjs} +4 -4
- package/dist/{renderer-wEXBnlr1.mjs.map → renderer-AOZWHGT3.mjs.map} +1 -1
- package/dist/{renderer-CjcrhBB2.mjs → renderer-B1Ox12RF.mjs} +3 -3
- package/dist/{renderer-CjcrhBB2.mjs.map → renderer-B1Ox12RF.mjs.map} +1 -1
- package/dist/{renderer-B9m7xIPo.mjs → renderer-B6vr-B0t.mjs} +4 -4
- package/dist/{renderer-B9m7xIPo.mjs.map → renderer-B6vr-B0t.mjs.map} +1 -1
- package/dist/renderer-BBCpRuYU.mjs +5 -0
- package/dist/renderer-BBTo_jLO.mjs +5 -0
- package/dist/{renderer-CgMnZYTM.mjs → renderer-BDCS7k5X.mjs} +4 -4
- package/dist/{renderer-CgMnZYTM.mjs.map → renderer-BDCS7k5X.mjs.map} +1 -1
- package/dist/{renderer-BjxceNBj.mjs → renderer-BFdgbqgW.mjs} +4 -4
- package/dist/{renderer-BjxceNBj.mjs.map → renderer-BFdgbqgW.mjs.map} +1 -1
- package/dist/{renderer-C0P8ZRiC.mjs → renderer-BHgYRSu8.mjs} +3 -3
- package/dist/{renderer-C0P8ZRiC.mjs.map → renderer-BHgYRSu8.mjs.map} +1 -1
- package/dist/{renderer-CTvPNRMH.mjs → renderer-BKssznKn.mjs} +3 -3
- package/dist/{renderer-CTvPNRMH.mjs.map → renderer-BKssznKn.mjs.map} +1 -1
- package/dist/{renderer-B9iVE2GG.mjs → renderer-BL9vkn6m.mjs} +4 -4
- package/dist/{renderer-B9iVE2GG.mjs.map → renderer-BL9vkn6m.mjs.map} +1 -1
- package/dist/renderer-BLg66ZgG.mjs +5 -0
- package/dist/{renderer-D22g6ION.mjs → renderer-BQFxoNzi.mjs} +4 -4
- package/dist/{renderer-D22g6ION.mjs.map → renderer-BQFxoNzi.mjs.map} +1 -1
- package/dist/{renderer-Datqywo_.mjs → renderer-BQdn_qGp.mjs} +4 -4
- package/dist/{renderer-Datqywo_.mjs.map → renderer-BQdn_qGp.mjs.map} +1 -1
- package/dist/{renderer-T2dd9a2L.mjs → renderer-BR35Xp9n.mjs} +4 -4
- package/dist/{renderer-T2dd9a2L.mjs.map → renderer-BR35Xp9n.mjs.map} +1 -1
- package/dist/renderer-BScS8AzG.mjs +5 -0
- package/dist/{renderer-BcSSAzc4.mjs → renderer-BTjveb1Y.mjs} +4 -4
- package/dist/{renderer-BcSSAzc4.mjs.map → renderer-BTjveb1Y.mjs.map} +1 -1
- package/dist/renderer-Bb1cS5mJ.mjs +5 -0
- package/dist/{renderer-4P-DCjk2.mjs → renderer-Bbkf5EIi.mjs} +4 -4
- package/dist/{renderer-4P-DCjk2.mjs.map → renderer-Bbkf5EIi.mjs.map} +1 -1
- package/dist/{renderer-C9r0-KY4.mjs → renderer-BgmO1Dzw.mjs} +11 -2
- package/dist/{renderer-C9r0-KY4.mjs.map → renderer-BgmO1Dzw.mjs.map} +1 -1
- package/dist/{renderer-khVVYoVF.mjs → renderer-BmgyvIC3.mjs} +4 -4
- package/dist/{renderer-khVVYoVF.mjs.map → renderer-BmgyvIC3.mjs.map} +1 -1
- package/dist/{renderer-CvYxxS_X.mjs → renderer-Bpve7M6S.mjs} +73 -73
- package/dist/{renderer-CvYxxS_X.mjs.map → renderer-Bpve7M6S.mjs.map} +1 -1
- package/dist/renderer-Bpwd9zEY.mjs +5 -0
- package/dist/renderer-BsewLDHZ.mjs +3 -0
- package/dist/{renderer-C4f_X1Qc.mjs → renderer-BsnhAgrB.mjs} +3 -3
- package/dist/{renderer-C4f_X1Qc.mjs.map → renderer-BsnhAgrB.mjs.map} +1 -1
- package/dist/{renderer-BIt-At3v.mjs → renderer-By5xTRqB.mjs} +4 -4
- package/dist/{renderer-BIt-At3v.mjs.map → renderer-By5xTRqB.mjs.map} +1 -1
- package/dist/{renderer-vc8t_z-y.mjs → renderer-BzEQXAdl.mjs} +3 -3
- package/dist/{renderer-vc8t_z-y.mjs.map → renderer-BzEQXAdl.mjs.map} +1 -1
- package/dist/renderer-Bzyd9xi5.mjs +5 -0
- package/dist/{renderer-CE9N4EEI.d.mts → renderer-C-dcd14F.d.mts} +2 -2
- package/dist/{renderer-CE9N4EEI.d.mts.map → renderer-C-dcd14F.d.mts.map} +1 -1
- package/dist/{renderer-RiWi7y5C.mjs → renderer-C64g87yU.mjs} +4 -4
- package/dist/{renderer-RiWi7y5C.mjs.map → renderer-C64g87yU.mjs.map} +1 -1
- package/dist/{renderer-De7gno9X.mjs → renderer-C6Wb1TZT.mjs} +4 -4
- package/dist/{renderer-De7gno9X.mjs.map → renderer-C6Wb1TZT.mjs.map} +1 -1
- package/dist/{renderer-CT_3Fegr.mjs → renderer-CHPLHbAs.mjs} +4 -4
- package/dist/{renderer-CT_3Fegr.mjs.map → renderer-CHPLHbAs.mjs.map} +1 -1
- package/dist/{renderer-CkJXq4bD.mjs → renderer-CJRu7lLH.mjs} +3 -3
- package/dist/{renderer-CkJXq4bD.mjs.map → renderer-CJRu7lLH.mjs.map} +1 -1
- package/dist/{renderer-BwRLXhxJ.mjs → renderer-CMWUtfwn.mjs} +3 -3
- package/dist/{renderer-BwRLXhxJ.mjs.map → renderer-CMWUtfwn.mjs.map} +1 -1
- package/dist/{renderer-C4pS7aAI.mjs → renderer-CRkgyk08.mjs} +4 -4
- package/dist/{renderer-C4pS7aAI.mjs.map → renderer-CRkgyk08.mjs.map} +1 -1
- package/dist/renderer-CXVssx1k.mjs +5 -0
- package/dist/{renderer-5-9DPis6.mjs → renderer-CY0BT6ok.mjs} +3 -3
- package/dist/{renderer-5-9DPis6.mjs.map → renderer-CY0BT6ok.mjs.map} +1 -1
- package/dist/renderer-CYFiGLls.mjs +5 -0
- package/dist/{renderer-BVtQzjgT.mjs → renderer-CYLP8sD6.mjs} +3 -3
- package/dist/{renderer-BVtQzjgT.mjs.map → renderer-CYLP8sD6.mjs.map} +1 -1
- package/dist/{renderer-DPVEs5ME.mjs → renderer-CY_1u6zi.mjs} +4 -4
- package/dist/{renderer-DPVEs5ME.mjs.map → renderer-CY_1u6zi.mjs.map} +1 -1
- package/dist/renderer-C__BvvtP.mjs +5 -0
- package/dist/renderer-Ca3YZsoT.mjs +5 -0
- package/dist/{renderer-BpBhvMi1.mjs → renderer-CcSBjtRa.mjs} +2 -2
- package/dist/{renderer-nLPfvY3-.mjs → renderer-CdxNwGeb.mjs} +2 -2
- package/dist/{renderer-nLPfvY3-.mjs.map → renderer-CdxNwGeb.mjs.map} +1 -1
- package/dist/{renderer-CJ2-jEy7.mjs → renderer-CgdplRri.mjs} +3 -3
- package/dist/{renderer-CJ2-jEy7.mjs.map → renderer-CgdplRri.mjs.map} +1 -1
- package/dist/{renderer-MQPiZQXN.mjs → renderer-Cn9tU_s5.mjs} +3 -3
- package/dist/{renderer-MQPiZQXN.mjs.map → renderer-Cn9tU_s5.mjs.map} +1 -1
- package/dist/renderer-CnM5iFj9.mjs +5 -0
- package/dist/{renderer-Cz5SOnJr.mjs → renderer-Cqp_TUl_.mjs} +3 -3
- package/dist/{renderer-Cz5SOnJr.mjs.map → renderer-Cqp_TUl_.mjs.map} +1 -1
- package/dist/{renderer-BKayVZhL.mjs → renderer-CsOLHKFx.mjs} +3 -3
- package/dist/{renderer-BKayVZhL.mjs.map → renderer-CsOLHKFx.mjs.map} +1 -1
- package/dist/{renderer-BWqQxZNk.mjs → renderer-D01RT3Ov.mjs} +2 -2
- package/dist/renderer-D1nZrvQx.mjs +5 -0
- package/dist/renderer-D6XjVQME.mjs +5 -0
- package/dist/{renderer-9gjn790a.mjs → renderer-DAONCf_3.mjs} +4 -4
- package/dist/{renderer-9gjn790a.mjs.map → renderer-DAONCf_3.mjs.map} +1 -1
- package/dist/{renderer-D0iSbNza.mjs → renderer-DAfWLGfy.mjs} +4 -4
- package/dist/{renderer-D0iSbNza.mjs.map → renderer-DAfWLGfy.mjs.map} +1 -1
- package/dist/{renderer-Bk7vVfTu.mjs → renderer-DEeKkljI.mjs} +3 -3
- package/dist/{renderer-Bk7vVfTu.mjs.map → renderer-DEeKkljI.mjs.map} +1 -1
- package/dist/{renderer-B9AZ6R1U.mjs → renderer-DFYXjAIT.mjs} +172 -8
- package/dist/renderer-DFYXjAIT.mjs.map +1 -0
- package/dist/renderer-DIuMnMF0.mjs +5 -0
- package/dist/{renderer-DnT62IDK.mjs → renderer-DJHuPNJx.mjs} +3 -3
- package/dist/{renderer-DnT62IDK.mjs.map → renderer-DJHuPNJx.mjs.map} +1 -1
- package/dist/{renderer-B9yv3R1y.mjs → renderer-DJTXhVNh.mjs} +3 -3
- package/dist/{renderer-B9yv3R1y.mjs.map → renderer-DJTXhVNh.mjs.map} +1 -1
- package/dist/{renderer-DPzair18.mjs → renderer-DNEFYrQ5.mjs} +2 -2
- package/dist/renderer-DUvvM8EF.mjs +5 -0
- package/dist/renderer-DWogyuMO.mjs +5 -0
- package/dist/renderer-DWsj_LJR.mjs +5 -0
- package/dist/{renderer-BBA-iCi-.mjs → renderer-DYJHFHF4.mjs} +34 -9
- package/dist/renderer-DYJHFHF4.mjs.map +1 -0
- package/dist/{renderer-Dkt1oh9H.mjs → renderer-DYR4gFEM.mjs} +4 -4
- package/dist/{renderer-Dkt1oh9H.mjs.map → renderer-DYR4gFEM.mjs.map} +1 -1
- package/dist/renderer-DYun0DJl.mjs +5 -0
- package/dist/renderer-D_6YqD-Z.mjs +5 -0
- package/dist/{renderer-DTXAa2pL.mjs → renderer-D_UPFbei.mjs} +4 -4
- package/dist/{renderer-DTXAa2pL.mjs.map → renderer-D_UPFbei.mjs.map} +1 -1
- package/dist/renderer-Db9LP86x.mjs +5 -0
- package/dist/{renderer-Y5JmTL8J.mjs → renderer-DgRJG_l-.mjs} +3 -3
- package/dist/{renderer-Y5JmTL8J.mjs.map → renderer-DgRJG_l-.mjs.map} +1 -1
- package/dist/renderer-DhHiC87m.mjs +5 -0
- package/dist/{renderer-C8-NmotX.mjs → renderer-DiD3r9tx.mjs} +3 -3
- package/dist/{renderer-C8-NmotX.mjs.map → renderer-DiD3r9tx.mjs.map} +1 -1
- package/dist/{renderer-_vcT__tW.mjs → renderer-Dj-y-BtT.mjs} +4 -4
- package/dist/{renderer-_vcT__tW.mjs.map → renderer-Dj-y-BtT.mjs.map} +1 -1
- package/dist/renderer-Dj5jGAkR.mjs +5 -0
- package/dist/{renderer-NL2IZShC.mjs → renderer-DlA7kzIs.mjs} +4 -4
- package/dist/{renderer-NL2IZShC.mjs.map → renderer-DlA7kzIs.mjs.map} +1 -1
- package/dist/renderer-DlPUQ7RF.mjs +5 -0
- package/dist/renderer-DpIPdgn8.mjs +5 -0
- package/dist/{renderer-wIsJb2eO.mjs → renderer-Duorbrb8.mjs} +2 -2
- package/dist/{renderer-wIsJb2eO.mjs.map → renderer-Duorbrb8.mjs.map} +1 -1
- package/dist/renderer-Dv0C9CEt.mjs +6 -0
- package/dist/{renderer-C7HIJcJK.mjs → renderer-EwSSuJXj.mjs} +4 -4
- package/dist/{renderer-C7HIJcJK.mjs.map → renderer-EwSSuJXj.mjs.map} +1 -1
- package/dist/renderer-Iw8fDL-p.mjs +5 -0
- package/dist/{renderer-CuwVuVKG.mjs → renderer-JJibsJfb.mjs} +3 -3
- package/dist/{renderer-CuwVuVKG.mjs.map → renderer-JJibsJfb.mjs.map} +1 -1
- package/dist/{renderer-B8PNlKEM.mjs → renderer-KppAWfmJ.mjs} +4 -4
- package/dist/{renderer-B8PNlKEM.mjs.map → renderer-KppAWfmJ.mjs.map} +1 -1
- package/dist/{renderer-Cm9fEQsw.mjs → renderer-LW8MfGjd.mjs} +3 -3
- package/dist/{renderer-Cm9fEQsw.mjs.map → renderer-LW8MfGjd.mjs.map} +1 -1
- package/dist/{renderer-Cb5uDZm0.mjs → renderer-PMjV8x65.mjs} +3 -3
- package/dist/{renderer-Cb5uDZm0.mjs.map → renderer-PMjV8x65.mjs.map} +1 -1
- package/dist/renderer-SLI69Mju.mjs +5 -0
- package/dist/{renderer-CGKKjJ5Q.mjs → renderer-UArFa4y9.mjs} +3 -3
- package/dist/{renderer-CGKKjJ5Q.mjs.map → renderer-UArFa4y9.mjs.map} +1 -1
- package/dist/{renderer-Bh0dwc8n.mjs → renderer-VwKmjuc6.mjs} +4 -4
- package/dist/{renderer-Bh0dwc8n.mjs.map → renderer-VwKmjuc6.mjs.map} +1 -1
- package/dist/{renderer-92IAZzBU.d.mts → renderer-WTvo3wo9.d.mts} +18 -4
- package/dist/renderer-WTvo3wo9.d.mts.map +1 -0
- package/dist/renderer-WyaqnVMz.mjs +3 -0
- package/dist/renderer-ZVtbb3-P.mjs +5 -0
- package/dist/{renderer-C5h2TSjH.mjs → renderer-bb3puodg.mjs} +3 -3
- package/dist/{renderer-C5h2TSjH.mjs.map → renderer-bb3puodg.mjs.map} +1 -1
- package/dist/{renderer-CWnhRMOq.mjs → renderer-eyvY4Lq4.mjs} +4 -4
- package/dist/{renderer-CWnhRMOq.mjs.map → renderer-eyvY4Lq4.mjs.map} +1 -1
- package/dist/renderer-gHNCu7H5.mjs +5 -0
- package/dist/renderer-gxDNmbtU.mjs +5 -0
- package/dist/renderer-hkK4DNRX.mjs +5 -0
- package/dist/{renderer-CxOaqnho.mjs → renderer-ij448rvt.mjs} +3 -3
- package/dist/{renderer-CxOaqnho.mjs.map → renderer-ij448rvt.mjs.map} +1 -1
- package/dist/{renderer-CxkUI9s_.mjs → renderer-j7aUfyeR.mjs} +4 -4
- package/dist/{renderer-CxkUI9s_.mjs.map → renderer-j7aUfyeR.mjs.map} +1 -1
- package/dist/{renderer-PNIgmWft.mjs → renderer-kFtcuY9J.mjs} +2 -2
- package/dist/{renderer-PNIgmWft.mjs.map → renderer-kFtcuY9J.mjs.map} +1 -1
- package/dist/{renderer-zdpn1Hkk.mjs → renderer-kOlfYLtu.mjs} +3 -3
- package/dist/{renderer-zdpn1Hkk.mjs.map → renderer-kOlfYLtu.mjs.map} +1 -1
- package/dist/{renderer-CPl1wOrj.mjs → renderer-l1qJE4z-.mjs} +3 -3
- package/dist/{renderer-CPl1wOrj.mjs.map → renderer-l1qJE4z-.mjs.map} +1 -1
- package/dist/{renderer-BIYJKdwA.mjs → renderer-ml2LHmRb.mjs} +3 -3
- package/dist/{renderer-BIYJKdwA.mjs.map → renderer-ml2LHmRb.mjs.map} +1 -1
- package/dist/{renderer-BmX2CmyO.mjs → renderer-mu2mYo5w.mjs} +4 -4
- package/dist/{renderer-BmX2CmyO.mjs.map → renderer-mu2mYo5w.mjs.map} +1 -1
- package/dist/{renderer-D-FwaV1R.mjs → renderer-ovkctV5a.mjs} +2 -2
- package/dist/renderer-oy6SGDRz.mjs +5 -0
- package/dist/{renderer-Du8z4UrN.mjs → renderer-qQmoO5Hk.mjs} +3 -3
- package/dist/{renderer-Du8z4UrN.mjs.map → renderer-qQmoO5Hk.mjs.map} +1 -1
- package/dist/renderer-rq7UIcuH.mjs +5 -0
- package/dist/{renderer-Bt_j2Zi6.mjs → renderer-rv-AKqCl.mjs} +3 -3
- package/dist/{renderer-Bt_j2Zi6.mjs.map → renderer-rv-AKqCl.mjs.map} +1 -1
- package/dist/renderer-xkEJahws.mjs +5 -0
- package/dist/{renderer-C1sFg34Y.mjs → renderer-yF40Pb-n.mjs} +4 -4
- package/dist/{renderer-C1sFg34Y.mjs.map → renderer-yF40Pb-n.mjs.map} +1 -1
- package/dist/{renderer-Ddg3dJmu.mjs → renderer-yFHP9Zj2.mjs} +4 -4
- package/dist/{renderer-Ddg3dJmu.mjs.map → renderer-yFHP9Zj2.mjs.map} +1 -1
- package/dist/{renderer-DYdll3xW.mjs → renderer-zOK5DYYn.mjs} +4 -4
- package/dist/{renderer-DYdll3xW.mjs.map → renderer-zOK5DYYn.mjs.map} +1 -1
- package/dist/{renderers-CP8CFWDs-BbLkcJTN.mjs → renderers-CP8CFWDs-DPLX5EJs.mjs} +3 -3
- package/dist/{renderers-CP8CFWDs-BbLkcJTN.mjs.map → renderers-CP8CFWDs-DPLX5EJs.mjs.map} +1 -1
- package/dist/signals/index.d.mts +5 -5
- package/dist/signals/index.mjs +5 -5
- package/dist/{src-WAnxhDYD.mjs → src-BnkrNj2W.mjs} +613 -118
- package/dist/src-BnkrNj2W.mjs.map +1 -0
- package/package.json +59 -58
- package/dist/dist-Bf0H4lp1.mjs.map +0 -1
- package/dist/dist-DG65RDhc.mjs.map +0 -1
- package/dist/fonts-DqYgk_1a.mjs.map +0 -1
- package/dist/index-CZK6CFLy.d.mts.map +0 -1
- package/dist/index-CalU-mpZ.d.mts.map +0 -1
- package/dist/index-tCKz9Tku.d.mts.map +0 -1
- package/dist/preview-engine/chunk-FAEWI3LF.mjs +0 -5
- package/dist/preview-engine/chunk-I6E3AKLS.mjs +0 -1
- package/dist/preview-engine/chunk-PR37RCNO.mjs +0 -1974
- package/dist/preview-engine/chunk-YSXMXD3F.mjs +0 -3
- package/dist/preview-engine/renderers-2S5ZWL2J.mjs +0 -1
- package/dist/preview-engine/renderers-37CN7O4S.mjs +0 -1
- package/dist/preview-engine/renderers-3UGG2IMP.mjs +0 -1
- package/dist/preview-engine/renderers-7MPBAHYA.mjs +0 -1
- package/dist/preview-engine/renderers-AFTYMS3H.mjs +0 -1
- package/dist/preview-engine/renderers-AYEWAW7F.mjs +0 -1
- package/dist/preview-engine/renderers-BILNWTUC.mjs +0 -228
- package/dist/preview-engine/renderers-DUF2CTX6.mjs +0 -1
- package/dist/preview-engine/renderers-EIJFIY6L.mjs +0 -1
- package/dist/preview-engine/renderers-EOMMSENQ.mjs +0 -1
- package/dist/preview-engine/renderers-JXBZPQKP.mjs +0 -1
- package/dist/preview-engine/renderers-LD3COS4X.mjs +0 -1
- package/dist/preview-engine/renderers-MCTBJEL7.mjs +0 -1
- package/dist/preview-engine/renderers-OZGEXW2X.mjs +0 -1
- package/dist/preview-engine/renderers-PSEDMUBV.mjs +0 -1
- package/dist/preview-engine/renderers-PVUROEGR.mjs +0 -1
- package/dist/preview-engine/renderers-QBVVTQV6.mjs +0 -1
- package/dist/preview-engine/renderers-R4U2TK6P.mjs +0 -1
- package/dist/preview-engine/renderers-RBLNDAO4.mjs +0 -1
- package/dist/preview-engine/renderers-RM25AXWZ.mjs +0 -1
- package/dist/preview-engine/renderers-RYRFCEYT.mjs +0 -1
- package/dist/preview-engine/renderers-SKT7AGGE.mjs +0 -1
- package/dist/preview-engine/renderers-SRU6QXLN.mjs +0 -1
- package/dist/preview-engine/renderers-TBP2EKJ4.mjs +0 -1
- package/dist/preview-engine/renderers-UQHKFGDX.mjs +0 -1
- package/dist/preview-engine/renderers-WDV7ENJA.mjs +0 -1
- package/dist/preview-engine/renderers-WNBDSSJ3.mjs +0 -1
- package/dist/preview-engine/renderers-WTC2RNGU.mjs +0 -1
- package/dist/preview-engine/renderers-XVUOO7B6.mjs +0 -1
- package/dist/preview-engine/renderers-YHOQUEHD.mjs +0 -1
- package/dist/preview-engine/renderers-YPFM5UJO.mjs +0 -1
- package/dist/preview-engine/renderers-YW3LBALW.mjs +0 -1
- package/dist/program-4mAVgg3c.mjs.map +0 -1
- package/dist/renderer-1ymN1FIT.mjs +0 -5
- package/dist/renderer-92IAZzBU.d.mts.map +0 -1
- package/dist/renderer-B-43EuKb.mjs +0 -5
- package/dist/renderer-B-v5ZboU.mjs +0 -5
- package/dist/renderer-B9AZ6R1U.mjs.map +0 -1
- package/dist/renderer-BBA-iCi-.mjs.map +0 -1
- package/dist/renderer-BKF8Sfbg.mjs +0 -3
- package/dist/renderer-BTB8ifgH.mjs +0 -5
- package/dist/renderer-BYxzR6Hp.mjs +0 -5
- package/dist/renderer-BcGhO_Mw.mjs +0 -5
- package/dist/renderer-Bk3RgiFg.mjs +0 -5
- package/dist/renderer-BvItCxkw.mjs +0 -5
- package/dist/renderer-BvcqncI2.mjs +0 -3
- package/dist/renderer-CCnfPHqk.mjs +0 -5
- package/dist/renderer-CIoWQNaA.mjs +0 -5
- package/dist/renderer-CMwQtIIq.mjs +0 -5
- package/dist/renderer-CN8kRB90.mjs +0 -6
- package/dist/renderer-CPKBDif1.mjs +0 -5
- package/dist/renderer-CamsHxEP.mjs +0 -5
- package/dist/renderer-CeQormOH.mjs +0 -5
- package/dist/renderer-Cex4eMtv.mjs +0 -5
- package/dist/renderer-CjyTrNlr.mjs +0 -5
- package/dist/renderer-Clv9TO6C.mjs +0 -5
- package/dist/renderer-D4LnJk-M.mjs +0 -5
- package/dist/renderer-D5OfQ8Ut.mjs +0 -5
- package/dist/renderer-DBYssktC.mjs +0 -5
- package/dist/renderer-DC-Aj3me.mjs +0 -5
- package/dist/renderer-DG97_Aoc.mjs +0 -5
- package/dist/renderer-DS4UGjcS.mjs +0 -5
- package/dist/renderer-DdG6ibtM.mjs +0 -5
- package/dist/renderer-DhZi4f3t.mjs +0 -5
- package/dist/renderer-MgLekf6d.mjs +0 -5
- package/dist/renderer-Qvs-1lWh.mjs +0 -5
- package/dist/renderer-bN7dOErt.mjs +0 -5
- package/dist/renderer-jWKVmReU.mjs +0 -5
- package/dist/renderer-lk-At57G.mjs +0 -5
- package/dist/renderer-qi8Slwfo.mjs +0 -5
- package/dist/renderer-qxOH4JH1.mjs +0 -5
- package/dist/renderer-t30NpmIl.mjs +0 -5
- package/dist/renderer-wKW4HWRx.mjs +0 -5
- package/dist/renderer-ydjPm8bp.mjs +0 -5
- package/dist/src-WAnxhDYD.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as x}from"./chunk-2JKXYG6J.mjs";import{h as b,j as g}from"./chunk-ENKKLU7B.mjs";import{A as T,v as w}from"./chunk-
|
|
1
|
+
import{a as x}from"./chunk-2JKXYG6J.mjs";import{h as b,j as g}from"./chunk-ENKKLU7B.mjs";import{A as T,v as w}from"./chunk-ALSOO22Q.mjs";import{e as u}from"./chunk-BVF64D6H.mjs";u();u();function d(n,r,i,m,f,h,o){let e=`${r}HandleId`,l=n[e],c=l?n.inputs?.[l]:null,s;if(c?.connectionValid&&c.outputItem){let t=c.outputItem.data;s=t&&typeof t=="object"&&"offset"in t?t.offset:c.outputItem.data}else s=n[r];let p=w(s,i,h,o);return Math.max(m,Math.min(f,p))}var P=new Map;function z(n,r){let i=P.get(r);return i||(i=new x(n),P.set(r,i)),i}var D=async n=>{let{ctx:r,encoder:i,pass:m,targetWidth:f,targetHeight:h,props:o}=n,e=o.virtualMedia?.operation;if(!e||e.op!=="TemporalDeflicker"&&e.op!=="Deflicker")return;let l=o.virtualMedia?.children?.[0];if(!l)return;m.end();let c=f,s=h,p=o.frame??0,t=o.compositionFrame??p,a=o.fps||30,{texture:M}=await b(n,l,{props:{...o,virtualMedia:l,containerWidth:c,containerHeight:s}});n.pass.end();let W=d(e,"blendWeight",.35,0,1,t,a),y=d(e,"disocclusionThreshold",.15,.01,1,t,a),I=d(e,"maxMotionPixels",64,1,256,t,a),v=d(e,"scale",.5,.1,1,t,a),R=Math.round(d(e,"windowSize",2,1,5,t,a)),G=o.virtualMedia?.metadata?.id||e.id||`deflicker_${o.renderId??"global"}`,k=z(r.device,G);p===0&&k.reset();let H=k.execute(M,{blendWeight:W,disocclusionThreshold:y,maxMotionPixels:I,scale:v,windowSize:R},i),U=typeof e.opacity=="number"?e.opacity:1;g(n,H,U)};var j=T({WebGPURenderer:D});export{j as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as p}from"./chunk-
|
|
1
|
+
import{a as p}from"./chunk-Q7JN4EHX.mjs";import{A as m,c as t,z as n}from"./chunk-ALSOO22Q.mjs";import{e as s}from"./chunk-BVF64D6H.mjs";s();s();var C=["threshold","attack","hold","release","range"],I=()=>`
|
|
2
2
|
struct Uniforms {
|
|
3
3
|
sampleRate : f32,
|
|
4
4
|
threshold : f32,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as r}from"./chunk-ALSOO22Q.mjs";import{e}from"./chunk-BVF64D6H.mjs";e();var o=r({});export{o as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as F}from"./chunk-
|
|
1
|
+
import{A as F}from"./chunk-ALSOO22Q.mjs";import{a as H}from"./chunk-IQC2I5A5.mjs";import{e as u}from"./chunk-BVF64D6H.mjs";u();u();var N=async P=>{let{ctx:e,pass:L,targetView:z,targetTexture:f,targetWidth:w,targetHeight:T,encoder:o,props:n,drawChild:E}=P,{virtualMedia:b}=n;if(b.operation?.op!=="Paint")return;let c=b?.children?.[0],a=n.containerWidth??c?.metadata?.width??w,t=n.containerHeight??c?.metadata?.height??T,g=b.operation,y=g.mode==="mask",k=g.strokes??[];L.end(),e.renderer.pushIdentity();let s=e.renderer.getTemporaryTexture(a,t,[...n.excludeTextures||[],f]),h=s.createView();if(y)e.renderer.beginFrame(o,h,{r:0,g:0,b:0,a:1},a,t,"clear").end();else if(c)await E(c,n,h,s,a,t);else{let l=e.renderer.beginFrame(o,h,{r:0,g:0,b:0,a:0},a,t,"clear");g.backgroundColor&&e.renderer.drawRect(l,{x:0,y:0,width:a,height:t},g.backgroundColor),l.end()}let R=s;if(k.length>0){let l=c?.metadata?.width??a,C=c?.metadata?.height??t,M=l>0?a/l:1,V=C>0?t/C:1,G=!1;(M!==1||V!==1)&&(e.renderer.pushTransform(new DOMMatrix().scale(M,V)),G=!0);let p=e.renderer.getTemporaryTexture(a,t,[s,f,...n.excludeTextures||[]]),j=p.createView();e.renderer.beginFrame(o,j,{r:0,g:0,b:0,a:0},a,t,"clear").end();let v=k,m=p,d=null;for(let i of v)if(i.tool==="brush"){d||(d=e.renderer.beginFrame(o,m.createView(),{r:0,g:0,b:0,a:0},a,t,"load"));let r=H(i.color),x=y?{r:r.a,g:r.a,b:r.a,a:r.a}:{r:r.r*r.a,g:r.g*r.a,b:r.b*r.a,a:r.a};e.renderer.drawPath(d,i.path,x,i.size,{opacity:i.opacity??1,blendMode:"max"})}else if(i.tool==="eraser"){d&&(d.end(),d=null);let r=e.renderer.getTemporaryTexture(a,t,[s,p,f,...n.excludeTextures||[]]),x=r.createView(),U=e.renderer.beginFrame(o,x,{r:0,g:0,b:0,a:0},a,t,"clear");e.renderer.drawPath(U,i.path,"#ffffff",i.size,{blendMode:"max"}),U.end(),m=e.renderer.composite(o,m,r,"mask-out",[s,p,f,...n.excludeTextures||[]])}d&&d.end(),R=e.renderer.composite(o,s,m,"normal",[s,m,f,...n.excludeTextures||[]]),G&&e.renderer.popTransform()}e.renderer.popTransform();let W=e.renderer.beginFrame(o,z,{r:0,g:0,b:0,a:0},w,T,"load");e.renderer.drawTexture(W,R,{x:0,y:0,width:a,height:t}),P.pass=W};var A=F({WebGPURenderer:N});export{A as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as h}from"./chunk-
|
|
1
|
+
import{a as h}from"./chunk-Q7JN4EHX.mjs";import{A as g,c as i,d as c,z as t}from"./chunk-ALSOO22Q.mjs";import{e as r}from"./chunk-BVF64D6H.mjs";r();r();var x=["frequency","gain","q"],v=()=>`
|
|
2
2
|
struct Uniforms {
|
|
3
3
|
sampleRate : f32,
|
|
4
4
|
numBands : f32,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{d as w,h as G,i as P}from"./chunk-ENKKLU7B.mjs";import{A as b}from"./chunk-
|
|
1
|
+
import{d as w,h as G,i as P}from"./chunk-ENKKLU7B.mjs";import{A as b}from"./chunk-ALSOO22Q.mjs";import{e as u}from"./chunk-BVF64D6H.mjs";u();u();u();function W(e,r){let n=[];for(let i=0;i<r;i++){let c=i/(r-1)*100;for(let l=0;l<e;l++){let o=l/(e-1)*100;n.push({x:o,y:c})}}return n}var F=`
|
|
2
2
|
struct MeshUniforms {
|
|
3
3
|
gridSize : vec2<f32>,
|
|
4
4
|
layerSize : vec2<f32>,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as F,d as L,e as N,f as W,g as C,h as V,j as B,k as H,l as $,m as E}from"./chunk-ENKKLU7B.mjs";import{A as D,w as U}from"./chunk-
|
|
1
|
+
import{a as F,d as L,e as N,f as W,g as C,h as V,j as B,k as H,l as $,m as E}from"./chunk-ENKKLU7B.mjs";import{A as D,w as U}from"./chunk-ALSOO22Q.mjs";import{e as p}from"./chunk-BVF64D6H.mjs";p();p();var fe=`
|
|
2
2
|
struct TileOffsetUniforms {
|
|
3
3
|
offsetX : f32,
|
|
4
4
|
offsetY : f32,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as En}from"./chunk-YQRKT47I.mjs";import{a as He}from"./chunk-VXUJWPIK.mjs";import{a as Pt}from"./chunk-XKO4RYKN.mjs";import{g as Ye,h as Mt,i as Xe,j as ve,k as be,l as Pe,n as Rt,p as It}from"./chunk-SYP4AJMF.mjs";import{I as yt,a as M,b as A}from"./chunk-V3FODTPI.mjs";import{A as xt,b as bt,h as Se,i as Ne,m as ne}from"./chunk-RNFYEZLL.mjs";import{a as St,e as _t,i as Ge,j as wt}from"./chunk-4GEWSUX5.mjs";import{b as _e,c as kt,e as Tt}from"./chunk-MTJHQATU.mjs";import{d as vt,e as we,g as ze}from"./chunk-YAQFFQPG.mjs";import{c as Cn,d as j,e as x}from"./chunk-BVF64D6H.mjs";x();x();var Ot=class{domain="visual";signals;config;_frameHooks=[];constructor(e){this.config={...e},this.signals={};for(let[t,n]of Object.entries(e))Se(n)?this.signals[t]=n:this.signals[t]=Ne(n);return new Proxy(this,{get(t,n,s){if(typeof n=="string"&&n in t.signals){let o=t.signals[n];return o?o.value:void 0}return Reflect.get(t,n,s)},set(t,n,s,o){if(typeof n=="string"&&n in t.signals){let i=t.signals[n];return Se(s)?(t.signals[n]=s,t.config[n]=s):i&&typeof i.set=="function"?(i.set(s),t.config[n]=s):(t.signals[n]=Ne(s),t.config[n]=s),!0}return Reflect.set(t,n,s,o)}})}onRequestFrame(e){return this._frameHooks.push(e),this}notifyFrame(e){for(let t of this._frameHooks)t(e)}resolveUniforms(e){let t={};for(let[n,s]of Object.entries(this.signals))t[n]=s.get(e);return t}resolveTextures(){let e={};for(let[t,n]of Object.entries(this.signals)){let s=n.gpuBinding;s?.textureView&&(e[`${t}TextureView`]=s.textureView),s?.texture&&(e[`${t}Texture`]=s.texture)}return e}toOperation(){let e={op:this.op,effect:this,onRequestFrame:t=>this.notifyFrame(t),signals:this.signals,...this.config};for(let[t,n]of Object.entries(this.signals)){let s=this.config[t];!Se(s)&&(typeof s=="string"||typeof s=="boolean")?e[t]=n.value:e[t]=n}return e}};x();var Ct=class extends Error{constructor(e){super(e),this.name="ModerationError"}},Et=class extends Error{constructor(e){super(e),this.name="ModerationUnrefundableError"}};x();x();x();var Lt="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var At=(r=21)=>{let e="",t=crypto.getRandomValues(new Uint8Array(r|=0));for(;r--;)e+=Lt[t[r]&63];return e};var Jr=r=>At(r);x();var jt=A.object({dataTypes:A.custom(),label:A.string(),required:A.boolean().optional(),order:A.number(),description:A.string().optional()}),Ln=A.object({configKey:A.string(),dataTypes:A.custom(),label:A.string(),description:A.string().optional()}),no=A.object({type:A.string().min(1),version:A.number().int().positive().optional(),baseType:A.string().optional(),displayName:A.string().min(1),description:A.string().optional(),showInQuickAccess:A.boolean().optional(),showInSidebar:A.boolean().optional(),advanced:A.boolean().optional(),category:A.string().min(1),subcategory:A.string().optional(),defaultDimensions:A.object({width:A.number().positive().optional(),height:A.number().positive().optional()}).optional(),handles:A.object({inputs:A.array(jt),outputs:A.array(jt)}),variableInputs:A.discriminatedUnion("enabled",[A.object({enabled:A.literal(!0),dataTypes:A.custom()}),A.object({enabled:A.literal(!1),dataTypes:A.custom().optional()})]).optional(),variableOutputs:A.discriminatedUnion("enabled",[A.object({enabled:A.literal(!0),dataTypes:A.custom()}),A.object({enabled:A.literal(!1),dataTypes:A.custom().optional()})]).optional(),isTerminal:A.boolean().optional(),isTransient:A.boolean().optional(),configSchema:A.custom().optional(),defaultConfig:A.record(A.string(),A.unknown()).optional(),validation:A.any().optional(),resultSchema:A.custom().optional(),configHandles:A.array(Ln).optional()});x();function so(r){if(!Number.isFinite(r)||!Number.isInteger(r)||r<0)throw new RangeError(`FrameIndex must be a non-negative finite integer, got ${r}`);return r}function io(r){if(!Number.isFinite(r))throw new TypeError(`Seconds must be a finite number, got ${r}`);return r}function ao(r){if(!Number.isFinite(r))throw new TypeError(`Milliseconds must be a finite number, got ${r}`);return r}function co(r){if(!Number.isFinite(r)||r<=0)throw new RangeError(`Fps must be a positive finite number, got ${r}`);return r}function lo(r){if(!Number.isFinite(r))throw new TypeError(`Normalized must be a finite number, got ${r}`);return Math.max(0,Math.min(1,r))}function uo(r){if(!Number.isFinite(r))throw new TypeError(`Degrees must be a finite number, got ${r}`);return r}function mo(r){if(!Number.isFinite(r))throw new TypeError(`Radians must be a finite number, got ${r}`);return r}function fo(r){if(!Number.isFinite(r))throw new TypeError(`Pixels must be a finite number, got ${r}`);return r}function po(r){if(!r)throw new TypeError("HandleId cannot be empty");return r}function ho(r){if(!r)throw new TypeError("HandleLabel cannot be empty");return r}function go(r){if(!r)throw new TypeError("NodeId cannot be empty");return r}function bo(r){return typeof r=="number"&&Number.isInteger(r)&&r>=0}function yo(r){return typeof r=="number"&&Number.isFinite(r)&&r>=0&&r<=1}x();var To={Text:{bg:"bg-blue-500",stroke:"stroke-blue-500",hex:"#3b82f6",text:"text-blue-500",border:"border-blue-500"},Image:{bg:"bg-purple-500",stroke:"stroke-purple-500",hex:"#a855f7",text:"text-purple-500",border:"border-purple-500"},Video:{bg:"bg-teal-500",stroke:"stroke-teal-500",hex:"oklch(60% 0.118 184.704)",text:"text-teal-500",border:"border-teal-500"},Audio:{bg:"bg-orange-500",stroke:"stroke-orange-500",hex:"#f97316",text:"text-orange-500",border:"border-orange-500"},Number:{bg:"bg-green-600",stroke:"stroke-green-600",hex:"#16a34a",text:"text-green-600",border:"border-green-600"},Boolean:{bg:"bg-amber-600",stroke:"stroke-amber-600",hex:"#d97706",text:"text-amber-600",border:"border-amber-600"},SVG:{bg:"bg-lime-600",stroke:"stroke-lime-600",hex:"#65a30d",text:"text-lime-600",border:"border-lime-600"},Caption:{bg:"bg-rose-500",stroke:"stroke-rose-500",hex:"#f43f5e",text:"text-rose-500",border:"border-rose-500"},GIF:{bg:"bg-pink-500",stroke:"stroke-pink-500",hex:"#ec4899",text:"text-pink-500",border:"border-pink-500"},Lottie:{bg:"bg-indigo-500",stroke:"stroke-indigo-500",hex:"#6366f1",text:"text-indigo-500",border:"border-indigo-500"},Signal:{bg:"bg-fuchsia-500",stroke:"stroke-fuchsia-500",hex:"#d946ef",text:"text-fuchsia-500",border:"border-fuchsia-500"},LUT:{bg:"bg-cyan-600",stroke:"stroke-cyan-600",hex:"#0891b2",text:"text-cyan-600",border:"border-cyan-600"}};x();var vo={Image:"png",Video:"mp4",Audio:"mp3",Text:"txt",Number:"txt",Boolean:"txt",SVG:"svg",Caption:"srt",Lottie:"json",ThreeD:"glb",GIF:"gif",Signal:"txt",LUT:"cube"},Po={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",mp4:"video/mp4",webm:"video/webm",mov:"video/quicktime",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",pdf:"application/pdf",json:"application/json",txt:"text/plain",srt:"text/srt",aac:"audio/aac",flac:"audio/flac"},An=["source-over","source-in","source-out","source-atop","destination-over","destination-in","destination-out","destination-atop","lighter","copy","xor","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Ft=M.enum(An),Vt=class r{static schemas=new Map;static register(e,t){r.schemas.set(e,t)}static get(e){return r.schemas.get(e)}static clear(){r.schemas.clear()}};x();var Io={FONT_FAMILY:"Inter",FONT_SIZE:64,FILL:"#ffffff",LINE_HEIGHT:1.1,ALIGN:"left",VERTICAL_ALIGN:"top",LETTER_SPACING:0,STROKE_WIDTH:0,STROKE:"#000000",CORNER_RADIUS:0,PADDING:0};x();var jn=M.enum(["fade-in","fade-out","slide-in-left","slide-in-right","slide-in-top","slide-in-bottom","zoom-in","zoom-out","rotate-cw","rotate-ccw","bounce","shake"]),Vn=M.object({id:M.string(),type:jn,value:M.number()}),Fn=M.object({x:M.number().default(0),y:M.number().default(0),width:M.number().optional(),height:M.number().optional(),rotation:M.number().default(0),scale:M.number().min(0).default(1),opacity:M.number().min(0).max(1).default(1),zIndex:M.number().int().optional(),blendMode:Ft.optional()}),Bn=M.object({startFrame:M.number().int().min(0).default(0),durationInMS:M.number().int().min(1).optional(),trimStart:M.number().int().min(0).optional(),trimEnd:M.number().int().min(0).optional(),speed:M.number().min(.25).max(4).optional()}),Un=M.object({text:M.string().optional(),fontSize:M.number().optional(),fontFamily:M.string().optional(),fontStyle:M.string().optional(),fontWeight:M.union([M.number(),M.string()]).optional(),fill:M.string().optional(),align:M.string().optional(),direction:M.enum(["ltr","rtl","auto"]).optional(),verticalAlign:M.string().optional(),letterSpacing:M.number().optional(),lineHeight:M.number().optional(),padding:M.number().optional(),stroke:M.string().optional(),strokeWidth:M.number().optional(),strokeAlign:M.enum(["inside","center","outside"]).optional(),textShadow:M.string().optional(),textBackgroundColor:M.string().optional(),shadows:M.array(M.object({color:M.string(),offset:M.object({x:M.number(),y:M.number()}).optional(),blurRadius:M.number().optional()})).optional(),textAnimation:M.any().optional(),bottomPadding:M.number().optional(),maxWidth:M.number().optional()}),Dn=M.object({backgroundColor:M.string().optional(),borderColor:M.string().optional(),borderWidth:M.number().optional(),strokeRadius:M.number().optional(),autoDimensions:M.boolean().optional()}),$e=M.enum(["Video","Image","Audio","Text","Caption","SVG","GIF","Lottie"]),Bt=Fn.merge(Bn).merge(Un).merge(Dn).extend({type:$e.optional(),animations:M.array(Vn).optional()});x();x();var Nn=M.enum(["none","crossfade","wipe-left","wipe-right","slide-up","slide-down"]),We=M.object({type:Nn,durationFrames:M.number().min(1)});var Go=Bt.extend({id:M.string(),name:M.string().optional(),type:$e,virtualMedia:yt.optional(),transitionIn:We.optional(),transitionOut:We.optional(),durationInMS:M.number(),maxDurationInMS:M.number().optional(),src:M.string().optional(),volume:M.number().default(1),inputHandleId:M.string().optional(),isPlaceholder:M.boolean().optional(),lockAspect:M.boolean().optional(),lockRatio:M.boolean().optional(),zIndex:M.number().optional()}).strict();x();function Ut(r,e){if(r===e||typeof r=="number"&&typeof e=="number"&&Number.isNaN(r)&&Number.isNaN(e))return!0;if(r&&e&&typeof r=="object"&&typeof e=="object"){if(r.constructor!==e.constructor)return!1;if(Array.isArray(r)){if(r.length!==e.length)return!1;for(let n=0;n<r.length;n++)if(!Ut(r[n],e[n]))return!1;return!0}if(r instanceof Date)return r.getTime()===e.getTime();if(r instanceof RegExp)return r.toString()===e.toString();let t=Object.keys(r);if(t.length!==Object.keys(e).length)return!1;for(let n of t)if(!Object.hasOwn(e,n)||!Ut(r[n],e[n]))return!1;return!0}return!1}x();function Ko(r,e){if(!r?.sourceFingerprint)return null;let t=He(e);return r.sourceFingerprint!==t?null:r}function qo(r,e){return{...r,sourceFingerprint:He(e)}}x();function Qo(r){try{let t=r.toString("utf-8").match(/<svg[^>]*>/i);if(!t)return null;let n=t[0],s=a=>{let l=n.match(new RegExp(`${a}=["']([^"']+)["']`,"i"));if(!l)return null;let d=parseFloat(l[1].replace(/[a-z%]/gi,""));return isNaN(d)?null:d},o=s("width"),i=s("height"),u=n.match(/viewBox=["']([^"']+)["']/i);if(u){let a=u[1].split(/[\s,]+/).map(parseFloat);if(a.length>=4&&!isNaN(a[2])&&!isNaN(a[3])){let l=a[2],d=a[3];o==null&&i==null?(o=l,i=d):o!=null&&i==null?i=o*(d/l):i!=null&&o==null&&(o=i*(l/d))}}return o!=null&&i!=null&&o>0&&i>0?{w:o,h:i}:null}catch(e){return console.error("Error parsing SVG dimensions",e),null}}x();x();x();x();var ce=(r,e,t)=>`https://huggingface.co/${r}/resolve/${e}/${t}`,Ke="tori29umai/rtmdet-ins-onnx-person-masks",qe="e5218e8d47d7c50077f27f9893a28e0ef2ad5656",Ze="RTMDet-Ins (OpenMMLab mmdetection, Apache-2.0), mmdeploy ONNX export",Je="RTMO (OpenMMLab mmpose, Apache-2.0), ONNX export",Dt="MediaPipe Selfie Segmenter (Google, Apache-2.0), ONNX export",re={"rtmdet-ins-t":{key:"rtmdet-ins-t",family:"rtmdet-ins",filename:"rtmdet-ins-t.onnx",url:ce(Ke,qe,"models/tiny/rtmdet-ins_tiny_640x640.onnx"),bytes:24032356,sha256:"99ee670820c4493aa13e20578b6a8e39781c319846dc41796a77765734beac5c",input:[640,640],source:Ze},"rtmdet-ins-s":{key:"rtmdet-ins-s",family:"rtmdet-ins",filename:"rtmdet-ins-s.onnx",url:ce(Ke,qe,"models/s/rtmdet-ins_s_640x640.onnx"),bytes:43236976,sha256:"9cd1787fbf3eb2bd64cc2d8154f41c036f5484b85599e1cbe0227a2dc5a4a08b",input:[640,640],source:Ze},"rtmdet-ins-m":{key:"rtmdet-ins-m",family:"rtmdet-ins",filename:"rtmdet-ins-m.onnx",url:ce(Ke,qe,"models/m/rtmdet-ins_m_640x640.onnx"),bytes:115735979,sha256:"a003bce80316e03467c2c2b483df2d5c0398220c2357a44f9bf985929f7eb052",input:[640,640],source:Ze},"rtmo-t":{key:"rtmo-t",family:"rtmo",filename:"rtmo-t.onnx",url:ce("Xenova/RTMO-t","f29d13ce5ee291fbe505e9d06a049992f05699dc","onnx/model.onnx"),bytes:27360569,sha256:"cb54dd042bf997df86d938721c94238940f2bff98ba8d2ccc834430de5c65c13",input:[416,416],source:Je},"rtmo-s":{key:"rtmo-s",family:"rtmo",filename:"rtmo-s.onnx",url:ce("Xenova/RTMO-s","d8c526187f341d287753831c9c8b1ecc4855bba1","onnx/model.onnx"),bytes:39636400,sha256:"1cd6a3517658903233e9ccb78666554862f57f0944b6886e2048093594aef4e7",input:[640,640],source:Je},"rtmo-m":{key:"rtmo-m",family:"rtmo",filename:"rtmo-m.onnx",url:ce("Xenova/RTMO-m","3aba1280472b98ee2bf663482e27e243038d23fe","onnx/model.onnx"),bytes:89291929,sha256:"76d82c45e5c4810baf587ecf2638d15cbf7ed196afb2055e977382532021b59e",input:[640,640],source:Je},"selfie-square":{key:"selfie-square",family:"selfie",filename:"selfie-square.onnx",url:ce("onnx-community/mediapipe_selfie_segmentation","be49485c8e027524be38591817fc5cd31bd9d00e","onnx/model.onnx"),bytes:462352,sha256:"3241ac4ad8aa35bdaf33946776db29f7c283a413aa0b0dacb9483594b4531aad",input:[256,256],source:Dt},"selfie-landscape":{key:"selfie-landscape",family:"selfie",filename:"selfie-landscape.onnx",url:ce("onnx-community/mediapipe_selfie_segmentation_landscape","2497d5bec26c626c7b3c4edc6e1fefc21b64f6c3","onnx/model.onnx"),bytes:462338,sha256:"7a0adcfdb1715d3b0ff0f61486d8a181c33f4a208343a5abfccbc6540e872d24",input:[256,144],source:Dt}};function Nt(r,e="s",t=1){return r==="pose"?`rtmo-${e}`:r==="matte"?t>1.3?"selfie-landscape":"selfie-square":`rtmdet-ins-${e}`}var Me=["person","bicycle","car","motorcycle","airplane","bus","train","truck","boat","traffic light","fire hydrant","stop sign","parking meter","bench","bird","cat","dog","horse","sheep","cow","elephant","bear","zebra","giraffe","backpack","umbrella","handbag","tie","suitcase","frisbee","skis","snowboard","sports ball","kite","baseball bat","baseball glove","skateboard","surfboard","tennis racket","bottle","wine glass","cup","fork","knife","spoon","bowl","banana","apple","sandwich","orange","broccoli","carrot","hot dog","pizza","donut","cake","chair","couch","potted plant","bed","dining table","toilet","tv","laptop","mouse","remote","keyboard","cell phone","microwave","oven","toaster","sink","refrigerator","book","clock","vase","scissors","teddy bear","hair drier","toothbrush"];x();function de(r,e){let t=Math.max(r.originX,e.originX),n=Math.max(r.originY,e.originY),s=Math.min(r.originX+r.width,e.originX+e.width),o=Math.min(r.originY+r.height,e.originY+e.height),i=Math.max(0,s-t),u=Math.max(0,o-n),a=i*u;if(a<=0)return 0;let l=r.width*r.height,d=e.width*e.height,c=l+d-a;return c>0?a/c:0}var ye=class{_nextTrackId=1;_tracks=[];_iouThreshold;_maxMissedFrames;_minHits;_positionSmoothing;_activeDuringCoast;constructor(e={}){this._iouThreshold=e.iouThreshold??.25,this._maxMissedFrames=e.maxMissedFrames??15,this._minHits=e.minHits??1,this._positionSmoothing=Math.max(.1,Math.min(1,e.positionSmoothing??.75)),this._activeDuringCoast=e.activeDuringCoast!==!1}update(e,t,n=24){let s=n>0?1/n:.0416;for(let a of this._tracks)if(a.age++,a.timeSinceUpdate++,a.timeSinceUpdate>0){let l=a.centerX+a.vx*s,d=a.centerY+a.vy*s;a.centerX=l,a.centerY=d;let c=a.box.width,h=a.box.height,b=a.box.normalizedWidth,y=a.box.normalizedHeight,I=a.box.normalizedX+b/2+a.vx*s/Math.max(1,a.box.width/b),E=a.box.normalizedY+y/2+a.vy*s/Math.max(1,a.box.height/y);a.box={originX:l-c/2,originY:d-h/2,width:c,height:h,normalizedX:I-b/2,normalizedY:E-y/2,normalizedWidth:b,normalizedHeight:y},a.vx*=.92,a.vy*=.92,a.isCoasting=!0}let o=new Set,i=new Set,u=[];for(let a=0;a<this._tracks.length;a++){let l=this._tracks[a];for(let d=0;d<e.length;d++){let c=e[d];if(l.category!==c.category)continue;let h=de(l.box,c.boundingBox);h>=this._iouThreshold&&u.push({trackIdx:a,detIdx:d,iou:h})}}u.sort((a,l)=>l.iou-a.iou);for(let a of u){if(i.has(a.trackIdx)||o.has(a.detIdx))continue;i.add(a.trackIdx),o.add(a.detIdx);let l=this._tracks[a.trackIdx],d=e[a.detIdx],c=d.boundingBox,h=c.originX+c.width/2,b=c.originY+c.height/2,y=(h-l.centerX)/s,I=(b-l.centerY)/s;l.vx=l.vx*.4+y*.6,l.vy=l.vy*.4+I*.6;let E=this._positionSmoothing,g=l.box.width*(1-E)+c.width*E,_=l.box.height*(1-E)+c.height*E,k=l.centerX*(1-E)+h*E,L=l.centerY*(1-E)+b*E;l.centerX=k,l.centerY=L,l.score=d.score,l.timeSinceUpdate=0,l.hits++,l.isCoasting=!1,l.hits>=this._minHits&&(l.active=!0),l.box={originX:k-g/2,originY:L-_/2,width:g,height:_,normalizedX:c.normalizedX,normalizedY:c.normalizedY,normalizedWidth:c.normalizedWidth,normalizedHeight:c.normalizedHeight}}for(let a=0;a<e.length;a++){if(o.has(a))continue;let l=e[a],d=l.boundingBox,c=d.originX+d.width/2,h=d.originY+d.height/2;this._tracks.push({trackId:this._nextTrackId++,category:l.category,score:l.score,box:d,centerX:c,centerY:h,vx:0,vy:0,age:1,hits:1,timeSinceUpdate:0,active:this._minHits<=1,isCoasting:!1})}return this._tracks=this._tracks.filter(a=>a.timeSinceUpdate<=this._maxMissedFrames),this._tracks.filter(a=>a.active).map(a=>{let l=a.box.normalizedWidth,d=a.box.normalizedHeight,c=a.box.normalizedX+l/2,h=a.box.normalizedY+d/2,b=Math.sqrt(a.vx*a.vx+a.vy*a.vy);return{trackId:a.trackId,category:a.category,score:a.score,boundingBox:a.box,centerX:a.centerX,centerY:a.centerY,normalizedCenterX:c,normalizedCenterY:h,velocity:{vx:a.vx,vy:a.vy},speed:b,age:a.age,hits:a.hits,active:this._activeDuringCoast?!0:a.timeSinceUpdate===0,isCoasting:a.isCoasting}})}trackSequence(e,t,n=24){this.reset();let s=n>0?1/n:.0416,o=new Map;for(let a=0;a<t;a++){let l=e[a]??[],d=this.update(l,a,n);for(let c of d)o.has(c.trackId)||o.set(c.trackId,{category:c.category,observations:[]}),c.isCoasting||o.get(c.trackId).observations.push({frame:a,box:c.boundingBox,score:c.score})}let i=new Map;for(let[a,l]of o.entries()){let d=l.observations;if(d.length===0)continue;d.sort((g,_)=>g.frame-_.frame);let c=new Array(t).fill(null);for(let g of d)c[g.frame]={box:g.box,score:g.score};let h=d[0];for(let g=0;g<h.frame;g++)c[g]={box:{...h.box},score:h.score*.9};for(let g=0;g<d.length-1;g++){let _=d[g],k=d[g+1],L=k.frame-_.frame;if(!(L<=1))for(let f=_.frame+1;f<k.frame;f++){let m=(f-_.frame)/L,w=_.box.originX+(k.box.originX-_.box.originX)*m,T=_.box.originY+(k.box.originY-_.box.originY)*m,R=_.box.width+(k.box.width-_.box.width)*m,P=_.box.height+(k.box.height-_.box.height)*m,F=_.box.normalizedX+(k.box.normalizedX-_.box.normalizedX)*m,O=_.box.normalizedY+(k.box.normalizedY-_.box.normalizedY)*m,S=_.box.normalizedWidth+(k.box.normalizedWidth-_.box.normalizedWidth)*m,p=_.box.normalizedHeight+(k.box.normalizedHeight-_.box.normalizedHeight)*m;c[f]={box:{originX:w,originY:T,width:R,height:P,normalizedX:F,normalizedY:O,normalizedWidth:S,normalizedHeight:p},score:_.score*(1-m)+k.score*m}}}let b=d[d.length-1];for(let g=b.frame+1;g<t;g++)c[g]={box:{...b.box},score:b.score*.9};let y=[],I=2,E=[.06136,.24477,.38774,.24477,.06136];for(let g=0;g<t;g++){let _=0,k=0,L=0,f=0,m=0,w=0,T=0,R=0,P=0,F=0;for(let S=-I;S<=I;S++){let p=Math.max(0,Math.min(t-1,g+S)),C=c[p];if(C){let z=E[S+I];_+=z,k+=C.box.originX*z,L+=C.box.originY*z,f+=C.box.width*z,m+=C.box.height*z,w+=C.box.normalizedX*z,T+=C.box.normalizedY*z,R+=C.box.normalizedWidth*z,P+=C.box.normalizedHeight*z,F+=C.score*z}}let O=_>0?1/_:1;y.push({box:{originX:k*O,originY:L*O,width:f*O,height:m*O,normalizedX:w*O,normalizedY:T*O,normalizedWidth:R*O,normalizedHeight:P*O},score:F*O})}i.set(a,{category:l.category,frames:y})}let u=[];for(let a=0;a<t;a++){let l=[];for(let[d,c]of i.entries()){let h=c.frames[a];if(!h)continue;let b=c.frames[Math.max(0,a-1)]??h,y=c.frames[Math.min(t-1,a+1)]??h,I=h.box.originX+h.box.width/2,E=h.box.originY+h.box.height/2,g=b.box.originX+b.box.width/2,_=b.box.originY+b.box.height/2,k=y.box.originX+y.box.width/2,L=y.box.originY+y.box.height/2,f=a===0||a===t-1?s:2*s,m=(k-g)/f,w=(L-_)/f,T=Math.sqrt(m*m+w*w),R=h.box.normalizedWidth,P=h.box.normalizedHeight;l.push({trackId:d,category:c.category,score:h.score,boundingBox:h.box,centerX:I,centerY:E,normalizedCenterX:h.box.normalizedX+R/2,normalizedCenterY:h.box.normalizedY+P/2,velocity:{vx:m,vy:w},speed:T,age:a+1,hits:10,active:!0,isCoasting:!1})}u.push(l)}return u}reset(){this._tracks=[],this._nextTrackId=1}};var Ht=()=>typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now();async function cs(r,e){let{runner:t}=e,n=e.fps??24,s=e.tasks&&e.tasks.length>0?e.tasks:["detect"],o=new Set(s),i=e.categories?new Set(e.categories.map(S=>S.toLowerCase())):null,u=e.includeMasks===!0&&o.has("segment"),a=o.has("detect")||o.has("segment"),l=[],d={},c=new Map,h=0,b=0,y=S=>!i||i.has(S.toLowerCase()),I=async(S,p,C)=>{let z=t.modelKeyFor(S,p.width/p.height),U=t.downloadStatus.get(z)==="ready",B=Ht(),V=await C(),N=Ht()-B;return h+=N,!U&&!d[z]&&(d[z]={bytes:re[z].bytes,ms:N}),V},E=S=>{for(let p of S){if(!y(p.category))continue;let C=c.get(p.category)??{sum:0,count:0};C.sum+=p.coverage,C.count++,c.set(p.category,C)}};for await(let S of r){let p=[];if(u){let C=await I("segment",S,()=>t.segment(S));E(C.masks),p=C.detections}else a&&(p=await I("detect",S,()=>t.detect(S)));o.has("pose")&&await I("pose",S,()=>t.pose(S)),o.has("matte")&&await I("matte",S,()=>t.matte(S)),l.push(i?p.filter(C=>y(C.category)):p),b++}let g=b,k=new ye({iouThreshold:e.iouThreshold??.25,maxMissedFrames:e.maxMissedFrames??15}).trackSequence(l,g,n),L=e.pathStride??Math.max(1,Math.ceil(g/50)),f=new Map,m=new Map,w=new Map,T=new Map,R=(S,p,C)=>{let z=S.get(p);return z===void 0&&(z=C(),S.set(p,z)),z};for(let S=0;S<g;S++)for(let p of k[S]??[]){if(!y(p.category))continue;let C=f.get(p.trackId);C||(C={category:p.category,firstFrame:S,lastFrame:S,speedSum:0,speedCount:0,centers:[]},f.set(p.trackId,C)),C.lastFrame=S,Number.isFinite(p.speed)&&(C.speedSum+=p.speed,C.speedCount++),(S-C.firstFrame)%L===0&&C.centers.push({frame:S,x:p.centerX,y:p.centerY}),R(m,p.category,()=>new Set).add(S),w.set(p.category,Math.max(w.get(p.category)??0,p.score)),R(T,p.category,()=>new Set).add(p.trackId)}let P=Array.from(f.entries()).map(([S,p])=>({trackId:S,category:p.category,frames:[p.firstFrame,p.lastFrame],speedMeanPxS:p.speedCount>0?p.speedSum/p.speedCount:0,centerPath:p.centers.map(C=>[C.x,C.y])})).sort((S,p)=>S.trackId-p.trackId),F={};for(let[S,p]of m)F[S]={framesPresent:p.size,totalFrames:g,maxConfidence:w.get(S)??0,tracks:T.get(S)?.size??0};let O={};for(let[S,p]of c)O[S]={meanCoverage:p.count>0?p.sum/p.count:0};return{source:e.source??"frames",totalFrames:g,fps:n,durationSec:n>0?g/n:0,tasks:Array.from(o),modelDownloads:d,inferenceMs:h,trackCount:P.length,classes:F,tracks:P,masks:O}}x();var Hn=[103.53,116.28,123.675],Gn=[57.375,57.12,58.395],zn={"rtmdet-ins":{fit:"topLeft",channels:"bgr",mean:Hn,std:Gn,padValue:114},rtmo:{fit:"center",channels:"bgr",mean:[0,0,0],std:[1,1,1],padValue:114},selfie:{fit:"stretch",channels:"rgb",mean:[0,0,0],std:[255,255,255],padValue:0}};function Gt(r,e){return{...zn[r],width:e[0],height:e[1]}}function Qe(r,e,t){if(t.fit==="stretch")return{scaleX:t.width/r,scaleY:t.height/e,offsetX:0,offsetY:0,inputWidth:t.width,inputHeight:t.height};let n=Math.min(t.width/r,t.height/e),s=Math.round(r*n),o=Math.round(e*n),i=t.fit==="center";return{scaleX:n,scaleY:n,offsetX:i?(t.width-s)/2:0,offsetY:i?(t.height-o)/2:0,inputWidth:t.width,inputHeight:t.height}}function ue(r,e,t){return{x:(r-t.offsetX)/t.scaleX,y:(e-t.offsetY)/t.scaleY}}function zt(r,e,t){let{width:n,height:s,data:o}=r,{width:i,height:u}=e,a=Qe(n,s,e),{scaleX:l,scaleY:d,offsetX:c,offsetY:h}=a,b=i*u;(!t||t.length<3*b)&&(t=new Float32Array(3*b));let y=e.channels==="bgr"?[2,1,0]:[0,1,2],[I,E,g]=e.mean,_=1/e.std[0],k=1/e.std[1],L=1/e.std[2],f=(e.padValue-I)*_,m=(e.padValue-E)*k,w=(e.padValue-g)*L,[T,R,P]=y,F=Math.ceil(c),O=Math.ceil(h),S=Math.min(i,Math.floor(c+n*l))-1,p=Math.min(u,Math.floor(h+s*d))-1;for(let C=0;C<u;C++){let z=C*i,U=C<O||C>p,B=Math.max(0,(C+.5-h)/d-.5),V=Math.min(s-1,Math.floor(B)),N=Math.min(s-1,V+1),X=B-V;for(let Y=0;Y<i;Y++){let G=z+Y;if(U||Y<F||Y>S){t[G]=f,t[b+G]=m,t[2*b+G]=w;continue}let K=Math.max(0,(Y+.5-c)/l-.5),H=Math.min(n-1,Math.floor(K)),se=Math.min(n-1,H+1),$=K-H,Z=(V*n+H)*4,te=(V*n+se)*4,oe=(N*n+H)*4,J=(N*n+se)*4,he=(1-$)*(1-X),D=$*(1-X),W=(1-$)*X,Q=$*X;t[G]=(o[Z+T]*he+o[te+T]*D+o[oe+T]*W+o[J+T]*Q-I)*_,t[b+G]=(o[Z+R]*he+o[te+R]*D+o[oe+R]*W+o[J+R]*Q-E)*k,t[2*b+G]=(o[Z+P]*he+o[te+P]*D+o[oe+P]*W+o[J+P]*Q-g)*L}}return{tensor:t,transform:a}}x();var Re=8;function et(r,e){let{sourceWidth:t,sourceHeight:n,transform:s}=e,o=e.classes?new Set(e.classes.map(g=>g.toLowerCase())):null,i=[];for(let g=0;g<r.count;g++){let _=r.dets[g*5+4];if(!(_>=e.confidence))continue;let k=Number(r.labels[g]),L=e.classNames[k]??`class_${k}`;if(o&&!o.has(L.toLowerCase()))continue;let f=ue(r.dets[g*5],r.dets[g*5+1],s),m=ue(r.dets[g*5+2],r.dets[g*5+3],s),w=le(f.x,0,t),T=le(f.y,0,n),R=le(m.x,0,t)-w,P=le(m.y,0,n)-T;R<=0||P<=0||i.push({index:g,detection:{category:L,score:_,boundingBox:{originX:w,originY:T,width:R,height:P,normalizedX:w/t,normalizedY:T/n,normalizedWidth:R/t,normalizedHeight:P/n}}})}i.sort((g,_)=>_.detection.score-g.detection.score);let u=i.map(g=>g.detection),a=[];if(!r.masks&&!r.maskPlane)return{detections:u,masks:a};let l=e.maskThreshold??.5,d=e.featherRadius??.05,c=r.maskLogits?Yn(l,d):Ie(l,d),{maskWidth:h,maskHeight:b}=r,y=h*b,I=h/s.inputWidth,E=b/s.inputHeight;for(let g=0;g<i.length;g++){let{index:_,detection:k}=i[g],L=k.boundingBox,f=r.maskPlane?r.maskPlane(_):r.masks,m=r.maskPlane?0:_*y,w=Math.max(0,Math.floor(L.originX)-Re),T=Math.max(0,Math.floor(L.originY)-Re),R=Math.min(t-1,Math.ceil(L.originX+L.width)+Re),P=Math.min(n-1,Math.ceil(L.originY+L.height)+Re),F=new Uint8Array(t*n),O=0;for(let S=T;S<=P;S++){let p=((S+.5)*s.scaleY+s.offsetY)*E-.5,C=le(Math.floor(p),0,b-1),z=Math.min(b-1,C+1),U=le(p-C,0,1),B=S*t;for(let V=w;V<=R;V++){let N=((V+.5)*s.scaleX+s.offsetX)*I-.5,X=le(Math.floor(N),0,h-1),Y=Math.min(h-1,X+1),G=le(N-X,0,1),K=f[m+C*h+X]*(1-G)*(1-U)+f[m+C*h+Y]*G*(1-U)+f[m+z*h+X]*(1-G)*U+f[m+z*h+Y]*G*U,H=c(K);H>0&&(F[B+V]=H,O+=H/255)}}O=Math.round(O),O!==0&&a.push({category:k.category,mask:F,width:t,height:n,area:O,coverage:O/(t*n),detectionIndex:g})}return{detections:u,masks:a}}function Ie(r,e){if(e<=0)return s=>s>r?255:0;let t=r-e,n=255/(2*e);return s=>s<=t?0:s>=r+e?255:(s-t)*n}function Yn(r,e){let t=Ie(r,e),n=i=>i<=0?-1/0:i>=1?1/0:Math.log(i/(1-i));if(e<=0){let i=n(r);return u=>u>i?255:0}let s=n(r-e),o=n(r+e);return i=>i<=s?0:i>=o?255:t(1/(1+Math.exp(-i)))}function le(r,e,t){return r<e?e:r>t?t:r}x();var Yt=17,tt=.3;function Xt(r,e){let{sourceWidth:t,sourceHeight:n,transform:s}=e,o=r.keypointStride,i=[];for(let l=0;l<r.count;l++){let d=r.dets[l*5+4];if(!(d>=e.confidence))continue;let c=ue(r.dets[l*5],r.dets[l*5+1],s),h=ue(r.dets[l*5+2],r.dets[l*5+3],s),b=me(c.x,0,t),y=me(c.y,0,n),I=me(h.x,0,t)-b,E=me(h.y,0,n)-y;if(I<=0||E<=0)continue;let g=[],_=l*Yt*o;for(let L=0;L<Yt;L++){let f=_+L*o,m=ue(r.keypoints[f],r.keypoints[f+1],s);g.push({x:me(m.x,0,t),y:me(m.y,0,n),visibility:me(r.keypoints[f+2],0,1)})}let k=0;for(let L of g)L.visibility>=tt&&k++;k<(e.minVisibleKeypoints??3)||i.push({score:d,boundingBox:{originX:b,originY:y,width:I,height:E,normalizedX:b/t,normalizedY:y/n,normalizedWidth:I/t,normalizedHeight:E/n},keypoints:g})}i.sort((l,d)=>d.score-l.score);let u=e.iouThreshold??.6,a=[];for(let l of i)a.some(d=>Xn(d,l,u))||a.push(l);return{people:a}}function me(r,e,t){return r<e?e:r>t?t:r}function Xn(r,e,t){if(de(r.boundingBox,e.boundingBox)>t)return!0;let n=Math.sqrt(r.boundingBox.width*r.boundingBox.height),s=0,o=0;for(let i=0;i<r.keypoints.length;i++){let u=r.keypoints[i],a=e.keypoints[i];u.visibility<tt||a.visibility<tt||(s+=Math.hypot(u.x-a.x,u.y-a.y),o++)}return o>=3&&s/o<.1*n}x();function $t(r,e,t,n){let{sourceWidth:s,sourceHeight:o}=n,i=Ie(n.maskThreshold??.5,n.featherRadius??.2),u=new Uint8Array(s*o),a=e/s,l=t/o,d=0;for(let c=0;c<o;c++){let h=Math.max(0,(c+.5)*l-.5),b=Math.min(t-1,Math.floor(h)),y=Math.min(t-1,b+1),I=h-b;for(let E=0;E<s;E++){let g=Math.max(0,(E+.5)*a-.5),_=Math.min(e-1,Math.floor(g)),k=Math.min(e-1,_+1),L=g-_,f=r[b*e+_]*(1-L)*(1-I)+r[b*e+k]*L*(1-I)+r[y*e+_]*(1-L)*I+r[y*e+k]*L*I,m=i(f);u[c*s+E]=m,d+=m}}return{mask:u,width:s,height:o,coverage:s*o>0?d/(255*s*o):0}}x();var $n=`
|
|
1
|
+
import{a as En}from"./chunk-YQRKT47I.mjs";import{a as He}from"./chunk-VXUJWPIK.mjs";import{a as Pt}from"./chunk-XKO4RYKN.mjs";import{g as Ye,h as Mt,i as Xe,j as ve,k as be,l as Pe,n as Rt,p as It}from"./chunk-SYP4AJMF.mjs";import{I as yt,a as M,b as A}from"./chunk-V3FODTPI.mjs";import{A as xt,b as bt,h as Se,i as Ne,m as ne}from"./chunk-ALSOO22Q.mjs";import{a as St,e as _t,i as Ge,j as wt}from"./chunk-4GEWSUX5.mjs";import{b as _e,c as kt,e as Tt}from"./chunk-MTJHQATU.mjs";import{d as vt,e as we,g as ze}from"./chunk-YAQFFQPG.mjs";import{c as Cn,d as j,e as x}from"./chunk-BVF64D6H.mjs";x();x();var Ot=class{domain="visual";signals;config;_frameHooks=[];constructor(e){this.config={...e},this.signals={};for(let[t,n]of Object.entries(e))Se(n)?this.signals[t]=n:this.signals[t]=Ne(n);return new Proxy(this,{get(t,n,s){if(typeof n=="string"&&n in t.signals){let o=t.signals[n];return o?o.value:void 0}return Reflect.get(t,n,s)},set(t,n,s,o){if(typeof n=="string"&&n in t.signals){let i=t.signals[n];return Se(s)?(t.signals[n]=s,t.config[n]=s):i&&typeof i.set=="function"?(i.set(s),t.config[n]=s):(t.signals[n]=Ne(s),t.config[n]=s),!0}return Reflect.set(t,n,s,o)}})}onRequestFrame(e){return this._frameHooks.push(e),this}notifyFrame(e){for(let t of this._frameHooks)t(e)}resolveUniforms(e){let t={};for(let[n,s]of Object.entries(this.signals))t[n]=s.get(e);return t}resolveTextures(){let e={};for(let[t,n]of Object.entries(this.signals)){let s=n.gpuBinding;s?.textureView&&(e[`${t}TextureView`]=s.textureView),s?.texture&&(e[`${t}Texture`]=s.texture)}return e}toOperation(){let e={op:this.op,effect:this,onRequestFrame:t=>this.notifyFrame(t),signals:this.signals,...this.config};for(let[t,n]of Object.entries(this.signals)){let s=this.config[t];!Se(s)&&(typeof s=="string"||typeof s=="boolean")?e[t]=n.value:e[t]=n}return e}};x();var Ct=class extends Error{constructor(e){super(e),this.name="ModerationError"}},Et=class extends Error{constructor(e){super(e),this.name="ModerationUnrefundableError"}};x();x();x();var Lt="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var At=(r=21)=>{let e="",t=crypto.getRandomValues(new Uint8Array(r|=0));for(;r--;)e+=Lt[t[r]&63];return e};var Jr=r=>At(r);x();var jt=A.object({dataTypes:A.custom(),label:A.string(),required:A.boolean().optional(),order:A.number(),description:A.string().optional()}),Ln=A.object({configKey:A.string(),dataTypes:A.custom(),label:A.string(),description:A.string().optional()}),no=A.object({type:A.string().min(1),version:A.number().int().positive().optional(),baseType:A.string().optional(),displayName:A.string().min(1),description:A.string().optional(),showInQuickAccess:A.boolean().optional(),showInSidebar:A.boolean().optional(),advanced:A.boolean().optional(),category:A.string().min(1),subcategory:A.string().optional(),defaultDimensions:A.object({width:A.number().positive().optional(),height:A.number().positive().optional()}).optional(),handles:A.object({inputs:A.array(jt),outputs:A.array(jt)}),variableInputs:A.discriminatedUnion("enabled",[A.object({enabled:A.literal(!0),dataTypes:A.custom()}),A.object({enabled:A.literal(!1),dataTypes:A.custom().optional()})]).optional(),variableOutputs:A.discriminatedUnion("enabled",[A.object({enabled:A.literal(!0),dataTypes:A.custom()}),A.object({enabled:A.literal(!1),dataTypes:A.custom().optional()})]).optional(),isTerminal:A.boolean().optional(),isTransient:A.boolean().optional(),configSchema:A.custom().optional(),defaultConfig:A.record(A.string(),A.unknown()).optional(),validation:A.any().optional(),resultSchema:A.custom().optional(),configHandles:A.array(Ln).optional()});x();function so(r){if(!Number.isFinite(r)||!Number.isInteger(r)||r<0)throw new RangeError(`FrameIndex must be a non-negative finite integer, got ${r}`);return r}function io(r){if(!Number.isFinite(r))throw new TypeError(`Seconds must be a finite number, got ${r}`);return r}function ao(r){if(!Number.isFinite(r))throw new TypeError(`Milliseconds must be a finite number, got ${r}`);return r}function co(r){if(!Number.isFinite(r)||r<=0)throw new RangeError(`Fps must be a positive finite number, got ${r}`);return r}function lo(r){if(!Number.isFinite(r))throw new TypeError(`Normalized must be a finite number, got ${r}`);return Math.max(0,Math.min(1,r))}function uo(r){if(!Number.isFinite(r))throw new TypeError(`Degrees must be a finite number, got ${r}`);return r}function mo(r){if(!Number.isFinite(r))throw new TypeError(`Radians must be a finite number, got ${r}`);return r}function fo(r){if(!Number.isFinite(r))throw new TypeError(`Pixels must be a finite number, got ${r}`);return r}function po(r){if(!r)throw new TypeError("HandleId cannot be empty");return r}function ho(r){if(!r)throw new TypeError("HandleLabel cannot be empty");return r}function go(r){if(!r)throw new TypeError("NodeId cannot be empty");return r}function bo(r){return typeof r=="number"&&Number.isInteger(r)&&r>=0}function yo(r){return typeof r=="number"&&Number.isFinite(r)&&r>=0&&r<=1}x();var To={Text:{bg:"bg-blue-500",stroke:"stroke-blue-500",hex:"#3b82f6",text:"text-blue-500",border:"border-blue-500"},Image:{bg:"bg-purple-500",stroke:"stroke-purple-500",hex:"#a855f7",text:"text-purple-500",border:"border-purple-500"},Video:{bg:"bg-teal-500",stroke:"stroke-teal-500",hex:"oklch(60% 0.118 184.704)",text:"text-teal-500",border:"border-teal-500"},Audio:{bg:"bg-orange-500",stroke:"stroke-orange-500",hex:"#f97316",text:"text-orange-500",border:"border-orange-500"},Number:{bg:"bg-green-600",stroke:"stroke-green-600",hex:"#16a34a",text:"text-green-600",border:"border-green-600"},Boolean:{bg:"bg-amber-600",stroke:"stroke-amber-600",hex:"#d97706",text:"text-amber-600",border:"border-amber-600"},SVG:{bg:"bg-lime-600",stroke:"stroke-lime-600",hex:"#65a30d",text:"text-lime-600",border:"border-lime-600"},Caption:{bg:"bg-rose-500",stroke:"stroke-rose-500",hex:"#f43f5e",text:"text-rose-500",border:"border-rose-500"},GIF:{bg:"bg-pink-500",stroke:"stroke-pink-500",hex:"#ec4899",text:"text-pink-500",border:"border-pink-500"},Lottie:{bg:"bg-indigo-500",stroke:"stroke-indigo-500",hex:"#6366f1",text:"text-indigo-500",border:"border-indigo-500"},Signal:{bg:"bg-fuchsia-500",stroke:"stroke-fuchsia-500",hex:"#d946ef",text:"text-fuchsia-500",border:"border-fuchsia-500"},LUT:{bg:"bg-cyan-600",stroke:"stroke-cyan-600",hex:"#0891b2",text:"text-cyan-600",border:"border-cyan-600"}};x();var vo={Image:"png",Video:"mp4",Audio:"mp3",Text:"txt",Number:"txt",Boolean:"txt",SVG:"svg",Caption:"srt",Lottie:"json",ThreeD:"glb",GIF:"gif",Signal:"txt",LUT:"cube"},Po={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",mp4:"video/mp4",webm:"video/webm",mov:"video/quicktime",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",pdf:"application/pdf",json:"application/json",txt:"text/plain",srt:"text/srt",aac:"audio/aac",flac:"audio/flac"},An=["source-over","source-in","source-out","source-atop","destination-over","destination-in","destination-out","destination-atop","lighter","copy","xor","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Ft=M.enum(An),Vt=class r{static schemas=new Map;static register(e,t){r.schemas.set(e,t)}static get(e){return r.schemas.get(e)}static clear(){r.schemas.clear()}};x();var Io={FONT_FAMILY:"Inter",FONT_SIZE:64,FILL:"#ffffff",LINE_HEIGHT:1.1,ALIGN:"left",VERTICAL_ALIGN:"top",LETTER_SPACING:0,STROKE_WIDTH:0,STROKE:"#000000",CORNER_RADIUS:0,PADDING:0};x();var jn=M.enum(["fade-in","fade-out","slide-in-left","slide-in-right","slide-in-top","slide-in-bottom","zoom-in","zoom-out","rotate-cw","rotate-ccw","bounce","shake"]),Vn=M.object({id:M.string(),type:jn,value:M.number()}),Fn=M.object({x:M.number().default(0),y:M.number().default(0),width:M.number().optional(),height:M.number().optional(),rotation:M.number().default(0),scale:M.number().min(0).default(1),opacity:M.number().min(0).max(1).default(1),zIndex:M.number().int().optional(),blendMode:Ft.optional()}),Bn=M.object({startFrame:M.number().int().min(0).default(0),durationInMS:M.number().int().min(1).optional(),trimStart:M.number().int().min(0).optional(),trimEnd:M.number().int().min(0).optional(),speed:M.number().min(.25).max(4).optional()}),Un=M.object({text:M.string().optional(),fontSize:M.number().optional(),fontFamily:M.string().optional(),fontStyle:M.string().optional(),fontWeight:M.union([M.number(),M.string()]).optional(),fill:M.string().optional(),align:M.string().optional(),direction:M.enum(["ltr","rtl","auto"]).optional(),verticalAlign:M.string().optional(),letterSpacing:M.number().optional(),lineHeight:M.number().optional(),padding:M.number().optional(),stroke:M.string().optional(),strokeWidth:M.number().optional(),strokeAlign:M.enum(["inside","center","outside"]).optional(),textShadow:M.string().optional(),textBackgroundColor:M.string().optional(),shadows:M.array(M.object({color:M.string(),offset:M.object({x:M.number(),y:M.number()}).optional(),blurRadius:M.number().optional()})).optional(),textAnimation:M.any().optional(),bottomPadding:M.number().optional(),maxWidth:M.number().optional()}),Dn=M.object({backgroundColor:M.string().optional(),borderColor:M.string().optional(),borderWidth:M.number().optional(),strokeRadius:M.number().optional(),autoDimensions:M.boolean().optional()}),$e=M.enum(["Video","Image","Audio","Text","Caption","SVG","GIF","Lottie"]),Bt=Fn.merge(Bn).merge(Un).merge(Dn).extend({type:$e.optional(),animations:M.array(Vn).optional()});x();x();var Nn=M.enum(["none","crossfade","wipe-left","wipe-right","slide-up","slide-down"]),We=M.object({type:Nn,durationFrames:M.number().min(1)});var Go=Bt.extend({id:M.string(),name:M.string().optional(),type:$e,virtualMedia:yt.optional(),transitionIn:We.optional(),transitionOut:We.optional(),durationInMS:M.number(),maxDurationInMS:M.number().optional(),src:M.string().optional(),volume:M.number().default(1),inputHandleId:M.string().optional(),isPlaceholder:M.boolean().optional(),lockAspect:M.boolean().optional(),lockRatio:M.boolean().optional(),zIndex:M.number().optional()}).strict();x();function Ut(r,e){if(r===e||typeof r=="number"&&typeof e=="number"&&Number.isNaN(r)&&Number.isNaN(e))return!0;if(r&&e&&typeof r=="object"&&typeof e=="object"){if(r.constructor!==e.constructor)return!1;if(Array.isArray(r)){if(r.length!==e.length)return!1;for(let n=0;n<r.length;n++)if(!Ut(r[n],e[n]))return!1;return!0}if(r instanceof Date)return r.getTime()===e.getTime();if(r instanceof RegExp)return r.toString()===e.toString();let t=Object.keys(r);if(t.length!==Object.keys(e).length)return!1;for(let n of t)if(!Object.hasOwn(e,n)||!Ut(r[n],e[n]))return!1;return!0}return!1}x();function Ko(r,e){if(!r?.sourceFingerprint)return null;let t=He(e);return r.sourceFingerprint!==t?null:r}function qo(r,e){return{...r,sourceFingerprint:He(e)}}x();function Qo(r){try{let t=r.toString("utf-8").match(/<svg[^>]*>/i);if(!t)return null;let n=t[0],s=a=>{let l=n.match(new RegExp(`${a}=["']([^"']+)["']`,"i"));if(!l)return null;let d=parseFloat(l[1].replace(/[a-z%]/gi,""));return isNaN(d)?null:d},o=s("width"),i=s("height"),u=n.match(/viewBox=["']([^"']+)["']/i);if(u){let a=u[1].split(/[\s,]+/).map(parseFloat);if(a.length>=4&&!isNaN(a[2])&&!isNaN(a[3])){let l=a[2],d=a[3];o==null&&i==null?(o=l,i=d):o!=null&&i==null?i=o*(d/l):i!=null&&o==null&&(o=i*(l/d))}}return o!=null&&i!=null&&o>0&&i>0?{w:o,h:i}:null}catch(e){return console.error("Error parsing SVG dimensions",e),null}}x();x();x();x();var ce=(r,e,t)=>`https://huggingface.co/${r}/resolve/${e}/${t}`,Ke="tori29umai/rtmdet-ins-onnx-person-masks",qe="e5218e8d47d7c50077f27f9893a28e0ef2ad5656",Ze="RTMDet-Ins (OpenMMLab mmdetection, Apache-2.0), mmdeploy ONNX export",Je="RTMO (OpenMMLab mmpose, Apache-2.0), ONNX export",Dt="MediaPipe Selfie Segmenter (Google, Apache-2.0), ONNX export",re={"rtmdet-ins-t":{key:"rtmdet-ins-t",family:"rtmdet-ins",filename:"rtmdet-ins-t.onnx",url:ce(Ke,qe,"models/tiny/rtmdet-ins_tiny_640x640.onnx"),bytes:24032356,sha256:"99ee670820c4493aa13e20578b6a8e39781c319846dc41796a77765734beac5c",input:[640,640],source:Ze},"rtmdet-ins-s":{key:"rtmdet-ins-s",family:"rtmdet-ins",filename:"rtmdet-ins-s.onnx",url:ce(Ke,qe,"models/s/rtmdet-ins_s_640x640.onnx"),bytes:43236976,sha256:"9cd1787fbf3eb2bd64cc2d8154f41c036f5484b85599e1cbe0227a2dc5a4a08b",input:[640,640],source:Ze},"rtmdet-ins-m":{key:"rtmdet-ins-m",family:"rtmdet-ins",filename:"rtmdet-ins-m.onnx",url:ce(Ke,qe,"models/m/rtmdet-ins_m_640x640.onnx"),bytes:115735979,sha256:"a003bce80316e03467c2c2b483df2d5c0398220c2357a44f9bf985929f7eb052",input:[640,640],source:Ze},"rtmo-t":{key:"rtmo-t",family:"rtmo",filename:"rtmo-t.onnx",url:ce("Xenova/RTMO-t","f29d13ce5ee291fbe505e9d06a049992f05699dc","onnx/model.onnx"),bytes:27360569,sha256:"cb54dd042bf997df86d938721c94238940f2bff98ba8d2ccc834430de5c65c13",input:[416,416],source:Je},"rtmo-s":{key:"rtmo-s",family:"rtmo",filename:"rtmo-s.onnx",url:ce("Xenova/RTMO-s","d8c526187f341d287753831c9c8b1ecc4855bba1","onnx/model.onnx"),bytes:39636400,sha256:"1cd6a3517658903233e9ccb78666554862f57f0944b6886e2048093594aef4e7",input:[640,640],source:Je},"rtmo-m":{key:"rtmo-m",family:"rtmo",filename:"rtmo-m.onnx",url:ce("Xenova/RTMO-m","3aba1280472b98ee2bf663482e27e243038d23fe","onnx/model.onnx"),bytes:89291929,sha256:"76d82c45e5c4810baf587ecf2638d15cbf7ed196afb2055e977382532021b59e",input:[640,640],source:Je},"selfie-square":{key:"selfie-square",family:"selfie",filename:"selfie-square.onnx",url:ce("onnx-community/mediapipe_selfie_segmentation","be49485c8e027524be38591817fc5cd31bd9d00e","onnx/model.onnx"),bytes:462352,sha256:"3241ac4ad8aa35bdaf33946776db29f7c283a413aa0b0dacb9483594b4531aad",input:[256,256],source:Dt},"selfie-landscape":{key:"selfie-landscape",family:"selfie",filename:"selfie-landscape.onnx",url:ce("onnx-community/mediapipe_selfie_segmentation_landscape","2497d5bec26c626c7b3c4edc6e1fefc21b64f6c3","onnx/model.onnx"),bytes:462338,sha256:"7a0adcfdb1715d3b0ff0f61486d8a181c33f4a208343a5abfccbc6540e872d24",input:[256,144],source:Dt}};function Nt(r,e="s",t=1){return r==="pose"?`rtmo-${e}`:r==="matte"?t>1.3?"selfie-landscape":"selfie-square":`rtmdet-ins-${e}`}var Me=["person","bicycle","car","motorcycle","airplane","bus","train","truck","boat","traffic light","fire hydrant","stop sign","parking meter","bench","bird","cat","dog","horse","sheep","cow","elephant","bear","zebra","giraffe","backpack","umbrella","handbag","tie","suitcase","frisbee","skis","snowboard","sports ball","kite","baseball bat","baseball glove","skateboard","surfboard","tennis racket","bottle","wine glass","cup","fork","knife","spoon","bowl","banana","apple","sandwich","orange","broccoli","carrot","hot dog","pizza","donut","cake","chair","couch","potted plant","bed","dining table","toilet","tv","laptop","mouse","remote","keyboard","cell phone","microwave","oven","toaster","sink","refrigerator","book","clock","vase","scissors","teddy bear","hair drier","toothbrush"];x();function de(r,e){let t=Math.max(r.originX,e.originX),n=Math.max(r.originY,e.originY),s=Math.min(r.originX+r.width,e.originX+e.width),o=Math.min(r.originY+r.height,e.originY+e.height),i=Math.max(0,s-t),u=Math.max(0,o-n),a=i*u;if(a<=0)return 0;let l=r.width*r.height,d=e.width*e.height,c=l+d-a;return c>0?a/c:0}var ye=class{_nextTrackId=1;_tracks=[];_iouThreshold;_maxMissedFrames;_minHits;_positionSmoothing;_activeDuringCoast;constructor(e={}){this._iouThreshold=e.iouThreshold??.25,this._maxMissedFrames=e.maxMissedFrames??15,this._minHits=e.minHits??1,this._positionSmoothing=Math.max(.1,Math.min(1,e.positionSmoothing??.75)),this._activeDuringCoast=e.activeDuringCoast!==!1}update(e,t,n=24){let s=n>0?1/n:.0416;for(let a of this._tracks)if(a.age++,a.timeSinceUpdate++,a.timeSinceUpdate>0){let l=a.centerX+a.vx*s,d=a.centerY+a.vy*s;a.centerX=l,a.centerY=d;let c=a.box.width,h=a.box.height,b=a.box.normalizedWidth,y=a.box.normalizedHeight,I=a.box.normalizedX+b/2+a.vx*s/Math.max(1,a.box.width/b),E=a.box.normalizedY+y/2+a.vy*s/Math.max(1,a.box.height/y);a.box={originX:l-c/2,originY:d-h/2,width:c,height:h,normalizedX:I-b/2,normalizedY:E-y/2,normalizedWidth:b,normalizedHeight:y},a.vx*=.92,a.vy*=.92,a.isCoasting=!0}let o=new Set,i=new Set,u=[];for(let a=0;a<this._tracks.length;a++){let l=this._tracks[a];for(let d=0;d<e.length;d++){let c=e[d];if(l.category!==c.category)continue;let h=de(l.box,c.boundingBox);h>=this._iouThreshold&&u.push({trackIdx:a,detIdx:d,iou:h})}}u.sort((a,l)=>l.iou-a.iou);for(let a of u){if(i.has(a.trackIdx)||o.has(a.detIdx))continue;i.add(a.trackIdx),o.add(a.detIdx);let l=this._tracks[a.trackIdx],d=e[a.detIdx],c=d.boundingBox,h=c.originX+c.width/2,b=c.originY+c.height/2,y=(h-l.centerX)/s,I=(b-l.centerY)/s;l.vx=l.vx*.4+y*.6,l.vy=l.vy*.4+I*.6;let E=this._positionSmoothing,g=l.box.width*(1-E)+c.width*E,_=l.box.height*(1-E)+c.height*E,k=l.centerX*(1-E)+h*E,L=l.centerY*(1-E)+b*E;l.centerX=k,l.centerY=L,l.score=d.score,l.timeSinceUpdate=0,l.hits++,l.isCoasting=!1,l.hits>=this._minHits&&(l.active=!0),l.box={originX:k-g/2,originY:L-_/2,width:g,height:_,normalizedX:c.normalizedX,normalizedY:c.normalizedY,normalizedWidth:c.normalizedWidth,normalizedHeight:c.normalizedHeight}}for(let a=0;a<e.length;a++){if(o.has(a))continue;let l=e[a],d=l.boundingBox,c=d.originX+d.width/2,h=d.originY+d.height/2;this._tracks.push({trackId:this._nextTrackId++,category:l.category,score:l.score,box:d,centerX:c,centerY:h,vx:0,vy:0,age:1,hits:1,timeSinceUpdate:0,active:this._minHits<=1,isCoasting:!1})}return this._tracks=this._tracks.filter(a=>a.timeSinceUpdate<=this._maxMissedFrames),this._tracks.filter(a=>a.active).map(a=>{let l=a.box.normalizedWidth,d=a.box.normalizedHeight,c=a.box.normalizedX+l/2,h=a.box.normalizedY+d/2,b=Math.sqrt(a.vx*a.vx+a.vy*a.vy);return{trackId:a.trackId,category:a.category,score:a.score,boundingBox:a.box,centerX:a.centerX,centerY:a.centerY,normalizedCenterX:c,normalizedCenterY:h,velocity:{vx:a.vx,vy:a.vy},speed:b,age:a.age,hits:a.hits,active:this._activeDuringCoast?!0:a.timeSinceUpdate===0,isCoasting:a.isCoasting}})}trackSequence(e,t,n=24){this.reset();let s=n>0?1/n:.0416,o=new Map;for(let a=0;a<t;a++){let l=e[a]??[],d=this.update(l,a,n);for(let c of d)o.has(c.trackId)||o.set(c.trackId,{category:c.category,observations:[]}),c.isCoasting||o.get(c.trackId).observations.push({frame:a,box:c.boundingBox,score:c.score})}let i=new Map;for(let[a,l]of o.entries()){let d=l.observations;if(d.length===0)continue;d.sort((g,_)=>g.frame-_.frame);let c=new Array(t).fill(null);for(let g of d)c[g.frame]={box:g.box,score:g.score};let h=d[0];for(let g=0;g<h.frame;g++)c[g]={box:{...h.box},score:h.score*.9};for(let g=0;g<d.length-1;g++){let _=d[g],k=d[g+1],L=k.frame-_.frame;if(!(L<=1))for(let f=_.frame+1;f<k.frame;f++){let m=(f-_.frame)/L,w=_.box.originX+(k.box.originX-_.box.originX)*m,T=_.box.originY+(k.box.originY-_.box.originY)*m,R=_.box.width+(k.box.width-_.box.width)*m,P=_.box.height+(k.box.height-_.box.height)*m,F=_.box.normalizedX+(k.box.normalizedX-_.box.normalizedX)*m,O=_.box.normalizedY+(k.box.normalizedY-_.box.normalizedY)*m,S=_.box.normalizedWidth+(k.box.normalizedWidth-_.box.normalizedWidth)*m,p=_.box.normalizedHeight+(k.box.normalizedHeight-_.box.normalizedHeight)*m;c[f]={box:{originX:w,originY:T,width:R,height:P,normalizedX:F,normalizedY:O,normalizedWidth:S,normalizedHeight:p},score:_.score*(1-m)+k.score*m}}}let b=d[d.length-1];for(let g=b.frame+1;g<t;g++)c[g]={box:{...b.box},score:b.score*.9};let y=[],I=2,E=[.06136,.24477,.38774,.24477,.06136];for(let g=0;g<t;g++){let _=0,k=0,L=0,f=0,m=0,w=0,T=0,R=0,P=0,F=0;for(let S=-I;S<=I;S++){let p=Math.max(0,Math.min(t-1,g+S)),C=c[p];if(C){let z=E[S+I];_+=z,k+=C.box.originX*z,L+=C.box.originY*z,f+=C.box.width*z,m+=C.box.height*z,w+=C.box.normalizedX*z,T+=C.box.normalizedY*z,R+=C.box.normalizedWidth*z,P+=C.box.normalizedHeight*z,F+=C.score*z}}let O=_>0?1/_:1;y.push({box:{originX:k*O,originY:L*O,width:f*O,height:m*O,normalizedX:w*O,normalizedY:T*O,normalizedWidth:R*O,normalizedHeight:P*O},score:F*O})}i.set(a,{category:l.category,frames:y})}let u=[];for(let a=0;a<t;a++){let l=[];for(let[d,c]of i.entries()){let h=c.frames[a];if(!h)continue;let b=c.frames[Math.max(0,a-1)]??h,y=c.frames[Math.min(t-1,a+1)]??h,I=h.box.originX+h.box.width/2,E=h.box.originY+h.box.height/2,g=b.box.originX+b.box.width/2,_=b.box.originY+b.box.height/2,k=y.box.originX+y.box.width/2,L=y.box.originY+y.box.height/2,f=a===0||a===t-1?s:2*s,m=(k-g)/f,w=(L-_)/f,T=Math.sqrt(m*m+w*w),R=h.box.normalizedWidth,P=h.box.normalizedHeight;l.push({trackId:d,category:c.category,score:h.score,boundingBox:h.box,centerX:I,centerY:E,normalizedCenterX:h.box.normalizedX+R/2,normalizedCenterY:h.box.normalizedY+P/2,velocity:{vx:m,vy:w},speed:T,age:a+1,hits:10,active:!0,isCoasting:!1})}u.push(l)}return u}reset(){this._tracks=[],this._nextTrackId=1}};var Ht=()=>typeof performance<"u"&&typeof performance.now=="function"?performance.now():Date.now();async function cs(r,e){let{runner:t}=e,n=e.fps??24,s=e.tasks&&e.tasks.length>0?e.tasks:["detect"],o=new Set(s),i=e.categories?new Set(e.categories.map(S=>S.toLowerCase())):null,u=e.includeMasks===!0&&o.has("segment"),a=o.has("detect")||o.has("segment"),l=[],d={},c=new Map,h=0,b=0,y=S=>!i||i.has(S.toLowerCase()),I=async(S,p,C)=>{let z=t.modelKeyFor(S,p.width/p.height),U=t.downloadStatus.get(z)==="ready",B=Ht(),V=await C(),N=Ht()-B;return h+=N,!U&&!d[z]&&(d[z]={bytes:re[z].bytes,ms:N}),V},E=S=>{for(let p of S){if(!y(p.category))continue;let C=c.get(p.category)??{sum:0,count:0};C.sum+=p.coverage,C.count++,c.set(p.category,C)}};for await(let S of r){let p=[];if(u){let C=await I("segment",S,()=>t.segment(S));E(C.masks),p=C.detections}else a&&(p=await I("detect",S,()=>t.detect(S)));o.has("pose")&&await I("pose",S,()=>t.pose(S)),o.has("matte")&&await I("matte",S,()=>t.matte(S)),l.push(i?p.filter(C=>y(C.category)):p),b++}let g=b,k=new ye({iouThreshold:e.iouThreshold??.25,maxMissedFrames:e.maxMissedFrames??15}).trackSequence(l,g,n),L=e.pathStride??Math.max(1,Math.ceil(g/50)),f=new Map,m=new Map,w=new Map,T=new Map,R=(S,p,C)=>{let z=S.get(p);return z===void 0&&(z=C(),S.set(p,z)),z};for(let S=0;S<g;S++)for(let p of k[S]??[]){if(!y(p.category))continue;let C=f.get(p.trackId);C||(C={category:p.category,firstFrame:S,lastFrame:S,speedSum:0,speedCount:0,centers:[]},f.set(p.trackId,C)),C.lastFrame=S,Number.isFinite(p.speed)&&(C.speedSum+=p.speed,C.speedCount++),(S-C.firstFrame)%L===0&&C.centers.push({frame:S,x:p.centerX,y:p.centerY}),R(m,p.category,()=>new Set).add(S),w.set(p.category,Math.max(w.get(p.category)??0,p.score)),R(T,p.category,()=>new Set).add(p.trackId)}let P=Array.from(f.entries()).map(([S,p])=>({trackId:S,category:p.category,frames:[p.firstFrame,p.lastFrame],speedMeanPxS:p.speedCount>0?p.speedSum/p.speedCount:0,centerPath:p.centers.map(C=>[C.x,C.y])})).sort((S,p)=>S.trackId-p.trackId),F={};for(let[S,p]of m)F[S]={framesPresent:p.size,totalFrames:g,maxConfidence:w.get(S)??0,tracks:T.get(S)?.size??0};let O={};for(let[S,p]of c)O[S]={meanCoverage:p.count>0?p.sum/p.count:0};return{source:e.source??"frames",totalFrames:g,fps:n,durationSec:n>0?g/n:0,tasks:Array.from(o),modelDownloads:d,inferenceMs:h,trackCount:P.length,classes:F,tracks:P,masks:O}}x();var Hn=[103.53,116.28,123.675],Gn=[57.375,57.12,58.395],zn={"rtmdet-ins":{fit:"topLeft",channels:"bgr",mean:Hn,std:Gn,padValue:114},rtmo:{fit:"center",channels:"bgr",mean:[0,0,0],std:[1,1,1],padValue:114},selfie:{fit:"stretch",channels:"rgb",mean:[0,0,0],std:[255,255,255],padValue:0}};function Gt(r,e){return{...zn[r],width:e[0],height:e[1]}}function Qe(r,e,t){if(t.fit==="stretch")return{scaleX:t.width/r,scaleY:t.height/e,offsetX:0,offsetY:0,inputWidth:t.width,inputHeight:t.height};let n=Math.min(t.width/r,t.height/e),s=Math.round(r*n),o=Math.round(e*n),i=t.fit==="center";return{scaleX:n,scaleY:n,offsetX:i?(t.width-s)/2:0,offsetY:i?(t.height-o)/2:0,inputWidth:t.width,inputHeight:t.height}}function ue(r,e,t){return{x:(r-t.offsetX)/t.scaleX,y:(e-t.offsetY)/t.scaleY}}function zt(r,e,t){let{width:n,height:s,data:o}=r,{width:i,height:u}=e,a=Qe(n,s,e),{scaleX:l,scaleY:d,offsetX:c,offsetY:h}=a,b=i*u;(!t||t.length<3*b)&&(t=new Float32Array(3*b));let y=e.channels==="bgr"?[2,1,0]:[0,1,2],[I,E,g]=e.mean,_=1/e.std[0],k=1/e.std[1],L=1/e.std[2],f=(e.padValue-I)*_,m=(e.padValue-E)*k,w=(e.padValue-g)*L,[T,R,P]=y,F=Math.ceil(c),O=Math.ceil(h),S=Math.min(i,Math.floor(c+n*l))-1,p=Math.min(u,Math.floor(h+s*d))-1;for(let C=0;C<u;C++){let z=C*i,U=C<O||C>p,B=Math.max(0,(C+.5-h)/d-.5),V=Math.min(s-1,Math.floor(B)),N=Math.min(s-1,V+1),X=B-V;for(let Y=0;Y<i;Y++){let G=z+Y;if(U||Y<F||Y>S){t[G]=f,t[b+G]=m,t[2*b+G]=w;continue}let K=Math.max(0,(Y+.5-c)/l-.5),H=Math.min(n-1,Math.floor(K)),se=Math.min(n-1,H+1),$=K-H,Z=(V*n+H)*4,te=(V*n+se)*4,oe=(N*n+H)*4,J=(N*n+se)*4,he=(1-$)*(1-X),D=$*(1-X),W=(1-$)*X,Q=$*X;t[G]=(o[Z+T]*he+o[te+T]*D+o[oe+T]*W+o[J+T]*Q-I)*_,t[b+G]=(o[Z+R]*he+o[te+R]*D+o[oe+R]*W+o[J+R]*Q-E)*k,t[2*b+G]=(o[Z+P]*he+o[te+P]*D+o[oe+P]*W+o[J+P]*Q-g)*L}}return{tensor:t,transform:a}}x();var Re=8;function et(r,e){let{sourceWidth:t,sourceHeight:n,transform:s}=e,o=e.classes?new Set(e.classes.map(g=>g.toLowerCase())):null,i=[];for(let g=0;g<r.count;g++){let _=r.dets[g*5+4];if(!(_>=e.confidence))continue;let k=Number(r.labels[g]),L=e.classNames[k]??`class_${k}`;if(o&&!o.has(L.toLowerCase()))continue;let f=ue(r.dets[g*5],r.dets[g*5+1],s),m=ue(r.dets[g*5+2],r.dets[g*5+3],s),w=le(f.x,0,t),T=le(f.y,0,n),R=le(m.x,0,t)-w,P=le(m.y,0,n)-T;R<=0||P<=0||i.push({index:g,detection:{category:L,score:_,boundingBox:{originX:w,originY:T,width:R,height:P,normalizedX:w/t,normalizedY:T/n,normalizedWidth:R/t,normalizedHeight:P/n}}})}i.sort((g,_)=>_.detection.score-g.detection.score);let u=i.map(g=>g.detection),a=[];if(!r.masks&&!r.maskPlane)return{detections:u,masks:a};let l=e.maskThreshold??.5,d=e.featherRadius??.05,c=r.maskLogits?Yn(l,d):Ie(l,d),{maskWidth:h,maskHeight:b}=r,y=h*b,I=h/s.inputWidth,E=b/s.inputHeight;for(let g=0;g<i.length;g++){let{index:_,detection:k}=i[g],L=k.boundingBox,f=r.maskPlane?r.maskPlane(_):r.masks,m=r.maskPlane?0:_*y,w=Math.max(0,Math.floor(L.originX)-Re),T=Math.max(0,Math.floor(L.originY)-Re),R=Math.min(t-1,Math.ceil(L.originX+L.width)+Re),P=Math.min(n-1,Math.ceil(L.originY+L.height)+Re),F=new Uint8Array(t*n),O=0;for(let S=T;S<=P;S++){let p=((S+.5)*s.scaleY+s.offsetY)*E-.5,C=le(Math.floor(p),0,b-1),z=Math.min(b-1,C+1),U=le(p-C,0,1),B=S*t;for(let V=w;V<=R;V++){let N=((V+.5)*s.scaleX+s.offsetX)*I-.5,X=le(Math.floor(N),0,h-1),Y=Math.min(h-1,X+1),G=le(N-X,0,1),K=f[m+C*h+X]*(1-G)*(1-U)+f[m+C*h+Y]*G*(1-U)+f[m+z*h+X]*(1-G)*U+f[m+z*h+Y]*G*U,H=c(K);H>0&&(F[B+V]=H,O+=H/255)}}O=Math.round(O),O!==0&&a.push({category:k.category,mask:F,width:t,height:n,area:O,coverage:O/(t*n),detectionIndex:g})}return{detections:u,masks:a}}function Ie(r,e){if(e<=0)return s=>s>r?255:0;let t=r-e,n=255/(2*e);return s=>s<=t?0:s>=r+e?255:(s-t)*n}function Yn(r,e){let t=Ie(r,e),n=i=>i<=0?-1/0:i>=1?1/0:Math.log(i/(1-i));if(e<=0){let i=n(r);return u=>u>i?255:0}let s=n(r-e),o=n(r+e);return i=>i<=s?0:i>=o?255:t(1/(1+Math.exp(-i)))}function le(r,e,t){return r<e?e:r>t?t:r}x();var Yt=17,tt=.3;function Xt(r,e){let{sourceWidth:t,sourceHeight:n,transform:s}=e,o=r.keypointStride,i=[];for(let l=0;l<r.count;l++){let d=r.dets[l*5+4];if(!(d>=e.confidence))continue;let c=ue(r.dets[l*5],r.dets[l*5+1],s),h=ue(r.dets[l*5+2],r.dets[l*5+3],s),b=me(c.x,0,t),y=me(c.y,0,n),I=me(h.x,0,t)-b,E=me(h.y,0,n)-y;if(I<=0||E<=0)continue;let g=[],_=l*Yt*o;for(let L=0;L<Yt;L++){let f=_+L*o,m=ue(r.keypoints[f],r.keypoints[f+1],s);g.push({x:me(m.x,0,t),y:me(m.y,0,n),visibility:me(r.keypoints[f+2],0,1)})}let k=0;for(let L of g)L.visibility>=tt&&k++;k<(e.minVisibleKeypoints??3)||i.push({score:d,boundingBox:{originX:b,originY:y,width:I,height:E,normalizedX:b/t,normalizedY:y/n,normalizedWidth:I/t,normalizedHeight:E/n},keypoints:g})}i.sort((l,d)=>d.score-l.score);let u=e.iouThreshold??.6,a=[];for(let l of i)a.some(d=>Xn(d,l,u))||a.push(l);return{people:a}}function me(r,e,t){return r<e?e:r>t?t:r}function Xn(r,e,t){if(de(r.boundingBox,e.boundingBox)>t)return!0;let n=Math.sqrt(r.boundingBox.width*r.boundingBox.height),s=0,o=0;for(let i=0;i<r.keypoints.length;i++){let u=r.keypoints[i],a=e.keypoints[i];u.visibility<tt||a.visibility<tt||(s+=Math.hypot(u.x-a.x,u.y-a.y),o++)}return o>=3&&s/o<.1*n}x();function $t(r,e,t,n){let{sourceWidth:s,sourceHeight:o}=n,i=Ie(n.maskThreshold??.5,n.featherRadius??.2),u=new Uint8Array(s*o),a=e/s,l=t/o,d=0;for(let c=0;c<o;c++){let h=Math.max(0,(c+.5)*l-.5),b=Math.min(t-1,Math.floor(h)),y=Math.min(t-1,b+1),I=h-b;for(let E=0;E<s;E++){let g=Math.max(0,(E+.5)*a-.5),_=Math.min(e-1,Math.floor(g)),k=Math.min(e-1,_+1),L=g-_,f=r[b*e+_]*(1-L)*(1-I)+r[b*e+k]*L*(1-I)+r[y*e+_]*(1-L)*I+r[y*e+k]*L*I,m=i(f);u[c*s+E]=m,d+=m}}return{mask:u,width:s,height:o,coverage:s*o>0?d/(255*s*o):0}}x();var $n=`
|
|
2
2
|
struct Params {
|
|
3
3
|
src: vec2u,
|
|
4
4
|
dst: vec2u,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as f}from"./chunk-BVF64D6H.mjs";f();f();f();function _(r){return r===null||typeof r!="object"?r:y(r)||"peek"in r&&typeof r.peek=="function"?r.peek():"value"in r?r.value:r}function R(r,e){let t=_(r);return typeof t=="number"&&!Number.isNaN(t)?t:e}function V(r,e){let t=_(r);return typeof t=="string"?t:e}function C(r,e){let t=_(r);return typeof t=="boolean"?t:e}function W(r,e){if(typeof e=="number")return R(r,e);if(typeof e=="string")return V(r,e);if(typeof e=="boolean")return C(r,e);let t=_(r);return t??e}var g=null;function U(r){g!==null&&(r.add(g),g.deps.add(r))}function y(r){return r!==null&&typeof r=="object"&&"get"in r&&typeof r.get=="function"&&"value"in r}var S=class{_value;_subscribers=new Set;constructor(e){this._value=e}get value(){return this.get()}set value(e){this.set(e)}get(){return g!==null&&(this._subscribers.add(g),g.deps.add(this._subscribers)),this._value}peek(){return this._value}set(e){Object.is(this._value,e)||(this._value=e,this.notifySubscribers())}update(e){this.set(e(this._value))}notifySubscribers(){if(this._subscribers.size===0)return;let e=Array.from(this._subscribers);for(let t of e)t.markDirty()}valueOf(){return this.get()}[Symbol.toPrimitive](e){return e==="number"?Number(this.get()):e==="string"?String(this.get()):this.get()}},P=class{_fn;_value;_dirty=!0;_evaluating=!1;deps=new Set;_subscribers=new Set;constructor(e){this._fn=e}get value(){return this.get()}get(){return g!==null&&g!==this&&(this._subscribers.add(g),g.deps.add(this._subscribers)),this._dirty&&this.compute(),this._value}peek(){return this._dirty&&this.compute(),this._value}markDirty(){if(this._dirty)return;this._dirty=!0;let e=Array.from(this._subscribers);for(let t of e)t.markDirty()}compute(){if(this._evaluating)throw new Error("Cyclic dependency detected in computed signal");for(let t of this.deps)t.delete(this);this.deps.clear();let e=g;g=this,this._evaluating=!0;try{this._value=this._fn(),this._dirty=!1}finally{this._evaluating=!1,g=e}}valueOf(){return this.get()}[Symbol.toPrimitive](e){return e==="number"?Number(this.get()):e==="string"?String(this.get()):this.get()}},w=class{gpuBinding;fps;_samples;_cachedFrame=-1;_cachedValue=0;_seekedFrame=-1;_subscribers=new Set;constructor(e,t=24,n){this._samples=e,this.fps=t,this.gpuBinding=n,e.length>0&&(this._cachedValue=e[0])}get value(){return this.get()}get(e){g!==null&&(this._subscribers.add(g),g.deps.add(this._subscribers)),h.get();let t=e?.frame??(this._seekedFrame>=0?this._seekedFrame:h.value);if(this._cachedFrame===t)return this._cachedValue;if(this._cachedFrame=t,!this._samples||this._samples.length===0)return this._cachedValue=0,0;let n=e?.fps??this.fps,a=n!==this.fps&&n>0?t/n*this.fps:t,s=Math.max(0,Math.min(this._samples.length-1,Math.round(a)));return this._cachedValue=Number(this._samples[s])||0,this._cachedValue}peek(){return this._cachedValue}seekFrame(e){if(this._seekedFrame=e,this._cachedFrame=e,!this._samples||this._samples.length===0)this._cachedValue=0;else{let t=Math.max(0,Math.min(this._samples.length-1,Math.round(e)));this._cachedValue=Number(this._samples[t])||0}for(let t of this._subscribers)t.markDirty()}valueOf(){return this.get()}[Symbol.toPrimitive](e){return e==="number"?Number(this.get()):e==="string"?String(this.get()):this.get()}};function T(r){return new S(r)}function J(r){return r instanceof S}function E(r){return new P(r)}function L(r,e=24,t){return new w(r,e,t)}var h=T(0),B=T(0),F=T(0);function Q(r,e=24,t){h.set(r);let n=e>0?r/e:0;if(B.set(n),t&&t>0){let a=t/1e3;F.set(Math.max(0,Math.min(1,n/a)))}else F.set(0)}var M=class{gpuBinding;_config;constructor(e){this._config={type:"sine",frequency:1,amplitude:1,offset:0,phase:0,...e},this.gpuBinding=e.gpuBinding}get value(){return this.get()}get(e){h.get();let t=e?.frame??h.value,n=e?.fps??24,a=e?.time??(n>0?t/n:0);if(this._config.fn)return this._config.fn(e??{frame:t,fps:n,time:a,duration:0,durationMs:0,progress:0,deltaTime:n>0?1/n:0});let s=this._config.frequency??1,i=this._config.amplitude??1,o=this._config.offset??0,u=this._config.phase??0;switch(this._config.type??"sine"){case"sine":return o+i*Math.sin(2*Math.PI*s*a+u);case"triangle":return o+i*(2*Math.abs(2*(a*s+u/(2*Math.PI)-Math.floor(a*s+u/(2*Math.PI)+.5)))-1);case"sawtooth":return o+i*(2*(a*s+u/(2*Math.PI)-Math.floor(a*s+u/(2*Math.PI)+.5)));case"square":return o+(Math.sin(2*Math.PI*s*a+u)>=0?i:-i);case"bounce":{let l=a*s%1,p=Math.abs(Math.sin(Math.PI*l));return o+i*p}default:return o+i*Math.sin(2*Math.PI*s*a+u)}}peek(){return this.get()}valueOf(){return this.get()}[Symbol.toPrimitive](e){return e==="number"?Number(this.get()):e==="string"?String(this.get()):this.get()}};function A(r){return new M(r)}function D(r,e){let t=e.min,n=e.max,a=e.amplitude??1,s=e.offset??0;t!==void 0&&n!==void 0?(s=(t+n)/2,a=(n-t)/2):t!==void 0?s=t+a:n!==void 0&&(s=n-a);let i=e.period,o=e.frequency,u=e.phase??0;return A({type:"custom",fn:d=>{let l;if(i!==void 0&&i>0)l=2*Math.PI*d.frame/i+u;else{let p=o??1;l=2*Math.PI*p*d.time+u}return s+a*r(l)}})}function $(r={}){return D(Math.sin,r)}function H(r={}){return D(Math.cos,r)}var Z={state:T,computed:E,builder:A,fromArray:L,programmatic:k,frame:h,time:B,progress:F,sine:$,cosine:H};var x=class r{gpuBinding;label;_evaluator;_samples;_fps;_durationFrames;_cachedFrame=-1;_cachedValue=0;_seekedFrame=-1;_subscribers=new Set;_children=new Set;get fps(){return this._fps}constructor(e,t={}){if(this._fps=t.fps??24,this._durationFrames=t.durationFrames,this.gpuBinding=t.gpuBinding,this.label=t.label,typeof e=="number"){let n=e;this._evaluator=()=>n,this._cachedValue=n}else if(typeof e=="function")this._evaluator=e;else if(y(e))this._evaluator=n=>Number(e.get(n))||0;else{let n=e;this._samples=n instanceof Float32Array?n:new Float32Array(Array.from(n)),this._durationFrames=this._samples.length,this._cachedValue=this._samples.length>0?this._samples[0]:0,this._evaluator=a=>{if(!this._samples||this._samples.length===0)return 0;let s=a.fps??this._fps,i=s!==this._fps&&s>0?a.frame/s*this._fps:a.frame,o=Math.max(0,Math.min(this._samples.length-1,Math.round(i)));return this._samples[o]}}}get value(){return this.get()}get(e){U(this._subscribers),h.get();let t=e?.frame??(this._seekedFrame>=0?this._seekedFrame:h.value);if(this._cachedFrame===t)return this._cachedValue;let n=e?.fps??this._fps,a=e?.time??(n>0?t/n:0),s=e?.duration??this._durationFrames??100,i=e?.durationMs??s/n*1e3,o=s>0?t/s:0,u=e?.deltaTime??(n>0?1/n:.0416),d={frame:t,fps:n,time:a,duration:s,durationMs:i,progress:o,deltaTime:u};return this._cachedFrame=t,this._cachedValue=this._evaluator(d),this._cachedValue}peek(){return this._cachedValue}registerChild(e){this._children.add(e)}_derive(e,t,n){let a=new r(e,{fps:this._fps,durationFrames:this._durationFrames,...t});return this._children.add(a),n instanceof r&&n.registerChild(a),a}seekFrame(e){this._seekedFrame=e,this._cachedFrame=-1;for(let t of this._subscribers)t.markDirty();for(let t of this._children)t.seekFrame(e)}invalidate(){this._cachedFrame=-1;for(let e of this._subscribers)e.markDirty();for(let e of this._children)e.invalidate()}valueOf(){return this.get()}[Symbol.toPrimitive](e){return e==="number"?Number(this.get()):e==="string"?String(this.get()):this.get()}smooth(e){let t=Math.max(1,Math.round(e));return t<=1?this:this._derive(n=>{let a=0,s=0,i=Math.max(0,n.frame-t+1);for(let o=i;o<=n.frame;o++)a+=this.get({...n,frame:o,time:o/n.fps}),s++;return s>0?a/s:0},{label:`${this.label??"sig"}_smoothed(${t})`})}remap(e,t,n,a,s=!1){let i=t-e,o=a-n;return this._derive(u=>{let d=this.get(u),l=i!==0?(d-e)/i:0,p=n+l*o;if(s){let m=Math.min(n,a),c=Math.max(n,a);return Math.max(m,Math.min(c,p))}return p},{label:`${this.label??"sig"}_remap`})}clamp(e,t){let n=Math.min(e,t),a=Math.max(e,t);return this._derive(s=>Math.max(n,Math.min(a,this.get(s))),{label:`${this.label??"sig"}_clamped`})}gate(e,t={}){let n=t.mode??"gate",a=Math.max(1,t.debounceFrames??2),s=Math.max(1,t.holdFrames??4),i=!!t.invert;return this._derive(o=>{let u=o.frame,d=0;if(n==="gate")d=this.get(o)>=e?1:0;else if(n==="trigger"){let l=-1/0,p=Math.max(0,u-120);for(let m=p;m<=u;m++){let c=this.get({...o,frame:m,time:m/o.fps}),b=m>0?this.get({...o,frame:m-1,time:(m-1)/o.fps}):0;c>=e&&b<e&&m-l>=a&&(l=m)}d=u>=l&&u<l+s?1:0}else if(n==="toggle"){let l=0,p=-1/0;for(let m=0;m<=u;m++){let c=this.get({...o,frame:m,time:m/o.fps}),b=m>0?this.get({...o,frame:m-1,time:(m-1)/o.fps}):0;c>=e&&b<e&&m-p>=a&&(l++,p=m)}d=l%2===1?1:0}return i?1-d:d},{label:`${this.label??"sig"}_gate(${e})`})}velocity(e=1){let t=Math.max(1,Math.round(e));return this._derive(n=>{let a=this.get(n),s=Math.max(0,n.frame-t),i=this.get({...n,frame:s,time:s/n.fps}),o=t/n.fps;return o>0?(a-i)/o:a-i},{label:`${this.label??"sig"}_velocity`})}delay(e){let t=Math.max(0,Math.round(e));return this._derive(n=>{let a=Math.max(0,n.frame-t);return this.get({...n,frame:a,time:a/n.fps})},{label:`${this.label??"sig"}_delay(${t})`})}spring(e=150,t=12){return this._derive(n=>{let a=n.frame;if(a<=0)return this.get(n);let s=this.get({...n,frame:0,time:0}),i=0,o=1/Math.max(1,n.fps);for(let u=1;u<=a;u++){let d=this.get({...n,frame:u,time:u/n.fps}),l=s-d,p=-e*l-t*i;i+=p*o,s+=i*o}return s},{label:`${this.label??"sig"}_spring`})}add(e){return typeof e=="number"?this._derive(t=>this.get(t)+e):this._derive(t=>this.get(t)+(Number(e.get(t))||0),void 0,e)}subtract(e){return typeof e=="number"?this._derive(t=>this.get(t)-e):this._derive(t=>this.get(t)-(Number(e.get(t))||0),void 0,e)}multiply(e){return typeof e=="number"?this._derive(t=>this.get(t)*e):this._derive(t=>this.get(t)*(Number(e.get(t))||0),void 0,e)}invert(){return this._derive(e=>1-this.get(e),{label:`${this.label??"sig"}_inverted`})}pow(e){return this._derive(t=>this.get(t)**e)}map(e){return this._derive(t=>e(this.get(t),t))}toFrameArray(e,t){let n=Math.max(1,e),a=t??this._fps,s=new Float32Array(n);for(let i=0;i<n;i++)s[i]=this.get({frame:i,fps:a,time:i/a,duration:n,durationMs:n/a*1e3,progress:i/n,deltaTime:1/a});return s}};function k(r,e){return new x(r,e)}f();f();function oe(r,e=[{x:0,y:0},{x:1,y:0},{x:0,y:1},{x:1,y:1}]){let t=[],n=[];for(let i=0;i<4;i++){let o=r[i]?.x??0,u=r[i]?.y??0,d=e[i]?.x??0,l=e[i]?.y??0;t.push([o,u,1,0,0,0,-o*d,-u*d]),n.push(d),t.push([0,0,0,o,u,1,-o*l,-u*l]),n.push(l)}let a=8;for(let i=0;i<a;i++){let o=i,u=Math.abs(t[i][i]);for(let m=i+1;m<a;m++)Math.abs(t[m][i])>u&&(u=Math.abs(t[m][i]),o=m);let d=t[i];t[i]=t[o],t[o]=d;let l=n[i];n[i]=n[o],n[o]=l;let p=t[i][i];Math.abs(p)<1e-12&&(t[i][i]=p<0?-1e-12:1e-12);for(let m=i+1;m<a;m++){let c=t[m][i]/t[i][i];for(let b=i;b<a;b++)t[m][b]-=c*t[i][b];n[m]-=c*n[i]}}let s=new Array(8).fill(0);for(let i=a-1;i>=0;i--){let o=n[i];for(let u=i+1;u<a;u++)o-=t[i][u]*s[u];s[i]=o/t[i][i]}return[s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],1]}function le(r,e,t,n){if(r==null)return e;if(typeof r=="number")return Number.isFinite(r)?r:e;if(typeof r=="object"&&r!==null){if("get"in r&&typeof r.get=="function")try{let s=r.get({frame:t,fps:n,time:n>0?t/n:0,duration:0,durationMs:0,progress:0,deltaTime:n>0?1/n:0}),i=Number(s);if(Number.isFinite(i))return i}catch{}if("value"in r){let s=Number(r.value);if(Number.isFinite(s))return s}}if(typeof r=="function")try{let s=Number(r({frame:t,fps:n,time:n>0?t/n:0}));if(Number.isFinite(s))return s}catch{}let a=Number(r);return Number.isFinite(a)?a:e}function de(r,e,t){if(r==null)return{value:r};if(typeof r=="function")return{value:r(e,t)};if(typeof r!="object")return{value:r};let n=r;if(typeof n.get=="function")return{value:n.get({frame:e,fps:t})};if("value"in n){let a=r;return{value:a.value,gpuTextureView:a.gpuBinding?.textureView}}return{value:r}}function pe(r,e,t,n,a){let s=o=>Math.max(n,Math.min(a,o)),i=e?r?.[e]:void 0;if(i?.connectionValid){let o=i.outputItem;if(o?.type==="Number"){let u=typeof o.data=="number"?o.data:o.data?.value??t;return{val:s(u),hasStaticSig:!1,sd:null,handleId:e}}if(o?.type==="Signal"&&o.data)return{val:t,hasStaticSig:!0,sd:o.data,handleId:e}}return{val:s(t),hasStaticSig:!1,sd:null,handleId:e}}function ge(r,e,t,n=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY){let s=c=>Math.max(n,Math.min(a,c)),i=r,o=i[`${e}HandleId`],u=o?r.inputs?.[o]:null,d=u?.connectionValid?u.outputItem?.type:void 0,l=d==="Signal"||d==="Numeric",p=l&&u?.outputItem?.data?u.outputItem.data:null,m=t;if(l)p&&(m=s(Number(p.offset??t)));else{let c=d==="Number"?u?.outputItem?.data:i[e];m=s(Number(c??t))}return{hasSignal:l,sd:p,value:m}}function ce(r,e){let t=r[e];if(typeof t!="string"||!t)return!1;let n=r.inputs?.[t];return!!(n?.connectionValid&&n.outputItem&&(n.outputItem.type==="Signal"||n.outputItem.type==="Number"))}function fe(r){return Object.freeze(r)}var N=Symbol.for("framefields.webgpuRegistry"),G=class{renderers=new Map;register(e,t){this.renderers.set(e,t)}get(e){return this.renderers.get(e)}has(e){return this.renderers.has(e)}},j=(()=>{let r=globalThis;return r[N]||(r[N]=new G),r[N]})();function q(r,e){j.register(r,e)}q("TextureSource",r=>{let e=r.props.virtualMedia.operation;e?.sourceTexture&&r.ctx.renderer.drawTexture(r.pass,e.sourceTexture,{x:0,y:0,width:r.targetWidth,height:r.targetHeight},{opacity:Number(e.opacity??1)})});var I=class{processors=new Map;register(e,t){this.processors.set(e,t)}get(e){return this.processors.get(e)||null}},O=Symbol.for("framefields.audioRegistry"),he=(()=>{let r=globalThis;return r[O]||(r[O]=new I),r[O]})();export{x as a,k as b,R as c,V as d,C as e,W as f,U as g,y as h,T as i,J as j,E as k,L as l,h as m,B as n,F as o,Q as p,A as q,$ as r,H as s,Z as t,oe as u,le as v,de as w,pe as x,ge as y,ce as z,fe as A,j as B,q as C,he as D};
|
|
1
|
+
import{e as f}from"./chunk-BVF64D6H.mjs";f();f();f();function _(r){return r===null||typeof r!="object"?r:y(r)||"peek"in r&&typeof r.peek=="function"?r.peek():"value"in r?r.value:r}function I(r,e){let t=_(r);return typeof t=="number"&&!Number.isNaN(t)?t:e}function U(r,e){let t=_(r);return typeof t=="string"?t:e}function V(r,e){let t=_(r);return typeof t=="boolean"?t:e}function E(r,e){if(typeof e=="number")return I(r,e);if(typeof e=="string")return U(r,e);if(typeof e=="boolean")return V(r,e);let t=_(r);return t??e}var g=null;function C(r){g!==null&&(r.add(g),g.deps.add(r))}function y(r){return r!==null&&typeof r=="object"&&"get"in r&&typeof r.get=="function"&&"value"in r}var S=class{_value;_subscribers=new Set;constructor(e){this._value=e}get value(){return this.get()}set value(e){this.set(e)}get(){return g!==null&&(this._subscribers.add(g),g.deps.add(this._subscribers)),this._value}peek(){return this._value}set(e){Object.is(this._value,e)||(this._value=e,this.notifySubscribers())}update(e){this.set(e(this._value))}notifySubscribers(){if(this._subscribers.size===0)return;let e=Array.from(this._subscribers);for(let t of e)t.markDirty()}valueOf(){return this.get()}[Symbol.toPrimitive](e){return e==="number"?Number(this.get()):e==="string"?String(this.get()):this.get()}},P=class{_fn;_value;_dirty=!0;_evaluating=!1;deps=new Set;_subscribers=new Set;constructor(e){this._fn=e}get value(){return this.get()}get(){return g!==null&&g!==this&&(this._subscribers.add(g),g.deps.add(this._subscribers)),this._dirty&&this.compute(),this._value}peek(){return this._dirty&&this.compute(),this._value}markDirty(){if(this._dirty)return;this._dirty=!0;let e=Array.from(this._subscribers);for(let t of e)t.markDirty()}compute(){if(this._evaluating)throw new Error("Cyclic dependency detected in computed signal");for(let t of this.deps)t.delete(this);this.deps.clear();let e=g;g=this,this._evaluating=!0;try{this._value=this._fn(),this._dirty=!1}finally{this._evaluating=!1,g=e}}valueOf(){return this.get()}[Symbol.toPrimitive](e){return e==="number"?Number(this.get()):e==="string"?String(this.get()):this.get()}},w=class{gpuBinding;fps;_samples;_cachedFrame=-1;_cachedValue=0;_seekedFrame=-1;_subscribers=new Set;constructor(e,t=24,n){this._samples=e,this.fps=t,this.gpuBinding=n,e.length>0&&(this._cachedValue=e[0])}get value(){return this.get()}get(e){g!==null&&(this._subscribers.add(g),g.deps.add(this._subscribers)),h.get();let t=e?.frame??(this._seekedFrame>=0?this._seekedFrame:h.value);if(this._cachedFrame===t)return this._cachedValue;if(this._cachedFrame=t,!this._samples||this._samples.length===0)return this._cachedValue=0,0;let n=e?.fps??this.fps,a=n!==this.fps&&n>0?t/n*this.fps:t,s=Math.max(0,Math.min(this._samples.length-1,Math.round(a)));return this._cachedValue=Number(this._samples[s])||0,this._cachedValue}peek(){return this._cachedValue}seekFrame(e){if(this._seekedFrame=e,this._cachedFrame=e,!this._samples||this._samples.length===0)this._cachedValue=0;else{let t=Math.max(0,Math.min(this._samples.length-1,Math.round(e)));this._cachedValue=Number(this._samples[t])||0}for(let t of this._subscribers)t.markDirty()}valueOf(){return this.get()}[Symbol.toPrimitive](e){return e==="number"?Number(this.get()):e==="string"?String(this.get()):this.get()}};function T(r){return new S(r)}function J(r){return r instanceof S}function L(r){return new P(r)}function $(r,e=24,t){return new w(r,e,t)}var h=T(0),B=T(0),F=T(0);function Q(r,e=24,t){h.set(r);let n=e>0?r/e:0;if(B.set(n),t&&t>0){let a=t/1e3;F.set(Math.max(0,Math.min(1,n/a)))}else F.set(0)}var M=class{gpuBinding;_config;constructor(e){this._config={type:"sine",frequency:1,amplitude:1,offset:0,phase:0,...e},this.gpuBinding=e.gpuBinding}get value(){return this.get()}get(e){h.get();let t=e?.frame??h.value,n=e?.fps??24,a=e?.time??(n>0?t/n:0);if(this._config.fn)return this._config.fn(e??{frame:t,fps:n,time:a,duration:0,durationMs:0,progress:0,deltaTime:n>0?1/n:0});let s=this._config.frequency??1,i=this._config.amplitude??1,o=this._config.offset??0,u=this._config.phase??0;switch(this._config.type??"sine"){case"sine":return o+i*Math.sin(2*Math.PI*s*a+u);case"triangle":return o+i*(2*Math.abs(2*(a*s+u/(2*Math.PI)-Math.floor(a*s+u/(2*Math.PI)+.5)))-1);case"sawtooth":return o+i*(2*(a*s+u/(2*Math.PI)-Math.floor(a*s+u/(2*Math.PI)+.5)));case"square":return o+(Math.sin(2*Math.PI*s*a+u)>=0?i:-i);case"bounce":{let l=a*s%1,p=Math.abs(Math.sin(Math.PI*l));return o+i*p}default:return o+i*Math.sin(2*Math.PI*s*a+u)}}peek(){return this.get()}valueOf(){return this.get()}[Symbol.toPrimitive](e){return e==="number"?Number(this.get()):e==="string"?String(this.get()):this.get()}};function A(r){return new M(r)}function D(r,e){let t=e.min,n=e.max,a=e.amplitude??1,s=e.offset??0;t!==void 0&&n!==void 0?(s=(t+n)/2,a=(n-t)/2):t!==void 0?s=t+a:n!==void 0&&(s=n-a);let i=e.period,o=e.frequency,u=e.phase??0;return A({type:"custom",fn:d=>{let l;if(i!==void 0&&i>0)l=2*Math.PI*d.frame/i+u;else{let p=o??1;l=2*Math.PI*p*d.time+u}return s+a*r(l)}})}function H(r={}){return D(Math.sin,r)}function j(r={}){return D(Math.cos,r)}var Z={state:T,computed:L,builder:A,fromArray:$,programmatic:k,frame:h,time:B,progress:F,sine:H,cosine:j};var x=class r{gpuBinding;label;_evaluator;_samples;_fps;_durationFrames;_cachedFrame=-1;_cachedValue=0;_seekedFrame=-1;_subscribers=new Set;_children=new Set;get fps(){return this._fps}constructor(e,t={}){if(this._fps=t.fps??24,this._durationFrames=t.durationFrames,this.gpuBinding=t.gpuBinding,this.label=t.label,typeof e=="number"){let n=e;this._evaluator=()=>n,this._cachedValue=n}else if(typeof e=="function")this._evaluator=e;else if(y(e))this._evaluator=n=>Number(e.get(n))||0;else{let n=e;this._samples=n instanceof Float32Array?n:new Float32Array(Array.from(n)),this._durationFrames=this._samples.length,this._cachedValue=this._samples.length>0?this._samples[0]:0,this._evaluator=a=>{if(!this._samples||this._samples.length===0)return 0;let s=a.fps??this._fps,i=s!==this._fps&&s>0?a.frame/s*this._fps:a.frame,o=Math.max(0,Math.min(this._samples.length-1,Math.round(i)));return this._samples[o]}}}get value(){return this.get()}get(e){C(this._subscribers),h.get();let t=e?.frame??(this._seekedFrame>=0?this._seekedFrame:h.value);if(this._cachedFrame===t)return this._cachedValue;let n=e?.fps??this._fps,a=e?.time??(n>0?t/n:0),s=e?.duration??this._durationFrames??100,i=e?.durationMs??s/n*1e3,o=s>0?t/s:0,u=e?.deltaTime??(n>0?1/n:.0416),d={frame:t,fps:n,time:a,duration:s,durationMs:i,progress:o,deltaTime:u};return this._cachedFrame=t,this._cachedValue=this._evaluator(d),this._cachedValue}peek(){return this._cachedValue}registerChild(e){this._children.add(e)}_derive(e,t,n){let a=new r(e,{fps:this._fps,durationFrames:this._durationFrames,...t});return this._children.add(a),n instanceof r&&n.registerChild(a),a}seekFrame(e){this._seekedFrame=e,this._cachedFrame=-1;for(let t of this._subscribers)t.markDirty();for(let t of this._children)t.seekFrame(e)}invalidate(){this._cachedFrame=-1;for(let e of this._subscribers)e.markDirty();for(let e of this._children)e.invalidate()}valueOf(){return this.get()}[Symbol.toPrimitive](e){return e==="number"?Number(this.get()):e==="string"?String(this.get()):this.get()}smooth(e){let t=Math.max(1,Math.round(e));return t<=1?this:this._derive(n=>{let a=0,s=0,i=Math.max(0,n.frame-t+1);for(let o=i;o<=n.frame;o++)a+=this.get({...n,frame:o,time:o/n.fps}),s++;return s>0?a/s:0},{label:`${this.label??"sig"}_smoothed(${t})`})}remap(e,t,n,a,s=!1){let i=t-e,o=a-n;return this._derive(u=>{let d=this.get(u),l=i!==0?(d-e)/i:0,p=n+l*o;if(s){let m=Math.min(n,a),c=Math.max(n,a);return Math.max(m,Math.min(c,p))}return p},{label:`${this.label??"sig"}_remap`})}clamp(e,t){let n=Math.min(e,t),a=Math.max(e,t);return this._derive(s=>Math.max(n,Math.min(a,this.get(s))),{label:`${this.label??"sig"}_clamped`})}gate(e,t={}){let n=t.mode??"gate",a=Math.max(1,t.debounceFrames??2),s=Math.max(1,t.holdFrames??4),i=!!t.invert;return this._derive(o=>{let u=o.frame,d=0;if(n==="gate")d=this.get(o)>=e?1:0;else if(n==="trigger"){let l=-1/0,p=Math.max(0,u-120);for(let m=p;m<=u;m++){let c=this.get({...o,frame:m,time:m/o.fps}),b=m>0?this.get({...o,frame:m-1,time:(m-1)/o.fps}):0;c>=e&&b<e&&m-l>=a&&(l=m)}d=u>=l&&u<l+s?1:0}else if(n==="toggle"){let l=0,p=-1/0;for(let m=0;m<=u;m++){let c=this.get({...o,frame:m,time:m/o.fps}),b=m>0?this.get({...o,frame:m-1,time:(m-1)/o.fps}):0;c>=e&&b<e&&m-p>=a&&(l++,p=m)}d=l%2===1?1:0}return i?1-d:d},{label:`${this.label??"sig"}_gate(${e})`})}velocity(e=1){let t=Math.max(1,Math.round(e));return this._derive(n=>{let a=this.get(n),s=Math.max(0,n.frame-t),i=this.get({...n,frame:s,time:s/n.fps}),o=t/n.fps;return o>0?(a-i)/o:a-i},{label:`${this.label??"sig"}_velocity`})}delay(e){let t=Math.max(0,Math.round(e));return this._derive(n=>{let a=Math.max(0,n.frame-t);return this.get({...n,frame:a,time:a/n.fps})},{label:`${this.label??"sig"}_delay(${t})`})}spring(e=150,t=12){return this._derive(n=>{let a=n.frame;if(a<=0)return this.get(n);let s=this.get({...n,frame:0,time:0}),i=0,o=1/Math.max(1,n.fps);for(let u=1;u<=a;u++){let d=this.get({...n,frame:u,time:u/n.fps}),l=s-d,p=-e*l-t*i;i+=p*o,s+=i*o}return s},{label:`${this.label??"sig"}_spring`})}add(e){return typeof e=="number"?this._derive(t=>this.get(t)+e):this._derive(t=>this.get(t)+(Number(e.get(t))||0),void 0,e)}subtract(e){return typeof e=="number"?this._derive(t=>this.get(t)-e):this._derive(t=>this.get(t)-(Number(e.get(t))||0),void 0,e)}multiply(e){return typeof e=="number"?this._derive(t=>this.get(t)*e):this._derive(t=>this.get(t)*(Number(e.get(t))||0),void 0,e)}invert(){return this._derive(e=>1-this.get(e),{label:`${this.label??"sig"}_inverted`})}pow(e){return this._derive(t=>this.get(t)**e)}map(e){return this._derive(t=>e(this.get(t),t))}toFrameArray(e,t){let n=Math.max(1,e),a=t??this._fps,s=new Float32Array(n);for(let i=0;i<n;i++)s[i]=this.get({frame:i,fps:a,time:i/a,duration:n,durationMs:n/a*1e3,progress:i/n,deltaTime:1/a});return s}};function k(r,e){return new x(r,e)}f();f();function oe(r,e=[{x:0,y:0},{x:1,y:0},{x:0,y:1},{x:1,y:1}]){let t=[],n=[];for(let i=0;i<4;i++){let o=r[i]?.x??0,u=r[i]?.y??0,d=e[i]?.x??0,l=e[i]?.y??0;t.push([o,u,1,0,0,0,-o*d,-u*d]),n.push(d),t.push([0,0,0,o,u,1,-o*l,-u*l]),n.push(l)}let a=8;for(let i=0;i<a;i++){let o=i,u=Math.abs(t[i][i]);for(let m=i+1;m<a;m++)Math.abs(t[m][i])>u&&(u=Math.abs(t[m][i]),o=m);let d=t[i];t[i]=t[o],t[o]=d;let l=n[i];n[i]=n[o],n[o]=l;let p=t[i][i];Math.abs(p)<1e-12&&(t[i][i]=p<0?-1e-12:1e-12);for(let m=i+1;m<a;m++){let c=t[m][i]/t[i][i];for(let b=i;b<a;b++)t[m][b]-=c*t[i][b];n[m]-=c*n[i]}}let s=new Array(8).fill(0);for(let i=a-1;i>=0;i--){let o=n[i];for(let u=i+1;u<a;u++)o-=t[i][u]*s[u];s[i]=o/t[i][i]}return[s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],1]}function le(r,e,t,n){if(r==null)return e;if(typeof r=="number")return Number.isFinite(r)?r:e;if(typeof r=="object"&&r!==null){if("get"in r&&typeof r.get=="function")try{let s=r.get({frame:t,fps:n,time:n>0?t/n:0,duration:0,durationMs:0,progress:0,deltaTime:n>0?1/n:0}),i=Number(s);if(Number.isFinite(i))return i}catch{}if("value"in r){let s=Number(r.value);if(Number.isFinite(s))return s}}if(typeof r=="function")try{let s=Number(r({frame:t,fps:n,time:n>0?t/n:0}));if(Number.isFinite(s))return s}catch{}let a=Number(r);return Number.isFinite(a)?a:e}function de(r,e,t){if(r==null)return{value:r};if(typeof r=="function")return{value:r(e,t)};if(typeof r!="object")return{value:r};let n=r;if(typeof n.get=="function")return{value:n.get({frame:e,fps:t})};if("value"in n){let a=r;return{value:a.value,gpuTextureView:a.gpuBinding?.textureView}}return{value:r}}function pe(r,e,t,n,a){let s=o=>Math.max(n,Math.min(a,o)),i=e?r?.[e]:void 0;if(i?.connectionValid){let o=i.outputItem;if(o?.type==="Number"){let u=typeof o.data=="number"?o.data:o.data?.value??t;return{val:s(u),hasStaticSig:!1,sd:null,handleId:e}}if(o?.type==="Signal"&&o.data)return{val:t,hasStaticSig:!0,sd:o.data,handleId:e}}return{val:s(t),hasStaticSig:!1,sd:null,handleId:e}}function ge(r,e,t,n=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY){let s=c=>Math.max(n,Math.min(a,c)),i=r,o=i[`${e}HandleId`],u=o?r.inputs?.[o]:null,d=u?.connectionValid?u.outputItem?.type:void 0,l=d==="Signal"||d==="Numeric",p=l&&u?.outputItem?.data?u.outputItem.data:null,m=t;if(l)p&&(m=s(Number(p.offset??t)));else{let c=d==="Number"?u?.outputItem?.data:i[e];m=s(Number(c??t))}return{hasSignal:l,sd:p,value:m}}function ce(r,e){let t=r[e];if(typeof t!="string"||!t)return!1;let n=r.inputs?.[t];return!!(n?.connectionValid&&n.outputItem&&(n.outputItem.type==="Signal"||n.outputItem.type==="Number"))}function fe(r){return Object.freeze(r)}var N=Symbol.for("framefields.webgpuRegistry"),G=class{renderers=new Map;register(e,t){this.renderers.set(e,t)}get(e){return this.renderers.get(e)}has(e){return this.renderers.has(e)}},W=(()=>{let r=globalThis;return r[N]||(r[N]=new G),r[N]})();function q(r,e){W.register(r,e)}function he(r){let e=r.op;return typeof e!="string"?null:W.get(e)?.reach?.(r)??null}q("TextureSource",r=>{let e=r.props.virtualMedia.operation;e?.sourceTexture&&r.ctx.renderer.drawTexture(r.pass,e.sourceTexture,{x:0,y:0,width:r.targetWidth,height:r.targetHeight},{opacity:Number(e.opacity??1)})});var R=class{processors=new Map;register(e,t){this.processors.set(e,t)}get(e){return this.processors.get(e)||null}},O=Symbol.for("framefields.audioRegistry"),be=(()=>{let r=globalThis;return r[O]||(r[O]=new R),r[O]})();export{x as a,k as b,I as c,U as d,V as e,E as f,C as g,y as h,T as i,J as j,L as k,$ as l,h as m,B as n,F as o,Q as p,A as q,H as r,j as s,Z as t,oe as u,le as v,de as w,pe as x,ge as y,ce as z,fe as A,W as B,q as C,he as D,be as E};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as ot}from"./chunk-LKYN3BM2.mjs";import{o as
|
|
1
|
+
import{a as ot}from"./chunk-LKYN3BM2.mjs";import{o as Gt,p as C,q as T,r as Mt,s as Ut,t as Bt}from"./chunk-BBHRXV75.mjs";import{c as yt,d as xt,e as $}from"./chunk-SYP4AJMF.mjs";import{a as vt,b as it,d as bt,e as A}from"./chunk-KJGNTREI.mjs";import{B as wt,b as Pt,j as O,v as St,y as G,z as U}from"./chunk-2LQCQ3OT.mjs";import{a as D,b as gt}from"./chunk-IQC2I5A5.mjs";import{e as x}from"./chunk-BVF64D6H.mjs";x();var I=class{constructor(t,e){this.url=t;this.isHeadless=e}url;isHeadless;input=null;initPromise=null;iterator=null;iteratorStartTimestamp=-1;currentFetchId=0;fetchLock=Promise.resolve();destroyed=!1;async init(){if(!this.input)return this.initPromise?this.initPromise:(this.destroyed=!1,this.initPromise=(async()=>{try{let t=await A.acquire(this.url);this.destroyed?A.release(this.url):this.input=t}catch(t){throw this.initPromise=null,t}})(),this.initPromise)}destroy(){this.destroyed=!0,this.iterator?.return(),this.input&&(A.release(this.url),this.input=null),this.initPromise=null,this.onDestroy()}},st=class extends I{canvasSink=null;videoSampleSink=null;currentFrame=null;nextFrame=null;currentSample=null;nextSample=null;headlessQueue=[];isDecoding=!1;decodeBuffer=null;nextRequest=null;pushHeadlessQueue(t){let e=this.headlessQueue.findIndex(r=>r.timestamp>t.timestamp);e===-1?this.headlessQueue.push(t):this.headlessQueue.splice(e,0,t)}async fillHeadlessQueue(t){if(this.iterator)for(;this.headlessQueue.length<2;){let e=await this.iterator.next();if(this.currentFetchId!==t){e.value?.close?.();return}if(e.done||!e.value)break;this.pushHeadlessQueue(e.value)}}async closeIterator(t){if(t)try{await t.return()}catch{}}resetSinks(){let t=this.iterator;if(this.iterator=null,t)try{t.return()}catch{}this.canvasSink=null,this.videoSampleSink=null,this.currentFrame=null,this.nextFrame=null,this.currentSample?.close(),this.currentSample=null,this.nextSample?.close(),this.nextSample=null;for(let e of this.headlessQueue)try{e.close()}catch{}this.headlessQueue=[],this.decodeBuffer=null,this.iteratorStartTimestamp=-1}onDestroy(){this.resetSinks()}async startIterator(t,e){if(!this.canvasSink)return;let r=Math.max(0,Number.isFinite(t)?t:0),i=this.iterator;if(this.iterator=null,await this.closeIterator(i),this.currentFetchId!==e||this.destroyed)return;this.iterator=this.canvasSink.canvases(r);let n=await this.iterator.next();if(this.currentFetchId!==e||this.destroyed)return;this.currentFrame=n.value??null;let s=await this.iterator.next();this.currentFetchId!==e||this.destroyed||(this.nextFrame=s.value??null,this.iteratorStartTimestamp=r)}async startIteratorHeadless(t,e){if(!this.videoSampleSink)return;let r=Math.max(0,Number.isFinite(t)?t:0),i=this.iterator;if(this.iterator=null,await this.closeIterator(i),this.currentFetchId!==e||this.destroyed)return;for(let s of this.headlessQueue)s.close();this.headlessQueue=[];let n=Math.max(0,r-.1);this.iterator=this.videoSampleSink.samples(n),await this.fillHeadlessQueue(e),!(this.currentFetchId!==e||this.destroyed)&&(this.iteratorStartTimestamp=r)}async getFrame(t){if(await this.init(),this.destroyed||!this.input)return null;let e=Math.max(0,Number.isFinite(t)?t:0);return this.isDecoding?(this.nextRequest&&this.nextRequest.resolve(null),new Promise((r,i)=>{this.nextRequest={timestampSec:e,resolve:r,reject:i}})):this.executeDecode(e)}async executeDecode(t){this.isDecoding=!0;try{return await this.performDecode(t)}finally{if(this.isDecoding=!1,this.nextRequest){let e=this.nextRequest;this.nextRequest=null,this.executeDecode(e.timestampSec).then(e.resolve).catch(e.reject)}}}async performDecodeHeadless(t,e){if(!this.videoSampleSink){if(this.destroyed||!this.input)return null;let h=await this.input.getPrimaryVideoTrack();if(!h)return null;this.videoSampleSink=new vt(h)}let r=1e-4;if((!this.iterator||t<this.iteratorStartTimestamp-r||this.headlessQueue.length>0&&t<this.headlessQueue[0].timestamp-.01||this.headlessQueue.length>0&&t-this.headlessQueue[0].timestamp>1)&&(await this.startIteratorHeadless(t,e),this.currentFetchId!==e||this.destroyed||!this.input))return null;for(;;){if(await this.fillHeadlessQueue(e),this.currentFetchId!==e||this.destroyed||!this.input)return null;if(this.headlessQueue.length>=2&&this.headlessQueue[1].timestamp<=t+r){this.headlessQueue.shift()?.close();continue}break}let s=this.headlessQueue[0];if(!s)return null;let a=s.displayWidth,o=s.displayHeight,c=a*o*4,u=this.decodeBuffer;return(!u||u.length!==c)&&(u=new Uint8Array(c),this.decodeBuffer=u),await s.copyTo(u,{format:"RGBA"}),this.currentFetchId!==e||this.destroyed||!this.input?null:(gt(u),{width:a,height:o,buffer:u})}async performDecodeInternal(t){this.currentFetchId++;let e=this.currentFetchId;if(this.isHeadless)return this.performDecodeHeadless(t,e);if(!this.canvasSink){if(this.destroyed||!this.input)return null;let a=await this.input.getPrimaryVideoTrack();if(!a)return null;this.canvasSink=new it(a,{poolSize:3,alpha:!0})}let r=1e-4;if((!this.iterator||t<this.iteratorStartTimestamp-r||this.currentFrame&&t<this.currentFrame.timestamp-.01||this.currentFrame&&t-this.currentFrame.timestamp>1)&&(await this.startIterator(t,e),this.currentFetchId!==e||this.destroyed||!this.input))return null;for(;this.nextFrame&&this.nextFrame.timestamp<=t+r;)if(this.currentFrame=this.nextFrame,this.nextFrame=null,this.iterator){let a=await this.iterator.next();if(this.currentFetchId!==e||this.destroyed||!this.input)return null;this.nextFrame=a.value??null}if(!this.currentFrame)return null;let s=this.currentFrame.canvas;return{width:s.width,height:s.height,canvas:s}}async performDecode(t){let e=Math.max(0,Number.isFinite(t)?t:0);try{return await this.performDecodeInternal(e)}catch(r){let i=r;if(i?.name==="InputDisposedError"||i?.message?.includes("disposed")||this.destroyed||!this.input)return null;this.resetSinks();try{if(!this.isHeadless&&this.input&&!this.destroyed){let n=await this.input.getPrimaryVideoTrack();if(n&&!this.destroyed)return this.canvasSink=new it(n,{poolSize:3,alpha:!0,decoderOptions:{hardwareAcceleration:"prefer-software"}}),await this.performDecodeInternal(e)}}catch{}throw r}}},nt=class extends I{audioSink=null;onDestroy(){this.audioSink=null}async startIterator(t,e){this.audioSink&&(this.iterator?.return(),this.iterator=this.audioSink.buffers(t),this.iteratorStartTimestamp=t)}async*getBuffers(t){try{if(await this.init(),this.destroyed||!this.input)return;if(!this.audioSink){let i=await this.input.getPrimaryAudioTrack();if(!i)return;this.audioSink=new bt(i)}(!this.iterator||Math.abs(t-this.iteratorStartTimestamp)>.05)&&(this.currentFetchId++,await this.startIterator(t,this.currentFetchId));let r=this.currentFetchId;if(!this.iterator)return;for await(let i of this.iterator){if(this.currentFetchId!==r||this.destroyed||!this.input)break;this.iteratorStartTimestamp=i.timestamp+i.duration,yield i}}catch(e){let r=e;if(r?.name==="InputDisposedError"||r?.message?.includes("disposed")||this.destroyed||!this.input)return;throw e}finally{let e=this.currentFetchId;this.currentFetchId===e&&(this.iterator=null)}}},at=class{videoDecoders=new Map;audioDecoders=new Map;lastAccessed=new Map;ticks=0;lastTick=new Map;touchKey(t){this.lastAccessed.set(t,Date.now()),this.lastTick.set(t,this.ticks)}dropKey(t){let e=this.videoDecoders.get(t);if(e){try{e.destroy()}catch{}this.videoDecoders.delete(t)}let r=this.audioDecoders.get(t);if(r){try{r.destroy()}catch{}this.audioDecoders.delete(t)}this.lastAccessed.delete(t),this.lastTick.delete(t)}tick(t=120){this.ticks++;for(let[e,r]of this.lastTick)this.ticks-r>t&&this.dropKey(e)}destroy(){for(let t of this.videoDecoders.values())try{t.destroy()}catch{}this.videoDecoders.clear();for(let t of this.audioDecoders.values())try{t.destroy()}catch{}this.audioDecoders.clear(),this.lastAccessed.clear(),this.lastTick.clear()}get size(){return this.videoDecoders.size+this.audioDecoders.size}prune(t=3e5){let e=Date.now();for(let[r,i]of this.lastAccessed.entries())e-i>t&&this.dropKey(r)}getVideo(t,e,r){let i=`${t}-${e}-${r??"default"}`,n=this.videoDecoders.get(i);return n||(n=new st(t,e),this.videoDecoders.set(i,n)),this.touchKey(i),this.prune(),n}getAudio(t,e){let r=`${t}-${e??"default"}`,i=this.audioDecoders.get(r);return i||(i=new nt(t,!1),this.audioDecoders.set(r,i)),this.touchKey(r),this.prune(),i}clearNode(t){let e=[...this.videoDecoders.keys(),...this.audioDecoders.keys()];for(let r of e)r.includes(t)&&this.dropKey(r)}},ee=new at;x();x();var Dt=`
|
|
2
2
|
struct CompositeUniforms {
|
|
3
3
|
blendMode : u32,
|
|
4
4
|
padding1 : u32,
|
|
@@ -139,7 +139,7 @@ fn set_sat(c: vec3<f32>, s: f32) -> vec3<f32> {
|
|
|
139
139
|
|
|
140
140
|
return vec4<f32>(out_rgb, out_a);
|
|
141
141
|
}
|
|
142
|
-
`;var
|
|
142
|
+
`;var Vt=`
|
|
143
143
|
struct MotionBlur2DUniforms {
|
|
144
144
|
vel: vec2<f32>,
|
|
145
145
|
_pad: vec2<f32>,
|
|
@@ -183,7 +183,7 @@ fn fs(@builtin(position) pos: vec4<f32>) -> @location(0) vec4<f32> {
|
|
|
183
183
|
|
|
184
184
|
return accum / max(totalWeight, 0.0001);
|
|
185
185
|
}
|
|
186
|
-
`,ut=class{textures=[];texturesByKey=new Map;index=0;getTexture(t,e,r,i,n){let s=new Set(Array.isArray(n)?n:n?[n]:[]),a=`${e}x${r}:${i}`,o=this.texturesByKey.get(a);if(o)for(let u=0;u<o.length;u++){let h=o[u];if(!s.has(h)){o.splice(u,1),o.unshift(h);let p=this.textures.indexOf(h);return p>=this.index&&(this.textures.splice(p,1),this.textures.splice(this.index,0,h),this.index++),h}}let l=t.createTexture({size:[e,r],format:i,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_SRC});return this.texturesByKey.has(a)||this.texturesByKey.set(a,[]),this.texturesByKey.get(a).unshift(l),this.textures.splice(this.index,0,l),this.index++,l}reset(){this.index=0}destroy(){for(let t of this.textures)t.destroy();this.textures=[],this.texturesByKey.clear(),this.index=0}},Vt={normal:0,"source-over":0,multiply:1,screen:2,overlay:3,darken:4,lighten:5,"color-dodge":6,"color-burn":7,"hard-light":8,"soft-light":9,difference:10,exclusion:11,hue:12,saturation:13,color:14,luminosity:15,"mask-in":16,"destination-in":16,"mask-out":17,"destination-out":17,"source-in":18,"source-out":19,"source-atop":20,"destination-over":21,"destination-atop":22,lighter:23,copy:24,xor:25,"luma-in":26,"luma-out":27},E=class{device;compositeUniformLayout;dualTextureLayout;motionBlurUniformLayout;singleTextureLayout;compositePipeline;motionBlurPipeline;compositePool;motionBlurPool;texturePool;compositeUniformBindGroupCache=new U;motionBlurUniformBindGroupCache=new U;compositeData=new Uint32Array(4);motionBlurData=new Float32Array(8);constructor(t,e){this.device=t,this.compositePool=new G(1024,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.motionBlurPool=new G(1024,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.texturePool=new ut,this.compositeUniformLayout=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),this.dualTextureLayout=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:2,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]}),this.motionBlurUniformLayout=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),this.singleTextureLayout=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]});let r=t.createPipelineLayout({bindGroupLayouts:[this.compositeUniformLayout,this.dualTextureLayout]}),i=t.createShaderModule({label:"composite.wgsl",code:Bt});this.compositePipeline=t.createRenderPipeline({label:"CompositePipeline",layout:r,vertex:{module:i,entryPoint:"vs"},fragment:{module:i,entryPoint:"fs",targets:[{format:e}]},primitive:{topology:"triangle-strip"}});let n=t.createPipelineLayout({bindGroupLayouts:[this.motionBlurUniformLayout,this.singleTextureLayout]}),s=t.createShaderModule({label:"motion-blur-2d.wgsl",code:Et});this.motionBlurPipeline=t.createRenderPipeline({label:"MotionBlurPipeline",layout:n,vertex:{module:s,entryPoint:"vs"},fragment:{module:s,entryPoint:"fs",targets:[{format:e}]},primitive:{topology:"triangle-list"}})}resetPools(){this.compositePool.reset(),this.motionBlurPool.reset(),this.texturePool.reset()}getTexture(t,e,r,i,n){return this.texturePool.getTexture(t,e,r,i,n)}getBuffer(t,e){return this.compositePool.getBuffer(t,e)}composite(t,e,r,i,n,s,a,o){let l=r.getSampler(this.device),u=[i,n];o&&(Array.isArray(o)?u.push(...o):u.push(o));let h=this.texturePool.getTexture(this.device,i.width,i.height,a,u);this.compositeData[0]=Vt[s]??0;let p=this.compositePool.getBuffer(this.device,this.compositeData),d=t.beginRenderPass({colorAttachments:[{view:h.createView(),loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});d.setPipeline(this.compositePipeline);let f=this.compositeUniformBindGroupCache.getBindGroup(this.device,this.compositeUniformLayout,p);d.setBindGroup(0,f);let m=e.getCompositeBindGroup(this.device,this.dualTextureLayout,i,n,l);return d.setBindGroup(1,m),d.draw(4),d.end(),h}applyMotionBlur(t,e,r,i,n,s,a=180,o=16,l,u){if(Math.abs(n)<.1&&Math.abs(s)<.1||a<=0)return i;let h=r.getSampler(this.device),p=[i];u&&(Array.isArray(u)?p.push(...u):p.push(u));let d=this.texturePool.getTexture(this.device,i.width,i.height,l,p);this.motionBlurData[0]=n/i.width,this.motionBlurData[1]=s/i.height,this.motionBlurData[2]=0,this.motionBlurData[3]=0,this.motionBlurData[4]=a/360,this.motionBlurData[5]=o,this.motionBlurData[6]=i.width,this.motionBlurData[7]=i.height;let f=this.motionBlurPool.getBuffer(this.device,this.motionBlurData),m=t.beginRenderPass({colorAttachments:[{view:d.createView(),loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});m.setPipeline(this.motionBlurPipeline);let y=this.motionBlurUniformBindGroupCache.getBindGroup(this.device,this.motionBlurUniformLayout,f);return m.setBindGroup(0,y),m.setBindGroup(1,e.getBindGroup(this.device,this.singleTextureLayout,i,h)),m.draw(3),m.end(),d}destroy(){this.compositePool.destroy(),this.motionBlurPool.destroy(),this.texturePool.destroy(),this.compositeUniformBindGroupCache.destroy(),this.motionBlurUniformBindGroupCache.destroy()}};x();x();var V=class{cache=new WeakMap;dualCache=new WeakMap;getBindGroup(t,e,r,i){let n=this.cache.get(r);n||(n=new Map,this.cache.set(r,n));let s=n.get(e);return s||(s=t.createBindGroup({layout:e,entries:[{binding:0,resource:r.createView()},{binding:1,resource:i}]}),n.set(e,s)),s}getCompositeBindGroup(t,e,r,i,n){let s=this.dualCache.get(r);s||(s=new WeakMap,this.dualCache.set(r,s));let a=s.get(i);a||(a=new Map,s.set(i,a));let o=a.get(e);return o||(o=t.createBindGroup({layout:e,entries:[{binding:0,resource:r.createView()},{binding:1,resource:i.createView()},{binding:2,resource:n}]}),a.set(e,o)),o}destroy(){this.cache=new WeakMap,this.dualCache=new WeakMap}};x();var W=class{scissorStack=[];stencilStack=[];pushScissor(t,e,r){this.scissorStack.push({rect:t,surfaceWidth:e,surfaceHeight:r})}popScissor(){this.scissorStack.length>0&&this.scissorStack.pop()}saveScissors(){return[...this.scissorStack]}restoreScissors(t){this.scissorStack=[...t]}clearScissors(){this.scissorStack=[]}getCurrentScissor(t,e){let r=this.scissorStack[this.scissorStack.length-1];if(r&&!(t!==void 0&&e!==void 0&&r.surfaceWidth!==void 0&&r.surfaceHeight!==void 0&&r.surfaceWidth!==0&&r.surfaceHeight!==0&&(r.surfaceWidth!==t||r.surfaceHeight!==e)))return r.rect}pushStencilClip(t){this.stencilStack.push(t)}popStencilClip(){this.stencilStack.length>0&&this.stencilStack.pop()}getCurrentStencil(){return this.stencilStack[this.stencilStack.length-1]}applyScissorToPass(t,e,r){let i=this.getCurrentScissor(e,r);if(!i){t.setScissorRect(0,0,Math.max(1,Math.floor(e)),Math.max(1,Math.floor(r)));return}let n=Math.max(0,Math.floor(i.x)),s=Math.max(0,Math.floor(i.y)),a=Math.min(e,Math.ceil(i.x+i.width)),o=Math.min(r,Math.ceil(i.y+i.height)),l=Math.max(0,a-n),u=Math.max(0,o-s);if(!Number.isFinite(n)||!Number.isFinite(s)||!Number.isFinite(l)||!Number.isFinite(u)||l<=0||u<=0)t.setScissorRect(0,0,1,1);else{let h=Math.min(l,Math.max(0,e-n)),p=Math.min(u,Math.max(0,r-s));h<=0||p<=0?t.setScissorRect(0,0,1,1):t.setScissorRect(Math.floor(n),Math.floor(s),Math.floor(h),Math.floor(p))}}destroy(){this.scissorStack=[],this.stencilStack=[]}};x();function Dt(c,t,e,r,i=24){let n=[],s=c;for(let a=1;a<=i;a++){let o=a/i,l=1-o,u=l*l,h=u*l,p=o*o,d=p*o,f={x:h*c.x+3*u*o*t.x+3*l*p*e.x+d*r.x,y:h*c.y+3*u*o*t.y+3*l*p*e.y+d*r.y};n.push({p0:s,p1:f}),s=f}return n}function Ct(c,t,e,r=16){let i=[],n=c;for(let s=1;s<=r;s++){let a=s/r,o=1-a,l=o*o,u=a*a,h={x:l*c.x+2*o*a*t.x+u*e.x,y:l*c.y+2*o*a*t.y+u*e.y};i.push({p0:n,p1:h}),n=h}return i}function Wt(c,t,e,r,i,n,s){let a=Math.abs(t),o=Math.abs(e);if(a<1e-9||o<1e-9)return[{p0:c,p1:s}];if(Math.hypot(s.x-c.x,s.y-c.y)<1e-9)return[];let l=r*Math.PI/180,u=Math.cos(l),h=Math.sin(l),p=(c.x-s.x)/2,d=(c.y-s.y)/2,f=u*p+h*d,m=-h*p+u*d,y=f*f/(a*a)+m*m/(o*o);y>1&&(a*=Math.sqrt(y),o*=Math.sqrt(y));let g=a*a*o*o-a*a*m*m-o*o*f*f,v=a*a*m*m+o*o*f*f,b=(i===n?-1:1)*Math.sqrt(Math.max(0,g/v)),P=b*a*m/o,S=-b*o*f/a,M=u*P-h*S+(c.x+s.x)/2,F=h*P+u*S+(c.y+s.y)/2,tt=(k,_,R,L)=>Math.atan2(k*L-_*R,k*R+_*L),et=tt(1,0,(f-P)/a,(m-S)/o),B=tt((f-P)/a,(m-S)/o,(-f-P)/a,(-m-S)/o);!n&&B>0&&(B-=2*Math.PI),n&&B<0&&(B+=2*Math.PI);let rt=Math.max(4,Math.ceil(Math.abs(B)/(2*Math.PI)*64)),ft=[],dt=c;for(let k=1;k<=rt;k++){let _=et+B*k/rt,R=a*Math.cos(_),L=o*Math.sin(_),mt=k===rt?s:{x:u*R-h*L+M,y:h*R+u*L+F};ft.push({p0:dt,p1:mt}),dt=mt}return ft}function z(c){let t=[];if(!c||typeof c!="string")return t;let e=[],r=/([a-df-z])|([-+]?(?:\d*\.\d+|\d+)(?:[eE][-+]?\d+)?)/gi,i;for(;(i=r.exec(c))!==null;)i[1]?e.push(i[1]):i[2]&&e.push(parseFloat(i[2]));let n=0,s={x:0,y:0},a={x:0,y:0},o=null,l=null;for(;n<e.length;){let u=e[n++];if(typeof u!="string")continue;let h=u,p=h===h.toLowerCase(),d=h.toUpperCase(),f=()=>n<e.length&&typeof e[n]=="number"?e[n++]:0;switch(d){case"M":{let m=!0;for(;n<e.length&&typeof e[n]=="number";){let y=f(),g=f();p&&(y+=s.x,g+=s.y),m?(s={x:y,y:g},a={x:y,y:g},m=!1):(t.push({p0:s,p1:{x:y,y:g}}),s={x:y,y:g})}o=null,l=null;break}case"L":{for(;n<e.length&&typeof e[n]=="number";){let m=f(),y=f();p&&(m+=s.x,y+=s.y),t.push({p0:s,p1:{x:m,y}}),s={x:m,y}}o=null,l=null;break}case"H":{for(;n<e.length&&typeof e[n]=="number";){let m=f();p&&(m+=s.x);let y={x:m,y:s.y};t.push({p0:s,p1:y}),s=y}o=null,l=null;break}case"V":{for(;n<e.length&&typeof e[n]=="number";){let m=f();p&&(m+=s.y);let y={x:s.x,y:m};t.push({p0:s,p1:y}),s=y}o=null,l=null;break}case"C":{for(;n<e.length&&typeof e[n]=="number";){let m=f(),y=f(),g=f(),v=f(),b=f(),P=f();p&&(m+=s.x,y+=s.y,g+=s.x,v+=s.y,b+=s.x,P+=s.y);let S={x:m,y},M={x:g,y:v},F={x:b,y:P};t.push(...Dt(s,S,M,F)),s=F,o=M}l=null;break}case"S":{for(;n<e.length&&typeof e[n]=="number";){let m=f(),y=f(),g=f(),v=f();p&&(m+=s.x,y+=s.y,g+=s.x,v+=s.y);let b;o?b={x:2*s.x-o.x,y:2*s.y-o.y}:b={x:s.x,y:s.y};let P={x:m,y},S={x:g,y:v};t.push(...Dt(s,b,P,S)),s=S,o=P}l=null;break}case"Q":{for(;n<e.length&&typeof e[n]=="number";){let m=f(),y=f(),g=f(),v=f();p&&(m+=s.x,y+=s.y,g+=s.x,v+=s.y);let b={x:m,y},P={x:g,y:v};t.push(...Ct(s,b,P)),s=P,l=b}o=null;break}case"T":{for(;n<e.length&&typeof e[n]=="number";){let m=f(),y=f();p&&(m+=s.x,y+=s.y);let g;l?g={x:2*s.x-l.x,y:2*s.y-l.y}:g={x:s.x,y:s.y};let v={x:m,y};t.push(...Ct(s,g,v)),s=v,l=g}o=null;break}case"A":{for(;n<e.length&&typeof e[n]=="number";){let m=f(),y=f(),g=f(),v=f()!==0,b=f()!==0,P=f(),S=f();p&&(P+=s.x,S+=s.y);let M={x:P,y:S};t.push(...Wt(s,m,y,g,v,b,M)),s=M}o=null,l=null;break}case"Z":{Math.hypot(s.x-a.x,s.y-a.y)>1e-5&&t.push({p0:s,p1:a}),s=a,o=null,l=null;break}default:break}}return t}function j(c,t,e,r=0){if(c.length===0)return[];let i=[],n=0;for(let u of c){let h=Math.hypot(u.p1.x-u.p0.x,u.p1.y-u.p0.y);i.push(h),n+=h}if(n<1e-6)return[];let s=Math.abs(r)>1?r%360/360:r,a=(t+s)%1,o=(e+s)%1;a<0&&(a+=1),o<0&&(o+=1);let l=(u,h)=>{if(u>=h)return[];let p=[],d=0;for(let f=0;f<c.length;f++){let m=c[f],y=i[f],g=d,v=d+y;if(d=v,v<=u||g>=h||y<1e-6)continue;let b=Math.max(0,(u-g)/y),P=Math.min(1,(h-g)/y);if(P>b){let S={x:m.p0.x+(m.p1.x-m.p0.x)*b,y:m.p0.y+(m.p1.y-m.p0.y)*b},M={x:m.p0.x+(m.p1.x-m.p0.x)*P,y:m.p0.y+(m.p1.y-m.p0.y)*P};p.push({p0:S,p1:M})}}return p};if(t===0&&e===1&&r===0)return[...c];if(Math.abs(a-o)<1e-5)return[];if(a<=o)return l(a*n,o*n);{let u=l(a*n,n),h=l(0,o*n);return[...u,...h]}}function ct(c,t,e=0){if(c.length===0||t.length===0)return c;let r=0;for(let d of t)r+=d;if(r<1e-5)return c;let i=0,n=[];for(let d of c){let f=Math.hypot(d.p1.x-d.p0.x,d.p1.y-d.p0.y);n.push(f),i+=f}let s=[],a=(e%r+r)%r,o=0,l=!0,u=a;for(;u>t[o];)u-=t[o],o=(o+1)%t.length,l=!l;let h=t[o]-u,p=0;for(;p<i;){let d=Math.min(h,i-p);if(l&&d>1e-4){let f=j(c,p/i,(p+d)/i);s.push(...f)}p+=d,o=(o+1)%t.length,l=!l,h=t[o]}return s}function Tt(c,t,e=0,r=0,i=0,n=0){let s=Math.min(c/2,t/2),a=Math.min(e,s),o=Math.min(r,s),l=Math.min(i,s),u=Math.min(n,s);return a===0&&o===0&&l===0&&u===0?`M 0 0 L ${c} 0 L ${c} ${t} L 0 ${t} Z`:[`M ${a} 0`,`L ${c-o} 0`,o>0?`Q ${c} 0 ${c} ${o}`:`L ${c} 0`,`L ${c} ${t-l}`,l>0?`Q ${c} ${t} ${c-l} ${t}`:`L ${c} ${t}`,`L ${u} ${t}`,u>0?`Q 0 ${t} 0 ${t-u}`:`L 0 ${t}`,`L 0 ${a}`,a>0?`Q 0 0 ${a} 0`:"L 0 0","Z"].join(" ")}function zt(c,t){let e=Math.min(c,t)/2,r=c/2,i=t/2,n=e*.5522847498;return[`M ${r} ${i-e}`,`C ${r+n} ${i-e} ${r+e} ${i-n} ${r+e} ${i}`,`C ${r+e} ${i+n} ${r+n} ${i+e} ${r} ${i+e}`,`C ${r-n} ${i+e} ${r-e} ${i+n} ${r-e} ${i}`,`C ${r-e} ${i-n} ${r-n} ${i-e} ${r} ${i-e}`,"Z"].join(" ")}function jt(c,t){let e=c/2,r=t/2,i=e,n=r,s=e*.5522847498,a=r*.5522847498;return[`M ${i} ${n-r}`,`C ${i+s} ${n-r} ${i+e} ${n-a} ${i+e} ${n}`,`C ${i+e} ${n+a} ${i+s} ${n+r} ${i} ${n+r}`,`C ${i-s} ${n+r} ${i-e} ${n+a} ${i-e} ${n}`,`C ${i-e} ${n-a} ${i-s} ${n-r} ${i} ${n-r}`,"Z"].join(" ")}function Ht(c,t,e=5){let r=Math.max(3,e),i=Math.min(c,t)/2,n=c/2,s=t/2,a=[];for(let o=0;o<r;o++){let l=-Math.PI/2+o*2*Math.PI/r;a.push({x:n+i*Math.cos(l),y:s+i*Math.sin(l)})}return a.map((o,l)=>`${l===0?"M":"L"} ${o.x} ${o.y}`).join(" ")+" Z"}function Nt(c,t,e=5,r=.5){let i=Math.max(3,e),n=Math.min(c,t)/2,s=n*Math.max(.01,Math.min(.99,r)),a=c/2,o=t/2,l=[];for(let u=0;u<i*2;u++){let h=-Math.PI/2+u*Math.PI/i,p=u%2===0?n:s;l.push({x:a+p*Math.cos(h),y:o+p*Math.sin(h)})}return l.map((u,h)=>`${h===0?"M":"L"} ${u.x} ${u.y}`).join(" ")+" Z"}function qt(c,t,e=40,r=40,i=20){let n=Math.min(e,t),s=Math.min(r,c),a=Math.min(i,n),o=t/2;return[`M 0 ${o-a/2}`,`L ${c-s} ${o-a/2}`,`L ${c-s} ${o-n/2}`,`L ${c} ${o}`,`L ${c-s} ${o+n/2}`,`L ${c-s} ${o+a/2}`,`L 0 ${o+a/2}`,"Z"].join(" ")}function lt(c){let{shapeType:t,width:e,height:r}=c;switch(t){case"rect":return Tt(e,r,c.cornerRadius??0,c.cornerRadius??0,c.cornerRadius??0,c.cornerRadius??0);case"circle":return zt(e,r);case"ellipse":return jt(e,r);case"polygon":return Ht(e,r,c.polygonSides??5);case"star":return Nt(e,r,c.starPoints??5,c.starInnerRadiusRatio??.5);case"arrow":return qt(e,r,c.arrowHeadWidth??40,c.arrowHeadLength??40,c.arrowShaftWidth??20);case"path":return c.path??"";default:return""}}function kt(c){if(c.length<3)return[];if(c.length===3)return[c[0],c[1],c[2]];let t=[...c],e=t[t.length-1],r=t[0];if(Math.hypot(e.x-r.x,e.y-r.y)<1e-5&&t.pop(),t.length<3)return[];let i=0;for(let h=0;h<t.length;h++){let p=(h+1)%t.length;i+=t[h].x*t[p].y-t[p].x*t[h].y}i<0&&t.reverse();let n=(h,p,d,f)=>{let m=(d.x-p.x)*(h.y-p.y)-(d.y-p.y)*(h.x-p.x),y=(f.x-d.x)*(h.y-d.y)-(f.y-d.y)*(h.x-d.x),g=(p.x-f.x)*(h.y-f.y)-(p.y-f.y)*(h.x-f.x);return m>=-1e-6&&y>=-1e-6&&g>=-1e-6},s=(h,p,d,f)=>{if((p.x-h.x)*(d.y-h.y)-(p.y-h.y)*(d.x-h.x)<=1e-7)return!1;for(let y of f)if(!(y===h||y===p||y===d)&&n(y,h,p,d))return!1;return!0},a=[],o=[...t],l=0,u=o.length*o.length*2;for(;o.length>3&&l<u;){l++;let h=!1;for(let p=0;p<o.length;p++){let d=o[(p-1+o.length)%o.length],f=o[p],m=o[(p+1)%o.length];if(s(d,f,m,o)){a.push(d,f,m),o.splice(p,1),h=!0;break}}h||(a.push(o[0],o[1],o[2]),o.splice(1,1))}return o.length===3&&a.push(o[0],o[1],o[2]),a}function Ft(c){let{shapeType:t,width:e,height:r}=c;if(t==="rect"){let i=c.cornerRadius??0;if(i<=0)return new Float32Array([0,0,e,0,e,r,0,0,e,r,0,r]);let n=Tt(e,r,i,i,i,i),a=z(n).map(u=>u.p0),o=kt(a),l=new Float32Array(o.length*2);for(let u=0;u<o.length;u++)l[u*2]=o[u].x,l[u*2+1]=o[u].y;return l}if(t==="circle"||t==="ellipse"){let i=e/2,n=r/2,s=t==="circle"?Math.min(e,r)/2:e/2,a=t==="circle"?s:r/2,o=48,l=new Float32Array(o*3*2),u=0;for(let h=0;h<o;h++){let p=h*2*Math.PI/o,d=(h+1)*2*Math.PI/o;l[u++]=i,l[u++]=n,l[u++]=i+s*Math.cos(p),l[u++]=n+a*Math.sin(p),l[u++]=i+s*Math.cos(d),l[u++]=n+a*Math.sin(d)}return l}if(t==="polygon"){let i=Math.max(3,c.polygonSides??5),n=Math.min(e,r)/2,s=e/2,a=r/2,o=new Float32Array(i*3*2),l=0;for(let u=0;u<i;u++){let h=-Math.PI/2+u*2*Math.PI/i,p=-Math.PI/2+(u+1)*2*Math.PI/i;o[l++]=s,o[l++]=a,o[l++]=s+n*Math.cos(h),o[l++]=a+n*Math.sin(h),o[l++]=s+n*Math.cos(p),o[l++]=a+n*Math.sin(p)}return o}if(t==="star"){let i=Math.max(3,c.starPoints??5),n=Math.min(e,r)/2,s=n*Math.max(.01,Math.min(.99,c.starInnerRadiusRatio??.5)),a=e/2,o=r/2,l=i*2,u=new Float32Array(l*3*2),h=0;for(let p=0;p<l;p++){let d=-Math.PI/2+p*Math.PI/i,f=-Math.PI/2+(p+1)*Math.PI/i,m=p%2===0?n:s,y=(p+1)%2===0?n:s;u[h++]=a,u[h++]=o,u[h++]=a+m*Math.cos(d),u[h++]=o+m*Math.sin(d),u[h++]=a+y*Math.cos(f),u[h++]=o+y*Math.sin(f)}return u}if(t==="arrow"){let i=Math.min(c.arrowHeadWidth??40,r),n=Math.min(c.arrowHeadLength??40,e),s=Math.min(c.arrowShaftWidth??20,i),a=r/2,o=0,l=e-n,u=e,h=a-s/2,p=a+s/2,d=a-i/2,f=a+i/2;return new Float32Array([o,h,l,h,l,p,o,h,l,p,o,p,l,d,u,a,l,f])}if(t==="path"&&c.path){let i=z(c.path);if(i.length===0)return new Float32Array(0);let n=i.map(o=>o.p0),s=kt(n),a=new Float32Array(s.length*2);for(let o=0;o<s.length;o++)a[o*2]=s[o].x,a[o*2+1]=s[o].y;return a}return new Float32Array(0)}x();x();var _t=`
|
|
186
|
+
`,ut=class{textures=[];texturesByKey=new Map;index=0;getTexture(t,e,r,i,n){let s=new Set(Array.isArray(n)?n:n?[n]:[]),a=`${e}x${r}:${i}`,o=this.texturesByKey.get(a);if(o)for(let u=0;u<o.length;u++){let h=o[u];if(!s.has(h)){o.splice(u,1),o.unshift(h);let p=this.textures.indexOf(h);return p>=this.index&&(this.textures.splice(p,1),this.textures.splice(this.index,0,h),this.index++),h}}let c=t.createTexture({size:[e,r],format:i,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_SRC});return this.texturesByKey.has(a)||this.texturesByKey.set(a,[]),this.texturesByKey.get(a).unshift(c),this.textures.splice(this.index,0,c),this.index++,c}reset(){this.index=0}destroy(){for(let t of this.textures)t.destroy();this.textures=[],this.texturesByKey.clear(),this.index=0}},Wt={normal:0,"source-over":0,multiply:1,screen:2,overlay:3,darken:4,lighten:5,"color-dodge":6,"color-burn":7,"hard-light":8,"soft-light":9,difference:10,exclusion:11,hue:12,saturation:13,color:14,luminosity:15,"mask-in":16,"destination-in":16,"mask-out":17,"destination-out":17,"source-in":18,"source-out":19,"source-atop":20,"destination-over":21,"destination-atop":22,lighter:23,copy:24,xor:25,"luma-in":26,"luma-out":27},E=class{device;compositeUniformLayout;dualTextureLayout;motionBlurUniformLayout;singleTextureLayout;compositePipeline;motionBlurPipeline;compositePool;motionBlurPool;texturePool;compositeUniformBindGroupCache=new U;motionBlurUniformBindGroupCache=new U;compositeData=new Uint32Array(4);motionBlurData=new Float32Array(8);constructor(t,e){this.device=t,this.compositePool=new G(1024,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.motionBlurPool=new G(1024,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.texturePool=new ut,this.compositeUniformLayout=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),this.dualTextureLayout=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:2,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]}),this.motionBlurUniformLayout=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,buffer:{type:"uniform"}}]}),this.singleTextureLayout=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]});let r=t.createPipelineLayout({bindGroupLayouts:[this.compositeUniformLayout,this.dualTextureLayout]}),i=t.createShaderModule({label:"composite.wgsl",code:Dt});this.compositePipeline=t.createRenderPipeline({label:"CompositePipeline",layout:r,vertex:{module:i,entryPoint:"vs"},fragment:{module:i,entryPoint:"fs",targets:[{format:e}]},primitive:{topology:"triangle-strip"}});let n=t.createPipelineLayout({bindGroupLayouts:[this.motionBlurUniformLayout,this.singleTextureLayout]}),s=t.createShaderModule({label:"motion-blur-2d.wgsl",code:Vt});this.motionBlurPipeline=t.createRenderPipeline({label:"MotionBlurPipeline",layout:n,vertex:{module:s,entryPoint:"vs"},fragment:{module:s,entryPoint:"fs",targets:[{format:e}]},primitive:{topology:"triangle-list"}})}resetPools(){this.compositePool.reset(),this.motionBlurPool.reset(),this.texturePool.reset()}getTexture(t,e,r,i,n){return this.texturePool.getTexture(t,e,r,i,n)}getBuffer(t,e){return this.compositePool.getBuffer(t,e)}composite(t,e,r,i,n,s,a,o){let c=r.getSampler(this.device),u=[i,n];o&&(Array.isArray(o)?u.push(...o):u.push(o));let h=this.texturePool.getTexture(this.device,i.width,i.height,a,u);this.compositeData[0]=Wt[s]??0;let p=this.compositePool.getBuffer(this.device,this.compositeData),d=t.beginRenderPass({colorAttachments:[{view:h.createView(),loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});d.setPipeline(this.compositePipeline);let f=this.compositeUniformBindGroupCache.getBindGroup(this.device,this.compositeUniformLayout,p);d.setBindGroup(0,f);let m=e.getCompositeBindGroup(this.device,this.dualTextureLayout,i,n,c);return d.setBindGroup(1,m),d.draw(4),d.end(),h}applyMotionBlur(t,e,r,i,n,s,a=180,o=16,c,u){if(Math.abs(n)<.1&&Math.abs(s)<.1||a<=0)return i;let h=r.getSampler(this.device),p=[i];u&&(Array.isArray(u)?p.push(...u):p.push(u));let d=this.texturePool.getTexture(this.device,i.width,i.height,c,p);this.motionBlurData[0]=n/i.width,this.motionBlurData[1]=s/i.height,this.motionBlurData[2]=0,this.motionBlurData[3]=0,this.motionBlurData[4]=a/360,this.motionBlurData[5]=o,this.motionBlurData[6]=i.width,this.motionBlurData[7]=i.height;let f=this.motionBlurPool.getBuffer(this.device,this.motionBlurData),m=t.beginRenderPass({colorAttachments:[{view:d.createView(),loadOp:"clear",storeOp:"store",clearValue:{r:0,g:0,b:0,a:0}}]});m.setPipeline(this.motionBlurPipeline);let y=this.motionBlurUniformBindGroupCache.getBindGroup(this.device,this.motionBlurUniformLayout,f);return m.setBindGroup(0,y),m.setBindGroup(1,e.getBindGroup(this.device,this.singleTextureLayout,i,h)),m.draw(3),m.end(),d}destroy(){this.compositePool.destroy(),this.motionBlurPool.destroy(),this.texturePool.destroy(),this.compositeUniformBindGroupCache.destroy(),this.motionBlurUniformBindGroupCache.destroy()}};x();x();var V=class{cache=new WeakMap;dualCache=new WeakMap;getBindGroup(t,e,r,i){let n=this.cache.get(r);n||(n=new Map,this.cache.set(r,n));let s=n.get(e);return s||(s=t.createBindGroup({layout:e,entries:[{binding:0,resource:r.createView()},{binding:1,resource:i}]}),n.set(e,s)),s}getCompositeBindGroup(t,e,r,i,n){let s=this.dualCache.get(r);s||(s=new WeakMap,this.dualCache.set(r,s));let a=s.get(i);a||(a=new Map,s.set(i,a));let o=a.get(e);return o||(o=t.createBindGroup({layout:e,entries:[{binding:0,resource:r.createView()},{binding:1,resource:i.createView()},{binding:2,resource:n}]}),a.set(e,o)),o}destroy(){this.cache=new WeakMap,this.dualCache=new WeakMap}};x();var W=class{scissorStack=[];stencilStack=[];pushScissor(t,e,r){this.scissorStack.push({rect:t,surfaceWidth:e,surfaceHeight:r})}popScissor(){this.scissorStack.length>0&&this.scissorStack.pop()}saveScissors(){return[...this.scissorStack]}restoreScissors(t){this.scissorStack=[...t]}clearScissors(){this.scissorStack=[]}getCurrentScissor(t,e){let r=this.scissorStack[this.scissorStack.length-1];if(r&&!(t!==void 0&&e!==void 0&&r.surfaceWidth!==void 0&&r.surfaceHeight!==void 0&&r.surfaceWidth!==0&&r.surfaceHeight!==0&&(r.surfaceWidth!==t||r.surfaceHeight!==e)))return r.rect}pushStencilClip(t){this.stencilStack.push(t)}popStencilClip(){this.stencilStack.length>0&&this.stencilStack.pop()}getCurrentStencil(){return this.stencilStack[this.stencilStack.length-1]}applyScissorToPass(t,e,r){let i=this.getCurrentScissor(e,r);if(!i){t.setScissorRect(0,0,Math.max(1,Math.floor(e)),Math.max(1,Math.floor(r)));return}let n=Math.max(0,Math.floor(i.x)),s=Math.max(0,Math.floor(i.y)),a=Math.min(e,Math.ceil(i.x+i.width)),o=Math.min(r,Math.ceil(i.y+i.height)),c=Math.max(0,a-n),u=Math.max(0,o-s);if(!Number.isFinite(n)||!Number.isFinite(s)||!Number.isFinite(c)||!Number.isFinite(u)||c<=0||u<=0)t.setScissorRect(0,0,1,1);else{let h=Math.min(c,Math.max(0,e-n)),p=Math.min(u,Math.max(0,r-s));h<=0||p<=0?t.setScissorRect(0,0,1,1):t.setScissorRect(Math.floor(n),Math.floor(s),Math.floor(h),Math.floor(p))}}destroy(){this.scissorStack=[],this.stencilStack=[]}};x();function Ct(l,t,e,r,i=24){let n=[],s=l;for(let a=1;a<=i;a++){let o=a/i,c=1-o,u=c*c,h=u*c,p=o*o,d=p*o,f={x:h*l.x+3*u*o*t.x+3*c*p*e.x+d*r.x,y:h*l.y+3*u*o*t.y+3*c*p*e.y+d*r.y};n.push({p0:s,p1:f}),s=f}return n}function kt(l,t,e,r=16){let i=[],n=l;for(let s=1;s<=r;s++){let a=s/r,o=1-a,c=o*o,u=a*a,h={x:c*l.x+2*o*a*t.x+u*e.x,y:c*l.y+2*o*a*t.y+u*e.y};i.push({p0:n,p1:h}),n=h}return i}function zt(l,t,e,r,i,n,s){let a=Math.abs(t),o=Math.abs(e);if(a<1e-9||o<1e-9)return[{p0:l,p1:s}];if(Math.hypot(s.x-l.x,s.y-l.y)<1e-9)return[];let c=r*Math.PI/180,u=Math.cos(c),h=Math.sin(c),p=(l.x-s.x)/2,d=(l.y-s.y)/2,f=u*p+h*d,m=-h*p+u*d,y=f*f/(a*a)+m*m/(o*o);y>1&&(a*=Math.sqrt(y),o*=Math.sqrt(y));let g=a*a*o*o-a*a*m*m-o*o*f*f,v=a*a*m*m+o*o*f*f,b=(i===n?-1:1)*Math.sqrt(Math.max(0,g/v)),P=b*a*m/o,S=-b*o*f/a,M=u*P-h*S+(l.x+s.x)/2,F=h*P+u*S+(l.y+s.y)/2,tt=(k,_,R,L)=>Math.atan2(k*L-_*R,k*R+_*L),et=tt(1,0,(f-P)/a,(m-S)/o),B=tt((f-P)/a,(m-S)/o,(-f-P)/a,(-m-S)/o);!n&&B>0&&(B-=2*Math.PI),n&&B<0&&(B+=2*Math.PI);let rt=Math.max(4,Math.ceil(Math.abs(B)/(2*Math.PI)*64)),ft=[],dt=l;for(let k=1;k<=rt;k++){let _=et+B*k/rt,R=a*Math.cos(_),L=o*Math.sin(_),mt=k===rt?s:{x:u*R-h*L+M,y:h*R+u*L+F};ft.push({p0:dt,p1:mt}),dt=mt}return ft}function z(l){let t=[];if(!l||typeof l!="string")return t;let e=[],r=/([a-df-z])|([-+]?(?:\d*\.\d+|\d+)(?:[eE][-+]?\d+)?)/gi,i;for(;(i=r.exec(l))!==null;)i[1]?e.push(i[1]):i[2]&&e.push(parseFloat(i[2]));let n=0,s={x:0,y:0},a={x:0,y:0},o=null,c=null;for(;n<e.length;){let u=e[n++];if(typeof u!="string")continue;let h=u,p=h===h.toLowerCase(),d=h.toUpperCase(),f=()=>n<e.length&&typeof e[n]=="number"?e[n++]:0;switch(d){case"M":{let m=!0;for(;n<e.length&&typeof e[n]=="number";){let y=f(),g=f();p&&(y+=s.x,g+=s.y),m?(s={x:y,y:g},a={x:y,y:g},m=!1):(t.push({p0:s,p1:{x:y,y:g}}),s={x:y,y:g})}o=null,c=null;break}case"L":{for(;n<e.length&&typeof e[n]=="number";){let m=f(),y=f();p&&(m+=s.x,y+=s.y),t.push({p0:s,p1:{x:m,y}}),s={x:m,y}}o=null,c=null;break}case"H":{for(;n<e.length&&typeof e[n]=="number";){let m=f();p&&(m+=s.x);let y={x:m,y:s.y};t.push({p0:s,p1:y}),s=y}o=null,c=null;break}case"V":{for(;n<e.length&&typeof e[n]=="number";){let m=f();p&&(m+=s.y);let y={x:s.x,y:m};t.push({p0:s,p1:y}),s=y}o=null,c=null;break}case"C":{for(;n<e.length&&typeof e[n]=="number";){let m=f(),y=f(),g=f(),v=f(),b=f(),P=f();p&&(m+=s.x,y+=s.y,g+=s.x,v+=s.y,b+=s.x,P+=s.y);let S={x:m,y},M={x:g,y:v},F={x:b,y:P};t.push(...Ct(s,S,M,F)),s=F,o=M}c=null;break}case"S":{for(;n<e.length&&typeof e[n]=="number";){let m=f(),y=f(),g=f(),v=f();p&&(m+=s.x,y+=s.y,g+=s.x,v+=s.y);let b;o?b={x:2*s.x-o.x,y:2*s.y-o.y}:b={x:s.x,y:s.y};let P={x:m,y},S={x:g,y:v};t.push(...Ct(s,b,P,S)),s=S,o=P}c=null;break}case"Q":{for(;n<e.length&&typeof e[n]=="number";){let m=f(),y=f(),g=f(),v=f();p&&(m+=s.x,y+=s.y,g+=s.x,v+=s.y);let b={x:m,y},P={x:g,y:v};t.push(...kt(s,b,P)),s=P,c=b}o=null;break}case"T":{for(;n<e.length&&typeof e[n]=="number";){let m=f(),y=f();p&&(m+=s.x,y+=s.y);let g;c?g={x:2*s.x-c.x,y:2*s.y-c.y}:g={x:s.x,y:s.y};let v={x:m,y};t.push(...kt(s,g,v)),s=v,c=g}o=null;break}case"A":{for(;n<e.length&&typeof e[n]=="number";){let m=f(),y=f(),g=f(),v=f()!==0,b=f()!==0,P=f(),S=f();p&&(P+=s.x,S+=s.y);let M={x:P,y:S};t.push(...zt(s,m,y,g,v,b,M)),s=M}o=null,c=null;break}case"Z":{Math.hypot(s.x-a.x,s.y-a.y)>1e-5&&t.push({p0:s,p1:a}),s=a,o=null,c=null;break}default:break}}return t}function j(l,t,e,r=0){if(l.length===0)return[];let i=[],n=0;for(let u of l){let h=Math.hypot(u.p1.x-u.p0.x,u.p1.y-u.p0.y);i.push(h),n+=h}if(n<1e-6)return[];let s=Math.abs(r)>1?r%360/360:r,a=(t+s)%1,o=(e+s)%1;a<0&&(a+=1),o<0&&(o+=1);let c=(u,h)=>{if(u>=h)return[];let p=[],d=0;for(let f=0;f<l.length;f++){let m=l[f],y=i[f],g=d,v=d+y;if(d=v,v<=u||g>=h||y<1e-6)continue;let b=Math.max(0,(u-g)/y),P=Math.min(1,(h-g)/y);if(P>b){let S={x:m.p0.x+(m.p1.x-m.p0.x)*b,y:m.p0.y+(m.p1.y-m.p0.y)*b},M={x:m.p0.x+(m.p1.x-m.p0.x)*P,y:m.p0.y+(m.p1.y-m.p0.y)*P};p.push({p0:S,p1:M})}}return p};if(t===0&&e===1&&r===0)return[...l];if(Math.abs(a-o)<1e-5)return[];if(a<=o)return c(a*n,o*n);{let u=c(a*n,n),h=c(0,o*n);return[...u,...h]}}function lt(l,t,e=0){if(l.length===0||t.length===0)return l;let r=0;for(let d of t)r+=d;if(r<1e-5)return l;let i=0,n=[];for(let d of l){let f=Math.hypot(d.p1.x-d.p0.x,d.p1.y-d.p0.y);n.push(f),i+=f}let s=[],a=(e%r+r)%r,o=0,c=!0,u=a;for(;u>t[o];)u-=t[o],o=(o+1)%t.length,c=!c;let h=t[o]-u,p=0;for(;p<i;){let d=Math.min(h,i-p);if(c&&d>1e-4){let f=j(l,p/i,(p+d)/i);s.push(...f)}p+=d,o=(o+1)%t.length,c=!c,h=t[o]}return s}function Ft(l,t,e=0,r=0,i=0,n=0){let s=Math.min(l/2,t/2),a=Math.min(e,s),o=Math.min(r,s),c=Math.min(i,s),u=Math.min(n,s);return a===0&&o===0&&c===0&&u===0?`M 0 0 L ${l} 0 L ${l} ${t} L 0 ${t} Z`:[`M ${a} 0`,`L ${l-o} 0`,o>0?`Q ${l} 0 ${l} ${o}`:`L ${l} 0`,`L ${l} ${t-c}`,c>0?`Q ${l} ${t} ${l-c} ${t}`:`L ${l} ${t}`,`L ${u} ${t}`,u>0?`Q 0 ${t} 0 ${t-u}`:`L 0 ${t}`,`L 0 ${a}`,a>0?`Q 0 0 ${a} 0`:"L 0 0","Z"].join(" ")}function jt(l,t){let e=Math.min(l,t)/2,r=l/2,i=t/2,n=e*.5522847498;return[`M ${r} ${i-e}`,`C ${r+n} ${i-e} ${r+e} ${i-n} ${r+e} ${i}`,`C ${r+e} ${i+n} ${r+n} ${i+e} ${r} ${i+e}`,`C ${r-n} ${i+e} ${r-e} ${i+n} ${r-e} ${i}`,`C ${r-e} ${i-n} ${r-n} ${i-e} ${r} ${i-e}`,"Z"].join(" ")}function Ht(l,t){let e=l/2,r=t/2,i=e,n=r,s=e*.5522847498,a=r*.5522847498;return[`M ${i} ${n-r}`,`C ${i+s} ${n-r} ${i+e} ${n-a} ${i+e} ${n}`,`C ${i+e} ${n+a} ${i+s} ${n+r} ${i} ${n+r}`,`C ${i-s} ${n+r} ${i-e} ${n+a} ${i-e} ${n}`,`C ${i-e} ${n-a} ${i-s} ${n-r} ${i} ${n-r}`,"Z"].join(" ")}function Nt(l,t,e=5){let r=Math.max(3,e),i=Math.min(l,t)/2,n=l/2,s=t/2,a=[];for(let o=0;o<r;o++){let c=-Math.PI/2+o*2*Math.PI/r;a.push({x:n+i*Math.cos(c),y:s+i*Math.sin(c)})}return a.map((o,c)=>`${c===0?"M":"L"} ${o.x} ${o.y}`).join(" ")+" Z"}function qt(l,t,e=5,r=.5){let i=Math.max(3,e),n=Math.min(l,t)/2,s=n*Math.max(.01,Math.min(.99,r)),a=l/2,o=t/2,c=[];for(let u=0;u<i*2;u++){let h=-Math.PI/2+u*Math.PI/i,p=u%2===0?n:s;c.push({x:a+p*Math.cos(h),y:o+p*Math.sin(h)})}return c.map((u,h)=>`${h===0?"M":"L"} ${u.x} ${u.y}`).join(" ")+" Z"}function Qt(l,t,e=40,r=40,i=20){let n=Math.min(e,t),s=Math.min(r,l),a=Math.min(i,n),o=t/2;return[`M 0 ${o-a/2}`,`L ${l-s} ${o-a/2}`,`L ${l-s} ${o-n/2}`,`L ${l} ${o}`,`L ${l-s} ${o+n/2}`,`L ${l-s} ${o+a/2}`,`L 0 ${o+a/2}`,"Z"].join(" ")}function ct(l){let{shapeType:t,width:e,height:r}=l;switch(t){case"rect":return Ft(e,r,l.cornerRadius??0,l.cornerRadius??0,l.cornerRadius??0,l.cornerRadius??0);case"circle":return jt(e,r);case"ellipse":return Ht(e,r);case"polygon":return Nt(e,r,l.polygonSides??5);case"star":return qt(e,r,l.starPoints??5,l.starInnerRadiusRatio??.5);case"arrow":return Qt(e,r,l.arrowHeadWidth??40,l.arrowHeadLength??40,l.arrowShaftWidth??20);case"path":return l.path??"";default:return""}}function Tt(l){if(l.length<3)return[];if(l.length===3)return[l[0],l[1],l[2]];let t=[...l],e=t[t.length-1],r=t[0];if(Math.hypot(e.x-r.x,e.y-r.y)<1e-5&&t.pop(),t.length<3)return[];let i=0;for(let h=0;h<t.length;h++){let p=(h+1)%t.length;i+=t[h].x*t[p].y-t[p].x*t[h].y}i<0&&t.reverse();let n=(h,p,d,f)=>{let m=(d.x-p.x)*(h.y-p.y)-(d.y-p.y)*(h.x-p.x),y=(f.x-d.x)*(h.y-d.y)-(f.y-d.y)*(h.x-d.x),g=(p.x-f.x)*(h.y-f.y)-(p.y-f.y)*(h.x-f.x);return m>=-1e-6&&y>=-1e-6&&g>=-1e-6},s=(h,p,d,f)=>{if((p.x-h.x)*(d.y-h.y)-(p.y-h.y)*(d.x-h.x)<=1e-7)return!1;for(let y of f)if(!(y===h||y===p||y===d)&&n(y,h,p,d))return!1;return!0},a=[],o=[...t],c=0,u=o.length*o.length*2;for(;o.length>3&&c<u;){c++;let h=!1;for(let p=0;p<o.length;p++){let d=o[(p-1+o.length)%o.length],f=o[p],m=o[(p+1)%o.length];if(s(d,f,m,o)){a.push(d,f,m),o.splice(p,1),h=!0;break}}h||(a.push(o[0],o[1],o[2]),o.splice(1,1))}return o.length===3&&a.push(o[0],o[1],o[2]),a}function _t(l){let{shapeType:t,width:e,height:r}=l;if(t==="rect"){let i=l.cornerRadius??0;if(i<=0)return new Float32Array([0,0,e,0,e,r,0,0,e,r,0,r]);let n=Ft(e,r,i,i,i,i),a=z(n).map(u=>u.p0),o=Tt(a),c=new Float32Array(o.length*2);for(let u=0;u<o.length;u++)c[u*2]=o[u].x,c[u*2+1]=o[u].y;return c}if(t==="circle"||t==="ellipse"){let i=e/2,n=r/2,s=t==="circle"?Math.min(e,r)/2:e/2,a=t==="circle"?s:r/2,o=48,c=new Float32Array(o*3*2),u=0;for(let h=0;h<o;h++){let p=h*2*Math.PI/o,d=(h+1)*2*Math.PI/o;c[u++]=i,c[u++]=n,c[u++]=i+s*Math.cos(p),c[u++]=n+a*Math.sin(p),c[u++]=i+s*Math.cos(d),c[u++]=n+a*Math.sin(d)}return c}if(t==="polygon"){let i=Math.max(3,l.polygonSides??5),n=Math.min(e,r)/2,s=e/2,a=r/2,o=new Float32Array(i*3*2),c=0;for(let u=0;u<i;u++){let h=-Math.PI/2+u*2*Math.PI/i,p=-Math.PI/2+(u+1)*2*Math.PI/i;o[c++]=s,o[c++]=a,o[c++]=s+n*Math.cos(h),o[c++]=a+n*Math.sin(h),o[c++]=s+n*Math.cos(p),o[c++]=a+n*Math.sin(p)}return o}if(t==="star"){let i=Math.max(3,l.starPoints??5),n=Math.min(e,r)/2,s=n*Math.max(.01,Math.min(.99,l.starInnerRadiusRatio??.5)),a=e/2,o=r/2,c=i*2,u=new Float32Array(c*3*2),h=0;for(let p=0;p<c;p++){let d=-Math.PI/2+p*Math.PI/i,f=-Math.PI/2+(p+1)*Math.PI/i,m=p%2===0?n:s,y=(p+1)%2===0?n:s;u[h++]=a,u[h++]=o,u[h++]=a+m*Math.cos(d),u[h++]=o+m*Math.sin(d),u[h++]=a+y*Math.cos(f),u[h++]=o+y*Math.sin(f)}return u}if(t==="arrow"){let i=Math.min(l.arrowHeadWidth??40,r),n=Math.min(l.arrowHeadLength??40,e),s=Math.min(l.arrowShaftWidth??20,i),a=r/2,o=0,c=e-n,u=e,h=a-s/2,p=a+s/2,d=a-i/2,f=a+i/2;return new Float32Array([o,h,c,h,c,p,o,h,c,p,o,p,c,d,u,a,c,f])}if(t==="path"&&l.path){let i=z(l.path);if(i.length===0)return new Float32Array(0);let n=i.map(o=>o.p0),s=Tt(n),a=new Float32Array(s.length*2);for(let o=0;o<s.length;o++)a[o*2]=s[o].x,a[o*2+1]=s[o].y;return a}return new Float32Array(0)}x();x();var Rt=`
|
|
187
187
|
struct Uniforms {
|
|
188
188
|
transformCol0 : vec4<f32>,
|
|
189
189
|
transformCol1 : vec4<f32>,
|
|
@@ -260,7 +260,7 @@ fn sdSegmentWithCap(p: vec2<f32>, a: vec2<f32>, b: vec2<f32>, radius: f32, capTy
|
|
|
260
260
|
|
|
261
261
|
return vec4<f32>(u.color.rgb * alpha, alpha);
|
|
262
262
|
}
|
|
263
|
-
`;var H=class{device;pipeline;maxPipeline;uniformLayout;uniformPool;vertexPool;uniformBindGroupCache=new U;scratchData=new Float32Array(28);constructor(t,e){this.device=t,this.uniformPool=new G(4096,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.vertexPool=new G(4096,GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST);let r=t.createShaderModule({label:"path.wgsl",code:
|
|
263
|
+
`;var H=class{device;pipeline;maxPipeline;uniformLayout;uniformPool;vertexPool;uniformBindGroupCache=new U;scratchData=new Float32Array(28);constructor(t,e){this.device=t,this.uniformPool=new G(4096,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.vertexPool=new G(4096,GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST);let r=t.createShaderModule({label:"path.wgsl",code:Rt});this.uniformLayout=C(t),this.pipeline=T(t,{label:"PathPipeline",module:r,uniformLayout:this.uniformLayout,format:e,topology:"triangle-strip"}),this.maxPipeline=T(t,{label:"PathPipeline.max",module:r,uniformLayout:this.uniformLayout,format:e,topology:"triangle-strip",blend:{color:{srcFactor:"one",dstFactor:"one",operation:"max"},alpha:{srcFactor:"one",dstFactor:"one",operation:"max"}}})}resetPools(){this.uniformPool.reset(),this.vertexPool.reset()}drawPath(t,e,r,i,n,s,a,o){let c=z(r);if(c.length===0||((o?.trimStart!==void 0||o?.trimEnd!==void 0||o?.trimOffset!==void 0)&&(c=j(c,o.trimStart??0,o.trimEnd??1,o.trimOffset??0)),o?.strokeDashArray&&o.strokeDashArray.length>0&&(c=lt(c,o.strokeDashArray,o.strokeDashOffset??0)),c.length===0))return;let u=D(i),h=o?.opacity??1,p=0;o?.strokeLineCap==="butt"?p=1:o?.strokeLineCap==="square"&&(p=2);for(let d of c)this.drawSegment(t,e,d.p0,d.p1,u,n,p,s,a,h,o)}drawSegments(t,e,r,i,n,s,a,o){let c=r;if((o?.trimStart!==void 0||o?.trimEnd!==void 0||o?.trimOffset!==void 0)&&(c=j(c,o.trimStart??0,o.trimEnd??1,o.trimOffset??0)),o?.strokeDashArray&&o.strokeDashArray.length>0&&(c=lt(c,o.strokeDashArray,o.strokeDashOffset??0)),c.length===0)return;let u=D(i),h=o?.opacity??1,p=0;o?.strokeLineCap==="butt"?p=1:o?.strokeLineCap==="square"&&(p=2);for(let d of c)this.drawSegment(t,e,d.p0,d.p1,u,n,p,s,a,h,o)}drawSegment(t,e,r,i,n,s,a,o,c,u,h){let p=this.scratchData;e.packIntoBuffer(p,u,o,c,h?.transform),p[15]=s,p[16]=n.r,p[17]=n.g,p[18]=n.b,p[19]=n.a,p[20]=a,p[21]=0,p[22]=0,p[23]=0,p[24]=r.x,p[25]=r.y,p[26]=i.x,p[27]=i.y;let d=this.uniformPool.getBuffer(this.device,p),f=i.x-r.x,m=i.y-r.y,y=Math.sqrt(f*f+m*m);if(y<1e-6)return;let g=s*.5+2,v=f/y*g,b=m/y*g,P=-b,S=v,M=new Float32Array([r.x-v-P,r.y-b-S,r.x-v+P,r.y-b+S,i.x+v-P,i.y+b-S,i.x+v+P,i.y+b+S]),F=this.vertexPool.getBuffer(this.device,M),et=h?.blendMode==="max"?this.maxPipeline:this.pipeline;t.setPipeline(et);let B=this.uniformBindGroupCache.getBindGroup(this.device,this.uniformLayout,d);t.setBindGroup(0,B),t.setVertexBuffer(0,F),t.draw(4)}destroy(){this.uniformPool.destroy(),this.vertexPool.destroy(),this.uniformBindGroupCache.destroy()}};x();x();var Lt=`
|
|
264
264
|
struct Uniforms {
|
|
265
265
|
transformCol0 : vec4<f32>,
|
|
266
266
|
transformCol1 : vec4<f32>,
|
|
@@ -314,7 +314,7 @@ struct VSOut {
|
|
|
314
314
|
return color * opacity;
|
|
315
315
|
}
|
|
316
316
|
}
|
|
317
|
-
`;var N=class{buffers=[];index=0;size;usage;constructor(t,e){this.size=t,this.usage=e}getBuffer(t,e){if(this.index>=this.buffers.length){let i=t.createBuffer({size:this.size,usage:this.usage});this.buffers.push(i)}let r=this.buffers[this.index++];return t.queue.writeBuffer(r,0,e),r}reset(){this.index=0}destroy(){for(let t of this.buffers)t.destroy();this.buffers=[]}},q=class{device;pipeline;uniformLayout;textureLayout;uniformPool;vertexPool;uniformBindGroupCache=new U;uniformData=new Float32Array(16);vertexData=new Float32Array(16);constructor(t,e){this.device=t,this.uniformPool=new N(64,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.vertexPool=new N(64,GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST);let r=t.createShaderModule({label:"quad.wgsl",code:
|
|
317
|
+
`;var N=class{buffers=[];index=0;size;usage;constructor(t,e){this.size=t,this.usage=e}getBuffer(t,e){if(this.index>=this.buffers.length){let i=t.createBuffer({size:this.size,usage:this.usage});this.buffers.push(i)}let r=this.buffers[this.index++];return t.queue.writeBuffer(r,0,e),r}reset(){this.index=0}destroy(){for(let t of this.buffers)t.destroy();this.buffers=[]}},q=class{device;pipeline;uniformLayout;textureLayout;uniformPool;vertexPool;uniformBindGroupCache=new U;uniformData=new Float32Array(16);vertexData=new Float32Array(16);constructor(t,e){this.device=t,this.uniformPool=new N(64,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.vertexPool=new N(64,GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST);let r=t.createShaderModule({label:"quad.wgsl",code:Lt});this.uniformLayout=C(t),this.textureLayout=t.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"filtering"}}]});let i=t.createPipelineLayout({bindGroupLayouts:[this.uniformLayout,this.textureLayout]});this.pipeline=t.createRenderPipeline({label:"QuadPipeline",layout:i,vertex:{module:r,entryPoint:"vs",buffers:[{arrayStride:16,attributes:[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}]}]},fragment:{module:r,entryPoint:"fs",targets:[{format:e,blend:Gt}]},primitive:{topology:"triangle-strip"}})}resetPools(){this.uniformPool.reset(),this.vertexPool.reset()}draw(t,e,r,i,n,s,a,o,c,u){let h=u?.opacity??1;r.packIntoBuffer(this.uniformData,h,o,c,u?.transform);let p=this.uniformPool.getBuffer(this.device,this.uniformData),d=s.x/i.width,f=s.y/i.height,m=(s.x+s.width)/i.width,y=(s.y+s.height)/i.height;this.vertexData[0]=a.x,this.vertexData[1]=a.y,this.vertexData[2]=d,this.vertexData[3]=f,this.vertexData[4]=a.x+a.width,this.vertexData[5]=a.y,this.vertexData[6]=m,this.vertexData[7]=f,this.vertexData[8]=a.x,this.vertexData[9]=a.y+a.height,this.vertexData[10]=d,this.vertexData[11]=y,this.vertexData[12]=a.x+a.width,this.vertexData[13]=a.y+a.height,this.vertexData[14]=m,this.vertexData[15]=y;let g=this.vertexPool.getBuffer(this.device,this.vertexData),v=this.uniformBindGroupCache.getBindGroup(this.device,this.uniformLayout,p),b=e.getBindGroup(this.device,this.textureLayout,i,n);t.setPipeline(this.pipeline),t.setBindGroup(0,v),t.setBindGroup(1,b),t.setVertexBuffer(0,g),t.draw(4)}destroy(){this.uniformPool.destroy(),this.vertexPool.destroy(),this.uniformBindGroupCache.destroy()}};x();x();var Q=`
|
|
318
318
|
struct GradientUniforms {
|
|
319
319
|
info : vec4<f32>, // x = type (0 none, 1 linear, 2 radial, 3 conic), y = stop count
|
|
320
320
|
geom : vec4<f32>, // linear: cx, cy, dir.x / len, dir.y / len; radial: cx, cy, rx, ry; conic: cx, cy, from (rad)
|
|
@@ -374,7 +374,7 @@ fn evalGradient(g: GradientUniforms, p: vec2<f32>) -> vec4<f32> {
|
|
|
374
374
|
}
|
|
375
375
|
return vec4<f32>(gradientOklabToSrgb(lab.xyz), lab.w);
|
|
376
376
|
}
|
|
377
|
-
`;x();var
|
|
377
|
+
`;x();var Ot=`
|
|
378
378
|
${Q}
|
|
379
379
|
|
|
380
380
|
struct Uniforms {
|
|
@@ -417,7 +417,7 @@ struct VSOut {
|
|
|
417
417
|
|
|
418
418
|
return vec4<f32>(outColor.rgb * alpha, alpha);
|
|
419
419
|
}
|
|
420
|
-
`;x();var
|
|
420
|
+
`;x();var Yt={linear:1,radial:2,conic:3};function Y(l){return typeof l=="string"&&l.includes("gradient(")?yt(l):null}function X(l,t,e,r){if(e.fill(0,r,r+48),!l)return;let i=xt(l.stops),n=Math.max(t.width,.001),s=Math.max(t.height,.001),a=t.x+l.center[0]*n,o=t.y+l.center[1]*s;if(e[r]=Yt[l.type],e[r+1]=i.length,e[r+4]=l.type==="linear"?t.x+n/2:a,e[r+5]=l.type==="linear"?t.y+s/2:o,l.type==="linear"){let c=l.angle*Math.PI/180,u=Math.sin(c),h=-Math.cos(c),p=Math.abs(n*u)+Math.abs(s*h);e[r+6]=u/p,e[r+7]=h/p}else if(l.type==="radial"){let c,u;l.radius?[c,u]=l.radius:[c,u]=Xt(l,a-t.x,t.x+n-a,o-t.y,t.y+s-o),e[r+6]=c,e[r+7]=u}else e[r+6]=l.from*Math.PI/180;i.forEach((c,u)=>{e[r+8+u]=c.offset}),$(i).forEach((c,u)=>{e.set(c,r+16+u*4)})}function Xt(l,t,e,r,i){let n=l.extent??"farthest-corner",s=n.startsWith("farthest"),a=s?Math.max(t,e):Math.min(t,e),o=s?Math.max(r,i):Math.min(r,i),c=l.shape==="circle";if(n.endsWith("side")){if(!c)return[a,o];let u=s?Math.max(a,o):Math.min(a,o);return[u,u]}if(c){let u=Math.hypot(a,o);return[u,u]}return[a*Math.SQRT2,o*Math.SQRT2]}var K=class{device;pipeline;uniformLayout;uniformPool;vertexPool;uniformData=new Float32Array(68);constructor(t,e){this.device=t,this.uniformPool=new G(2048,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.vertexPool=new G(8192,GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST);let r=t.createShaderModule({label:"shape-fill.wgsl",code:Ot});this.uniformLayout=C(t),this.pipeline=T(t,{label:"ShapeFillPipeline",module:r,uniformLayout:this.uniformLayout,format:e,topology:"triangle-list"})}resetPools(){this.uniformPool.reset(),this.vertexPool.reset()}draw(t,e,r,i,n,s,a,o){if(r.length<6||i.type==="none")return;let c=o?.opacity??1;e.packIntoBuffer(this.uniformData,c,s,a,o?.transform),this.uniformData[15]=0;let u=Y(i.color);if(u)this.uniformData.fill(0,16,20),X(u,n,this.uniformData,20);else{let d=D(i.color??"#ffffff");this.uniformData[16]=d.r,this.uniformData[17]=d.g,this.uniformData[18]=d.b,this.uniformData[19]=d.a,this.packTwoColorGradient(i,n,d)}let h=this.uniformPool.getBuffer(this.device,this.uniformData),p=this.vertexPool.getBuffer(this.device,r);t.setPipeline(this.pipeline),t.setBindGroup(0,this.device.createBindGroup({layout:this.uniformLayout,entries:[{binding:0,resource:{buffer:h}}]})),t.setVertexBuffer(0,p),t.draw(r.length/2)}packTwoColorGradient(t,e,r){if(this.uniformData.fill(0,20,68),t.type!=="linear"&&t.type!=="radial")return;let n=D(t.color2??t.color??"#ffffff"),s=this.uniformData;if(t.type==="linear"){let o=t.startX??e.x,c=t.startY??e.y,u=t.endX??e.x+e.width,h=t.endY??e.y+e.height,p=u-o,d=h-c,f=Math.max(p*p+d*d,1e-6);s.set([1,2,0,0,(o+u)/2,(c+h)/2,p/f,d/f],20)}else{let o=t.radius??Math.max(e.width,e.height)/2;s.set([2,2,0,0,t.cx??e.x+e.width/2,t.cy??e.y+e.height/2,o,o],20)}s[28]=0,s[29]=1;let a=$([{offset:0,color:[r.r,r.g,r.b,r.a]},{offset:1,color:[n.r,n.g,n.b,n.a]}]);s.set(a[0],36),s.set(a[1],40)}destroy(){this.uniformPool.destroy(),this.vertexPool.destroy()}};x();x();var $t=`
|
|
421
421
|
${Q}
|
|
422
422
|
|
|
423
423
|
struct Uniforms {
|
|
@@ -477,4 +477,4 @@ fn sdRoundedRect(p: vec2<f32>, b: vec2<f32>, r: f32) -> f32 {
|
|
|
477
477
|
|
|
478
478
|
return vec4<f32>(fill.rgb * alpha, alpha);
|
|
479
479
|
}
|
|
480
|
-
`;var Z=class{device;pipeline;uniformLayout;uniformPool;vertexPool;uniformBindGroupCache=new U;uniformData=new Float32Array(72);vertexData=new Float32Array(8);constructor(t,e){this.device=t,this.uniformPool=new G(1024,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.vertexPool=new G(256,GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST);let r=t.createShaderModule({label:"solid.wgsl",code
|
|
480
|
+
`;var Z=class{device;pipeline;uniformLayout;uniformPool;vertexPool;uniformBindGroupCache=new U;uniformData=new Float32Array(72);vertexData=new Float32Array(8);constructor(t,e){this.device=t,this.uniformPool=new G(1024,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST),this.vertexPool=new G(256,GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST);let r=t.createShaderModule({label:"solid.wgsl",code:$t});this.uniformLayout=C(t),this.pipeline=T(t,{label:"SolidPipeline",module:r,uniformLayout:this.uniformLayout,format:e,topology:"triangle-strip"})}resetPools(){this.uniformPool.reset(),this.vertexPool.reset()}draw(t,e,r,i,n,s,a=0,o){let c=Y(i),u=c?{r:0,g:0,b:0,a:1}:D(i),h=o?.opacity??1;e.packIntoBuffer(this.uniformData,h,n,s,o?.transform),this.uniformData[15]=a,this.uniformData[16]=u.r,this.uniformData[17]=u.g,this.uniformData[18]=u.b,this.uniformData[19]=u.a,this.uniformData[20]=r.x,this.uniformData[21]=r.y,this.uniformData[22]=r.width,this.uniformData[23]=r.height,X(c,r,this.uniformData,24);let p=this.uniformPool.getBuffer(this.device,this.uniformData),d=0;if(a>0){let P=o?.transform?e.getCurrent().multiply(o.transform):e.getCurrent(),S=Math.min(Math.hypot(P.a,P.b),Math.hypot(P.c,P.d));d=2/Math.max(S,.001)}let f=r.x-d,m=r.y-d,y=r.x+r.width+d,g=r.y+r.height+d;this.vertexData[0]=f,this.vertexData[1]=m,this.vertexData[2]=y,this.vertexData[3]=m,this.vertexData[4]=f,this.vertexData[5]=g,this.vertexData[6]=y,this.vertexData[7]=g;let v=this.vertexPool.getBuffer(this.device,this.vertexData);t.setPipeline(this.pipeline);let b=this.uniformBindGroupCache.getBindGroup(this.device,this.uniformLayout,p);t.setBindGroup(0,b),t.setVertexBuffer(0,v),t.draw(4)}destroy(){this.uniformPool.destroy(),this.vertexPool.destroy(),this.uniformBindGroupCache.destroy()}};x();var J=class{stack=[new DOMMatrix];push(t){let r=this.stack[this.stack.length-1].multiply(t);this.stack.push(r)}pop(){this.stack.length>1&&this.stack.pop()}getCurrent(){return this.stack[this.stack.length-1]}packIntoBuffer(t,e,r,i,n,s){let a=this.getCurrent();n&&(a=a.multiply(n)),t[0]=a.a,t[1]=a.b,t[2]=0,t[3]=0,t[4]=a.c,t[5]=a.d,t[6]=0,t[7]=0,t[8]=a.e,t[9]=a.f,t[10]=1,t[11]=0,t[12]=e,t[13]=r,t[14]=i,t[15]=s??0}destroy(){this.stack=[new DOMMatrix]}};function Kt(l){if(Array.isArray(l)){let r=l[3]??1;return[l[0]*r,l[1]*r,l[2]*r,r]}if("r"in l){let r=l.a??1;return{r:l.r*r,g:l.g*r,b:l.b*r,a:r}}let t=Array.from(l),e=t[3]??1;return[t[0]*e,t[1]*e,t[2]*e,e]}var At=new WeakMap;function br(l,t){let e=At.get(l);return(!e||e.format!==t||e.isDestroyed)&&(e=new pt(l,t),At.set(l,e)),e.resetPools(),e}var pt=class{device;transformStack=new J;clipStack=new W;quadPipeline;solidPipeline;shapeFillPipeline;pathPipeline;effectPipeline;slugPipeline;bindGroupCache=new V;samplerCache=new Mt;format;isDestroyed=!1;rasterDrawCount=0;surfaceWidth=0;surfaceHeight=0;lastEncoder=null;constructor(t,e){this.device=t,this.format=e,this.quadPipeline=new q(t,e),this.solidPipeline=new Z(t,e),this.shapeFillPipeline=new K(t,e),this.pathPipeline=new H(t,e),this.effectPipeline=new E(t,e),this.slugPipeline=new wt(t,e)}beginFrame(t,e,r={r:0,g:0,b:0,a:0},i,n,s="clear"){this.surfaceWidth=i,this.surfaceHeight=n,t!==this.lastEncoder&&(this.lastEncoder=t,this.resetPools());let a=t.beginRenderPass({colorAttachments:[{view:e,clearValue:Kt(r),loadOp:s,storeOp:"store"}]});return this.clipStack.applyScissorToPass(a,i,n),a}endFrame(t){}resetPools(){this.quadPipeline.resetPools(),this.solidPipeline.resetPools(),this.shapeFillPipeline.resetPools(),this.pathPipeline.resetPools(),this.effectPipeline&&this.effectPipeline.resetPools(),this.slugPipeline.resetPools(),ot.flushRetired(this.device),ot.prune(this.device)}drawTexture(t,e,r,i){let n=this.samplerCache.getSampler(this.device),s={x:0,y:0,width:e.width,height:e.height};this.rasterDrawCount++,this.quadPipeline.draw(t,this.bindGroupCache,this.transformStack,e,n,s,r,this.surfaceWidth,this.surfaceHeight,i)}drawTextureRegion(t,e,r,i,n){let s=this.samplerCache.getSampler(this.device);this.rasterDrawCount++,this.quadPipeline.draw(t,this.bindGroupCache,this.transformStack,e,s,r,i,this.surfaceWidth,this.surfaceHeight,n)}drawRect(t,e,r,i=0,n){let s=0,a=n;typeof i=="object"&&i!==null?(a=i,s=0):typeof i=="number"&&(s=i),this.rasterDrawCount++,this.solidPipeline.draw(t,this.transformStack,e,r,this.surfaceWidth,this.surfaceHeight,s,a)}drawPath(t,e,r,i,n){this.rasterDrawCount++,this.pathPipeline.drawPath(t,this.transformStack,e,r,i,this.surfaceWidth,this.surfaceHeight,n)}drawShapeFill(t,e,r,i,n){this.rasterDrawCount++,this.shapeFillPipeline.draw(t,this.transformStack,e,r,i,this.surfaceWidth,this.surfaceHeight,n)}drawShape(t,e,r,i,n){let s={x:0,y:0,width:e.width,height:e.height};if(r&&r.type!=="none"){let a=_t(e);if(a.length>0&&(this.drawShapeFill(t,a,r,s,n),(!i||!i.width||i.width<=0)&&(r.type??"solid")==="solid"&&r.color)){let o=ct(e);o&&this.drawPath(t,o,r.color,1,{...n,strokeLineCap:"round"})}}if(i&&i.width&&i.width>0&&i.color){let a=ct(e);a&&this.drawPath(t,a,i.color,i.width,{...n,strokeLineCap:i.cap,trimStart:i.trimStart,trimEnd:i.trimEnd,trimOffset:i.trimOffset,strokeDashArray:i.dashArray,strokeDashOffset:i.dashOffset})}}drawRRect(t,e,r,i){this.drawRect(t,e.rect,r,e.rx,i)}getTemporaryTexture(t,e,r){return this.effectPipeline.getTexture(this.device,t,e,this.format,r)}getTemporaryBuffer(t){return this.effectPipeline.getBuffer(this.device,t)}composite(t,e,r,i,n){return this.effectPipeline.composite(t,this.bindGroupCache,this.samplerCache,e,r,i,this.format,n)}applyMotionBlur(t,e,r,i,n=180,s=16,a){return this.effectPipeline.applyMotionBlur(t,this.bindGroupCache,this.samplerCache,e,r,i,n,s,this.format,a)}getCurrentTransform(){return this.transformStack.getCurrent()}getTransformStack(){return this.transformStack}getSurfaceWidth(){return this.surfaceWidth}getSurfaceHeight(){return this.surfaceHeight}pushIdentity(){let t=this.transformStack.getCurrent();this.pushTransform(t.inverse())}pushTransform(t){this.transformStack.push(t)}popTransform(){this.transformStack.pop()}pushScissor(t){this.clipStack.pushScissor(t,this.surfaceWidth,this.surfaceHeight)}pushScissorIntersect(t){let e=this.clipStack.getCurrentScissor(this.surfaceWidth,this.surfaceHeight);if(!e){this.pushScissor(t);return}let r=Math.max(t.x,e.x),i=Math.max(t.y,e.y),n=Math.min(t.x+t.width,e.x+e.width),s=Math.min(t.y+t.height,e.y+e.height);this.pushScissor({x:r,y:i,width:Math.max(0,n-r),height:Math.max(0,s-i)})}pushScissorLocal(t){let e=this.transformStack.getCurrent(),r=[e.transformPoint(new DOMPoint(t.x,t.y)),e.transformPoint(new DOMPoint(t.x+t.width,t.y)),e.transformPoint(new DOMPoint(t.x,t.y+t.height)),e.transformPoint(new DOMPoint(t.x+t.width,t.y+t.height))],i=r.map(h=>h.x),n=r.map(h=>h.y),s=Math.min(...i),a=Math.min(...n),o=Math.max(...i)-s,c=Math.max(...n)-a,u=this.clipStack.getCurrentScissor(this.surfaceWidth,this.surfaceHeight);if(u){let h=Math.max(s,u.x),p=Math.max(a,u.y),d=Math.min(s+o,u.x+u.width),f=Math.min(a+c,u.y+u.height);s=h,a=p,o=Math.max(0,d-h),c=Math.max(0,f-p)}this.clipStack.pushScissor({x:s,y:a,width:o,height:c},this.surfaceWidth,this.surfaceHeight)}popScissor(){this.clipStack.popScissor()}suspendScissors(){let t=this.clipStack.saveScissors();return this.clipStack.clearScissors(),t}resumeScissors(t){this.clipStack.restoreScissors(t)}pushStencilClip(t){this.clipStack.pushStencilClip(t)}popStencilClip(){this.clipStack.popStencilClip()}destroy(){this.isDestroyed=!0,this.transformStack.destroy(),this.clipStack.destroy(),this.bindGroupCache.destroy(),this.samplerCache.destroy(),this.quadPipeline.destroy(),this.solidPipeline.destroy(),this.shapeFillPipeline.destroy(),this.pathPipeline.destroy(),this.effectPipeline.destroy(),this.slugPipeline.destroy(),this.lastEncoder=null}};x();async function It(l,t){if(typeof window<"u"&&typeof FontFace<"u"){let e=typeof t=="string"?t:"its registered bytes";try{let i=await new FontFace(l,typeof t=="string"?`url(${t})`:t).load();document.fonts.add(i),await document.fonts.ready}catch(r){console.warn(`[preloadFont] Failed to load font "${l}" from ${e}:`,r)}}else typeof t=="string"&&await Pt(l,t)}x();var Et=!1;async function Fr(l,t,e=(r,i)=>console.warn(`[framefields] ${i}`,r)){let r=new Set,i=new Map;(function s(a){let o=a.operation;if(o){let c=o.op==="text"||o.kind==="text"||o.op==="caption"||o.kind==="caption"||typeof o.text=="string",u=o.fontFamily||(c?"Inter":"");if(u&&r.add(u),c&&typeof o.text=="string"){let h=o.fontSize??48;for(let p of St(o.text))i.set(`${p}-${h}`,h)}}for(let c of a.children??[])s(c)})(l);let n=[];for(let s of r){let a=Ut(s),o=Bt(s),c=typeof a=="string"?a:"its registered bytes";n.push(It(s,a).catch(u=>e(u,`font "${s}" from ${c}`))),t&&n.push(O.preloadSlugFont(t,s,o).catch(u=>e(u,`Slug font "${s}" from ${o}`)))}if(t&&i.size>0){!O.hasEmojiFont()&&!Et&&(Et=!0,console.warn("[framefields] Text uses emoji but no emoji font is registered, so exports draw nothing for them. Run `npx framefields fonts add emoji` and call the generated `registerFonts()`, or register a color emoji font (e.g. Noto Color Emoji) with FontManager.registerEmojiFont(path). `comp.lint()` names the layers (missing_emoji_font)."));for(let[s,a]of i){let o=s.slice(0,s.lastIndexOf("-"));n.push(O.preloadEmoji(t,o,a).catch(c=>{O.hasEmojiFont()&&e(c,`emoji "${o}"`)}))}}await Promise.all(n)}export{ee as a,E as b,z as c,ct as d,br as e,pt as f,It as g,Fr as h};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as ge}from"./chunk-QVW5METG.mjs";import{b as pe,c as ve}from"./chunk-NKGXINCU.mjs";import{a as s}from"./chunk-V3FODTPI.mjs";import{a as d,d as K,e as se,f as ue,g as oe,h as ce,j as de,k as me,l as fe,m as U}from"./chunk-ENKKLU7B.mjs";import{d as le}from"./chunk-6YJP57MZ.mjs";import{A as ne,w as ae}from"./chunk-
|
|
1
|
+
import{a as ge}from"./chunk-QVW5METG.mjs";import{b as pe,c as ve}from"./chunk-NKGXINCU.mjs";import{a as s}from"./chunk-V3FODTPI.mjs";import{a as d,d as K,e as se,f as ue,g as oe,h as ce,j as de,k as me,l as fe,m as U}from"./chunk-ENKKLU7B.mjs";import{d as le}from"./chunk-6YJP57MZ.mjs";import{A as ne,w as ae}from"./chunk-ALSOO22Q.mjs";import{e as h}from"./chunk-BVF64D6H.mjs";h();h();h();var Q=100,Xe=ge().field("blurType",s.enum(["Gaussian","Box","Median","Motion","Bilateral","Edge-preserving","Radial","Zoom"]).default("Gaussian"),{bindable:!1,label:"Blur Type"}).field("strength",s.number().min(0).max(Q).default(5),{bindable:!0,dataTypes:["Number","Signal"],label:"Strength Signal",description:"The intensity of the blur. 0 = no blur. Can be modulated by a static number or a dynamic signal."}).field("angle",s.number().int().min(0).max(360).default(0),{bindable:!1,signal:!0,label:"Angle",description:"Direction of a Motion blur, in degrees."}).field("sigmaColor",s.number().min(.01).max(1).default(.1),{bindable:!0,dataTypes:["Number","Signal"],label:"Color Sigma Signal",description:"Sigma value for color space in Bilateral / Edge-preserving blurs. Can be modulated by a static number or a dynamic signal."}).field("centerX",s.number().min(0).max(1).default(.5),{bindable:!0,dataTypes:["Number","Signal"],label:"Center X Signal",description:"The X coordinate of the blur center (0.0 to 1.0). Can be modulated by a static number or a dynamic signal."}).field("centerY",s.number().min(0).max(1).default(.5),{bindable:!0,dataTypes:["Number","Signal"],label:"Center Y Signal",description:"The Y coordinate of the blur center (0.0 to 1.0). Can be modulated by a static number or a dynamic signal."}).field("partialBlur",s.boolean().default(!1),{bindable:!1,signal:!0,label:"Partial Blur",description:"Blurs only a specific circular area around center point."}).field("radius",s.number().min(.01).max(1).default(.3),{bindable:!0,dataTypes:["Number","Signal"],label:"Partial Radius Signal",description:"Radius of the partial blur region (0.01 to 1.0). Can be modulated by a static number or a dynamic signal."}).field("radiusY",s.number().min(0).max(1).default(0),{bindable:!0,dataTypes:["Number","Signal"],label:"Partial Radius Y Signal",description:"Vertical radius of the partial blur region (0 to 1.0). 0 reuses the horizontal radius."}).field("shape",s.enum(["ellipse","circle","rect"]).default("circle"),{bindable:!1,label:"Partial Shape",description:"Shape of the partial blur region."}).build(),Oe=Xe.schema,je=s.union([pe,ve]);var g=`
|
|
2
2
|
struct BlurUniforms {
|
|
3
3
|
dirX : f32,
|
|
4
4
|
dirY : f32,
|