framefields 2.11.0 → 2.12.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/NOTICE.md +4 -0
- package/dist/audio/index.d.mts +4 -4
- package/dist/audio/index.mjs +10 -10
- package/dist/{audio-BuCVk1IQ.mjs → audio-DHLoNcxD.mjs} +3 -3
- package/dist/{audio-BuCVk1IQ.mjs.map → audio-DHLoNcxD.mjs.map} +1 -1
- package/dist/{audio-CYZkDwae.d.mts → audio-afTBdB3U.d.mts} +3 -3
- package/dist/{audio-CYZkDwae.d.mts.map → audio-afTBdB3U.d.mts.map} +1 -1
- package/dist/cli/check-worker.mjs +45 -45
- package/dist/cli.mjs +174 -83
- package/dist/cli.mjs.map +1 -1
- package/dist/cloud/index.d.mts +14 -3
- package/dist/cloud/index.d.mts.map +1 -1
- package/dist/cloud/index.mjs +2 -2
- package/dist/{cloud-xcfV4J03.mjs → cloud-COid1Ipa.mjs} +169 -16
- package/dist/cloud-COid1Ipa.mjs.map +1 -0
- package/dist/components/index.d.mts +10 -10
- package/dist/components/index.mjs +44 -44
- package/dist/{dist-Dg9LMWoX.mjs → dist-2_lT3Dwc.mjs} +2 -2
- package/dist/{dist-Dg9LMWoX.mjs.map → dist-2_lT3Dwc.mjs.map} +1 -1
- package/dist/{dist-CWLLnigL.mjs → dist-B-OPY7Cs.mjs} +273 -76
- package/dist/dist-B-OPY7Cs.mjs.map +1 -0
- package/dist/{dist-EQX3TUUl.mjs → dist-BSqeChht.mjs} +3 -3
- package/dist/{dist-EQX3TUUl.mjs.map → dist-BSqeChht.mjs.map} +1 -1
- package/dist/{dist-CNGv-JTX.mjs → dist-BwtxciN4.mjs} +1 -1
- package/dist/dist-CySGkG54.mjs.map +1 -1
- package/dist/effects/index.d.mts +5 -5
- package/dist/effects/index.mjs +35 -35
- package/dist/{effects-DKLbLXF7.mjs → effects-C8CL9cOq.mjs} +2 -2
- package/dist/{effects-DKLbLXF7.mjs.map → effects-C8CL9cOq.mjs.map} +1 -1
- package/dist/fonts/index.mjs +2 -2
- package/dist/{fonts-gPbGbShD.mjs → fonts-BQrDjnpV.mjs} +2 -2
- package/dist/{fonts-gPbGbShD.mjs.map → fonts-BQrDjnpV.mjs.map} +1 -1
- package/dist/{gpu-CpkJJLQP.mjs → gpu-DHa-3Dou.mjs} +11 -3
- package/dist/gpu-DHa-3Dou.mjs.map +1 -0
- package/dist/{index-Cro-818i.d.mts → index-BNClElng.d.mts} +592 -516
- package/dist/index-BNClElng.d.mts.map +1 -0
- package/dist/{index-jSDEM-uE.d.mts → index-CAuNuvIg.d.mts} +5 -5
- package/dist/{index-jSDEM-uE.d.mts.map → index-CAuNuvIg.d.mts.map} +1 -1
- package/dist/index-COYNQ_mf.d.mts.map +1 -1
- package/dist/{index-D2i9J9Zq.d.mts → index-CTv9ZieD.d.mts} +2 -2
- package/dist/{index-D2i9J9Zq.d.mts.map → index-CTv9ZieD.d.mts.map} +1 -1
- package/dist/{index-C8YwZ6k1.d.mts → index-DQa7mhzq.d.mts} +2 -2
- package/dist/{index-C8YwZ6k1.d.mts.map → index-DQa7mhzq.d.mts.map} +1 -1
- package/dist/{index-Bly-7YM1.d.mts → index-Drk6HC2k.d.mts} +2 -2
- package/dist/{index-Bly-7YM1.d.mts.map → index-Drk6HC2k.d.mts.map} +1 -1
- package/dist/{index-BuiZzc6i.d.mts → index-Fliv2Z-w.d.mts} +32 -1
- package/dist/index-Fliv2Z-w.d.mts.map +1 -0
- package/dist/{index-CEU_Zsb9.d.mts → index-WwuuX8ZJ.d.mts} +24 -22
- package/dist/index-WwuuX8ZJ.d.mts.map +1 -0
- package/dist/index.d.mts +10 -10
- package/dist/index.mjs +52 -52
- package/dist/preview/index.d.mts +1 -1
- package/dist/preview/index.mjs +10 -10
- package/dist/{preview-BToKUTtZ.mjs → preview-BUtt481A.mjs} +2 -2
- package/dist/{preview-BToKUTtZ.mjs.map → preview-BUtt481A.mjs.map} +1 -1
- package/dist/preview-engine/audio.mjs +1 -1
- package/dist/preview-engine/{chunk-QF4JWVO3.mjs → chunk-35XSD4QM.mjs} +15 -15
- package/dist/preview-engine/{chunk-ZF2MEFKO.mjs → chunk-3DOIE4DV.mjs} +1 -1
- package/dist/preview-engine/{chunk-JDB7PMRI.mjs → chunk-3IT7LHWR.mjs} +1 -1
- package/dist/preview-engine/{chunk-DNNGWS2C.mjs → chunk-3MLGWUSK.mjs} +1 -1
- package/dist/preview-engine/{chunk-KVOFO273.mjs → chunk-3QJ5GRBH.mjs} +1 -1
- package/dist/preview-engine/{chunk-54Q5CKSV.mjs → chunk-3QTHW2CD.mjs} +1 -1
- package/dist/preview-engine/chunk-44V4V5LD.mjs +1 -0
- package/dist/preview-engine/{chunk-BRV7TQDV.mjs → chunk-4JNIEQS2.mjs} +1 -1
- package/dist/preview-engine/chunk-4YT5YJIF.mjs +1 -0
- package/dist/preview-engine/{chunk-C4M3B2Q2.mjs → chunk-5SLBE2FX.mjs} +1 -1
- package/dist/preview-engine/{chunk-BJXNKMSY.mjs → chunk-64L4GUOF.mjs} +20 -6
- package/dist/preview-engine/{chunk-UMJ3VGKN.mjs → chunk-6B3NOY5W.mjs} +1 -1
- package/dist/preview-engine/{chunk-VQA4DYZU.mjs → chunk-6O7UDVNL.mjs} +1 -1
- package/dist/preview-engine/chunk-74J4DJQA.mjs +1 -0
- package/dist/preview-engine/chunk-77MT33VR.mjs +1 -0
- package/dist/preview-engine/chunk-A6OAPDIA.mjs +1 -0
- package/dist/preview-engine/chunk-ADLIF544.mjs +39 -0
- package/dist/preview-engine/{chunk-OLB4TQLQ.mjs → chunk-AKVRG7UU.mjs} +1 -1
- package/dist/preview-engine/{chunk-CIVEZJYF.mjs → chunk-CRBOK3JT.mjs} +1 -1
- package/dist/preview-engine/chunk-CSLSWUUT.mjs +1 -0
- package/dist/preview-engine/{chunk-JSYG6OWZ.mjs → chunk-D7OMXGIZ.mjs} +1 -1
- package/dist/preview-engine/{chunk-EPRINA4V.mjs → chunk-E7BKWHOT.mjs} +10 -10
- package/dist/preview-engine/{chunk-NOKPBMIP.mjs → chunk-EWDJMJO5.mjs} +1 -1
- package/dist/preview-engine/{chunk-5KSBS3AL.mjs → chunk-EYE3GNL5.mjs} +1 -1
- package/dist/preview-engine/{chunk-GHTG5XV6.mjs → chunk-EYKN2VET.mjs} +84 -25
- package/dist/preview-engine/{chunk-OELPPLML.mjs → chunk-FJTURGJV.mjs} +1 -1
- package/dist/preview-engine/{chunk-IKVJ4MW5.mjs → chunk-G4ZTSLZU.mjs} +1 -1
- package/dist/preview-engine/{chunk-VZLIRYAL.mjs → chunk-GAMAKN5L.mjs} +1 -1
- package/dist/preview-engine/{chunk-65NANVQL.mjs → chunk-HTAHYSCW.mjs} +1 -1
- package/dist/preview-engine/{chunk-ZIXPWP2B.mjs → chunk-ICWD36H6.mjs} +1 -1
- package/dist/preview-engine/chunk-JAAFSVAG.mjs +1 -0
- package/dist/preview-engine/{chunk-RDWLLITE.mjs → chunk-JAUMCOOJ.mjs} +1 -1
- package/dist/preview-engine/{chunk-ACBBBOUM.mjs → chunk-KBCZKIIQ.mjs} +1 -1
- package/dist/preview-engine/{chunk-YVZTRH4Y.mjs → chunk-KDCM7S3S.mjs} +1 -1
- package/dist/preview-engine/chunk-KIPXBOYG.mjs +1974 -0
- package/dist/preview-engine/{chunk-6LTINEA4.mjs → chunk-M4QVCQ3O.mjs} +1 -1
- package/dist/preview-engine/{chunk-GN3NDRLI.mjs → chunk-NCQHOGZK.mjs} +1 -1
- package/dist/preview-engine/{chunk-YKM7JDQY.mjs → chunk-NJO2BIJX.mjs} +1 -1
- package/dist/preview-engine/{chunk-7GMHSTRP.mjs → chunk-NTSALWFF.mjs} +1 -1
- package/dist/preview-engine/{chunk-PKNUTHPI.mjs → chunk-O75BFM4S.mjs} +1 -1
- package/dist/preview-engine/{chunk-VFQH5KVS.mjs → chunk-ONHY4KNY.mjs} +1 -1
- package/dist/preview-engine/chunk-PH3UUX6A.mjs +138 -0
- package/dist/preview-engine/chunk-PIHG6HJO.mjs +1 -0
- package/dist/preview-engine/{chunk-YHMBGJP6.mjs → chunk-QPT2Y2GZ.mjs} +1 -1
- package/dist/preview-engine/{chunk-4AGQN53P.mjs → chunk-QXLFTCLC.mjs} +1 -1
- package/dist/preview-engine/{chunk-O63FLYWC.mjs → chunk-RGKS6YIA.mjs} +1 -1
- package/dist/preview-engine/{chunk-FQL4IJZN.mjs → chunk-RN7J5TRU.mjs} +1 -1
- package/dist/preview-engine/{chunk-26XWIHW3.mjs → chunk-RVCLMO5Q.mjs} +1 -1
- package/dist/preview-engine/{chunk-TEWRQKX3.mjs → chunk-SFHWP65D.mjs} +1 -1
- package/dist/preview-engine/{chunk-EXEO245X.mjs → chunk-TKXOSEIJ.mjs} +1 -1
- package/dist/preview-engine/chunk-UKZVUYB6.mjs +483 -0
- package/dist/preview-engine/{chunk-EAWJXW4J.mjs → chunk-UVEDFIPN.mjs} +1 -1
- package/dist/preview-engine/{chunk-Z24UEN4P.mjs → chunk-VUO4K52B.mjs} +1 -1
- package/dist/preview-engine/{chunk-IBPYV6HF.mjs → chunk-W4XR6F5G.mjs} +1 -1
- package/dist/preview-engine/{chunk-UI3VH33L.mjs → chunk-WPYWCWWL.mjs} +1 -1
- package/dist/preview-engine/{chunk-WFMUDL55.mjs → chunk-YAPGJZPI.mjs} +1 -1
- package/dist/preview-engine/{chunk-LMXMBX4J.mjs → chunk-YJ4DSRDY.mjs} +1 -1
- package/dist/preview-engine/{chunk-CCORQLMR.mjs → chunk-YOJKIMU5.mjs} +1 -1
- package/dist/preview-engine/{chunk-UGB6JKVS.mjs → chunk-ZHNEZZ6A.mjs} +1 -1
- package/dist/preview-engine/{chunk-LFNCWMKS.mjs → chunk-ZZMI3WOT.mjs} +1 -1
- package/dist/preview-engine/components.mjs +1 -1
- package/dist/preview-engine/effects.mjs +1 -1
- package/dist/preview-engine/fonts.mjs +1 -1
- package/dist/preview-engine/framefields.mjs +1 -1
- package/dist/preview-engine/player.mjs +1 -1
- package/dist/preview-engine/{renderers-53EI26GL.mjs → renderers-3FZVDYRQ.mjs} +1 -1
- package/dist/preview-engine/renderers-3KEBYOOF.mjs +1 -0
- package/dist/preview-engine/{renderers-6YVZUQOH.mjs → renderers-4RPQSUUZ.mjs} +1 -1
- package/dist/preview-engine/renderers-5EGFXFPF.mjs +1 -0
- package/dist/preview-engine/renderers-5SJHYUTM.mjs +1 -0
- package/dist/preview-engine/renderers-66MWDUN6.mjs +1 -0
- package/dist/preview-engine/{renderers-CCRZNGVK.mjs → renderers-6FENMFSC.mjs} +1 -1
- package/dist/preview-engine/renderers-77OXJ2GY.mjs +1 -0
- package/dist/preview-engine/renderers-7LI4QKHO.mjs +1 -0
- package/dist/preview-engine/{renderers-CYJAVWHT.mjs → renderers-AIZRIW2R.mjs} +1 -1
- package/dist/preview-engine/{renderers-OGOW3NA4.mjs → renderers-BDI2BDBA.mjs} +1 -1
- package/dist/preview-engine/renderers-BDXCO6NR.mjs +1 -0
- package/dist/preview-engine/{renderers-EN7LXJLG.mjs → renderers-BUZ67FNZ.mjs} +1 -1
- package/dist/preview-engine/renderers-DMTGKURQ.mjs +1 -0
- package/dist/preview-engine/renderers-DU7KPFVV.mjs +1 -0
- package/dist/preview-engine/{renderers-WSABL3QO.mjs → renderers-ECXMT5BD.mjs} +1 -1
- package/dist/preview-engine/{renderers-MOEC2XZZ.mjs → renderers-EILFSWSJ.mjs} +1 -1
- package/dist/preview-engine/{renderers-X6CORAES.mjs → renderers-EVEWFJ7U.mjs} +1 -1
- package/dist/preview-engine/renderers-F6PT2LON.mjs +1 -0
- package/dist/preview-engine/renderers-F7WPJXKT.mjs +1 -0
- package/dist/preview-engine/renderers-FIFF267S.mjs +1 -0
- package/dist/preview-engine/{renderers-GQM3KMV3.mjs → renderers-FQISHQEN.mjs} +1 -1
- package/dist/preview-engine/{renderers-HKLCB4U6.mjs → renderers-FXAVFNUN.mjs} +1 -1
- package/dist/preview-engine/{renderers-P2HORBZ6.mjs → renderers-GITAVRYZ.mjs} +1 -1
- package/dist/preview-engine/renderers-GTKRV225.mjs +1 -0
- package/dist/preview-engine/{renderers-KCGK33Y2.mjs → renderers-HG6JZIZO.mjs} +1 -1
- package/dist/preview-engine/{renderers-I6QKZ7CH.mjs → renderers-HHWMIDN3.mjs} +1 -1
- package/dist/preview-engine/renderers-HI3SRJVD.mjs +1 -0
- package/dist/preview-engine/{renderers-7CAHX35U.mjs → renderers-HXEDI4BD.mjs} +1 -1
- package/dist/preview-engine/{renderers-77PDUMYI.mjs → renderers-HXNSDJBY.mjs} +1 -1
- package/dist/preview-engine/{renderers-ACUJMDEK.mjs → renderers-I2ZOUFRU.mjs} +1 -1
- package/dist/preview-engine/renderers-JHFD4LHZ.mjs +1 -0
- package/dist/preview-engine/{renderers-IHGAWLUF.mjs → renderers-JMSAW7VY.mjs} +1 -1
- package/dist/preview-engine/renderers-KGVZUFHD.mjs +1 -0
- package/dist/preview-engine/{renderers-RN2MHIFK.mjs → renderers-KICDB5Y6.mjs} +1 -1
- package/dist/preview-engine/{renderers-C7SI3NIE.mjs → renderers-KKULMOV4.mjs} +1 -1
- package/dist/preview-engine/{renderers-HSFQIILN.mjs → renderers-KMVMPYY7.mjs} +1 -1
- package/dist/preview-engine/renderers-L6GFGHS6.mjs +1 -0
- package/dist/preview-engine/renderers-LN7WPG6I.mjs +1 -0
- package/dist/preview-engine/{renderers-BOBVXYAA.mjs → renderers-LWW4RF6D.mjs} +1 -1
- package/dist/preview-engine/renderers-LY57CZZB.mjs +1 -0
- package/dist/preview-engine/renderers-MBMJWZEW.mjs +1 -0
- package/dist/preview-engine/{renderers-VVP5WQOY.mjs → renderers-MPFU74I3.mjs} +1 -1
- package/dist/preview-engine/{renderers-H6PBHEYU.mjs → renderers-MW53LTMB.mjs} +1 -1
- package/dist/preview-engine/{renderers-PPZK6VEW.mjs → renderers-NQC4DPX4.mjs} +1 -1
- package/dist/preview-engine/{renderers-4IBFDW2S.mjs → renderers-PC2GOZDT.mjs} +1 -1
- package/dist/preview-engine/renderers-PREFONJG.mjs +1 -0
- package/dist/preview-engine/renderers-PSBTV2DO.mjs +228 -0
- package/dist/preview-engine/{renderers-UG2C3C7T.mjs → renderers-Q77UPEYE.mjs} +1 -1
- package/dist/preview-engine/renderers-QHXCFDHI.mjs +1 -0
- package/dist/preview-engine/renderers-R22CDFO4.mjs +1 -0
- package/dist/preview-engine/renderers-RDYJRNAR.mjs +1 -0
- package/dist/preview-engine/renderers-RENLKAA7.mjs +1 -0
- package/dist/preview-engine/{renderers-5XLGCEOA.mjs → renderers-RIPXT4AL.mjs} +1 -1
- package/dist/preview-engine/{renderers-FY2HOQCS.mjs → renderers-SFVFAS3C.mjs} +1 -1
- package/dist/preview-engine/{renderers-VIGZYJYX.mjs → renderers-SWQVCJHB.mjs} +1 -1
- package/dist/preview-engine/renderers-SZVDZDY7.mjs +1 -0
- package/dist/preview-engine/renderers-TEKHQHCL.mjs +1 -0
- package/dist/preview-engine/renderers-TS32FDV7.mjs +1 -0
- package/dist/preview-engine/renderers-TYSLUZ53.mjs +1 -0
- package/dist/preview-engine/renderers-U3RLYFCN.mjs +1 -0
- package/dist/preview-engine/{renderers-6LNDAO4B.mjs → renderers-U4IXWMD6.mjs} +1 -1
- package/dist/preview-engine/renderers-V5HM6PZ2.mjs +1 -0
- package/dist/preview-engine/{renderers-33FCFHDR.mjs → renderers-VUQAZ56P.mjs} +1 -1
- package/dist/preview-engine/renderers-W5YFMLSB.mjs +1 -0
- package/dist/preview-engine/renderers-XKDWUK56.mjs +1 -0
- package/dist/preview-engine/renderers-XKSBNCLZ.mjs +1 -0
- package/dist/preview-engine/renderers-XLQXVD37.mjs +1 -0
- package/dist/preview-engine/renderers-ZGX3A3QZ.mjs +1 -0
- package/dist/preview-engine/signals.mjs +1 -1
- package/dist/preview-engine/{src-4IUYUKIZ.mjs → src-GPF7RIBU.mjs} +1 -1
- package/dist/{program-Bc860ko5.mjs → program-Cvv_nb9T.mjs} +42 -15
- package/dist/program-Cvv_nb9T.mjs.map +1 -0
- package/dist/renderer/index.d.mts +1 -1
- package/dist/renderer/index.mjs +2 -2
- package/dist/renderer--RJepuOy.mjs +5 -0
- package/dist/{renderer-Bf4-N7k7.mjs → renderer-4uZGSmUD.mjs} +4 -4
- package/dist/{renderer-Bf4-N7k7.mjs.map → renderer-4uZGSmUD.mjs.map} +1 -1
- package/dist/{renderer-V4dhrf_h.mjs → renderer-5fGj_tqN.mjs} +4 -4
- package/dist/{renderer-V4dhrf_h.mjs.map → renderer-5fGj_tqN.mjs.map} +1 -1
- package/dist/{renderer-ByjaseAo.mjs → renderer-6g1ri445.mjs} +4 -4
- package/dist/{renderer-ByjaseAo.mjs.map → renderer-6g1ri445.mjs.map} +1 -1
- package/dist/{renderer-CR0mDPYY.mjs → renderer-B09I95bo.mjs} +2 -2
- package/dist/{renderer-BVKOQarx.d.mts → renderer-B1U6YRRV.d.mts} +22 -4
- package/dist/renderer-B1U6YRRV.d.mts.map +1 -0
- package/dist/renderer-B4NFnaty.mjs +5 -0
- package/dist/renderer-B6g4ts0e.mjs +5 -0
- package/dist/{renderer-g_1t2je9.mjs → renderer-BBjkX0Vt.mjs} +2 -2
- package/dist/{renderer-DAn9xiQT.mjs → renderer-BC_Nse6h.mjs} +4 -4
- package/dist/{renderer-DAn9xiQT.mjs.map → renderer-BC_Nse6h.mjs.map} +1 -1
- package/dist/renderer-BGoAr-tl.mjs +5 -0
- package/dist/{renderer-_9gbYS-3.mjs → renderer-BJEexai1.mjs} +4 -4
- package/dist/{renderer-_9gbYS-3.mjs.map → renderer-BJEexai1.mjs.map} +1 -1
- package/dist/{renderer-DcvjSolU.mjs → renderer-BOg8i8eF.mjs} +11 -2
- package/dist/{renderer-DcvjSolU.mjs.map → renderer-BOg8i8eF.mjs.map} +1 -1
- package/dist/renderer-BSOdBgdE.mjs +5 -0
- package/dist/{renderer-4ZUv3X1I.mjs → renderer-BSsKlcHk.mjs} +4 -4
- package/dist/{renderer-4ZUv3X1I.mjs.map → renderer-BSsKlcHk.mjs.map} +1 -1
- package/dist/{renderer-Cz-n883J.mjs → renderer-BTd6tFcS.mjs} +4 -4
- package/dist/{renderer-Cz-n883J.mjs.map → renderer-BTd6tFcS.mjs.map} +1 -1
- package/dist/renderer-BU6O0fpM.mjs +5 -0
- package/dist/{renderer-D-QVGphn.mjs → renderer-BXGuCnCJ.mjs} +4 -4
- package/dist/{renderer-D-QVGphn.mjs.map → renderer-BXGuCnCJ.mjs.map} +1 -1
- package/dist/renderer-BZ97iidG.mjs +5 -0
- package/dist/renderer-B_Klh1VT.mjs +5 -0
- package/dist/renderer-BaWQM1y-.mjs +5 -0
- package/dist/renderer-Bc0jvAj0.mjs +5 -0
- package/dist/renderer-Bd-NuU3M.mjs +3 -0
- package/dist/{renderer-B-CMRUag.mjs → renderer-Bf7Z7WT5.mjs} +3 -3
- package/dist/{renderer-B-CMRUag.mjs.map → renderer-Bf7Z7WT5.mjs.map} +1 -1
- package/dist/renderer-Bm077kZ6.mjs +5 -0
- package/dist/renderer-BtzE_e_Y.mjs +5 -0
- package/dist/{renderer-DFJWPqOJ.mjs → renderer-BvRM3OZ6.mjs} +3 -3
- package/dist/{renderer-DFJWPqOJ.mjs.map → renderer-BvRM3OZ6.mjs.map} +1 -1
- package/dist/{renderer-fwKnV9zs.mjs → renderer-BwJ0nXXu.mjs} +4 -4
- package/dist/{renderer-fwKnV9zs.mjs.map → renderer-BwJ0nXXu.mjs.map} +1 -1
- package/dist/{renderer-CLAvn9c6.mjs → renderer-BwV-o_1b.mjs} +3 -3
- package/dist/{renderer-CLAvn9c6.mjs.map → renderer-BwV-o_1b.mjs.map} +1 -1
- package/dist/{renderer-BDZC3o3N.mjs → renderer-Bxiiar50.mjs} +4 -4
- package/dist/{renderer-BDZC3o3N.mjs.map → renderer-Bxiiar50.mjs.map} +1 -1
- package/dist/{renderer-o68mVeyk.mjs → renderer-ByFPmHBC.mjs} +3 -3
- package/dist/{renderer-o68mVeyk.mjs.map → renderer-ByFPmHBC.mjs.map} +1 -1
- package/dist/{renderer-D4f8f66C.mjs → renderer-BzTj_CeK.mjs} +4 -4
- package/dist/{renderer-D4f8f66C.mjs.map → renderer-BzTj_CeK.mjs.map} +1 -1
- package/dist/renderer-C225eCAo.mjs +5 -0
- package/dist/{renderer-BNJ6Jk7-.mjs → renderer-C2kFIZ4r.mjs} +3 -3
- package/dist/{renderer-BNJ6Jk7-.mjs.map → renderer-C2kFIZ4r.mjs.map} +1 -1
- package/dist/{renderer-riIFosX6.mjs → renderer-C3CGYjrC.mjs} +4 -4
- package/dist/{renderer-riIFosX6.mjs.map → renderer-C3CGYjrC.mjs.map} +1 -1
- package/dist/renderer-CC4fhNup.mjs +3 -0
- package/dist/{renderer-B1esRxGy.mjs → renderer-CGpi8CDT.mjs} +4 -4
- package/dist/{renderer-B1esRxGy.mjs.map → renderer-CGpi8CDT.mjs.map} +1 -1
- package/dist/{renderer-Rw87u1Cr.mjs → renderer-CInMMs5x.mjs} +4 -4
- package/dist/{renderer-Rw87u1Cr.mjs.map → renderer-CInMMs5x.mjs.map} +1 -1
- package/dist/{renderer-COcKhouz.mjs → renderer-CLTRTtQ8.mjs} +4 -4
- package/dist/{renderer-COcKhouz.mjs.map → renderer-CLTRTtQ8.mjs.map} +1 -1
- package/dist/renderer-CLXdR4vz.mjs +5 -0
- package/dist/{renderer-BhsrlGKp.mjs → renderer-CMCmljb0.mjs} +74 -21
- package/dist/renderer-CMCmljb0.mjs.map +1 -0
- package/dist/{renderer-HDj9Zb-O.mjs → renderer-CN-mCIoI.mjs} +19 -6
- package/dist/renderer-CN-mCIoI.mjs.map +1 -0
- package/dist/{renderer-Ros7XQg2.mjs → renderer-CNpq7rL-.mjs} +3 -3
- package/dist/{renderer-Ros7XQg2.mjs.map → renderer-CNpq7rL-.mjs.map} +1 -1
- package/dist/{renderer-B3Dme2es.mjs → renderer-CZClDMgF.mjs} +4 -4
- package/dist/{renderer-B3Dme2es.mjs.map → renderer-CZClDMgF.mjs.map} +1 -1
- package/dist/{renderer-1uoKiILq.mjs → renderer-C_gR2H3R.mjs} +3 -3
- package/dist/{renderer-1uoKiILq.mjs.map → renderer-C_gR2H3R.mjs.map} +1 -1
- package/dist/{renderer-88C3QpKL.d.mts → renderer-CcmxR6Fy.d.mts} +2 -2
- package/dist/{renderer-88C3QpKL.d.mts.map → renderer-CcmxR6Fy.d.mts.map} +1 -1
- package/dist/{renderer-50JEMaVo.mjs → renderer-CiHVnhUk.mjs} +4 -4
- package/dist/{renderer-50JEMaVo.mjs.map → renderer-CiHVnhUk.mjs.map} +1 -1
- package/dist/renderer-CszM8B3C.mjs +5 -0
- package/dist/renderer-Ctp8ZYfk.mjs +5 -0
- package/dist/{renderer-JHByuUNb.mjs → renderer-CtpEzVBn.mjs} +3 -3
- package/dist/{renderer-JHByuUNb.mjs.map → renderer-CtpEzVBn.mjs.map} +1 -1
- package/dist/renderer-CxQdSp8I.mjs +5 -0
- package/dist/{renderer-BaIJIfJ6.mjs → renderer-D3QPNBEj.mjs} +4 -4
- package/dist/{renderer-BaIJIfJ6.mjs.map → renderer-D3QPNBEj.mjs.map} +1 -1
- package/dist/{renderer-Bbxh4N8Y.mjs → renderer-D3YbHjRG.mjs} +73 -73
- package/dist/{renderer-Bbxh4N8Y.mjs.map → renderer-D3YbHjRG.mjs.map} +1 -1
- package/dist/renderer-D4GMRtDd.mjs +6 -0
- package/dist/{renderer-Bx14Wnxl.mjs → renderer-DCMoBppL.mjs} +58 -4
- package/dist/renderer-DCMoBppL.mjs.map +1 -0
- package/dist/{renderer-sfqZK6L5.mjs → renderer-DEoerd-j.mjs} +4 -4
- package/dist/{renderer-sfqZK6L5.mjs.map → renderer-DEoerd-j.mjs.map} +1 -1
- package/dist/renderer-DEsGIvTZ.mjs +5 -0
- package/dist/{renderer-ynFRJh7G.mjs → renderer-DGXqspB9.mjs} +2 -2
- package/dist/renderer-DIaUQ0EP.mjs +5 -0
- package/dist/{renderer-DgPn_SOC.mjs → renderer-DKFaVaRJ.mjs} +3 -3
- package/dist/{renderer-DgPn_SOC.mjs.map → renderer-DKFaVaRJ.mjs.map} +1 -1
- package/dist/{renderer-CrR8Mpxq.mjs → renderer-DL3o_lG1.mjs} +4 -4
- package/dist/{renderer-CrR8Mpxq.mjs.map → renderer-DL3o_lG1.mjs.map} +1 -1
- package/dist/{renderer-Bxjb0HYU.mjs → renderer-DLaUT6JZ.mjs} +3 -3
- package/dist/{renderer-Bxjb0HYU.mjs.map → renderer-DLaUT6JZ.mjs.map} +1 -1
- package/dist/renderer-DLjqcNzQ.mjs +5 -0
- package/dist/renderer-DMuQZa51.mjs +5 -0
- package/dist/{renderer-Co6UFbZB.mjs → renderer-DO1SZ5xY.mjs} +4 -4
- package/dist/{renderer-Co6UFbZB.mjs.map → renderer-DO1SZ5xY.mjs.map} +1 -1
- package/dist/{renderer-B6Oeahe_.mjs → renderer-DO_zXwMJ.mjs} +3 -3
- package/dist/{renderer-B6Oeahe_.mjs.map → renderer-DO_zXwMJ.mjs.map} +1 -1
- package/dist/renderer-DOgi2aF2.mjs +5 -0
- package/dist/{renderer-BSELd5vU.mjs → renderer-DP9ScNM6.mjs} +3 -3
- package/dist/{renderer-BSELd5vU.mjs.map → renderer-DP9ScNM6.mjs.map} +1 -1
- package/dist/{renderer-DOkbn1ot.mjs → renderer-DQJHjU0L.mjs} +4 -4
- package/dist/{renderer-DOkbn1ot.mjs.map → renderer-DQJHjU0L.mjs.map} +1 -1
- package/dist/renderer-DSh7cvi4.mjs +5 -0
- package/dist/renderer-DV1LVBBP.mjs +5 -0
- package/dist/{renderer-BJ-7WRgO.mjs → renderer-DX60Kr20.mjs} +3 -3
- package/dist/{renderer-BJ-7WRgO.mjs.map → renderer-DX60Kr20.mjs.map} +1 -1
- package/dist/{renderer-DLPhfwbR.mjs → renderer-DZIxduEt.mjs} +3 -3
- package/dist/{renderer-DLPhfwbR.mjs.map → renderer-DZIxduEt.mjs.map} +1 -1
- package/dist/{renderer-TKZCA0B9.mjs → renderer-DaLy1dFA.mjs} +208 -69
- package/dist/renderer-DaLy1dFA.mjs.map +1 -0
- package/dist/{renderer-DaXQgGg3.mjs → renderer-DaY04IyU.mjs} +4 -4
- package/dist/{renderer-DaXQgGg3.mjs.map → renderer-DaY04IyU.mjs.map} +1 -1
- package/dist/{renderer-Dpl6poqD.mjs → renderer-Dak_wVh9.mjs} +2 -2
- package/dist/{renderer-Dpl6poqD.mjs.map → renderer-Dak_wVh9.mjs.map} +1 -1
- package/dist/renderer-Dhrj2bJz.mjs +5 -0
- package/dist/{renderer-celhuAL7.mjs → renderer-Dj54y3h3.mjs} +3 -3
- package/dist/{renderer-celhuAL7.mjs.map → renderer-Dj54y3h3.mjs.map} +1 -1
- package/dist/renderer-DoFUu1R4.mjs +5 -0
- package/dist/{renderer-RvI3qRUI.mjs → renderer-Dp9FQKVP.mjs} +4 -4
- package/dist/{renderer-RvI3qRUI.mjs.map → renderer-Dp9FQKVP.mjs.map} +1 -1
- package/dist/{renderer-KKk7myX1.mjs → renderer-DrK6pyfz.mjs} +4 -4
- package/dist/{renderer-KKk7myX1.mjs.map → renderer-DrK6pyfz.mjs.map} +1 -1
- package/dist/{renderer-BURhYcpA.mjs → renderer-DrL3J9ci.mjs} +3 -3
- package/dist/{renderer-BURhYcpA.mjs.map → renderer-DrL3J9ci.mjs.map} +1 -1
- package/dist/{renderer-BOrMBwQS.mjs → renderer-DsPLMzy1.mjs} +2 -2
- package/dist/{renderer-BOrMBwQS.mjs.map → renderer-DsPLMzy1.mjs.map} +1 -1
- package/dist/renderer-DsydX3cx.mjs +5 -0
- package/dist/{renderer-D06HxSXO.mjs → renderer-DwH5e3hx.mjs} +2 -2
- package/dist/renderer-DxVSoeYi.mjs +5 -0
- package/dist/{renderer-BQetXCcZ.mjs → renderer-Dy1xQOTu.mjs} +3 -3
- package/dist/{renderer-BQetXCcZ.mjs.map → renderer-Dy1xQOTu.mjs.map} +1 -1
- package/dist/{renderer-CxGx1Lhi.mjs → renderer-FvvywNvv.mjs} +3 -3
- package/dist/{renderer-CxGx1Lhi.mjs.map → renderer-FvvywNvv.mjs.map} +1 -1
- package/dist/{renderer-DE9Jik9K.mjs → renderer-HXw4cJZx.mjs} +3 -3
- package/dist/{renderer-DE9Jik9K.mjs.map → renderer-HXw4cJZx.mjs.map} +1 -1
- package/dist/{renderer-CU8v-LxD.mjs → renderer-HhJPFidU.mjs} +4 -4
- package/dist/{renderer-CU8v-LxD.mjs.map → renderer-HhJPFidU.mjs.map} +1 -1
- package/dist/{renderer-BwrfKKqw.mjs → renderer-IAffbHXx.mjs} +3 -3
- package/dist/{renderer-BwrfKKqw.mjs.map → renderer-IAffbHXx.mjs.map} +1 -1
- package/dist/{renderer-fs8f1QeE.mjs → renderer-LrAldCWN.mjs} +4 -4
- package/dist/{renderer-fs8f1QeE.mjs.map → renderer-LrAldCWN.mjs.map} +1 -1
- package/dist/renderer-Nc9bHb0n.mjs +5 -0
- package/dist/{renderer-h62QaJYz.mjs → renderer-O4y02xkD.mjs} +3 -3
- package/dist/{renderer-h62QaJYz.mjs.map → renderer-O4y02xkD.mjs.map} +1 -1
- package/dist/{renderer-eMCTAa9e.mjs → renderer-PnnkUWm-.mjs} +3 -3
- package/dist/{renderer-eMCTAa9e.mjs.map → renderer-PnnkUWm-.mjs.map} +1 -1
- package/dist/renderer-TFaSD2Db.mjs +5 -0
- package/dist/{renderer-jnAIhWn_.mjs → renderer-TiaHrU5z.mjs} +4 -4
- package/dist/{renderer-jnAIhWn_.mjs.map → renderer-TiaHrU5z.mjs.map} +1 -1
- package/dist/renderer-Z61ctppe.mjs +5 -0
- package/dist/{renderer-DkqZmfm8.mjs → renderer-_KIBvES8.mjs} +4 -4
- package/dist/{renderer-DkqZmfm8.mjs.map → renderer-_KIBvES8.mjs.map} +1 -1
- package/dist/renderer-awXf3sNS.mjs +5 -0
- package/dist/{renderer-7ow5Acsg.mjs → renderer-b0H3oDae.mjs} +3 -3
- package/dist/{renderer-7ow5Acsg.mjs.map → renderer-b0H3oDae.mjs.map} +1 -1
- package/dist/renderer-cHT28oYI.mjs +5 -0
- package/dist/renderer-g7Y3bFot.mjs +5 -0
- package/dist/{renderer-q7q6k_cD.mjs → renderer-oBgCEqaM.mjs} +3 -3
- package/dist/{renderer-q7q6k_cD.mjs.map → renderer-oBgCEqaM.mjs.map} +1 -1
- package/dist/{renderer-Bo7shNdU.mjs → renderer-qVJdxbXB.mjs} +4 -4
- package/dist/{renderer-Bo7shNdU.mjs.map → renderer-qVJdxbXB.mjs.map} +1 -1
- package/dist/renderer-qVv0OzVc.mjs +5 -0
- package/dist/{renderer-D0aAZHC7.mjs → renderer-rKw5_EjG.mjs} +3 -3
- package/dist/{renderer-D0aAZHC7.mjs.map → renderer-rKw5_EjG.mjs.map} +1 -1
- package/dist/{renderer-B1LD29TV.mjs → renderer-sMFJtt_H.mjs} +3 -3
- package/dist/{renderer-B1LD29TV.mjs.map → renderer-sMFJtt_H.mjs.map} +1 -1
- package/dist/{renderer-C9BSXyrq.mjs → renderer-smP1F57W.mjs} +3 -3
- package/dist/{renderer-C9BSXyrq.mjs.map → renderer-smP1F57W.mjs.map} +1 -1
- package/dist/{renderer-DwK9jsER.mjs → renderer-snjhPaP-.mjs} +4 -4
- package/dist/{renderer-DwK9jsER.mjs.map → renderer-snjhPaP-.mjs.map} +1 -1
- package/dist/{renderer-lHNTgiOM.mjs → renderer-t1sXDiqm.mjs} +3 -3
- package/dist/{renderer-lHNTgiOM.mjs.map → renderer-t1sXDiqm.mjs.map} +1 -1
- package/dist/{renderer-CAWnCsQc.mjs → renderer-tRi3KNoG.mjs} +4 -4
- package/dist/{renderer-CAWnCsQc.mjs.map → renderer-tRi3KNoG.mjs.map} +1 -1
- package/dist/{renderer-BNHcwxw9.mjs → renderer-uA0UCxjA.mjs} +3 -3
- package/dist/{renderer-BNHcwxw9.mjs.map → renderer-uA0UCxjA.mjs.map} +1 -1
- package/dist/{renderer-pNmI-A9o.mjs → renderer-xNOKSN3V.mjs} +4 -4
- package/dist/{renderer-pNmI-A9o.mjs.map → renderer-xNOKSN3V.mjs.map} +1 -1
- package/dist/{renderers-CP8CFWDs-DRoslK4F.mjs → renderers-CP8CFWDs-DWRjjeUg.mjs} +3 -3
- package/dist/{renderers-CP8CFWDs-DRoslK4F.mjs.map → renderers-CP8CFWDs-DWRjjeUg.mjs.map} +1 -1
- package/dist/sam/index.d.mts +2 -2
- package/dist/sam/index.mjs +1 -1
- package/dist/signals/index.d.mts +5 -5
- package/dist/signals/index.mjs +5 -5
- package/dist/{src-Bnr8DUC--BRDqRF6I.mjs → src-BU6vm9sP-DFJ3phW0.mjs} +74 -9
- package/dist/src-BU6vm9sP-DFJ3phW0.mjs.map +1 -0
- package/dist/{src-BYp6r-cS.mjs → src-D7M8VTzv.mjs} +248 -28
- package/dist/src-D7M8VTzv.mjs.map +1 -0
- package/package.json +59 -59
- package/dist/cloud-xcfV4J03.mjs.map +0 -1
- package/dist/dist-CWLLnigL.mjs.map +0 -1
- package/dist/gpu-CpkJJLQP.mjs.map +0 -1
- package/dist/index-BuiZzc6i.d.mts.map +0 -1
- package/dist/index-CEU_Zsb9.d.mts.map +0 -1
- package/dist/index-Cro-818i.d.mts.map +0 -1
- package/dist/preview-engine/chunk-4FY4TNST.mjs +0 -1
- package/dist/preview-engine/chunk-7LDSMOO3.mjs +0 -1
- package/dist/preview-engine/chunk-AGAZJZWI.mjs +0 -1
- package/dist/preview-engine/chunk-BXPM5SJ3.mjs +0 -1
- package/dist/preview-engine/chunk-CIVJXFWH.mjs +0 -4
- package/dist/preview-engine/chunk-D73ZKPFN.mjs +0 -138
- package/dist/preview-engine/chunk-KOVN277Z.mjs +0 -1
- package/dist/preview-engine/chunk-M4QANUJI.mjs +0 -480
- package/dist/preview-engine/chunk-XF6DYP6B.mjs +0 -1974
- package/dist/preview-engine/chunk-XYGDTPO7.mjs +0 -39
- package/dist/preview-engine/chunk-YGKO4NIU.mjs +0 -1
- package/dist/preview-engine/renderers-2NGIILMI.mjs +0 -1
- package/dist/preview-engine/renderers-466Z77BH.mjs +0 -1
- package/dist/preview-engine/renderers-4KRENGZA.mjs +0 -1
- package/dist/preview-engine/renderers-4W52BQEU.mjs +0 -1
- package/dist/preview-engine/renderers-55PRAS7G.mjs +0 -1
- package/dist/preview-engine/renderers-5LLYINHW.mjs +0 -1
- package/dist/preview-engine/renderers-63N3Y2XO.mjs +0 -1
- package/dist/preview-engine/renderers-6ROVFDIN.mjs +0 -1
- package/dist/preview-engine/renderers-A4RVLPMG.mjs +0 -1
- package/dist/preview-engine/renderers-A53P4J6O.mjs +0 -1
- package/dist/preview-engine/renderers-AFJ3373L.mjs +0 -1
- package/dist/preview-engine/renderers-ATFWTA3U.mjs +0 -1
- package/dist/preview-engine/renderers-BPYJXHBU.mjs +0 -1
- package/dist/preview-engine/renderers-D3ZF7FXT.mjs +0 -1
- package/dist/preview-engine/renderers-D7YN6B4B.mjs +0 -1
- package/dist/preview-engine/renderers-DBLASKF5.mjs +0 -1
- package/dist/preview-engine/renderers-DC5ZYYHM.mjs +0 -1
- package/dist/preview-engine/renderers-J6ZEXW5L.mjs +0 -1
- package/dist/preview-engine/renderers-JV4MF46Q.mjs +0 -1
- package/dist/preview-engine/renderers-KQKH4ZIX.mjs +0 -1
- package/dist/preview-engine/renderers-MDHPQY6D.mjs +0 -1
- package/dist/preview-engine/renderers-MEITHN4N.mjs +0 -1
- package/dist/preview-engine/renderers-MN3HSBTJ.mjs +0 -1
- package/dist/preview-engine/renderers-NTG3QGNH.mjs +0 -1
- package/dist/preview-engine/renderers-OU4SFMB2.mjs +0 -1
- package/dist/preview-engine/renderers-P6TIBJIG.mjs +0 -1
- package/dist/preview-engine/renderers-POJWQ7L3.mjs +0 -1
- package/dist/preview-engine/renderers-RJ7S6VHD.mjs +0 -1
- package/dist/preview-engine/renderers-RJJAJZYN.mjs +0 -1
- package/dist/preview-engine/renderers-UEQ733VK.mjs +0 -1
- package/dist/preview-engine/renderers-ULO2AW2U.mjs +0 -1
- package/dist/preview-engine/renderers-UPVHGHCK.mjs +0 -1
- package/dist/preview-engine/renderers-UZHSNNIM.mjs +0 -1
- package/dist/preview-engine/renderers-V5KWZL2C.mjs +0 -1
- package/dist/preview-engine/renderers-WL372W36.mjs +0 -228
- package/dist/preview-engine/renderers-YMXKYOHQ.mjs +0 -1
- package/dist/preview-engine/renderers-YWDAZ2NZ.mjs +0 -1
- package/dist/program-Bc860ko5.mjs.map +0 -1
- package/dist/renderer--Ymc_4XJ.mjs +0 -5
- package/dist/renderer-B-OdV-eq.mjs +0 -5
- package/dist/renderer-B65fwoA2.mjs +0 -5
- package/dist/renderer-B92Ahkcv.mjs +0 -5
- package/dist/renderer-B9z2AK31.mjs +0 -5
- package/dist/renderer-BIF3Dg3Z.mjs +0 -5
- package/dist/renderer-BJUVaIAT.mjs +0 -5
- package/dist/renderer-BKRDMbI-.mjs +0 -5
- package/dist/renderer-BSwhyVWa.mjs +0 -5
- package/dist/renderer-BUqSZn2X.mjs +0 -5
- package/dist/renderer-BVKOQarx.d.mts.map +0 -1
- package/dist/renderer-BbmvjqK9.mjs +0 -3
- package/dist/renderer-BhsrlGKp.mjs.map +0 -1
- package/dist/renderer-Bpe4k_x6.mjs +0 -5
- package/dist/renderer-Bx14Wnxl.mjs.map +0 -1
- package/dist/renderer-C1NjG0CJ.mjs +0 -5
- package/dist/renderer-C7Puyst9.mjs +0 -5
- package/dist/renderer-CGA_7320.mjs +0 -5
- package/dist/renderer-CLnFkXO7.mjs +0 -5
- package/dist/renderer-CMQIT1Kh.mjs +0 -5
- package/dist/renderer-CQ1rwjIh.mjs +0 -5
- package/dist/renderer-CT8h0boY.mjs +0 -5
- package/dist/renderer-Cb0lszt3.mjs +0 -5
- package/dist/renderer-Ci7oLye9.mjs +0 -5
- package/dist/renderer-CjqXB3CZ.mjs +0 -5
- package/dist/renderer-CqTV04zQ.mjs +0 -5
- package/dist/renderer-CtWeRtHK.mjs +0 -5
- package/dist/renderer-CzolnwCo.mjs +0 -5
- package/dist/renderer-D6qhcx_C.mjs +0 -5
- package/dist/renderer-DDfEf0jt.mjs +0 -5
- package/dist/renderer-DDpa8ztp.mjs +0 -5
- package/dist/renderer-DbQBqzmx.mjs +0 -5
- package/dist/renderer-DfUcwMKa.mjs +0 -5
- package/dist/renderer-DgIjNANM.mjs +0 -6
- package/dist/renderer-Dsh6Tgu0.mjs +0 -3
- package/dist/renderer-DuIwR9GT.mjs +0 -5
- package/dist/renderer-Dv4u2c14.mjs +0 -5
- package/dist/renderer-HDj9Zb-O.mjs.map +0 -1
- package/dist/renderer-IE1yu3lZ.mjs +0 -5
- package/dist/renderer-PY_wnEN0.mjs +0 -5
- package/dist/renderer-TKZCA0B9.mjs.map +0 -1
- package/dist/renderer-gv24VyzO.mjs +0 -5
- package/dist/renderer-nN6lPZf9.mjs +0 -5
- package/dist/src-BYp6r-cS.mjs.map +0 -1
- package/dist/src-Bnr8DUC--BRDqRF6I.mjs.map +0 -1
|
@@ -16643,6 +16643,10 @@ async function acquireDevice(opts) {
|
|
|
16643
16643
|
if (adapter.limits && Number.isInteger(adapter.limits.maxTextureDimension2D)) requiredLimits.maxTextureDimension2D = Math.min(8192, adapter.limits.maxTextureDimension2D);
|
|
16644
16644
|
if (adapter.limits && Number.isInteger(adapter.limits.maxStorageBuffersPerShaderStage)) requiredLimits.maxStorageBuffersPerShaderStage = Math.min(16, adapter.limits.maxStorageBuffersPerShaderStage);
|
|
16645
16645
|
if (adapter.limits && Number.isInteger(adapter.limits.maxStorageBuffersPerPipelineLayout)) requiredLimits.maxStorageBuffersPerPipelineLayout = Math.min(16, adapter.limits.maxStorageBuffersPerPipelineLayout);
|
|
16646
|
+
for (const limit of ["maxStorageBufferBindingSize", "maxBufferSize"]) {
|
|
16647
|
+
const max = adapter.limits?.[limit];
|
|
16648
|
+
if (Number.isFinite(max)) requiredLimits[limit] = max;
|
|
16649
|
+
}
|
|
16646
16650
|
return adapter.requestDevice({
|
|
16647
16651
|
requiredFeatures,
|
|
16648
16652
|
requiredLimits
|
|
@@ -26511,6 +26515,50 @@ async function drawSignalNode(ctx, encoder, pass, props) {
|
|
|
26511
26515
|
pass.setBindGroup(1, bindGroup1);
|
|
26512
26516
|
pass.draw(4);
|
|
26513
26517
|
}
|
|
26518
|
+
/**
|
|
26519
|
+
* Target pixels per local unit along the axis `m` stretches most: what a
|
|
26520
|
+
* raster drawn under `m` needs per unit to stay sharp, and what one target
|
|
26521
|
+
* pixel is in local units (its inverse).
|
|
26522
|
+
*/
|
|
26523
|
+
function transformScale(m) {
|
|
26524
|
+
return Math.max(Math.hypot(m.a, m.b), Math.hypot(m.c, m.d));
|
|
26525
|
+
}
|
|
26526
|
+
var TransformStack = class {
|
|
26527
|
+
stack = [new DOMMatrix()];
|
|
26528
|
+
push(matrix) {
|
|
26529
|
+
const next = this.stack[this.stack.length - 1].multiply(matrix);
|
|
26530
|
+
this.stack.push(next);
|
|
26531
|
+
}
|
|
26532
|
+
pop() {
|
|
26533
|
+
if (this.stack.length > 1) this.stack.pop();
|
|
26534
|
+
}
|
|
26535
|
+
getCurrent() {
|
|
26536
|
+
return this.stack[this.stack.length - 1];
|
|
26537
|
+
}
|
|
26538
|
+
packIntoBuffer(bufferData, opacity, surfaceWidth, surfaceHeight, localOverride, customParam) {
|
|
26539
|
+
let m = this.getCurrent();
|
|
26540
|
+
if (localOverride) m = m.multiply(localOverride);
|
|
26541
|
+
bufferData[0] = m.a;
|
|
26542
|
+
bufferData[1] = m.b;
|
|
26543
|
+
bufferData[2] = 0;
|
|
26544
|
+
bufferData[3] = 0;
|
|
26545
|
+
bufferData[4] = m.c;
|
|
26546
|
+
bufferData[5] = m.d;
|
|
26547
|
+
bufferData[6] = 0;
|
|
26548
|
+
bufferData[7] = 0;
|
|
26549
|
+
bufferData[8] = m.e;
|
|
26550
|
+
bufferData[9] = m.f;
|
|
26551
|
+
bufferData[10] = 1;
|
|
26552
|
+
bufferData[11] = 0;
|
|
26553
|
+
bufferData[12] = opacity;
|
|
26554
|
+
bufferData[13] = surfaceWidth;
|
|
26555
|
+
bufferData[14] = surfaceHeight;
|
|
26556
|
+
bufferData[15] = customParam ?? 0;
|
|
26557
|
+
}
|
|
26558
|
+
destroy() {
|
|
26559
|
+
this.stack = [new DOMMatrix()];
|
|
26560
|
+
}
|
|
26561
|
+
};
|
|
26514
26562
|
var SvgLoader = class {
|
|
26515
26563
|
cache = /* @__PURE__ */ new Map();
|
|
26516
26564
|
async load(src, width, height, isHeadless) {
|
|
@@ -26583,8 +26631,10 @@ var SvgLoader = class {
|
|
|
26583
26631
|
};
|
|
26584
26632
|
const svgLoader = new SvgLoader();
|
|
26585
26633
|
async function drawSvgNode(ctx, pass, props) {
|
|
26586
|
-
const
|
|
26587
|
-
const
|
|
26634
|
+
const m = ctx.renderer.getCurrentTransform();
|
|
26635
|
+
const k = transformScale(props.matrix ? m.multiply(props.matrix) : m);
|
|
26636
|
+
const resolvedWidth = Math.max(1, Math.ceil(props.dstRect.width * k));
|
|
26637
|
+
const resolvedHeight = Math.max(1, Math.ceil(props.dstRect.height * k));
|
|
26588
26638
|
const cacheKey = `${props.src}-${resolvedWidth}-${resolvedHeight}`;
|
|
26589
26639
|
let tex = textureCache.acquire(cacheKey);
|
|
26590
26640
|
if (!tex) try {
|
|
@@ -27389,6 +27439,8 @@ fn sampleSlugCoverage(sampleUV: vec2<f32>, g: SlugGlyph, pixelsPerEm: vec2<f32>)
|
|
|
27389
27439
|
// pixel footprint in glyph uv, |d/dx| + |d/dy| (fwidth): the caller takes it in
|
|
27390
27440
|
// uniform control flow. On a turned or foreshortened glyph it is wider than one
|
|
27391
27441
|
// pixel along an axis, so that axis gets the soft ramp a box filter gives.
|
|
27442
|
+
// A blur of blurAmount px averages coverage over a grid reaching 0.3 of it
|
|
27443
|
+
// each way, blurTaps taps per side past the centre.
|
|
27392
27444
|
fn shadeSlugGlyph(
|
|
27393
27445
|
uv: vec2<f32>,
|
|
27394
27446
|
fw: vec2<f32>,
|
|
@@ -27397,6 +27449,7 @@ fn shadeSlugGlyph(
|
|
|
27397
27449
|
color: vec4<f32>,
|
|
27398
27450
|
opacity: f32,
|
|
27399
27451
|
blurAmount: f32,
|
|
27452
|
+
blurTaps: f32,
|
|
27400
27453
|
chromaticShift: f32,
|
|
27401
27454
|
dissolveProgress: f32,
|
|
27402
27455
|
) -> vec4<f32> {
|
|
@@ -27429,14 +27482,15 @@ fn shadeSlugGlyph(
|
|
|
27429
27482
|
|
|
27430
27483
|
var slugAlpha = 0.0;
|
|
27431
27484
|
if (blurAmount > 0.01) {
|
|
27432
|
-
let step = fw * blurAmount * 0.3;
|
|
27433
|
-
for (var y_offset = -
|
|
27434
|
-
for (var x_offset = -
|
|
27485
|
+
let step = fw * blurAmount * 0.3 / blurTaps;
|
|
27486
|
+
for (var y_offset = -blurTaps; y_offset <= blurTaps; y_offset = y_offset + 1.0) {
|
|
27487
|
+
for (var x_offset = -blurTaps; x_offset <= blurTaps; x_offset = x_offset + 1.0) {
|
|
27435
27488
|
let offset = vec2<f32>(x_offset, y_offset) * step;
|
|
27436
27489
|
slugAlpha = slugAlpha + sampleSlugCoverage(uv + offset, g, pixelsPerEm);
|
|
27437
27490
|
}
|
|
27438
27491
|
}
|
|
27439
|
-
|
|
27492
|
+
let side = 2.0 * blurTaps + 1.0;
|
|
27493
|
+
slugAlpha = slugAlpha / (side * side);
|
|
27440
27494
|
} else {
|
|
27441
27495
|
slugAlpha = sampleSlugCoverage(uv, g, pixelsPerEm);
|
|
27442
27496
|
}
|
|
@@ -27472,6 +27526,7 @@ struct VSOut {
|
|
|
27472
27526
|
@location(7) @interpolate(flat) chromaticShift : f32,
|
|
27473
27527
|
@location(8) @interpolate(flat) dissolveProgress : f32,
|
|
27474
27528
|
@location(9) @interpolate(flat) vfxParam : f32,
|
|
27529
|
+
@location(10) @interpolate(flat) blurTaps : f32,
|
|
27475
27530
|
};
|
|
27476
27531
|
|
|
27477
27532
|
var<private> pos : array<vec2<f32>, 6> = array<vec2<f32>, 6>(
|
|
@@ -27505,7 +27560,11 @@ var<private> pos : array<vec2<f32>, 6> = array<vec2<f32>, 6>(
|
|
|
27505
27560
|
let transform2 = mat2x2<f32>(u.transformCol0.xy, u.transformCol1.xy);
|
|
27506
27561
|
let pixelsPerUnit = sqrt(max(abs(determinant(transform2)), 1e-8));
|
|
27507
27562
|
let halfSize = max(abs(aScaleBias.xy * scale_mult), vec2<f32>(1e-4));
|
|
27508
|
-
|
|
27563
|
+
// A blurred glyph keeps a unit around it however many pixels a unit
|
|
27564
|
+
// spans: its blur spills that far at one pixel per unit.
|
|
27565
|
+
let blurred = aExtraParams.x > 0.01;
|
|
27566
|
+
let dilation = select(1.0, max(1.0, pixelsPerUnit), blurred) / pixelsPerUnit;
|
|
27567
|
+
let grow = vec2<f32>(1.0) + dilation / halfSize;
|
|
27509
27568
|
let uv = vec2<f32>(
|
|
27510
27569
|
quad_pos.x * grow.x * 0.5 + 0.5,
|
|
27511
27570
|
1.0 - (quad_pos.y * grow.y * 0.5 + 0.5),
|
|
@@ -27539,7 +27598,11 @@ var<private> pos : array<vec2<f32>, 6> = array<vec2<f32>, 6>(
|
|
|
27539
27598
|
out.bandMax = vec2<u32>(aBandMaxTexCoords.xy);
|
|
27540
27599
|
out.bandsTexCoords = vec2<u32>(aBandMaxTexCoords.zw);
|
|
27541
27600
|
out.color = aColor;
|
|
27542
|
-
|
|
27601
|
+
// Blur is in local units, like every other length here; the fragment
|
|
27602
|
+
// stage spreads its taps in pixels, as far apart as at one pixel per
|
|
27603
|
+
// unit (more of them as a unit spans more pixels, up to 4).
|
|
27604
|
+
out.blurAmount = aExtraParams.x * pixelsPerUnit;
|
|
27605
|
+
out.blurTaps = clamp(ceil(pixelsPerUnit - 1e-3), 1.0, 4.0);
|
|
27543
27606
|
out.chromaticShift = aExtraParams.y;
|
|
27544
27607
|
out.dissolveProgress = aExtraParams.z;
|
|
27545
27608
|
out.vfxParam = aExtraParams.w;
|
|
@@ -27558,6 +27621,7 @@ var<private> pos : array<vec2<f32>, 6> = array<vec2<f32>, 6>(
|
|
|
27558
27621
|
in.color,
|
|
27559
27622
|
u.params.x,
|
|
27560
27623
|
in.blurAmount,
|
|
27624
|
+
in.blurTaps,
|
|
27561
27625
|
in.chromaticShift,
|
|
27562
27626
|
in.dissolveProgress,
|
|
27563
27627
|
);
|
|
@@ -29610,42 +29674,6 @@ var SolidPipeline = class {
|
|
|
29610
29674
|
this.uniformBindGroupCache.destroy();
|
|
29611
29675
|
}
|
|
29612
29676
|
};
|
|
29613
|
-
var TransformStack = class {
|
|
29614
|
-
stack = [new DOMMatrix()];
|
|
29615
|
-
push(matrix) {
|
|
29616
|
-
const next = this.stack[this.stack.length - 1].multiply(matrix);
|
|
29617
|
-
this.stack.push(next);
|
|
29618
|
-
}
|
|
29619
|
-
pop() {
|
|
29620
|
-
if (this.stack.length > 1) this.stack.pop();
|
|
29621
|
-
}
|
|
29622
|
-
getCurrent() {
|
|
29623
|
-
return this.stack[this.stack.length - 1];
|
|
29624
|
-
}
|
|
29625
|
-
packIntoBuffer(bufferData, opacity, surfaceWidth, surfaceHeight, localOverride, customParam) {
|
|
29626
|
-
let m = this.getCurrent();
|
|
29627
|
-
if (localOverride) m = m.multiply(localOverride);
|
|
29628
|
-
bufferData[0] = m.a;
|
|
29629
|
-
bufferData[1] = m.b;
|
|
29630
|
-
bufferData[2] = 0;
|
|
29631
|
-
bufferData[3] = 0;
|
|
29632
|
-
bufferData[4] = m.c;
|
|
29633
|
-
bufferData[5] = m.d;
|
|
29634
|
-
bufferData[6] = 0;
|
|
29635
|
-
bufferData[7] = 0;
|
|
29636
|
-
bufferData[8] = m.e;
|
|
29637
|
-
bufferData[9] = m.f;
|
|
29638
|
-
bufferData[10] = 1;
|
|
29639
|
-
bufferData[11] = 0;
|
|
29640
|
-
bufferData[12] = opacity;
|
|
29641
|
-
bufferData[13] = surfaceWidth;
|
|
29642
|
-
bufferData[14] = surfaceHeight;
|
|
29643
|
-
bufferData[15] = customParam ?? 0;
|
|
29644
|
-
}
|
|
29645
|
-
destroy() {
|
|
29646
|
-
this.stack = [new DOMMatrix()];
|
|
29647
|
-
}
|
|
29648
|
-
};
|
|
29649
29677
|
function premultiplyClearColor(color) {
|
|
29650
29678
|
if (Array.isArray(color)) {
|
|
29651
29679
|
const a$1 = color[3] ?? 1;
|
|
@@ -29796,10 +29824,14 @@ var Renderer2D = class {
|
|
|
29796
29824
|
this.drawShapeFill(pass, tris, fill, bounds, opts);
|
|
29797
29825
|
if ((!stroke || !stroke.width || stroke.width <= 0) && (fill.type ?? "solid") === "solid" && fill.color) {
|
|
29798
29826
|
const svgPath = buildShapeSvgPath(config$1);
|
|
29799
|
-
if (svgPath)
|
|
29800
|
-
|
|
29801
|
-
|
|
29802
|
-
|
|
29827
|
+
if (svgPath) {
|
|
29828
|
+
const m = this.transformStack.getCurrent();
|
|
29829
|
+
const hairline = 1 / transformScale(opts?.transform ? m.multiply(opts.transform) : m);
|
|
29830
|
+
this.drawPath(pass, svgPath, fill.color, hairline, {
|
|
29831
|
+
...opts,
|
|
29832
|
+
strokeLineCap: "round"
|
|
29833
|
+
});
|
|
29834
|
+
}
|
|
29803
29835
|
}
|
|
29804
29836
|
}
|
|
29805
29837
|
}
|
|
@@ -32848,6 +32880,9 @@ fn fs_mrt_bloom(in: VertexOutput, @builtin(front_facing) isFront: bool) -> MrtBl
|
|
|
32848
32880
|
*/
|
|
32849
32881
|
const quad3dWgsl = `
|
|
32850
32882
|
${lighting3dWgsl}
|
|
32883
|
+
// Grid cells either side a relief's normals span.
|
|
32884
|
+
const RELIEF_NORMAL_CELLS : f32 = 4.0;
|
|
32885
|
+
|
|
32851
32886
|
struct ModelUniforms {
|
|
32852
32887
|
modelMatrix : mat4x4<f32>,
|
|
32853
32888
|
normalMatrix : mat4x4<f32>,
|
|
@@ -32858,11 +32893,15 @@ struct ModelUniforms {
|
|
|
32858
32893
|
materialParams : vec4<f32>, // x = shininess, y = specularIntensity, z = ambientIntensity, w = materialMode (0=unlit, 1=lit)
|
|
32859
32894
|
pbr : vec4<f32>, // x = roughness (<0 = default), y = metallic
|
|
32860
32895
|
emissive : vec4<f32>, // rgb = sRGB emissive color, w = strength
|
|
32896
|
+
relief : vec4<f32>, // x = amount (px), y = on, w = grid cells per side
|
|
32897
|
+
reliefRect : vec4<f32>, // xy = where the layer's box starts in reliefTex (0..1), zw = its size
|
|
32898
|
+
reliefEye : vec4<f32>, // xyz = the eye the surface keeps its look from (the default camera)
|
|
32861
32899
|
};
|
|
32862
32900
|
|
|
32863
32901
|
@group(0) @binding(0) var<uniform> cam : CameraUniforms;
|
|
32864
32902
|
@group(1) @binding(0) var<uniform> model : ModelUniforms;
|
|
32865
|
-
${matte3dWgsl(1, 1)}@group(
|
|
32903
|
+
${matte3dWgsl(1, 1)}@group(1) @binding(2) var reliefTex : texture_2d<f32>;
|
|
32904
|
+
@group(2) @binding(0) var texSampler : sampler;
|
|
32866
32905
|
@group(2) @binding(1) var mainTex : texture_2d<f32>;
|
|
32867
32906
|
${lightsBindingsWgsl}
|
|
32868
32907
|
|
|
@@ -32881,13 +32920,48 @@ struct VertexOutput {
|
|
|
32881
32920
|
@location(4) localPos : vec2<f32>,
|
|
32882
32921
|
};
|
|
32883
32922
|
|
|
32923
|
+
// Relief: the layer's plane pushed toward the eye by the brightness of a
|
|
32924
|
+
// second picture, so a flat quad becomes a surface (see DrawQuad3DOpts.relief).
|
|
32925
|
+
fn reliefAt(uv: vec2<f32>) -> f32 {
|
|
32926
|
+
let dims = vec2<f32>(textureDimensions(reliefTex));
|
|
32927
|
+
let p = (model.reliefRect.xy + clamp(uv, vec2<f32>(0.0), vec2<f32>(1.0)) * model.reliefRect.zw) * dims - 0.5;
|
|
32928
|
+
let i = floor(p);
|
|
32929
|
+
let f = p - i;
|
|
32930
|
+
// Texels of the layer's own box only: past its edge the relief was never drawn.
|
|
32931
|
+
let lo = max(floor(model.reliefRect.xy * dims), vec2<f32>(0.0));
|
|
32932
|
+
let hi = min(ceil((model.reliefRect.xy + model.reliefRect.zw) * dims) - 1.0, dims - 1.0);
|
|
32933
|
+
let a = textureLoad(reliefTex, vec2<i32>(clamp(i, lo, hi)), 0).rgb;
|
|
32934
|
+
let b = textureLoad(reliefTex, vec2<i32>(clamp(i + vec2<f32>(1.0, 0.0), lo, hi)), 0).rgb;
|
|
32935
|
+
let c = textureLoad(reliefTex, vec2<i32>(clamp(i + vec2<f32>(0.0, 1.0), lo, hi)), 0).rgb;
|
|
32936
|
+
let d = textureLoad(reliefTex, vec2<i32>(clamp(i + vec2<f32>(1.0, 1.0), lo, hi)), 0).rgb;
|
|
32937
|
+
let rgb = mix(mix(a, b, f.x), mix(c, d, f.x), f.y);
|
|
32938
|
+
return dot(rgb, vec3<f32>(0.2126, 0.7152, 0.0722));
|
|
32939
|
+
}
|
|
32940
|
+
|
|
32941
|
+
// The plane's front: the side the default camera sees.
|
|
32942
|
+
fn reliefFront() -> vec3<f32> {
|
|
32943
|
+
return normalize((model.normalMatrix * vec4<f32>(0.0, 0.0, -1.0, 0.0)).xyz);
|
|
32944
|
+
}
|
|
32945
|
+
|
|
32946
|
+
// A point of the plane lifted by its relief along the ray to the eye, so from
|
|
32947
|
+
// the eye it lands on the same pixel as the flat picture.
|
|
32948
|
+
fn reliefPoint(local: vec2<f32>, uv: vec2<f32>) -> vec3<f32> {
|
|
32949
|
+
let flat = (model.modelMatrix * vec4<f32>(local, 0.0, 1.0)).xyz;
|
|
32950
|
+
let n = reliefFront();
|
|
32951
|
+
let h = model.relief.x * reliefAt(uv);
|
|
32952
|
+
let toEye = model.reliefEye.xyz - flat;
|
|
32953
|
+
let along = dot(toEye, n);
|
|
32954
|
+
return select(flat + n * h, flat + toEye * (h / along), along > 1.0);
|
|
32955
|
+
}
|
|
32956
|
+
|
|
32884
32957
|
@vertex
|
|
32885
32958
|
fn vs_main(in: VertexInput) -> VertexOutput {
|
|
32886
32959
|
var out: VertexOutput;
|
|
32887
32960
|
|
|
32888
32961
|
let hasDimensions = model.dimensions.x > 0.0 && model.dimensions.y > 0.0;
|
|
32962
|
+
let hasRelief = model.relief.y > 0.5;
|
|
32889
32963
|
var pad = 0.0;
|
|
32890
|
-
if (hasDimensions) {
|
|
32964
|
+
if (hasDimensions && !hasRelief) {
|
|
32891
32965
|
let viewPos = cam.viewMatrix * model.modelMatrix * vec4<f32>(0.0, 0.0, 0.0, 1.0);
|
|
32892
32966
|
let viewDepth = max(abs(viewPos.z), 0.1);
|
|
32893
32967
|
let projScale = max(cam.projMatrix[1][1], 0.001);
|
|
@@ -32897,12 +32971,28 @@ fn vs_main(in: VertexInput) -> VertexOutput {
|
|
|
32897
32971
|
let scalePad = select(vec2<f32>(1.0), 1.0 + vec2<f32>(2.0 * pad) / model.dimensions.xy, hasDimensions);
|
|
32898
32972
|
|
|
32899
32973
|
let paddedPos = vec3<f32>(in.position.xy * scalePad, in.position.z);
|
|
32900
|
-
|
|
32901
|
-
out.worldPos = worldPos4.xyz;
|
|
32974
|
+
var worldPos4 = model.modelMatrix * vec4<f32>(paddedPos, 1.0);
|
|
32902
32975
|
|
|
32903
32976
|
// Normal transformed by 3x3 normal matrix
|
|
32904
32977
|
let norm4 = model.normalMatrix * vec4<f32>(in.normal, 0.0);
|
|
32905
32978
|
out.worldNormal = normalize(norm4.xyz);
|
|
32979
|
+
if (hasRelief) {
|
|
32980
|
+
let p = reliefPoint(in.position.xy, in.uv);
|
|
32981
|
+
// Central differences a few cells wide: an 8-bit height map steps every
|
|
32982
|
+
// level, and normals from adjacent cells would light those steps as rings.
|
|
32983
|
+
let e = RELIEF_NORMAL_CELLS / max(model.relief.w, 1.0);
|
|
32984
|
+
let dx = vec2<f32>(e, 0.0);
|
|
32985
|
+
let dy = vec2<f32>(0.0, e);
|
|
32986
|
+
let tx = reliefPoint(in.position.xy + dx, in.uv + dx) - reliefPoint(in.position.xy - dx, in.uv - dx);
|
|
32987
|
+
let ty = reliefPoint(in.position.xy + dy, in.uv + dy) - reliefPoint(in.position.xy - dy, in.uv - dy);
|
|
32988
|
+
var nrm = normalize(cross(tx, ty));
|
|
32989
|
+
if (dot(nrm, reliefFront()) < 0.0) {
|
|
32990
|
+
nrm = -nrm;
|
|
32991
|
+
}
|
|
32992
|
+
worldPos4 = vec4<f32>(p, 1.0);
|
|
32993
|
+
out.worldNormal = nrm;
|
|
32994
|
+
}
|
|
32995
|
+
out.worldPos = worldPos4.xyz;
|
|
32906
32996
|
|
|
32907
32997
|
out.clipPos = cam.viewProjMatrix * worldPos4;
|
|
32908
32998
|
|
|
@@ -33138,6 +33228,10 @@ function createLightsLayout(device, label = "Lights3DLayout") {
|
|
|
33138
33228
|
]
|
|
33139
33229
|
});
|
|
33140
33230
|
}
|
|
33231
|
+
/** Grid cells per side of a relief surface. */
|
|
33232
|
+
const RELIEF_GRID = 512;
|
|
33233
|
+
/** Floats in the quad's model uniform: transform, colors, params, material, surface, then relief. */
|
|
33234
|
+
const MODEL_FLOATS = 52 + SURFACE_PARAMS_FLOATS + 12;
|
|
33141
33235
|
/** [shininess, specularIntensity, ambientIntensity, materialMode] as the 3D shaders' lighting reads them. */
|
|
33142
33236
|
function packMaterialParams(data) {
|
|
33143
33237
|
return [
|
|
@@ -33161,10 +33255,12 @@ var Quad3DPipeline = class {
|
|
|
33161
33255
|
modelPool;
|
|
33162
33256
|
vertexBuffer;
|
|
33163
33257
|
indexBuffer;
|
|
33164
|
-
|
|
33258
|
+
/** The relief grid, built on first use. */
|
|
33259
|
+
reliefGrid;
|
|
33260
|
+
modelData = new Float32Array(MODEL_FLOATS);
|
|
33165
33261
|
constructor(device, format, depthFormat = "depth24plus", sampleCount = 1) {
|
|
33166
33262
|
this.device = device;
|
|
33167
|
-
this.modelPool = new BufferPool(
|
|
33263
|
+
this.modelPool = new BufferPool(MODEL_FLOATS * 4, GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST);
|
|
33168
33264
|
const module$1 = device.createShaderModule({
|
|
33169
33265
|
label: "quad3d.wgsl",
|
|
33170
33266
|
code: quad3dWgsl
|
|
@@ -33179,11 +33275,19 @@ var Quad3DPipeline = class {
|
|
|
33179
33275
|
});
|
|
33180
33276
|
this.modelLayout = device.createBindGroupLayout({
|
|
33181
33277
|
label: "Quad3DModelLayout",
|
|
33182
|
-
entries: [
|
|
33183
|
-
|
|
33184
|
-
|
|
33185
|
-
|
|
33186
|
-
|
|
33278
|
+
entries: [
|
|
33279
|
+
{
|
|
33280
|
+
binding: 0,
|
|
33281
|
+
visibility: GPUShaderStage.VERTEX | GPUShaderStage.FRAGMENT,
|
|
33282
|
+
buffer: { type: "uniform" }
|
|
33283
|
+
},
|
|
33284
|
+
matteLayoutEntry(1),
|
|
33285
|
+
{
|
|
33286
|
+
binding: 2,
|
|
33287
|
+
visibility: GPUShaderStage.VERTEX,
|
|
33288
|
+
texture: { sampleType: "float" }
|
|
33289
|
+
}
|
|
33290
|
+
]
|
|
33187
33291
|
});
|
|
33188
33292
|
this.textureLayout = device.createBindGroupLayout({
|
|
33189
33293
|
label: "Quad3DTextureLayout",
|
|
@@ -33350,18 +33454,110 @@ var Quad3DPipeline = class {
|
|
|
33350
33454
|
this.modelData[47] = data.textureExtent?.[1] ?? 0;
|
|
33351
33455
|
this.modelData.set(packMaterialParams(data), 48);
|
|
33352
33456
|
packSurfaceParams(data, this.modelData, 52);
|
|
33457
|
+
const relief = data.relief;
|
|
33458
|
+
const r = 52 + SURFACE_PARAMS_FLOATS;
|
|
33459
|
+
this.modelData.set(relief ? [
|
|
33460
|
+
relief.amount,
|
|
33461
|
+
1,
|
|
33462
|
+
0,
|
|
33463
|
+
RELIEF_GRID
|
|
33464
|
+
] : [
|
|
33465
|
+
0,
|
|
33466
|
+
0,
|
|
33467
|
+
0,
|
|
33468
|
+
0
|
|
33469
|
+
], r);
|
|
33470
|
+
this.modelData.set(relief?.uvRect ?? [
|
|
33471
|
+
0,
|
|
33472
|
+
0,
|
|
33473
|
+
1,
|
|
33474
|
+
1
|
|
33475
|
+
], r + 4);
|
|
33476
|
+
this.modelData.set([...relief?.eye ?? [
|
|
33477
|
+
0,
|
|
33478
|
+
0,
|
|
33479
|
+
0
|
|
33480
|
+
], 0], r + 8);
|
|
33353
33481
|
const modelBuffer = this.modelPool.getBuffer(this.device, this.modelData);
|
|
33354
33482
|
return this.device.createBindGroup({
|
|
33355
33483
|
layout: this.modelLayout,
|
|
33356
|
-
entries: [
|
|
33357
|
-
|
|
33358
|
-
|
|
33359
|
-
|
|
33360
|
-
|
|
33361
|
-
|
|
33362
|
-
|
|
33484
|
+
entries: [
|
|
33485
|
+
{
|
|
33486
|
+
binding: 0,
|
|
33487
|
+
resource: { buffer: modelBuffer }
|
|
33488
|
+
},
|
|
33489
|
+
{
|
|
33490
|
+
binding: 1,
|
|
33491
|
+
resource: data.matte?.createView() ?? fullCoverageView(this.device)
|
|
33492
|
+
},
|
|
33493
|
+
{
|
|
33494
|
+
binding: 2,
|
|
33495
|
+
resource: data.relief?.texture.createView() ?? fullCoverageView(this.device)
|
|
33496
|
+
}
|
|
33497
|
+
]
|
|
33363
33498
|
});
|
|
33364
33499
|
}
|
|
33500
|
+
/** Binds the geometry for `data` and draws it: the quad, or the relief grid. */
|
|
33501
|
+
drawGeometry(pass, data) {
|
|
33502
|
+
if (!data.relief) {
|
|
33503
|
+
pass.setVertexBuffer(0, this.vertexBuffer);
|
|
33504
|
+
pass.setIndexBuffer(this.indexBuffer, "uint16");
|
|
33505
|
+
pass.drawIndexed(6);
|
|
33506
|
+
return;
|
|
33507
|
+
}
|
|
33508
|
+
this.reliefGrid ??= this.createReliefGrid();
|
|
33509
|
+
pass.setVertexBuffer(0, this.reliefGrid.vertices);
|
|
33510
|
+
pass.setIndexBuffer(this.reliefGrid.indices, "uint32");
|
|
33511
|
+
pass.drawIndexed(this.reliefGrid.count);
|
|
33512
|
+
}
|
|
33513
|
+
/** A RELIEF_GRID² grid over the unit quad, laid out like the quad's vertices. */
|
|
33514
|
+
createReliefGrid() {
|
|
33515
|
+
const side = RELIEF_GRID + 1;
|
|
33516
|
+
const vertices = new Float32Array(side * side * 8);
|
|
33517
|
+
for (let j = 0; j < side; j++) for (let i = 0; i < side; i++) {
|
|
33518
|
+
const u = i / RELIEF_GRID;
|
|
33519
|
+
const v = j / RELIEF_GRID;
|
|
33520
|
+
vertices.set([
|
|
33521
|
+
u - .5,
|
|
33522
|
+
v - .5,
|
|
33523
|
+
0,
|
|
33524
|
+
u,
|
|
33525
|
+
v,
|
|
33526
|
+
0,
|
|
33527
|
+
0,
|
|
33528
|
+
-1
|
|
33529
|
+
], (j * side + i) * 8);
|
|
33530
|
+
}
|
|
33531
|
+
const indices = new Uint32Array(RELIEF_GRID * RELIEF_GRID * 6);
|
|
33532
|
+
let k = 0;
|
|
33533
|
+
for (let j = 0; j < RELIEF_GRID; j++) for (let i = 0; i < RELIEF_GRID; i++) {
|
|
33534
|
+
const a = j * side + i;
|
|
33535
|
+
indices.set([
|
|
33536
|
+
a,
|
|
33537
|
+
a + 1,
|
|
33538
|
+
a + side + 1,
|
|
33539
|
+
a,
|
|
33540
|
+
a + side + 1,
|
|
33541
|
+
a + side
|
|
33542
|
+
], k);
|
|
33543
|
+
k += 6;
|
|
33544
|
+
}
|
|
33545
|
+
const upload = (data, usage) => {
|
|
33546
|
+
const buffer = this.device.createBuffer({
|
|
33547
|
+
size: data.byteLength,
|
|
33548
|
+
usage: usage | GPUBufferUsage.COPY_DST,
|
|
33549
|
+
mappedAtCreation: true
|
|
33550
|
+
});
|
|
33551
|
+
new data.constructor(buffer.getMappedRange()).set(data);
|
|
33552
|
+
buffer.unmap();
|
|
33553
|
+
return buffer;
|
|
33554
|
+
};
|
|
33555
|
+
return {
|
|
33556
|
+
vertices: upload(vertices, GPUBufferUsage.VERTEX),
|
|
33557
|
+
indices: upload(indices, GPUBufferUsage.INDEX),
|
|
33558
|
+
count: indices.length
|
|
33559
|
+
};
|
|
33560
|
+
}
|
|
33365
33561
|
textureBindGroup(texture, sampler) {
|
|
33366
33562
|
return this.device.createBindGroup({
|
|
33367
33563
|
layout: this.textureLayout,
|
|
@@ -33382,9 +33578,7 @@ var Quad3DPipeline = class {
|
|
|
33382
33578
|
pass.setBindGroup(1, modelBindGroup);
|
|
33383
33579
|
pass.setBindGroup(2, textureBindGroup);
|
|
33384
33580
|
pass.setBindGroup(3, lightsBindGroup);
|
|
33385
|
-
|
|
33386
|
-
pass.setIndexBuffer(this.indexBuffer, "uint16");
|
|
33387
|
-
pass.drawIndexed(6);
|
|
33581
|
+
this.drawGeometry(pass, data);
|
|
33388
33582
|
}
|
|
33389
33583
|
/** Draws the quad into a shadow map (`lightCameraBindGroup` holds the light's view-projection). */
|
|
33390
33584
|
drawShadow(pass, lightCameraBindGroup, texture, sampler, data) {
|
|
@@ -33392,14 +33586,14 @@ var Quad3DPipeline = class {
|
|
|
33392
33586
|
pass.setBindGroup(0, lightCameraBindGroup);
|
|
33393
33587
|
pass.setBindGroup(1, this.packModel(data));
|
|
33394
33588
|
pass.setBindGroup(2, this.textureBindGroup(texture, sampler));
|
|
33395
|
-
|
|
33396
|
-
pass.setIndexBuffer(this.indexBuffer, "uint16");
|
|
33397
|
-
pass.drawIndexed(6);
|
|
33589
|
+
this.drawGeometry(pass, data);
|
|
33398
33590
|
}
|
|
33399
33591
|
destroy() {
|
|
33400
33592
|
this.modelPool.destroy();
|
|
33401
33593
|
this.vertexBuffer.destroy();
|
|
33402
33594
|
this.indexBuffer.destroy();
|
|
33595
|
+
this.reliefGrid?.vertices.destroy();
|
|
33596
|
+
this.reliefGrid?.indices.destroy();
|
|
33403
33597
|
}
|
|
33404
33598
|
};
|
|
33405
33599
|
var Mesh3DPipeline = class {
|
|
@@ -38047,6 +38241,7 @@ fn shadeText(in : VSOut, fw : vec2<f32>) -> TextFragment {
|
|
|
38047
38241
|
in.color,
|
|
38048
38242
|
model.params.x,
|
|
38049
38243
|
in.fx.x,
|
|
38244
|
+
1.0,
|
|
38050
38245
|
in.fx.y,
|
|
38051
38246
|
in.fx.z,
|
|
38052
38247
|
);
|
|
@@ -39634,7 +39829,8 @@ var Renderer3D = class {
|
|
|
39634
39829
|
height: c.opts.height,
|
|
39635
39830
|
textureExtent: c.opts.textureExtent,
|
|
39636
39831
|
opacity: c.opts.opacity,
|
|
39637
|
-
colorTint: c.opts.colorTint
|
|
39832
|
+
colorTint: c.opts.colorTint,
|
|
39833
|
+
relief: c.opts.relief
|
|
39638
39834
|
});
|
|
39639
39835
|
}
|
|
39640
39836
|
pass.end();
|
|
@@ -39898,7 +40094,8 @@ var Renderer3D = class {
|
|
|
39898
40094
|
metallic,
|
|
39899
40095
|
emissive: opts.emissive,
|
|
39900
40096
|
emissiveIntensity: opts.emissiveIntensity,
|
|
39901
|
-
matte: opts.matte
|
|
40097
|
+
matte: opts.matte,
|
|
40098
|
+
relief: opts.relief
|
|
39902
40099
|
}, useMrt, this.passWritesHdr);
|
|
39903
40100
|
}
|
|
39904
40101
|
/** T(pos) * Rz * Ry * Rx * S, or the draw's precomputed model matrix. */
|
|
@@ -41377,5 +41574,5 @@ var NodeSurfaceProvider = class {
|
|
|
41377
41574
|
if (typeof globalThis !== "undefined") globalThis.__GATEWAI_DELAYS__ = globalThis.__GATEWAI_DELAYS__ || /* @__PURE__ */ new Set();
|
|
41378
41575
|
|
|
41379
41576
|
//#endregion
|
|
41380
|
-
export { probeVideoSize as $,
|
|
41381
|
-
//# sourceMappingURL=dist-
|
|
41577
|
+
export { probeVideoSize as $, TextCursorConfigSchema as $t, emojiGraphemes as A, evaluateTypewriterState as An, AudioSpectrumTypographySchema as At, jointMatrices as B, signalRegistry as Bn, LineSpacingDynamicsSchema as Bt, drawGifNode as C, evaluateCubicBezier as Cn, AETextAnimatorSchema as Ct, drawSignalNode as D, evaluateSelectorCombination as Dn, AnchorPresetSchema as Dt, drawParagraphNode as E, evaluateMarqueeOffset as En, AnchorGroupingSchema as Et, getPrimitiveGeometry as F, getShuffledOrder as Fn, ExpressionSelectorSchema as Ft, measureMaxCaptionHeight as G, SelectorShapeSchema as Gt, loadModel3D as H, ParticleDissolveConfigSchema as Ht, getRegisteredFontSource as I, parseSvgPathToCubicBeziers as In, ExtendedGlyphPropertiesSchema as It, parseFBX as J, SkewPropertiesSchema as Jt, mediaDecoderCache as K, SelectorUnitsSchema as Kt, getRenderer2D as L, sampleAudioSpectrumScale as Ln, GlyphAnchorGroupingSchema as Lt, fitSpansToText as M, generateArcLengthLUT as Mn, CubicBezierSegmentSchema as Mt, generateExtrudedTextGeometry as N, generatePathSegments as Nn, DynamicStrokePropertiesSchema as Nt, drawSvgNode as O, evaluateSkewMatrix as On, AnimatableGlyphPropsSchema as Ot, getHeadlessFontPath as P, getScramblePool as Pn, EnhancedTextNodeSchema as Pt, poseNodes as Q, TextAnimatorBuilder as Qt, initHeadlessWebGPU as R, sampleCurveGeometry as Rn, GlyphAnchorPointSchema as Rt, drawCaptionNode as S, ellipseToCubicBeziers as Sn, resolveEnvironment as St, drawLottieNode as T, evaluateExpressionSelector as Tn, AdvancedTextAnimatorSchema as Tt, loadOBJ as U, SelectorBasedOnSchema as Ut, loadFBX as V, waveToCubicBeziers as Vn, LongShadowConfigSchema as Vt, lutStore as W, SelectorModeSchema as Wt, parseOBJ as X, SpringPhysicsSchema as Xt, parseMTL as Y, Spatial3DPropertiesSchema as Yt, parseSvgPathToSegments as Z, TextAnchorConfigSchema as Zt, buildShapeSvgPath as _, computeAnchorPivotOffset as _n, Matrix4Math as _t, GlassPipeline as a, TextScrambleConfigSchema as an, spansText as at, colorMatrixWgsl as b, deterministicWigglyNoise as bn, linearRgb as bt, Renderer2D as c, TextWigglySelectorSchema as cn, trackAudioPitch as ct, ScreenSpaceRelightPipeline as d, VariableFontAxesSchema as dn, resolveMediaSourceUrl as dt, TextCursorStyleSchema as en, registerHeadlessFont as et, ShadowPipeline as f, Vec2Schema as fn, Camera3D as ft, WebGPUAudioProcessor as g, buildWGSLSignalFn as gn, MAX_LIGHTS as gt, SlugPipeline as h, buildPathLUT as hn, Light3D as ht, EffectPipeline as i, TextRangeSelectorSchema as in, shaderStore as it, ensureDevice as j, evaluateVolumetricFormation as jn, ChromaticGlitchConfigSchema as jt, drawVideoNode as k, evaluateSpringProgress as kn, AudioSignalComputePipeline as kt, Renderer3D as l, TypewriterAnimatorSchema as ln, transformScale as lt, SlugGeometry as m, VolumetricFormationModeSchema as mn, LIGHT_UNIFORM_SIZE_BYTES as mt, AudioLatentTrackCache as n, TextPathOptionsSchema as nn, sampleMorphWeights as nt, MotionBlurPipeline as o, TextSelectorSchema as on, srtLoader as ot, SlugFontCache as p, VolumetricFormationConfigSchema as pn, ENVIRONMENT_PRESETS as pt, parseColor as q, SignalRegistry as qt, AudioMeshDeformPipeline as r, TextPathSourceSchema as rn, setRegisteredFontSource as rt, NodeSurfaceProvider as s, TextSignalSelectorSchema as sn, textureCache as st, AudioLatentEngine as t, TextPathBuilder as tn, resolveTextSpans as tt, SSAOPipeline as u, TypingCadenceSchema as un, GetFontAssetUrl as ut, clearAllVideoCache as v, computeLineLeadingDisplacement as vn, Path3D as vt, drawImageNode as w, evaluateCubicBezierDerivative as wn, AdvancedTextAnimatorBuilder as wt, describeGpu as x, distanceToCurveParameter as xn, parseColorToRgb as xt, clearHeadlessFonts as y, computeRangeSelectorWeight as yn, Vector3Math as yt, inputStore as z, samplePathChainGeometry as zn, KineticMarqueeConfigSchema as zt };
|
|
41578
|
+
//# sourceMappingURL=dist-B-OPY7Cs.mjs.map
|