@splinetool/runtime 2.0.12 → 2.0.14
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/build/{runtime-aiAssistant-L3HFJZ2G.js → runtime-aiAssistant-CYJ626R5.js} +1 -1
- package/build/runtime-aiAssistant-CYJ626R5.js.br +0 -0
- package/build/runtime-aiAssistant-CYJ626R5.js.gz +0 -0
- package/build/{runtime-apiServices-KSRZJMJI.js → runtime-apiServices-QWPNWK6X.js} +1 -1
- package/build/runtime-apiServices-QWPNWK6X.js.br +0 -0
- package/build/runtime-apiServices-QWPNWK6X.js.gz +0 -0
- package/build/{runtime-audio-CNGZPKC5.js → runtime-audio-CZNFK3LE.js} +1 -1
- package/build/runtime-audio-CZNFK3LE.js.br +0 -0
- package/build/runtime-audio-CZNFK3LE.js.gz +0 -0
- package/build/{runtime-chunk-POTYLEGO.js → runtime-chunk-2PDJQLZS.js} +1 -1
- package/build/runtime-chunk-2PDJQLZS.js.br +0 -0
- package/build/runtime-chunk-2PDJQLZS.js.gz +0 -0
- package/build/{runtime-chunk-TD5YRDN7.js → runtime-chunk-44ON5NFS.js} +1 -1
- package/build/runtime-chunk-44ON5NFS.js.br +0 -0
- package/build/runtime-chunk-44ON5NFS.js.gz +0 -0
- package/build/{runtime-chunk-FGRW5LUR.js → runtime-chunk-4SENJRD5.js} +1 -1
- package/build/runtime-chunk-4SENJRD5.js.br +0 -0
- package/build/runtime-chunk-4SENJRD5.js.gz +0 -0
- package/build/{runtime-chunk-M424ONWP.js → runtime-chunk-4UHPUSEP.js} +1 -1
- package/build/runtime-chunk-4UHPUSEP.js.br +0 -0
- package/build/runtime-chunk-4UHPUSEP.js.gz +0 -0
- package/build/{runtime-chunk-K67GTQLJ.js → runtime-chunk-7PFZBRGF.js} +1 -1
- package/build/runtime-chunk-7PFZBRGF.js.br +0 -0
- package/build/runtime-chunk-7PFZBRGF.js.gz +0 -0
- package/build/{runtime-chunk-D3BWEUN6.js → runtime-chunk-AIWIOLR6.js} +1 -1
- package/build/runtime-chunk-AIWIOLR6.js.br +0 -0
- package/build/{runtime-chunk-D3BWEUN6.js.gz → runtime-chunk-AIWIOLR6.js.gz} +0 -0
- package/build/runtime-chunk-CHOZ3Y5I.js +1 -0
- package/build/runtime-chunk-CHOZ3Y5I.js.br +0 -0
- package/build/runtime-chunk-CHOZ3Y5I.js.gz +0 -0
- package/build/runtime-chunk-DHZVCYH4.js +1 -0
- package/build/runtime-chunk-DHZVCYH4.js.br +0 -0
- package/build/runtime-chunk-DHZVCYH4.js.gz +0 -0
- package/build/{runtime-chunk-UX2PD5MY.js → runtime-chunk-DMRFHNRP.js} +1 -1
- package/build/runtime-chunk-DMRFHNRP.js.br +0 -0
- package/build/runtime-chunk-DMRFHNRP.js.gz +0 -0
- package/build/{runtime-chunk-3CMVQQOR.js → runtime-chunk-EJDIVLQA.js} +1 -1
- package/build/runtime-chunk-EJDIVLQA.js.br +0 -0
- package/build/runtime-chunk-EJDIVLQA.js.gz +0 -0
- package/build/{runtime-chunk-2LTYI3AN.js → runtime-chunk-GZVBZLQ3.js} +1 -1
- package/build/runtime-chunk-GZVBZLQ3.js.br +0 -0
- package/build/runtime-chunk-GZVBZLQ3.js.gz +0 -0
- package/build/{runtime-chunk-AYLDDUAZ.js → runtime-chunk-H2442PY7.js} +1 -1
- package/build/runtime-chunk-H2442PY7.js.br +0 -0
- package/build/runtime-chunk-H2442PY7.js.gz +0 -0
- package/build/{runtime-chunk-SRQQYOPW.js → runtime-chunk-HKD2ORV5.js} +1 -1
- package/build/runtime-chunk-HKD2ORV5.js.br +0 -0
- package/build/runtime-chunk-HKD2ORV5.js.gz +0 -0
- package/build/runtime-chunk-INDD2IUU.js +1 -0
- package/build/runtime-chunk-INDD2IUU.js.br +0 -0
- package/build/runtime-chunk-INDD2IUU.js.gz +0 -0
- package/build/{runtime-chunk-SNCE2TY4.js → runtime-chunk-L5SU5F5J.js} +1 -1
- package/build/runtime-chunk-L5SU5F5J.js.br +0 -0
- package/build/runtime-chunk-L5SU5F5J.js.gz +0 -0
- package/build/{runtime-chunk-3A4X5B7V.js → runtime-chunk-LUASUHYM.js} +1 -1
- package/build/runtime-chunk-LUASUHYM.js.br +0 -0
- package/build/runtime-chunk-LUASUHYM.js.gz +0 -0
- package/build/{runtime-chunk-W44H46BZ.js → runtime-chunk-MF6PRJPV.js} +1 -1
- package/build/runtime-chunk-MF6PRJPV.js.br +0 -0
- package/build/runtime-chunk-MF6PRJPV.js.gz +0 -0
- package/build/runtime-chunk-MKUFNGGW.js +1 -0
- package/build/runtime-chunk-MKUFNGGW.js.br +0 -0
- package/build/runtime-chunk-MKUFNGGW.js.gz +0 -0
- package/build/{runtime-chunk-3O7PY43O.js → runtime-chunk-N473U2V2.js} +1 -1
- package/build/runtime-chunk-N473U2V2.js.br +0 -0
- package/build/runtime-chunk-N473U2V2.js.gz +0 -0
- package/build/{runtime-chunk-DMDTTYNN.js → runtime-chunk-NAJO6T26.js} +1 -1
- package/build/runtime-chunk-NAJO6T26.js.br +0 -0
- package/build/runtime-chunk-NAJO6T26.js.gz +0 -0
- package/build/{runtime-chunk-SFPD5AFA.js → runtime-chunk-NQ5JYNZM.js} +1 -1
- package/build/runtime-chunk-NQ5JYNZM.js.br +0 -0
- package/build/runtime-chunk-NQ5JYNZM.js.gz +0 -0
- package/build/runtime-chunk-PCGGIHOQ.js +1 -0
- package/build/runtime-chunk-PCGGIHOQ.js.br +0 -0
- package/build/runtime-chunk-PCGGIHOQ.js.gz +0 -0
- package/build/{runtime-chunk-BZJCMBUI.js → runtime-chunk-PLKRHTT5.js} +1 -1
- package/build/runtime-chunk-PLKRHTT5.js.br +0 -0
- package/build/runtime-chunk-PLKRHTT5.js.gz +0 -0
- package/build/runtime-chunk-QYZPTNBH.js +1 -0
- package/build/runtime-chunk-QYZPTNBH.js.br +0 -0
- package/build/runtime-chunk-QYZPTNBH.js.gz +0 -0
- package/build/{runtime-chunk-4KZXQGUQ.js → runtime-chunk-RTLL6WIB.js} +1 -1
- package/build/runtime-chunk-RTLL6WIB.js.br +0 -0
- package/build/runtime-chunk-RTLL6WIB.js.gz +0 -0
- package/build/{runtime-chunk-E3QYEXEP.js → runtime-chunk-S6KLXGEL.js} +1 -1
- package/build/runtime-chunk-S6KLXGEL.js.br +0 -0
- package/build/runtime-chunk-S6KLXGEL.js.gz +0 -0
- package/build/runtime-chunk-ST4VJ5DF.js +1 -0
- package/build/runtime-chunk-ST4VJ5DF.js.br +0 -0
- package/build/runtime-chunk-ST4VJ5DF.js.gz +0 -0
- package/build/{runtime-chunk-HN7CSPUY.js → runtime-chunk-U5366HDY.js} +1 -1
- package/build/runtime-chunk-U5366HDY.js.br +0 -0
- package/build/runtime-chunk-U5366HDY.js.gz +0 -0
- package/build/{runtime-chunk-WGMSWSKD.js → runtime-chunk-XOP32NU4.js} +1 -1
- package/build/runtime-chunk-XOP32NU4.js.br +0 -0
- package/build/runtime-chunk-XOP32NU4.js.gz +0 -0
- package/build/{runtime-chunk-UBSXIKOG.js → runtime-chunk-YURN6PI7.js} +1 -1
- package/build/runtime-chunk-YURN6PI7.js.br +0 -0
- package/build/runtime-chunk-YURN6PI7.js.gz +0 -0
- package/build/{runtime-chunk-AAGXG7XK.js → runtime-chunk-ZH7TNSZJ.js} +1 -1
- package/build/runtime-chunk-ZH7TNSZJ.js.br +0 -0
- package/build/runtime-chunk-ZH7TNSZJ.js.gz +0 -0
- package/build/{runtime-classicRuntime-XD52Z3ID.js → runtime-classicRuntime-CTLZXFOK.js} +1 -1
- package/build/runtime-classicRuntime-CTLZXFOK.js.br +0 -0
- package/build/runtime-classicRuntime-CTLZXFOK.js.gz +0 -0
- package/build/runtime-cloners-6BXWHHH6.js +1 -0
- package/build/runtime-cloners-6BXWHHH6.js.br +0 -0
- package/build/runtime-cloners-6BXWHHH6.js.gz +0 -0
- package/build/runtime-components-YTMTPERH.js +1 -0
- package/build/runtime-components-YTMTPERH.js.br +0 -0
- package/build/runtime-components-YTMTPERH.js.gz +0 -0
- package/build/runtime-conditional-CEO237EN.js +1 -0
- package/build/runtime-conditional-CEO237EN.js.br +0 -0
- package/build/runtime-conditional-CEO237EN.js.gz +0 -0
- package/build/{runtime-createDestroy-HT4FKH5P.js → runtime-createDestroy-2RJVOGQP.js} +1 -1
- package/build/runtime-createDestroy-2RJVOGQP.js.br +0 -0
- package/build/runtime-createDestroy-2RJVOGQP.js.gz +0 -0
- package/build/{runtime-dragDrop-FB4BVR5B.js → runtime-dragDrop-CUXGIFGP.js} +1 -1
- package/build/runtime-dragDrop-CUXGIFGP.js.br +0 -0
- package/build/runtime-dragDrop-CUXGIFGP.js.gz +0 -0
- package/build/{runtime-gameControls-KXHLXQUL.js → runtime-gameControls-HKLCWLKJ.js} +1 -1
- package/build/runtime-gameControls-HKLCWLKJ.js.br +0 -0
- package/build/runtime-gameControls-HKLCWLKJ.js.gz +0 -0
- package/build/runtime-hair-R36ZBISB.js +1 -0
- package/build/runtime-hair-R36ZBISB.js.br +1 -0
- package/build/runtime-hair-R36ZBISB.js.gz +0 -0
- package/build/{runtime-mergeStaticGeometries-GWJX3PTU.js → runtime-mergeStaticGeometries-RPBLPAJO.js} +1 -1
- package/build/runtime-mergeStaticGeometries-RPBLPAJO.js.br +0 -0
- package/build/runtime-mergeStaticGeometries-RPBLPAJO.js.gz +0 -0
- package/build/runtime-miscActions-V7N7OCRE.js +1 -0
- package/build/runtime-miscActions-V7N7OCRE.js.br +0 -0
- package/build/runtime-miscActions-V7N7OCRE.js.gz +0 -0
- package/build/{runtime-mouseHover-ATG5LR7E.js → runtime-mouseHover-2FQXNHVN.js} +1 -1
- package/build/runtime-mouseHover-2FQXNHVN.js.br +0 -0
- package/build/runtime-mouseHover-2FQXNHVN.js.gz +0 -0
- package/build/{runtime-particles-E7XPFZHE.js → runtime-particles-JZREUE5L.js} +1 -1
- package/build/runtime-particles-JZREUE5L.js.br +0 -0
- package/build/runtime-particles-JZREUE5L.js.gz +0 -0
- package/build/{runtime-paths-EZZ2EKYD.js → runtime-paths-H3BLID6D.js} +1 -1
- package/build/runtime-paths-H3BLID6D.js.br +0 -0
- package/build/runtime-paths-H3BLID6D.js.gz +0 -0
- package/build/runtime-resize-ZD62VEBD.js +1 -0
- package/build/runtime-resize-ZD62VEBD.js.br +0 -0
- package/build/runtime-resize-ZD62VEBD.js.gz +0 -0
- package/build/{runtime-sceneTransition-RUIJWZQL.js → runtime-sceneTransition-UMLH7ZRG.js} +1 -1
- package/build/runtime-sceneTransition-UMLH7ZRG.js.br +0 -0
- package/build/runtime-sceneTransition-UMLH7ZRG.js.gz +0 -0
- package/build/{runtime-scroll-2YNJT2VF.js → runtime-scroll-G27Z5O4C.js} +1 -1
- package/build/runtime-scroll-G27Z5O4C.js.br +0 -0
- package/build/runtime-scroll-G27Z5O4C.js.gz +0 -0
- package/build/runtime-shapeBlends-E6SX5CX3.js +1 -0
- package/build/runtime-shapeBlends-E6SX5CX3.js.br +0 -0
- package/build/runtime-shapeBlends-E6SX5CX3.js.gz +0 -0
- package/build/{runtime-text-FMV3CA36.js → runtime-text-MQDKSA5W.js} +1 -1
- package/build/runtime-text-MQDKSA5W.js.br +0 -0
- package/build/runtime-text-MQDKSA5W.js.gz +0 -0
- package/build/{runtime-textInputs-CYBDVKZW.js → runtime-textInputs-5DEQBIWS.js} +1 -1
- package/build/runtime-textInputs-5DEQBIWS.js.br +0 -0
- package/build/runtime-textInputs-5DEQBIWS.js.gz +0 -0
- package/build/runtime-timeline-Z7YJ7ASI.js +1 -0
- package/build/runtime-timeline-Z7YJ7ASI.js.br +0 -0
- package/build/runtime-timeline-Z7YJ7ASI.js.gz +0 -0
- package/build/{runtime-tracking-EMTZIN3W.js → runtime-tracking-IW6LURXT.js} +1 -1
- package/build/runtime-tracking-IW6LURXT.js.br +0 -0
- package/build/runtime-tracking-IW6LURXT.js.gz +0 -0
- package/build/runtime-transitions-B5OB67GR.js +1 -0
- package/build/runtime-transitions-B5OB67GR.js.br +0 -0
- package/build/runtime-transitions-B5OB67GR.js.gz +0 -0
- package/build/{runtime-ui2d-KV2KXS4A.js → runtime-ui2d-R4W643OE.js} +1 -1
- package/build/runtime-ui2d-R4W643OE.js.br +0 -0
- package/build/runtime-ui2d-R4W643OE.js.gz +0 -0
- package/build/{runtime-updater-A22NUPB5.js → runtime-updater-2CFDVEWY.js} +1 -1
- package/build/runtime-updater-2CFDVEWY.js.br +0 -0
- package/build/runtime-updater-2CFDVEWY.js.gz +0 -0
- package/build/{runtime-variables-MHCE3K3T.js → runtime-variables-S7QUT7HH.js} +1 -1
- package/build/runtime-variables-S7QUT7HH.js.br +0 -0
- package/build/runtime-variables-S7QUT7HH.js.gz +0 -0
- package/build/{runtime-vectorShapes-5G7BQGJ6.js → runtime-vectorShapes-ASLQ3T6K.js} +1 -1
- package/build/runtime-vectorShapes-ASLQ3T6K.js.br +0 -0
- package/build/runtime-vectorShapes-ASLQ3T6K.js.gz +0 -0
- package/build/{runtime-video-YA2L3X6S.js → runtime-video-SBFWLQQT.js} +1 -1
- package/build/runtime-video-SBFWLQQT.js.br +0 -0
- package/build/runtime-video-SBFWLQQT.js.gz +0 -0
- package/build/{runtime-webgpu-2J3TE4FB.js → runtime-webgpu-XRBI423N.js} +1 -1
- package/build/runtime-webgpu-XRBI423N.js.br +0 -0
- package/build/runtime-webgpu-XRBI423N.js.gz +0 -0
- package/build/runtime.cjs +429 -431
- package/build/runtime.js +1 -1
- package/build/runtime.js.br +0 -0
- package/build/runtime.js.gz +0 -0
- package/build/runtime.standalone.js +1 -1
- package/build/runtime.standalone.js.br +0 -0
- package/build/runtime.standalone.js.gz +0 -0
- package/build/runtime.standalone.webgl.js +1 -1
- package/build/runtime.standalone.webgl.js.br +0 -0
- package/build/runtime.standalone.webgl.js.gz +0 -0
- package/build/runtime.standalone.webgpu.js +1 -1
- package/build/runtime.standalone.webgpu.js.br +0 -0
- package/build/runtime.standalone.webgpu.js.gz +0 -0
- package/build/runtime.standalone.webgpu.micro.js +1 -1
- package/build/runtime.standalone.webgpu.micro.js.br +0 -0
- package/build/runtime.standalone.webgpu.micro.js.gz +0 -0
- package/build/runtime.standalone.webgpu.min.js +1 -1
- package/build/runtime.standalone.webgpu.min.js.br +0 -0
- package/build/runtime.standalone.webgpu.min.js.gz +0 -0
- package/package.json +2 -1
- package/build/runtime-aiAssistant-L3HFJZ2G.js.br +0 -0
- package/build/runtime-aiAssistant-L3HFJZ2G.js.gz +0 -0
- package/build/runtime-apiServices-KSRZJMJI.js.br +0 -0
- package/build/runtime-apiServices-KSRZJMJI.js.gz +0 -0
- package/build/runtime-audio-CNGZPKC5.js.br +0 -0
- package/build/runtime-audio-CNGZPKC5.js.gz +0 -0
- package/build/runtime-chunk-2LTYI3AN.js.br +0 -0
- package/build/runtime-chunk-2LTYI3AN.js.gz +0 -0
- package/build/runtime-chunk-3A4X5B7V.js.br +0 -0
- package/build/runtime-chunk-3A4X5B7V.js.gz +0 -0
- package/build/runtime-chunk-3CMVQQOR.js.br +0 -0
- package/build/runtime-chunk-3CMVQQOR.js.gz +0 -0
- package/build/runtime-chunk-3O7PY43O.js.br +0 -0
- package/build/runtime-chunk-3O7PY43O.js.gz +0 -0
- package/build/runtime-chunk-4KZXQGUQ.js.br +0 -0
- package/build/runtime-chunk-4KZXQGUQ.js.gz +0 -0
- package/build/runtime-chunk-5IABHLHS.js +0 -1
- package/build/runtime-chunk-5IABHLHS.js.br +0 -0
- package/build/runtime-chunk-5IABHLHS.js.gz +0 -0
- package/build/runtime-chunk-6ARRPM23.js +0 -1
- package/build/runtime-chunk-6ARRPM23.js.br +0 -0
- package/build/runtime-chunk-6ARRPM23.js.gz +0 -0
- package/build/runtime-chunk-AAGXG7XK.js.br +0 -0
- package/build/runtime-chunk-AAGXG7XK.js.gz +0 -0
- package/build/runtime-chunk-AYLDDUAZ.js.br +0 -0
- package/build/runtime-chunk-AYLDDUAZ.js.gz +0 -0
- package/build/runtime-chunk-BZJCMBUI.js.br +0 -0
- package/build/runtime-chunk-BZJCMBUI.js.gz +0 -0
- package/build/runtime-chunk-D3BWEUN6.js.br +0 -0
- package/build/runtime-chunk-DMDTTYNN.js.br +0 -0
- package/build/runtime-chunk-DMDTTYNN.js.gz +0 -0
- package/build/runtime-chunk-E3QYEXEP.js.br +0 -0
- package/build/runtime-chunk-E3QYEXEP.js.gz +0 -0
- package/build/runtime-chunk-E753C25I.js +0 -1
- package/build/runtime-chunk-E753C25I.js.br +0 -0
- package/build/runtime-chunk-E753C25I.js.gz +0 -0
- package/build/runtime-chunk-FGRW5LUR.js.br +0 -0
- package/build/runtime-chunk-FGRW5LUR.js.gz +0 -0
- package/build/runtime-chunk-HN7CSPUY.js.br +0 -0
- package/build/runtime-chunk-HN7CSPUY.js.gz +0 -0
- package/build/runtime-chunk-K67GTQLJ.js.br +0 -0
- package/build/runtime-chunk-K67GTQLJ.js.gz +0 -0
- package/build/runtime-chunk-KGZNRID6.js +0 -1
- package/build/runtime-chunk-KGZNRID6.js.br +0 -1
- package/build/runtime-chunk-KGZNRID6.js.gz +0 -0
- package/build/runtime-chunk-M424ONWP.js.br +0 -0
- package/build/runtime-chunk-M424ONWP.js.gz +0 -0
- package/build/runtime-chunk-POTYLEGO.js.br +0 -0
- package/build/runtime-chunk-POTYLEGO.js.gz +0 -0
- package/build/runtime-chunk-R43XZP65.js +0 -1
- package/build/runtime-chunk-R43XZP65.js.br +0 -0
- package/build/runtime-chunk-R43XZP65.js.gz +0 -0
- package/build/runtime-chunk-SFPD5AFA.js.br +0 -0
- package/build/runtime-chunk-SFPD5AFA.js.gz +0 -0
- package/build/runtime-chunk-SIC5B7QX.js +0 -1
- package/build/runtime-chunk-SIC5B7QX.js.br +0 -0
- package/build/runtime-chunk-SIC5B7QX.js.gz +0 -0
- package/build/runtime-chunk-SNCE2TY4.js.br +0 -0
- package/build/runtime-chunk-SNCE2TY4.js.gz +0 -0
- package/build/runtime-chunk-SRQQYOPW.js.br +0 -0
- package/build/runtime-chunk-SRQQYOPW.js.gz +0 -0
- package/build/runtime-chunk-TD5YRDN7.js.br +0 -0
- package/build/runtime-chunk-TD5YRDN7.js.gz +0 -0
- package/build/runtime-chunk-UBSXIKOG.js.br +0 -0
- package/build/runtime-chunk-UBSXIKOG.js.gz +0 -0
- package/build/runtime-chunk-UX2PD5MY.js.br +0 -0
- package/build/runtime-chunk-UX2PD5MY.js.gz +0 -0
- package/build/runtime-chunk-VGEECQH4.js +0 -1
- package/build/runtime-chunk-VGEECQH4.js.br +0 -0
- package/build/runtime-chunk-VGEECQH4.js.gz +0 -0
- package/build/runtime-chunk-W44H46BZ.js.br +0 -4
- package/build/runtime-chunk-W44H46BZ.js.gz +0 -0
- package/build/runtime-chunk-WGBR2HLR.js +0 -1
- package/build/runtime-chunk-WGBR2HLR.js.br +0 -0
- package/build/runtime-chunk-WGBR2HLR.js.gz +0 -0
- package/build/runtime-chunk-WGMSWSKD.js.br +0 -0
- package/build/runtime-chunk-WGMSWSKD.js.gz +0 -0
- package/build/runtime-classicRuntime-XD52Z3ID.js.br +0 -0
- package/build/runtime-classicRuntime-XD52Z3ID.js.gz +0 -0
- package/build/runtime-cloners-7P25TLWX.js +0 -1
- package/build/runtime-cloners-7P25TLWX.js.br +0 -0
- package/build/runtime-cloners-7P25TLWX.js.gz +0 -0
- package/build/runtime-components-KE6NSJIH.js +0 -1
- package/build/runtime-components-KE6NSJIH.js.br +0 -0
- package/build/runtime-components-KE6NSJIH.js.gz +0 -0
- package/build/runtime-conditional-66QFNGF3.js +0 -1
- package/build/runtime-conditional-66QFNGF3.js.br +0 -0
- package/build/runtime-conditional-66QFNGF3.js.gz +0 -0
- package/build/runtime-createDestroy-HT4FKH5P.js.br +0 -0
- package/build/runtime-createDestroy-HT4FKH5P.js.gz +0 -0
- package/build/runtime-dragDrop-FB4BVR5B.js.br +0 -0
- package/build/runtime-dragDrop-FB4BVR5B.js.gz +0 -0
- package/build/runtime-gameControls-KXHLXQUL.js.br +0 -0
- package/build/runtime-gameControls-KXHLXQUL.js.gz +0 -0
- package/build/runtime-hair-RGFARTLM.js +0 -1
- package/build/runtime-hair-RGFARTLM.js.br +0 -1
- package/build/runtime-hair-RGFARTLM.js.gz +0 -0
- package/build/runtime-mergeStaticGeometries-GWJX3PTU.js.br +0 -0
- package/build/runtime-mergeStaticGeometries-GWJX3PTU.js.gz +0 -0
- package/build/runtime-miscActions-QTP3QTK2.js +0 -1
- package/build/runtime-miscActions-QTP3QTK2.js.br +0 -0
- package/build/runtime-miscActions-QTP3QTK2.js.gz +0 -0
- package/build/runtime-mouseHover-ATG5LR7E.js.br +0 -0
- package/build/runtime-mouseHover-ATG5LR7E.js.gz +0 -0
- package/build/runtime-particles-E7XPFZHE.js.br +0 -0
- package/build/runtime-particles-E7XPFZHE.js.gz +0 -0
- package/build/runtime-paths-EZZ2EKYD.js.br +0 -0
- package/build/runtime-paths-EZZ2EKYD.js.gz +0 -0
- package/build/runtime-resize-MUZH7MEA.js +0 -1
- package/build/runtime-resize-MUZH7MEA.js.br +0 -0
- package/build/runtime-resize-MUZH7MEA.js.gz +0 -0
- package/build/runtime-sceneTransition-RUIJWZQL.js.br +0 -0
- package/build/runtime-sceneTransition-RUIJWZQL.js.gz +0 -0
- package/build/runtime-scroll-2YNJT2VF.js.br +0 -0
- package/build/runtime-scroll-2YNJT2VF.js.gz +0 -0
- package/build/runtime-shapeBlends-KRYJJPAK.js +0 -1
- package/build/runtime-shapeBlends-KRYJJPAK.js.br +0 -3
- package/build/runtime-shapeBlends-KRYJJPAK.js.gz +0 -0
- package/build/runtime-text-FMV3CA36.js.br +0 -0
- package/build/runtime-text-FMV3CA36.js.gz +0 -0
- package/build/runtime-textInputs-CYBDVKZW.js.br +0 -0
- package/build/runtime-textInputs-CYBDVKZW.js.gz +0 -0
- package/build/runtime-timeline-3FHFLHWF.js +0 -1
- package/build/runtime-timeline-3FHFLHWF.js.br +0 -0
- package/build/runtime-timeline-3FHFLHWF.js.gz +0 -0
- package/build/runtime-tracking-EMTZIN3W.js.br +0 -0
- package/build/runtime-tracking-EMTZIN3W.js.gz +0 -0
- package/build/runtime-transitions-VL46OOZE.js +0 -1
- package/build/runtime-transitions-VL46OOZE.js.br +0 -0
- package/build/runtime-transitions-VL46OOZE.js.gz +0 -0
- package/build/runtime-ui2d-KV2KXS4A.js.br +0 -0
- package/build/runtime-ui2d-KV2KXS4A.js.gz +0 -0
- package/build/runtime-updater-A22NUPB5.js.br +0 -1
- package/build/runtime-updater-A22NUPB5.js.gz +0 -0
- package/build/runtime-variables-MHCE3K3T.js.br +0 -0
- package/build/runtime-variables-MHCE3K3T.js.gz +0 -0
- package/build/runtime-vectorShapes-5G7BQGJ6.js.br +0 -0
- package/build/runtime-vectorShapes-5G7BQGJ6.js.gz +0 -0
- package/build/runtime-video-YA2L3X6S.js.br +0 -0
- package/build/runtime-video-YA2L3X6S.js.gz +0 -0
- package/build/runtime-webgpu-2J3TE4FB.js.br +0 -0
- package/build/runtime-webgpu-2J3TE4FB.js.gz +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{v as e}from"./runtime-chunk-6ARRPM23.js";import{Ec as t,Fc as s,Fd as a,Gc as i,Ge as r,Ib as n,Oc as h,Tc as o,Wd as l,Xd as d,Zc as c,kd as u,ld as g}from"./runtime-chunk-BVVSZMXD.js";var p=null;function b(e){p=e}function S(){return p}var m=null;function f(e){m=e}function M(){return m}var y=new o;function R(e,t,s){return y.setRGB(e,t,s,n),{r:y.r,g:y.g,b:y.b}}var w=(e,t)=>"number"==typeof e&&Number.isFinite(e)?e:t,x=e=>Array.isArray(e)&&"number"==typeof e[0]&&"number"==typeof e[1]?[e[0],e[1]]:[0,0];function v(e,t,s){let a,i=w(e.angle,0),[r,n]=x(e.offset),[h,o]=x(e.morph),l=e.colors??[],d=e.steps??[],c=Math.min(10,l.length,d.length);if(0===c)return[1,1,1,1];if(1===e.gradientType){let e=3*(t+h)-(t+r)-1,l=3*(s+o)-(s+n)-1;a=Math.hypot(e,l)+i}else if(2===e.gradientType){let e=-1*Math.atan2(t+h-.5+r,s+o-.5+n),l=i/Math.PI/-2+.5*e/Math.PI;a=l-Math.floor(l)}else{let e=.5+h/(0!==t?t:1e-6),l=o/(0!==s?s:1e-6),d=Math.cos(i)*e-Math.sin(i)*l,c=Math.sin(i)*e+Math.cos(i)*l,u=d*d+c*c;a=u>1e-12?(((t-.5+r)/2+d/2)*d+((s-.5+n)/2+c/2)*c)/u:0}let u=l[0][0],g=l[0][1],p=l[0][2],b=l[0][3];for(let t=1;t<c;t++){let s=d[t-1],i=d[t]-s,r=0!==i?Math.min(1,Math.max(0,(a-s)/i)):a>=s?1:0;e.smooth&&(r=r*r*(3-2*r)),u+=(l[t][0]-u)*r,g+=(l[t][1]-g)*r,p+=(l[t][2]-p)*r,b+=(l[t][3]-b)*r}return[u,g,p,b]}function A(e,t){let s=e,a=s?.data?.layers;if(a&&"function"==typeof a.forEach){let e=t,s=[];return a.forEach(t=>{let a=t.data;if(!1===a.visible||!0===a.isMask)return;let i=w(a.alpha,1);if(!(i<=0))if("color"===a.type){let t,r=a.color;"string"==typeof r?t="function"==typeof e?.color?e.color(r):void 0:r&&"number"==typeof r.r&&(t=r),t&&s.push({kind:"color",layer:a,rgb:{...R(t.r,t.g,t.b),a:t.a??1},alpha:i})}else"gradient"===a.type&&s.push({kind:"gradient",layer:a,alpha:i})}),0===s.length?null:(e,t)=>{let a=1,i=1,r=1,n=!0;for(let h of s){let s,o,l,d;if("color"===h.kind)({r:s,g:o,b:l}=h.rgb),d=h.rgb.a;else{let[a,i,r,n]=v(h.layer,e,t);({r:s,g:o,b:l}=R(a,i,r)),d=n}let c=n?1:Math.min(1,Math.max(0,d*h.alpha));a+=(s-a)*c,i+=(o-i)*c,r+=(l-r)*c,n=!1}return{r:a,g:i,b:r}}}if(s?.color&&!0===s.color.isColor){let{r:e,g:t,b:a}=s.color;return()=>({r:e,g:t,b:a})}return null}var j=32,I=16384,F=32*I,B=100;function W(e,t){if("torus"===e){let e=t()*Math.PI*2,s=t()*Math.PI*2,a=Math.cos(e),i=Math.sin(e),r=Math.cos(s),n=Math.sin(s);return{x:(1.4+.7*r)*a,y:-(1.4+.7*r)*i,z:.7*n,nx:r*a,ny:-r*i,nz:n,cr:1,cg:1,cb:1}}if("cylinder"===e){let e=t()*Math.PI*2,s=Math.cos(e),a=Math.sin(e);return{x:.8*s,y:1.6*(t()-.5),z:.8*a,nx:s,ny:0,nz:a,cr:1,cg:1,cb:1}}let s=t()*Math.PI*2,a=2*t()-1,i=Math.acos(a),r=Math.sin(i)*Math.cos(s),n=Math.cos(i),h=Math.sin(i)*Math.sin(s);return{x:r,y:n,z:h,nx:r,ny:n,nz:h,cr:1,cg:1,cb:1}}function k(e){let{geometry:t,matrix:s}=e,a=t.getAttribute("position");if(!a||a.count<3)return null;let r=t.getAttribute("normal"),n=t.getAttribute("uv"),h=t.getAttribute("color"),o=t.getIndex(),l=o?o.count/3:a.count/3;if(l<1)return null;let d=(e,t)=>o?o.getX(3*e+t):3*e+t,c=s?s.elements:null,u=s?(new i).getNormalMatrix(s).elements:null,g=e=>{let t=a.getX(e),s=a.getY(e),i=a.getZ(e);return c?c[0]*t+c[4]*s+c[8]*i+c[12]:t},p=e=>{let t=a.getX(e),s=a.getY(e),i=a.getZ(e);return c?c[1]*t+c[5]*s+c[9]*i+c[13]:s},b=e=>{let t=a.getX(e),s=a.getY(e),i=a.getZ(e);return c?c[2]*t+c[6]*s+c[10]*i+c[14]:i},S=new Float64Array(l),m=0;for(let e=0;e<l;e++){let t=d(e,0),s=d(e,1),a=d(e,2),i=g(t),r=p(t),n=b(t),h=g(s)-i,o=p(s)-r,l=b(s)-n,c=g(a)-i,u=p(a)-r,f=b(a)-n,M=o*f-l*u,y=l*c-h*f,R=h*u-o*c;m+=.5*Math.sqrt(M*M+y*y+R*R),S[e]=m}return m<=0?null:{total:m,sample:(t,s)=>{let a=0,i=l-1;for(;a<i;){let e=a+i>>1;S[e]<t?a=e+1:i=e}let o=a,c=d(o,0),m=d(o,1),f=d(o,2),M=s(),y=s();M+y>1&&(M=1-M,y=1-y);let R,w,x,v=1-M-y,A=g(c)*v+g(m)*M+g(f)*y,j=p(c)*v+p(m)*M+p(f)*y,I=b(c)*v+b(m)*M+b(f)*y;if(r){if(R=r.getX(c)*v+r.getX(m)*M+r.getX(f)*y,w=r.getY(c)*v+r.getY(m)*M+r.getY(f)*y,x=r.getZ(c)*v+r.getZ(m)*M+r.getZ(f)*y,u){let e=u[0]*R+u[3]*w+u[6]*x,t=u[1]*R+u[4]*w+u[7]*x,s=u[2]*R+u[5]*w+u[8]*x;R=e,w=t,x=s}}else{let e=g(c),t=p(c),s=b(c),a=g(m)-e,i=p(m)-t,r=b(m)-s,n=g(f)-e,h=p(f)-t,o=b(f)-s;R=i*o-r*h,w=r*n-a*o,x=a*h-i*n}let F=Math.sqrt(R*R+w*w+x*x)||1,B=1,W=1,k=1;if(h)B=h.getX(c)*v+h.getX(m)*M+h.getX(f)*y,W=h.getY(c)*v+h.getY(m)*M+h.getY(f)*y,k=h.getZ(c)*v+h.getZ(m)*M+h.getZ(f)*y;else if(e.sampleColor){let t=n?n.getX(c)*v+n.getX(m)*M+n.getX(f)*y:.5,s=n?n.getY(c)*v+n.getY(m)*M+n.getY(f)*y:.5,a=e.sampleColor(t,s);a&&(B=a.r,W=a.g,k=a.b)}return{x:A,y:j,z:I,nx:R/F,ny:w/F,nz:x/F,cr:B,cg:W,cb:k}}}}function C(e){let t=Math.min(Math.max(1,Math.floor(e.guideStrands)),I),s=function(e){let t=e>>>0;return()=>{t|=0,t=t+1831565813|0;let e=Math.imul(t^t>>>15,1|t);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296}}(e.seed??1337),a="object"===e.shape&&e.sampler,i=a?e.samplerRadius??B:B,r=new Float32Array(4*F),n=new Float32Array(F),h=new Float32Array(4*I).fill(1);for(let o=0;o<t;o++){let t=a?e.sampler(s):W(e.shape,s),l=a?t.x:t.x*i,d=a?t.y:t.y*i,c=a?t.z:t.z*i,{nx:u,ny:g,nz:p}=t;h[4*o+0]=t.cr,h[4*o+1]=t.cg,h[4*o+2]=t.cb;let b,S,m,f=32*o,M=(1.8+.8*s())*e.hairLength*i/31,y=.5+1.5*s(),R=(.02+.06*s())*i;Math.abs(g)<.99?(b=-p,S=0,m=u):(b=1,S=0,m=0);let w=Math.sqrt(b*b+S*S+m*m)||1;for(let e=0;e<32;e++){let t=e/31,s=t*t*.4*i,a=R*Math.sin(t*y*Math.PI*2),h=4*(f+e);r[h+0]=l+u*M*e+a*b/w,r[h+1]=d+g*M*e-s+a*S/w,r[h+2]=c+p*M*e+a*m/w,r[h+3]=0===e?0:1,e<31&&(n[f+e]=M)}}return{initialPositions:r,restLengths:n,unitScale:i,rootColors:h}}var H=1/60,O=4,P=new h,L=new t,z=new s,X=new s,q=class extends e{constructor(e,a,i){super(e,a),this.type="HairSystem",this.isHairSystem=!0,this.simRunning=!1,this.previewRequested=!1,this.playModeActive=!1,this.pendingSimSeconds=0,this.simTime=0,this.resetRequested=!0,this.generation=0,this.settledSimSeconds=0,this.lastMotionFingerprint=0,this.lastBoneQuat=new t,this.lastBonePos=new s,this.hasLastBone=!1,this.baseFoundAtRegen=!1,this.baseSourceGeomsAtRegen=[],this.baseSourceHashesAtRegen=[],this.baseColorHashAtRegen=0,this.baseScaleAtRegen=0,this.classicFallbackWarned=!1,this.regenSnapshot=null,this.context=i,this.data=a,this.geometry.setAttribute("position",new c(new Float32Array(0),3)),this.material=new u({colorWrite:!1,depthWrite:!1}),this.frustumCulled=!1,this.scalpMesh=new g(new l(B,48,32),new u({color:5448477})),this.scalpMesh.name="HairScalp",this.add(this.scalpMesh);let n=new r;n.setAttribute("position",new c(new Float32Array(12),3)),n.setIndex([0,2,1,2,3,1]),n.instanceCount=0,this.ribbonMesh=new g(n,new u({visible:!1})),this.ribbonMesh.name="HairRibbons",this.ribbonMesh.frustumCulled=!1,this.ribbonMesh.visible=!1,this.ribbonMesh.matrixAutoUpdate=!1,this.ribbonMesh.updateMatrixWorld=()=>{this.ribbonMesh.matrixWorld.identity()},this.ribbonMesh.updateWorldMatrix=()=>{this.ribbonMesh.matrixWorld.identity()},this.add(this.ribbonMesh),this.activeGuideStrands=a.guideStrands,this.roots=this.buildRoots(),this.regenSnapshot={guideStrands:a.guideStrands,hairLength:a.hairLength,spreadRadius:a.spreadRadius,headShape:a.headShape,baseObjectId:a.baseObjectId},this.applyScalpState(),this.applyShadowState(),this.syncSimRunning()}update(e){!this.simRunning||(this.pendingSimSeconds=Math.min(this.pendingSimSeconds+e/1e3,4*H*2),this.trackMotionRest(e/1e3))}trackMotionRest(e){this.boneTransform(L,z);let t=this.hasLastBone&&(Math.abs(this.lastBoneQuat.dot(L))<.9999995||this.lastBonePos.distanceToSquared(z)>1e-8),s=this.motionFingerprint(),a=!this.hasLastBone||t||this.resetRequested||s!==this.lastMotionFingerprint||this.data.windStrength>.001;this.lastBoneQuat.copy(L),this.lastBonePos.copy(z),this.lastMotionFingerprint=s,this.hasLastBone=!0,this.settledSimSeconds=a?0:this.settledSimSeconds+e}motionFingerprint(){let e=this.data;return e.gravity+2*e.damping+3*e.localStiffness+4*e.globalStiffness+5*e.globalRange+6*e.stiffnessFalloff+7*e.windStrength+8*e.vspCoefficient+9*e.kink+10*e.kinkFrequency+11*e.clumpStrength+12*e.clumpSize+13*e.clumpTipScale}get isSimulating(){return(this.simRunning||this.resetRequested)&&this.visible}get isMotionSettled(){return this.settledSimSeconds>6}get isVisiblyAnimating(){return this.isSimulating&&!this.isMotionSettled}startPreview(){this.previewRequested=!0,this.syncSimRunning()}stopPreview(){this.previewRequested=!1,this.syncSimRunning()}setPlayMode(e){this.playModeActive=e,e&&this.resetSimulation(),this.syncSimRunning()}resetSimulation(){this.resetRequested=!0,this.pendingSimSeconds=0,this.simTime=0,this.settledSimSeconds=0}warnClassicFallbackOnce(){this.classicFallbackWarned||(this.classicFallbackWarned=!0,console.warn("[spline] Hair System strands require the WebGPU renderer — the WebGL fallback shows only the scalp. Reload with ?renderer=webgpu in a WebGPU-capable browser."))}syncSimRunning(){this.simRunning=this.playModeActive||this.previewRequested||this.data.autoPlay}updateState(e,t){super.updateState(e,t),this.updateHairState(e)}updateHairState(e){if((void 0!==e.guideStrands||void 0!==e.hairLength||void 0!==e.spreadRadius||void 0!==e.headShape||void 0!==e.baseObjectId)&&this.regenerate(),(void 0!==e.headShape||void 0!==e.baseObjectId)&&this.applyScalpState(),void 0!==e.headColor){let t=this.scalpMesh.material;!0===t.isMeshBasicMaterial&&t.color.setRGB(e.headColor.r,e.headColor.g,e.headColor.b,n)}(void 0!==e.castShadow||void 0!==e.receiveShadow)&&this.applyShadowState(),void 0!==e.autoPlay&&this.syncSimRunning()}applyShadowState(){let e=this.data.castShadow??!0,t=this.data.receiveShadow??!0;this.castShadow=e,this.receiveShadow=t,this.scalpMesh.castShadow=e,this.scalpMesh.receiveShadow=t,this.ribbonMesh.castShadow=e,this.ribbonMesh.receiveShadow=t}regenerate(){this.activeGuideStrands=Math.max(1,Math.min(Math.floor(this.data.guideStrands),16384)),this.roots=this.buildRoots(),this.generation++,this.regenSnapshot={guideStrands:this.data.guideStrands,hairLength:this.data.hairLength,spreadRadius:this.data.spreadRadius,headShape:this.data.headShape,baseObjectId:this.data.baseObjectId},this.resetSimulation()}checkDataDrift(){let e=this.data,t=this.regenSnapshot;if(null===t||t.guideStrands!==e.guideStrands||t.hairLength!==e.hairLength||t.spreadRadius!==e.spreadRadius||t.headShape!==e.headShape||t.baseObjectId!==e.baseObjectId){let s=null===t||t.headShape!==e.headShape||t.baseObjectId!==e.baseObjectId;this.regenerate(),s&&this.applyScalpState()}this.syncSimRunning(),this.applyShadowState(),this.checkBaseDrift()}buildRoots(){let{headShape:e,baseObjectId:t,guideStrands:s,hairLength:a}=this.data;if(this.baseFoundAtRegen=!1,this.baseSourceGeomsAtRegen=[],this.baseSourceHashesAtRegen=[],this.baseColorHashAtRegen=0,this.baseScaleAtRegen=0,"object"===e&&t){let e=this.context.scene.find(t);if(e){this.baseFoundAtRegen=!0,e.updateWorldMatrix(!0,!0);let t=this.collectBaseSources(e),i=t?function(e){let t=[];for(let s of e){let e=k(s);e&&t.push(e)}if(0===t.length)return null;let s=new Float64Array(t.length),a=0;for(let e=0;e<t.length;e++)a+=t[e].total,s[e]=a;return a<=0?null:e=>{let i=e()*a,r=0,n=t.length-1;for(;r<n;){let e=r+n>>1;s[e]<i?r=e+1:n=e}let h=0===r?i:i-s[r-1];return t[r].sample(h,e)}}(t.sources):null;if(this.baseSourceGeomsAtRegen=t?.sources.map(e=>e.geometry)??[],this.baseSourceHashesAtRegen=t?.hashes??[],this.baseColorHashAtRegen=t?.colorHash??0,t&&i){let r=this.baseWorldScale(e),n=Math.max(t.radius*r,.001);this.baseScaleAtRegen=r;let h=r;return C({shape:"object",guideStrands:s,hairLength:a,sampler:e=>{let t=i(e);return{...t,x:t.x*h,y:t.y*h,z:t.z*h}},samplerRadius:n})}}}return C({shape:"object"===e?"sphere":e,guideStrands:s,hairLength:a})}collectBaseSources(e){let t=[],s=[],a=0,i=0;P.copy(e.matrixWorld).invert();let r=P.clone(),n=o=>{if(!0===o.isHairSystem||o!==e&&!1===o.visible)return;let l=o.geometry;if(!0===o.isMesh&&l&&(l.getAttribute("position")?.count??0)>=3){let n=o===e?void 0:(new h).multiplyMatrices(r,o.matrixWorld),d=Array.isArray(o.material)?o.material[0]:o.material;t.push({geometry:l,matrix:n,sampleColor:A(d,this.context.shared)??void 0}),s.push(q.matrixHash(n)),i+=function(e,t){let s=e,a=0,i=1,r=e=>{a+=e*i,i+=1},n=s?.data?.layers;if(n&&"function"==typeof n.forEach){let e=t;n.forEach(t=>{let s=t.data;if(!1!==s.visible)if("color"===s.type){let t=s.color,a="string"==typeof t?"function"==typeof e?.color?e.color(t):void 0:t;a&&"number"==typeof a.r&&(r(a.r),r(a.g),r(a.b)),r(w(s.alpha,1))}else if("gradient"===s.type){let e=s;for(let t of e.colors??[])r(t[0]),r(t[1]),r(t[2]),r(t[3]);for(let t of e.steps??[])r(t);r(w(e.angle,0)),r(e.gradientType),r(e.smooth?1:0)}})}else s?.color&&!0===s.color.isColor&&(r(s.color.r),r(s.color.g),r(s.color.b));return a}(d,this.context.shared),null===l.boundingSphere&&l.computeBoundingSphere();let c=l.boundingSphere;if(c){let e=0,t=1;n?(z.copy(c.center).applyMatrix4(n),e=z.length(),t=q.matrixMaxScale(n)):e=c.center.length(),a=Math.max(a,e+c.radius*t)}}for(let e of o.children)n(e)};return n(e),0===t.length?null:{sources:t,hashes:s,radius:Math.max(a,.001),colorHash:i}}static matrixHash(e){if(!e)return 0;let t=e.elements,s=0;for(let e=0;e<16;e++)s+=t[e]*(e+1);return s}static matrixMaxScale(e){let t=e.elements,s=Math.hypot(t[0],t[1],t[2]),a=Math.hypot(t[4],t[5],t[6]),i=Math.hypot(t[8],t[9],t[10]);return Math.max(s,a,i,1e-6)}baseWorldScale(e){return P.copy(e.matrixWorld).decompose(z,L,X),Math.max(Math.abs(X.x),Math.abs(X.y),Math.abs(X.z),1e-6)}get widthWorldScale(){return"object"===this.data.headShape&&this.data.baseObjectId&&this.baseScaleAtRegen>0?this.baseScaleAtRegen:1}checkBaseDrift(){if("object"!==this.data.headShape||!this.data.baseObjectId)return;let e=this.context.scene.find(this.data.baseObjectId);if(!e)return;if(!this.baseFoundAtRegen)return void this.regenerate();e.updateWorldMatrix(!0,!0);let t=this.collectBaseSources(e),s=t?.sources??[],a=t?.hashes??[],i=this.baseSourceGeomsAtRegen,r=this.baseSourceHashesAtRegen,n=s.length!==i.length;if(!n)for(let e=0;e<s.length;e++)if(s[e].geometry!==i[e]||Math.abs(a[e]-r[e])>1e-4*Math.max(Math.abs(r[e]),1)){n=!0;break}if(!n&&"object"===this.data.hairColorSource&&(t?.colorHash??0)!==this.baseColorHashAtRegen&&(n=!0),!n&&s.length>0){let t=this.baseWorldScale(e);n=Math.abs(t-this.baseScaleAtRegen)>.001*Math.max(this.baseScaleAtRegen,1e-6)}n&&this.regenerate()}applyScalpState(){let e=this.data.headShape,t="object"===e&&null!==this.data.baseObjectId;this.scalpMesh.visible=!t,!t&&(this.scalpMesh.geometry.dispose(),this.scalpMesh.geometry="torus"===e?new d(140,70,24,48):"cylinder"===e?new a(80,80,160,48,1):new l(B,48,32))}boneTransform(e,t){let s=this.matrixWorld;if("object"===this.data.headShape&&this.data.baseObjectId){let e=this.context.scene.find(this.data.baseObjectId)?.matrixWorld;e&&(s=e)}P.copy(s).decompose(t,e,X)}raycast(e,t){if(!this.scalpMesh.visible)return;let s=[];this.scalpMesh.raycast(e,s);for(let e of s)e.object=this,t.push(e)}get shadowBoundsRadius(){let e="torus"===this.data.headShape?2.6:1.5;return this.roots.unitScale*(e+2.6*Math.max(this.data.hairLength,0))}getShadowBoundsCenter(e){return this.boneTransform(L,e),e}updateEntityBoxSize(e,t){let s=this.shadowBoundsRadius;e.set(0,0,0),t.set(s,s,s)}dispose(){super.dispose(),this.scalpMesh.geometry.dispose(),this.scalpMesh.material.dispose(),this.ribbonMesh.geometry.dispose(),this.ribbonMesh.material.dispose?.(),M()?.release(this)}};export{b as a,S as b,f as c,M as d,j as e,I as f,F as g,B as h,H as i,O as j,q as k};
|
|
1
|
+
import{v as e}from"./runtime-chunk-QYZPTNBH.js";import{Ec as t,Fc as s,Fd as a,Gc as i,Ge as r,Ib as n,Oc as h,Tc as o,Wd as l,Xd as d,Zc as c,kd as u,ld as g}from"./runtime-chunk-BVVSZMXD.js";var p=null;function b(e){p=e}function S(){return p}var m=null;function f(e){m=e}function M(){return m}var y=new o;function R(e,t,s){return y.setRGB(e,t,s,n),{r:y.r,g:y.g,b:y.b}}var w=(e,t)=>"number"==typeof e&&Number.isFinite(e)?e:t,x=e=>Array.isArray(e)&&"number"==typeof e[0]&&"number"==typeof e[1]?[e[0],e[1]]:[0,0];function v(e,t,s){let a,i=w(e.angle,0),[r,n]=x(e.offset),[h,o]=x(e.morph),l=e.colors??[],d=e.steps??[],c=Math.min(10,l.length,d.length);if(0===c)return[1,1,1,1];if(1===e.gradientType){let e=3*(t+h)-(t+r)-1,l=3*(s+o)-(s+n)-1;a=Math.hypot(e,l)+i}else if(2===e.gradientType){let e=-1*Math.atan2(t+h-.5+r,s+o-.5+n),l=i/Math.PI/-2+.5*e/Math.PI;a=l-Math.floor(l)}else{let e=.5+h/(0!==t?t:1e-6),l=o/(0!==s?s:1e-6),d=Math.cos(i)*e-Math.sin(i)*l,c=Math.sin(i)*e+Math.cos(i)*l,u=d*d+c*c;a=u>1e-12?(((t-.5+r)/2+d/2)*d+((s-.5+n)/2+c/2)*c)/u:0}let u=l[0][0],g=l[0][1],p=l[0][2],b=l[0][3];for(let t=1;t<c;t++){let s=d[t-1],i=d[t]-s,r=0!==i?Math.min(1,Math.max(0,(a-s)/i)):a>=s?1:0;e.smooth&&(r=r*r*(3-2*r)),u+=(l[t][0]-u)*r,g+=(l[t][1]-g)*r,p+=(l[t][2]-p)*r,b+=(l[t][3]-b)*r}return[u,g,p,b]}function A(e,t){let s=e,a=s?.data?.layers;if(a&&"function"==typeof a.forEach){let e=t,s=[];return a.forEach(t=>{let a=t.data;if(!1===a.visible||!0===a.isMask)return;let i=w(a.alpha,1);if(!(i<=0))if("color"===a.type){let t,r=a.color;"string"==typeof r?t="function"==typeof e?.color?e.color(r):void 0:r&&"number"==typeof r.r&&(t=r),t&&s.push({kind:"color",layer:a,rgb:{...R(t.r,t.g,t.b),a:t.a??1},alpha:i})}else"gradient"===a.type&&s.push({kind:"gradient",layer:a,alpha:i})}),0===s.length?null:(e,t)=>{let a=1,i=1,r=1,n=!0;for(let h of s){let s,o,l,d;if("color"===h.kind)({r:s,g:o,b:l}=h.rgb),d=h.rgb.a;else{let[a,i,r,n]=v(h.layer,e,t);({r:s,g:o,b:l}=R(a,i,r)),d=n}let c=n?1:Math.min(1,Math.max(0,d*h.alpha));a+=(s-a)*c,i+=(o-i)*c,r+=(l-r)*c,n=!1}return{r:a,g:i,b:r}}}if(s?.color&&!0===s.color.isColor){let{r:e,g:t,b:a}=s.color;return()=>({r:e,g:t,b:a})}return null}var j=32,I=16384,B=32*I,F=100;function W(e,t){if("torus"===e){let e=t()*Math.PI*2,s=t()*Math.PI*2,a=Math.cos(e),i=Math.sin(e),r=Math.cos(s),n=Math.sin(s);return{x:(1.4+.7*r)*a,y:-(1.4+.7*r)*i,z:.7*n,nx:r*a,ny:-r*i,nz:n,cr:1,cg:1,cb:1}}if("cylinder"===e){let e=t()*Math.PI*2,s=Math.cos(e),a=Math.sin(e);return{x:.8*s,y:1.6*(t()-.5),z:.8*a,nx:s,ny:0,nz:a,cr:1,cg:1,cb:1}}let s=t()*Math.PI*2,a=2*t()-1,i=Math.acos(a),r=Math.sin(i)*Math.cos(s),n=Math.cos(i),h=Math.sin(i)*Math.sin(s);return{x:r,y:n,z:h,nx:r,ny:n,nz:h,cr:1,cg:1,cb:1}}function k(e){let{geometry:t,matrix:s}=e,a=t.getAttribute("position");if(!a||a.count<3)return null;let r=t.getAttribute("normal"),n=t.getAttribute("uv"),h=t.getAttribute("color"),o=t.getIndex(),l=o?o.count/3:a.count/3;if(l<1)return null;let d=(e,t)=>o?o.getX(3*e+t):3*e+t,c=s?s.elements:null,u=s?(new i).getNormalMatrix(s).elements:null,g=e=>{let t=a.getX(e),s=a.getY(e),i=a.getZ(e);return c?c[0]*t+c[4]*s+c[8]*i+c[12]:t},p=e=>{let t=a.getX(e),s=a.getY(e),i=a.getZ(e);return c?c[1]*t+c[5]*s+c[9]*i+c[13]:s},b=e=>{let t=a.getX(e),s=a.getY(e),i=a.getZ(e);return c?c[2]*t+c[6]*s+c[10]*i+c[14]:i},S=new Float64Array(l),m=0;for(let e=0;e<l;e++){let t=d(e,0),s=d(e,1),a=d(e,2),i=g(t),r=p(t),n=b(t),h=g(s)-i,o=p(s)-r,l=b(s)-n,c=g(a)-i,u=p(a)-r,f=b(a)-n,M=o*f-l*u,y=l*c-h*f,R=h*u-o*c;m+=.5*Math.sqrt(M*M+y*y+R*R),S[e]=m}return m<=0?null:{total:m,sample:(t,s)=>{let a=0,i=l-1;for(;a<i;){let e=a+i>>1;S[e]<t?a=e+1:i=e}let o=a,c=d(o,0),m=d(o,1),f=d(o,2),M=s(),y=s();M+y>1&&(M=1-M,y=1-y);let R,w,x,v=1-M-y,A=g(c)*v+g(m)*M+g(f)*y,j=p(c)*v+p(m)*M+p(f)*y,I=b(c)*v+b(m)*M+b(f)*y;if(r){if(R=r.getX(c)*v+r.getX(m)*M+r.getX(f)*y,w=r.getY(c)*v+r.getY(m)*M+r.getY(f)*y,x=r.getZ(c)*v+r.getZ(m)*M+r.getZ(f)*y,u){let e=u[0]*R+u[3]*w+u[6]*x,t=u[1]*R+u[4]*w+u[7]*x,s=u[2]*R+u[5]*w+u[8]*x;R=e,w=t,x=s}}else{let e=g(c),t=p(c),s=b(c),a=g(m)-e,i=p(m)-t,r=b(m)-s,n=g(f)-e,h=p(f)-t,o=b(f)-s;R=i*o-r*h,w=r*n-a*o,x=a*h-i*n}let B=Math.sqrt(R*R+w*w+x*x)||1,F=1,W=1,k=1;if(h)F=h.getX(c)*v+h.getX(m)*M+h.getX(f)*y,W=h.getY(c)*v+h.getY(m)*M+h.getY(f)*y,k=h.getZ(c)*v+h.getZ(m)*M+h.getZ(f)*y;else if(e.sampleColor){let t=n?n.getX(c)*v+n.getX(m)*M+n.getX(f)*y:.5,s=n?n.getY(c)*v+n.getY(m)*M+n.getY(f)*y:.5,a=e.sampleColor(t,s);a&&(F=a.r,W=a.g,k=a.b)}return{x:A,y:j,z:I,nx:R/B,ny:w/B,nz:x/B,cr:F,cg:W,cb:k}}}}function H(e){let t=Math.min(Math.max(1,Math.floor(e.guideStrands)),I),s=function(e){let t=e>>>0;return()=>{t|=0,t=t+1831565813|0;let e=Math.imul(t^t>>>15,1|t);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296}}(e.seed??1337),a="object"===e.shape&&e.sampler,i=a?e.samplerRadius??F:F,r=new Float32Array(4*B),n=new Float32Array(B),h=new Float32Array(4*I).fill(1);for(let o=0;o<t;o++){let t=a?e.sampler(s):W(e.shape,s),l=a?t.x:t.x*i,d=a?t.y:t.y*i,c=a?t.z:t.z*i,{nx:u,ny:g,nz:p}=t;h[4*o+0]=t.cr,h[4*o+1]=t.cg,h[4*o+2]=t.cb;let b,S,m,f=32*o,M=(1.8+.8*s())*e.hairLength*i/31,y=.5+1.5*s(),R=(.02+.06*s())*i;Math.abs(g)<.99?(b=-p,S=0,m=u):(b=1,S=0,m=0);let w=Math.sqrt(b*b+S*S+m*m)||1;for(let e=0;e<32;e++){let t=e/31,s=t*t*.4*i,a=R*Math.sin(t*y*Math.PI*2),h=4*(f+e);r[h+0]=l+u*M*e+a*b/w,r[h+1]=d+g*M*e-s+a*S/w,r[h+2]=c+p*M*e+a*m/w,r[h+3]=0===e?0:1,e<31&&(n[f+e]=M)}}return{initialPositions:r,restLengths:n,unitScale:i,rootColors:h}}var C=1/60,O=4,P=new h,L=new t,z=new s,X=new s,q=class extends e{constructor(e,a,i){super(e,a),this.type="HairSystem",this.isHairSystem=!0,this.simRunning=!1,this.previewRequested=!1,this.playModeActive=!1,this.pendingSimSeconds=0,this.simTime=0,this.resetRequested=!0,this.generation=0,this.settledSimSeconds=0,this.lastMotionFingerprint=0,this.lastBoneQuat=new t,this.lastBonePos=new s,this.hasLastBone=!1,this.baseFoundAtRegen=!1,this.baseSourceGeomsAtRegen=[],this.baseSourceHashesAtRegen=[],this.baseColorHashAtRegen=0,this.baseScaleAtRegen=0,this.classicFallbackWarned=!1,this.regenSnapshot=null,this.context=i,this.data=a,this.geometry.setAttribute("position",new c(new Float32Array(0),3)),this.material=new u({colorWrite:!1,depthWrite:!1}),this.frustumCulled=!1,this.scalpMesh=new g(new l(F,48,32),new u({color:5448477})),this.scalpMesh.name="HairScalp",this.add(this.scalpMesh);let n=new r;n.setAttribute("position",new c(new Float32Array(12),3)),n.setIndex([0,2,1,2,3,1]),n.instanceCount=0,this.ribbonMesh=new g(n,new u({visible:!1})),this.ribbonMesh.name="HairRibbons",this.ribbonMesh.frustumCulled=!1,this.ribbonMesh.visible=!1,this.ribbonMesh.matrixAutoUpdate=!1,this.ribbonMesh.updateMatrixWorld=()=>{this.ribbonMesh.matrixWorld.identity()},this.ribbonMesh.updateWorldMatrix=()=>{this.ribbonMesh.matrixWorld.identity()},this.add(this.ribbonMesh),this.activeGuideStrands=a.guideStrands,this.roots=this.buildRoots(),this.regenSnapshot={guideStrands:a.guideStrands,hairLength:a.hairLength,spreadRadius:a.spreadRadius,headShape:a.headShape,baseObjectId:a.baseObjectId},this.applyScalpState(),this.applyShadowState(),this.syncSimRunning()}update(e){!this.simRunning||(this.pendingSimSeconds=Math.min(this.pendingSimSeconds+e/1e3,4*C*2),this.trackMotionRest(e/1e3))}trackMotionRest(e){this.boneTransform(L,z);let t=this.hasLastBone&&(Math.abs(this.lastBoneQuat.dot(L))<.9999995||this.lastBonePos.distanceToSquared(z)>1e-8),s=this.motionFingerprint(),a=!this.hasLastBone||t||this.resetRequested||s!==this.lastMotionFingerprint||this.data.windStrength>.001;this.lastBoneQuat.copy(L),this.lastBonePos.copy(z),this.lastMotionFingerprint=s,this.hasLastBone=!0,this.settledSimSeconds=a?0:this.settledSimSeconds+e}motionFingerprint(){let e=this.data;return e.gravity+2*e.damping+3*e.localStiffness+4*e.globalStiffness+5*e.globalRange+6*e.stiffnessFalloff+7*e.windStrength+8*e.vspCoefficient+9*e.kink+10*e.kinkFrequency+11*e.clumpStrength+12*e.clumpSize+13*e.clumpTipScale}get isSimulating(){return(this.simRunning||this.resetRequested)&&this.visible}get isMotionSettled(){return this.settledSimSeconds>6}get isVisiblyAnimating(){return this.isSimulating&&!this.isMotionSettled}startPreview(){this.previewRequested=!0,this.syncSimRunning()}stopPreview(){this.previewRequested=!1,this.syncSimRunning()}setPlayMode(e){this.playModeActive=e,e&&this.resetSimulation(),this.syncSimRunning()}resetSimulation(){this.resetRequested=!0,this.pendingSimSeconds=0,this.simTime=0,this.settledSimSeconds=0}warnClassicFallbackOnce(){this.classicFallbackWarned||(this.classicFallbackWarned=!0,console.warn("[spline] Hair System strands require the WebGPU renderer — the WebGL fallback shows only the scalp. Reload with ?renderer=webgpu in a WebGPU-capable browser."))}syncSimRunning(){this.simRunning=this.playModeActive||this.previewRequested||this.data.autoPlay}updateState(e,t){super.updateState(e,t),this.updateHairState(e)}updateHairState(e){if((void 0!==e.guideStrands||void 0!==e.hairLength||void 0!==e.spreadRadius||void 0!==e.headShape||void 0!==e.baseObjectId)&&this.regenerate(),(void 0!==e.headShape||void 0!==e.baseObjectId)&&this.applyScalpState(),void 0!==e.headColor){let t=this.scalpMesh.material;!0===t.isMeshBasicMaterial&&t.color.setRGB(e.headColor.r,e.headColor.g,e.headColor.b,n)}(void 0!==e.castShadow||void 0!==e.receiveShadow)&&this.applyShadowState(),void 0!==e.autoPlay&&this.syncSimRunning()}applyShadowState(){let e=this.data.castShadow??!0,t=this.data.receiveShadow??!0;this.castShadow=e,this.receiveShadow=t,this.scalpMesh.castShadow=e,this.scalpMesh.receiveShadow=t,this.ribbonMesh.castShadow=e,this.ribbonMesh.receiveShadow=t}regenerate(){this.activeGuideStrands=Math.max(1,Math.min(Math.floor(this.data.guideStrands),16384)),this.roots=this.buildRoots(),this.generation++,this.regenSnapshot={guideStrands:this.data.guideStrands,hairLength:this.data.hairLength,spreadRadius:this.data.spreadRadius,headShape:this.data.headShape,baseObjectId:this.data.baseObjectId},this.resetSimulation()}checkDataDrift(){let e=this.data,t=this.regenSnapshot;if(null===t||t.guideStrands!==e.guideStrands||t.hairLength!==e.hairLength||t.spreadRadius!==e.spreadRadius||t.headShape!==e.headShape||t.baseObjectId!==e.baseObjectId){let s=null===t||t.headShape!==e.headShape||t.baseObjectId!==e.baseObjectId;this.regenerate(),s&&this.applyScalpState()}this.syncSimRunning(),this.applyShadowState(),this.checkBaseDrift()}buildRoots(){let{headShape:e,baseObjectId:t,guideStrands:s,hairLength:a}=this.data;if(this.baseFoundAtRegen=!1,this.baseSourceGeomsAtRegen=[],this.baseSourceHashesAtRegen=[],this.baseColorHashAtRegen=0,this.baseScaleAtRegen=0,"object"===e&&t){let e=this.context.scene.find(t);if(e){this.baseFoundAtRegen=!0,e.updateWorldMatrix(!0,!0);let t=this.collectBaseSources(e),i=t?function(e){let t=[];for(let s of e){let e=k(s);e&&t.push(e)}if(0===t.length)return null;let s=new Float64Array(t.length),a=0;for(let e=0;e<t.length;e++)a+=t[e].total,s[e]=a;return a<=0?null:e=>{let i=e()*a,r=0,n=t.length-1;for(;r<n;){let e=r+n>>1;s[e]<i?r=e+1:n=e}let h=0===r?i:i-s[r-1];return t[r].sample(h,e)}}(t.sources):null;if(this.baseSourceGeomsAtRegen=t?.sources.map(e=>e.geometry)??[],this.baseSourceHashesAtRegen=t?.hashes??[],this.baseColorHashAtRegen=t?.colorHash??0,t&&i){let r=this.baseWorldScale(e),n=Math.max(t.radius*r,.001);this.baseScaleAtRegen=r;let h=r;return H({shape:"object",guideStrands:s,hairLength:a,sampler:e=>{let t=i(e);return{...t,x:t.x*h,y:t.y*h,z:t.z*h}},samplerRadius:n})}}}return H({shape:"object"===e?"sphere":e,guideStrands:s,hairLength:a})}collectBaseSources(e){let t=[],s=[],a=0,i=0;P.copy(e.matrixWorld).invert();let r=P.clone(),n=o=>{if(!0===o.isHairSystem||o!==e&&!1===o.visible)return;let l=o.geometry;if(!0===o.isMesh&&l&&(l.getAttribute("position")?.count??0)>=3){let n=o===e?void 0:(new h).multiplyMatrices(r,o.matrixWorld),d=Array.isArray(o.material)?o.material[0]:o.material;t.push({geometry:l,matrix:n,sampleColor:A(d,this.context.shared)??void 0}),s.push(q.matrixHash(n)),i+=function(e,t){let s=e,a=0,i=1,r=e=>{a+=e*i,i+=1},n=s?.data?.layers;if(n&&"function"==typeof n.forEach){let e=t;n.forEach(t=>{let s=t.data;if(!1!==s.visible)if("color"===s.type){let t=s.color,a="string"==typeof t?"function"==typeof e?.color?e.color(t):void 0:t;a&&"number"==typeof a.r&&(r(a.r),r(a.g),r(a.b)),r(w(s.alpha,1))}else if("gradient"===s.type){let e=s;for(let t of e.colors??[])r(t[0]),r(t[1]),r(t[2]),r(t[3]);for(let t of e.steps??[])r(t);r(w(e.angle,0)),r(e.gradientType),r(e.smooth?1:0)}})}else s?.color&&!0===s.color.isColor&&(r(s.color.r),r(s.color.g),r(s.color.b));return a}(d,this.context.shared),null===l.boundingSphere&&l.computeBoundingSphere();let c=l.boundingSphere;if(c){let e=0,t=1;n?(z.copy(c.center).applyMatrix4(n),e=z.length(),t=q.matrixMaxScale(n)):e=c.center.length(),a=Math.max(a,e+c.radius*t)}}for(let e of o.children)n(e)};return n(e),0===t.length?null:{sources:t,hashes:s,radius:Math.max(a,.001),colorHash:i}}static matrixHash(e){if(!e)return 0;let t=e.elements,s=0;for(let e=0;e<16;e++)s+=t[e]*(e+1);return s}static matrixMaxScale(e){let t=e.elements,s=Math.hypot(t[0],t[1],t[2]),a=Math.hypot(t[4],t[5],t[6]),i=Math.hypot(t[8],t[9],t[10]);return Math.max(s,a,i,1e-6)}baseWorldScale(e){return P.copy(e.matrixWorld).decompose(z,L,X),Math.max(Math.abs(X.x),Math.abs(X.y),Math.abs(X.z),1e-6)}get widthWorldScale(){return"object"===this.data.headShape&&this.data.baseObjectId&&this.baseScaleAtRegen>0?this.baseScaleAtRegen:1}checkBaseDrift(){if("object"!==this.data.headShape||!this.data.baseObjectId)return;let e=this.context.scene.find(this.data.baseObjectId);if(!e)return;if(!this.baseFoundAtRegen)return void this.regenerate();e.updateWorldMatrix(!0,!0);let t=this.collectBaseSources(e),s=t?.sources??[],a=t?.hashes??[],i=this.baseSourceGeomsAtRegen,r=this.baseSourceHashesAtRegen,n=s.length!==i.length;if(!n)for(let e=0;e<s.length;e++)if(s[e].geometry!==i[e]||Math.abs(a[e]-r[e])>1e-4*Math.max(Math.abs(r[e]),1)){n=!0;break}if(!n&&"object"===this.data.hairColorSource&&(t?.colorHash??0)!==this.baseColorHashAtRegen&&(n=!0),!n&&s.length>0){let t=this.baseWorldScale(e);n=Math.abs(t-this.baseScaleAtRegen)>.001*Math.max(this.baseScaleAtRegen,1e-6)}n&&this.regenerate()}applyScalpState(){let e=this.data.headShape,t="object"===e&&null!==this.data.baseObjectId;this.scalpMesh.visible=!t,!t&&(this.scalpMesh.geometry.dispose(),this.scalpMesh.geometry="torus"===e?new d(140,70,24,48):"cylinder"===e?new a(80,80,160,48,1):new l(F,48,32))}boneTransform(e,t){let s=this.matrixWorld;if("object"===this.data.headShape&&this.data.baseObjectId){let e=this.context.scene.find(this.data.baseObjectId)?.matrixWorld;e&&(s=e)}P.copy(s).decompose(t,e,X)}raycast(e,t){if(!this.scalpMesh.visible)return;let s=[];this.scalpMesh.raycast(e,s);for(let e of s)e.object=this,t.push(e)}get shadowBoundsRadius(){let e="torus"===this.data.headShape?2.6:1.5;return this.roots.unitScale*(e+2.6*Math.max(this.data.hairLength,0))}getShadowBoundsCenter(e){return this.boneTransform(L,e),e}updateEntityBoxSize(e,t){let s=this.shadowBoundsRadius;e.set(0,0,0),t.set(s,s,s)}dispose(){super.dispose(),this.scalpMesh.geometry.dispose(),this.scalpMesh.material.dispose(),this.ribbonMesh.geometry.dispose(),this.ribbonMesh.material.dispose?.(),M()?.release(this)}};export{b as a,S as b,f as c,M as d,j as e,I as f,B as g,F as h,C as i,O as j,q as k};
|
|
Binary file
|
|
Binary file
|