@splinetool/runtime 2.0.75 → 2.0.76
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/AGENTS.md +4 -0
- package/build/{runtime-bloom-XL2LGMRS.js → runtime-bloom-QWEX7MRM.js} +1 -1
- package/build/runtime-bloom-QWEX7MRM.js.br +0 -0
- package/build/runtime-bloom-QWEX7MRM.js.gz +0 -0
- package/build/{runtime-brightnessContrast-NVUYXHJN.js → runtime-brightnessContrast-WEITGRB7.js} +1 -1
- package/build/runtime-brightnessContrast-WEITGRB7.js.br +0 -0
- package/build/runtime-brightnessContrast-WEITGRB7.js.gz +0 -0
- package/build/{runtime-chromaticAberration-G6RI2BZ6.js → runtime-chromaticAberration-MWGH6M3J.js} +1 -1
- package/build/runtime-chromaticAberration-MWGH6M3J.js.br +0 -0
- package/build/runtime-chromaticAberration-MWGH6M3J.js.gz +0 -0
- package/build/{runtime-chunk-R3HMGJ7Z.js → runtime-chunk-2DXI65BA.js} +1 -1
- package/build/runtime-chunk-2DXI65BA.js.br +0 -0
- package/build/runtime-chunk-2DXI65BA.js.gz +0 -0
- package/build/runtime-chunk-4XNHGXFP.js +1 -0
- package/build/runtime-chunk-4XNHGXFP.js.br +0 -0
- package/build/runtime-chunk-4XNHGXFP.js.gz +0 -0
- package/build/{runtime-chunk-EHM6N6MH.js → runtime-chunk-6MXQXGJV.js} +1 -1
- package/build/runtime-chunk-6MXQXGJV.js.br +0 -0
- package/build/runtime-chunk-6MXQXGJV.js.gz +0 -0
- package/build/{runtime-chunk-DVNECZG7.js → runtime-chunk-CKC66SDD.js} +1 -1
- package/build/runtime-chunk-CKC66SDD.js.br +1 -0
- package/build/runtime-chunk-CKC66SDD.js.gz +0 -0
- package/build/{runtime-chunk-P7O43BI4.js → runtime-chunk-D6UL7QVP.js} +1 -1
- package/build/runtime-chunk-D6UL7QVP.js.br +0 -0
- package/build/runtime-chunk-D6UL7QVP.js.gz +0 -0
- package/build/{runtime-chunk-3IZ67XSS.js → runtime-chunk-EKCMGGVU.js} +1 -1
- package/build/runtime-chunk-EKCMGGVU.js.br +0 -0
- package/build/runtime-chunk-EKCMGGVU.js.gz +0 -0
- package/build/{runtime-chunk-HPOHBOPX.js → runtime-chunk-EXHKTSKP.js} +1 -1
- package/build/runtime-chunk-EXHKTSKP.js.br +0 -0
- package/build/runtime-chunk-EXHKTSKP.js.gz +0 -0
- package/build/runtime-chunk-GDQWREZV.js +1 -0
- package/build/runtime-chunk-GDQWREZV.js.br +0 -0
- package/build/runtime-chunk-GDQWREZV.js.gz +0 -0
- package/build/{runtime-chunk-O35HY6GE.js → runtime-chunk-GIO4XHW2.js} +1 -1
- package/build/runtime-chunk-GIO4XHW2.js.br +0 -0
- package/build/runtime-chunk-GIO4XHW2.js.gz +0 -0
- package/build/{runtime-chunk-XTWYJIDB.js → runtime-chunk-J6P5ZWHL.js} +1 -1
- package/build/runtime-chunk-J6P5ZWHL.js.br +0 -0
- package/build/runtime-chunk-J6P5ZWHL.js.gz +0 -0
- package/build/{runtime-chunk-7OKNQT4Q.js → runtime-chunk-JEEQYSJN.js} +1 -1
- package/build/runtime-chunk-JEEQYSJN.js.br +0 -0
- package/build/runtime-chunk-JEEQYSJN.js.gz +0 -0
- package/build/{runtime-chunk-2PCMVSFY.js → runtime-chunk-KSHWLQFH.js} +1 -1
- package/build/runtime-chunk-KSHWLQFH.js.br +0 -0
- package/build/runtime-chunk-KSHWLQFH.js.gz +0 -0
- package/build/{runtime-chunk-5FYCQZIK.js → runtime-chunk-LQYHP43C.js} +1 -1
- package/build/runtime-chunk-LQYHP43C.js.br +0 -0
- package/build/runtime-chunk-LQYHP43C.js.gz +0 -0
- package/build/{runtime-chunk-LGDFMPZV.js → runtime-chunk-LTIZNPR7.js} +1 -1
- package/build/runtime-chunk-LTIZNPR7.js.br +0 -0
- package/build/runtime-chunk-LTIZNPR7.js.gz +0 -0
- package/build/{runtime-chunk-BLRWJ6PO.js → runtime-chunk-OBY4GH2G.js} +1 -1
- package/build/runtime-chunk-OBY4GH2G.js.br +0 -0
- package/build/runtime-chunk-OBY4GH2G.js.gz +0 -0
- package/build/{runtime-chunk-CHPJLPOX.js → runtime-chunk-PPYPL2FA.js} +1 -1
- package/build/runtime-chunk-PPYPL2FA.js.br +0 -0
- package/build/runtime-chunk-PPYPL2FA.js.gz +0 -0
- package/build/{runtime-chunk-6P2VZYC7.js → runtime-chunk-QMZHJVIY.js} +1 -1
- package/build/runtime-chunk-QMZHJVIY.js.br +0 -0
- package/build/runtime-chunk-QMZHJVIY.js.gz +0 -0
- package/build/runtime-chunk-QRAO74EQ.js +1 -0
- package/build/runtime-chunk-QRAO74EQ.js.br +0 -0
- package/build/runtime-chunk-QRAO74EQ.js.gz +0 -0
- package/build/{runtime-chunk-JQLDHAYK.js → runtime-chunk-RNPU23IE.js} +1 -1
- package/build/{runtime-chunk-JQLDHAYK.js.br → runtime-chunk-RNPU23IE.js.br} +0 -0
- package/build/runtime-chunk-RNPU23IE.js.gz +0 -0
- package/build/runtime-chunk-TVA4CVPL.js +1 -0
- package/build/runtime-chunk-TVA4CVPL.js.br +0 -0
- package/build/runtime-chunk-TVA4CVPL.js.gz +0 -0
- package/build/{runtime-chunk-LMDWFYT4.js → runtime-chunk-UEMEFP7N.js} +1 -1
- package/build/runtime-chunk-UEMEFP7N.js.br +0 -0
- package/build/runtime-chunk-UEMEFP7N.js.gz +0 -0
- package/build/{runtime-chunk-SMAHKVDJ.js → runtime-chunk-UQQ35LPE.js} +1 -1
- package/build/runtime-chunk-UQQ35LPE.js.br +0 -0
- package/build/runtime-chunk-UQQ35LPE.js.gz +0 -0
- package/build/{runtime-chunk-KQB35G6O.js → runtime-chunk-VIY2ZYET.js} +1 -1
- package/build/runtime-chunk-VIY2ZYET.js.br +0 -0
- package/build/runtime-chunk-VIY2ZYET.js.gz +0 -0
- package/build/{runtime-chunk-2NMFVNZI.js → runtime-chunk-XJHIXU7R.js} +1 -1
- package/build/runtime-chunk-XJHIXU7R.js.br +0 -0
- package/build/runtime-chunk-XJHIXU7R.js.gz +0 -0
- package/build/{runtime-chunk-XUSHQQ6M.js → runtime-chunk-XLNQVH4X.js} +1 -1
- package/build/{runtime-chunk-XUSHQQ6M.js.br → runtime-chunk-XLNQVH4X.js.br} +0 -0
- package/build/runtime-chunk-XLNQVH4X.js.gz +0 -0
- package/build/{runtime-chunk-5HAHC2I4.js → runtime-chunk-YGTCEPBW.js} +1 -1
- package/build/runtime-chunk-YGTCEPBW.js.br +0 -0
- package/build/runtime-chunk-YGTCEPBW.js.gz +0 -0
- package/build/{runtime-chunk-J6NVJRP7.js → runtime-chunk-YQNSWRUG.js} +1 -1
- package/build/runtime-chunk-YQNSWRUG.js.br +0 -0
- package/build/runtime-chunk-YQNSWRUG.js.gz +0 -0
- package/build/{runtime-chunk-SDRGA6HH.js → runtime-chunk-ZTPGBHSM.js} +1 -1
- package/build/runtime-chunk-ZTPGBHSM.js.br +0 -0
- package/build/runtime-chunk-ZTPGBHSM.js.gz +0 -0
- package/build/{runtime-classicRuntime-VL6CHQ4U.js → runtime-classicRuntime-Z7ETK77X.js} +1 -1
- package/build/runtime-classicRuntime-Z7ETK77X.js.br +0 -0
- package/build/runtime-classicRuntime-Z7ETK77X.js.gz +0 -0
- package/build/{runtime-cloners-A22NSDYY.js → runtime-cloners-XESRQZAQ.js} +1 -1
- package/build/runtime-cloners-XESRQZAQ.js.br +0 -0
- package/build/runtime-cloners-XESRQZAQ.js.gz +0 -0
- package/build/{runtime-components-TWNA2WP4.js → runtime-components-HKA7YQLV.js} +1 -1
- package/build/runtime-components-HKA7YQLV.js.br +0 -0
- package/build/runtime-components-HKA7YQLV.js.gz +0 -0
- package/build/{runtime-createDestroy-VEUXNTNP.js → runtime-createDestroy-S3MAGWSU.js} +1 -1
- package/build/runtime-createDestroy-S3MAGWSU.js.br +0 -0
- package/build/runtime-createDestroy-S3MAGWSU.js.gz +0 -0
- package/build/{runtime-depthOfField-UOGP3RXR.js → runtime-depthOfField-3O3BP5UF.js} +1 -1
- package/build/runtime-depthOfField-3O3BP5UF.js.br +0 -0
- package/build/runtime-depthOfField-3O3BP5UF.js.gz +0 -0
- package/build/{runtime-dragDrop-ZSWC4G2N.js → runtime-dragDrop-PE5Y4MWB.js} +1 -1
- package/build/runtime-dragDrop-PE5Y4MWB.js.br +0 -0
- package/build/runtime-dragDrop-PE5Y4MWB.js.gz +0 -0
- package/build/{runtime-gameControls-IGROYZEU.js → runtime-gameControls-5RLJDMUI.js} +1 -1
- package/build/runtime-gameControls-5RLJDMUI.js.br +0 -0
- package/build/runtime-gameControls-5RLJDMUI.js.gz +0 -0
- package/build/{runtime-hair-3G4CHII2.js → runtime-hair-ZXUGRWYE.js} +1 -1
- package/build/runtime-hair-ZXUGRWYE.js.br +3 -0
- package/build/runtime-hair-ZXUGRWYE.js.gz +0 -0
- package/build/{runtime-hueSaturation-LYCL2TIK.js → runtime-hueSaturation-CGKVQ5AX.js} +1 -1
- package/build/runtime-hueSaturation-CGKVQ5AX.js.br +0 -0
- package/build/runtime-hueSaturation-CGKVQ5AX.js.gz +0 -0
- package/build/{runtime-mergeStaticGeometries-PF4JNSYT.js → runtime-mergeStaticGeometries-OYK7BHIT.js} +1 -1
- package/build/runtime-mergeStaticGeometries-OYK7BHIT.js.br +0 -0
- package/build/runtime-mergeStaticGeometries-OYK7BHIT.js.gz +0 -0
- package/build/{runtime-miscActions-GKLJU4O6.js → runtime-miscActions-JBIPB377.js} +1 -1
- package/build/runtime-miscActions-JBIPB377.js.br +0 -0
- package/build/runtime-miscActions-JBIPB377.js.gz +0 -0
- package/build/{runtime-mouseHover-6UDBUW4P.js → runtime-mouseHover-DX3N3X7P.js} +1 -1
- package/build/runtime-mouseHover-DX3N3X7P.js.br +0 -0
- package/build/runtime-mouseHover-DX3N3X7P.js.gz +0 -0
- package/build/{runtime-noise-PNVGOS7A.js → runtime-noise-IAXCCKRI.js} +1 -1
- package/build/runtime-noise-IAXCCKRI.js.br +0 -0
- package/build/runtime-noise-IAXCCKRI.js.gz +0 -0
- package/build/{runtime-particles-PATPAFJ7.js → runtime-particles-RT6PZSWK.js} +1 -1
- package/build/runtime-particles-RT6PZSWK.js.br +0 -0
- package/build/runtime-particles-RT6PZSWK.js.gz +0 -0
- package/build/{runtime-paths-XSOCSCPZ.js → runtime-paths-W4TBZW5Y.js} +1 -1
- package/build/runtime-paths-W4TBZW5Y.js.br +0 -0
- package/build/runtime-paths-W4TBZW5Y.js.gz +0 -0
- package/build/{runtime-pixelation-ZVCDH6UI.js → runtime-pixelation-ETQKXULE.js} +1 -1
- package/build/runtime-pixelation-ETQKXULE.js.br +0 -0
- package/build/runtime-pixelation-ETQKXULE.js.gz +0 -0
- package/build/{runtime-resize-PIJQUW6J.js → runtime-resize-DPVCEPTN.js} +1 -1
- package/build/runtime-resize-DPVCEPTN.js.br +0 -0
- package/build/runtime-resize-DPVCEPTN.js.gz +0 -0
- package/build/{runtime-sceneTransition-2PJZMJUQ.js → runtime-sceneTransition-56IV7SWV.js} +1 -1
- package/build/runtime-sceneTransition-56IV7SWV.js.br +0 -0
- package/build/runtime-sceneTransition-56IV7SWV.js.gz +0 -0
- package/build/{runtime-scroll-YOQSDYVU.js → runtime-scroll-6V3HUZMD.js} +1 -1
- package/build/runtime-scroll-6V3HUZMD.js.br +0 -0
- package/build/runtime-scroll-6V3HUZMD.js.gz +0 -0
- package/build/runtime-shapeBlends-QVPRUMEV.js +1 -0
- package/build/runtime-shapeBlends-QVPRUMEV.js.br +4 -0
- package/build/runtime-shapeBlends-QVPRUMEV.js.gz +0 -0
- package/build/{runtime-text-3YZRC3KX.js → runtime-text-6HDGLXDK.js} +1 -1
- package/build/runtime-text-6HDGLXDK.js.br +0 -0
- package/build/runtime-text-6HDGLXDK.js.gz +0 -0
- package/build/{runtime-textInputs-AYOXKM2X.js → runtime-textInputs-YJHUTIQQ.js} +1 -1
- package/build/runtime-textInputs-YJHUTIQQ.js.br +0 -0
- package/build/runtime-textInputs-YJHUTIQQ.js.gz +0 -0
- package/build/runtime-timeline-MLGEUIGX.js +1 -0
- package/build/runtime-timeline-MLGEUIGX.js.br +0 -0
- package/build/runtime-timeline-MLGEUIGX.js.gz +0 -0
- package/build/{runtime-tracking-S6E3HSYC.js → runtime-tracking-E3ZVHDBK.js} +1 -1
- package/build/runtime-tracking-E3ZVHDBK.js.br +0 -0
- package/build/runtime-tracking-E3ZVHDBK.js.gz +0 -0
- package/build/{runtime-transitions-P5H6UMK2.js → runtime-transitions-ZOOFJNQG.js} +1 -1
- package/build/runtime-transitions-ZOOFJNQG.js.br +0 -0
- package/build/runtime-transitions-ZOOFJNQG.js.gz +0 -0
- package/build/{runtime-ui2d-DBEQBBXV.js → runtime-ui2d-PEQJMQI6.js} +1 -1
- package/build/runtime-ui2d-PEQJMQI6.js.br +0 -0
- package/build/runtime-ui2d-PEQJMQI6.js.gz +0 -0
- package/build/{runtime-vectorShapes-JDZ3XTOC.js → runtime-vectorShapes-JJZBFBYT.js} +1 -1
- package/build/runtime-vectorShapes-JJZBFBYT.js.br +0 -0
- package/build/runtime-vectorShapes-JJZBFBYT.js.gz +0 -0
- package/build/{runtime-vignette-TECYHVQU.js → runtime-vignette-IZCX6M3H.js} +1 -1
- package/build/runtime-vignette-IZCX6M3H.js.br +0 -0
- package/build/runtime-vignette-IZCX6M3H.js.gz +0 -0
- package/build/{runtime-webgpu-5LGKKJZY.js → runtime-webgpu-N3IPXH3K.js} +1 -1
- package/build/runtime-webgpu-N3IPXH3K.js.br +0 -0
- package/build/runtime-webgpu-N3IPXH3K.js.gz +0 -0
- package/build/runtime.cjs +324 -324
- 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 +1 -1
- package/runtime.d.ts +4 -1
- package/build/runtime-bloom-XL2LGMRS.js.br +0 -0
- package/build/runtime-bloom-XL2LGMRS.js.gz +0 -0
- package/build/runtime-brightnessContrast-NVUYXHJN.js.br +0 -0
- package/build/runtime-brightnessContrast-NVUYXHJN.js.gz +0 -0
- package/build/runtime-chromaticAberration-G6RI2BZ6.js.br +0 -0
- package/build/runtime-chromaticAberration-G6RI2BZ6.js.gz +0 -0
- package/build/runtime-chunk-2NMFVNZI.js.br +0 -0
- package/build/runtime-chunk-2NMFVNZI.js.gz +0 -0
- package/build/runtime-chunk-2PCMVSFY.js.br +0 -0
- package/build/runtime-chunk-2PCMVSFY.js.gz +0 -0
- package/build/runtime-chunk-3IZ67XSS.js.br +0 -0
- package/build/runtime-chunk-3IZ67XSS.js.gz +0 -0
- package/build/runtime-chunk-5FYCQZIK.js.br +0 -0
- package/build/runtime-chunk-5FYCQZIK.js.gz +0 -0
- package/build/runtime-chunk-5HAHC2I4.js.br +0 -0
- package/build/runtime-chunk-5HAHC2I4.js.gz +0 -0
- package/build/runtime-chunk-6P2VZYC7.js.br +0 -0
- package/build/runtime-chunk-6P2VZYC7.js.gz +0 -0
- package/build/runtime-chunk-7OKNQT4Q.js.br +0 -0
- package/build/runtime-chunk-7OKNQT4Q.js.gz +0 -0
- package/build/runtime-chunk-BLRWJ6PO.js.br +0 -0
- package/build/runtime-chunk-BLRWJ6PO.js.gz +0 -0
- package/build/runtime-chunk-CHPJLPOX.js.br +0 -0
- package/build/runtime-chunk-CHPJLPOX.js.gz +0 -0
- package/build/runtime-chunk-DVNECZG7.js.br +0 -0
- package/build/runtime-chunk-DVNECZG7.js.gz +0 -0
- package/build/runtime-chunk-EHM6N6MH.js.br +0 -0
- package/build/runtime-chunk-EHM6N6MH.js.gz +0 -0
- package/build/runtime-chunk-EXCSVK2W.js +0 -1
- package/build/runtime-chunk-EXCSVK2W.js.br +0 -0
- package/build/runtime-chunk-EXCSVK2W.js.gz +0 -0
- package/build/runtime-chunk-HPOHBOPX.js.br +0 -0
- package/build/runtime-chunk-HPOHBOPX.js.gz +0 -0
- package/build/runtime-chunk-J6NVJRP7.js.br +0 -0
- package/build/runtime-chunk-J6NVJRP7.js.gz +0 -0
- package/build/runtime-chunk-JQLDHAYK.js.gz +0 -0
- package/build/runtime-chunk-KQB35G6O.js.br +0 -0
- package/build/runtime-chunk-KQB35G6O.js.gz +0 -0
- package/build/runtime-chunk-LGDFMPZV.js.br +0 -0
- package/build/runtime-chunk-LGDFMPZV.js.gz +0 -0
- package/build/runtime-chunk-LMDWFYT4.js.br +0 -0
- package/build/runtime-chunk-LMDWFYT4.js.gz +0 -0
- package/build/runtime-chunk-O35HY6GE.js.br +0 -0
- package/build/runtime-chunk-O35HY6GE.js.gz +0 -0
- package/build/runtime-chunk-P7O43BI4.js.br +0 -0
- package/build/runtime-chunk-P7O43BI4.js.gz +0 -0
- package/build/runtime-chunk-R3HMGJ7Z.js.br +0 -0
- package/build/runtime-chunk-R3HMGJ7Z.js.gz +0 -0
- package/build/runtime-chunk-SDRGA6HH.js.br +0 -0
- package/build/runtime-chunk-SDRGA6HH.js.gz +0 -0
- package/build/runtime-chunk-SMAHKVDJ.js.br +0 -0
- package/build/runtime-chunk-SMAHKVDJ.js.gz +0 -0
- package/build/runtime-chunk-TRETONDH.js +0 -1
- package/build/runtime-chunk-TRETONDH.js.br +0 -0
- package/build/runtime-chunk-TRETONDH.js.gz +0 -0
- package/build/runtime-chunk-WKBLSXWK.js +0 -1
- package/build/runtime-chunk-WKBLSXWK.js.br +0 -0
- package/build/runtime-chunk-WKBLSXWK.js.gz +0 -0
- package/build/runtime-chunk-XTWYJIDB.js.br +0 -0
- package/build/runtime-chunk-XTWYJIDB.js.gz +0 -0
- package/build/runtime-chunk-XUSHQQ6M.js.gz +0 -0
- package/build/runtime-chunk-Y3BMDVJ7.js +0 -1
- package/build/runtime-chunk-Y3BMDVJ7.js.br +0 -0
- package/build/runtime-chunk-Y3BMDVJ7.js.gz +0 -0
- package/build/runtime-classicRuntime-VL6CHQ4U.js.br +0 -0
- package/build/runtime-classicRuntime-VL6CHQ4U.js.gz +0 -0
- package/build/runtime-cloners-A22NSDYY.js.br +0 -0
- package/build/runtime-cloners-A22NSDYY.js.gz +0 -0
- package/build/runtime-components-TWNA2WP4.js.br +0 -0
- package/build/runtime-components-TWNA2WP4.js.gz +0 -0
- package/build/runtime-createDestroy-VEUXNTNP.js.br +0 -0
- package/build/runtime-createDestroy-VEUXNTNP.js.gz +0 -0
- package/build/runtime-depthOfField-UOGP3RXR.js.br +0 -0
- package/build/runtime-depthOfField-UOGP3RXR.js.gz +0 -0
- package/build/runtime-dragDrop-ZSWC4G2N.js.br +0 -0
- package/build/runtime-dragDrop-ZSWC4G2N.js.gz +0 -0
- package/build/runtime-gameControls-IGROYZEU.js.br +0 -0
- package/build/runtime-gameControls-IGROYZEU.js.gz +0 -0
- package/build/runtime-hair-3G4CHII2.js.br +0 -2
- package/build/runtime-hair-3G4CHII2.js.gz +0 -0
- package/build/runtime-hueSaturation-LYCL2TIK.js.br +0 -0
- package/build/runtime-hueSaturation-LYCL2TIK.js.gz +0 -0
- package/build/runtime-mergeStaticGeometries-PF4JNSYT.js.br +0 -0
- package/build/runtime-mergeStaticGeometries-PF4JNSYT.js.gz +0 -0
- package/build/runtime-miscActions-GKLJU4O6.js.br +0 -0
- package/build/runtime-miscActions-GKLJU4O6.js.gz +0 -0
- package/build/runtime-mouseHover-6UDBUW4P.js.br +0 -0
- package/build/runtime-mouseHover-6UDBUW4P.js.gz +0 -0
- package/build/runtime-noise-PNVGOS7A.js.br +0 -0
- package/build/runtime-noise-PNVGOS7A.js.gz +0 -0
- package/build/runtime-particles-PATPAFJ7.js.br +0 -0
- package/build/runtime-particles-PATPAFJ7.js.gz +0 -0
- package/build/runtime-paths-XSOCSCPZ.js.br +0 -0
- package/build/runtime-paths-XSOCSCPZ.js.gz +0 -0
- package/build/runtime-pixelation-ZVCDH6UI.js.br +0 -0
- package/build/runtime-pixelation-ZVCDH6UI.js.gz +0 -0
- package/build/runtime-resize-PIJQUW6J.js.br +0 -0
- package/build/runtime-resize-PIJQUW6J.js.gz +0 -0
- package/build/runtime-sceneTransition-2PJZMJUQ.js.br +0 -0
- package/build/runtime-sceneTransition-2PJZMJUQ.js.gz +0 -0
- package/build/runtime-scroll-YOQSDYVU.js.br +0 -0
- package/build/runtime-scroll-YOQSDYVU.js.gz +0 -0
- package/build/runtime-shapeBlends-QBQOFMHU.js +0 -1
- package/build/runtime-shapeBlends-QBQOFMHU.js.br +0 -3
- package/build/runtime-shapeBlends-QBQOFMHU.js.gz +0 -0
- package/build/runtime-text-3YZRC3KX.js.br +0 -0
- package/build/runtime-text-3YZRC3KX.js.gz +0 -0
- package/build/runtime-textInputs-AYOXKM2X.js.br +0 -0
- package/build/runtime-textInputs-AYOXKM2X.js.gz +0 -0
- package/build/runtime-timeline-7WC4ZCIT.js +0 -1
- package/build/runtime-timeline-7WC4ZCIT.js.br +0 -0
- package/build/runtime-timeline-7WC4ZCIT.js.gz +0 -0
- package/build/runtime-tracking-S6E3HSYC.js.br +0 -0
- package/build/runtime-tracking-S6E3HSYC.js.gz +0 -0
- package/build/runtime-transitions-P5H6UMK2.js.br +0 -0
- package/build/runtime-transitions-P5H6UMK2.js.gz +0 -0
- package/build/runtime-ui2d-DBEQBBXV.js.br +0 -0
- package/build/runtime-ui2d-DBEQBBXV.js.gz +0 -0
- package/build/runtime-vectorShapes-JDZ3XTOC.js.br +0 -0
- package/build/runtime-vectorShapes-JDZ3XTOC.js.gz +0 -0
- package/build/runtime-vignette-TECYHVQU.js.br +0 -0
- package/build/runtime-vignette-TECYHVQU.js.gz +0 -0
- package/build/runtime-webgpu-5LGKKJZY.js.br +0 -0
- package/build/runtime-webgpu-5LGKKJZY.js.gz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as n}from"./runtime-chunk-
|
|
1
|
+
import{h as n}from"./runtime-chunk-UEMEFP7N.js";function e(o){if(o.component){let t=o.component.instances.indexOf(o);t>=0&&o.component.instances.splice(t,1);for(let t of o.children)n.is(t)&&e(t)}}export{e as a};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as s}from"./runtime-chunk-
|
|
1
|
+
import{d as s}from"./runtime-chunk-LQYHP43C.js";import{a as t,b as i}from"./runtime-chunk-ZTPGBHSM.js";import{Fc as a,Tc as o,Te as e,We as h,Xc as r,ze as d}from"./runtime-chunk-BVVSZMXD.js";var n=class extends(t(e)){constructor(s,t=15,i=6710886){super(s,t,i),this.object=s,this.name=`PointLightHelper: ${s.uuid}`}raycast(s,t){i(this.object,n.geometryHelper,s,t)}},p=class extends(s(d,n)){constructor(s,t,i){super(),this.super_Entity(s,t),this.castShadow=!0,this.shadow.mapSize.width=1024,this.shadow.mapSize.height=1024,this.shadow.normalBias=1,this.layers.enable(3);let e=this.shadow.camera;e.fov=90,e.aspect=1,e.near=100,e.far=2500;let d=new a(-e.far+this.position.x,-e.far+this.position.y,-e.far+this.position.z),n=new a(e.far+this.position.x,e.far+this.position.y,e.far+this.position.z),p=new r(d,n),c=new h(p,new o(16755200));c.visible=!1,this.gizmos.shadowmap=c,this.update()}update(){if(this.shadow&&(this.shadow.camera.updateProjectionMatrix(),this.gizmos))for(let s in this.gizmos){let t=this.gizmos[s];if(t instanceof h){let s=this.shadow.camera,i=new a(-s.far+this.position.x,-s.far+this.position.y,-s.far+this.position.z),o=new a(s.far+this.position.x,s.far+this.position.y,s.far+this.position.z);t.box.set(i,o),t.updateMatrixWorld(!0)}}}updateMatrixWorld(s){super.updateMatrixWorld(s),this.objectHelper&&this.objectHelper.update()}updateState(s,t){this.updateState_Light(s,t),void 0!==s.distance&&(this.distance=s.distance),void 0!==s.decay&&(this.decay=s.decay),void 0!==s.shadowRadius&&(this.shadow.radius=s.shadowRadius),void 0!==s.shadowResolution&&(this.shadow.mapSize.set(s.shadowResolution,s.shadowResolution),this.shadow.map&&(this.shadow.map.dispose(),this.shadow.map=null))}};export{p as a};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./runtime-chunk-TU4KDRKR.js";import{$ as o}from"./runtime-chunk-
|
|
1
|
+
import{a as e}from"./runtime-chunk-TU4KDRKR.js";import{$ as o}from"./runtime-chunk-GDQWREZV.js";import{Dc as n,Fc as t,Jc as r}from"./runtime-chunk-BVVSZMXD.js";function s(e){return!0===e?.depthPrepass}var i=!0;try{i="0"!==new URLSearchParams(window.location.search).get("dbgdepthprepass")}catch{}function a(e){return i&&e.transparent&&e.depthTest&&!e.wireframe&&!e.shapeBlend&&!function(e){let o=e?.layers;if(!o)return!1;for(let e of o)if("transmission"===e.data.type&&e.data.visible)return!0;return!1}(e.data)}var c={enabled:!1},l=new WeakMap;function u(e){if(!c.enabled)return e;let o=l.get(e);return o||(o={...e,bloom:{...e.bloom,kernelSize:0},depthOfField:{...e.depthOfField,enabled:!1}},l.set(e,o)),o}var f=new WeakSet;function p(e){if(!e.isPointLight&&!e.isSpotLight&&!e.isDirectionalLight)return!1;if(c.enabled){if(!0===e.castShadow)return e.castShadow=!1,f.add(e),!0}else if(f.has(e)&&(f.delete(e),!1===e.castShadow))return e.castShadow=!0,!0;return!1}function h(s,i){switch(s.type){case"cavity":return function(e,o){return{...d(e,o),ridge:e.ridge,valley:e.valley}}(s,i);case"dust":return function(n,t){return{...d(n,t),color:e(n.color,t),coverage:o(n.coverage,t)??.2,softness:o(n.softness,t)??.2,noiseStrength:o(n.noiseStrength,t)??.2,noiseScale:o(n.noiseScale,t)??1}}(s,i);case"fresnel":return function(o,n){let{bias:t,scale:r,intensity:s,factor:i,color:a}=o;return{...d(o,n),color:e(a,n),bias:t,scale:r,intensity:s,factor:i}}(s,i);case"gradient":return function(e,o){let{gradientType:t,smooth:s,colors:i,steps:a,angle:c,offset:l,morph:u}=e;return{...d(e,o),gradientType:t,smooth:s,colors:i.map(e=>new r(e[0],e[1],e[2],e[3])),num:i.length,steps:a,offset:new n(...l.map(e=>"number"==typeof e?e:0)),morph:new n(...u.map(e=>"number"==typeof e?e:0)),angle:c}}(s,i);case"depth":return function(e,o){let{gradientType:n,near:s,far:i,isVector:a,isWorldSpace:c,origin:l,direction:u,colors:f,steps:p,smooth:h}=e;return{...d(e,o),gradientType:n,near:s,far:i,isVector:a,isWorldSpace:c,origin:new t(...l),direction:u?new t(...u):new t(1,0,0),colors:f.map(e=>void 0!==e?new r(e[0],e[1],e[2],e[3]):new r(0,0,0,0)),steps:p.slice(0,f.length),smooth:h}}(s,i);case"normal":return function(e,o){let{cnormal:n}=e;return{...d(e,o),cnormal:new t(n[0],n[1],n[2])}}(s,i);case"noise":return function(o,r){return{...d(o,r),scale:o.scale,move:o.move,fA:new n(...o.fA.map(e=>"number"==typeof e?e:0)),fB:new n(...o.fB.map(e=>"number"==typeof e?e:0)),size:new t(...o.size),distortion:new n(...o.distortion.map(e=>"number"==typeof e?e:0)),colorA:e(o.colorA,r),colorB:e(o.colorB,r),colorC:e(o.colorC,r),colorD:e(o.colorD,r),noiseType:o.noiseType,voronoiStyle:o.voronoiStyle,highCut:o.highCut,lowCut:o.lowCut,smoothness:o.smoothness,seed:o.seed,quality:o.quality}}(s,i);case"rainbow":return function(e,o){return{...d(e,o),filmThickness:e.filmThickness,movement:e.movement,wavelengths:new t(...e.wavelengths),noiseStrength:e.noiseStrength,noiseScale:e.noiseScale,offset:new t(...e.offset)}}(s,i);case"toon":return function(o,n){return{...d(o,n),positioning:o.positioning,colors:o.colors.map(e=>new r(e[0],e[1],e[2],e[3])),num:o.colors.length,steps:o.steps,source:new t(...o.source),isWorldSpace:o.isWorldSpace,noiseStrength:o.noiseStrength,noiseScale:o.noiseScale,shadowColor:e(o.shadowColor,n),offset:new t(...o.offset)}}(s,i);case"outline":return function(o,n){return{...d(o,n),outlineColor:e(o.outlineColor,n),contourColor:e(o.contourColor,n),outlineWidth:o.outlineWidth,contourWidth:o.contourWidth,outlineThreshold:o.outlineThreshold,contourThreshold:o.contourThreshold,outlineSmoothing:o.outlineSmoothing,contourFrequency:o.contourFrequency,contourDirection:new t(...o.contourDirection),positionalLines:o.positionalLines,compensation:o.compensation}}(s,i);case"transmission":return function(o,n){return{...d(o,n),thickness:o.thickness,ior:o.ior,roughness:o.roughness,attenuationColor:void 0!==o.attenuationColor?e(o.attenuationColor,n):{r:1,g:1,b:1,a:1},attenuationDistance:o.attenuationDistance??0}}(s,i);case"reflection":return function(e,n){return{...d(e,n),blur:o(e.blur,n)??0,thickness:o(e.thickness,n)??.001,steps:o(e.steps,n)??60,stepSize:o(e.stepSize,n)??.005,tracingMode:e.tracingMode,mirror:e.mirror??0}}(s,i);case"pattern":return function(o,t){return{...d(o,t),style:o.style,projection:o.projection,axis:o.axis,blending:o.blending,offset:new n(...o.offset.map(e=>"number"==typeof e?e:0)),colorA:e(o.colorA,t),colorB:e(o.colorB,t),frequency:new n(...o.frequency.map(e=>"number"==typeof e?e:0)),size:o.size,variation:o.variation,smoothness:o.smoothness,zigzag:o.zigzag,rotation:o.rotation,vertical:new n(...o.vertical.map(e=>"number"==typeof e?e:0)),horizontal:new n(...o.horizontal.map(e=>"number"==typeof e?e:0)),sides:o.sides}}(s,i);case"vertexColor":return d(s,i);default:return function(o,n){return{...d(o,n),color:e(o.color,n)}}(s,i)}}function m(e){return{type:e.type}}function d(e,o){let{alpha:n,mode:t,isMask:r}=e,s="string"==typeof n?Number(o.getVariable(n)??100)/100:n;return{...m(e),alpha:s,mode:t,isMask:r}}export{s as a,a as b,c,u as d,p as e,h as f};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as t,b as e}from"./runtime-chunk-
|
|
1
|
+
import{a as t,b as e}from"./runtime-chunk-ZTPGBHSM.js";import{Ec as s,Fc as r,Sc as a,Xe as i}from"./runtime-chunk-BVVSZMXD.js";var o=new r(1,1,1),m=new r,d=new r,u=new s,c=class extends(t(i)){constructor(t,e=15){super(e),this.object=t,this.dummy=new a,this.object.updateMatrixWorld(),this.name=`EmptyObjectHelper: ${t.uuid}`,this.matrix=this.dummy.matrixWorld,this.matrixAutoUpdate=!1,this.object.isBone&&(this.visible=!1)}raycast(t,s){e(this.object,c.geometryHelper,t,s,!1,this.dummy)}update(){}updateMatrix(){}updateMatrixWorld(t){this.object.matrixWorld.decompose(m,u,d),this.matrix.compose(m,u,o),super.updateMatrixWorld(t)}updateWorldMatrix(t,e){}};export{c as a};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{v as e}from"./runtime-chunk-LMDWFYT4.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,W=100;function B(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,W=1,B=1,k=1;if(h)W=h.getX(c)*v+h.getX(m)*M+h.getX(f)*y,B=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&&(W=a.r,B=a.g,k=a.b)}return{x:A,y:j,z:I,nx:R/F,ny:w/F,nz:x/F,cr:W,cg:B,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??W:W,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):B(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,L=4,O=new h,P=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(W,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(P,z);let t=this.hasLastBone&&(Math.abs(this.lastBoneQuat.dot(P))<.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(P),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;O.copy(e.matrixWorld).invert();let r=O.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 O.copy(e.matrixWorld).decompose(z,P,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(W,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)}O.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(P,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,W as h,H as i,L as j,q as k};
|
|
1
|
+
import{v as e}from"./runtime-chunk-UEMEFP7N.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};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ja as t}from"./runtime-chunk-
|
|
1
|
+
import{ja as t}from"./runtime-chunk-GDQWREZV.js";import{Fc as e,Oc as r,jd as i}from"./runtime-chunk-BVVSZMXD.js";var s=new e,n=new r,a=new i,h=class extends t{constructor(t,e,r){super(t,e,r),this.data=e}get textGeometry(){return this.geometry}get charWidths(){return this.textGeometry.charWidths}get charCoords(){return this.textGeometry.charCoords}get wrappedText(){return this.textGeometry.wrappedText}get font(){return this.textGeometry.font}get initialOffsetY(){let t=this.dataPatched;return this.font?.getLineInitialOffsetY(this.lineHeight,this.wrappedText.length,"number"==typeof t.geometry.height?t.geometry.height:1,this.fontScale,t.geometry.verticalAlign)??0}get fontScale(){let t=this.dataPatched;return this.font?t.geometry.fontSize/this.font.unitsPerEm:1}get AD(){return Math.abs(this.ascender-this.descender)}get ascender(){return(this.font?.ascender??1)*this.fontScale}get descender(){return(this.font?.descender??1)*this.fontScale}get lineHeight(){let t=this.dataPatched;return t.geometry.fontSize*t.geometry.lineHeight}raycast(t,e){let{matrixWorld:r}=this;if(!isNaN(t.ray.origin.x)&&0!==this.scale.x&&0!==this.scale.y&&0!==this.scale.z&&(n.copy(r).invert(),a.copy(t.ray).applyMatrix4(n),a.intersectBox(this.singleBBox,s))){let i=s.applyMatrix4(r),n=t.ray.origin.distanceTo(i);e.push({distance:n,point:i.clone(),object:this})}}};export{h as a};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e}from"./runtime-chunk-
|
|
1
|
+
import{j as e}from"./runtime-chunk-UEMEFP7N.js";import{Ed as t,Fc as r,Oc as i,We as n,cd as a,jd as o}from"./runtime-chunk-BVVSZMXD.js";var s;(s||(s={})).is=e=>"objectHelper"in e;var l=(r,i)=>class extends(e(r)){constructor(){super(...arguments),this.objectHelper=new i(this),this.gizmos={}}get geometryHelper(){return i.geometryHelper}raycast(e,t){this.objectHelper.raycast(e,t)}showGizmos(){for(let e in this.gizmos){let t=this.gizmos[e];t instanceof n&&(t.visible=!0)}}updateEntityBoxSize(e,r){this.objectHelper.visible&&this.geometryHelper instanceof t?(e.setScalar(0),r.set(this.geometryHelper.parameters.width,this.geometryHelper.parameters.height,this.geometryHelper.parameters.height).multiplyScalar(.5)):super.updateEntityBoxSize(e,r)}hideGizmos(){for(let e in this.gizmos){let t=this.gizmos[e];t instanceof n&&(t.visible=!1)}}},c=e=>{var r;return(r=class extends e{}).geometryHelper=new t(30,30,30),r},p=new o,u=new a,m=new i,f=(e,t,i,n,a=!1,o=e)=>{let s=t,l=o.matrixWorld;if(null===s.boundingSphere&&s.computeBoundingSphere(),u.copy(s.boundingSphere),u.applyMatrix4(l),!1===i.ray.intersectsSphere(u)||(m.copy(l).invert(),p.copy(i.ray).applyMatrix4(m),null!==s.boundingBox&&!1===p.intersectsBox(s.boundingBox)))return;let c,f,h,d,g,y,x=s.index,b=s.attributes.position,w=s.drawRange;if(!1===a){for(g=Math.max(0,w.start),y=Math.min(x.count,w.start+w.count);g<y;g+=3)if(f=x.getX(g),h=x.getX(g+1),d=x.getX(g+2),c=B(e,i,p,b,f,h,d),c)return c.faceIndex=Math.floor(g/3),void n.push(c)}else{let t=s.attributes.position,a=new r,l=new r,c=new r,u=new r,m=2,f=1/((o.scale.x+o.scale.y+o.scale.z)/3),h=f*f;for(let r=Math.max(0,w.start),s=Math.min(t.count,w.start+w.count)-1;r<s;r+=m){if(a.fromBufferAttribute(t,r),l.fromBufferAttribute(t,r+1),p.distanceSqToSegment(a,l,u,c)>h)continue;u.applyMatrix4(o.matrixWorld);let s=i.ray.origin.distanceTo(u);s<i.near||s>i.far||n.push({distance:s,point:c.clone().applyMatrix4(o.matrixWorld),object:e})}}function B(e,t,i,n,a,o,s){let l=new r,c=new r,p=new r,u=new r,m=new r;if(l.fromBufferAttribute(n,a),c.fromBufferAttribute(n,o),p.fromBufferAttribute(n,s),null===i.intersectTriangle(l,c,p,!1,u))return null;m.copy(u),m.applyMatrix4(e.matrixWorld);let f=t.ray.origin.distanceTo(m);return f<t.near||f>t.far?null:{faceIndex:1,distance:f,point:m.clone(),object:e}}};export{c as a,f as b,s as c,l as d};
|
|
Binary file
|
|
Binary file
|