framefields 2.0.10 → 2.1.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 +39 -11
- package/dist/audio/index.d.mts +4 -4
- package/dist/audio/index.mjs +13 -12
- package/dist/{audio-BxA0sL9z.d.mts → audio-C2fLC3Tx.d.mts} +3 -3
- package/dist/{audio-BxA0sL9z.d.mts.map → audio-C2fLC3Tx.d.mts.map} +1 -1
- package/dist/{audio-TAvPwzLR.mjs → audio-DJeVoE8b.mjs} +1 -1
- package/dist/{audio-TAvPwzLR.mjs.map → audio-DJeVoE8b.mjs.map} +1 -1
- package/dist/{audio-B7Al-W_0.mjs → audio-D_4SeMRK.mjs} +4 -4
- package/dist/{audio-B7Al-W_0.mjs.map → audio-D_4SeMRK.mjs.map} +1 -1
- package/dist/{client-CwRhflHE.mjs → client-dVxUnmHz.mjs} +1 -1
- package/dist/{client-CwRhflHE.mjs.map → client-dVxUnmHz.mjs.map} +1 -1
- package/dist/{dist-C_hjvkdN.mjs → dist-0QGroRYZ.mjs} +1 -1
- package/dist/{dist-C_hjvkdN.mjs.map → dist-0QGroRYZ.mjs.map} +1 -1
- package/dist/{dist-DzUJmIHt.mjs → dist-BY0bIWgr.mjs} +10 -2
- package/dist/dist-BY0bIWgr.mjs.map +1 -0
- package/dist/{dist-B9PkqWnN.mjs → dist-Bun_TUvZ.mjs} +24046 -20774
- package/dist/dist-Bun_TUvZ.mjs.map +1 -0
- package/dist/{dist-BFjSQP7i.mjs → dist-DlzqyRar.mjs} +75 -618
- package/dist/dist-DlzqyRar.mjs.map +1 -0
- package/dist/{dist-cjs-TsA8LFXC.mjs → dist-cjs-91nR6B7Z.mjs} +3 -3
- package/dist/{dist-cjs-TsA8LFXC.mjs.map → dist-cjs-91nR6B7Z.mjs.map} +1 -1
- package/dist/{dist-cjs-DJ8fcQEe.mjs → dist-cjs-BAIenEMC.mjs} +11 -11
- package/dist/{dist-cjs-DJ8fcQEe.mjs.map → dist-cjs-BAIenEMC.mjs.map} +1 -1
- package/dist/{dist-cjs-BmyyWYWv.mjs → dist-cjs-BEQhh76X.mjs} +2 -2
- package/dist/{dist-cjs-BmyyWYWv.mjs.map → dist-cjs-BEQhh76X.mjs.map} +1 -1
- package/dist/{dist-cjs--pxyGFw2.mjs → dist-cjs-BYPq7pfw.mjs} +1 -1
- package/dist/{dist-cjs--pxyGFw2.mjs.map → dist-cjs-BYPq7pfw.mjs.map} +1 -1
- package/dist/{dist-cjs--lfMLs3U.mjs → dist-cjs-BocDqSCX.mjs} +4 -4
- package/dist/{dist-cjs--lfMLs3U.mjs.map → dist-cjs-BocDqSCX.mjs.map} +1 -1
- package/dist/{dist-cjs-CsU2sZoX.mjs → dist-cjs-CWiNggTl.mjs} +4 -4
- package/dist/{dist-cjs-CsU2sZoX.mjs.map → dist-cjs-CWiNggTl.mjs.map} +1 -1
- package/dist/{dist-cjs-DjzmP0-x.mjs → dist-cjs-CwabutT6.mjs} +13 -13
- package/dist/{dist-cjs-DjzmP0-x.mjs.map → dist-cjs-CwabutT6.mjs.map} +1 -1
- package/dist/{dist-cjs-BDpO-TH_.mjs → dist-cjs-D-EE4Ahy.mjs} +1 -1
- package/dist/{dist-cjs-BDpO-TH_.mjs.map → dist-cjs-D-EE4Ahy.mjs.map} +1 -1
- package/dist/{dist-cjs-CQwmMllY.mjs → dist-cjs-DNtDUWfk.mjs} +6 -6
- package/dist/{dist-cjs-CQwmMllY.mjs.map → dist-cjs-DNtDUWfk.mjs.map} +1 -1
- package/dist/{dist-cjs-CND_ghfH.mjs → dist-cjs-DbZhsgS0.mjs} +1 -1
- package/dist/{dist-cjs-CND_ghfH.mjs.map → dist-cjs-DbZhsgS0.mjs.map} +1 -1
- package/dist/{dist-cjs-CgFzrgj8.mjs → dist-cjs-Dh7REKcN.mjs} +1 -1
- package/dist/{dist-cjs-CgFzrgj8.mjs.map → dist-cjs-Dh7REKcN.mjs.map} +1 -1
- package/dist/{dist-cjs-DT2jJlcK.mjs → dist-cjs-Dobx0Nz-.mjs} +5 -5
- package/dist/{dist-cjs-DT2jJlcK.mjs.map → dist-cjs-Dobx0Nz-.mjs.map} +1 -1
- package/dist/{dist-cjs-DzjrlfbE.mjs → dist-cjs-Du0UpNof.mjs} +14 -14
- package/dist/{dist-cjs-DzjrlfbE.mjs.map → dist-cjs-Du0UpNof.mjs.map} +1 -1
- package/dist/dist-cjs-DyHiUfsr.mjs +6 -0
- package/dist/{dist-cjs-M-8QOgS_.mjs → dist-cjs-HHMfMF5a.mjs} +2 -2
- package/dist/{dist-cjs-M-8QOgS_.mjs.map → dist-cjs-HHMfMF5a.mjs.map} +1 -1
- package/dist/{dist-cjs-BiKQozdJ.mjs → dist-cjs-UJYQzLNT.mjs} +3 -3
- package/dist/{dist-cjs-BiKQozdJ.mjs.map → dist-cjs-UJYQzLNT.mjs.map} +1 -1
- package/dist/{dist-cjs-agQl9T8M.mjs → dist-cjs-UKxm5cFR.mjs} +6 -6
- package/dist/{dist-cjs-agQl9T8M.mjs.map → dist-cjs-UKxm5cFR.mjs.map} +1 -1
- package/dist/{dist-B9Afsv83.mjs → dist-fjKpBYkc.mjs} +662 -28
- package/dist/dist-fjKpBYkc.mjs.map +1 -0
- package/dist/effects/index.d.mts +4 -4
- package/dist/effects/index.mjs +36 -34
- package/dist/{effects-CREopCyP.mjs → effects-FTlu0dri.mjs} +3 -3
- package/dist/{effects-CREopCyP.mjs.map → effects-FTlu0dri.mjs.map} +1 -1
- package/dist/{event-streams-BaNGaLxh.mjs → event-streams-DnRe8uwT.mjs} +2 -2
- package/dist/{event-streams-BaNGaLxh.mjs.map → event-streams-DnRe8uwT.mjs.map} +1 -1
- package/dist/fonts/index.d.mts +2 -2
- package/dist/fonts/index.mjs +3 -1
- package/dist/{fonts-DhEQ5h6E.mjs → fonts-UM5xaBOx.mjs} +66 -6
- package/dist/fonts-UM5xaBOx.mjs.map +1 -0
- package/dist/gpu-RkpiFGOA.mjs +215 -0
- package/dist/gpu-RkpiFGOA.mjs.map +1 -0
- package/dist/{index-BXNNJVs8.d.mts → index-CHQ39_Oe.d.mts} +2 -2
- package/dist/{index-BXNNJVs8.d.mts.map → index-CHQ39_Oe.d.mts.map} +1 -1
- package/dist/{index-CvDVpaKn.d.mts → index-CzQseCtg.d.mts} +8 -8
- package/dist/{index-CvDVpaKn.d.mts.map → index-CzQseCtg.d.mts.map} +1 -1
- package/dist/{index-D1zaOwEU.d.mts → index-D67p-rHX.d.mts} +3506 -1280
- package/dist/index-D67p-rHX.d.mts.map +1 -0
- package/dist/{index-J9CIK_nu.d.mts → index-DPicEt8H.d.mts} +10 -2
- package/dist/index-DPicEt8H.d.mts.map +1 -0
- package/dist/{index-oodg5k9K.d.mts → index-Db8Z3AtX.d.mts} +3 -3
- package/dist/{index-oodg5k9K.d.mts.map → index-Db8Z3AtX.d.mts.map} +1 -1
- package/dist/{index-fo4E7A6C.d.mts → index-DsOqONsj.d.mts} +3 -3
- package/dist/{index-fo4E7A6C.d.mts.map → index-DsOqONsj.d.mts.map} +1 -1
- package/dist/{index-CQcdKyxF.d.mts → index-l03NV8JS.d.mts} +59 -2
- package/dist/index-l03NV8JS.d.mts.map +1 -0
- package/dist/index.d.mts +416 -1849
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +669 -79
- package/dist/index.mjs.map +1 -1
- package/dist/{package-XpCRbTOA.mjs → package-CudzAF-n.mjs} +1 -1
- package/dist/{package-XpCRbTOA.mjs.map → package-CudzAF-n.mjs.map} +1 -1
- package/dist/preview/index.d.mts +2 -2
- package/dist/preview/index.mjs +13 -12
- package/dist/{preview-9ifxywUM.mjs → preview-DwClLMlU.mjs} +3 -3
- package/dist/{preview-9ifxywUM.mjs.map → preview-DwClLMlU.mjs.map} +1 -1
- package/dist/preview-engine/audio.mjs +1 -1
- package/dist/preview-engine/{chunk-AW7HNZKR.mjs → chunk-3GNP7TJH.mjs} +3 -3
- package/dist/preview-engine/{chunk-LIHUEYI5.mjs → chunk-44CQSOYE.mjs} +2 -2
- package/dist/preview-engine/{chunk-6JW37VJA.mjs → chunk-5AUB4Y3L.mjs} +3 -23
- package/dist/preview-engine/chunk-5DOD2NVY.mjs +26 -0
- package/dist/preview-engine/chunk-5FC7GOWW.mjs +474 -0
- package/dist/preview-engine/chunk-5W4AFQP7.mjs +97 -0
- package/dist/preview-engine/chunk-63SFBHEH.mjs +1 -0
- package/dist/preview-engine/chunk-7EPIRODI.mjs +91 -0
- package/dist/preview-engine/{chunk-PQD5UPHG.mjs → chunk-7G3XIOP7.mjs} +1 -1
- package/dist/preview-engine/chunk-7J2FWGVD.mjs +1 -0
- package/dist/preview-engine/chunk-AXHB4J37.mjs +147 -0
- package/dist/preview-engine/chunk-AY7UX37L.mjs +450 -0
- package/dist/preview-engine/chunk-B43Z3J7J.mjs +5 -0
- package/dist/preview-engine/chunk-BWJS6G7R.mjs +314 -0
- package/dist/preview-engine/{chunk-24DXIKXL.mjs → chunk-DIGIQ5MJ.mjs} +2 -2
- package/dist/preview-engine/{chunk-AEK5BO3J.mjs → chunk-E4RAFHZM.mjs} +1 -1
- package/dist/preview-engine/chunk-ENKKLU7B.mjs +22 -0
- package/dist/preview-engine/{chunk-XLFYM7KH.mjs → chunk-EVXWDOCL.mjs} +2 -2
- package/dist/preview-engine/{chunk-EQ4QZRXB.mjs → chunk-EYWPOCZW.mjs} +2 -2
- package/dist/preview-engine/{chunk-IYVN2QEL.mjs → chunk-FLPSWDX4.mjs} +1 -1
- package/dist/preview-engine/chunk-FU7AIAMM.mjs +88 -0
- package/dist/preview-engine/{chunk-CBM7B7EW.mjs → chunk-GMGGDADT.mjs} +1 -1
- package/dist/preview-engine/chunk-GSFN4WCH.mjs +62 -0
- package/dist/preview-engine/chunk-HE4R7EZM.mjs +121 -0
- package/dist/preview-engine/chunk-IQC2I5A5.mjs +1 -0
- package/dist/preview-engine/chunk-IQKIHFNZ.mjs +1 -0
- package/dist/preview-engine/{chunk-XCYFPA34.mjs → chunk-IR5DNNWR.mjs} +3 -23
- package/dist/preview-engine/chunk-IUPDOATX.mjs +114 -0
- package/dist/preview-engine/{chunk-GHMCGTJ2.mjs → chunk-J2R5R7YY.mjs} +3 -23
- package/dist/preview-engine/chunk-JAJOZG5P.mjs +1 -0
- package/dist/preview-engine/chunk-JXNG2ACR.mjs +118 -0
- package/dist/preview-engine/{chunk-V6VU46ZG.mjs → chunk-L6BH5J4P.mjs} +1 -1
- package/dist/preview-engine/chunk-LGVEFPOG.mjs +3 -0
- package/dist/preview-engine/{chunk-MDDF2GCF.mjs → chunk-MLY5M7Y5.mjs} +3 -23
- package/dist/preview-engine/chunk-NPD6W3RP.mjs +1 -0
- package/dist/preview-engine/chunk-OCX5AD23.mjs +1 -0
- package/dist/preview-engine/{chunk-D3TETPLI.mjs → chunk-OG62XGCT.mjs} +1 -1
- package/dist/preview-engine/chunk-OJ2PKBXE.mjs +40 -0
- package/dist/preview-engine/chunk-OKH2VU2U.mjs +97 -0
- package/dist/preview-engine/chunk-PAQNDZQB.mjs +83 -0
- package/dist/preview-engine/chunk-PEWYB6WP.mjs +43 -0
- package/dist/preview-engine/chunk-PL4IH5V4.mjs +89 -0
- package/dist/preview-engine/chunk-PSRQA3QW.mjs +84 -0
- package/dist/preview-engine/{chunk-JAOXXYXG.mjs → chunk-PXT52LEH.mjs} +3 -23
- package/dist/preview-engine/chunk-Q22PJXFJ.mjs +69 -0
- package/dist/preview-engine/chunk-Q4Z54DQ7.mjs +1 -0
- package/dist/preview-engine/{chunk-BHFI3Y4T.mjs → chunk-QBEUICZD.mjs} +1 -1
- package/dist/preview-engine/chunk-RQLMW6MA.mjs +4 -0
- package/dist/preview-engine/chunk-RSMO7NPN.mjs +1 -0
- package/dist/preview-engine/chunk-RW2F3XLQ.mjs +90 -0
- package/dist/preview-engine/{chunk-25IW7NYO.mjs → chunk-S2CTIJSI.mjs} +1 -1
- package/dist/preview-engine/chunk-SGPRLTNF.mjs +52 -0
- package/dist/preview-engine/{chunk-Y6FEU4TV.mjs → chunk-SZW5J72T.mjs} +3 -23
- package/dist/preview-engine/{chunk-7DIAFPQP.mjs → chunk-T2FE5VOW.mjs} +3 -23
- package/dist/preview-engine/{chunk-ZSIJB76A.mjs → chunk-TS3JI3BH.mjs} +2 -2
- package/dist/preview-engine/{chunk-AMBSW6OA.mjs → chunk-U4JIFQRR.mjs} +2 -2
- package/dist/preview-engine/chunk-VRGREB3V.mjs +1 -0
- package/dist/preview-engine/{chunk-BJKH76OM.mjs → chunk-VXS5SIEC.mjs} +3 -23
- package/dist/preview-engine/chunk-WFGJXCZT.mjs +53 -0
- package/dist/preview-engine/chunk-WH5Q2NFN.mjs +32 -0
- package/dist/preview-engine/{chunk-YG35X5R5.mjs → chunk-WUKH7BD7.mjs} +1 -1
- package/dist/preview-engine/chunk-XC5WZNOY.mjs +1448 -0
- package/dist/preview-engine/chunk-YQZOGEPZ.mjs +186 -0
- package/dist/preview-engine/{chunk-VVLM6LZ3.mjs → chunk-ZDQF3OTC.mjs} +1 -1
- package/dist/preview-engine/chunk-ZIIFTWDH.mjs +58 -0
- package/dist/preview-engine/effects.mjs +1 -1
- package/dist/preview-engine/fonts.mjs +1 -1
- package/dist/preview-engine/framefields.mjs +127 -130
- package/dist/preview-engine/player.mjs +6 -6
- package/dist/preview-engine/renderers-2H7YEUTD.mjs +1 -0
- package/dist/preview-engine/renderers-2ILG23ED.mjs +1 -0
- package/dist/preview-engine/renderers-2P6KXWEZ.mjs +1 -0
- package/dist/preview-engine/renderers-2SVWAB42.mjs +1 -0
- package/dist/preview-engine/renderers-2VN3AH45.mjs +104 -0
- package/dist/preview-engine/renderers-3RC5FDWX.mjs +1 -0
- package/dist/preview-engine/renderers-57WDL6XN.mjs +1 -0
- package/dist/preview-engine/{renderers-CAUWP4XH.mjs → renderers-6OGFUSH6.mjs} +3 -23
- package/dist/preview-engine/renderers-6WH7NZCC.mjs +1 -0
- package/dist/preview-engine/renderers-7VJN5L3Z.mjs +1 -0
- package/dist/preview-engine/renderers-A6HM64UZ.mjs +1 -0
- package/dist/preview-engine/{renderers-WLH4HRUE.mjs → renderers-A7VH3ON5.mjs} +1 -1
- package/dist/preview-engine/renderers-B7DSGUMI.mjs +1 -0
- package/dist/preview-engine/renderers-BFNJ7VCI.mjs +1 -0
- package/dist/preview-engine/renderers-BSKZXITT.mjs +35 -0
- package/dist/preview-engine/renderers-CGYIDAVV.mjs +1 -0
- package/dist/preview-engine/renderers-CRRLV7IO.mjs +1 -0
- package/dist/preview-engine/{renderers-JQHUBWLL.mjs → renderers-D6T6IPER.mjs} +3 -23
- package/dist/preview-engine/renderers-DXHJAMZR.mjs +1 -0
- package/dist/preview-engine/renderers-ECA3P4ON.mjs +1 -0
- package/dist/preview-engine/{renderers-W5CVDJVH.mjs → renderers-F55XFVMP.mjs} +1 -1
- package/dist/preview-engine/renderers-FWGMNPYB.mjs +1 -0
- package/dist/preview-engine/renderers-H46TS3IG.mjs +228 -0
- package/dist/preview-engine/renderers-HXFRTIJD.mjs +1 -0
- package/dist/preview-engine/renderers-IWQ3V6AJ.mjs +1 -0
- package/dist/preview-engine/renderers-JHFT27YU.mjs +1 -0
- package/dist/preview-engine/renderers-KZWGSKRF.mjs +1 -0
- package/dist/preview-engine/renderers-MON4QFRF.mjs +1 -0
- package/dist/preview-engine/renderers-NQXMYNSY.mjs +1 -0
- package/dist/preview-engine/renderers-NWHS7N2L.mjs +1 -0
- package/dist/preview-engine/renderers-ORAIXUL3.mjs +1 -0
- package/dist/preview-engine/renderers-OT7D3BUA.mjs +1 -0
- package/dist/preview-engine/renderers-Q4OFCMXI.mjs +1 -0
- package/dist/preview-engine/renderers-QVZVEYP5.mjs +1 -0
- package/dist/preview-engine/renderers-RJO6H4FC.mjs +1 -0
- package/dist/preview-engine/renderers-RKDPX5JU.mjs +1 -0
- package/dist/preview-engine/{renderers-2US2NIUG.mjs → renderers-RLHTNLRE.mjs} +3 -23
- package/dist/preview-engine/renderers-SBFF7JP5.mjs +1 -0
- package/dist/preview-engine/renderers-SCJ6OKTB.mjs +1 -0
- package/dist/preview-engine/renderers-T4JMJXWL.mjs +1 -0
- package/dist/preview-engine/renderers-TAWT3ZSS.mjs +1 -0
- package/dist/preview-engine/renderers-U6KY34TP.mjs +100 -0
- package/dist/preview-engine/renderers-UHTO6BQA.mjs +1 -0
- package/dist/preview-engine/renderers-UNK6I4JJ.mjs +1 -0
- package/dist/preview-engine/renderers-UPTJJE5F.mjs +1 -0
- package/dist/preview-engine/renderers-W773SBPV.mjs +1 -0
- package/dist/preview-engine/renderers-XHTMRXC5.mjs +1 -0
- package/dist/preview-engine/renderers-YECY2YFT.mjs +1 -0
- package/dist/preview-engine/renderers-YMN6QXK7.mjs +1 -0
- package/dist/preview-engine/renderers-ZANPE3OK.mjs +1 -0
- package/dist/preview-engine/renderers-ZHTX73PR.mjs +1 -0
- package/dist/preview-engine/renderers-ZJTRANIX.mjs +1 -0
- package/dist/preview-engine/signals.mjs +1 -1
- package/dist/preview-engine/skia-canvas-QBXAOGPB.mjs +1 -0
- package/dist/{program-xRfFoPxe.mjs → program-BqFVw5Mu.mjs} +295 -2279
- package/dist/program-BqFVw5Mu.mjs.map +1 -0
- package/dist/renderer/index.d.mts +2 -2
- package/dist/renderer/index.mjs +3 -3
- package/dist/{renderer-BgdkEFmv.mjs → renderer-2Nf9ypST.mjs} +85 -279
- package/dist/renderer-2Nf9ypST.mjs.map +1 -0
- package/dist/{renderer-BREIjsUU.mjs → renderer-2uN2cd0y.mjs} +14 -40
- package/dist/renderer-2uN2cd0y.mjs.map +1 -0
- package/dist/renderer-31jAuNzF.mjs +5 -0
- package/dist/renderer-36EI7Rsz.mjs +5 -0
- package/dist/renderer-3io-cjTt.mjs +5 -0
- package/dist/renderer-9_zWTHbg.mjs +5 -0
- package/dist/{renderer-5h0llpx7.mjs → renderer-B12_76qk.mjs} +4 -3
- package/dist/{renderer-5h0llpx7.mjs.map → renderer-B12_76qk.mjs.map} +1 -1
- package/dist/{renderer-_bygZSKk.mjs → renderer-B4oS8ZFO.mjs} +29 -98
- package/dist/renderer-B4oS8ZFO.mjs.map +1 -0
- package/dist/renderer-B6KnbfdA.mjs +5 -0
- package/dist/renderer-B7Y2bmRc.mjs +5 -0
- package/dist/renderer-BA6miaaI.mjs +5 -0
- package/dist/{renderer-CoZKST2Y.mjs → renderer-BGr_cBKV.mjs} +61 -208
- package/dist/renderer-BGr_cBKV.mjs.map +1 -0
- package/dist/renderer-BHi-Q6Z_.mjs +5 -0
- package/dist/{renderer-BiSALMQy.mjs → renderer-BLcu9RDt.mjs} +3 -1
- package/dist/{renderer-D2XD4QYk.mjs → renderer-BO2lYmtE.mjs} +34 -147
- package/dist/renderer-BO2lYmtE.mjs.map +1 -0
- package/dist/renderer-BOlN9HeG.mjs +5 -0
- package/dist/renderer-BSitV56h.mjs +268 -0
- package/dist/renderer-BSitV56h.mjs.map +1 -0
- package/dist/renderer-BTOW-ceB.mjs +5 -0
- package/dist/{renderer-wVldKtFU.mjs → renderer-BYqfkwLf.mjs} +51 -163
- package/dist/renderer-BYqfkwLf.mjs.map +1 -0
- package/dist/{renderer-bZU_ndxf.mjs → renderer-BajIOuZH.mjs} +2 -2
- package/dist/{renderer-bZU_ndxf.mjs.map → renderer-BajIOuZH.mjs.map} +1 -1
- package/dist/{renderer-jkZ_IQnW.mjs → renderer-BgnJUx24.mjs} +80 -258
- package/dist/renderer-BgnJUx24.mjs.map +1 -0
- package/dist/renderer-BiQ0PYOp.mjs +5 -0
- package/dist/{renderer-BnvqEqvE.mjs → renderer-BjTq3a0L.mjs} +5 -4
- package/dist/{renderer-BnvqEqvE.mjs.map → renderer-BjTq3a0L.mjs.map} +1 -1
- package/dist/{renderer-DEJwPRkR.mjs → renderer-BkN20ZKO.mjs} +15 -51
- package/dist/renderer-BkN20ZKO.mjs.map +1 -0
- package/dist/renderer-Bla7GDyV.mjs +5 -0
- package/dist/renderer-BoYyLVKy.mjs +5 -0
- package/dist/{renderer-D7zvPHKn.mjs → renderer-BpZaHFRc.mjs} +18 -28
- package/dist/renderer-BpZaHFRc.mjs.map +1 -0
- package/dist/renderer-BqOgb7bM.mjs +5 -0
- package/dist/{renderer-DNNqpK7t.mjs → renderer-Bq_dO0LG.mjs} +10 -17
- package/dist/renderer-Bq_dO0LG.mjs.map +1 -0
- package/dist/renderer-BqeM8yTJ.mjs +5 -0
- package/dist/{renderer-DryPrxYc.mjs → renderer-BqsV75Ml.mjs} +3 -1
- package/dist/{renderer-8qpGxSSO.mjs → renderer-Bs4tz_pw.mjs} +20 -87
- package/dist/renderer-Bs4tz_pw.mjs.map +1 -0
- package/dist/{renderer-DdVBt8Rz.mjs → renderer-Bsaokil3.mjs} +24 -104
- package/dist/renderer-Bsaokil3.mjs.map +1 -0
- package/dist/{renderer-D7ztfQHX.mjs → renderer-BvG1GF1c.mjs} +10 -16
- package/dist/renderer-BvG1GF1c.mjs.map +1 -0
- package/dist/{renderer-BGXbGqY4.mjs → renderer-BvpSIFkw.mjs} +83 -266
- package/dist/renderer-BvpSIFkw.mjs.map +1 -0
- package/dist/{renderer-Dju9CaeL.mjs → renderer-BwAqwTQq.mjs} +62 -209
- package/dist/renderer-BwAqwTQq.mjs.map +1 -0
- package/dist/{renderer-CzPWB0Ss.mjs → renderer-BwVfhrEx.mjs} +13 -45
- package/dist/renderer-BwVfhrEx.mjs.map +1 -0
- package/dist/renderer-BzpRe50i.mjs +5 -0
- package/dist/renderer-C0eAPwpr.mjs +5 -0
- package/dist/{renderer-But0u-xi.mjs → renderer-C3RfT8Gv.mjs} +59 -194
- package/dist/renderer-C3RfT8Gv.mjs.map +1 -0
- package/dist/{renderer-CgmFh6MY.mjs → renderer-C3cYDT3m.mjs} +3 -1
- package/dist/{renderer-D-4Yh-RK.mjs → renderer-CEGbqT2m.mjs} +236 -96
- package/dist/renderer-CEGbqT2m.mjs.map +1 -0
- package/dist/{renderer-CcU7dVn9.mjs → renderer-CGldH-Zx.mjs} +40 -142
- package/dist/renderer-CGldH-Zx.mjs.map +1 -0
- package/dist/renderer-CGn8V63v.mjs +5 -0
- package/dist/{renderer-DffynBHa.mjs → renderer-CH9Qtpy7.mjs} +4 -4
- package/dist/{renderer-DffynBHa.mjs.map → renderer-CH9Qtpy7.mjs.map} +1 -1
- package/dist/{renderer-ho_jXJ0H.mjs → renderer-CLyuu_19.mjs} +23 -117
- package/dist/renderer-CLyuu_19.mjs.map +1 -0
- package/dist/renderer-CM5Syo9r.mjs +5 -0
- package/dist/{renderer-BJ6Y-7ke.mjs → renderer-CRIM_XRK.mjs} +3 -3
- package/dist/{renderer-BJ6Y-7ke.mjs.map → renderer-CRIM_XRK.mjs.map} +1 -1
- package/dist/{renderer-2NQWaZd7.d.mts → renderer-CTGe8SqQ.d.mts} +2 -2
- package/dist/{renderer-2NQWaZd7.d.mts.map → renderer-CTGe8SqQ.d.mts.map} +1 -1
- package/dist/renderer-CWCEW6Wv.mjs +5 -0
- package/dist/{renderer-CNF10fCq.mjs → renderer-CgyOylPO.mjs} +10 -17
- package/dist/renderer-CgyOylPO.mjs.map +1 -0
- package/dist/{renderer-DjTiNeAp.mjs → renderer-CjT5Zy-J.mjs} +81 -221
- package/dist/renderer-CjT5Zy-J.mjs.map +1 -0
- package/dist/{renderer-_uvdg48N.mjs → renderer-Cjq1s3br.mjs} +24 -93
- package/dist/renderer-Cjq1s3br.mjs.map +1 -0
- package/dist/renderer-Cl70zxkP.mjs +5 -0
- package/dist/renderer-ClJjoVpB.mjs +6 -0
- package/dist/{renderer-DBlPbsgi.mjs → renderer-CpKNqciR.mjs} +3 -1
- package/dist/{renderer-DTvfYkI9.mjs → renderer-Cwhux4VX.mjs} +9 -16
- package/dist/renderer-Cwhux4VX.mjs.map +1 -0
- package/dist/{renderer-CJNyhr_S.mjs → renderer-D0nWLogn.mjs} +99 -282
- package/dist/renderer-D0nWLogn.mjs.map +1 -0
- package/dist/{renderer-9wp5R7PL.mjs → renderer-D1lynYuy.mjs} +23 -107
- package/dist/renderer-D1lynYuy.mjs.map +1 -0
- package/dist/{renderer-DYm4duFr.mjs → renderer-D4sYVV-I.mjs} +41 -140
- package/dist/renderer-D4sYVV-I.mjs.map +1 -0
- package/dist/{renderer-CroHPOsX.mjs → renderer-D5z3WDkm.mjs} +99 -287
- package/dist/renderer-D5z3WDkm.mjs.map +1 -0
- package/dist/renderer-D8C-pamu.mjs +148 -0
- package/dist/renderer-D8C-pamu.mjs.map +1 -0
- package/dist/{renderer-D_1oDOCP.mjs → renderer-DAtBnNGC.mjs} +14 -69
- package/dist/renderer-DAtBnNGC.mjs.map +1 -0
- package/dist/{renderer-DZGtBUCx.mjs → renderer-DG1NFsSV.mjs} +35 -185
- package/dist/renderer-DG1NFsSV.mjs.map +1 -0
- package/dist/{renderer-BM05sB8m.mjs → renderer-DHAErBtJ.mjs} +11 -74
- package/dist/renderer-DHAErBtJ.mjs.map +1 -0
- package/dist/{renderer-CStktK20.mjs → renderer-DIDSmoFA.mjs} +73 -73
- package/dist/{renderer-CStktK20.mjs.map → renderer-DIDSmoFA.mjs.map} +1 -1
- package/dist/{renderer-BA8YwBRQ.mjs → renderer-DKtP7-fr.mjs} +58 -234
- package/dist/renderer-DKtP7-fr.mjs.map +1 -0
- package/dist/renderer-DLnF-V_h.mjs +5 -0
- package/dist/renderer-DN1rjmcL.mjs +5 -0
- package/dist/{renderer-BZmfKIom.mjs → renderer-DOEsFT7Q.mjs} +57 -192
- package/dist/renderer-DOEsFT7Q.mjs.map +1 -0
- package/dist/{renderer-6GeDT4Mx.mjs → renderer-DPYB6ZcB.mjs} +57 -197
- package/dist/renderer-DPYB6ZcB.mjs.map +1 -0
- package/dist/{renderer-DCkSR2Ne.mjs → renderer-DRsPCkxr.mjs} +76 -210
- package/dist/renderer-DRsPCkxr.mjs.map +1 -0
- package/dist/renderer-DXTw9Oqb.mjs +5 -0
- package/dist/{renderer-DAMJZNtX.mjs → renderer-DZLJnnU2.mjs} +63 -190
- package/dist/renderer-DZLJnnU2.mjs.map +1 -0
- package/dist/{renderer-BtRfKx5N.mjs → renderer-DZrQffIP.mjs} +56 -167
- package/dist/renderer-DZrQffIP.mjs.map +1 -0
- package/dist/renderer-DbAVSBNI.mjs +5 -0
- package/dist/renderer-Dg8rD--8.mjs +5 -0
- package/dist/{renderer-BpCxKWQm.mjs → renderer-DhEyjn6Q.mjs} +52 -202
- package/dist/renderer-DhEyjn6Q.mjs.map +1 -0
- package/dist/{renderer-CIYcdZuZ.mjs → renderer-Dmv_Aj6x.mjs} +161 -457
- package/dist/renderer-Dmv_Aj6x.mjs.map +1 -0
- package/dist/renderer-DnFxegGu.mjs +5 -0
- package/dist/renderer-DnfmelHn.mjs +5 -0
- package/dist/{renderer-DxtHmyAa.mjs → renderer-Dpj68gTn.mjs} +11 -18
- package/dist/renderer-Dpj68gTn.mjs.map +1 -0
- package/dist/renderer-DuOjzggd.mjs +5 -0
- package/dist/renderer-DuuOlYIG.mjs +3 -0
- package/dist/renderer-DvYql0Cl.mjs +5 -0
- package/dist/{renderer-xKOVmd2O.mjs → renderer-DzhRNdBS.mjs} +245 -231
- package/dist/renderer-DzhRNdBS.mjs.map +1 -0
- package/dist/renderer-GSFP7v2z.mjs +3 -0
- package/dist/renderer-LfUdjgjF.mjs +5 -0
- package/dist/{renderer-CfeoxM_3.mjs → renderer-Q63y7HP_.mjs} +8 -15
- package/dist/renderer-Q63y7HP_.mjs.map +1 -0
- package/dist/renderer-SecCv3U8.mjs +5 -0
- package/dist/{renderer-b6sZN90h.mjs → renderer-mp1NN5zk.mjs} +4 -4
- package/dist/{renderer-b6sZN90h.mjs.map → renderer-mp1NN5zk.mjs.map} +1 -1
- package/dist/renderer-oZyoB4CT.mjs +5 -0
- package/dist/renderer-rzci_kTy.mjs +5 -0
- package/dist/{renderer-CpkiHRhh.mjs → renderer-to9DwqXK.mjs} +17 -99
- package/dist/renderer-to9DwqXK.mjs.map +1 -0
- package/dist/{renderer-CepMDQ06.mjs → renderer-v0vuUUUI.mjs} +19 -106
- package/dist/renderer-v0vuUUUI.mjs.map +1 -0
- package/dist/renderer-vLaZuZbX.mjs +5 -0
- package/dist/{renderers-CP8CFWDs-BLgwUYX2.mjs → renderers-CP8CFWDs-DlFq8jmz.mjs} +4 -4
- package/dist/{renderers-CP8CFWDs-BLgwUYX2.mjs.map → renderers-CP8CFWDs-DlFq8jmz.mjs.map} +1 -1
- package/dist/signals/index.d.mts +5 -5
- package/dist/signals/index.mjs +7 -7
- package/dist/{signals-CsxqD2AA.mjs → signals-BDkO0xcZ.mjs} +3 -3
- package/dist/{signals-CsxqD2AA.mjs.map → signals-BDkO0xcZ.mjs.map} +1 -1
- package/dist/{signin-Db08vl-g.mjs → signin-SVSXQw9i.mjs} +9 -9
- package/dist/{signin-Db08vl-g.mjs.map → signin-SVSXQw9i.mjs.map} +1 -1
- package/dist/{sso-oidc-CpLz_lIu.mjs → sso-oidc-B3Sagl43.mjs} +9 -9
- package/dist/{sso-oidc-CpLz_lIu.mjs.map → sso-oidc-B3Sagl43.mjs.map} +1 -1
- package/dist/{sts-BQefGuml.mjs → sts-CYeWec9i.mjs} +2 -2
- package/dist/{sts-Dgl0kH-t.mjs → sts-ClVtt-bV.mjs} +9 -9
- package/dist/{sts-Dgl0kH-t.mjs.map → sts-ClVtt-bV.mjs.map} +1 -1
- package/package.json +55 -55
- package/dist/dist-B9Afsv83.mjs.map +0 -1
- package/dist/dist-B9PkqWnN.mjs.map +0 -1
- package/dist/dist-BFjSQP7i.mjs.map +0 -1
- package/dist/dist-DzUJmIHt.mjs.map +0 -1
- package/dist/dist-cjs-3pon9kTt.mjs +0 -6
- package/dist/fonts-DhEQ5h6E.mjs.map +0 -1
- package/dist/index-CQcdKyxF.d.mts.map +0 -1
- package/dist/index-D1zaOwEU.d.mts.map +0 -1
- package/dist/index-J9CIK_nu.d.mts.map +0 -1
- package/dist/preview-engine/chunk-36YGYLKD.mjs +0 -58
- package/dist/preview-engine/chunk-5JD65JSJ.mjs +0 -110
- package/dist/preview-engine/chunk-7O24H4YT.mjs +0 -117
- package/dist/preview-engine/chunk-AG5JNZYQ.mjs +0 -8
- package/dist/preview-engine/chunk-AUFSM5KI.mjs +0 -141
- package/dist/preview-engine/chunk-BQ65MU6H.mjs +0 -138
- package/dist/preview-engine/chunk-BWDARDO6.mjs +0 -117
- package/dist/preview-engine/chunk-CNSHAFEA.mjs +0 -1
- package/dist/preview-engine/chunk-DLXQDDIN.mjs +0 -46
- package/dist/preview-engine/chunk-EJGLUZMW.mjs +0 -1
- package/dist/preview-engine/chunk-FE6RSVKZ.mjs +0 -73
- package/dist/preview-engine/chunk-HPIULG7P.mjs +0 -111
- package/dist/preview-engine/chunk-HRIKNYPF.mjs +0 -60
- package/dist/preview-engine/chunk-JPXQPP6J.mjs +0 -1
- package/dist/preview-engine/chunk-K52S5DJX.mjs +0 -109
- package/dist/preview-engine/chunk-MJM3NFEC.mjs +0 -315
- package/dist/preview-engine/chunk-NRHSNPZV.mjs +0 -182
- package/dist/preview-engine/chunk-OWOSYNMF.mjs +0 -104
- package/dist/preview-engine/chunk-QGBSLNFI.mjs +0 -52
- package/dist/preview-engine/chunk-QM3XFEJN.mjs +0 -63
- package/dist/preview-engine/chunk-QTKJXDIW.mjs +0 -997
- package/dist/preview-engine/chunk-R3ZH7YF3.mjs +0 -89
- package/dist/preview-engine/chunk-R6YNSBKL.mjs +0 -108
- package/dist/preview-engine/chunk-RNOO4UR5.mjs +0 -3
- package/dist/preview-engine/chunk-S4CSX6K5.mjs +0 -610
- package/dist/preview-engine/chunk-SNYAHQ25.mjs +0 -186
- package/dist/preview-engine/chunk-SRT2OCQW.mjs +0 -1
- package/dist/preview-engine/chunk-SUUUYXXT.mjs +0 -1
- package/dist/preview-engine/chunk-T6CC2KCZ.mjs +0 -418
- package/dist/preview-engine/chunk-T6COGNOW.mjs +0 -134
- package/dist/preview-engine/chunk-UC7CSW2A.mjs +0 -1
- package/dist/preview-engine/chunk-XFYXT76H.mjs +0 -52
- package/dist/preview-engine/chunk-XUM42I4R.mjs +0 -1
- package/dist/preview-engine/chunk-YITWSOG4.mjs +0 -103
- package/dist/preview-engine/chunk-ZDCA6NVT.mjs +0 -82
- package/dist/preview-engine/chunk-ZNGOAGAI.mjs +0 -1
- package/dist/preview-engine/renderers-27Q5X3U6.mjs +0 -1
- package/dist/preview-engine/renderers-32PIFHPS.mjs +0 -1
- package/dist/preview-engine/renderers-3Y3EMRDJ.mjs +0 -1
- package/dist/preview-engine/renderers-4AHH6BHF.mjs +0 -1
- package/dist/preview-engine/renderers-6PRVCTYV.mjs +0 -1
- package/dist/preview-engine/renderers-76PQY2SO.mjs +0 -1
- package/dist/preview-engine/renderers-7HNVXNAI.mjs +0 -248
- package/dist/preview-engine/renderers-B52QT6MT.mjs +0 -55
- package/dist/preview-engine/renderers-BE6RVJSE.mjs +0 -1
- package/dist/preview-engine/renderers-BMM2BH56.mjs +0 -1
- package/dist/preview-engine/renderers-CHJWUJVI.mjs +0 -1
- package/dist/preview-engine/renderers-CHOGQHVQ.mjs +0 -1
- package/dist/preview-engine/renderers-CI2GXWLP.mjs +0 -1
- package/dist/preview-engine/renderers-CRKRWR2Y.mjs +0 -1
- package/dist/preview-engine/renderers-DEYDSGJX.mjs +0 -1
- package/dist/preview-engine/renderers-DZTNRCR7.mjs +0 -1
- package/dist/preview-engine/renderers-EE2GFG7J.mjs +0 -1
- package/dist/preview-engine/renderers-ELO3KWTK.mjs +0 -1
- package/dist/preview-engine/renderers-F2KJNDWA.mjs +0 -124
- package/dist/preview-engine/renderers-FCV4COVB.mjs +0 -1
- package/dist/preview-engine/renderers-GJSUN5HU.mjs +0 -1
- package/dist/preview-engine/renderers-GXCRINGC.mjs +0 -1
- package/dist/preview-engine/renderers-IHKORHMT.mjs +0 -1
- package/dist/preview-engine/renderers-JA4SLMG3.mjs +0 -1
- package/dist/preview-engine/renderers-JLN77CFZ.mjs +0 -1
- package/dist/preview-engine/renderers-KBFW7B5F.mjs +0 -1
- package/dist/preview-engine/renderers-LJRJMFCR.mjs +0 -1
- package/dist/preview-engine/renderers-LPAPZ5QS.mjs +0 -1
- package/dist/preview-engine/renderers-NQUDQEHY.mjs +0 -1
- package/dist/preview-engine/renderers-NS3AIJVG.mjs +0 -1
- package/dist/preview-engine/renderers-NSY2SDIE.mjs +0 -1
- package/dist/preview-engine/renderers-PW4OJWHF.mjs +0 -120
- package/dist/preview-engine/renderers-PWLWOZY4.mjs +0 -1
- package/dist/preview-engine/renderers-Q3MD34JN.mjs +0 -1
- package/dist/preview-engine/renderers-RXGNA2Q7.mjs +0 -1
- package/dist/preview-engine/renderers-UGZUPONY.mjs +0 -1
- package/dist/preview-engine/renderers-VTTGFO55.mjs +0 -1
- package/dist/preview-engine/renderers-W3VVM5HB.mjs +0 -1
- package/dist/preview-engine/renderers-WG7QBD4D.mjs +0 -1
- package/dist/preview-engine/renderers-WLLJFZTF.mjs +0 -1
- package/dist/preview-engine/renderers-WN4SYFCU.mjs +0 -1
- package/dist/preview-engine/renderers-WSMLLSWX.mjs +0 -1
- package/dist/preview-engine/renderers-XFBSGTHU.mjs +0 -1
- package/dist/preview-engine/renderers-XFC6ZPO5.mjs +0 -1
- package/dist/preview-engine/renderers-XUHRY3XH.mjs +0 -1
- package/dist/preview-engine/renderers-YAOB5XU6.mjs +0 -1
- package/dist/preview-engine/renderers-YTB4FOHT.mjs +0 -1
- package/dist/program-xRfFoPxe.mjs.map +0 -1
- package/dist/renderer-6GeDT4Mx.mjs.map +0 -1
- package/dist/renderer-8qpGxSSO.mjs.map +0 -1
- package/dist/renderer-9wp5R7PL.mjs.map +0 -1
- package/dist/renderer-B2XzjK0z.mjs +0 -3
- package/dist/renderer-B4F6wL68.mjs +0 -3
- package/dist/renderer-B4i1jmiT.mjs +0 -3
- package/dist/renderer-B5ylY3uM.mjs +0 -3
- package/dist/renderer-BA8YwBRQ.mjs.map +0 -1
- package/dist/renderer-BGXbGqY4.mjs.map +0 -1
- package/dist/renderer-BM05sB8m.mjs.map +0 -1
- package/dist/renderer-BPw23wiR.mjs +0 -3
- package/dist/renderer-BREIjsUU.mjs.map +0 -1
- package/dist/renderer-BTu2EVhF.mjs +0 -3
- package/dist/renderer-BZmfKIom.mjs.map +0 -1
- package/dist/renderer-BfJSUjPN.mjs +0 -3
- package/dist/renderer-BgdkEFmv.mjs.map +0 -1
- package/dist/renderer-BghW-bSZ.mjs +0 -3
- package/dist/renderer-BpCxKWQm.mjs.map +0 -1
- package/dist/renderer-BtRfKx5N.mjs.map +0 -1
- package/dist/renderer-But0u-xi.mjs.map +0 -1
- package/dist/renderer-Bw3oZ9YT.mjs +0 -3
- package/dist/renderer-C-H680_l.mjs +0 -3
- package/dist/renderer-C2009W-_.mjs +0 -3
- package/dist/renderer-C36yoGXG.mjs +0 -3
- package/dist/renderer-CDLrNgfo.mjs +0 -3
- package/dist/renderer-CIYcdZuZ.mjs.map +0 -1
- package/dist/renderer-CJNyhr_S.mjs.map +0 -1
- package/dist/renderer-CL3evUmF.mjs +0 -3
- package/dist/renderer-CM1_2ZWA.mjs +0 -3
- package/dist/renderer-CNF10fCq.mjs.map +0 -1
- package/dist/renderer-CQdVj2JS.mjs +0 -3
- package/dist/renderer-CQiTodg9.mjs +0 -337
- package/dist/renderer-CQiTodg9.mjs.map +0 -1
- package/dist/renderer-CWlzudP8.mjs +0 -3
- package/dist/renderer-CZgB5st8.mjs +0 -3
- package/dist/renderer-CcU7dVn9.mjs.map +0 -1
- package/dist/renderer-Cd5vzrGs.mjs +0 -3
- package/dist/renderer-CeJ_vDXI.mjs +0 -3
- package/dist/renderer-CepMDQ06.mjs.map +0 -1
- package/dist/renderer-CfeoxM_3.mjs.map +0 -1
- package/dist/renderer-CjY77sB_.mjs +0 -3
- package/dist/renderer-CkykdR_D.mjs +0 -3
- package/dist/renderer-CoZKST2Y.mjs.map +0 -1
- package/dist/renderer-CpkiHRhh.mjs.map +0 -1
- package/dist/renderer-CroHPOsX.mjs.map +0 -1
- package/dist/renderer-CtVkU_GA.mjs +0 -44
- package/dist/renderer-CtVkU_GA.mjs.map +0 -1
- package/dist/renderer-CzPWB0Ss.mjs.map +0 -1
- package/dist/renderer-D-4Yh-RK.mjs.map +0 -1
- package/dist/renderer-D2XD4QYk.mjs.map +0 -1
- package/dist/renderer-D5Z6mda5.mjs +0 -3
- package/dist/renderer-D7ztfQHX.mjs.map +0 -1
- package/dist/renderer-D7zvPHKn.mjs.map +0 -1
- package/dist/renderer-D9NnIx7o.mjs +0 -3
- package/dist/renderer-DAMJZNtX.mjs.map +0 -1
- package/dist/renderer-DCJa7OGk.mjs +0 -3
- package/dist/renderer-DCkSR2Ne.mjs.map +0 -1
- package/dist/renderer-DEJwPRkR.mjs.map +0 -1
- package/dist/renderer-DGwSl7g1.mjs +0 -3
- package/dist/renderer-DNNqpK7t.mjs.map +0 -1
- package/dist/renderer-DNoRNfMm.mjs +0 -3
- package/dist/renderer-DOZ8bpyY.mjs +0 -3
- package/dist/renderer-DRHyRNU8.mjs +0 -3
- package/dist/renderer-DTvfYkI9.mjs.map +0 -1
- package/dist/renderer-DYm4duFr.mjs.map +0 -1
- package/dist/renderer-DZGtBUCx.mjs.map +0 -1
- package/dist/renderer-D_1oDOCP.mjs.map +0 -1
- package/dist/renderer-DdVBt8Rz.mjs.map +0 -1
- package/dist/renderer-DjTiNeAp.mjs.map +0 -1
- package/dist/renderer-Dju9CaeL.mjs.map +0 -1
- package/dist/renderer-DlD85Xoi.mjs +0 -3
- package/dist/renderer-Dr0bgOrW.mjs +0 -3
- package/dist/renderer-DurtG-Hc.mjs +0 -3
- package/dist/renderer-DxtHmyAa.mjs.map +0 -1
- package/dist/renderer-_bygZSKk.mjs.map +0 -1
- package/dist/renderer-_uvdg48N.mjs.map +0 -1
- package/dist/renderer-d5-F_48R.mjs +0 -3
- package/dist/renderer-eFv9HBmL.mjs +0 -3
- package/dist/renderer-ho_jXJ0H.mjs.map +0 -1
- package/dist/renderer-iuV6wQoL.mjs +0 -4
- package/dist/renderer-jkZ_IQnW.mjs.map +0 -1
- package/dist/renderer-n-uuWPF4.mjs +0 -3
- package/dist/renderer-rzccTFuY.mjs +0 -3
- package/dist/renderer-wVldKtFU.mjs.map +0 -1
- package/dist/renderer-xKOVmd2O.mjs.map +0 -1
- package/dist/renderer-y9eGFPFL.mjs +0 -3
- /package/dist/{renderer-C2n-EHxg.mjs → renderer-B-BcgA6d.mjs} +0 -0
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { n as defineRenderer } from "./renderer-
|
|
2
|
-
import { i as VideoResultSchema, n as ImageResultSchema, t as ColorSchema } from "./dist-
|
|
1
|
+
import { n as defineRenderer } from "./renderer-BSitV56h.mjs";
|
|
2
|
+
import { i as VideoResultSchema, n as ImageResultSchema, t as ColorSchema } from "./dist-BY0bIWgr.mjs";
|
|
3
|
+
import { a as createFullscreenPipeline, c as drawTextureToTarget, l as fragmentBindGroupLayout, n as PREMULTIPLIED_BLEND, s as drawFullscreenPass, t as FULLSCREEN_QUAD_WGSL } from "./gpu-RkpiFGOA.mjs";
|
|
3
4
|
import { z } from "zod";
|
|
4
5
|
|
|
5
|
-
//#region ../../nodes/node-layer-style/dist/renderers-
|
|
6
|
+
//#region ../../nodes/node-layer-style/dist/renderers-Ch81UvXn.mjs
|
|
6
7
|
const DropShadowStyleSchema = z.object({
|
|
7
8
|
enabled: z.boolean().default(false),
|
|
8
9
|
color: ColorSchema.default("#000000"),
|
|
@@ -187,6 +188,226 @@ function computeLayerStylePadding(config) {
|
|
|
187
188
|
};
|
|
188
189
|
}
|
|
189
190
|
const LayerStyleResultSchema = z.union([ImageResultSchema, VideoResultSchema]);
|
|
191
|
+
const LAYER_STYLE_PRESETS = [
|
|
192
|
+
{
|
|
193
|
+
id: "subtle-drop-shadow",
|
|
194
|
+
name: "Subtle Drop Shadow",
|
|
195
|
+
description: "Clean modern floating shadow for UI and graphics",
|
|
196
|
+
config: {
|
|
197
|
+
dropShadow: {
|
|
198
|
+
...DEFAULT_DROP_SHADOW,
|
|
199
|
+
enabled: true,
|
|
200
|
+
opacity: .35,
|
|
201
|
+
distance: 8,
|
|
202
|
+
size: 16
|
|
203
|
+
},
|
|
204
|
+
innerShadow: { ...DEFAULT_INNER_SHADOW },
|
|
205
|
+
outerGlow: { ...DEFAULT_GLOW },
|
|
206
|
+
innerGlow: { ...DEFAULT_GLOW },
|
|
207
|
+
stroke: { ...DEFAULT_STROKE },
|
|
208
|
+
bevelEmboss: { ...DEFAULT_BEVEL_EMBOSS },
|
|
209
|
+
colorOverlay: { ...DEFAULT_COLOR_OVERLAY }
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
id: "sticker-outline-shadow",
|
|
214
|
+
name: "Sticker Border & Shadow",
|
|
215
|
+
description: "Crisp white die-cut sticker border with contact shadow",
|
|
216
|
+
config: {
|
|
217
|
+
dropShadow: {
|
|
218
|
+
...DEFAULT_DROP_SHADOW,
|
|
219
|
+
enabled: true,
|
|
220
|
+
opacity: .4,
|
|
221
|
+
distance: 6
|
|
222
|
+
},
|
|
223
|
+
stroke: {
|
|
224
|
+
...DEFAULT_STROKE,
|
|
225
|
+
enabled: true,
|
|
226
|
+
size: 6
|
|
227
|
+
},
|
|
228
|
+
innerShadow: { ...DEFAULT_INNER_SHADOW },
|
|
229
|
+
outerGlow: { ...DEFAULT_GLOW },
|
|
230
|
+
innerGlow: { ...DEFAULT_GLOW },
|
|
231
|
+
bevelEmboss: { ...DEFAULT_BEVEL_EMBOSS },
|
|
232
|
+
colorOverlay: { ...DEFAULT_COLOR_OVERLAY }
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
id: "neon-cyber-glow",
|
|
237
|
+
name: "Neon Glow",
|
|
238
|
+
description: "Vibrant outer and inner luminescence with soft cyan radiation",
|
|
239
|
+
config: {
|
|
240
|
+
dropShadow: { ...DEFAULT_DROP_SHADOW },
|
|
241
|
+
innerShadow: { ...DEFAULT_INNER_SHADOW },
|
|
242
|
+
outerGlow: {
|
|
243
|
+
...DEFAULT_GLOW,
|
|
244
|
+
enabled: true,
|
|
245
|
+
color: "#00f0ff",
|
|
246
|
+
opacity: .9,
|
|
247
|
+
size: 28,
|
|
248
|
+
spread: 12
|
|
249
|
+
},
|
|
250
|
+
innerGlow: {
|
|
251
|
+
...DEFAULT_GLOW,
|
|
252
|
+
enabled: true,
|
|
253
|
+
opacity: .8,
|
|
254
|
+
size: 10,
|
|
255
|
+
spread: 5
|
|
256
|
+
},
|
|
257
|
+
stroke: {
|
|
258
|
+
...DEFAULT_STROKE,
|
|
259
|
+
enabled: true,
|
|
260
|
+
position: "center",
|
|
261
|
+
color: "#00f0ff",
|
|
262
|
+
opacity: .9,
|
|
263
|
+
blendMode: "screen"
|
|
264
|
+
},
|
|
265
|
+
bevelEmboss: { ...DEFAULT_BEVEL_EMBOSS },
|
|
266
|
+
colorOverlay: { ...DEFAULT_COLOR_OVERLAY }
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
id: "glass-emboss",
|
|
271
|
+
name: "Glass & Emboss",
|
|
272
|
+
description: "Pristine glass beveling with specular highlights and depth",
|
|
273
|
+
config: {
|
|
274
|
+
dropShadow: {
|
|
275
|
+
...DEFAULT_DROP_SHADOW,
|
|
276
|
+
enabled: true,
|
|
277
|
+
opacity: .25,
|
|
278
|
+
distance: 6,
|
|
279
|
+
size: 12
|
|
280
|
+
},
|
|
281
|
+
innerShadow: {
|
|
282
|
+
...DEFAULT_INNER_SHADOW,
|
|
283
|
+
enabled: true,
|
|
284
|
+
opacity: .3,
|
|
285
|
+
distance: 4,
|
|
286
|
+
size: 6
|
|
287
|
+
},
|
|
288
|
+
outerGlow: { ...DEFAULT_GLOW },
|
|
289
|
+
innerGlow: {
|
|
290
|
+
...DEFAULT_GLOW,
|
|
291
|
+
enabled: true,
|
|
292
|
+
opacity: .6,
|
|
293
|
+
size: 8
|
|
294
|
+
},
|
|
295
|
+
stroke: { ...DEFAULT_STROKE },
|
|
296
|
+
bevelEmboss: {
|
|
297
|
+
...DEFAULT_BEVEL_EMBOSS,
|
|
298
|
+
enabled: true,
|
|
299
|
+
depth: 180,
|
|
300
|
+
size: 8,
|
|
301
|
+
soften: 2,
|
|
302
|
+
altitude: 35,
|
|
303
|
+
highlightOpacity: .9,
|
|
304
|
+
shadowOpacity: .5
|
|
305
|
+
},
|
|
306
|
+
colorOverlay: { ...DEFAULT_COLOR_OVERLAY }
|
|
307
|
+
}
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
id: "letterpress-carved",
|
|
311
|
+
name: "Letterpress / Carved",
|
|
312
|
+
description: "Debossed letterpress engraving into paper surface",
|
|
313
|
+
config: {
|
|
314
|
+
dropShadow: {
|
|
315
|
+
...DEFAULT_DROP_SHADOW,
|
|
316
|
+
enabled: true,
|
|
317
|
+
color: "#ffffff",
|
|
318
|
+
opacity: .85,
|
|
319
|
+
angle: 300,
|
|
320
|
+
distance: 2,
|
|
321
|
+
size: 1,
|
|
322
|
+
blendMode: "screen"
|
|
323
|
+
},
|
|
324
|
+
innerShadow: {
|
|
325
|
+
...DEFAULT_INNER_SHADOW,
|
|
326
|
+
enabled: true,
|
|
327
|
+
opacity: .7,
|
|
328
|
+
distance: 3,
|
|
329
|
+
choke: 10,
|
|
330
|
+
size: 4
|
|
331
|
+
},
|
|
332
|
+
outerGlow: { ...DEFAULT_GLOW },
|
|
333
|
+
innerGlow: { ...DEFAULT_GLOW },
|
|
334
|
+
stroke: { ...DEFAULT_STROKE },
|
|
335
|
+
bevelEmboss: {
|
|
336
|
+
...DEFAULT_BEVEL_EMBOSS,
|
|
337
|
+
enabled: true,
|
|
338
|
+
technique: "ChiselHard",
|
|
339
|
+
depth: 150,
|
|
340
|
+
direction: "Down",
|
|
341
|
+
size: 3,
|
|
342
|
+
highlightOpacity: .6,
|
|
343
|
+
shadowOpacity: .8
|
|
344
|
+
},
|
|
345
|
+
colorOverlay: { ...DEFAULT_COLOR_OVERLAY }
|
|
346
|
+
}
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
id: "gold-bevel",
|
|
350
|
+
name: "Metallic Gold Bevel",
|
|
351
|
+
description: "High-specular chisel gold badge with deep relief",
|
|
352
|
+
config: {
|
|
353
|
+
dropShadow: {
|
|
354
|
+
...DEFAULT_DROP_SHADOW,
|
|
355
|
+
enabled: true,
|
|
356
|
+
opacity: .6,
|
|
357
|
+
distance: 8,
|
|
358
|
+
spread: 5,
|
|
359
|
+
size: 12
|
|
360
|
+
},
|
|
361
|
+
innerShadow: {
|
|
362
|
+
...DEFAULT_INNER_SHADOW,
|
|
363
|
+
enabled: true,
|
|
364
|
+
color: "#573a08",
|
|
365
|
+
opacity: .5,
|
|
366
|
+
distance: 3
|
|
367
|
+
},
|
|
368
|
+
outerGlow: {
|
|
369
|
+
...DEFAULT_GLOW,
|
|
370
|
+
enabled: true,
|
|
371
|
+
color: "#ffc83b",
|
|
372
|
+
opacity: .4,
|
|
373
|
+
size: 20,
|
|
374
|
+
spread: 5
|
|
375
|
+
},
|
|
376
|
+
innerGlow: {
|
|
377
|
+
...DEFAULT_GLOW,
|
|
378
|
+
enabled: true,
|
|
379
|
+
color: "#fff7d1",
|
|
380
|
+
opacity: .5,
|
|
381
|
+
size: 6
|
|
382
|
+
},
|
|
383
|
+
stroke: {
|
|
384
|
+
...DEFAULT_STROKE,
|
|
385
|
+
enabled: true,
|
|
386
|
+
color: "#b38728"
|
|
387
|
+
},
|
|
388
|
+
bevelEmboss: {
|
|
389
|
+
...DEFAULT_BEVEL_EMBOSS,
|
|
390
|
+
enabled: true,
|
|
391
|
+
technique: "ChiselHard",
|
|
392
|
+
depth: 350,
|
|
393
|
+
size: 10,
|
|
394
|
+
soften: 1,
|
|
395
|
+
altitude: 40,
|
|
396
|
+
highlightColor: "#fff4cc",
|
|
397
|
+
highlightOpacity: .95,
|
|
398
|
+
shadowColor: "#422b00",
|
|
399
|
+
shadowOpacity: .85
|
|
400
|
+
},
|
|
401
|
+
colorOverlay: {
|
|
402
|
+
...DEFAULT_COLOR_OVERLAY,
|
|
403
|
+
enabled: true,
|
|
404
|
+
color: "#f5b324",
|
|
405
|
+
opacity: .35,
|
|
406
|
+
blendMode: "overlay"
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
];
|
|
190
411
|
function hexToRgba(hex) {
|
|
191
412
|
if (!hex) return [
|
|
192
413
|
1,
|
|
@@ -303,27 +524,7 @@ struct LayerStyleUniforms {
|
|
|
303
524
|
@group(0) @binding(0) var<uniform> u : LayerStyleUniforms;
|
|
304
525
|
@group(1) @binding(0) var tex : texture_2d<f32>;
|
|
305
526
|
@group(1) @binding(1) var samp : sampler;
|
|
306
|
-
|
|
307
|
-
struct VSOut {
|
|
308
|
-
@builtin(position) pos : vec4<f32>,
|
|
309
|
-
@location(0) uv : vec2<f32>,
|
|
310
|
-
};
|
|
311
|
-
|
|
312
|
-
@vertex fn vs(@builtin(vertex_index) vi: u32) -> VSOut {
|
|
313
|
-
var pos = array<vec2<f32>, 4>(
|
|
314
|
-
vec2<f32>(-1.0, 1.0),
|
|
315
|
-
vec2<f32>(1.0, 1.0),
|
|
316
|
-
vec2<f32>(-1.0, -1.0),
|
|
317
|
-
vec2<f32>(1.0, -1.0)
|
|
318
|
-
);
|
|
319
|
-
var uv = array<vec2<f32>, 4>(
|
|
320
|
-
vec2<f32>(0.0, 0.0),
|
|
321
|
-
vec2<f32>(1.0, 0.0),
|
|
322
|
-
vec2<f32>(0.0, 1.0),
|
|
323
|
-
vec2<f32>(1.0, 1.0)
|
|
324
|
-
);
|
|
325
|
-
return VSOut(vec4<f32>(pos[vi], 0.0, 1.0), uv[vi]);
|
|
326
|
-
}
|
|
527
|
+
${FULLSCREEN_QUAD_WGSL}
|
|
327
528
|
|
|
328
529
|
fn sampleAlpha(uv: vec2<f32>) -> f32 {
|
|
329
530
|
if (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0) {
|
|
@@ -795,48 +996,14 @@ function getLayerStyleResources(device, format) {
|
|
|
795
996
|
let res = resourcesCache.get(device);
|
|
796
997
|
if (res) return res;
|
|
797
998
|
const module = device.createShaderModule({ code: WGSL_LAYER_STYLE_SHADER });
|
|
798
|
-
const uniformLayout = device
|
|
799
|
-
|
|
800
|
-
visibility: GPUShaderStage.FRAGMENT,
|
|
801
|
-
buffer: { type: "uniform" }
|
|
802
|
-
}] });
|
|
803
|
-
const textureLayout = device.createBindGroupLayout({ entries: [{
|
|
804
|
-
binding: 0,
|
|
805
|
-
visibility: GPUShaderStage.FRAGMENT,
|
|
806
|
-
texture: { sampleType: "float" }
|
|
807
|
-
}, {
|
|
808
|
-
binding: 1,
|
|
809
|
-
visibility: GPUShaderStage.FRAGMENT,
|
|
810
|
-
sampler: { type: "filtering" }
|
|
811
|
-
}] });
|
|
812
|
-
const pipelineLayout = device.createPipelineLayout({ bindGroupLayouts: [uniformLayout, textureLayout] });
|
|
999
|
+
const uniformLayout = fragmentBindGroupLayout(device, ["uniform"]);
|
|
1000
|
+
const textureLayout = fragmentBindGroupLayout(device, ["texture", "sampler"]);
|
|
813
1001
|
res = {
|
|
814
|
-
pipeline: device
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
},
|
|
820
|
-
fragment: {
|
|
821
|
-
module,
|
|
822
|
-
entryPoint: "fs",
|
|
823
|
-
targets: [{
|
|
824
|
-
format,
|
|
825
|
-
blend: {
|
|
826
|
-
color: {
|
|
827
|
-
srcFactor: "one",
|
|
828
|
-
dstFactor: "one-minus-src-alpha",
|
|
829
|
-
operation: "add"
|
|
830
|
-
},
|
|
831
|
-
alpha: {
|
|
832
|
-
srcFactor: "one",
|
|
833
|
-
dstFactor: "one-minus-src-alpha",
|
|
834
|
-
operation: "add"
|
|
835
|
-
}
|
|
836
|
-
}
|
|
837
|
-
}]
|
|
838
|
-
},
|
|
839
|
-
primitive: { topology: "triangle-strip" }
|
|
1002
|
+
pipeline: createFullscreenPipeline(device, {
|
|
1003
|
+
module,
|
|
1004
|
+
layouts: device.createPipelineLayout({ bindGroupLayouts: [uniformLayout, textureLayout] }),
|
|
1005
|
+
format,
|
|
1006
|
+
blend: PREMULTIPLIED_BLEND
|
|
840
1007
|
}),
|
|
841
1008
|
uniformLayout,
|
|
842
1009
|
textureLayout
|
|
@@ -846,7 +1013,7 @@ function getLayerStyleResources(device, format) {
|
|
|
846
1013
|
}
|
|
847
1014
|
const uniformBufferData = new Float32Array(88);
|
|
848
1015
|
const WebGPURenderer = async (args) => {
|
|
849
|
-
const { ctx, encoder, pass,
|
|
1016
|
+
const { ctx, encoder, pass, targetTexture, targetWidth, targetHeight, props, drawChild } = args;
|
|
850
1017
|
const op = props.virtualMedia?.operation;
|
|
851
1018
|
if (op?.op !== "LayerStyle" || !op) return;
|
|
852
1019
|
const childMedia = props.virtualMedia.children?.[0];
|
|
@@ -1084,38 +1251,11 @@ const WebGPURenderer = async (args) => {
|
|
|
1084
1251
|
targetTexture,
|
|
1085
1252
|
...props.excludeTextures || []
|
|
1086
1253
|
]);
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
loadOp: "clear",
|
|
1090
|
-
storeOp: "store",
|
|
1091
|
-
clearValue: {
|
|
1092
|
-
r: 0,
|
|
1093
|
-
g: 0,
|
|
1094
|
-
b: 0,
|
|
1095
|
-
a: 0
|
|
1096
|
-
}
|
|
1097
|
-
}] });
|
|
1098
|
-
renderPass.setPipeline(pipeline);
|
|
1099
|
-
renderPass.setBindGroup(0, uBindGroup);
|
|
1100
|
-
renderPass.setBindGroup(1, tBindGroup);
|
|
1101
|
-
renderPass.draw(4);
|
|
1102
|
-
renderPass.end();
|
|
1103
|
-
const finalPass = ctx.renderer.beginFrame(encoder, targetView, {
|
|
1104
|
-
r: 0,
|
|
1105
|
-
g: 0,
|
|
1106
|
-
b: 0,
|
|
1107
|
-
a: 0
|
|
1108
|
-
}, targetWidth, targetHeight, "load");
|
|
1109
|
-
ctx.renderer.drawTexture(finalPass, outTex, {
|
|
1110
|
-
x: 0,
|
|
1111
|
-
y: 0,
|
|
1112
|
-
width: targetWidth,
|
|
1113
|
-
height: targetHeight
|
|
1114
|
-
}, { opacity: op.opacity ?? 1 });
|
|
1115
|
-
args.pass = finalPass;
|
|
1254
|
+
drawFullscreenPass(encoder, outTex.createView(), pipeline, [uBindGroup, tBindGroup]);
|
|
1255
|
+
drawTextureToTarget(args, outTex, op.opacity ?? 1);
|
|
1116
1256
|
};
|
|
1117
1257
|
var renderers_default = defineRenderer({ WebGPURenderer });
|
|
1118
1258
|
|
|
1119
1259
|
//#endregion
|
|
1120
1260
|
export { renderers_default as t };
|
|
1121
|
-
//# sourceMappingURL=renderer-
|
|
1261
|
+
//# sourceMappingURL=renderer-CEGbqT2m.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer-CEGbqT2m.mjs","names":[],"sources":["../../../nodes/node-layer-style/dist/renderers-Ch81UvXn.mjs"],"sourcesContent":["import { defineRenderer } from \"@framefields/node-sdk/renderer\";\nimport { FULLSCREEN_QUAD_WGSL, PREMULTIPLIED_BLEND, createFullscreenPipeline, drawFullscreenPass, drawTextureToTarget, fragmentBindGroupLayout } from \"@framefields/node-sdk/gpu\";\nimport { ColorSchema, ImageResultSchema, VideoResultSchema } from \"@framefields/node-sdk\";\nimport { z } from \"zod\";\n\n//#region src/shared/config.ts\nconst LAYER_STYLE_BLEND_MODES = [\n\t{\n\t\tvalue: \"normal\",\n\t\tlabel: \"Normal\"\n\t},\n\t{\n\t\tvalue: \"multiply\",\n\t\tlabel: \"Multiply\"\n\t},\n\t{\n\t\tvalue: \"screen\",\n\t\tlabel: \"Screen\"\n\t},\n\t{\n\t\tvalue: \"overlay\",\n\t\tlabel: \"Overlay\"\n\t},\n\t{\n\t\tvalue: \"darken\",\n\t\tlabel: \"Darken\"\n\t},\n\t{\n\t\tvalue: \"lighten\",\n\t\tlabel: \"Lighten\"\n\t},\n\t{\n\t\tvalue: \"color-dodge\",\n\t\tlabel: \"Color Dodge\"\n\t},\n\t{\n\t\tvalue: \"color-burn\",\n\t\tlabel: \"Color Burn\"\n\t},\n\t{\n\t\tvalue: \"hard-light\",\n\t\tlabel: \"Hard Light\"\n\t},\n\t{\n\t\tvalue: \"soft-light\",\n\t\tlabel: \"Soft Light\"\n\t},\n\t{\n\t\tvalue: \"difference\",\n\t\tlabel: \"Difference\"\n\t},\n\t{\n\t\tvalue: \"exclusion\",\n\t\tlabel: \"Exclusion\"\n\t},\n\t{\n\t\tvalue: \"hue\",\n\t\tlabel: \"Hue\"\n\t},\n\t{\n\t\tvalue: \"saturation\",\n\t\tlabel: \"Saturation\"\n\t},\n\t{\n\t\tvalue: \"color\",\n\t\tlabel: \"Color\"\n\t},\n\t{\n\t\tvalue: \"luminosity\",\n\t\tlabel: \"Luminosity\"\n\t},\n\t{\n\t\tvalue: \"lighter\",\n\t\tlabel: \"Lighter (Add)\"\n\t},\n\t{\n\t\tvalue: \"copy\",\n\t\tlabel: \"Copy\"\n\t},\n\t{\n\t\tvalue: \"xor\",\n\t\tlabel: \"XOR\"\n\t},\n\t{\n\t\tvalue: \"source-over\",\n\t\tlabel: \"Source Over\"\n\t},\n\t{\n\t\tvalue: \"source-in\",\n\t\tlabel: \"Source In\"\n\t},\n\t{\n\t\tvalue: \"source-out\",\n\t\tlabel: \"Source Out\"\n\t},\n\t{\n\t\tvalue: \"source-atop\",\n\t\tlabel: \"Source Atop\"\n\t},\n\t{\n\t\tvalue: \"destination-over\",\n\t\tlabel: \"Destination Over\"\n\t},\n\t{\n\t\tvalue: \"destination-in\",\n\t\tlabel: \"Destination In\"\n\t},\n\t{\n\t\tvalue: \"destination-out\",\n\t\tlabel: \"Destination Out\"\n\t},\n\t{\n\t\tvalue: \"destination-atop\",\n\t\tlabel: \"Destination Atop\"\n\t}\n];\nconst DropShadowStyleSchema = z.object({\n\tenabled: z.boolean().default(false),\n\tcolor: ColorSchema.default(\"#000000\"),\n\topacity: z.number().min(0).max(1).default(.75),\n\tangle: z.number().min(0).max(360).default(120),\n\tdistance: z.number().min(0).max(500).default(10),\n\tspread: z.number().min(0).max(100).default(0),\n\tsize: z.number().min(0).max(250).default(10),\n\tblendMode: z.string().default(\"multiply\")\n});\nconst InnerShadowStyleSchema = z.object({\n\tenabled: z.boolean().default(false),\n\tcolor: ColorSchema.default(\"#000000\"),\n\topacity: z.number().min(0).max(1).default(.75),\n\tangle: z.number().min(0).max(360).default(120),\n\tdistance: z.number().min(0).max(500).default(5),\n\tchoke: z.number().min(0).max(100).default(0),\n\tsize: z.number().min(0).max(250).default(5),\n\tblendMode: z.string().default(\"multiply\")\n});\nconst StrokeStyleSchema = z.object({\n\tenabled: z.boolean().default(false),\n\tsize: z.number().min(0).max(100).default(2),\n\tposition: z.enum([\n\t\t\"inside\",\n\t\t\"center\",\n\t\t\"outside\"\n\t]).default(\"outside\"),\n\tcolor: ColorSchema.default(\"#ffffff\"),\n\topacity: z.number().min(0).max(1).default(1),\n\tblendMode: z.string().default(\"normal\")\n});\nconst GlowStyleSchema = z.object({\n\tenabled: z.boolean().default(false),\n\tcolor: ColorSchema.default(\"#ffffff\"),\n\topacity: z.number().min(0).max(1).default(.75),\n\tsize: z.number().min(0).max(250).default(15),\n\tspread: z.number().min(0).max(100).default(0),\n\tblendMode: z.string().default(\"screen\")\n});\nconst BevelEmbossStyleSchema = z.object({\n\tenabled: z.boolean().default(false),\n\tstyle: z.enum([\n\t\t\"InnerBevel\",\n\t\t\"OuterBevel\",\n\t\t\"Emboss\",\n\t\t\"PillowEmboss\"\n\t]).default(\"InnerBevel\"),\n\ttechnique: z.enum([\n\t\t\"Smooth\",\n\t\t\"ChiselHard\",\n\t\t\"ChiselSoft\"\n\t]).default(\"Smooth\"),\n\tdepth: z.number().min(1).max(1e3).default(100),\n\tdirection: z.enum([\"Up\", \"Down\"]).default(\"Up\"),\n\tsize: z.number().min(0).max(250).default(5),\n\tsoften: z.number().min(0).max(50).default(0),\n\tangle: z.number().min(0).max(360).default(120),\n\taltitude: z.number().min(0).max(90).default(30),\n\thighlightColor: ColorSchema.default(\"#ffffff\"),\n\thighlightOpacity: z.number().min(0).max(1).default(.75),\n\tshadowColor: ColorSchema.default(\"#000000\"),\n\tshadowOpacity: z.number().min(0).max(1).default(.75)\n});\nconst ColorOverlayStyleSchema = z.object({\n\tenabled: z.boolean().default(false),\n\tcolor: ColorSchema.default(\"#ff0000\"),\n\topacity: z.number().min(0).max(1).default(1),\n\tblendMode: z.string().default(\"normal\")\n});\nconst DEFAULT_DROP_SHADOW = {\n\tenabled: false,\n\tcolor: \"#000000\",\n\topacity: .75,\n\tangle: 120,\n\tdistance: 10,\n\tspread: 0,\n\tsize: 10,\n\tblendMode: \"multiply\"\n};\nconst DEFAULT_INNER_SHADOW = {\n\tenabled: false,\n\tcolor: \"#000000\",\n\topacity: .75,\n\tangle: 120,\n\tdistance: 5,\n\tchoke: 0,\n\tsize: 5,\n\tblendMode: \"multiply\"\n};\nconst DEFAULT_GLOW = {\n\tenabled: false,\n\tcolor: \"#ffffff\",\n\topacity: .75,\n\tsize: 15,\n\tspread: 0,\n\tblendMode: \"screen\"\n};\nconst DEFAULT_STROKE = {\n\tenabled: false,\n\tsize: 2,\n\tposition: \"outside\",\n\tcolor: \"#ffffff\",\n\topacity: 1,\n\tblendMode: \"normal\"\n};\nconst DEFAULT_BEVEL_EMBOSS = {\n\tenabled: false,\n\tstyle: \"InnerBevel\",\n\ttechnique: \"Smooth\",\n\tdepth: 100,\n\tdirection: \"Up\",\n\tsize: 5,\n\tsoften: 0,\n\tangle: 120,\n\taltitude: 30,\n\thighlightColor: \"#ffffff\",\n\thighlightOpacity: .75,\n\tshadowColor: \"#000000\",\n\tshadowOpacity: .75\n};\nconst DEFAULT_COLOR_OVERLAY = {\n\tenabled: false,\n\tcolor: \"#ff0000\",\n\topacity: 1,\n\tblendMode: \"normal\"\n};\nconst LayerStyleNodeConfigSchema = z.object({\n\tdropShadow: DropShadowStyleSchema.default(DEFAULT_DROP_SHADOW),\n\tinnerShadow: InnerShadowStyleSchema.default(DEFAULT_INNER_SHADOW),\n\touterGlow: GlowStyleSchema.default(DEFAULT_GLOW),\n\tinnerGlow: GlowStyleSchema.default(DEFAULT_GLOW),\n\tstroke: StrokeStyleSchema.default(DEFAULT_STROKE),\n\tbevelEmboss: BevelEmbossStyleSchema.default(DEFAULT_BEVEL_EMBOSS),\n\tcolorOverlay: ColorOverlayStyleSchema.default(DEFAULT_COLOR_OVERLAY),\n\tdropShadowAngleHandleId: z.string().nullable().optional(),\n\tdropShadowDistanceHandleId: z.string().nullable().optional(),\n\tdropShadowSpreadHandleId: z.string().nullable().optional(),\n\tdropShadowSizeHandleId: z.string().nullable().optional(),\n\tdropShadowOpacityHandleId: z.string().nullable().optional(),\n\tinnerShadowAngleHandleId: z.string().nullable().optional(),\n\tinnerShadowDistanceHandleId: z.string().nullable().optional(),\n\tinnerShadowChokeHandleId: z.string().nullable().optional(),\n\tinnerShadowSizeHandleId: z.string().nullable().optional(),\n\tinnerShadowOpacityHandleId: z.string().nullable().optional(),\n\touterGlowSizeHandleId: z.string().nullable().optional(),\n\touterGlowSpreadHandleId: z.string().nullable().optional(),\n\touterGlowOpacityHandleId: z.string().nullable().optional(),\n\tinnerGlowSizeHandleId: z.string().nullable().optional(),\n\tinnerGlowSpreadHandleId: z.string().nullable().optional(),\n\tinnerGlowOpacityHandleId: z.string().nullable().optional(),\n\tstrokeSizeHandleId: z.string().nullable().optional(),\n\tstrokeOpacityHandleId: z.string().nullable().optional(),\n\tbevelEmbossDepthHandleId: z.string().nullable().optional(),\n\tbevelEmbossSizeHandleId: z.string().nullable().optional(),\n\tbevelEmbossSoftenHandleId: z.string().nullable().optional(),\n\tbevelEmbossAngleHandleId: z.string().nullable().optional(),\n\tbevelEmbossAltitudeHandleId: z.string().nullable().optional(),\n\tbevelEmbossHighlightOpacityHandleId: z.string().nullable().optional(),\n\tbevelEmbossShadowOpacityHandleId: z.string().nullable().optional(),\n\tcolorOverlayOpacityHandleId: z.string().nullable().optional()\n});\nfunction computeLayerStylePadding(config) {\n\tlet padX = 0;\n\tlet padY = 0;\n\tif (config.dropShadow?.enabled) {\n\t\tconst angleRad = (config.dropShadow.angle ?? 120) * Math.PI / 180;\n\t\tconst dist = config.dropShadow.distance ?? 0;\n\t\tconst dx = Math.ceil(Math.abs(Math.cos(angleRad)) * dist);\n\t\tconst dy = Math.ceil(Math.abs(Math.sin(angleRad)) * dist);\n\t\tpadX = Math.max(padX, dx);\n\t\tpadY = Math.max(padY, dy);\n\t}\n\tif (config.stroke?.enabled && config.stroke.position !== \"inside\") {\n\t\tconst strokePad = config.stroke.position === \"outside\" ? Math.ceil(config.stroke.size ?? 2) : Math.ceil((config.stroke.size ?? 2) * .5);\n\t\tpadX = Math.max(padX, strokePad);\n\t\tpadY = Math.max(padY, strokePad);\n\t}\n\treturn {\n\t\tpadX,\n\t\tpadY\n\t};\n}\nconst LAYER_STYLE_CONFIG_HANDLES = [\n\t{\n\t\tconfigKey: \"dropShadowAngle\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Drop Shadow Angle Signal\",\n\t\tdescription: \"Light angle for drop shadow in degrees (0–360°).\"\n\t},\n\t{\n\t\tconfigKey: \"dropShadowDistance\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Drop Shadow Distance Signal\",\n\t\tdescription: \"Offset distance for drop shadow in pixels.\"\n\t},\n\t{\n\t\tconfigKey: \"dropShadowSize\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Drop Shadow Blur Signal\",\n\t\tdescription: \"Blur radius for drop shadow in pixels.\"\n\t},\n\t{\n\t\tconfigKey: \"dropShadowSpread\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Drop Shadow Spread Signal\",\n\t\tdescription: \"Edge expansion/sharpness percentage for drop shadow (0–100%).\"\n\t},\n\t{\n\t\tconfigKey: \"dropShadowOpacity\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Drop Shadow Opacity Signal\",\n\t\tdescription: \"Opacity multiplier for drop shadow (0–1).\"\n\t},\n\t{\n\t\tconfigKey: \"innerShadowAngle\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Inner Shadow Angle Signal\",\n\t\tdescription: \"Light angle for inner shadow in degrees (0–360°).\"\n\t},\n\t{\n\t\tconfigKey: \"innerShadowDistance\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Inner Shadow Distance Signal\",\n\t\tdescription: \"Offset distance for inner shadow in pixels.\"\n\t},\n\t{\n\t\tconfigKey: \"innerShadowSize\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Inner Shadow Blur Signal\",\n\t\tdescription: \"Blur radius for inner shadow in pixels.\"\n\t},\n\t{\n\t\tconfigKey: \"innerShadowChoke\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Inner Shadow Choke Signal\",\n\t\tdescription: \"Choke sharpness percentage for inner shadow (0–100%).\"\n\t},\n\t{\n\t\tconfigKey: \"innerShadowOpacity\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Inner Shadow Opacity Signal\",\n\t\tdescription: \"Opacity multiplier for inner shadow (0–1).\"\n\t},\n\t{\n\t\tconfigKey: \"outerGlowSize\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Outer Glow Size Signal\",\n\t\tdescription: \"Glow radius for outer glow in pixels.\"\n\t},\n\t{\n\t\tconfigKey: \"outerGlowSpread\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Outer Glow Spread Signal\",\n\t\tdescription: \"Spread percentage for outer glow (0–100%).\"\n\t},\n\t{\n\t\tconfigKey: \"outerGlowOpacity\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Outer Glow Opacity Signal\",\n\t\tdescription: \"Opacity multiplier for outer glow (0–1).\"\n\t},\n\t{\n\t\tconfigKey: \"innerGlowSize\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Inner Glow Size Signal\",\n\t\tdescription: \"Glow radius for inner glow in pixels.\"\n\t},\n\t{\n\t\tconfigKey: \"innerGlowSpread\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Inner Glow Spread Signal\",\n\t\tdescription: \"Spread percentage for inner glow (0–100%).\"\n\t},\n\t{\n\t\tconfigKey: \"innerGlowOpacity\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Inner Glow Opacity Signal\",\n\t\tdescription: \"Opacity multiplier for inner glow (0–1).\"\n\t},\n\t{\n\t\tconfigKey: \"strokeSize\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Stroke Width Signal\",\n\t\tdescription: \"Stroke line width in pixels.\"\n\t},\n\t{\n\t\tconfigKey: \"strokeOpacity\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Stroke Opacity Signal\",\n\t\tdescription: \"Opacity multiplier for stroke (0–1).\"\n\t},\n\t{\n\t\tconfigKey: \"bevelEmbossDepth\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Bevel Depth Signal\",\n\t\tdescription: \"Bevel depth / extrusion percentage (1–1000%).\"\n\t},\n\t{\n\t\tconfigKey: \"bevelEmbossSize\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Bevel Size Signal\",\n\t\tdescription: \"Bevel beveling size in pixels.\"\n\t},\n\t{\n\t\tconfigKey: \"bevelEmbossSoften\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Bevel Soften Signal\",\n\t\tdescription: \"Edge softening blur radius in pixels.\"\n\t},\n\t{\n\t\tconfigKey: \"bevelEmbossAngle\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Bevel Light Angle Signal\",\n\t\tdescription: \"Azimuth light direction in degrees (0–360°).\"\n\t},\n\t{\n\t\tconfigKey: \"bevelEmbossAltitude\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Bevel Light Altitude Signal\",\n\t\tdescription: \"Elevation light altitude in degrees (0–90°).\"\n\t},\n\t{\n\t\tconfigKey: \"bevelEmbossHighlightOpacity\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Bevel Highlight Opacity Signal\",\n\t\tdescription: \"Highlight specular intensity (0–1).\"\n\t},\n\t{\n\t\tconfigKey: \"bevelEmbossShadowOpacity\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Bevel Shadow Opacity Signal\",\n\t\tdescription: \"Shadow diffuse intensity (0–1).\"\n\t},\n\t{\n\t\tconfigKey: \"colorOverlayOpacity\",\n\t\tdataTypes: [\"Number\", \"Signal\"],\n\t\tlabel: \"Color Overlay Opacity Signal\",\n\t\tdescription: \"Color overlay blend opacity (0–1).\"\n\t}\n];\nconst LayerStyleResultSchema = z.union([ImageResultSchema, VideoResultSchema]);\nconst LAYER_STYLE_OUTPUT_TYPE_MAP = {\n\tVideo: \"Video\",\n\tLottie: \"Video\",\n\tGIF: \"GIF\",\n\tImage: \"Image\",\n\tSVG: \"Image\"\n};\nconst LAYER_STYLE_PRESETS = [\n\t{\n\t\tid: \"subtle-drop-shadow\",\n\t\tname: \"Subtle Drop Shadow\",\n\t\tdescription: \"Clean modern floating shadow for UI and graphics\",\n\t\tconfig: {\n\t\t\tdropShadow: {\n\t\t\t\t...DEFAULT_DROP_SHADOW,\n\t\t\t\tenabled: true,\n\t\t\t\topacity: .35,\n\t\t\t\tdistance: 8,\n\t\t\t\tsize: 16\n\t\t\t},\n\t\t\tinnerShadow: { ...DEFAULT_INNER_SHADOW },\n\t\t\touterGlow: { ...DEFAULT_GLOW },\n\t\t\tinnerGlow: { ...DEFAULT_GLOW },\n\t\t\tstroke: { ...DEFAULT_STROKE },\n\t\t\tbevelEmboss: { ...DEFAULT_BEVEL_EMBOSS },\n\t\t\tcolorOverlay: { ...DEFAULT_COLOR_OVERLAY }\n\t\t}\n\t},\n\t{\n\t\tid: \"sticker-outline-shadow\",\n\t\tname: \"Sticker Border & Shadow\",\n\t\tdescription: \"Crisp white die-cut sticker border with contact shadow\",\n\t\tconfig: {\n\t\t\tdropShadow: {\n\t\t\t\t...DEFAULT_DROP_SHADOW,\n\t\t\t\tenabled: true,\n\t\t\t\topacity: .4,\n\t\t\t\tdistance: 6\n\t\t\t},\n\t\t\tstroke: {\n\t\t\t\t...DEFAULT_STROKE,\n\t\t\t\tenabled: true,\n\t\t\t\tsize: 6\n\t\t\t},\n\t\t\tinnerShadow: { ...DEFAULT_INNER_SHADOW },\n\t\t\touterGlow: { ...DEFAULT_GLOW },\n\t\t\tinnerGlow: { ...DEFAULT_GLOW },\n\t\t\tbevelEmboss: { ...DEFAULT_BEVEL_EMBOSS },\n\t\t\tcolorOverlay: { ...DEFAULT_COLOR_OVERLAY }\n\t\t}\n\t},\n\t{\n\t\tid: \"neon-cyber-glow\",\n\t\tname: \"Neon Glow\",\n\t\tdescription: \"Vibrant outer and inner luminescence with soft cyan radiation\",\n\t\tconfig: {\n\t\t\tdropShadow: { ...DEFAULT_DROP_SHADOW },\n\t\t\tinnerShadow: { ...DEFAULT_INNER_SHADOW },\n\t\t\touterGlow: {\n\t\t\t\t...DEFAULT_GLOW,\n\t\t\t\tenabled: true,\n\t\t\t\tcolor: \"#00f0ff\",\n\t\t\t\topacity: .9,\n\t\t\t\tsize: 28,\n\t\t\t\tspread: 12\n\t\t\t},\n\t\t\tinnerGlow: {\n\t\t\t\t...DEFAULT_GLOW,\n\t\t\t\tenabled: true,\n\t\t\t\topacity: .8,\n\t\t\t\tsize: 10,\n\t\t\t\tspread: 5\n\t\t\t},\n\t\t\tstroke: {\n\t\t\t\t...DEFAULT_STROKE,\n\t\t\t\tenabled: true,\n\t\t\t\tposition: \"center\",\n\t\t\t\tcolor: \"#00f0ff\",\n\t\t\t\topacity: .9,\n\t\t\t\tblendMode: \"screen\"\n\t\t\t},\n\t\t\tbevelEmboss: { ...DEFAULT_BEVEL_EMBOSS },\n\t\t\tcolorOverlay: { ...DEFAULT_COLOR_OVERLAY }\n\t\t}\n\t},\n\t{\n\t\tid: \"glass-emboss\",\n\t\tname: \"Glass & Emboss\",\n\t\tdescription: \"Pristine glass beveling with specular highlights and depth\",\n\t\tconfig: {\n\t\t\tdropShadow: {\n\t\t\t\t...DEFAULT_DROP_SHADOW,\n\t\t\t\tenabled: true,\n\t\t\t\topacity: .25,\n\t\t\t\tdistance: 6,\n\t\t\t\tsize: 12\n\t\t\t},\n\t\t\tinnerShadow: {\n\t\t\t\t...DEFAULT_INNER_SHADOW,\n\t\t\t\tenabled: true,\n\t\t\t\topacity: .3,\n\t\t\t\tdistance: 4,\n\t\t\t\tsize: 6\n\t\t\t},\n\t\t\touterGlow: { ...DEFAULT_GLOW },\n\t\t\tinnerGlow: {\n\t\t\t\t...DEFAULT_GLOW,\n\t\t\t\tenabled: true,\n\t\t\t\topacity: .6,\n\t\t\t\tsize: 8\n\t\t\t},\n\t\t\tstroke: { ...DEFAULT_STROKE },\n\t\t\tbevelEmboss: {\n\t\t\t\t...DEFAULT_BEVEL_EMBOSS,\n\t\t\t\tenabled: true,\n\t\t\t\tdepth: 180,\n\t\t\t\tsize: 8,\n\t\t\t\tsoften: 2,\n\t\t\t\taltitude: 35,\n\t\t\t\thighlightOpacity: .9,\n\t\t\t\tshadowOpacity: .5\n\t\t\t},\n\t\t\tcolorOverlay: { ...DEFAULT_COLOR_OVERLAY }\n\t\t}\n\t},\n\t{\n\t\tid: \"letterpress-carved\",\n\t\tname: \"Letterpress / Carved\",\n\t\tdescription: \"Debossed letterpress engraving into paper surface\",\n\t\tconfig: {\n\t\t\tdropShadow: {\n\t\t\t\t...DEFAULT_DROP_SHADOW,\n\t\t\t\tenabled: true,\n\t\t\t\tcolor: \"#ffffff\",\n\t\t\t\topacity: .85,\n\t\t\t\tangle: 300,\n\t\t\t\tdistance: 2,\n\t\t\t\tsize: 1,\n\t\t\t\tblendMode: \"screen\"\n\t\t\t},\n\t\t\tinnerShadow: {\n\t\t\t\t...DEFAULT_INNER_SHADOW,\n\t\t\t\tenabled: true,\n\t\t\t\topacity: .7,\n\t\t\t\tdistance: 3,\n\t\t\t\tchoke: 10,\n\t\t\t\tsize: 4\n\t\t\t},\n\t\t\touterGlow: { ...DEFAULT_GLOW },\n\t\t\tinnerGlow: { ...DEFAULT_GLOW },\n\t\t\tstroke: { ...DEFAULT_STROKE },\n\t\t\tbevelEmboss: {\n\t\t\t\t...DEFAULT_BEVEL_EMBOSS,\n\t\t\t\tenabled: true,\n\t\t\t\ttechnique: \"ChiselHard\",\n\t\t\t\tdepth: 150,\n\t\t\t\tdirection: \"Down\",\n\t\t\t\tsize: 3,\n\t\t\t\thighlightOpacity: .6,\n\t\t\t\tshadowOpacity: .8\n\t\t\t},\n\t\t\tcolorOverlay: { ...DEFAULT_COLOR_OVERLAY }\n\t\t}\n\t},\n\t{\n\t\tid: \"gold-bevel\",\n\t\tname: \"Metallic Gold Bevel\",\n\t\tdescription: \"High-specular chisel gold badge with deep relief\",\n\t\tconfig: {\n\t\t\tdropShadow: {\n\t\t\t\t...DEFAULT_DROP_SHADOW,\n\t\t\t\tenabled: true,\n\t\t\t\topacity: .6,\n\t\t\t\tdistance: 8,\n\t\t\t\tspread: 5,\n\t\t\t\tsize: 12\n\t\t\t},\n\t\t\tinnerShadow: {\n\t\t\t\t...DEFAULT_INNER_SHADOW,\n\t\t\t\tenabled: true,\n\t\t\t\tcolor: \"#573a08\",\n\t\t\t\topacity: .5,\n\t\t\t\tdistance: 3\n\t\t\t},\n\t\t\touterGlow: {\n\t\t\t\t...DEFAULT_GLOW,\n\t\t\t\tenabled: true,\n\t\t\t\tcolor: \"#ffc83b\",\n\t\t\t\topacity: .4,\n\t\t\t\tsize: 20,\n\t\t\t\tspread: 5\n\t\t\t},\n\t\t\tinnerGlow: {\n\t\t\t\t...DEFAULT_GLOW,\n\t\t\t\tenabled: true,\n\t\t\t\tcolor: \"#fff7d1\",\n\t\t\t\topacity: .5,\n\t\t\t\tsize: 6\n\t\t\t},\n\t\t\tstroke: {\n\t\t\t\t...DEFAULT_STROKE,\n\t\t\t\tenabled: true,\n\t\t\t\tcolor: \"#b38728\"\n\t\t\t},\n\t\t\tbevelEmboss: {\n\t\t\t\t...DEFAULT_BEVEL_EMBOSS,\n\t\t\t\tenabled: true,\n\t\t\t\ttechnique: \"ChiselHard\",\n\t\t\t\tdepth: 350,\n\t\t\t\tsize: 10,\n\t\t\t\tsoften: 1,\n\t\t\t\taltitude: 40,\n\t\t\t\thighlightColor: \"#fff4cc\",\n\t\t\t\thighlightOpacity: .95,\n\t\t\t\tshadowColor: \"#422b00\",\n\t\t\t\tshadowOpacity: .85\n\t\t\t},\n\t\t\tcolorOverlay: {\n\t\t\t\t...DEFAULT_COLOR_OVERLAY,\n\t\t\t\tenabled: true,\n\t\t\t\tcolor: \"#f5b324\",\n\t\t\t\topacity: .35,\n\t\t\t\tblendMode: \"overlay\"\n\t\t\t}\n\t\t}\n\t}\n];\n\n//#endregion\n//#region src/renderers/webgpu-renderer.ts\nfunction hexToRgba(hex) {\n\tif (!hex) return [\n\t\t1,\n\t\t1,\n\t\t1,\n\t\t1\n\t];\n\tlet cleaned = hex.trim().replace(/^#/, \"\");\n\tif (cleaned.length === 3) cleaned = cleaned.split(\"\").map((c) => c + c).join(\"\") + \"ff\";\n\telse if (cleaned.length === 6) cleaned = cleaned + \"ff\";\n\telse if (cleaned.length === 8) {} else return [\n\t\t1,\n\t\t1,\n\t\t1,\n\t\t1\n\t];\n\tconst r = parseInt(cleaned.slice(0, 2), 16) / 255;\n\tconst g = parseInt(cleaned.slice(2, 4), 16) / 255;\n\tconst b = parseInt(cleaned.slice(4, 6), 16) / 255;\n\tconst a = parseInt(cleaned.slice(6, 8), 16) / 255;\n\treturn [\n\t\tNumber.isFinite(r) ? r : 1,\n\t\tNumber.isFinite(g) ? g : 1,\n\t\tNumber.isFinite(b) ? b : 1,\n\t\tNumber.isFinite(a) ? a : 1\n\t];\n}\nconst BLEND_MODE_MAP = {\n\tnormal: 0,\n\t\"source-over\": 0,\n\tmultiply: 1,\n\tscreen: 2,\n\toverlay: 3,\n\tdarken: 4,\n\tlighten: 5,\n\t\"color-dodge\": 6,\n\t\"color-burn\": 7,\n\t\"hard-light\": 8,\n\t\"soft-light\": 9,\n\tdifference: 10,\n\texclusion: 11,\n\thue: 12,\n\tsaturation: 13,\n\tcolor: 14,\n\tluminosity: 15,\n\t\"mask-in\": 16,\n\t\"destination-in\": 16,\n\t\"mask-out\": 17,\n\t\"destination-out\": 17,\n\t\"source-in\": 18,\n\t\"source-out\": 19,\n\t\"source-atop\": 20,\n\t\"destination-over\": 21,\n\t\"destination-atop\": 22,\n\tlighter: 23,\n\tcopy: 24,\n\txor: 25\n};\nconst BEVEL_STYLE_MAP = {\n\tInnerBevel: 0,\n\tOuterBevel: 1,\n\tEmboss: 2,\n\tPillowEmboss: 3\n};\nconst BEVEL_TECHNIQUE_MAP = {\n\tSmooth: 0,\n\tChiselHard: 1,\n\tChiselSoft: 2\n};\nconst STROKE_POS_MAP = {\n\toutside: 0,\n\tcenter: 1,\n\tinside: 2\n};\nconst WGSL_LAYER_STYLE_SHADER = `\nstruct LayerStyleUniforms {\n\t// Drop Shadow (vec4 x 3)\n\tdropShadowColor : vec4<f32>,\n\tdropShadowParams : vec4<f32>, // x: enabled, y: opacity, z: angle(rad), w: distance\n\tdropShadowParams2 : vec4<f32>, // x: spread, y: size, z: blendMode, w: pad\n\n\t// Inner Shadow (vec4 x 3)\n\tinnerShadowColor : vec4<f32>,\n\tinnerShadowParams : vec4<f32>, // x: enabled, y: opacity, z: angle(rad), w: distance\n\tinnerShadowParams2 : vec4<f32>, // x: choke, y: size, z: blendMode, w: pad\n\n\t// Outer Glow (vec4 x 3)\n\touterGlowColor : vec4<f32>,\n\touterGlowParams : vec4<f32>, // x: enabled, y: opacity, z: size, w: spread\n\touterGlowParams2 : vec4<f32>, // x: blendMode, yzw: pad\n\n\t// Inner Glow (vec4 x 3)\n\tinnerGlowColor : vec4<f32>,\n\tinnerGlowParams : vec4<f32>, // x: enabled, y: opacity, z: size, w: spread\n\tinnerGlowParams2 : vec4<f32>, // x: blendMode, yzw: pad\n\n\t// Stroke (vec4 x 3)\n\tstrokeColor : vec4<f32>,\n\tstrokeParams : vec4<f32>, // x: enabled, y: size, z: position(0:out,1:center,2:in), w: opacity\n\tstrokeParams2 : vec4<f32>, // x: blendMode, yzw: pad\n\n\t// Bevel & Emboss (vec4 x 5)\n\tbevelHighlightColor : vec4<f32>,\n\tbevelShadowColor : vec4<f32>,\n\tbevelParams1 : vec4<f32>, // x: enabled, y: style, z: technique, w: depth\n\tbevelParams2 : vec4<f32>, // x: direction(1:up, -1:down), y: size, z: soften, w: angle(rad)\n\tbevelParams3 : vec4<f32>, // x: altitude(rad), y: hlOpacity, z: shOpacity, w: pad\n\n\t// Color Overlay (vec4 x 2)\n\tcolorOverlayColor : vec4<f32>,\n\tcolorOverlayParams : vec4<f32>, // x: enabled, y: opacity, z: blendMode, w: pad\n};\n\n@group(0) @binding(0) var<uniform> u : LayerStyleUniforms;\n@group(1) @binding(0) var tex : texture_2d<f32>;\n@group(1) @binding(1) var samp : sampler;\n${FULLSCREEN_QUAD_WGSL}\n\nfn sampleAlpha(uv: vec2<f32>) -> f32 {\n\tif (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0) {\n\t\treturn 0.0;\n\t}\n\treturn textureSampleLevel(tex, samp, uv, 0.0).a;\n}\n\nfn lum(c: vec3<f32>) -> f32 {\n\treturn 0.3 * c.r + 0.59 * c.g + 0.11 * c.b;\n}\n\nfn clip_color(c: vec3<f32>) -> vec3<f32> {\n\tlet l = lum(c);\n\tlet n = min(min(c.r, c.g), c.b);\n\tlet x = max(max(c.r, c.g), c.b);\n\tvar res = c;\n\tif (n < 0.0) {\n\t\tres = l + (((res - l) * l) / max(l - n, 1e-5));\n\t}\n\tif (x > 1.0) {\n\t\tres = l + (((res - l) * (1.0 - l)) / max(x - l, 1e-5));\n\t}\n\treturn res;\n}\n\nfn set_lum(c: vec3<f32>, l: f32) -> vec3<f32> {\n\tlet diff = l - lum(c);\n\treturn clip_color(c + vec3<f32>(diff));\n}\n\nfn sat(c: vec3<f32>) -> f32 {\n\treturn max(max(c.r, c.g), c.b) - min(min(c.r, c.g), c.b);\n}\n\nfn set_sat(c: vec3<f32>, s: f32) -> vec3<f32> {\n\tlet c_min = min(min(c.r, c.g), c.b);\n\tlet c_max = max(max(c.r, c.g), c.b);\n\tif (c_max <= c_min) {\n\t\treturn vec3<f32>(0.0);\n\t}\n\treturn (c - vec3<f32>(c_min)) * s / max(c_max - c_min, 1e-5);\n}\n\nfn blendRgb(d_rgb: vec3<f32>, s_rgb: vec3<f32>, mode: u32) -> vec3<f32> {\n\tswitch (mode) {\n\t\tcase 1u: { // multiply\n\t\t\treturn d_rgb * s_rgb;\n\t\t}\n\t\tcase 2u: { // screen\n\t\t\treturn d_rgb + s_rgb - d_rgb * s_rgb;\n\t\t}\n\t\tcase 3u: { // overlay\n\t\t\treturn select(\n\t\t\t\t1.0 - 2.0 * (1.0 - d_rgb) * (1.0 - s_rgb),\n\t\t\t\t2.0 * d_rgb * s_rgb,\n\t\t\t\td_rgb < vec3<f32>(0.5)\n\t\t\t);\n\t\t}\n\t\tcase 4u: { // darken\n\t\t\treturn min(d_rgb, s_rgb);\n\t\t}\n\t\tcase 5u: { // lighten\n\t\t\treturn max(d_rgb, s_rgb);\n\t\t}\n\t\tcase 6u: { // color-dodge\n\t\t\treturn select(min(d_rgb / max(1.0 - s_rgb, vec3<f32>(1e-4)), vec3<f32>(1.0)), vec3<f32>(1.0), s_rgb >= vec3<f32>(0.999));\n\t\t}\n\t\tcase 7u: { // color-burn\n\t\t\treturn select(1.0 - min((1.0 - d_rgb) / max(s_rgb, vec3<f32>(1e-4)), vec3<f32>(1.0)), vec3<f32>(0.0), s_rgb <= vec3<f32>(0.001));\n\t\t}\n\t\tcase 8u: { // hard-light\n\t\t\treturn select(\n\t\t\t\t1.0 - 2.0 * (1.0 - d_rgb) * (1.0 - s_rgb),\n\t\t\t\t2.0 * d_rgb * s_rgb,\n\t\t\t\ts_rgb < vec3<f32>(0.5)\n\t\t\t);\n\t\t}\n\t\tcase 9u: { // soft-light\n\t\t\treturn select(\n\t\t\t\td_rgb + (2.0 * s_rgb - 1.0) * (sqrt(d_rgb) - d_rgb),\n\t\t\t\td_rgb - (1.0 - 2.0 * s_rgb) * d_rgb * (1.0 - d_rgb),\n\t\t\t\ts_rgb <= vec3<f32>(0.5)\n\t\t\t);\n\t\t}\n\t\tcase 10u: { // difference\n\t\t\treturn abs(d_rgb - s_rgb);\n\t\t}\n\t\tcase 11u: { // exclusion\n\t\t\treturn d_rgb + s_rgb - 2.0 * d_rgb * s_rgb;\n\t\t}\n\t\tcase 12u: { // hue\n\t\t\treturn set_lum(set_sat(s_rgb, sat(d_rgb)), lum(d_rgb));\n\t\t}\n\t\tcase 13u: { // saturation\n\t\t\treturn set_lum(set_sat(d_rgb, sat(s_rgb)), lum(d_rgb));\n\t\t}\n\t\tcase 14u: { // color\n\t\t\treturn set_lum(s_rgb, lum(d_rgb));\n\t\t}\n\t\tcase 15u: { // luminosity\n\t\t\treturn set_lum(d_rgb, lum(s_rgb));\n\t\t}\n\t\tdefault: { // normal / source-over\n\t\t\treturn s_rgb;\n\t\t}\n\t}\n}\n\nfn compositeLayer(dst: vec4<f32>, src: vec4<f32>, blendMode: u32) -> vec4<f32> {\n\tlet sa = clamp(src.a, 0.0, 1.0);\n\tif (sa <= 0.0001) {\n\t\treturn dst;\n\t}\n\tlet da = clamp(dst.a, 0.0, 1.0);\n\tif (da <= 0.0001) {\n\t\treturn src;\n\t}\n\n\tswitch (blendMode) {\n\t\tcase 16u: { return dst * sa; } // mask-in / destination-in\n\t\tcase 17u: { return dst * (1.0 - sa); } // mask-out / destination-out\n\t\tcase 18u: { return src * da; } // source-in\n\t\tcase 19u: { return src * (1.0 - da); } // source-out\n\t\tcase 20u: { return src * da + dst * (1.0 - sa); } // source-atop\n\t\tcase 21u: { return dst + src * (1.0 - da); } // destination-over\n\t\tcase 22u: { return dst * sa + src * (1.0 - da); } // destination-atop\n\t\tcase 23u: { return src + dst; } // lighter / add\n\t\tcase 24u: { return src; } // copy\n\t\tcase 25u: { return src * (1.0 - da) + dst * (1.0 - sa); } // xor\n\t\tdefault: {}\n\t}\n\n\tlet b_rgb = blendRgb(dst.rgb, src.rgb, blendMode);\n\tlet out_a = sa + da * (1.0 - sa);\n\tlet out_rgb = select(\n\t\t((1.0 - da) * src.rgb + (1.0 - sa) * dst.rgb + sa * da * b_rgb) / max(out_a, 1e-5),\n\t\tb_rgb,\n\t\tout_a <= 1e-4\n\t);\n\n\treturn vec4<f32>(out_rgb, out_a);\n}\n\n@fragment fn fs(in: VSOut) -> @location(0) vec4<f32> {\n\tlet dimensions = vec2<f32>(textureDimensions(tex));\n\tlet texelSize = 1.0 / max(dimensions, vec2<f32>(1.0, 1.0));\n\tlet origColor = textureSampleLevel(tex, samp, in.uv, 0.0);\n\tlet origA = origColor.a;\n\n\tvar result = vec4<f32>(0.0);\n\n\t// =========================================================================\n\t// 1. DROP SHADOW (Bottom Layer)\n\t// =========================================================================\n\tif (u.dropShadowParams.x > 0.5) {\n\t\tlet opacity = u.dropShadowParams.y;\n\t\tlet angle = u.dropShadowParams.z;\n\t\tlet distance = u.dropShadowParams.w;\n\t\tlet spread = u.dropShadowParams2.x;\n\t\tlet size = u.dropShadowParams2.y;\n\t\tlet blendMode = u32(u.dropShadowParams2.z);\n\n\t\tlet shadowOffset = vec2<f32>(-cos(angle), sin(angle)) * distance * texelSize;\n\t\tlet shadowCenterUv = in.uv - shadowOffset;\n\n\t\tvar shadowAccum = 0.0;\n\t\tvar shadowWeightSum = 0.0;\n\n\t\tlet sigma = max(0.5, size * 0.4);\n\t\tlet sampleRadius = min(i32(ceil(size)), 24);\n\n\t\tif (size <= 0.5) {\n\t\t\tshadowAccum = sampleAlpha(shadowCenterUv);\n\t\t\tshadowWeightSum = 1.0;\n\t\t} else {\n\t\t\tlet stepVal = max(1, sampleRadius / 8);\n\t\t\tfor (var y = -sampleRadius; y <= sampleRadius; y += stepVal) {\n\t\t\t\tfor (var x = -sampleRadius; x <= sampleRadius; x += stepVal) {\n\t\t\t\t\tlet offset = vec2<f32>(f32(x), f32(y)) * texelSize;\n\t\t\t\t\tlet distSq = f32(x * x + y * y);\n\t\t\t\t\tlet weight = exp(-0.5 * distSq / (sigma * sigma));\n\t\t\t\t\tshadowAccum += sampleAlpha(shadowCenterUv + offset) * weight;\n\t\t\t\t\tshadowWeightSum += weight;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlet blurredShadow = shadowAccum / max(shadowWeightSum, 1e-4);\n\t\tlet spreadFactor = spread / 100.0;\n\t\tlet finalShadowAlpha = clamp(blurredShadow / max(1.0 - spreadFactor * 0.95, 0.01), 0.0, 1.0) * opacity;\n\n\t\tif (finalShadowAlpha > 0.001) {\n\t\t\tlet shadowCol = vec4<f32>(u.dropShadowColor.rgb, finalShadowAlpha);\n\t\t\tresult = compositeLayer(result, shadowCol, blendMode);\n\t\t}\n\t}\n\n\t// =========================================================================\n\t// 2. OUTER GLOW\n\t// =========================================================================\n\tif (u.outerGlowParams.x > 0.5) {\n\t\tlet opacity = u.outerGlowParams.y;\n\t\tlet size = u.outerGlowParams.z;\n\t\tlet spread = u.outerGlowParams.w;\n\t\tlet blendMode = u32(u.outerGlowParams2.x);\n\n\t\tvar glowAccum = 0.0;\n\t\tvar glowWeightSum = 0.0;\n\t\tlet sigma = max(0.5, size * 0.4);\n\t\tlet sampleRadius = min(i32(ceil(size)), 24);\n\n\t\tif (size <= 0.5) {\n\t\t\tglowAccum = origA;\n\t\t\tglowWeightSum = 1.0;\n\t\t} else {\n\t\t\tlet stepVal = max(1, sampleRadius / 8);\n\t\t\tfor (var y = -sampleRadius; y <= sampleRadius; y += stepVal) {\n\t\t\t\tfor (var x = -sampleRadius; x <= sampleRadius; x += stepVal) {\n\t\t\t\t\tlet offset = vec2<f32>(f32(x), f32(y)) * texelSize;\n\t\t\t\t\tlet distSq = f32(x * x + y * y);\n\t\t\t\t\tlet weight = exp(-0.5 * distSq / (sigma * sigma));\n\t\t\t\t\tglowAccum += sampleAlpha(in.uv + offset) * weight;\n\t\t\t\t\tglowWeightSum += weight;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlet blurredGlow = glowAccum / max(glowWeightSum, 1e-4);\n\t\tlet spreadFactor = spread / 100.0;\n\t\tlet spreadGlow = clamp(blurredGlow / max(1.0 - spreadFactor * 0.95, 0.01), 0.0, 1.0);\n\t\tlet finalGlowAlpha = max(0.0, spreadGlow - origA) * opacity;\n\n\t\tif (finalGlowAlpha > 0.001) {\n\t\t\tlet glowCol = vec4<f32>(u.outerGlowColor.rgb, finalGlowAlpha);\n\t\t\tresult = compositeLayer(result, glowCol, blendMode);\n\t\t}\n\t}\n\n\t// =========================================================================\n\t// 3. OUTSIDE STROKE\n\t// =========================================================================\n\tif (u.strokeParams.x > 0.5 && u.strokeParams.z < 0.5) { // position == 0: outside\n\t\tlet size = u.strokeParams.y;\n\t\tlet opacity = u.strokeParams.w;\n\t\tlet blendMode = u32(u.strokeParams2.x);\n\n\t\tvar maxAlpha = 0.0;\n\t\tlet sampleRadius = min(i32(ceil(size)), 24);\n\t\tlet sizeSq = size * size;\n\n\t\tfor (var y = -sampleRadius; y <= sampleRadius; y++) {\n\t\t\tfor (var x = -sampleRadius; x <= sampleRadius; x++) {\n\t\t\t\tlet distSq = f32(x * x + y * y);\n\t\t\t\tif (distSq <= sizeSq) {\n\t\t\t\t\tlet sAlpha = sampleAlpha(in.uv + vec2<f32>(f32(x), f32(y)) * texelSize);\n\t\t\t\t\tmaxAlpha = max(maxAlpha, sAlpha);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlet strokeAlpha = clamp(maxAlpha - origA, 0.0, 1.0) * opacity;\n\t\tif (strokeAlpha > 0.001) {\n\t\t\tlet strokeCol = vec4<f32>(u.strokeColor.rgb, strokeAlpha);\n\t\t\tresult = compositeLayer(result, strokeCol, blendMode);\n\t\t}\n\t}\n\n\t// =========================================================================\n\t// 4. BASE IMAGE LAYER (with Color Overlay, Bevel & Emboss, Inner Glow/Shadow)\n\t// =========================================================================\n\tif (origA > 0.001) {\n\t\tvar baseRgb = origColor.rgb;\n\n\t\t// Color Overlay\n\t\tif (u.colorOverlayParams.x > 0.5) {\n\t\t\tlet overlayOpacity = u.colorOverlayParams.y;\n\t\t\tlet overlayBlendMode = u32(u.colorOverlayParams.z);\n\t\t\tlet blendedOverlay = blendRgb(baseRgb, u.colorOverlayColor.rgb, overlayBlendMode);\n\t\t\tbaseRgb = mix(baseRgb, blendedOverlay, overlayOpacity);\n\t\t}\n\n\t\t// Bevel & Emboss\n\t\tif (u.bevelParams1.x > 0.5) {\n\t\t\tlet style = u.bevelParams1.y;\n\t\t\tlet technique = u.bevelParams1.z;\n\t\t\tlet depth = u.bevelParams1.w / 100.0;\n\t\t\tlet direction = u.bevelParams2.x;\n\t\t\tlet bevelSize = max(0.5, u.bevelParams2.y);\n\t\t\tlet soften = u.bevelParams2.z;\n\t\t\tlet lightAngle = u.bevelParams2.w;\n\t\t\tlet lightAltitude = u.bevelParams3.x;\n\t\t\tlet hlOpacity = u.bevelParams3.y;\n\t\t\tlet shOpacity = u.bevelParams3.z;\n\n\t\t\tlet lightDir = normalize(vec3<f32>(\n\t\t\t\t-cos(lightAngle) * cos(lightAltitude),\n\t\t\t\tsin(lightAngle) * cos(lightAltitude),\n\t\t\t\tsin(lightAltitude)\n\t\t\t));\n\n\t\t\tlet stepSize = max(1.0, bevelSize * 0.5 + soften) * texelSize;\n\t\t\tlet aL = sampleAlpha(in.uv - vec2<f32>(stepSize.x, 0.0));\n\t\t\tlet aR = sampleAlpha(in.uv + vec2<f32>(stepSize.x, 0.0));\n\t\t\tlet aT = sampleAlpha(in.uv - vec2<f32>(0.0, stepSize.y));\n\t\t\tlet aB = sampleAlpha(in.uv + vec2<f32>(0.0, stepSize.y));\n\n\t\t\tvar dx = (aR - aL) * depth * direction;\n\t\t\tvar dy = (aB - aT) * depth * direction;\n\n\t\t\tif (technique > 0.5) { // ChiselHard or ChiselSoft\n\t\t\t\tlet rampFactor = select(2.0, 1.5, technique > 1.5);\n\t\t\t\tdx = clamp(dx * rampFactor, -1.0, 1.0);\n\t\t\t\tdy = clamp(dy * rampFactor, -1.0, 1.0);\n\t\t\t}\n\n\t\t\tlet normal = normalize(vec3<f32>(-dx, -dy, 1.0));\n\t\t\tlet nDotL = dot(normal, lightDir);\n\n\t\t\tlet highlightAmount = max(0.0, nDotL) * hlOpacity;\n\t\t\tlet shadowAmount = max(0.0, -nDotL) * shOpacity;\n\n\t\t\tlet hlColor = mix(baseRgb, u.bevelHighlightColor.rgb + baseRgb, highlightAmount);\n\t\t\tlet shColor = mix(baseRgb, baseRgb * (1.0 - shadowAmount) + u.bevelShadowColor.rgb * shadowAmount, shadowAmount);\n\t\t\tbaseRgb = mix(shColor, hlColor, clamp(nDotL * 0.5 + 0.5, 0.0, 1.0));\n\t\t}\n\n\t\t// Inner Glow\n\t\tif (u.innerGlowParams.x > 0.5) {\n\t\t\tlet igOpacity = u.innerGlowParams.y;\n\t\t\tlet igSize = u.innerGlowParams.z;\n\t\t\tlet igSpread = u.innerGlowParams.w;\n\t\t\tlet igBlendMode = u32(u.innerGlowParams2.x);\n\n\t\t\tvar innerAccum = 0.0;\n\t\t\tvar innerWeight = 0.0;\n\t\t\tlet sigma = max(0.5, igSize * 0.4);\n\t\t\tlet sampleRadius = min(i32(ceil(igSize)), 16);\n\t\t\tlet stepVal = max(1, sampleRadius / 6);\n\n\t\t\tfor (var y = -sampleRadius; y <= sampleRadius; y += stepVal) {\n\t\t\t\tfor (var x = -sampleRadius; x <= sampleRadius; x += stepVal) {\n\t\t\t\t\tlet offset = vec2<f32>(f32(x), f32(y)) * texelSize;\n\t\t\t\t\tlet weight = exp(-0.5 * f32(x * x + y * y) / (sigma * sigma));\n\t\t\t\t\tinnerAccum += sampleAlpha(in.uv + offset) * weight;\n\t\t\t\t\tinnerWeight += weight;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet blurredInner = innerAccum / max(innerWeight, 1e-4);\n\t\t\tlet innerGlowMask = max(0.0, origA - blurredInner);\n\t\t\tlet spreadFactor = igSpread / 100.0;\n\t\t\tlet finalInnerGlowAlpha = clamp(innerGlowMask / max(1.0 - spreadFactor * 0.95, 0.01), 0.0, 1.0) * igOpacity;\n\n\t\t\tif (finalInnerGlowAlpha > 0.001) {\n\t\t\t\tlet igBlended = blendRgb(baseRgb, u.innerGlowColor.rgb, igBlendMode);\n\t\t\t\tbaseRgb = mix(baseRgb, igBlended, finalInnerGlowAlpha);\n\t\t\t}\n\t\t}\n\n\t\t// Inner Shadow\n\t\tif (u.innerShadowParams.x > 0.5) {\n\t\t\tlet isOpacity = u.innerShadowParams.y;\n\t\t\tlet isAngle = u.innerShadowParams.z;\n\t\t\tlet isDistance = u.innerShadowParams.w;\n\t\t\tlet isChoke = u.innerShadowParams2.x;\n\t\t\tlet isSize = u.innerShadowParams2.y;\n\t\t\tlet isBlendMode = u32(u.innerShadowParams2.z);\n\n\t\t\tlet isOffset = vec2<f32>(-cos(isAngle), sin(isAngle)) * isDistance * texelSize;\n\t\t\tlet shiftedA = sampleAlpha(in.uv + isOffset);\n\n\t\t\tvar isAccum = 0.0;\n\t\t\tvar isWeight = 0.0;\n\t\t\tlet sigma = max(0.5, isSize * 0.4);\n\t\t\tlet sampleRadius = min(i32(ceil(isSize)), 16);\n\t\t\tlet stepVal = max(1, sampleRadius / 6);\n\n\t\t\tfor (var y = -sampleRadius; y <= sampleRadius; y += stepVal) {\n\t\t\t\tfor (var x = -sampleRadius; x <= sampleRadius; x += stepVal) {\n\t\t\t\t\tlet offset = vec2<f32>(f32(x), f32(y)) * texelSize;\n\t\t\t\t\tlet weight = exp(-0.5 * f32(x * x + y * y) / (sigma * sigma));\n\t\t\t\t\tlet sShifted = sampleAlpha(in.uv + isOffset + offset);\n\t\t\t\t\tlet sOrig = sampleAlpha(in.uv + offset);\n\t\t\t\t\tisAccum += max(0.0, sOrig - sShifted) * weight;\n\t\t\t\t\tisWeight += weight;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet blurredIS = isAccum / max(isWeight, 1e-4);\n\t\t\tlet chokeFactor = isChoke / 100.0;\n\t\t\tlet finalISAlpha = clamp(blurredIS / max(1.0 - chokeFactor * 0.95, 0.01), 0.0, 1.0) * isOpacity;\n\n\t\t\tif (finalISAlpha > 0.001) {\n\t\t\t\tlet isBlended = blendRgb(baseRgb, u.innerShadowColor.rgb, isBlendMode);\n\t\t\t\tbaseRgb = mix(baseRgb, isBlended, finalISAlpha);\n\t\t\t}\n\t\t}\n\n\t\t// Inside Stroke\n\t\tif (u.strokeParams.x > 0.5 && u.strokeParams.z > 1.5) { // position == 2: inside\n\t\t\tlet size = u.strokeParams.y;\n\t\t\tlet opacity = u.strokeParams.w;\n\t\t\tlet blendMode = u32(u.strokeParams2.x);\n\n\t\t\tvar minAlpha = 1.0;\n\t\t\tlet sampleRadius = min(i32(ceil(size)), 24);\n\t\t\tlet sizeSq = size * size;\n\n\t\t\tfor (var y = -sampleRadius; y <= sampleRadius; y++) {\n\t\t\t\tfor (var x = -sampleRadius; x <= sampleRadius; x++) {\n\t\t\t\t\tlet distSq = f32(x * x + y * y);\n\t\t\t\t\tif (distSq <= sizeSq) {\n\t\t\t\t\t\tlet sAlpha = sampleAlpha(in.uv + vec2<f32>(f32(x), f32(y)) * texelSize);\n\t\t\t\t\t\tminAlpha = min(minAlpha, sAlpha);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet insideStrokeAlpha = clamp(origA - minAlpha, 0.0, 1.0) * opacity;\n\t\t\tif (insideStrokeAlpha > 0.001) {\n\t\t\t\tlet sBlended = blendRgb(baseRgb, u.strokeColor.rgb, blendMode);\n\t\t\t\tbaseRgb = mix(baseRgb, sBlended, insideStrokeAlpha);\n\t\t\t}\n\t\t}\n\n\t\tlet baseLayer = vec4<f32>(baseRgb, origA);\n\t\tresult = compositeLayer(result, baseLayer, 0u);\n\t}\n\n\t// =========================================================================\n\t// 5. CENTER STROKE\n\t// =========================================================================\n\tif (u.strokeParams.x > 0.5 && u.strokeParams.z >= 0.5 && u.strokeParams.z <= 1.5) { // position == 1: center\n\t\tlet size = u.strokeParams.y;\n\t\tlet opacity = u.strokeParams.w;\n\t\tlet blendMode = u32(u.strokeParams2.x);\n\n\t\tvar maxAlpha = 0.0;\n\t\tvar minAlpha = 1.0;\n\t\tlet halfSize = max(0.5, size * 0.5);\n\t\tlet sampleRadius = min(i32(ceil(halfSize)), 24);\n\t\tlet halfSizeSq = halfSize * halfSize;\n\n\t\tfor (var y = -sampleRadius; y <= sampleRadius; y++) {\n\t\t\tfor (var x = -sampleRadius; x <= sampleRadius; x++) {\n\t\t\t\tlet distSq = f32(x * x + y * y);\n\t\t\t\tif (distSq <= halfSizeSq) {\n\t\t\t\t\tlet sAlpha = sampleAlpha(in.uv + vec2<f32>(f32(x), f32(y)) * texelSize);\n\t\t\t\t\tmaxAlpha = max(maxAlpha, sAlpha);\n\t\t\t\t\tminAlpha = min(minAlpha, sAlpha);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlet centerStrokeAlpha = clamp(maxAlpha - minAlpha, 0.0, 1.0) * opacity;\n\t\tif (centerStrokeAlpha > 0.001) {\n\t\t\tlet strokeCol = vec4<f32>(u.strokeColor.rgb, centerStrokeAlpha);\n\t\t\tresult = compositeLayer(result, strokeCol, blendMode);\n\t\t}\n\t}\n\n\t// Output premultiplied alpha for QuadPipeline / WebGPU rendering\n\treturn vec4<f32>(result.rgb * result.a, result.a);\n}\n`;\nconst resourcesCache = /* @__PURE__ */ new WeakMap();\nfunction getLayerStyleResources(device, format) {\n\tlet res = resourcesCache.get(device);\n\tif (res) return res;\n\tconst module = device.createShaderModule({ code: WGSL_LAYER_STYLE_SHADER });\n\tconst uniformLayout = fragmentBindGroupLayout(device, [\"uniform\"]);\n\tconst textureLayout = fragmentBindGroupLayout(device, [\"texture\", \"sampler\"]);\n\tres = {\n\t\tpipeline: createFullscreenPipeline(device, {\n\t\t\tmodule,\n\t\t\tlayouts: device.createPipelineLayout({ bindGroupLayouts: [uniformLayout, textureLayout] }),\n\t\t\tformat,\n\t\t\tblend: PREMULTIPLIED_BLEND\n\t\t}),\n\t\tuniformLayout,\n\t\ttextureLayout\n\t};\n\tresourcesCache.set(device, res);\n\treturn res;\n}\nconst uniformBufferData = new Float32Array(88);\nconst WebGPURenderer = async (args) => {\n\tconst { ctx, encoder, pass, targetTexture, targetWidth, targetHeight, props, drawChild } = args;\n\tconst op = props.virtualMedia?.operation;\n\tif (op?.op !== \"LayerStyle\" || !op) return;\n\tconst childMedia = props.virtualMedia.children?.[0];\n\tif (!childMedia) return;\n\tpass.end();\n\tconst width = targetWidth;\n\tconst height = targetHeight;\n\tconst elapsedSeconds = props.elapsedMs !== void 0 ? props.elapsedMs / 1e3 : (props.frame ?? 0) / (props.fps || 30);\n\tconst resolveField = (handleId, fallbackVal, clampMin = 0, clampMax = 1e3) => {\n\t\tif (handleId && op.inputs?.[handleId]?.connectionValid) {\n\t\t\tconst outputItem = op.inputs[handleId].outputItem;\n\t\t\tif (!outputItem) return Math.max(clampMin, Math.min(clampMax, fallbackVal));\n\t\t\tif (outputItem.type === \"Number\") {\n\t\t\t\tconst numVal = typeof outputItem.data === \"number\" ? outputItem.data : outputItem.data?.value ?? fallbackVal;\n\t\t\t\treturn Math.max(clampMin, Math.min(clampMax, numVal));\n\t\t\t}\n\t\t\tif (outputItem.type === \"Signal\") {\n\t\t\t\tconst data = outputItem.data;\n\t\t\t\tif (typeof data === \"number\") return Math.max(clampMin, Math.min(clampMax, data));\n\t\t\t\tif (data && typeof data === \"object\") {\n\t\t\t\t\tif (typeof data.value === \"number\") return Math.max(clampMin, Math.min(clampMax, data.value));\n\t\t\t\t\tconst amp = typeof data.amplitude === \"number\" ? data.amplitude : 1;\n\t\t\t\t\tconst freq = typeof data.frequency === \"number\" ? data.frequency : 1;\n\t\t\t\t\tconst phase = typeof data.phase === \"number\" ? data.phase : 0;\n\t\t\t\t\tconst offset = typeof data.offset === \"number\" ? data.offset : fallbackVal;\n\t\t\t\t\tconst t = elapsedSeconds;\n\t\t\t\t\tconst computed = offset + amp * Math.sin(2 * Math.PI * freq * t + phase);\n\t\t\t\t\treturn Math.max(clampMin, Math.min(clampMax, computed));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn Math.max(clampMin, Math.min(clampMax, fallbackVal));\n\t};\n\tconst padding = computeLayerStylePadding(op);\n\tconst padX = padding.padX;\n\tconst padY = padding.padY;\n\tconst childW = Math.max(1, width - padX * 2);\n\tconst childH = Math.max(1, height - padY * 2);\n\tconst childTex = ctx.renderer.getTemporaryTexture(childW, childH, [...props.excludeTextures || [], targetTexture]);\n\tconst childView = childTex.createView();\n\tctx.renderer.beginFrame(encoder, childView, {\n\t\tr: 0,\n\t\tg: 0,\n\t\tb: 0,\n\t\ta: 0\n\t}, childW, childH, \"clear\").end();\n\tawait drawChild(childMedia, {\n\t\t...props,\n\t\tvirtualMedia: childMedia,\n\t\tcontainerWidth: childW,\n\t\tcontainerHeight: childH\n\t}, childView, childTex, childW, childH);\n\tconst inputTex = ctx.renderer.getTemporaryTexture(width, height, [\n\t\tchildTex,\n\t\ttargetTexture,\n\t\t...props.excludeTextures || []\n\t]);\n\tconst inputView = inputTex.createView();\n\tconst inputPass = ctx.renderer.beginFrame(encoder, inputView, {\n\t\tr: 0,\n\t\tg: 0,\n\t\tb: 0,\n\t\ta: 0\n\t}, width, height, \"clear\");\n\tctx.renderer.drawTexture(inputPass, childTex, {\n\t\tx: padX,\n\t\ty: padY,\n\t\twidth: childW,\n\t\theight: childH\n\t}, { opacity: 1 });\n\tinputPass.end();\n\tconst { pipeline, uniformLayout, textureLayout } = getLayerStyleResources(ctx.device, ctx.renderer.format);\n\tconst sampler = ctx.renderer.samplerCache.getSampler(ctx.device);\n\tconst ds = op.dropShadow ?? {};\n\tconst is = op.innerShadow ?? {};\n\tconst og = op.outerGlow ?? {};\n\tconst ig = op.innerGlow ?? {};\n\tconst st = op.stroke ?? {};\n\tconst be = op.bevelEmboss ?? {};\n\tconst co = op.colorOverlay ?? {};\n\tconst dsCol = hexToRgba(ds.color ?? \"#000000\");\n\tconst dsOpacity = resolveField(op.dropShadowOpacityHandleId, ds.opacity ?? .75, 0, 1);\n\tconst dsAngle = resolveField(op.dropShadowAngleHandleId, ds.angle ?? 120, 0, 360) * Math.PI / 180;\n\tconst dsDist = resolveField(op.dropShadowDistanceHandleId, ds.distance ?? 10, 0, 500);\n\tconst dsSpread = resolveField(op.dropShadowSpreadHandleId, ds.spread ?? 0, 0, 100);\n\tconst dsSize = resolveField(op.dropShadowSizeHandleId, ds.size ?? 10, 0, 250);\n\tconst dsBlend = BLEND_MODE_MAP[ds.blendMode ?? \"multiply\"] ?? 1;\n\tconst isCol = hexToRgba(is.color ?? \"#000000\");\n\tconst isOpacity = resolveField(op.innerShadowOpacityHandleId, is.opacity ?? .75, 0, 1);\n\tconst isAngle = resolveField(op.innerShadowAngleHandleId, is.angle ?? 120, 0, 360) * Math.PI / 180;\n\tconst isDist = resolveField(op.innerShadowDistanceHandleId, is.distance ?? 5, 0, 500);\n\tconst isChoke = resolveField(op.innerShadowChokeHandleId, is.choke ?? 0, 0, 100);\n\tconst isSize = resolveField(op.innerShadowSizeHandleId, is.size ?? 5, 0, 250);\n\tconst isBlend = BLEND_MODE_MAP[is.blendMode ?? \"multiply\"] ?? 1;\n\tconst ogCol = hexToRgba(og.color ?? \"#ffffff\");\n\tconst ogOpacity = resolveField(op.outerGlowOpacityHandleId, og.opacity ?? .75, 0, 1);\n\tconst ogSize = resolveField(op.outerGlowSizeHandleId, og.size ?? 15, 0, 250);\n\tconst ogSpread = resolveField(op.outerGlowSpreadHandleId, og.spread ?? 0, 0, 100);\n\tconst ogBlend = BLEND_MODE_MAP[og.blendMode ?? \"screen\"] ?? 2;\n\tconst igCol = hexToRgba(ig.color ?? \"#ffffff\");\n\tconst igOpacity = resolveField(op.innerGlowOpacityHandleId, ig.opacity ?? .75, 0, 1);\n\tconst igSize = resolveField(op.innerGlowSizeHandleId, ig.size ?? 15, 0, 250);\n\tconst igSpread = resolveField(op.innerGlowSpreadHandleId, ig.spread ?? 0, 0, 100);\n\tconst igBlend = BLEND_MODE_MAP[ig.blendMode ?? \"screen\"] ?? 2;\n\tconst stCol = hexToRgba(st.color ?? \"#ffffff\");\n\tconst stSize = resolveField(op.strokeSizeHandleId, st.size ?? 2, 0, 100);\n\tconst stPos = STROKE_POS_MAP[st.position ?? \"outside\"] ?? 0;\n\tconst stOpacity = resolveField(op.strokeOpacityHandleId, st.opacity ?? 1, 0, 1);\n\tconst stBlend = BLEND_MODE_MAP[st.blendMode ?? \"normal\"] ?? 0;\n\tconst beHlCol = hexToRgba(be.highlightColor ?? \"#ffffff\");\n\tconst beShCol = hexToRgba(be.shadowColor ?? \"#000000\");\n\tconst beStyle = BEVEL_STYLE_MAP[be.style ?? \"InnerBevel\"] ?? 0;\n\tconst beTech = BEVEL_TECHNIQUE_MAP[be.technique ?? \"Smooth\"] ?? 0;\n\tconst beDepth = resolveField(op.bevelEmbossDepthHandleId, be.depth ?? 100, 1, 1e3);\n\tconst beDir = be.direction === \"Down\" ? -1 : 1;\n\tconst beSize = resolveField(op.bevelEmbossSizeHandleId, be.size ?? 5, 0, 250);\n\tconst beSoften = resolveField(op.bevelEmbossSoftenHandleId, be.soften ?? 0, 0, 50);\n\tconst beAngle = resolveField(op.bevelEmbossAngleHandleId, be.angle ?? 120, 0, 360) * Math.PI / 180;\n\tconst beAltitude = resolveField(op.bevelEmbossAltitudeHandleId, be.altitude ?? 30, 0, 90) * Math.PI / 180;\n\tconst beHlOpacity = resolveField(op.bevelEmbossHighlightOpacityHandleId, be.highlightOpacity ?? .75, 0, 1);\n\tconst beShOpacity = resolveField(op.bevelEmbossShadowOpacityHandleId, be.shadowOpacity ?? .75, 0, 1);\n\tconst coCol = hexToRgba(co.color ?? \"#ff0000\");\n\tconst coOpacity = resolveField(op.colorOverlayOpacityHandleId, co.opacity ?? 1, 0, 1);\n\tconst coBlend = BLEND_MODE_MAP[co.blendMode ?? \"normal\"] ?? 0;\n\tuniformBufferData.fill(0);\n\tuniformBufferData[0] = dsCol[0];\n\tuniformBufferData[1] = dsCol[1];\n\tuniformBufferData[2] = dsCol[2];\n\tuniformBufferData[3] = dsCol[3];\n\tuniformBufferData[4] = ds.enabled ? 1 : 0;\n\tuniformBufferData[5] = dsOpacity;\n\tuniformBufferData[6] = dsAngle;\n\tuniformBufferData[7] = dsDist;\n\tuniformBufferData[8] = dsSpread;\n\tuniformBufferData[9] = dsSize;\n\tuniformBufferData[10] = dsBlend;\n\tuniformBufferData[11] = 0;\n\tuniformBufferData[12] = isCol[0];\n\tuniformBufferData[13] = isCol[1];\n\tuniformBufferData[14] = isCol[2];\n\tuniformBufferData[15] = isCol[3];\n\tuniformBufferData[16] = is.enabled ? 1 : 0;\n\tuniformBufferData[17] = isOpacity;\n\tuniformBufferData[18] = isAngle;\n\tuniformBufferData[19] = isDist;\n\tuniformBufferData[20] = isChoke;\n\tuniformBufferData[21] = isSize;\n\tuniformBufferData[22] = isBlend;\n\tuniformBufferData[23] = 0;\n\tuniformBufferData[24] = ogCol[0];\n\tuniformBufferData[25] = ogCol[1];\n\tuniformBufferData[26] = ogCol[2];\n\tuniformBufferData[27] = ogCol[3];\n\tuniformBufferData[28] = og.enabled ? 1 : 0;\n\tuniformBufferData[29] = ogOpacity;\n\tuniformBufferData[30] = ogSize;\n\tuniformBufferData[31] = ogSpread;\n\tuniformBufferData[32] = ogBlend;\n\tuniformBufferData[33] = 0;\n\tuniformBufferData[34] = 0;\n\tuniformBufferData[35] = 0;\n\tuniformBufferData[36] = igCol[0];\n\tuniformBufferData[37] = igCol[1];\n\tuniformBufferData[38] = igCol[2];\n\tuniformBufferData[39] = igCol[3];\n\tuniformBufferData[40] = ig.enabled ? 1 : 0;\n\tuniformBufferData[41] = igOpacity;\n\tuniformBufferData[42] = igSize;\n\tuniformBufferData[43] = igSpread;\n\tuniformBufferData[44] = igBlend;\n\tuniformBufferData[45] = 0;\n\tuniformBufferData[46] = 0;\n\tuniformBufferData[47] = 0;\n\tuniformBufferData[48] = stCol[0];\n\tuniformBufferData[49] = stCol[1];\n\tuniformBufferData[50] = stCol[2];\n\tuniformBufferData[51] = stCol[3];\n\tuniformBufferData[52] = st.enabled ? 1 : 0;\n\tuniformBufferData[53] = stSize;\n\tuniformBufferData[54] = stPos;\n\tuniformBufferData[55] = stOpacity;\n\tuniformBufferData[56] = stBlend;\n\tuniformBufferData[57] = 0;\n\tuniformBufferData[58] = 0;\n\tuniformBufferData[59] = 0;\n\tuniformBufferData[60] = beHlCol[0];\n\tuniformBufferData[61] = beHlCol[1];\n\tuniformBufferData[62] = beHlCol[2];\n\tuniformBufferData[63] = beHlCol[3];\n\tuniformBufferData[64] = beShCol[0];\n\tuniformBufferData[65] = beShCol[1];\n\tuniformBufferData[66] = beShCol[2];\n\tuniformBufferData[67] = beShCol[3];\n\tuniformBufferData[68] = be.enabled ? 1 : 0;\n\tuniformBufferData[69] = beStyle;\n\tuniformBufferData[70] = beTech;\n\tuniformBufferData[71] = beDepth;\n\tuniformBufferData[72] = beDir;\n\tuniformBufferData[73] = beSize;\n\tuniformBufferData[74] = beSoften;\n\tuniformBufferData[75] = beAngle;\n\tuniformBufferData[76] = beAltitude;\n\tuniformBufferData[77] = beHlOpacity;\n\tuniformBufferData[78] = beShOpacity;\n\tuniformBufferData[79] = 0;\n\tuniformBufferData[80] = coCol[0];\n\tuniformBufferData[81] = coCol[1];\n\tuniformBufferData[82] = coCol[2];\n\tuniformBufferData[83] = coCol[3];\n\tuniformBufferData[84] = co.enabled ? 1 : 0;\n\tuniformBufferData[85] = coOpacity;\n\tuniformBufferData[86] = coBlend;\n\tuniformBufferData[87] = 0;\n\tconst uniformBuffer = ctx.renderer.getTemporaryBuffer(uniformBufferData);\n\tconst uBindGroup = ctx.device.createBindGroup({\n\t\tlayout: uniformLayout,\n\t\tentries: [{\n\t\t\tbinding: 0,\n\t\t\tresource: { buffer: uniformBuffer }\n\t\t}]\n\t});\n\tconst tBindGroup = ctx.device.createBindGroup({\n\t\tlayout: textureLayout,\n\t\tentries: [{\n\t\t\tbinding: 0,\n\t\t\tresource: inputView\n\t\t}, {\n\t\t\tbinding: 1,\n\t\t\tresource: sampler\n\t\t}]\n\t});\n\tconst outTex = ctx.renderer.getTemporaryTexture(width, height, [\n\t\tinputTex,\n\t\tchildTex,\n\t\ttargetTexture,\n\t\t...props.excludeTextures || []\n\t]);\n\tdrawFullscreenPass(encoder, outTex.createView(), pipeline, [uBindGroup, tBindGroup]);\n\tdrawTextureToTarget(args, outTex, op.opacity ?? 1);\n};\n\n//#endregion\n//#region src/renderers/index.ts\nvar renderers_default = defineRenderer({ WebGPURenderer });\n\n//#endregion\nexport { LayerStyleNodeConfigSchema as _, DEFAULT_COLOR_OVERLAY as a, computeLayerStylePadding as b, DEFAULT_INNER_SHADOW as c, GlowStyleSchema as d, InnerShadowStyleSchema as f, LAYER_STYLE_PRESETS as g, LAYER_STYLE_OUTPUT_TYPE_MAP as h, DEFAULT_BEVEL_EMBOSS as i, DEFAULT_STROKE as l, LAYER_STYLE_CONFIG_HANDLES as m, BevelEmbossStyleSchema as n, DEFAULT_DROP_SHADOW as o, LAYER_STYLE_BLEND_MODES as p, ColorOverlayStyleSchema as r, DEFAULT_GLOW as s, renderers_default as t, DropShadowStyleSchema as u, LayerStyleResultSchema as v, StrokeStyleSchema as y };\n//# sourceMappingURL=renderers-Ch81UvXn.mjs.map"],"mappings":"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"}
|