Files
SlaveMatrix-SDL/SlaveMatrix/Assets/Parts/噴乳左/x0y2.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

10 lines
8.7 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.3152081825632307,0.17380834186661692) rotate(0) scale(1,1) translate(-0.06190446871606211,-0.07267129069752817)"><path d="M 0.05835760202326257 0.06681730555023667 C 0.05850907285473131 0.06696454186617903 0.05944384971006474 0.06805890936528236 0.05930653528881713 0.06789101159119676 C 0.05944384971006474 0.06805890936528236 0.06014245437688401 0.06903458355760948 0.06000537507823389 0.06883207883926383 C 0.06014245437688401 0.06903458355760948 0.060929938546300765 0.07032762713414198 0.06095148687261853 0.07032106821134453 C 0.060929938546300765 0.07032762713414198 0.059579256840714974 0.06872526523580655 0.05974679516242065 0.06891078591283335 C 0.059579256840714974 0.06872526523580655 0.05879290547541727 0.06796295172552984 0.058941027012150427 0.06809482008702294 C 0.05879290547541727 0.06796295172552984 0.057809486773452955 0.06721985022549873 0.057969336721622744 0.06732836557491609 C 0.057809486773452955 0.06721985022549873 0.05693386125090816 0.06670613869694264 0.05702282763411293 0.06679263589401459 C 0.05693386125090816 0.06670613869694264 0.05694057826292212 0.06623469420220886 0.05690174012316551 0.06629039921005271 C 0.05694057826292212 0.06623469420220886 0.05761020713620032 0.06616808466157033 0.05748888531119223 0.06612417579988833 C 0.05761020713620032 0.06616808466157033 0.05850907285473131 0.06696454186617903 0.05835760202326257 0.06681730555023667 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
</g><g transform="translate(0.3152081825632307,0.17380834186661692) rotate(0) scale(1,1) translate(-0.06190446871606211,-0.07267129069752817)"><path d="M 0.057082170633585005 0.06994792775237817 C 0.05726904309187944 0.07003497424555977 0.058462176308846286 0.07072397241034001 0.05825718207110342 0.07059224743508967 C 0.058462176308846286 0.07072397241034001 0.05977442768035069 0.07171995978705033 0.05954210148649941 0.07152862745538231 C 0.05977442768035069 0.07171995978705033 0.06102817603313538 0.07290594408235845 0.06104509639731881 0.07288823541510583 C 0.06102817603313538 0.07290594408235845 0.059085835590250456 0.07158073907085902 0.05933905711629828 0.07174113146241382 C 0.059085835590250456 0.07158073907085902 0.05779529661451199 0.07086564553338395 0.05800643808474493 0.07096352671644833 C 0.05779529661451199 0.07086564553338395 0.05662353250148198 0.07051312309550765 0.05680535947350307 0.07056655726564123 C 0.05662353250148198 0.07051312309550765 0.05571399078961933 0.07025931065995022 0.055824514420491855 0.07032231667484534 C 0.05571399078961933 0.07025931065995022 0.055494925748956 0.06974593282373859 0.055479075903032804 0.06981048508689983 C 0.055494925748956 0.06974593282373859 0.05614830379911622 0.06955914307236694 0.0560147125715702 0.06954768951691041 C 0.05614830379911622 0.06955914307236694 0.05726904309187944 0.07003497424555977 0.057082170633585005 0.06994792775237817 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
</g><g transform="translate(0.3152081825632307,0.17380834186661692) rotate(0) scale(1,1) translate(-0.06190446871606211,-0.07267129069752817)"><path d="M 0.05554915566760166 0.07342422513779591 C 0.05574712862238642 0.07339748096584221 0.05743247211644076 0.07332874504878609 0.05715047979549448 0.07333227558778345 C 0.05743247211644076 0.07332874504878609 0.05925515365059564 0.07339858549887773 0.058933063518956996 0.07338185866982751 C 0.05925515365059564 0.07339858549887773 0.061003781129980394 0.07354681817221151 0.06101556137515818 0.07353299753638608 C 0.061003781129980394 0.07354681817221151 0.0584667512263789 0.07356222315131605 0.05879170057682359 0.07354770629973262 C 0.0584667512263789 0.07356222315131605 0.05686764404526662 0.07374174173316374 0.05711616916982187 0.07370719975538725 C 0.05686764404526662 0.07374174173316374 0.05564646327444405 0.07400422448273457 0.05580939908216054 0.07396221003305038 C 0.05564646327444405 0.07400422448273457 0.055068971248700194 0.07422141894679082 0.055160939477224 0.07421137315159751 C 0.055068971248700194 0.07422141894679082 0.054673602411612614 0.07403624561700607 0.05470578033987483 0.07408275957537021 C 0.054673602411612614 0.07403624561700607 0.05484508561538792 0.07359832778143001 0.054774804338077354 0.07365320565122786 C 0.05484508561538792 0.07359832778143001 0.05574712862238642 0.07339748096584221 0.05554915566760166 0.07342422513779591 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
</g><g transform="translate(0.3152081825632307,0.17380834186661692) rotate(0) scale(1,1) translate(-0.06190446871606211,-0.07267129069752817)"><path d="M 0.05718123769281558 0.07558591447895266 C 0.05731428114343587 0.07544826717889509 0.05820538592166136 0.07485038902520842 0.05805154936012924 0.0749377817939952 C 0.05820538592166136 0.07485038902520842 0.059189029767328594 0.07448650792969341 0.05902727643120098 0.0745372012535113 C 0.059189029767328594 0.07448650792969341 0.05999521645995204 0.07434415680184155 0.05999258939366059 0.07432946190818049 C 0.05999521645995204 0.07434415680184155 0.05890719863467628 0.07478745175490165 0.059058801226698376 0.074713539977444 C 0.05890719863467628 0.07478745175490165 0.05804313406470216 0.0753185398394612 0.058173358289395405 0.07521640323767231 C 0.05804313406470216 0.0753185398394612 0.05739094843464387 0.07608247914784025 0.05749611053037951 0.07593917919891056 C 0.05739094843464387 0.07608247914784025 0.05683258002982236 0.07702904275380694 0.05691141314056769 0.0769360026248285 C 0.05683258002982236 0.07702904275380694 0.056512081102445384 0.07702678964413998 0.05655011320143555 0.07705566074665185 C 0.056512081102445384 0.07702678964413998 0.05650762166030076 0.07646707053904436 0.056455027952685755 0.07658954939468596 C 0.05650762166030076 0.07646707053904436 0.05731428114343587 0.07544826717889509 0.05718123769281558 0.07558591447895266 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
</g><g transform="translate(0.3152081825632307,0.17380834186661692) rotate(0) scale(1,1) translate(-0.06190446871606211,-0.07267129069752817)"><path d="M 0.05915823900791006 0.08162382853933914 C 0.0591817801530904 0.081417817825637 0.059484671332772916 0.08007560087332558 0.05944626071808545 0.08029844533812755 C 0.059484671332772916 0.08007560087332558 0.05965158442948615 0.07871401612730183 0.05961916638415965 0.07894969496171549 C 0.05965158442948615 0.07871401612730183 0.059861513659214875 0.07747580888179563 0.05983527726200344 0.0774702993251637 C 0.059861513659214875 0.07747580888179563 0.05995348556513858 0.07925720602722296 0.05993400315069686 0.07901580964129876 C 0.05995348556513858 0.07925720602722296 0.06009543451721127 0.08057568128229745 0.06006906623530417 0.08036705595625415 C 0.06009543451721127 0.08057568128229745 0.06027748630768293 0.08170672884342456 0.06025042253358204 0.0815193135538183 C 0.06027748630768293 0.08170672884342456 0.06036116503650277 0.0827725421718162 0.06039383152451494 0.08261603943152912 C 0.06036116503650277 0.0827725421718162 0.0597559192983865 0.08341022430984871 0.05985842467743596 0.08339734643726338 C 0.0597559192983865 0.08341022430984871 0.05910541817012758 0.08262278074439272 0.059163766975921406 0.08277057390255307 C 0.05910541817012758 0.08262278074439272 0.0591817801530904 0.081417817825637 0.05915823900791006 0.08162382853933914 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
</g><g transform="translate(0.3152081825632307,0.17380834186661692) rotate(0) scale(1,1) translate(-0.06190446871606211,-0.07267129069752817)"><path d="M 0.06395550499440628 0.08054174172363326 C 0.06391757827064029 0.08063780727643749 0.0634373489920397 0.08094077325401448 0.06350397748842185 0.08094914387119495 C 0.0634373489920397 0.08094077325401448 0.06313472982061265 0.08033956753628108 0.06315596303782056 0.08044129431746769 C 0.06313472982061265 0.08033956753628108 0.06326677033509252 0.0796066025587116 0.06324917888192694 0.07972842249695566 C 0.06326677033509252 0.0796066025587116 0.06338419985904716 0.07884384859661081 0.06336706047580754 0.07897945505853896 C 0.06338419985904716 0.07884384859661081 0.06346751505018945 0.07794423730296722 0.06345485148080232 0.07810114495381795 C 0.06346751505018945 0.07794423730296722 0.06353607696664047 0.07709298203651939 0.06351902330845305 0.07709656324833015 C 0.06353607696664047 0.07709298203651939 0.06368056710851368 0.07821136165445769 0.06365949537905147 0.07805817041208882 C 0.06368056710851368 0.07821136165445769 0.06379685096154648 0.07907970705887794 0.06377188406199963 0.07893485815675666 C 0.06379685096154648 0.07907970705887794 0.06397439991798089 0.07993026420145058 0.06395909817361367 0.07979635723754419 C 0.06397439991798089 0.07993026420145058 0.06391757827064029 0.08063780727643749 0.06395550499440628 0.08054174172363326 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
</g></svg>