framefields 2.2.0 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -2
- package/dist/audio/index.d.mts +4 -4
- package/dist/audio/index.mjs +10 -10
- package/dist/{audio-BvYmTu5T.d.mts → audio-BNnEclHU.d.mts} +3 -3
- package/dist/{audio-BvYmTu5T.d.mts.map → audio-BNnEclHU.d.mts.map} +1 -1
- package/dist/{audio-DMUr01vS.mjs → audio-CS104aUj.mjs} +3 -3
- package/dist/{audio-DMUr01vS.mjs.map → audio-CS104aUj.mjs.map} +1 -1
- package/dist/{dist-CT___nEU.mjs → dist-BOdxAhOT.mjs} +7 -5
- package/dist/dist-BOdxAhOT.mjs.map +1 -0
- package/dist/{dist-cjxDXQdx.mjs → dist-jU289ehm.mjs} +209 -31
- package/dist/{dist-cjxDXQdx.mjs.map → dist-jU289ehm.mjs.map} +1 -1
- package/dist/effects/index.d.mts +5 -5
- package/dist/effects/index.mjs +36 -36
- package/dist/{effects-C06-AOge.mjs → effects-BzOlVD-w.mjs} +532 -4
- package/dist/effects-BzOlVD-w.mjs.map +1 -0
- package/dist/fonts/index.d.mts +1 -1
- package/dist/fonts/index.mjs +2 -2
- package/dist/{fonts-C0UuLQvr.mjs → fonts-BhlV_3Qt.mjs} +2 -2
- package/dist/{fonts-C0UuLQvr.mjs.map → fonts-BhlV_3Qt.mjs.map} +1 -1
- package/dist/{gpu-Du7GpVFW.mjs → gpu-BA1Wz_mS.mjs} +2 -2
- package/dist/{gpu-Du7GpVFW.mjs.map → gpu-BA1Wz_mS.mjs.map} +1 -1
- package/dist/{index-B-oUlLoO.d.mts → index-AdrZIWT0.d.mts} +27 -2
- package/dist/index-AdrZIWT0.d.mts.map +1 -0
- package/dist/{index-BcA8rep0.d.mts → index-B-55dXDu.d.mts} +1 -1
- package/dist/{index-BcA8rep0.d.mts.map → index-B-55dXDu.d.mts.map} +1 -1
- package/dist/{index-D-Iek5sq.d.mts → index-B3BwLHa6.d.mts} +3 -3
- package/dist/{index-D-Iek5sq.d.mts.map → index-B3BwLHa6.d.mts.map} +1 -1
- package/dist/{index-CwbszPDG.d.mts → index-BU51pxZO.d.mts} +956 -9
- package/dist/index-BU51pxZO.d.mts.map +1 -0
- package/dist/{index-XdQPNJnq.d.mts → index-CeRv1KC0.d.mts} +3 -3
- package/dist/{index-XdQPNJnq.d.mts.map → index-CeRv1KC0.d.mts.map} +1 -1
- package/dist/{index-DXfp_T-3.d.mts → index-Cg2ptXcs.d.mts} +2 -2
- package/dist/{index-DXfp_T-3.d.mts.map → index-Cg2ptXcs.d.mts.map} +1 -1
- package/dist/{index-CdyE1tst.d.mts → index-QmkcUL3W.d.mts} +2 -2
- package/dist/{index-CdyE1tst.d.mts.map → index-QmkcUL3W.d.mts.map} +1 -1
- package/dist/index.d.mts +1383 -11
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +3122 -83
- package/dist/index.mjs.map +1 -1
- package/dist/preview/index.d.mts +2 -2
- package/dist/preview/index.mjs +10 -10
- package/dist/{preview-M0TsUzC6.mjs → preview-BVyG76gO.mjs} +2 -2
- package/dist/{preview-M0TsUzC6.mjs.map → preview-BVyG76gO.mjs.map} +1 -1
- package/dist/preview-engine/audio.mjs +1 -1
- package/dist/preview-engine/chunk-2JKXYG6J.mjs +127 -0
- package/dist/preview-engine/chunk-7I7PKKDL.mjs +214 -0
- package/dist/preview-engine/chunk-BQY4BUMN.mjs +1 -0
- package/dist/preview-engine/{chunk-RSMO7NPN.mjs → chunk-BSOJR4JU.mjs} +1 -1
- package/dist/preview-engine/chunk-BVA5NGSH.mjs +1 -0
- package/dist/preview-engine/{chunk-ZTHWCQ2A.mjs → chunk-FNE22WGA.mjs} +1 -1
- package/dist/preview-engine/chunk-GCTVRM7J.mjs +1522 -0
- package/dist/preview-engine/chunk-KERW7QJ4.mjs +174 -0
- package/dist/preview-engine/{chunk-7B5S5D4N.mjs → chunk-TPAEN6VV.mjs} +1 -1
- package/dist/preview-engine/chunk-YQRKT47I.mjs +1 -0
- package/dist/preview-engine/crypto-W5UAWSNT.mjs +1 -0
- package/dist/preview-engine/effects.mjs +1 -1
- package/dist/preview-engine/framefields.mjs +26 -26
- package/dist/preview-engine/player.mjs +5 -5
- package/dist/preview-engine/rapier-AHBIGHEL.mjs +1 -0
- package/dist/preview-engine/rapier-JD7KNQRV.mjs +1 -0
- package/dist/preview-engine/renderers-3F5AIDEL.mjs +228 -0
- package/dist/preview-engine/renderers-6ODPWZ2R.mjs +96 -0
- package/dist/preview-engine/renderers-7NCG6BYS.mjs +94 -0
- package/dist/preview-engine/renderers-BGGRPAVV.mjs +363 -0
- package/dist/preview-engine/renderers-DN2GF3I7.mjs +82 -0
- package/dist/preview-engine/renderers-FGHOLJJK.mjs +44 -0
- package/dist/preview-engine/renderers-FK72LKQC.mjs +275 -0
- package/dist/preview-engine/renderers-FQWWAETX.mjs +203 -0
- package/dist/preview-engine/renderers-HMR2NAD7.mjs +81 -0
- package/dist/preview-engine/renderers-HUW2ZMS3.mjs +1 -0
- package/dist/preview-engine/renderers-JLFGBYN4.mjs +78 -0
- package/dist/preview-engine/renderers-LLUEOW5T.mjs +77 -0
- package/dist/preview-engine/renderers-NC64EQDE.mjs +1 -0
- package/dist/preview-engine/renderers-PVYP2ONH.mjs +76 -0
- package/dist/preview-engine/renderers-TPBPNXWH.mjs +26 -0
- package/dist/preview-engine/renderers-UJ4YVJZT.mjs +80 -0
- package/dist/preview-engine/renderers-WHBDHTRI.mjs +78 -0
- package/dist/preview-engine/renderers-WP67KK5K.mjs +89 -0
- package/dist/preview-engine/renderers-YNFKFM7D.mjs +67 -0
- package/dist/preview-engine/renderers-ZSENYGIY.mjs +84 -0
- package/dist/preview-engine/signals.mjs +1 -1
- package/dist/{program-DzknMiY0.mjs → program-CCSfHMfh.mjs} +346 -13
- package/dist/program-CCSfHMfh.mjs.map +1 -0
- package/dist/renderer/index.d.mts +2 -2
- package/dist/renderer/index.mjs +2 -2
- package/dist/renderer-1Kv7oA86.mjs +5 -0
- package/dist/{renderer-1vhaKMeg.mjs → renderer-1uLtqb74.mjs} +141 -56
- package/dist/renderer-1uLtqb74.mjs.map +1 -0
- package/dist/{renderer-BerD3T-X.mjs → renderer-4VpA7LfU.mjs} +2 -2
- package/dist/{renderer-BerD3T-X.mjs.map → renderer-4VpA7LfU.mjs.map} +1 -1
- package/dist/{renderer-BNqwn0gZ.mjs → renderer-8BM6sJUR.mjs} +2 -2
- package/dist/{renderer-BNqwn0gZ.mjs.map → renderer-8BM6sJUR.mjs.map} +1 -1
- package/dist/renderer-AVHJ33nv.mjs +5 -0
- package/dist/{renderer-0gY4IQhM.mjs → renderer-AtLlZMQ9.mjs} +2 -2
- package/dist/{renderer-0gY4IQhM.mjs.map → renderer-AtLlZMQ9.mjs.map} +1 -1
- package/dist/renderer-B8dJGf8R.mjs +6 -0
- package/dist/{renderer-57ATc_mQ.mjs → renderer-B93zd3sx.mjs} +2 -2
- package/dist/{renderer-57ATc_mQ.mjs.map → renderer-B93zd3sx.mjs.map} +1 -1
- package/dist/renderer-BARst3ZD.mjs +3 -0
- package/dist/{renderer-CJB9nU1x.mjs → renderer-BD7Lmb8h.mjs} +3 -3
- package/dist/{renderer-CJB9nU1x.mjs.map → renderer-BD7Lmb8h.mjs.map} +1 -1
- package/dist/renderer-BEA6nknY.mjs +5 -0
- package/dist/renderer-BFRI5alp.mjs +222 -0
- package/dist/renderer-BFRI5alp.mjs.map +1 -0
- package/dist/{renderer-BiwIh_w4.mjs → renderer-BG5sbTXt.mjs} +3 -3
- package/dist/{renderer-BiwIh_w4.mjs.map → renderer-BG5sbTXt.mjs.map} +1 -1
- package/dist/{renderer-DtgMsjyL.mjs → renderer-BI4OMlEx.mjs} +2 -2
- package/dist/{renderer-DtgMsjyL.mjs.map → renderer-BI4OMlEx.mjs.map} +1 -1
- package/dist/renderer-BOfi06L2.mjs +5 -0
- package/dist/renderer-BOhvtAGL.mjs +5 -0
- package/dist/renderer-BQT3GI9g.mjs +5 -0
- package/dist/{renderer-DJfFc-XW.mjs → renderer-BRwp1kV-.mjs} +3 -3
- package/dist/{renderer-DJfFc-XW.mjs.map → renderer-BRwp1kV-.mjs.map} +1 -1
- package/dist/{renderer-u8ynJtAC.mjs → renderer-BVUTOGHs.mjs} +2 -2
- package/dist/{renderer-u8ynJtAC.mjs.map → renderer-BVUTOGHs.mjs.map} +1 -1
- package/dist/renderer-BXmStgeT.mjs +5 -0
- package/dist/renderer-Bajxo7Nt.mjs +5 -0
- package/dist/{renderer-BHskWZNG.mjs → renderer-Bel1UHA5.mjs} +2 -2
- package/dist/{renderer-AF884a7T.mjs → renderer-BetA_iVd.mjs} +3 -3
- package/dist/{renderer-AF884a7T.mjs.map → renderer-BetA_iVd.mjs.map} +1 -1
- package/dist/{renderer-DpW_LxLO.mjs → renderer-BmDpyiII.mjs} +3 -3
- package/dist/{renderer-DpW_LxLO.mjs.map → renderer-BmDpyiII.mjs.map} +1 -1
- package/dist/{renderer-BteUC_7n.mjs → renderer-BonWt8jF.mjs} +3 -3
- package/dist/{renderer-BteUC_7n.mjs.map → renderer-BonWt8jF.mjs.map} +1 -1
- package/dist/{renderer-BC8XOVl5.mjs → renderer-BpEsZG3t.mjs} +3 -3
- package/dist/{renderer-BC8XOVl5.mjs.map → renderer-BpEsZG3t.mjs.map} +1 -1
- package/dist/{renderer-aArb4RwJ.mjs → renderer-BvBIHi6N.mjs} +2 -2
- package/dist/{renderer-aArb4RwJ.mjs.map → renderer-BvBIHi6N.mjs.map} +1 -1
- package/dist/{renderer-Db3JIF1K.mjs → renderer-BvvuGfZk.mjs} +3 -3
- package/dist/{renderer-Db3JIF1K.mjs.map → renderer-BvvuGfZk.mjs.map} +1 -1
- package/dist/renderer-BzRR0KMm.mjs +5 -0
- package/dist/{renderer-DEuIwr-t.mjs → renderer-Bzl0s07U.mjs} +2 -2
- package/dist/{renderer-DEuIwr-t.mjs.map → renderer-Bzl0s07U.mjs.map} +1 -1
- package/dist/renderer-C39GD6jP.mjs +331 -0
- package/dist/renderer-C39GD6jP.mjs.map +1 -0
- package/dist/renderer-C3Gjy2iE.mjs +5 -0
- package/dist/{renderer-Br6KyRO_.mjs → renderer-C3lPwajT.mjs} +3 -3
- package/dist/{renderer-Br6KyRO_.mjs.map → renderer-C3lPwajT.mjs.map} +1 -1
- package/dist/renderer-C5hQgkz-.mjs +5 -0
- package/dist/{renderer-CebB0v1y.mjs → renderer-C6cF5seJ.mjs} +2 -2
- package/dist/{renderer-CebB0v1y.mjs.map → renderer-C6cF5seJ.mjs.map} +1 -1
- package/dist/renderer-C8GZ0pCV.mjs +191 -0
- package/dist/renderer-C8GZ0pCV.mjs.map +1 -0
- package/dist/{renderer-CuVPo-wP.mjs → renderer-CFe9pZFN.mjs} +2 -2
- package/dist/{renderer-CuVPo-wP.mjs.map → renderer-CFe9pZFN.mjs.map} +1 -1
- package/dist/renderer-CLF-MiOA.mjs +5 -0
- package/dist/renderer-CLa43fCd.mjs +5 -0
- package/dist/{renderer-Bvx56GR6.mjs → renderer-CLdwOhST.mjs} +2 -2
- package/dist/{renderer-Bvx56GR6.mjs.map → renderer-CLdwOhST.mjs.map} +1 -1
- package/dist/renderer-CMK1d6w_.mjs +5 -0
- package/dist/{renderer-CursFKUf.mjs → renderer-CMdtUn5o.mjs} +2 -2
- package/dist/{renderer-CursFKUf.mjs.map → renderer-CMdtUn5o.mjs.map} +1 -1
- package/dist/{renderer-DXqIslFk.mjs → renderer-CNYfB5cC.mjs} +2 -2
- package/dist/{renderer-DXqIslFk.mjs.map → renderer-CNYfB5cC.mjs.map} +1 -1
- package/dist/renderer-CPEQOe3u.mjs +5 -0
- package/dist/{renderer-BbdZ0YHR.mjs → renderer-CWx3Kg79.mjs} +3 -3
- package/dist/{renderer-BbdZ0YHR.mjs.map → renderer-CWx3Kg79.mjs.map} +1 -1
- package/dist/{renderer-CWBHVCvA.mjs → renderer-CdOy3EBJ.mjs} +2 -2
- package/dist/{renderer-CWBHVCvA.mjs.map → renderer-CdOy3EBJ.mjs.map} +1 -1
- package/dist/{renderer-DupsdRIw.mjs → renderer-Celrh689.mjs} +3 -3
- package/dist/{renderer-DupsdRIw.mjs.map → renderer-Celrh689.mjs.map} +1 -1
- package/dist/renderer-CemfjOM9.mjs +5 -0
- package/dist/{renderer-jYxN4mHn.mjs → renderer-ChloaI6P.mjs} +3 -3
- package/dist/{renderer-jYxN4mHn.mjs.map → renderer-ChloaI6P.mjs.map} +1 -1
- package/dist/{renderer-DqdhsSwS.mjs → renderer-CiMpdh0s.mjs} +2 -2
- package/dist/{renderer-DqdhsSwS.mjs.map → renderer-CiMpdh0s.mjs.map} +1 -1
- package/dist/renderer-CkcrScs9.mjs +5 -0
- package/dist/{renderer-CMT4QcpV.mjs → renderer-Cn6VlWHZ.mjs} +3 -3
- package/dist/{renderer-CMT4QcpV.mjs.map → renderer-Cn6VlWHZ.mjs.map} +1 -1
- package/dist/renderer-CqewgazK.mjs +224 -0
- package/dist/renderer-CqewgazK.mjs.map +1 -0
- package/dist/{renderer-C6md3msE.mjs → renderer-Cu5k5D9N.mjs} +2 -2
- package/dist/{renderer-C6md3msE.mjs.map → renderer-Cu5k5D9N.mjs.map} +1 -1
- package/dist/{renderer-id8TbKBY.mjs → renderer-CuphUktB.mjs} +2 -2
- package/dist/{renderer-id8TbKBY.mjs.map → renderer-CuphUktB.mjs.map} +1 -1
- package/dist/renderer-CwrLihY6.mjs +5 -0
- package/dist/{renderer-BzDjy1_x.mjs → renderer-D1Jt-c3F.mjs} +2 -2
- package/dist/{renderer-BzDjy1_x.mjs.map → renderer-D1Jt-c3F.mjs.map} +1 -1
- package/dist/{renderer-Beg7FLt2.mjs → renderer-D1wd0FhZ.mjs} +75 -27
- package/dist/renderer-D1wd0FhZ.mjs.map +1 -0
- package/dist/{renderer-jqByPgkD.mjs → renderer-D26S5hUh.mjs} +2 -2
- package/dist/{renderer-jqByPgkD.mjs.map → renderer-D26S5hUh.mjs.map} +1 -1
- package/dist/renderer-D4S6i2MC.mjs +5 -0
- package/dist/{renderer-BmGPTWwV.mjs → renderer-D7ss6fLB.mjs} +3 -3
- package/dist/{renderer-BmGPTWwV.mjs.map → renderer-D7ss6fLB.mjs.map} +1 -1
- package/dist/renderer-DB8F0XoP.mjs +5 -0
- package/dist/{renderer-PKQNH21k.mjs → renderer-DCGLXnYW.mjs} +2 -2
- package/dist/{renderer-CrABA3lB.mjs → renderer-DCYabwlC.mjs} +2 -2
- package/dist/{renderer-CrABA3lB.mjs.map → renderer-DCYabwlC.mjs.map} +1 -1
- package/dist/renderer-DGpVLJOn.mjs +5 -0
- package/dist/renderer-DGxibeSa.mjs +5 -0
- package/dist/renderer-DJQm3bAW.mjs +5 -0
- package/dist/{renderer-DD8napek.mjs → renderer-DMZ5aLU1.mjs} +2 -2
- package/dist/{renderer-DD8napek.mjs.map → renderer-DMZ5aLU1.mjs.map} +1 -1
- package/dist/renderer-DMftVSfX.mjs +5 -0
- package/dist/renderer-DNpovOd8.mjs +5 -0
- package/dist/renderer-DO5r7ZV-.mjs +658 -0
- package/dist/renderer-DO5r7ZV-.mjs.map +1 -0
- package/dist/{renderer-DZXbgVMK.mjs → renderer-DOWekunR.mjs} +3 -3
- package/dist/{renderer-DZXbgVMK.mjs.map → renderer-DOWekunR.mjs.map} +1 -1
- package/dist/{renderer-Cce2fgpX.mjs → renderer-DPWeKe_x.mjs} +3 -3
- package/dist/{renderer-Cce2fgpX.mjs.map → renderer-DPWeKe_x.mjs.map} +1 -1
- package/dist/{renderer-CE7fwGgw.mjs → renderer-DQtk282o.mjs} +29 -8
- package/dist/renderer-DQtk282o.mjs.map +1 -0
- package/dist/renderer-DSHlvKQk.mjs +5 -0
- package/dist/renderer-DUBb7D17.mjs +219 -0
- package/dist/renderer-DUBb7D17.mjs.map +1 -0
- package/dist/renderer-DYtrdR2p.mjs +5 -0
- package/dist/{renderer-Bn2eQE-t.mjs → renderer-DaCsT-XU.mjs} +3 -3
- package/dist/{renderer-Bn2eQE-t.mjs.map → renderer-DaCsT-XU.mjs.map} +1 -1
- package/dist/{renderer-D1Cm21eq.mjs → renderer-DcAfp1Er.mjs} +2 -2
- package/dist/{renderer-D1Cm21eq.mjs.map → renderer-DcAfp1Er.mjs.map} +1 -1
- package/dist/{renderer-C8uKdelk.mjs → renderer-DdlaBsk_.mjs} +2 -2
- package/dist/{renderer-C8uKdelk.mjs.map → renderer-DdlaBsk_.mjs.map} +1 -1
- package/dist/renderer-DerDxKK3.mjs +220 -0
- package/dist/renderer-DerDxKK3.mjs.map +1 -0
- package/dist/{renderer-CeyAgJnw.mjs → renderer-DfkWYUTX.mjs} +2 -2
- package/dist/{renderer-DHGTzype.mjs → renderer-Dh-OF6aH.mjs} +2 -2
- package/dist/{renderer-DHGTzype.mjs.map → renderer-Dh-OF6aH.mjs.map} +1 -1
- package/dist/renderer-Dk-THZHp.mjs +222 -0
- package/dist/renderer-Dk-THZHp.mjs.map +1 -0
- package/dist/{renderer-BT-_EoXw.d.mts → renderer-DlESyfg7.d.mts} +2 -2
- package/dist/{renderer-BT-_EoXw.d.mts.map → renderer-DlESyfg7.d.mts.map} +1 -1
- package/dist/renderer-DpWRj6zF.mjs +203 -0
- package/dist/renderer-DpWRj6zF.mjs.map +1 -0
- package/dist/renderer-DpwlN4LH.mjs +233 -0
- package/dist/renderer-DpwlN4LH.mjs.map +1 -0
- package/dist/{renderer-DvFaC_-7.mjs → renderer-Dq4aO7az.mjs} +2 -2
- package/dist/{renderer-DvFaC_-7.mjs.map → renderer-Dq4aO7az.mjs.map} +1 -1
- package/dist/renderer-DuSImLUz.mjs +5 -0
- package/dist/{renderer-BeIUgp1r.mjs → renderer-DukD7S3w.mjs} +2 -2
- package/dist/{renderer-BeIUgp1r.mjs.map → renderer-DukD7S3w.mjs.map} +1 -1
- package/dist/{renderer-EemDpvv3.mjs → renderer-FXUCKps6.mjs} +3 -3
- package/dist/{renderer-EemDpvv3.mjs.map → renderer-FXUCKps6.mjs.map} +1 -1
- package/dist/renderer-FbyMYKXe.mjs +5 -0
- package/dist/renderer-HMl2V4iM.mjs +541 -0
- package/dist/renderer-HMl2V4iM.mjs.map +1 -0
- package/dist/renderer-LM_XIKl1.mjs +203 -0
- package/dist/renderer-LM_XIKl1.mjs.map +1 -0
- package/dist/renderer-NMFv7Auz.mjs +5 -0
- package/dist/{renderer-YbaCzPcG.mjs → renderer-O1b-oYJE.mjs} +2 -2
- package/dist/renderer-P3vpdUnb.mjs +5 -0
- package/dist/renderer-PknbdJyL.mjs +208 -0
- package/dist/renderer-PknbdJyL.mjs.map +1 -0
- package/dist/renderer-QTOm26Lg.mjs +5 -0
- package/dist/renderer-YJ3Yukou.mjs +215 -0
- package/dist/renderer-YJ3Yukou.mjs.map +1 -0
- package/dist/{renderer-p_C_T9Kn.mjs → renderer-YdLL2o6d.mjs} +2 -2
- package/dist/{renderer-p_C_T9Kn.mjs.map → renderer-YdLL2o6d.mjs.map} +1 -1
- package/dist/renderer-ahzhMa5q.mjs +5 -0
- package/dist/{renderer-D-vRKssW.mjs → renderer-c-bwxMde.mjs} +2 -2
- package/dist/{renderer-D-vRKssW.mjs.map → renderer-c-bwxMde.mjs.map} +1 -1
- package/dist/renderer-dThfTNge.mjs +5 -0
- package/dist/renderer-dUkOBfGB.mjs +308 -0
- package/dist/renderer-dUkOBfGB.mjs.map +1 -0
- package/dist/renderer-dgAS_k7B.mjs +5 -0
- package/dist/renderer-g-ui08Lh.mjs +204 -0
- package/dist/renderer-g-ui08Lh.mjs.map +1 -0
- package/dist/renderer-kSs8VtY7.mjs +223 -0
- package/dist/renderer-kSs8VtY7.mjs.map +1 -0
- package/dist/{renderer-KnCcN_Nz.mjs → renderer-pPiQwFYh.mjs} +2 -2
- package/dist/{renderer-KnCcN_Nz.mjs.map → renderer-pPiQwFYh.mjs.map} +1 -1
- package/dist/{renderer-D8thCpS7.mjs → renderer-wL-ly4fT.mjs} +3 -3
- package/dist/{renderer-D8thCpS7.mjs.map → renderer-wL-ly4fT.mjs.map} +1 -1
- package/dist/{renderers-CP8CFWDs-BA-4l6By.mjs → renderers-CP8CFWDs-CVHwMTiz.mjs} +2 -2
- package/dist/{renderers-CP8CFWDs-BA-4l6By.mjs.map → renderers-CP8CFWDs-CVHwMTiz.mjs.map} +1 -1
- package/dist/signals/index.d.mts +5 -5
- package/dist/signals/index.mjs +4 -4
- package/package.json +58 -55
- package/dist/dist-CT___nEU.mjs.map +0 -1
- package/dist/effects-C06-AOge.mjs.map +0 -1
- package/dist/index-B-oUlLoO.d.mts.map +0 -1
- package/dist/index-CwbszPDG.d.mts.map +0 -1
- package/dist/preview-engine/chunk-G4K6TLNA.mjs +0 -1
- package/dist/preview-engine/chunk-HVCAOHNI.mjs +0 -1
- package/dist/preview-engine/chunk-KBO6EX3M.mjs +0 -1448
- package/dist/preview-engine/chunk-N4LHIPHZ.mjs +0 -340
- package/dist/preview-engine/chunk-NECOKNHA.mjs +0 -174
- package/dist/preview-engine/renderers-T4JMJXWL.mjs +0 -1
- package/dist/preview-engine/renderers-VFV5QWO3.mjs +0 -1
- package/dist/preview-engine/renderers-VUL4HBX3.mjs +0 -228
- package/dist/program-DzknMiY0.mjs.map +0 -1
- package/dist/renderer--IDyGdqT.mjs +0 -5
- package/dist/renderer-17K4tjid.mjs +0 -5
- package/dist/renderer-1vhaKMeg.mjs.map +0 -1
- package/dist/renderer-Ab9Ttn_m.mjs +0 -5
- package/dist/renderer-B-roDBBo.mjs +0 -5
- package/dist/renderer-B03uwoUX.mjs +0 -5
- package/dist/renderer-B3BI_7YJ.mjs +0 -5
- package/dist/renderer-BGD4lQ74.mjs +0 -5
- package/dist/renderer-BHXhYfeC.mjs +0 -5
- package/dist/renderer-BRsTIMFa.mjs +0 -5
- package/dist/renderer-Beg7FLt2.mjs.map +0 -1
- package/dist/renderer-BjMTtYZw.mjs +0 -5
- package/dist/renderer-BoCh3Yts.mjs +0 -5
- package/dist/renderer-BqPbR8c4.mjs +0 -5
- package/dist/renderer-Bxa4SDm9.mjs +0 -3
- package/dist/renderer-C4Da2I1-.mjs +0 -5
- package/dist/renderer-C93X6dgl.mjs +0 -5
- package/dist/renderer-CE7fwGgw.mjs.map +0 -1
- package/dist/renderer-CMAwFfGx.mjs +0 -6
- package/dist/renderer-CRXeSuX2.mjs +0 -5
- package/dist/renderer-CSp6WYBN.mjs +0 -5
- package/dist/renderer-CUXX7HTL.mjs +0 -5
- package/dist/renderer-CUgThpka.mjs +0 -5
- package/dist/renderer-CeVtufiT.mjs +0 -5
- package/dist/renderer-CespkZUk.mjs +0 -5
- package/dist/renderer-D1l47xhL.mjs +0 -5
- package/dist/renderer-DDuG18J8.mjs +0 -5
- package/dist/renderer-DFhrFSMn.mjs +0 -5
- package/dist/renderer-DO48vQ7Y.mjs +0 -5
- package/dist/renderer-DTC39B_n.mjs +0 -5
- package/dist/renderer-DbyU3hNF.mjs +0 -5
- package/dist/renderer-DftVpmfu.mjs +0 -5
- package/dist/renderer-Dj5jm63K.mjs +0 -5
- package/dist/renderer-Dju57ZaF.mjs +0 -5
- package/dist/renderer-Dn8TQCw7.mjs +0 -5
- package/dist/renderer-ETF46K0D.mjs +0 -5
- package/dist/renderer-azYzWGC3.mjs +0 -5
- package/dist/renderer-dxNoRW59.mjs +0 -5
- package/dist/renderer-fdfelx_I.mjs +0 -5
- package/dist/renderer-snwEKwMw.mjs +0 -5
|
@@ -26508,7 +26508,8 @@ struct SkinningUniforms {
|
|
|
26508
26508
|
@group(0) @binding(0) var<uniform> cam : CameraUniforms;
|
|
26509
26509
|
@group(1) @binding(0) var<uniform> model : ModelUniforms;
|
|
26510
26510
|
@group(1) @binding(1) var<uniform> skinning : SkinningUniforms;
|
|
26511
|
-
${matte3dWgsl(1, 2)}@group(
|
|
26511
|
+
${matte3dWgsl(1, 2)}@group(1) @binding(3) var backdropTex : texture_2d<f32>;
|
|
26512
|
+
@group(2) @binding(0) var texSampler : sampler;
|
|
26512
26513
|
@group(2) @binding(1) var mainTex : texture_2d<f32>;
|
|
26513
26514
|
@group(2) @binding(2) var normalTex : texture_2d<f32>;
|
|
26514
26515
|
@group(2) @binding(3) var metalRoughTex : texture_2d<f32>;
|
|
@@ -26630,6 +26631,75 @@ fn perturbNormal(N: vec3<f32>, p: vec3<f32>, uv: vec2<f32>, tn: vec3<f32>, dp1:
|
|
|
26630
26631
|
return normalize(T * (tn.x * invmax) - B * (tn.y * invmax) + N * tn.z);
|
|
26631
26632
|
}
|
|
26632
26633
|
|
|
26634
|
+
// Glass: what is behind the 3D batch on screen (backdrop), bent by
|
|
26635
|
+
// refraction along the surface normal with a red/blue split, frosted by a
|
|
26636
|
+
// disc blur, tinted by the color, under Fresnel-weighted reflections.
|
|
26637
|
+
// shade.rgb = (dispersion, thickness px, frost), pbr.w = ior.
|
|
26638
|
+
fn backdropAt(uv: vec2<f32>) -> vec3<f32> {
|
|
26639
|
+
return textureSampleLevel(backdropTex, texSampler, clamp(uv, vec2<f32>(0.001), vec2<f32>(0.999)), 0.0).rgb;
|
|
26640
|
+
}
|
|
26641
|
+
|
|
26642
|
+
// rimWidth: how much 1 - N·V changes across this pixel (fwidth, taken in
|
|
26643
|
+
// uniform control flow by the caller). Rim effects narrower than a pixel are
|
|
26644
|
+
// faded out, or per-pixel shading turns them into stair-stepped lines that
|
|
26645
|
+
// MSAA (coverage only) cannot smooth.
|
|
26646
|
+
fn shadeGlass(in: VertexOutput, Nin: vec3<f32>, tint: vec3<f32>, alpha: f32, rimWidth: f32) -> MeshFragment {
|
|
26647
|
+
let V = normalize(cam.cameraPos.xyz - in.worldPos);
|
|
26648
|
+
var N = Nin;
|
|
26649
|
+
if (dot(N, V) < 0.0) { N = -N; }
|
|
26650
|
+
let NdotV = clamp(dot(N, V), 0.0, 1.0);
|
|
26651
|
+
// Also fade toward edge-on: a face seen at a grazing angle is a sliver
|
|
26652
|
+
// under a pixel tall (a slab's bottom), which would alias the same way.
|
|
26653
|
+
let rimAA = clamp(1.0 - rimWidth * 2.5, 0.0, 1.0) * smoothstep(0.03, 0.22, NdotV);
|
|
26654
|
+
let rim = (1.0 - NdotV) * rimAA;
|
|
26655
|
+
let ior = max(model.pbr.w, 1.0001);
|
|
26656
|
+
let screen = max(cam.screenParams.xy, vec2<f32>(1.0));
|
|
26657
|
+
let uv = in.clipPos.xy / screen;
|
|
26658
|
+
// Screen-space bend: the normal's in-plane part, stronger toward the rim.
|
|
26659
|
+
let bend = N.xy * model.shade.g * (1.0 - 1.0 / ior) * (0.6 + rim) * rimAA / screen;
|
|
26660
|
+
let disp = model.shade.r;
|
|
26661
|
+
let frost = model.shade.b * 22.0 / screen;
|
|
26662
|
+
var col = vec3<f32>(0.0);
|
|
26663
|
+
let taps = select(1, 8, model.shade.b > 0.001);
|
|
26664
|
+
for (var i = 0; i < taps; i++) {
|
|
26665
|
+
let a = f32(i) * 2.399963;
|
|
26666
|
+
let r = sqrt((f32(i) + 0.5) / f32(taps));
|
|
26667
|
+
let o = select(vec2<f32>(0.0), vec2<f32>(cos(a), sin(a)) * r * frost, taps > 1);
|
|
26668
|
+
col += vec3<f32>(
|
|
26669
|
+
backdropAt(uv - bend * (1.0 + disp * 6.0) + o).r,
|
|
26670
|
+
backdropAt(uv - bend + o).g,
|
|
26671
|
+
backdropAt(uv - bend * (1.0 - disp * 6.0) + o).b,
|
|
26672
|
+
);
|
|
26673
|
+
}
|
|
26674
|
+
col /= f32(taps);
|
|
26675
|
+
// Light travels further through the glass toward the rim: the tint
|
|
26676
|
+
// deepens and the body darkens there, which is what outlines glass.
|
|
26677
|
+
let depthTint = mix(vec3<f32>(1.0), tint, 0.55 + 0.45 * rim);
|
|
26678
|
+
let transmitted = col * depthTint * (1.0 - 0.45 * rim * rim);
|
|
26679
|
+
let f0 = pow((ior - 1.0) / (ior + 1.0), 2.0);
|
|
26680
|
+
let F = f0 + (1.0 - f0) * pow(rim, 5.0);
|
|
26681
|
+
let lit = shadeSurfaceFull(in.worldPos, N, vec3<f32>(0.0), model.materialParams, vec4<f32>(model.pbr.x, 0.0, 0.0, 0.0), vec4<f32>(0.0));
|
|
26682
|
+
// Grazing faces mirror the room; keep that faint so dark scenes stay dark
|
|
26683
|
+
// and the studio highlights below carry the shape.
|
|
26684
|
+
let sheen = vec3<f32>(0.9, 0.94, 1.0) * F * 0.22 + tint * 0.05 * (0.4 + rim);
|
|
26685
|
+
// A studio in the reflection: a sharp key and two strip softboxes, which
|
|
26686
|
+
// is most of what makes glass read as glass.
|
|
26687
|
+
let R = reflect(-V, N);
|
|
26688
|
+
// Tight: a flat face only flashes as it turns through the light.
|
|
26689
|
+
let key = pow(max(dot(R, normalize(vec3<f32>(-0.45, -0.75, -0.5))), 0.0), 600.0) * 1.8;
|
|
26690
|
+
// Two tall softboxes: narrow bands in the reflection, brightest above.
|
|
26691
|
+
let strips = (1.0 - smoothstep(0.03, 0.07, abs(R.x + 0.45))) * smoothstep(0.3, -0.5, R.y) * 1.1
|
|
26692
|
+
+ (1.0 - smoothstep(0.02, 0.05, abs(R.x - 0.6))) * smoothstep(0.4, -0.3, R.y) * 0.7;
|
|
26693
|
+
let studio = vec3<f32>(1.0, 0.98, 0.95) * (key + strips * (0.25 + F));
|
|
26694
|
+
// A thin bright line where the surface turns away: glass silhouettes.
|
|
26695
|
+
let edge = vec3<f32>(1.0, 0.99, 0.97) * smoothstep(0.8, 0.97, rim) * 0.55;
|
|
26696
|
+
let rgb = transmitted * (1.0 - F) + lit.display + sheen + studio + edge;
|
|
26697
|
+
var out: MeshFragment;
|
|
26698
|
+
out.color = vec4<f32>(rgb * alpha, alpha);
|
|
26699
|
+
out.hdr = vec4<f32>(srgbToLinear(transmitted * (1.0 - F)) * alpha + lit.hdr * alpha + srgbToLinear(sheen + studio + edge) * alpha, alpha);
|
|
26700
|
+
return out;
|
|
26701
|
+
}
|
|
26702
|
+
|
|
26633
26703
|
fn shadeMesh(in: VertexOutput, isFront: bool) -> MeshFragment {
|
|
26634
26704
|
// Every sample and derivative up front, in uniform control flow.
|
|
26635
26705
|
var texColor = textureSample(mainTex, texSampler, in.uv);
|
|
@@ -26641,6 +26711,7 @@ fn shadeMesh(in: VertexOutput, isFront: bool) -> MeshFragment {
|
|
|
26641
26711
|
let dp2 = dpdy(in.worldPos);
|
|
26642
26712
|
let duv1 = dpdx(in.uv);
|
|
26643
26713
|
let duv2 = dpdy(in.uv);
|
|
26714
|
+
let rimWidth = fwidth(1.0 - abs(dot(normalize(in.worldNormal), normalize(cam.cameraPos.xyz - in.worldPos))));
|
|
26644
26715
|
|
|
26645
26716
|
if (!isFront && model.params.y < 0.5) {
|
|
26646
26717
|
discard;
|
|
@@ -26681,6 +26752,9 @@ fn shadeMesh(in: VertexOutput, isFront: bool) -> MeshFragment {
|
|
|
26681
26752
|
pbr.x = select(pbr.x, 1.0, pbr.x < 0.0) * mrSample.g;
|
|
26682
26753
|
pbr.y = pbr.y * mrSample.b;
|
|
26683
26754
|
}
|
|
26755
|
+
if (model.pbr.z > 0.5) {
|
|
26756
|
+
return shadeGlass(in, N, baseRgb, alpha, rimWidth);
|
|
26757
|
+
}
|
|
26684
26758
|
var material = model.materialParams;
|
|
26685
26759
|
material.z = material.z * mix(1.0, aoSample, clamp(model.maps.y, 0.0, 1.0));
|
|
26686
26760
|
var emissive = model.emissive;
|
|
@@ -27372,7 +27446,8 @@ var Mesh3DPipeline = class {
|
|
|
27372
27446
|
visibility: GPUShaderStage.VERTEX,
|
|
27373
27447
|
buffer: { type: "uniform" }
|
|
27374
27448
|
},
|
|
27375
|
-
matteLayoutEntry(2)
|
|
27449
|
+
matteLayoutEntry(2),
|
|
27450
|
+
matteLayoutEntry(3)
|
|
27376
27451
|
]
|
|
27377
27452
|
});
|
|
27378
27453
|
this.textureLayout = device.createBindGroupLayout({
|
|
@@ -27555,6 +27630,14 @@ var Mesh3DPipeline = class {
|
|
|
27555
27630
|
this.modelData[57] = maps?.occlusion ? maps.occlusionStrength ?? 1 : 0;
|
|
27556
27631
|
this.modelData[58] = maps?.metallicRoughness ? 1 : 0;
|
|
27557
27632
|
this.modelData[59] = maps?.emissive ? 1 : 0;
|
|
27633
|
+
const glass = data.glass;
|
|
27634
|
+
if (glass) {
|
|
27635
|
+
this.modelData[44] = glass.dispersion;
|
|
27636
|
+
this.modelData[45] = glass.thickness;
|
|
27637
|
+
this.modelData[46] = glass.frost;
|
|
27638
|
+
this.modelData[50] = 1;
|
|
27639
|
+
this.modelData[51] = glass.ior;
|
|
27640
|
+
}
|
|
27558
27641
|
const modelBuffer = this.modelPool.getBuffer(this.device, this.modelData);
|
|
27559
27642
|
const skinningBuffer = data.isSkinned && data.skinningMatrices ? this.skinningPool.getBuffer(this.device, data.skinningMatrices) : this.defaultSkinningBuffer;
|
|
27560
27643
|
return this.device.createBindGroup({
|
|
@@ -27571,6 +27654,10 @@ var Mesh3DPipeline = class {
|
|
|
27571
27654
|
{
|
|
27572
27655
|
binding: 2,
|
|
27573
27656
|
resource: data.matte?.createView() ?? fullCoverageView(this.device)
|
|
27657
|
+
},
|
|
27658
|
+
{
|
|
27659
|
+
binding: 3,
|
|
27660
|
+
resource: data.glass && data.backdrop?.createView() || fullCoverageView(this.device)
|
|
27574
27661
|
}
|
|
27575
27662
|
]
|
|
27576
27663
|
});
|
|
@@ -28118,43 +28205,125 @@ function organizeGlyphPolygons({ contours: glyphContours, simplified }) {
|
|
|
28118
28205
|
}
|
|
28119
28206
|
return polygons;
|
|
28120
28207
|
}
|
|
28208
|
+
/** Where segments ab and cd cross strictly inside both, or null. */
|
|
28209
|
+
function segmentCrossing(a, b, c, d) {
|
|
28210
|
+
const rx = b.x - a.x;
|
|
28211
|
+
const ry = b.y - a.y;
|
|
28212
|
+
const sx = d.x - c.x;
|
|
28213
|
+
const sy = d.y - c.y;
|
|
28214
|
+
const den = rx * sy - ry * sx;
|
|
28215
|
+
if (Math.abs(den) < 1e-12) return null;
|
|
28216
|
+
const t = ((c.x - a.x) * sy - (c.y - a.y) * sx) / den;
|
|
28217
|
+
const u = ((c.x - a.x) * ry - (c.y - a.y) * rx) / den;
|
|
28218
|
+
const eps = 1e-9;
|
|
28219
|
+
if (t <= eps || t >= 1 - eps || u <= eps || u >= 1 - eps) return null;
|
|
28220
|
+
return {
|
|
28221
|
+
x: a.x + rx * t,
|
|
28222
|
+
y: a.y + ry * t
|
|
28223
|
+
};
|
|
28224
|
+
}
|
|
28121
28225
|
/**
|
|
28122
|
-
*
|
|
28123
|
-
* the
|
|
28124
|
-
*
|
|
28125
|
-
*
|
|
28226
|
+
* Splits a contour that crosses itself into simple loops: at each crossing
|
|
28227
|
+
* the contour is cut into the part between the two crossing edges and the
|
|
28228
|
+
* rest. Font outlines meant to be filled with the nonzero rule (variable
|
|
28229
|
+
* fonts, overlapping strokes) often cross themselves, and a triangulator
|
|
28230
|
+
* given such a contour fills the wrong areas (a "V" with its notch filled).
|
|
28231
|
+
*/
|
|
28232
|
+
function untangleContour(contour, depth = 0) {
|
|
28233
|
+
const n = contour.length;
|
|
28234
|
+
if (n < 3) return [];
|
|
28235
|
+
if (depth > 64) return [contour];
|
|
28236
|
+
for (let i = 0; i < n; i++) {
|
|
28237
|
+
const a = contour[i];
|
|
28238
|
+
const b = contour[(i + 1) % n];
|
|
28239
|
+
for (let j = i + 2; j < n; j++) {
|
|
28240
|
+
if (i === 0 && j === n - 1) continue;
|
|
28241
|
+
const x = segmentCrossing(a, b, contour[j], contour[(j + 1) % n]);
|
|
28242
|
+
if (!x) continue;
|
|
28243
|
+
const inner = [x, ...contour.slice(i + 1, j + 1)];
|
|
28244
|
+
const outer = [
|
|
28245
|
+
x,
|
|
28246
|
+
...contour.slice(j + 1),
|
|
28247
|
+
...contour.slice(0, i + 1)
|
|
28248
|
+
];
|
|
28249
|
+
return [...untangleContour(inner, depth + 1), ...untangleContour(outer, depth + 1)];
|
|
28250
|
+
}
|
|
28251
|
+
}
|
|
28252
|
+
return Math.abs(computeContourSignedArea(contour)) > 1e-9 ? [contour] : [];
|
|
28253
|
+
}
|
|
28254
|
+
/** Nonzero winding number of a set of contours around a point. */
|
|
28255
|
+
function windingNumber(p, contours) {
|
|
28256
|
+
let w = 0;
|
|
28257
|
+
for (const c of contours) for (let i = 0; i < c.length; i++) {
|
|
28258
|
+
const a = c[i];
|
|
28259
|
+
const b = c[(i + 1) % c.length];
|
|
28260
|
+
const side = (b.x - a.x) * (p.y - a.y) - (p.x - a.x) * (b.y - a.y);
|
|
28261
|
+
if (a.y <= p.y) {
|
|
28262
|
+
if (b.y > p.y && side > 0) w++;
|
|
28263
|
+
} else if (b.y <= p.y && side < 0) w--;
|
|
28264
|
+
}
|
|
28265
|
+
return w;
|
|
28266
|
+
}
|
|
28267
|
+
/** A point just inside a simple loop, next to its longest edge. */
|
|
28268
|
+
function pointJustInside(loop) {
|
|
28269
|
+
let best = 0;
|
|
28270
|
+
let bestLen = -1;
|
|
28271
|
+
for (let i = 0; i < loop.length; i++) {
|
|
28272
|
+
const a$1 = loop[i];
|
|
28273
|
+
const b$1 = loop[(i + 1) % loop.length];
|
|
28274
|
+
const len = Math.hypot(b$1.x - a$1.x, b$1.y - a$1.y);
|
|
28275
|
+
if (len > bestLen) {
|
|
28276
|
+
bestLen = len;
|
|
28277
|
+
best = i;
|
|
28278
|
+
}
|
|
28279
|
+
}
|
|
28280
|
+
const a = loop[best];
|
|
28281
|
+
const b = loop[(best + 1) % loop.length];
|
|
28282
|
+
const mx = (a.x + b.x) / 2;
|
|
28283
|
+
const my = (a.y + b.y) / 2;
|
|
28284
|
+
const eps = Math.max(1e-4, Math.min(.01, bestLen * .001));
|
|
28285
|
+
const nx = -(b.y - a.y) / bestLen * eps;
|
|
28286
|
+
const ny = (b.x - a.x) / bestLen * eps;
|
|
28287
|
+
const p = {
|
|
28288
|
+
x: mx + nx,
|
|
28289
|
+
y: my + ny
|
|
28290
|
+
};
|
|
28291
|
+
return isPointInsidePolygon(p, loop) ? p : {
|
|
28292
|
+
x: mx - nx,
|
|
28293
|
+
y: my - ny
|
|
28294
|
+
};
|
|
28295
|
+
}
|
|
28296
|
+
/**
|
|
28297
|
+
* For outlines that were not simplified (no skia, as in the browser):
|
|
28298
|
+
* contours may cross themselves and each other, and are meant to be filled
|
|
28299
|
+
* with the nonzero rule. Self-crossings are split into simple loops; a loop
|
|
28300
|
+
* whose inside is filled under the nonzero rule becomes an outline, and one
|
|
28301
|
+
* that is empty (a counter) becomes a hole of the smallest outline around it.
|
|
28302
|
+
* Overlapping outlines become separate solids, which look the same once
|
|
28303
|
+
* extruded.
|
|
28126
28304
|
*/
|
|
28127
28305
|
function organizeByWinding(glyphContours) {
|
|
28128
|
-
const
|
|
28129
|
-
const signed = computeContourSignedArea(contour);
|
|
28130
|
-
return {
|
|
28131
|
-
contour,
|
|
28132
|
-
signed,
|
|
28133
|
-
area: Math.abs(signed)
|
|
28134
|
-
};
|
|
28135
|
-
});
|
|
28136
|
-
if (contours.length === 0) return [];
|
|
28137
|
-
contours.sort((a, b) => b.area - a.area);
|
|
28138
|
-
const filled = Math.sign(contours[0].signed);
|
|
28306
|
+
const loops = glyphContours.flatMap((c) => untangleContour(c));
|
|
28139
28307
|
const polygons = [];
|
|
28140
|
-
|
|
28141
|
-
|
|
28308
|
+
const holes = [];
|
|
28309
|
+
for (const loop of loops) if (windingNumber(pointJustInside(loop), glyphContours) !== 0) polygons.push({
|
|
28310
|
+
outer: loop,
|
|
28142
28311
|
holes: []
|
|
28143
28312
|
});
|
|
28144
|
-
|
|
28145
|
-
|
|
28146
|
-
const
|
|
28147
|
-
const
|
|
28313
|
+
else holes.push(loop);
|
|
28314
|
+
for (const hole of holes) {
|
|
28315
|
+
const area = Math.abs(computeContourSignedArea(hole));
|
|
28316
|
+
const probe = pointJustInside(hole);
|
|
28148
28317
|
let home;
|
|
28149
28318
|
let homeArea = Number.POSITIVE_INFINITY;
|
|
28150
28319
|
for (const poly of polygons) {
|
|
28151
|
-
const
|
|
28152
|
-
if (
|
|
28320
|
+
const outerArea = Math.abs(computeContourSignedArea(poly.outer));
|
|
28321
|
+
if (outerArea > area && outerArea < homeArea && isPointInsidePolygon(probe, poly.outer)) {
|
|
28153
28322
|
home = poly;
|
|
28154
|
-
homeArea =
|
|
28323
|
+
homeArea = outerArea;
|
|
28155
28324
|
}
|
|
28156
28325
|
}
|
|
28157
|
-
home?.holes.push(
|
|
28326
|
+
home?.holes.push(hole);
|
|
28158
28327
|
}
|
|
28159
28328
|
return polygons;
|
|
28160
28329
|
}
|
|
@@ -30131,7 +30300,16 @@ var Renderer3D = class {
|
|
|
30131
30300
|
addressModeU: address,
|
|
30132
30301
|
addressModeV: address
|
|
30133
30302
|
});
|
|
30303
|
+
const glassy = material === "glass" || material === "acrylic" || material === "frosted";
|
|
30304
|
+
const glass = glassy ? {
|
|
30305
|
+
ior: opts.ior ?? (material === "acrylic" ? 1.49 : 1.5),
|
|
30306
|
+
dispersion: opts.dispersion ?? (material === "glass" ? .04 : .015),
|
|
30307
|
+
thickness: opts.thickness ?? 80,
|
|
30308
|
+
frost: material === "frosted" ? roughness ?? .5 : 0
|
|
30309
|
+
} : void 0;
|
|
30134
30310
|
this.mesh3dPipeline.draw(pass, cameraBindGroup, lightsBindGroup, meshBuffers, texture, sampler, {
|
|
30311
|
+
glass,
|
|
30312
|
+
backdrop: opts.backdrop,
|
|
30135
30313
|
modelMatrix: m,
|
|
30136
30314
|
normalMatrix,
|
|
30137
30315
|
colorTint,
|
|
@@ -30140,11 +30318,11 @@ var Renderer3D = class {
|
|
|
30140
30318
|
wireframe,
|
|
30141
30319
|
isSkinned,
|
|
30142
30320
|
skinningMatrices,
|
|
30143
|
-
material,
|
|
30321
|
+
material: material === "unlit" || material === "toon" ? material : "lit",
|
|
30144
30322
|
shadeColor,
|
|
30145
30323
|
alphaCutoff,
|
|
30146
30324
|
shininess,
|
|
30147
|
-
roughness,
|
|
30325
|
+
roughness: glassy ? Math.min(roughness ?? .05, .3) : roughness,
|
|
30148
30326
|
specularIntensity,
|
|
30149
30327
|
ambientIntensity,
|
|
30150
30328
|
metallic,
|
|
@@ -30956,5 +31134,5 @@ var NodeSurfaceProvider = class {
|
|
|
30956
31134
|
if (typeof globalThis !== "undefined") globalThis.__GATEWAI_DELAYS__ = globalThis.__GATEWAI_DELAYS__ || /* @__PURE__ */ new Set();
|
|
30957
31135
|
|
|
30958
31136
|
//#endregion
|
|
30959
|
-
export {
|
|
30960
|
-
//# sourceMappingURL=dist-
|
|
31137
|
+
export { resolveTextSpans as $, TextSelectorSchema as $t, ensureDevice as A, sampleAudioSpectrumScale as An, GlyphAnchorGroupingSchema as At, loadModel3D as B, SignalRegistry as Bt, drawGifNode as C, evaluateTypewriterState as Cn, AudioSpectrumTypographySchema as Ct, drawSignalNode as D, getScramblePool as Dn, EnhancedTextNodeSchema as Dt, drawParagraphNode as E, generatePathSegments as En, DynamicStrokePropertiesSchema as Et, getRenderer2D as F, ParticleDissolveConfigSchema as Ft, parseColor as G, TextAnimatorBuilder as Gt, lutStore as H, Spatial3DPropertiesSchema as Ht, initHeadlessWebGPU as I, SelectorBasedOnSchema as It, parseOBJ as J, TextPathBuilder as Jt, parseFBX as K, TextCursorConfigSchema as Kt, inputStore as L, SelectorModeSchema as Lt, generateExtrudedTextGeometry as M, samplePathChainGeometry as Mn, KineticMarqueeConfigSchema as Mt, getHeadlessFontPath as N, signalRegistry as Nn, LineSpacingDynamicsSchema as Nt, drawSvgNode as O, getShuffledOrder as On, ExpressionSelectorSchema as Ot, getPrimitiveGeometry as P, waveToCubicBeziers as Pn, LongShadowConfigSchema as Pt, registerHeadlessFont as Q, TextScrambleConfigSchema as Qt, jointMatrices as R, SelectorShapeSchema as Rt, drawCaptionNode as S, evaluateSpringProgress as Sn, AudioSignalComputePipeline as St, drawLottieNode as T, generateArcLengthLUT as Tn, CubicBezierSegmentSchema as Tt, measureMaxCaptionHeight as U, SpringPhysicsSchema as Ut, loadOBJ as V, SkewPropertiesSchema as Vt, mediaDecoderCache as W, TextAnchorConfigSchema as Wt, poseNodes as X, TextPathSourceSchema as Xt, parseSvgPathToSegments as Y, TextPathOptionsSchema as Yt, probeVideoSize as Z, TextRangeSelectorSchema as Zt, buildShapeSvgPath as _, evaluateCubicBezierDerivative as _n, AdvancedTextAnimatorBuilder as _t, GlassPipeline as a, Vec2Schema as an, resolveMediaSourceUrl as at, colorMatrixWgsl as b, evaluateSelectorCombination as bn, AnchorPresetSchema as bt, Renderer2D as c, buildPathLUT as cn, LIGHT_UNIFORM_SIZE_BYTES as ct, ScreenSpaceRelightPipeline as d, computeLineLeadingDisplacement as dn, Matrix4Math as dt, TextSignalSelectorSchema as en, shaderStore as et, ShadowPipeline as f, computeRangeSelectorWeight as fn, Path3D as ft, WebGPUAudioProcessor as g, evaluateCubicBezier as gn, AETextAnimatorSchema as gt, SlugPipeline as h, ellipseToCubicBeziers as hn, resolveEnvironment as ht, EffectPipeline as i, VariableFontAxesSchema as in, GetFontAssetUrl as it, fitSpansToText as j, sampleCurveGeometry as jn, GlyphAnchorPointSchema as jt, drawVideoNode as k, parseSvgPathToCubicBeziers as kn, ExtendedGlyphPropertiesSchema as kt, Renderer3D as l, buildWGSLSignalFn as ln, Light3D as lt, SlugGeometry as m, distanceToCurveParameter as mn, parseColorToRgb as mt, AudioLatentTrackCache as n, TypewriterAnimatorSchema as nn, srtLoader as nt, MotionBlurPipeline as o, VolumetricFormationConfigSchema as on, Camera3D as ot, SlugFontCache as p, deterministicWigglyNoise as pn, Vector3Math as pt, parseMTL as q, TextCursorStyleSchema as qt, AudioMeshDeformPipeline as r, TypingCadenceSchema as rn, textureCache as rt, NodeSurfaceProvider as s, VolumetricFormationModeSchema as sn, ENVIRONMENT_PRESETS as st, AudioLatentEngine as t, TextWigglySelectorSchema as tn, spansText as tt, SSAOPipeline as u, computeAnchorPivotOffset as un, MAX_LIGHTS as ut, clearAllVideoCache as v, evaluateExpressionSelector as vn, AdvancedTextAnimatorSchema as vt, drawImageNode as w, evaluateVolumetricFormation as wn, ChromaticGlitchConfigSchema as wt, describeGpu as x, evaluateSkewMatrix as xn, AnimatableGlyphPropsSchema as xt, clearHeadlessFonts as y, evaluateMarqueeOffset as yn, AnchorGroupingSchema as yt, loadFBX as z, SelectorUnitsSchema as zt };
|
|
31138
|
+
//# sourceMappingURL=dist-jU289ehm.mjs.map
|