Files
SlaveMatrix-SDL/SlaveMatrix/Assets/Parts/流血小/x0y1.svg
REDCODE 58f3bf6884 Phase 0.3-0.5: SVG export + YAML sidecars + asset catalog
- Add hair class KeyMap entries (基髪→BaseHair, 前髪→FrontHair, 胸毛→ChestHair)
- Implement cardinal spline → cubic Bezier SVG export for all 175 body parts
- Generate YAML sidecar files (part.yaml) per part with metadata
- Write Catalog.yaml index for runtime asset loading
- Output to SlaveMatrix/Assets/Parts/{EnglishName}/ structure
- Each part directory contains part.yaml + x{x}y{y}.svg morph variants
- 838 SVGs across 324 morph variants, 175 sidecars, 1 catalog
- Extraction tool now serves as the asset build pipeline step
2026-06-13 17:56:01 +02:00

27 lines
13 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1">
<g transform="translate(0.16339790162384937,0.21771947493855537) rotate(0) scale(1,1) translate(-0.3798670310818438,-0.379867031081844)"><path d="M 0.3716235561678765 0.36968426179629715 C 0.3714941298977797 0.36961993983335145 0.3698956185415839 0.36873333914975404 0.37007044092671443 0.36891239824094857 C 0.3698956185415839 0.36873333914975404 0.3695329030873905 0.3673347159813444 0.3695256875463103 0.3675355527019627 C 0.3695329030873905 0.3673347159813444 0.3703077825500052 0.3663928275800301 0.37015702741967654 0.36650235759352884 C 0.3703077825500052 0.3663928275800301 0.37152798590692654 0.3662763921123806 0.37133474911025377 0.3662211925399779 C 0.37152798590692654 0.3662763921123806 0.37259214120722994 0.3673863507331102 0.37247586897975 0.36716475246236113 C 0.37259214120722994 0.3673863507331102 0.37275119474503515 0.369023340066184 0.3727300158400132 0.3688803717889668" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.3727300158400132 0.3688803717889668 C 0.37303164953061346 0.3688938035809953 0.3768873855903223 0.36886682270239196 0.37634962012721657 0.3690415532933088 C 0.3768873855903223 0.36886682270239196 0.37941933316978727 0.36659544231501945 0.37918320139728184 0.3667836046979648" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.37918320139728184 0.3667836046979648 C 0.3791163008464729 0.366655492284008 0.3783442088001002 0.3649986358629593 0.3783803947875749 0.3652462557304833 C 0.3783442088001002 0.3649986358629593 0.3788728559054411 0.3636539271562357 0.3787489695475854 0.3638121662876762 C 0.3788728559054411 0.3636539271562357 0.3800533746708865 0.36334738615319706 0.3798670310818435 0.36334738615319706 C 0.3800533746708865 0.36334738615319706 0.38110897897395735 0.36397040541911674 0.38098509261610164 0.3638121662876762 C 0.38110897897395735 0.36397040541911674 0.38131748138863736 0.3654938755980072 0.3813536673761121 0.3652462557304832 C 0.38131748138863736 0.3654938755980072 0.38048396021559605 0.36691171711192133 0.380550860766405 0.36678360469796456" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.380550860766405 0.36678360469796456 C 0.38078699253891046 0.36697176708090995 0.38392220749957623 0.369216283884226 0.3833844420364705 0.3690415532933091 C 0.38392220749957623 0.369216283884226 0.38730568001427407 0.36886693999693865 0.3870040463236738 0.36888037178896715" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.3870040463236738 0.36888037178896715 C 0.3870252252286957 0.36873740351175 0.38737446541141674 0.36694315419161183 0.3872581931839368 0.36716475246236097 C 0.38737446541141674 0.36694315419161183 0.388592549850106 0.36616599296757507 0.3883993130534332 0.36622119253997776 C 0.388592549850106 0.36616599296757507 0.38972778987433887 0.36661188760702745 0.38957703474401023 0.3665023575935287 C 0.38972778987433887 0.36661188760702745 0.39021559015845675 0.36773638942258113 0.39020837461737656 0.3675355527019628 C 0.39021559015845675 0.36773638942258113 0.3894887988518421 0.36909145733214294 0.3896636212369726 0.3689123982409484 C 0.3894887988518421 0.36909145733214294 0.38798107972571383 0.3697485837592429 0.38811050599581065 0.36968426179629715" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.38811050599581065 0.36968426179629715 C 0.38819094153894795 0.3699752831352784 0.3894080898476331 0.37363396848996694 0.38907573251345795 0.37317651786407224 C 0.3894080898476331 0.37363396848996694 0.39235071579695013 0.37534009859394707 0.3920987940059123 0.3751736693070336" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.3920987940059123 0.3751736693070336 C 0.3921999627448912 0.37507045418914 0.3935371372771442 0.37382415422591386 0.3933128188736592 0.3739350878923101 C 0.3935371372771442 0.37382415422591386 0.39497939219476974 0.3739113896574074 0.3947906148477317 0.37384246531027887 C 0.39497939219476974 0.3739113896574074 0.39563573037392263 0.37493940334248127 0.3955781470381155 0.37476218005785206 C 0.39563573037392263 0.37493940334248127 0.39536940351027644 0.37613586623453815 0.3954816148774172 0.37596914472582915 C 0.39536940351027644 0.37613586623453815 0.39398492805876584 0.37680494199038367 0.3942316106324266 0.3767628381623602 C 0.39398492805876584 0.37680494199038367 0.39237890844024276 0.3764503533704228 0.39252142399348766 0.3764743906621103" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.39252142399348766 0.3764743906621103 C 0.3924154396636819 0.3767571106970881 0.39124961203581865 0.38043247115179984 0.39124961203581865 0.37986703108184416 C 0.39124961203581865 0.38043247115179984 0.3926274083232933 0.38354239153655617 0.39252142399348755 0.3832596715015783" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.39252142399348755 0.3832596715015783 C 0.39266393954673245 0.38323563420989076 0.3944782932060873 0.3830133278293515 0.3942316106324265 0.3829712240013281 C 0.3944782932060873 0.3830133278293515 0.3955938262445578 0.3839316389465678 0.39548161487741706 0.3837649174378588 C 0.3955938262445578 0.3839316389465678 0.39552056370230826 0.3851491053904653 0.3955781470381154 0.3849718821058361 C 0.39552056370230826 0.3851491053904653 0.39460183750069383 0.38596052120053753 0.3947906148477318 0.385891596853409 C 0.39460183750069383 0.38596052120053753 0.39308850047017435 0.3856880406049819 0.3933128188736593 0.3857989742713781 C 0.39308850047017435 0.3856880406049819 0.3919976252669332 0.3844571777387613 0.39209879400591213 0.3845603928566549" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.39209879400591213 0.3845603928566549 C 0.3918468722148743 0.3847268221435683 0.3887433751792827 0.38701499492551056 0.38907573251345784 0.38655754429961586 C 0.3887433751792827 0.38701499492551056 0.3880300704526731 0.3903408217063724 0.38811050599581043 0.3900498003673911" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.38811050599581043 0.3900498003673911 C 0.3882399322659073 0.3901141223303368 0.38983844362210324 0.3910007230139344 0.38966362123697273 0.39082166392273987 C 0.38983844362210324 0.3910007230139344 0.39020115907629654 0.39239934618234384 0.39020837461737673 0.3921985094617255 C 0.39020115907629654 0.39239934618234384 0.38942627961368176 0.3933412345836582 0.3895770347440104 0.3932317045701595 C 0.38942627961368176 0.3933412345836582 0.38820607625676046 0.39345767005130766 0.3883993130534332 0.39351286962371035 C 0.38820607625676046 0.39345767005130766 0.387141920956457 0.39234771143057806 0.38725819318393695 0.39256930970132714 C 0.387141920956457 0.39234771143057806 0.38698286741865173 0.3907107220975041 0.3870040463236737 0.3908536903747213" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.3870040463236737 0.3908536903747213 C 0.3867024126330734 0.3908402585826928 0.38284667657336463 0.3908672394612962 0.3833844420364704 0.3906925088703793 C 0.38284667657336463 0.3908672394612962 0.3803147289938995 0.39313861984866905 0.380550860766405 0.39295045746572366" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.380550860766405 0.39295045746572366 C 0.3806177613172139 0.39307856987968043 0.38138985336358683 0.39473542630072905 0.3813536673761121 0.394487806433205 C 0.38138985336358683 0.39473542630072905 0.3808612062582461 0.3960801350074525 0.3809850926161018 0.39592189587601195 C 0.3808612062582461 0.3960801350074525 0.3796806874928005 0.3963866760104912 0.37986703108184355 0.3963866760104912 C 0.3796806874928005 0.3963866760104912 0.3786250831897296 0.3957636567445716 0.3787489695475853 0.3959218958760121 C 0.3786250831897296 0.3957636567445716 0.37841658077504975 0.3942401865656811 0.37838039478757507 0.39448780643320513 C 0.37841658077504975 0.3942401865656811 0.37925010194809056 0.39282234505176666 0.3791832013972817 0.3929504574657235" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.3791832013972817 0.3929504574657235 C 0.37894706962477626 0.39276229508277816 0.37581185466411093 0.3905177782794623 0.3763496201272166 0.3906925088703792 C 0.37581185466411093 0.3905177782794623 0.37242838214941293 0.3908671221667497 0.3727300158400132 0.3908536903747212" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.3727300158400132 0.3908536903747212 C 0.37270883693499124 0.39099665865193833 0.37235959675227004 0.3927909079720763 0.37247586897975 0.3925693097013272 C 0.37235959675227004 0.3927909079720763 0.3711415123135809 0.3935680691961128 0.37133474911025366 0.3935128696237101 C 0.3711415123135809 0.3935680691961128 0.3700062722893479 0.3931221745566607 0.37015702741967654 0.39323170457015943 C 0.3700062722893479 0.3931221745566607 0.3695184720052301 0.391997672741107 0.36952568754631027 0.3921985094617253 C 0.3695184720052301 0.391997672741107 0.3702452633118448 0.390642604831545 0.3700704409267143 0.39082166392273954 C 0.3702452633118448 0.390642604831545 0.3717529824379733 0.38998547840444525 0.37162355616787646 0.39004980036739095" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.37162355616787646 0.39004980036739095 C 0.37154312062473915 0.3897587790284097 0.3703259723160538 0.38610009367372117 0.37065832965022893 0.38655754429961586 C 0.3703259723160538 0.38610009367372117 0.36738334636673664 0.3843939635697412 0.36763526815777453 0.38456039285665466" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.36763526815777453 0.38456039285665466 C 0.3675340994187956 0.38466360797454824 0.36619692488654276 0.38590990793777397 0.3664212432900277 0.38579897427137777 C 0.36619692488654276 0.38590990793777397 0.36475466996891726 0.38582267250628066 0.36494344731595524 0.3858915968534091 C 0.36475466996891726 0.38582267250628066 0.36409833178976453 0.3847946588212068 0.36415591512557166 0.384971882105836 C 0.36409833178976453 0.3847946588212068 0.3643646586534106 0.3835981959291499 0.3642524472862699 0.3837649174378589 C 0.3643646586534106 0.3835981959291499 0.3657491341049214 0.38292912017330466 0.3655024515312606 0.38297122400132805 C 0.3657491341049214 0.38292912017330466 0.36735515372344424 0.3832837087932655 0.36721263817019933 0.383259671501578" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.36721263817019933 0.383259671501578 C 0.3673186225000051 0.3829769514666002 0.36848445012786835 0.3793015910118883 0.36848445012786835 0.379867031081844 C 0.36848445012786835 0.3793015910118883 0.36710665384039376 0.37619167062713227 0.3672126381701995 0.3764743906621101" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.3672126381701995 0.3764743906621101 C 0.3670701226169546 0.3764984279537976 0.36525576895759976 0.37672073433433695 0.3655024515312606 0.37676283816236034 C 0.36525576895759976 0.37672073433433695 0.3641402359191289 0.37580242321712054 0.36425244728626965 0.37596914472582954 C 0.3641402359191289 0.37580242321712054 0.3642134984613787 0.37458495677322323 0.36415591512557155 0.37476218005785245 C 0.3642134984613787 0.37458495677322323 0.36513222466299317 0.3737735409631506 0.3649434473159552 0.3738424653102791 C 0.36513222466299317 0.3737735409631506 0.36664556169351253 0.3740460215587064 0.36642124329002757 0.3739350878923102 C 0.36664556169351253 0.3740460215587064 0.3677364368967535 0.3752768844249269 0.3676352681577746 0.37517366930703333" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.3676352681577746 0.37517366930703333 C 0.3678871899488124 0.3750072400201199 0.37099068698440407 0.37271906723817755 0.37065832965022893 0.37317651786407224 C 0.37099068698440407 0.37271906723817755 0.3717039917110138 0.3693932404573159 0.3716235561678765 0.36968426179629715" fill="none" stroke="none" stroke-width="0"/>
</g><g transform="translate(0.16339790162384907,0.22854495272709063) rotate(0) scale(1,1) translate(-0.09500000000000003,-0.07224492352035994)"><path d="M 0.0964778531726799 0.07224492352035994 C 0.09645568537508971 0.07249309835870138 0.09618967180400734 0.07571937125714018 0.09621183960159753 0.07522302158045728 C 0.09618967180400734 0.07571937125714018 0.09623400739918772 0.07870256501706156 0.09621183960159753 0.07820111964055462 C 0.09623400739918772 0.07870256501706156 0.09650002097027009 0.081493636636706 0.0964778531726799 0.08124036609854052" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.0964778531726799 0.08124036609854052 C 0.09644178207495657 0.08132744943187385 0.09592184556894337 0.08240852052959716 0.09604500000000002 0.08228536609854051 C 0.09592184556894337 0.08240852052959716 0.09482583333333336 0.08271821927122039 0.09500000000000003 0.08271821927122039 C 0.09482583333333336 0.08271821927122039 0.09383184556894336 0.08216221166748386 0.09395500000000002 0.08228536609854051 C 0.09383184556894336 0.08216221166748386 0.09348607572959682 0.08115328276520718 0.09352214682732014 0.08124036609854052" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.09352214682732014 0.08124036609854052 C 0.09354431462491034 0.08098709556037503 0.0938103281959927 0.07769967426404768 0.09378816039840251 0.07820111964055462 C 0.0938103281959927 0.07769967426404768 0.09376599260081232 0.07472667190377438 0.09378816039840251 0.07522302158045728 C 0.09376599260081232 0.07472667190377438 0.09349997902972995 0.0719967486820185 0.09352214682732014 0.07224492352035994" fill="none" stroke="none" stroke-width="0"/>
</g></svg>